107954|book.imap|45|1331899692|opto|aXQgc2VlbXMgdGhhdCBpbiBuZXcgUEhQIHZlcnNpb25zLCAkc3NsIG11c3QgYmUgc3BlY2lmaWVkIGV2ZW4gaWYgbm8gc3NsIGlzIHVzZWQgLSBJIGdvdCBpdCB3b3JraW5nIGZvciBQT1AzIG9ubHkgYWZ0ZXIgYWRkaW5nIC9ub3RscyAoaG9ub3VyIHNvbWUgcG9zdCBJIGZvdW5kIHNvbWV3aGVyZSkKS2xhdXM=|26|32 106679|book.imap|35|1322417588|dev at bluehead dot com dot br|QmVjYXVzZSBJIGRvbid0IGtub3cgcmVndWxhciBleHByZXNzaW9ucywgSSBoYWNrZWQgdGhlIG1haWxfcGFyc2VfaGVhZGVycygpIHRvIHByb3Blcmx5IGdldCB0aGUgbGFzdCBsaW5lIGZyb20gdGhlIGhlYWRlciBzdHJpbmc6DQoNCjw/cGhwDQpmdW5jdGlvbiBtYWlsX3BhcnNlX2hlYWRlcnMoJGhlYWRlcnMpDQp7DQoNCiAgICAkaGVhZGVycz1wcmVnX3JlcGxhY2UoJy9cclxuXHMrL20nLCAnJywkaGVhZGVycyk7DQogICAgJGhlYWRlcnM9dHJpbSgkaGVhZGVycykuIlxyXG4iOyAvKiBhIGhhY2sgZm9yIHRoZSBwcmVnX21hdGNoX2FsbCBpbiB0aGUgbmV4dCBsaW5lICovDQogICAgcHJlZ19tYXRjaF9hbGwoJy8oW146IF0rKTogKC4rPyg/OlxyXG5ccyg/Oi4rPykpKik/XHJcbi9tJywgJGhlYWRlcnMsICRtYXRjaGVzKTsNCiAgICBmb3JlYWNoICgkbWF0Y2hlc1sxXSBhcyAka2V5ID0+JHZhbHVlKSAkcmVzdWx0WyR2YWx1ZV09JG1hdGNoZXNbMl1bJGtleV07DQogICAgcmV0dXJuKCRyZXN1bHQpOw0KfQ0KPz4=|31|58 96414|book.imap|58|1267127658|Wil Barath|Rm9yIGFsbCB0aGUgcGVvcGxlIGNvbWluZyBoZXJlIHByYXlpbmcgZm9yOg0KDQoxKSBhIGRlYWQtZWFzeSB3YXkgdG8gcmVhZCBNSU1FIGF0dGFjaG1lbnRzLCBvcg0KMikgYSBkZWFkLWVhc3kgd2F5IHRvIGFjY2VzcyBQT1AzIGZvbGRlcnMNCg0KTG9vayBubyBmdXJ0aGVyLg0KDQo8P3BocCANCmZ1bmN0aW9uIHBvcDNfbG9naW4oJGhvc3QsJHBvcnQsJHVzZXIsJHBhc3MsJGZvbGRlcj0iSU5CT1giLCRzc2w9ZmFsc2UpDQp7DQoJJHNzbD0oJHNzbD09ZmFsc2UpPyIvbm92YWxpZGF0ZS1jZXJ0IjoiIjsNCglyZXR1cm4gKGltYXBfb3BlbigieyIuIiRob3N0OiRwb3J0L3BvcDMkc3NsIi4ifSRmb2xkZXIiLCR1c2VyLCRwYXNzKSk7DQp9DQpmdW5jdGlvbiBwb3AzX3N0YXQoJGNvbm5lY3Rpb24pCQkNCnsNCgkkY2hlY2sgPSBpbWFwX21haWxib3htc2dpbmZvKCRjb25uZWN0aW9uKTsNCglyZXR1cm4gKChhcnJheSkkY2hlY2spOw0KfQ0KZnVuY3Rpb24gcG9wM19saXN0KCRjb25uZWN0aW9uLCRtZXNzYWdlPSIiKQ0Kew0KCWlmICgkbWVzc2FnZSkNCgl7DQoJCSRyYW5nZT0kbWVzc2FnZTsNCgl9IGVsc2Ugew0KCQkkTUMgPSBpbWFwX2NoZWNrKCRjb25uZWN0aW9uKTsNCgkJJHJhbmdlID0gIjE6Ii4kTUMtPk5tc2dzOw0KCX0NCgkkcmVzcG9uc2UgPSBpbWFwX2ZldGNoX292ZXJ2aWV3KCRjb25uZWN0aW9uLCRyYW5nZSk7DQoJZm9yZWFjaCAoJHJlc3BvbnNlIGFzICRtc2cpICRyZXN1bHRbJG1zZy0+bXNnbm9dPShhcnJheSkkbXNnOw0KICAgICAgICByZXR1cm4gJHJlc3VsdDsNCn0NCmZ1bmN0aW9uIHBvcDNfcmV0cigkY29ubmVjdGlvbiwkbWVzc2FnZSkNCnsNCglyZXR1cm4oaW1hcF9mZXRjaGhlYWRlcigkY29ubmVjdGlvbiwkbWVzc2FnZSxGVF9QUkVGRVRDSFRFWFQpKTsNCn0NCmZ1bmN0aW9uIHBvcDNfZGVsZSgkY29ubmVjdGlvbiwkbWVzc2FnZSkNCnsNCglyZXR1cm4oaW1hcF9kZWxldGUoJGNvbm5lY3Rpb24sJG1lc3NhZ2UpKTsNCn0NCmZ1bmN0aW9uIG1haWxfcGFyc2VfaGVhZGVycygkaGVhZGVycykNCnsNCgkkaGVhZGVycz1wcmVnX3JlcGxhY2UoJy9cclxuXHMrL20nLCAnJywkaGVhZGVycyk7DQoJcHJlZ19tYXRjaF9hbGwoJy8oW146IF0rKTogKC4rPyg/OlxyXG5ccyg/Oi4rPykpKik/XHJcbi9tJywgJGhlYWRlcnMsICRtYXRjaGVzKTsNCglmb3JlYWNoICgkbWF0Y2hlc1sxXSBhcyAka2V5ID0+JHZhbHVlKSAkcmVzdWx0WyR2YWx1ZV09JG1hdGNoZXNbMl1bJGtleV07DQoJcmV0dXJuKCRyZXN1bHQpOw0KfQ0KZnVuY3Rpb24gbWFpbF9taW1lX3RvX2FycmF5KCRpbWFwLCRtaWQsJHBhcnNlX2hlYWRlcnM9ZmFsc2UpDQp7DQoJJG1haWwgPSBpbWFwX2ZldGNoc3RydWN0dXJlKCRpbWFwLCRtaWQpOw0KCSRtYWlsID0gbWFpbF9nZXRfcGFydHMoJGltYXAsJG1pZCwkbWFpbCwwKTsNCglpZiAoJHBhcnNlX2hlYWRlcnMpICRtYWlsWzBdWyJwYXJzZWQiXT1tYWlsX3BhcnNlX2hlYWRlcnMoJG1haWxbMF1bImRhdGEiXSk7DQoJcmV0dXJuKCRtYWlsKTsNCn0NCmZ1bmN0aW9uIG1haWxfZ2V0X3BhcnRzKCRpbWFwLCRtaWQsJHBhcnQsJHByZWZpeCkNCnsJDQoJJGF0dGFjaG1lbnRzPWFycmF5KCk7DQoJJGF0dGFjaG1lbnRzWyRwcmVmaXhdPW1haWxfZGVjb2RlX3BhcnQoJGltYXAsJG1pZCwkcGFydCwkcHJlZml4KTsNCglpZiAoaXNzZXQoJHBhcnQtPnBhcnRzKSkgLy8gbXVsdGlwYXJ0DQoJew0KCQkkcHJlZml4ID0gKCRwcmVmaXggPT0gIjAiKT8iIjoiJHByZWZpeC4iOw0KCQlmb3JlYWNoICgkcGFydC0+cGFydHMgYXMgJG51bWJlcj0+JHN1YnBhcnQpIA0KCQkJJGF0dGFjaG1lbnRzPWFycmF5X21lcmdlKCRhdHRhY2htZW50cywgbWFpbF9nZXRfcGFydHMoJGltYXAsJG1pZCwkc3VicGFydCwkcHJlZml4LigkbnVtYmVyKzEpKSk7DQoJfQ0KCXJldHVybiAkYXR0YWNobWVudHM7DQp9DQpmdW5jdGlvbiBtYWlsX2RlY29kZV9wYXJ0KCRjb25uZWN0aW9uLCRtZXNzYWdlX251bWJlciwkcGFydCwkcHJlZml4KQ0Kew0KCSRhdHRhY2htZW50ID0gYXJyYXkoKTsNCg0KCWlmKCRwYXJ0LT5pZmRwYXJhbWV0ZXJzKSB7DQoJCWZvcmVhY2goJHBhcnQtPmRwYXJhbWV0ZXJzIGFzICRvYmplY3QpIHsNCgkJCSRhdHRhY2htZW50W3N0cnRvbG93ZXIoJG9iamVjdC0+YXR0cmlidXRlKV09JG9iamVjdC0+dmFsdWU7DQoJCQlpZihzdHJ0b2xvd2VyKCRvYmplY3QtPmF0dHJpYnV0ZSkgPT0gJ2ZpbGVuYW1lJykgew0KCQkJCSRhdHRhY2htZW50Wydpc19hdHRhY2htZW50J10gPSB0cnVlOw0KCQkJCSRhdHRhY2htZW50WydmaWxlbmFtZSddID0gJG9iamVjdC0+dmFsdWU7DQoJCQl9DQoJCX0NCgl9DQoNCglpZigkcGFydC0+aWZwYXJhbWV0ZXJzKSB7DQoJCWZvcmVhY2goJHBhcnQtPnBhcmFtZXRlcnMgYXMgJG9iamVjdCkgew0KCQkJJGF0dGFjaG1lbnRbc3RydG9sb3dlcigkb2JqZWN0LT5hdHRyaWJ1dGUpXT0kb2JqZWN0LT52YWx1ZTsNCgkJCWlmKHN0cnRvbG93ZXIoJG9iamVjdC0+YXR0cmlidXRlKSA9PSAnbmFtZScpIHsNCgkJCQkkYXR0YWNobWVudFsnaXNfYXR0YWNobWVudCddID0gdHJ1ZTsNCgkJCQkkYXR0YWNobWVudFsnbmFtZSddID0gJG9iamVjdC0+dmFsdWU7DQoJCQl9DQoJCX0NCgl9DQoNCgkkYXR0YWNobWVudFsnZGF0YSddID0gaW1hcF9mZXRjaGJvZHkoJGNvbm5lY3Rpb24sICRtZXNzYWdlX251bWJlciwgJHByZWZpeCk7DQoJaWYoJHBhcnQtPmVuY29kaW5nID09IDMpIHsgLy8gMyA9IEJBU0U2NA0KCQkkYXR0YWNobWVudFsnZGF0YSddID0gYmFzZTY0X2RlY29kZSgkYXR0YWNobWVudFsnZGF0YSddKTsNCgl9DQoJZWxzZWlmKCRwYXJ0LT5lbmNvZGluZyA9PSA0KSB7IC8vIDQgPSBRVU9URUQtUFJJTlRBQkxFDQoJCSRhdHRhY2htZW50WydkYXRhJ10gPSBxdW90ZWRfcHJpbnRhYmxlX2RlY29kZSgkYXR0YWNobWVudFsnZGF0YSddKTsNCgl9DQoJcmV0dXJuKCRhdHRhY2htZW50KTsNCn0NCj8+DQoNCltFRElUIEJZIGRhbmJyb3duIEFUIHBocCBET1QgbmV0OiBDb250YWlucyBhIGJ1Z2ZpeCBieSAibW4yNjgyNiIgb24gMDktSlVOLTIwMTAsIHdoaWNoIGZpeGVkIHRoZSBlcnJvbmVvdXMgcmVmZXJlbmNlIHRvICRpbWFwIGFzIHRoZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIGltYXBfbWFpbGJveG1zZ2luZm8oKSB3aXRoaW4gdGhlIHVzZXIgZnVuY3Rpb24gcG9wM19zdGF0KCkuICBUaGlzIHdhcyBpbnRlbmRlZCB0byBiZSAkY29ubmVjdGlvbi5dDQoNCltFRElUIEJZIHZpc3VhbG1pbmQgQVQgcGhwIERPVCBuZXQ6IENvbnRhaW5zIGEgYnVnZml4IGJ5ICJlbGlhcy1qb2J2aWV3IiBvbiAxNy1BVUctMjAxMCwgd2hpY2ggZml4ZWQgdGhlIGVycm9yIGluIHBvcDNfbGlzdCBmdW5jdGlvbiB3aGljaCBkaWRuJ3QgaGF2ZTogcmV0dXJuICRyZXN1bHRdDQoNCltFRElUIEJZIGRhbmJyb3duIEFUIHBocCBET1QgbmV0OiBDb250YWlucyBhIGJ1Z2ZpeCBieSAiY2hyaXNtZWlzdHJlIiBvbiAwOS1TRVAtMjAxMCwgd2hpY2ggZml4ZWQgdGhlIGVycm9uZW91cyByZWZlcmVuY2UgdG8gJG1ib3ggKHNob3VsZCBiZSAkY29ubmVjdGlvbikgaW4gdGhlIHBvcDNfbGlzdCgpIGZ1bmN0aW9uLl0=|139|100