<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>ModuleGenerator</name>
	<version>2.3.2</version>
  <mincmsversion>1.11.3</mincmsversion>
	<help><![CDATA[DQo8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPk1vZHVsZSBnZW5lcmF0b3IgbGV0cyB5b3UgY3JlYXRlIGEgbGlzdCB0aGUgbW9kdWxlcyBhcyBOZXdzLCBQcm9kdWN0cyBhdGMuIEluZGl2aWR1YWwgbW9kdWxlcywgeW91IGNhbiBsaW5rIGJldHdlZW4gdGhlbS4gIFlvdSBjYW4gY3JlYXRlIGEgbW9kdWxlIFBlb3BsZSwgR2VuZGVyIGFuZCBUeXBlIG9mIGVtcGxveW1lbnQgYW5kIGxpbmsgYmV0d2VuIHRoZW0uPC9wPg0KPHA+RWFjaCBtb2R1bGUgaW5jbHVkZXMgdGhlIGFiaWxpdHkgdG8gY3JlYXRlZCBjYXRlZ29yaWVzLCBjdXN0b20gZmllbGRzICBhbmQgZWRpdGVkIGEgbnVtYmVyIG9mIHNldHRpbmdzLjwvcD4NCjxwPllvdSBjYW4gdXNlIHRoZSBsaXN0IHRlbXBsYXRlcywgY2F0ZWdvcmllcyB0ZW1wbGF0ZXMgLCBmaWx0ZXIgdGVtcGxhdGVzLCBvciBkZXRhaWwgdGVtcGxhdGVzIGFzIGl0IGFscmVhZHkga25vd24gbW9kdWxlcyBmcm9tIE5ld3MsIFByb2R1Y3RzIGV0Yy48L3A+DQo8aDM+RG8geW91IGxpa2UgbXkgd29yaz8gPC9oMz4NCjxwPjxhIGhyZWY9Imh0dHA6Ly9jbXNtYWRlc2ltcGxlLnNrL2RvbmF0ZS1jYXJkLz91dG1fc291cmNlPWNtc21hZGVzaW1wbGUmdXRtX21lZGl1bT1saW5rJnV0bV9jYW1wYWlnbj1oZWxwIiB0YXJnZXQ9Il9ibGFuayI+R2l2ZSBtZSBmaXZlIG9yIGZlZWwgZnJlZSB0byA8c3Ryb25nPmRvbmF0ZTwvc3Ryb25nPiBtZTwvYT48L3A+DQo8aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjMxPC9saT48bGk+RXh0ZW5kZWRUb29scyA9Jmd0OyAxLjMuMzwvbGk+PGxpPkNHU21hcnRJbWFnZSA9Jmd0OyAxLjkuNTwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBAa3V6bWFueSAmbHQ7emRlbm9Aa3V6bWFueS5iaXomZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMi4zLjI8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CiAgICA8bGk+CiAgICAgICAgVmVyc2lvbiAyLjIuMSAgamFudWFyIDIwMTM8YnIgLz4KICAgICAgICBBZGQgY2xlYW51cCB0byBmcmFtZXdvcmsgc2NyaXB0PGJyIC8+CiAgICAgICAgRml4ZWQgZWRpdCBpdGVtIHdpdGggY3VzdG9tIHBhcmFtcyA8YnIgLz4KICAgICAgICBSZW1vdmUgJGZpZWxkZGVmLmZpbGVfbG9jYXRpb24uIEFkZGVkICRpdGVtLT5maWxlX2xvY2F0aW9uIHRvIG9yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwgYW5kIG9yaWdfZGV0YWlsX3RlbXBsYXRlLnRwbCA8YnIgLz4KICAgICAgICBCdWdmaXhlcwogICAgICAgIDxiciAvPiAgICAgICAgCiAgICA8L2xpPiAKICAgIDxsaT4KICAgICAgICBWZXJzaW9uIDIuMy4xICBqYW51YXIgMjAxMzxiciAvPgogICAgICAgIEFkZCBjbGVhbnVwIHRvIHVwZ3JhZGUgc2NyaXB0PGJyIC8+CiAgICAgICAgRml4ZWQgZWRpdCBpdGVtIHByZXZpZXc8YnIgLz4gICAgICAgIAogICAgPC9saT4gCiAgICA8bGk+CiAgICAgICAgVmVyc2lvbiAyLjMgIGphbnVhciAyMDEzPGJyIC8+CiAgICAgICAgQWRkIGN1c3RvbSBmaWVsZHMgdG8gZ2FsbGVyeS48YnIgLz4KICAgICAgICBBZGQgbmV3IGZpZWxkIHR5cGUgZHJvcGRvd24gZnJvbSBVRFQuPGJyIC8+CiAgICAgICAgQWRkIG5ldyBvcHRpb24gdG8gc2V0dGluZ3MgLSBmaWx0ZXIuPGJyIC8+CiAgICAgICAgQWRkIGN1c3RvbSBmaWVsZHMgZm9yIGFkbWluIGZpbHRlciB0byBvcHRpb24gdGFiLjxiciAvPgogICAgICAgIFJld3JpdGUgc29tZSBwYXJ0IG9mIG1vZHVsZSB3aXRoIGluaGVyaXRhbmNlIG1vZHVsZXMuPGJyIC8+CiAgICAgICAgUmVuYW1lIHVwbG9hZHMgZGlycyB3aXRoIF8gcHJlZml4IChoaWRlIGZvciBkcm9wem9uZSk8YnIgLz4KICAgICAgICBSZW1vdmUgZnJvbnRlbmQgb3B0aW9uIGZyb20gZmllbGRzIHRhYi4gPGJyIC8+CiAgICAgICAgU29tZSBidWdmaXhlcy4KICAgIDwvbGk+IAogICAgPGxpPgogICAgICAgIFZlcnNpb24gMi4yLjQgIG9jdG9iZXIgMjAxMiA8YnIgLz4KICAgICAgICBTb21lIGJ1ZyBmaXhlcyByZWxhdGVkIHRvIG5ldyBzbWFydHkgY2FjaGluZyBzeXN0ZW0uCiAgICA8L2xpPiAKICAgIDxsaT4KICAgICAgICBWZXJzaW9uIDIuMi4yICBhdWd1c3QgMjAxMiA8YnIgLz4KICAgICAgICBPcHRpb25zIHRhYiBtb3ZlZCBvdXRzaWRlIGRlZmF1bHQgYWRtaW4gbGFuZGluZyBwYWdlCiAgICAgICAgU29tZSBtaW5vciBmaXhlcwogICAgPC9saT4gCjwvdWw+CjxiciAvPg==]]></about>
	<description><![CDATA[This module give solution for creating custom modules.]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.31</requiredversion>
	</requires>
	<requires>
	  <requiredname>ExtendedTools</requiredname>
	  <requiredversion>1.3.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSmartImage</requiredname>
	  <requiredversion>1.9.5</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_deletemodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIyBNb2R1bGU6IE11bHRpbGFuZ3VhZ2UgQ01TDQojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpeg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCFpc3NldCgkZ0NtcykpDQogICAgZXhpdDsNCg0KJG5hbWUgPSAnJzsNCmlmIChpc3NldCgkcGFyYW1zWyJuYW1lIl0pKSB7DQogICAgJG5hbWUgPSAkcGFyYW1zWyJuYW1lIl07DQp9DQoNCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoNCg0KaWYgKCEkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkgew0KICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsNCiAgICByZXR1cm47DQp9DQoNCmlmIChlbXB0eSgkbmFtZSkpDQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQppZiAoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRuYW1lKSkgew0KICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfdW5paW5zdGFsX21vZHVsZScpKTsNCiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICJnZW5lcmF0b3IiKTsNCn0NCg0KZ2VuZXJhdG9yX29wdHM6OmRlbGV0ZSgkbmFtZSk7DQpjZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAkbmFtZSkpOw0KDQokdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnaW5mb19zdWNjZXNzJykpOw0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQo/Pg0KDQo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_editmodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIyBNb2R1bGU6IE11bHRpbGFuZ3VhZ2UgQ01TDQojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpeg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCFpc3NldCgkZ0NtcykpDQogICAgZXhpdDsNCg0KJG5hbWUgPSAnJzsNCiRhdHRhY2ggPSAnJzsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbIm5hbWUiXSkpIHsNCiAgICAkbmFtZSA9ICRwYXJhbXNbIm5hbWUiXTsNCn0NCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KDQppZiAoISR0aGlzLT5DaGVja0FjY2VzcygpKSB7DQogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOw0KICAgIHJldHVybjsNCn0NCg0KDQoNCmlmIChlbXB0eSgkbmFtZSkpIHsNCiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICJnZW5lcmF0b3IiKTsNCn0NCg0KJG1vZHVsZSA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlKCRuYW1lKTsNCmlmICghJG1vZHVsZSkgew0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgImdlbmVyYXRvciIpOw0KfQ0KDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pKSB7DQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1siYXR0YWNoIl0pICYmIGlzX2FycmF5KCRwYXJhbXNbImF0dGFjaCJdKSkgew0KICAgICAgICAkYXR0YWNoID0gaW1wbG9kZSgnLCcsICRwYXJhbXNbImF0dGFjaCJdKTsNCiAgICB9DQogICAgDQogICAgJHVwZGF0ZSA9IGdlbmVyYXRvcl9vcHRzOjp1cGRhdGVhdHRhY2goJG5hbWUsICRhdHRhY2gpOw0KDQogICAgaWYgKCR1cGRhdGUpIHsNCiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2luZm9fc3VjY2VzcycpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2luZm9fZXJyb3InKSk7DQogICAgfQ0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgImdlbmVyYXRvciIpOw0KfQ0KDQoNCg0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdG1vZHVsZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAxLCAnJywgJycsYXJyYXkoJ25hbWUnID0+ICRtb2R1bGVbIm1vZHVsZV9uYW1lIl0pKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZW5hbWUnLCAkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhdHRhY2gnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJ2F0dGFjaFtdJywgZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGVzX2xpc3QoKSwgKGVtcHR5KCRtb2R1bGVbImF0dGFjaCJdKSA/IGFycmF5KCkgOiBleHBsb2RlKCcsJywgJG1vZHVsZVsiYXR0YWNoIl0pKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdG1vZHVsZS50cGwnKTsNCj8+DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yCiMgWmRlbm8gS3V6bWFueSAoemRlbm9Aa3V6bWFueS5iaXopIGt1em1hbnkuYml6CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaWYgKCFpc3NldCgkZ0NtcykpCiAgICBleGl0OwoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoKaWYgKCFpc193cml0YWJsZSgkY29uZmlnWydyb290X3BhdGgnXSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnbW9kdWxlcycpKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdtb2R1bGVfZGlyX3Blcm1pc3Npb24nKSk7Cn0KCiMjIFRBQiBIRUFERVJTIGZyb20gQ0dFCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiAoJHRoaXMtPkNoZWNrQWNjZXNzKCkpIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZ2VuZXJhdG9yJywgJHRoaXMtPkxhbmcoJ2dlbmVyYXRvcicpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY3JlYXRlX25ldycsICR0aGlzLT5MYW5nKCdjcmVhdGVfbmV3JykpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgojCiNUaGUgY29udGVudCBvZiB0aGUgdGFicwojCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKaWYgKCR0aGlzLT5DaGVja0FjY2VzcygpKSB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignZ2VuZXJhdG9yJyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5hZG1pbl9nZW5lcmF0b3IucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjcmVhdGVfbmV3Jyk7CiAgICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5hZG1pbl9jcmVhdGVfbmV3LnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.do_admin_generator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIyBNb2R1bGU6IE11bHRpbGFuZ3VhZ2UgQ01TDQojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpeg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NrZWxldG9uLw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKCFpc3NldCgkZ0NtcykpDQogICAgZXhpdDsNCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KDQppZiAoISR0aGlzLT5DaGVja0FjY2VzcygpKSB7DQogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOw0KICAgIHJldHVybjsNCn0NCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgew0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgImdlbmVyYXRvciIpOw0KfQ0KDQokbmFtZSA9ICcnOw0KaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpIHsNCiAgICAkbmFtZSA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1snbmFtZSddKTsNCn0NCg0KJGF0dGFjaCA9ICcnOw0KaWYgKGlzc2V0KCRwYXJhbXNbJ2F0dGFjaCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydhdHRhY2gnXSkpIHsNCiAgICAkYXR0YWNoID0gaW1wbG9kZSgnLCcsICRwYXJhbXNbJ2F0dGFjaCddKTsNCn0NCg0KaWYgKGVtcHR5KCRuYW1lKSA9PSB0cnVlKSB7DQogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdtaXNzaW5ncmVxdWlyZWQnKSk7DQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQp9DQoNCi8vY3JlYXRlIGNvcHkgZGlyDQppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKSB7DQogICAgLyoqDQogICAgICogVXNhZ2Ugb2YgdGhlIGNvcHkgZGlyZWN0b3J5IGNsYXNzDQogICAgICovDQogICAgJHNvdXJjZV9kaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICR0aGlzLT5HZXROYW1lKCksICdNb2R1bGVMaWInLCAnc291cmNlJywgJ01vZHVsZUV4YW1wbGUnKTsNCiAgICAkZGVzdF9kaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRuYW1lKTsNCg0KICAgIGlmICghaXNzZXQoJHBhcmFtc1sib3dlcndyaXRlIl0pICYmIGlzX2RpcigkZGVzdF9kaXIpKSB7DQogICAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbW9kdWxlX2V4aXN0cycpKTsNCiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQogICAgfQ0KDQogICAgY2dlX2Rpcjo6cmVjdXJzaXZlX3JlbW92ZV9kaXJlY3RvcnkoJGRlc3RfZGlyKTsNCiAgICAkY3AgPSBuZXcgY29weV9kaXIoKTsNCg0KLy8gc2V0IHRoZSBkaXJlY3RvcnkgdG8gY29weQ0KICAgIGlmICghJGNwLT5zZXRDb3B5RnJvbURpcigkc291cmNlX2RpcikpIHsNCiAgICAgICAgZGllKCRjcC0+dmlld0Vycm9yKCkpOw0KICAgIH0NCg0KLy8gc2V0IHRoZSBkaXJlY3RvcnkgdG8gY29weSB0bw0KDQogICAgaWYgKCEkY3AtPnNldENvcHlUb0RpcigkZGVzdF9kaXIpKSB7DQogICAgICAgIGRpZSgkY3AtPnZpZXdFcnJvcigpKTsNCiAgICB9DQoNCiAgICAkY3AtPmNvcHlTdWJGb2xkZXJzKHRydWUpOyAvLyBpbmNsdWRlIHN1YiBmb2xkZXJzIHdoZW4gY29weWluZw0KICAgICRjcC0+b3ZlcldyaXRlRmlsZXModHJ1ZSk7IC8vIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcw0KDQogICAgJGNwLT5zZXRDb3B5Q2FsbGJhY2soJ3VwZGF0ZUNvcHlQcm9ncmVzcycpOw0KDQogICAgaWYgKCEkY3AtPmNyZWF0ZUNvcHkodHJ1ZSkpIHsgLy8gY3JlYXRlIGEgY29weSBhbmQgcmVjdXJzZSB0aHJvdWdoIHN1YiBmb2xkZXJzDQogICAgICAgIGRpZSgkY3AtPnZpZXdFcnJvcigpKTsNCiAgICB9DQoNCiAgICAvL3Jlbm1hZSBmaWxlIGNsYXNzDQogICAgJGZpbmFsX2NsYXNzID0gY21zX2pvaW5fcGF0aCgkZGVzdF9kaXIsICRuYW1lIC4gJy5tb2R1bGUucGhwJyk7DQogICAgaWYgKGlzX2ZpbGUoJGZpbmFsX2NsYXNzKSkNCiAgICAgICAgdW5saW5rKCRmaW5hbF9jbGFzcyk7DQogICAgJHJlbmFtZSA9IHJlbmFtZShjbXNfam9pbl9wYXRoKCRkZXN0X2RpciwgJ01vZHVsZUV4YW1wbGUubW9kdWxlLnBocCcpLCAkZmluYWxfY2xhc3MpOw0KDQogICAgaWYgKCEkcmVuYW1lKSB7DQogICAgICAgIGRpZSgkdGhpcy0+TGFuZygnZXJyb3JfcmVuYW1lX2RpcicpKTsNCiAgICB9DQoNCiAgICAvLyAgcmV3cml0ZSBtb2R1bGUgY29udGVudA0KICAgICRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaW5hbF9jbGFzcyk7DQogICAgaWYgKCRkYXRhKSB7DQogICAgICAgICRkYXRhID0gc3RyX3JlcGxhY2UoJ01vZHVsZUV4YW1wbGUnLCAkbmFtZSwgJGRhdGEpOw0KICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkZmluYWxfY2xhc3MsICRkYXRhKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICBkaWUoJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcGxhY2Vfc3RyaW5nJykpOw0KICAgIH0NCg0KICAgIC8vIGNyZWF0ZSBkaXINCiAgICBjZ2VfZGlyOjpta2RpcnIoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJ1cGxvYWRzX3BhdGgiXSwgJ18nIC4gc3RydG9sb3dlcigkbmFtZSkpKTsNCg0KICAgIGlmICghaXNzZXQoJHBhcmFtc1sib3dlcndyaXRlIl0pKQ0KICAgICAgICBnZW5lcmF0b3Jfb3B0czo6aW5zZXJ0KCRuYW1lLCAkYXR0YWNoKTsNCiAgICBlbHNlDQogICAgICAgIGdlbmVyYXRvcl9vcHRzOjp1cGRhdGVkYXRlKCRuYW1lKTsNCg0KICAgIC8vQCR0aGlzLT5TZW5kRXZlbnQoJ0xhbmdFZGl0ZWQnLCBhcnJheSgnY29tcGlkJyA9PiAkY2lkKSk7DQogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2luZm9fc3VjY2VzcycpKTsNCiAgICAvL3JlZGlyZWN0DQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAiZ2VuZXJhdG9yIik7DQp9DQo/Pg0KDQo=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogICAgPGxpPgogICAgICAgIFZlcnNpb24gMi4yLjEgIGphbnVhciAyMDEzPGJyIC8+CiAgICAgICAgQWRkIGNsZWFudXAgdG8gZnJhbWV3b3JrIHNjcmlwdDxiciAvPgogICAgICAgIEZpeGVkIGVkaXQgaXRlbSB3aXRoIGN1c3RvbSBwYXJhbXMgPGJyIC8+CiAgICAgICAgUmVtb3ZlICRmaWVsZGRlZi5maWxlX2xvY2F0aW9uLiBBZGRlZCAkaXRlbS0+ZmlsZV9sb2NhdGlvbiB0byBvcmlnX3N1bW1hcnlfdGVtcGxhdGUudHBsIGFuZCBvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwgPGJyIC8+CiAgICAgICAgQnVnZml4ZXMKICAgICAgICA8YnIgLz4gICAgICAgIAogICAgPC9saT4gCiAgICA8bGk+CiAgICAgICAgVmVyc2lvbiAyLjMuMSAgamFudWFyIDIwMTM8YnIgLz4KICAgICAgICBBZGQgY2xlYW51cCB0byB1cGdyYWRlIHNjcmlwdDxiciAvPgogICAgICAgIEZpeGVkIGVkaXQgaXRlbSBwcmV2aWV3PGJyIC8+ICAgICAgICAKICAgIDwvbGk+IAogICAgPGxpPgogICAgICAgIFZlcnNpb24gMi4zICBqYW51YXIgMjAxMzxiciAvPgogICAgICAgIEFkZCBjdXN0b20gZmllbGRzIHRvIGdhbGxlcnkuPGJyIC8+CiAgICAgICAgQWRkIG5ldyBmaWVsZCB0eXBlIGRyb3Bkb3duIGZyb20gVURULjxiciAvPgogICAgICAgIEFkZCBuZXcgb3B0aW9uIHRvIHNldHRpbmdzIC0gZmlsdGVyLjxiciAvPgogICAgICAgIEFkZCBjdXN0b20gZmllbGRzIGZvciBhZG1pbiBmaWx0ZXIgdG8gb3B0aW9uIHRhYi48YnIgLz4KICAgICAgICBSZXdyaXRlIHNvbWUgcGFydCBvZiBtb2R1bGUgd2l0aCBpbmhlcml0YW5jZSBtb2R1bGVzLjxiciAvPgogICAgICAgIFJlbmFtZSB1cGxvYWRzIGRpcnMgd2l0aCBfIHByZWZpeCAoaGlkZSBmb3IgZHJvcHpvbmUpPGJyIC8+CiAgICAgICAgUmVtb3ZlIGZyb250ZW5kIG9wdGlvbiBmcm9tIGZpZWxkcyB0YWIuIDxiciAvPgogICAgICAgIFNvbWUgYnVnZml4ZXMuCiAgICA8L2xpPiAKICAgIDxsaT4KICAgICAgICBWZXJzaW9uIDIuMi40ICBvY3RvYmVyIDIwMTIgPGJyIC8+CiAgICAgICAgU29tZSBidWcgZml4ZXMgcmVsYXRlZCB0byBuZXcgc21hcnR5IGNhY2hpbmcgc3lzdGVtLgogICAgPC9saT4gCiAgICA8bGk+CiAgICAgICAgVmVyc2lvbiAyLjIuMiAgYXVndXN0IDIwMTIgPGJyIC8+CiAgICAgICAgT3B0aW9ucyB0YWIgbW92ZWQgb3V0c2lkZSBkZWZhdWx0IGFkbWluIGxhbmRpbmcgcGFnZQogICAgICAgIFNvbWUgbWlub3IgZml4ZXMKICAgIDwvbGk+IAo8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_create_new.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBNdWx0aWxhbmd1YWdlIENNUwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpegojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RvX2FkbWluX2dlbmVyYXRvcicsICRyZXR1cm5pZCwgJ3Bvc3QnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICcnLCA1MCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYXR0YWNoJywgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICdhdHRhY2hbXScsIGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlc19saXN0KCkpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZ2VuZXJhdG9yX25ldy50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_generator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgTW9kdWxlOiBNdWx0aWxhbmd1YWdlIENNUwojIFpkZW5vIEt1em1hbnkgKHpkZW5vQGt1em1hbnkuYml6KSBrdXptYW55LmJpegojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA5IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkKICAgIGV4aXQ7CgokYWRtaW50aGVtZSA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOwoKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwokbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOwoKJHVybGV4dCA9ICc/JyAuIENNU19TRUNVUkVfUEFSQU1fTkFNRSAuICc9JyAuICRfU0VTU0lPTltDTVNfVVNFUl9LRVldOwoKZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgewogICAgJG9uZXJvdyA9IGNnZV9hcnJheTo6dG9fb2JqZWN0KCRtb2R1bGUpOwogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsKICAgIGlmICgkbW9kKSB7CiAgICAgICAgJG9uZXJvdy0+bW9kdWxlbGluayA9ICRtb2QtPkNyZWF0ZUltYWdlTGluaygkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRtb2QtPkdldE5hbWUoKSwgJ2ljb25zL3N5c3RlbS9leHBhbmQuZ2lmJywgYXJyYXkoKSwgJycsICcnLCBmYWxzZSk7CiAgICAgICAgJG9uZXJvdy0+dW5pbnN0YWxsbGluayA9ICc8YSBvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycuJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKS4nXCcpOyIgaHJlZj0iJy4kY29uZmlnWydhZG1pbl91cmwnXSAuICcvbGlzdG1vZHVsZXMucGhwJyAuICR1cmxleHQgLicmYWN0aW9uPXVuaW5zdGFsbCZtb2R1bGU9Jy4kbW9kLT5HZXROYW1lKCkuJyI+Jy4kdGhpcy0+TGFuZygndW5pbnN0YWxsJykuJzwvYT4nOwogICAgfWVsc2V7CiAgICAgICAgJG9uZXJvdy0+aW5zdGFsbGxpbmsgPSAnPGEgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKTsiIGhyZWY9IicuJGNvbmZpZ1snYWRtaW5fdXJsJ10gLiAnL2xpc3Rtb2R1bGVzLnBocCcgLiAkdXJsZXh0IC4nJmFjdGlvbj1pbnN0YWxsJm1vZHVsZT0nLiRtb2R1bGVbIm1vZHVsZV9uYW1lIl0uJyI+Jy4kdGhpcy0+TGFuZygnaW5zdGFsbCcpLic8L2E+JzsKICAgIH0KCiAgICAkb25lcm93LT5hdHRhY2htb2R1bGVzID0gZ2VuZXJhdG9yX29wdHM6OmdldF9hdHRhY2hfbW9kdWxlcygkbW9kdWxlWyJhdHRhY2giXSk7CiAgICAkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRtb2R1bGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJG1vZHVsZVsnbW9kdWxlX25hbWUnXSkpOwogICAgJG9uZXJvdy0+cmVnZW5lcmF0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19hZG1pbl9nZW5lcmF0b3InLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9leHBvcnQuZ2lmJywgJHRoaXMtPkxhbmcoJ3JlZ2VuZXJhdGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJG1vZHVsZVsnbW9kdWxlX25hbWUnXSwgJ293ZXJ3cml0ZScgPT4gMSwgJ3N1Ym1pdCcgPT4gMSkpOwogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZW1vZHVsZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJG1vZHVsZVsnbW9kdWxlX25hbWUnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCgokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwoKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZ2VuZXJhdG9yLnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/color.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMOSURBVDjLVZNNaBxlAIafb+ab2Z3N7Oxv/nYTEyv2LzQJpKBgrQqNUKmY4kUIXqUHT70p9iB48CKIiN5E0It6KFiwiv9FpAVpKUggNc3mZ7vpJpv9n93ZnZ35PNRI+8B7e9/n9gqlFAeIVUfPeN3zh0R0eVpYM1OanhvTCEY0f3tU79+ctnpfHM73fuQhxIHAWHnmkOGXPjgZyS09l5hnNv4YOdMhoQmigzqGt4nhfeub1fpnVsl/e+hMv/q/QKy+Me0EO5dfso/OvzB8grgV4HGXJC7jwAQ2oxxDuC36xZ+Rhe+v6iutZf2iqklReNe0tPSHZ2Nz84ujR7ht3iJKjcexiOIQI8SiixxcR7QtRORFlK7O9t0rlyy4KBEj5+YisVeez85wy9zGIUeGDDYhDhYOITYuoh2BvTJ68y7B0GnCym8XGq+KL2U0MrE8Z2SRVhqdPmlCsvgk8RlCkgAivRbUNKj1YPMeeu4wcnjRql7/+jVpyvxsPjbK3whi5LEAB0WWgBRgqwAaFah04X4V7puwdwddz+FXjJMSbXI8aSTYCgU2oKMwEdgCEoDhug/G5SjsmFDUoV+DXJ7BnpiUVCNBaJqEXfDVfwG6CjoKnF4crZGCVvNBug0IPXzPZOCnAunfk8W6ro7H2gK3A02gGoDeA1MDGx2nkYG6C24bvDaMSzq7ZfxBsiC7O+aNDaWOn0oLfl0HMwDlQRCAHYUkEGvFkLsp2G9Bo0n41AiNG6sMBvY1yZr6/JsV//XZZ3WZaEp2t6DvgWFA1QRHQbwjSDeTUGvCiSPU1ovU/typQPIrTV0yrrl3vE+/+8XlaCIgq8H+BtSLUN2C2ibsl8ArR+HYGE0rwvbvRTr96HsL6od1CUDDf+enK92JwT+982cWEswvRmiug6qAr0E4AV4uoFXosnV1g8bN5kcp7E8eOZOYKtmUqm/ZiDdfPhV3Zp6IM5k0SIUBstwmXKvCX5UdM6y9n2b34wV1IXxEcEBU3J4dprU0zODpjFBTIyoIxgjXxlB/PIl1eUmdLjzc/xceOVXddrB6BQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/grid.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFAAUAJEAAAAAAP///+zp2P///yH5BAEAAAMALAAAAAAUABQAAAIojI+iy+jBonhJLnrsxVBP7n1YyHVaSYKhh7Lq+VotPLo1TaW3HEtlAQA7]]></data>
	</file>
	<file>
	  <filename>/images/meta100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAAAAACMIRMSAAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAAaAAAAGgAHsmYvAAACLklEQVQoz0VSW0hUURRd9zVvBcmhyKEMhCghMCT6KIwoiIgIIwZ6CNXHEEUf1cd81Jc9fiKjQoL6kLDQiqISmZgypCdoQUSIg2YoFNhrpgxm5px7V3uuA204j73X2efss/YCxTytlPbom+cqpdyKAxnarcRc/X/2lOdDisWRTGa0RC0hl+OPM8O/WNYCaWZbDMBsfUKt+Kk9DCBxxSt5UOwzYQeDFqx75GQjTCdgGzhGBc7E4VSyHDR84TYETMCwbAzIhRcQRENPVwwBXM/BhHXybrPsdwiUlLWHPCUnDt+SaS85BAuNeXANUDNNPoeNLWmEcJPFP8uA2BjyS4Gm8WnmpLLWpOC3f2iuk7QhzC4GaheFB7/XAM1bYTm10X5uliOD+LkEpmHhUCEGtOyEbVro4CaBnqK0AkZkQeL954CB9SnYVjTxTN43nVFwA4zY6zyzcNB+Vio877KQAOqmwH3iXiWPy3LigVS4S73otm0s/wvekFi8rzsk3+v/KrxEm4REB/vly3MrERJyrDBW/eZBhFF/5+OZoDlCaL6KwzANAwvfUhfagGvvkhOPuir0aub2xB2jvmOi0tO59OpvKdSNsey30uXs6FSequjqkjiXAmEcmYc8XebudInSc4/um+1C3NHT1L42RAIDds2B3uGXD8+12cDaD9SiIsyriDOpCHyLbOwtijK8KiRCcpnPXu7svHh/0pUUP1aFPFWu6pCuqu6qkK/Asti8On37BwKNc9D2ur7jAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEwLTA4LTE1VDEyOjUwOjE3LTA0OjAwUhXmOgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMC0wOC0xNVQxMjo1MDoxNy0wNDowMCNIXoYAAAARdEVYdGpwZWc6Y29sb3JzcGFjZQAyLHVVnwAAACB0RVh0anBlZzpzYW1wbGluZy1mYWN0b3IAMngyLDF4MSwxeDFJ+qa0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/picker.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/jquery.tablednd_0_5.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIFRhYmxlRG5EIHBsdWctaW4gZm9yIEpRdWVyeSwgYWxsb3dzIHlvdSB0byBkcmFnIGFuZCBkcm9wIHRhYmxlIHJvd3MKICogWW91IGNhbiBzZXQgdXAgdmFyaW91cyBvcHRpb25zIHRvIGNvbnRyb2wgaG93IHRoZSBzeXN0ZW0gd2lsbCB3b3JrCiAqIENvcHlyaWdodCAoYykgRGVuaXMgSG93bGV0dCA8ZGVuaXNoQGlzb2NyYS5jb20+CiAqIExpY2Vuc2VkIGxpa2UgalF1ZXJ5LCBzZWUgaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9MaWNlbnNlLgogKgogKiBDb25maWd1cmF0aW9uIG9wdGlvbnM6CiAqIAogKiBvbkRyYWdTdHlsZQogKiAgICAgVGhpcyBpcyB0aGUgc3R5bGUgdGhhdCBpcyBhc3NpZ25lZCB0byB0aGUgcm93IGR1cmluZyBkcmFnLiBUaGVyZSBhcmUgbGltaXRhdGlvbnMgdG8gdGhlIHN0eWxlcyB0aGF0IGNhbiBiZQogKiAgICAgYXNzb2NpYXRlZCB3aXRoIGEgcm93IChzdWNoIGFzIHlvdSBjYW4ndCBhc3NpZ24gYSBib3JkZXItLXdlbGwgeW91IGNhbiwgYnV0IGl0IHdvbid0IGJlCiAqICAgICBkaXNwbGF5ZWQpLiAoU28gaW5zdGVhZCBjb25zaWRlciB1c2luZyBvbkRyYWdDbGFzcy4pIFRoZSBDU1Mgc3R5bGUgdG8gYXBwbHkgaXMgc3BlY2lmaWVkIGFzCiAqICAgICBhIG1hcCAoYXMgdXNlZCBpbiB0aGUgalF1ZXJ5IGNzcyguLi4pIGZ1bmN0aW9uKS4KICogb25Ecm9wU3R5bGUKICogICAgIFRoaXMgaXMgdGhlIHN0eWxlIHRoYXQgaXMgYXNzaWduZWQgdG8gdGhlIHJvdyB3aGVuIGl0IGlzIGRyb3BwZWQuIEFzIGZvciBvbkRyYWdTdHlsZSwgdGhlcmUgYXJlIGxpbWl0YXRpb25zCiAqICAgICB0byB3aGF0IHlvdSBjYW4gZG8uIEFsc28gdGhpcyByZXBsYWNlcyB0aGUgb3JpZ2luYWwgc3R5bGUsIHNvIGFnYWluIGNvbnNpZGVyIHVzaW5nIG9uRHJhZ0NsYXNzIHdoaWNoCiAqICAgICBpcyBzaW1wbHkgYWRkZWQgYW5kIHRoZW4gcmVtb3ZlZCBvbiBkcm9wLgogKiBvbkRyYWdDbGFzcwogKiAgICAgVGhpcyBjbGFzcyBpcyBhZGRlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBkcmFnIGFuZCB0aGVuIHJlbW92ZWQgd2hlbiB0aGUgcm93IGlzIGRyb3BwZWQuIEl0IGlzIG1vcmUKICogICAgIGZsZXhpYmxlIHRoYW4gdXNpbmcgb25EcmFnU3R5bGUgc2luY2UgaXQgY2FuIGJlIGluaGVyaXRlZCBieSB0aGUgcm93IGNlbGxzIGFuZCBvdGhlciBjb250ZW50LiBUaGUgZGVmYXVsdAogKiAgICAgaXMgY2xhc3MgaXMgdERuRF93aGlsZURyYWcuIFNvIHRvIHVzZSB0aGUgZGVmYXVsdCwgc2ltcGx5IGN1c3RvbWlzZSB0aGlzIENTUyBjbGFzcyBpbiB5b3VyCiAqICAgICBzdHlsZXNoZWV0LgogKiBvbkRyb3AKICogICAgIFBhc3MgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIHJvdyBpcyBkcm9wcGVkLiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUgdGFibGUKICogICAgIGFuZCB0aGUgcm93IHRoYXQgd2FzIGRyb3BwZWQuIFlvdSBjYW4gd29yayBvdXQgdGhlIG5ldyBvcmRlciBvZiB0aGUgcm93cyBieSB1c2luZwogKiAgICAgdGFibGUucm93cy4KICogb25EcmFnU3RhcnQKICogICAgIFBhc3MgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgc3RhcnRzIGRyYWdnaW5nLiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUKICogICAgIHRhYmxlIGFuZCB0aGUgcm93IHdoaWNoIHRoZSB1c2VyIGhhcyBzdGFydGVkIHRvIGRyYWcuCiAqIG9uQWxsb3dEcm9wCiAqICAgICBQYXNzIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBhcyBhIHJvdyBpcyBvdmVyIGFub3RoZXIgcm93LiBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyB0cnVlLCBhbGxvdyAKICogICAgIGRyb3BwaW5nIG9uIHRoYXQgcm93LCBvdGhlcndpc2Ugbm90LiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUgZHJhZ2dlZCByb3cgYW5kIHRoZSByb3cgdW5kZXIKICogICAgIHRoZSBjdXJzb3IuIEl0IHJldHVybnMgYSBib29sZWFuOiB0cnVlIGFsbG93cyB0aGUgZHJvcCwgZmFsc2UgZG9lc24ndCBhbGxvdyBpdC4KICogc2Nyb2xsQW1vdW50CiAqICAgICBUaGlzIGlzIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHRvIHNjcm9sbCBpZiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2UgY3Vyc29yIHRvIHRoZSB0b3Agb3IgYm90dG9tIG9mIHRoZQogKiAgICAgd2luZG93LiBUaGUgcGFnZSBzaG91bGQgYXV0b21hdGljYWxseSBzY3JvbGwgdXAgb3IgZG93biBhcyBhcHByb3ByaWF0ZSAodGVzdGVkIGluIElFNiwgSUU3LCBTYWZhcmksIEZGMiwKICogICAgIEZGMyBiZXRhCiAqIGRyYWdIYW5kbGUKICogICAgIFRoaXMgaXMgdGhlIG5hbWUgb2YgYSBjbGFzcyB0aGF0IHlvdSBhc3NpZ24gdG8gb25lIG9yIG1vcmUgY2VsbHMgaW4gZWFjaCByb3cgdGhhdCBpcyBkcmFnZ2FibGUuIElmIHlvdQogKiAgICAgc3BlY2lmeSB0aGlzIGNsYXNzLCB0aGVuIHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgY3Vyc29yOiBtb3ZlIGluIHRoZSBDU1MgYW5kIG9ubHkgdGhlc2UgY2VsbHMKICogICAgIHdpbGwgaGF2ZSB0aGUgZHJhZyBiZWhhdmlvdXIuIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIGRyYWdIYW5kbGUsIHRoZW4geW91IGdldCB0aGUgb2xkIGJlaGF2aW91ciB3aGVyZQogKiAgICAgdGhlIHdob2xlIHJvdyBpcyBkcmFnZ2FibGUuCiAqIAogKiBPdGhlciB3YXlzIHRvIGNvbnRyb2wgYmVoYXZpb3VyOgogKgogKiBBZGQgY2xhc3M9Im5vZHJvcCIgdG8gYW55IHJvd3MgZm9yIHdoaWNoIHlvdSBkb24ndCB3YW50IHRvIGFsbG93IGRyb3BwaW5nLCBhbmQgY2xhc3M9Im5vZHJhZyIgdG8gYW55IHJvd3MKICogdGhhdCB5b3UgZG9uJ3Qgd2FudCB0byBiZSBkcmFnZ2FibGUuCiAqCiAqIEluc2lkZSB0aGUgb25Ecm9wIG1ldGhvZCB5b3UgY2FuIGFsc28gY2FsbCAkLnRhYmxlRG5ELnNlcmlhbGl6ZSgpIHRoaXMgcmV0dXJucyBhIHN0cmluZyBvZiB0aGUgZm9ybQogKiA8dGFibGVJRD5bXT08cm93SUQxPiY8dGFibGVJRD5bXT08cm93SUQyPiBzbyB0aGF0IHlvdSBjYW4gc2VuZCB0aGlzIGJhY2sgdG8gdGhlIHNlcnZlci4gVGhlIHRhYmxlIG11c3QgaGF2ZQogKiBhbiBJRCBhcyBtdXN0IGFsbCB0aGUgcm93cy4KICoKICogT3RoZXIgbWV0aG9kczoKICoKICogJCgiLi4uIikudGFibGVEbkRVcGRhdGUoKSAKICogV2lsbCB1cGRhdGUgYWxsIHRoZSBtYXRjaGluZyB0YWJsZXMsIHRoYXQgaXMgaXQgd2lsbCByZWFwcGx5IHRoZSBtb3VzZWRvd24gbWV0aG9kIHRvIHRoZSByb3dzIChvciBoYW5kbGUgY2VsbHMpLgogKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3UgaGF2ZSB1cGRhdGVkIHRoZSB0YWJsZSByb3dzIHVzaW5nIEFqYXggYW5kIHlvdSB3YW50IHRvIG1ha2UgdGhlIHRhYmxlIGRyYWdnYWJsZSBhZ2Fpbi4KICogVGhlIHRhYmxlIG1haW50YWlucyB0aGUgb3JpZ2luYWwgY29uZmlndXJhdGlvbiAoc28geW91IGRvbid0IGhhdmUgdG8gc3BlY2lmeSBpdCBhZ2FpbikuCiAqCiAqICQoIi4uLiIpLnRhYmxlRG5EU2VyaWFsaXplKCkKICogV2lsbCBzZXJpYWxpemUgYW5kIHJldHVybiB0aGUgc2VyaWFsaXplZCBzdHJpbmcgYXMgYWJvdmUsIGJ1dCBmb3IgZWFjaCBvZiB0aGUgbWF0Y2hpbmcgdGFibGVzLS1zbyBpdCBjYW4gYmUKICogY2FsbGVkIGZyb20gYW55d2hlcmUgYW5kIGlzbid0IGRlcGVuZGVudCBvbiB0aGUgY3VycmVudFRhYmxlIGJlaW5nIHNldCB1cCBjb3JyZWN0bHkgYmVmb3JlIGNhbGxpbmcKICoKICogS25vd24gcHJvYmxlbXM6CiAqIC0gQXV0by1zY29sbCBoYXMgc29tZSBwcm9ibGVtcyB3aXRoIElFNyAgKGl0IHNjcm9sbHMgZXZlbiB3aGVuIGl0IHNob3VsZG4ndCksIHdvcmstYXJvdW5kOiBzZXQgc2Nyb2xsQW1vdW50IHRvIDAKICogCiAqIFZlcnNpb24gMC4yOiAyMDA4LTAyLTIwIEZpcnN0IHB1YmxpYyB2ZXJzaW9uCiAqIFZlcnNpb24gMC4zOiAyMDA4LTAyLTA3IEFkZGVkIG9uRHJhZ1N0YXJ0IG9wdGlvbgogKiAgICAgICAgICAgICAgICAgICAgICAgICBNYWRlIHRoZSBzY3JvbGwgYW1vdW50IGNvbmZpZ3VyYWJsZSAoZGVmYXVsdCBpcyA1IGFzIGJlZm9yZSkKICogVmVyc2lvbiAwLjQ6IDIwMDgtMDMtMTUgQ2hhbmdlZCB0aGUgbm9EcmFnL25vRHJvcCBhdHRyaWJ1dGVzIHRvIG5vZHJhZy9ub2Ryb3AgY2xhc3NlcwogKiAgICAgICAgICAgICAgICAgICAgICAgICBBZGRlZCBvbkFsbG93RHJvcCB0byBjb250cm9sIGRyb3BwaW5nCiAqICAgICAgICAgICAgICAgICAgICAgICAgIEZpeGVkIGEgYnVnIHdoaWNoIG1lYW50IHRoYXQgeW91IGNvdWxkbid0IHNldCB0aGUgc2Nyb2xsIGFtb3VudCBpbiBib3RoIGRpcmVjdGlvbnMKICogICAgICAgICAgICAgICAgICAgICAgICAgQWRkZWQgc2VyaWFsaXplIG1ldGhvZAogKiBWZXJzaW9uIDAuNTogMjAwOC0wNS0xNiBDaGFuZ2VkIHNvIHRoYXQgaWYgeW91IHNwZWNpZnkgYSBkcmFnSGFuZGxlIGNsYXNzIGl0IGRvZXNuJ3QgbWFrZSB0aGUgd2hvbGUgcm93CiAqICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZQogKiAgICAgICAgICAgICAgICAgICAgICAgICBJbXByb3ZlZCB0aGUgc2VyaWFsaXplIG1ldGhvZCB0byB1c2UgYSBkZWZhdWx0IChhbmQgc2V0dGFibGUpIHJlZ3VsYXIgZXhwcmVzc2lvbi4KICogICAgICAgICAgICAgICAgICAgICAgICAgQWRkZWQgdGFibGVEbkR1cGF0ZSgpIGFuZCB0YWJsZURuRFNlcmlhbGl6ZSgpIHRvIGJlIGNhbGxlZCB3aGVuIHlvdSBhcmUgb3V0c2lkZSB0aGUgdGFibGUKICovCmpRdWVyeS50YWJsZURuRCA9IHsKICAgIC8qKiBLZWVwIGhvbGQgb2YgdGhlIGN1cnJlbnQgdGFibGUgYmVpbmcgZHJhZ2dlZCAqLwogICAgY3VycmVudFRhYmxlIDogbnVsbCwKICAgIC8qKiBLZWVwIGhvbGQgb2YgdGhlIGN1cnJlbnQgZHJhZyBvYmplY3QgaWYgYW55ICovCiAgICBkcmFnT2JqZWN0OiBudWxsLAogICAgLyoqIFRoZSBjdXJyZW50IG1vdXNlIG9mZnNldCAqLwogICAgbW91c2VPZmZzZXQ6IG51bGwsCiAgICAvKiogUmVtZW1iZXIgdGhlIG9sZCB2YWx1ZSBvZiBZIHNvIHRoYXQgd2UgZG9uJ3QgZG8gdG9vIG11Y2ggcHJvY2Vzc2luZyAqLwogICAgb2xkWTogMCwKCiAgICAvKiogQWN0dWFsbHkgYnVpbGQgdGhlIHN0cnVjdHVyZSAqLwogICAgYnVpbGQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgICAvLyBTZXQgdXAgdGhlIGRlZmF1bHRzIGlmIGFueQoKICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIC8vIFRoaXMgaXMgYm91bmQgdG8gZWFjaCBtYXRjaGluZyB0YWJsZSwgc2V0IHVwIHRoZSBkZWZhdWx0cyBhbmQgb3ZlcnJpZGUgd2l0aCB1c2VyIG9wdGlvbnMKICAgICAgICAgICAgdGhpcy50YWJsZURuRENvbmZpZyA9IGpRdWVyeS5leHRlbmQoewogICAgICAgICAgICAgICAgb25EcmFnU3R5bGU6IG51bGwsCiAgICAgICAgICAgICAgICBvbkRyb3BTdHlsZTogbnVsbCwKCQkJCS8vIEFkZCBpbiB0aGUgZGVmYXVsdCBjbGFzcyBmb3Igd2hpbGVEcmFnZ2luZwoJCQkJb25EcmFnQ2xhc3M6ICJ0RG5EX3doaWxlRHJhZyIsCiAgICAgICAgICAgICAgICBvbkRyb3A6IG51bGwsCiAgICAgICAgICAgICAgICBvbkRyYWdTdGFydDogbnVsbCwKICAgICAgICAgICAgICAgIHNjcm9sbEFtb3VudDogNSwKCQkJCXNlcmlhbGl6ZVJlZ2V4cDogL1teXC1dKiQvLCAvLyBUaGUgcmVndWxhciBleHByZXNzaW9uIHRvIHVzZSB0byB0cmltIHJvdyBJRHMKCQkJCXNlcmlhbGl6ZVBhcmFtTmFtZTogbnVsbCwgLy8gSWYgeW91IHdhbnQgdG8gc3BlY2lmeSBhbm90aGVyIHBhcmFtZXRlciBuYW1lIGluc3RlYWQgb2YgdGhlIHRhYmxlIElECiAgICAgICAgICAgICAgICBkcmFnSGFuZGxlOiBudWxsIC8vIElmIHlvdSBnaXZlIHRoZSBuYW1lIG9mIGEgY2xhc3MgaGVyZSwgdGhlbiBvbmx5IENlbGxzIHdpdGggdGhpcyBjbGFzcyB3aWxsIGJlIGRyYWdnYWJsZQogICAgICAgICAgICB9LCBvcHRpb25zIHx8IHt9KTsKICAgICAgICAgICAgLy8gTm93IG1ha2UgdGhlIHJvd3MgZHJhZ2dhYmxlCiAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tYWtlRHJhZ2dhYmxlKHRoaXMpOwogICAgICAgIH0pOwoKICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBjYXB0dXJlIHRoZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudAogICAgICAgIC8vIFdlIGNhbiB1c2UgYmluZCBzbyB0aGF0IHdlIGRvbid0IGludGVyZmVyZSB3aXRoIG90aGVyIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgalF1ZXJ5KGRvY3VtZW50KQogICAgICAgICAgICAuYmluZCgnbW91c2Vtb3ZlJywgalF1ZXJ5LnRhYmxlRG5ELm1vdXNlbW92ZSkKICAgICAgICAgICAgLmJpbmQoJ21vdXNldXAnLCBqUXVlcnkudGFibGVEbkQubW91c2V1cCk7CgogICAgICAgIC8vIERvbid0IGJyZWFrIHRoZSBjaGFpbgogICAgICAgIHJldHVybiB0aGlzOwogICAgfSwKCiAgICAvKiogVGhpcyBmdW5jdGlvbiBtYWtlcyBhbGwgdGhlIHJvd3Mgb24gdGhlIHRhYmxlIGRyYWdnYWJsZSBhcGFydCBmcm9tIHRob3NlIG1hcmtlZCBhcyAiTm9EcmFnIiAqLwogICAgbWFrZURyYWdnYWJsZTogZnVuY3Rpb24odGFibGUpIHsKICAgICAgICB2YXIgY29uZmlnID0gdGFibGUudGFibGVEbkRDb25maWc7CgkJaWYgKHRhYmxlLnRhYmxlRG5EQ29uZmlnLmRyYWdIYW5kbGUpIHsKCQkJLy8gV2Ugb25seSBuZWVkIHRvIGFkZCB0aGUgZXZlbnQgdG8gdGhlIHNwZWNpZmllZCBjZWxscwoJCQl2YXIgY2VsbHMgPSBqUXVlcnkoInRkLiIrdGFibGUudGFibGVEbkRDb25maWcuZHJhZ0hhbmRsZSwgdGFibGUpOwoJCQljZWxscy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJLy8gVGhlIGNlbGwgaXMgYm91bmQgdG8gInRoaXMiCiAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykubW91c2Vkb3duKGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgPSB0aGlzLnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSA9IHRhYmxlOwogICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tb3VzZU9mZnNldCA9IGpRdWVyeS50YWJsZURuRC5nZXRNb3VzZU9mZnNldCh0aGlzLCBldik7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5vbkRyYWdTdGFydCkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxsIHRoZSBvbkRyb3AgbWV0aG9kIGlmIHRoZXJlIGlzIG9uZQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25EcmFnU3RhcnQodGFibGUsIHRoaXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKCQkJfSkKCQl9IGVsc2UgewoJCQkvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHdlIGFkZCB0aGUgZXZlbnQgdG8gdGhlIHdob2xlIHJvdwoJICAgICAgICB2YXIgcm93cyA9IGpRdWVyeSgidHIiLCB0YWJsZSk7IC8vIGdldCBhbGwgdGhlIHJvd3MgYXMgYSB3cmFwcGVkIHNldAoJICAgICAgICByb3dzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQkvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCByb3csIHRoZSByb3cgaXMgYm91bmQgdG8gInRoaXMiCgkJCQl2YXIgcm93ID0galF1ZXJ5KHRoaXMpOwoJCQkJaWYgKCEgcm93Lmhhc0NsYXNzKCJub2RyYWciKSkgewoJICAgICAgICAgICAgICAgIHJvdy5tb3VzZWRvd24oZnVuY3Rpb24oZXYpIHsKCSAgICAgICAgICAgICAgICAgICAgaWYgKGV2LnRhcmdldC50YWdOYW1lID09ICJURCIpIHsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0ID0gdGhpczsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUgPSB0YWJsZTsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tb3VzZU9mZnNldCA9IGpRdWVyeS50YWJsZURuRC5nZXRNb3VzZU9mZnNldCh0aGlzLCBldik7CgkgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLm9uRHJhZ1N0YXJ0KSB7CgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgb25Ecm9wIG1ldGhvZCBpZiB0aGVyZSBpcyBvbmUKCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25EcmFnU3RhcnQodGFibGUsIHRoaXMpOwoJICAgICAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgfSkuY3NzKCJjdXJzb3IiLCAibW92ZSIpOyAvLyBTdG9yZSB0aGUgdGFibGVEbkQgb2JqZWN0CgkJCQl9CgkJCX0pOwoJCX0KCX0sCgoJdXBkYXRlVGFibGVzOiBmdW5jdGlvbigpIHsKCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCS8vIHRoaXMgaXMgbm93IGJvdW5kIHRvIGVhY2ggbWF0Y2hpbmcgdGFibGUKCQkJaWYgKHRoaXMudGFibGVEbkRDb25maWcpIHsKCQkJCWpRdWVyeS50YWJsZURuRC5tYWtlRHJhZ2dhYmxlKHRoaXMpOwoJCQl9CgkJfSkKCX0sCgogICAgLyoqIEdldCB0aGUgbW91c2UgY29vcmRpbmF0ZXMgZnJvbSB0aGUgZXZlbnQgKGFsbG93aW5nIGZvciBicm93c2VyIGRpZmZlcmVuY2VzKSAqLwogICAgbW91c2VDb29yZHM6IGZ1bmN0aW9uKGV2KXsKICAgICAgICBpZihldi5wYWdlWCB8fCBldi5wYWdlWSl7CiAgICAgICAgICAgIHJldHVybiB7eDpldi5wYWdlWCwgeTpldi5wYWdlWX07CiAgICAgICAgfQogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHg6ZXYuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCAtIGRvY3VtZW50LmJvZHkuY2xpZW50TGVmdCwKICAgICAgICAgICAgeTpldi5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgIC0gZG9jdW1lbnQuYm9keS5jbGllbnRUb3AKICAgICAgICB9OwogICAgfSwKCiAgICAvKiogR2l2ZW4gYSB0YXJnZXQgZWxlbWVudCBhbmQgYSBtb3VzZSBldmVudCwgZ2V0IHRoZSBtb3VzZSBvZmZzZXQgZnJvbSB0aGF0IGVsZW1lbnQuCiAgICAgICAgVG8gZG8gdGhpcyB3ZSBuZWVkIHRoZSBlbGVtZW50J3MgcG9zaXRpb24gYW5kIHRoZSBtb3VzZSBwb3NpdGlvbiAqLwogICAgZ2V0TW91c2VPZmZzZXQ6IGZ1bmN0aW9uKHRhcmdldCwgZXYpIHsKICAgICAgICBldiA9IGV2IHx8IHdpbmRvdy5ldmVudDsKCiAgICAgICAgdmFyIGRvY1BvcyAgICA9IHRoaXMuZ2V0UG9zaXRpb24odGFyZ2V0KTsKICAgICAgICB2YXIgbW91c2VQb3MgID0gdGhpcy5tb3VzZUNvb3Jkcyhldik7CiAgICAgICAgcmV0dXJuIHt4Om1vdXNlUG9zLnggLSBkb2NQb3MueCwgeTptb3VzZVBvcy55IC0gZG9jUG9zLnl9OwogICAgfSwKCiAgICAvKiogR2V0IHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IGJ5IGdvaW5nIHVwIHRoZSBET00gdHJlZSBhbmQgYWRkaW5nIHVwIGFsbCB0aGUgb2Zmc2V0cyAqLwogICAgZ2V0UG9zaXRpb246IGZ1bmN0aW9uKGUpewogICAgICAgIHZhciBsZWZ0ID0gMDsKICAgICAgICB2YXIgdG9wICA9IDA7CiAgICAgICAgLyoqIFNhZmFyaSBmaXggLS0gdGhhbmtzIHRvIEx1aXMgQ2hhdG8gZm9yIHRoaXMhICovCiAgICAgICAgaWYgKGUub2Zmc2V0SGVpZ2h0ID09IDApIHsKICAgICAgICAgICAgLyoqIFNhZmFyaSAyIGRvZXNuJ3QgY29ycmVjdGx5IGdyYWIgdGhlIG9mZnNldFRvcCBvZiBhIHRhYmxlIHJvdwogICAgICAgICAgICB0aGlzIGlzIGRldGFpbGVkIGhlcmU6CiAgICAgICAgICAgIGh0dHA6Ly9qYWNvYi5wZWFyZ3JvdmUuY29tL2Jsb2cvMjAwNi90ZWNobmljYWwvdGFibGUtcm93LW9mZnNldHRvcC1idWctaW4tc2FmYXJpLwogICAgICAgICAgICB0aGUgc29sdXRpb24gaXMgbGlrZXdpc2Ugbm90ZWQgdGhlcmUsIGdyYWIgdGhlIG9mZnNldCBvZiBhIHRhYmxlIGNlbGwgaW4gdGhlIHJvdyAtIHRoZSBmaXJzdENoaWxkLgogICAgICAgICAgICBub3RlIHRoYXQgZmlyZWZveCB3aWxsIHJldHVybiBhIHRleHQgbm9kZSBhcyBhIGZpcnN0IGNoaWxkLCBzbyBkZXNpZ25pbmcgYSBtb3JlIHRob3JvdWdoCiAgICAgICAgICAgIHNvbHV0aW9uIG1heSBuZWVkIHRvIHRha2UgdGhhdCBpbnRvIGFjY291bnQsIGZvciBub3cgdGhpcyBzZWVtcyB0byB3b3JrIGluIGZpcmVmb3gsIHNhZmFyaSwgaWUgKi8KICAgICAgICAgICAgZSA9IGUuZmlyc3RDaGlsZDsgLy8gYSB0YWJsZSBjZWxsCiAgICAgICAgfQoKICAgICAgICB3aGlsZSAoZS5vZmZzZXRQYXJlbnQpewogICAgICAgICAgICBsZWZ0ICs9IGUub2Zmc2V0TGVmdDsKICAgICAgICAgICAgdG9wICArPSBlLm9mZnNldFRvcDsKICAgICAgICAgICAgZSAgICAgPSBlLm9mZnNldFBhcmVudDsKICAgICAgICB9CgogICAgICAgIGxlZnQgKz0gZS5vZmZzZXRMZWZ0OwogICAgICAgIHRvcCAgKz0gZS5vZmZzZXRUb3A7CgogICAgICAgIHJldHVybiB7eDpsZWZ0LCB5OnRvcH07CiAgICB9LAoKICAgIG1vdXNlbW92ZTogZnVuY3Rpb24oZXYpIHsKICAgICAgICBpZiAoalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgPT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgZHJhZ09iaiA9IGpRdWVyeShqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdCk7CiAgICAgICAgdmFyIGNvbmZpZyA9IGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUudGFibGVEbkRDb25maWc7CiAgICAgICAgdmFyIG1vdXNlUG9zID0galF1ZXJ5LnRhYmxlRG5ELm1vdXNlQ29vcmRzKGV2KTsKICAgICAgICB2YXIgeSA9IG1vdXNlUG9zLnkgLSBqUXVlcnkudGFibGVEbkQubW91c2VPZmZzZXQueTsKICAgICAgICAvL2F1dG8gc2Nyb2xsIHRoZSB3aW5kb3cKCSAgICB2YXIgeU9mZnNldCA9IHdpbmRvdy5wYWdlWU9mZnNldDsKCSAJaWYgKGRvY3VtZW50LmFsbCkgewoJICAgICAgICAvLyBXaW5kb3dzIHZlcnNpb24KCSAgICAgICAgLy95T2Zmc2V0PWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwoJICAgICAgICBpZiAodHlwZW9mIGRvY3VtZW50LmNvbXBhdE1vZGUgIT0gJ3VuZGVmaW5lZCcgJiYKCSAgICAgICAgICAgICBkb2N1bWVudC5jb21wYXRNb2RlICE9ICdCYWNrQ29tcGF0JykgewoJICAgICAgICAgICB5T2Zmc2V0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsKCSAgICAgICAgfQoJICAgICAgICBlbHNlIGlmICh0eXBlb2YgZG9jdW1lbnQuYm9keSAhPSAndW5kZWZpbmVkJykgewoJICAgICAgICAgICB5T2Zmc2V0PWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwoJICAgICAgICB9CgoJICAgIH0KCQkgICAgCgkJaWYgKG1vdXNlUG9zLnkteU9mZnNldCA8IGNvbmZpZy5zY3JvbGxBbW91bnQpIHsKCSAgICAJd2luZG93LnNjcm9sbEJ5KDAsIC1jb25maWcuc2Nyb2xsQW1vdW50KTsKCSAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0ID8gd2luZG93LmlubmVySGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA6IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OwogICAgICAgICAgICBpZiAod2luZG93SGVpZ2h0LShtb3VzZVBvcy55LXlPZmZzZXQpIDwgY29uZmlnLnNjcm9sbEFtb3VudCkgewogICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIGNvbmZpZy5zY3JvbGxBbW91bnQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgaWYgKHkgIT0galF1ZXJ5LnRhYmxlRG5ELm9sZFkpIHsKICAgICAgICAgICAgLy8gd29yayBvdXQgaWYgd2UncmUgZ29pbmcgdXAgb3IgZG93bi4uLgogICAgICAgICAgICB2YXIgbW92aW5nRG93biA9IHkgPiBqUXVlcnkudGFibGVEbkQub2xkWTsKICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBvbGQgdmFsdWUKICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELm9sZFkgPSB5OwogICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHN0eWxlIHRvIHNob3cgd2UncmUgZHJhZ2dpbmcKCQkJaWYgKGNvbmZpZy5vbkRyYWdDbGFzcykgewoJCQkJZHJhZ09iai5hZGRDbGFzcyhjb25maWcub25EcmFnQ2xhc3MpOwoJCQl9IGVsc2UgewoJICAgICAgICAgICAgZHJhZ09iai5jc3MoY29uZmlnLm9uRHJhZ1N0eWxlKTsKCQkJfQogICAgICAgICAgICAvLyBJZiB3ZSdyZSBvdmVyIGEgcm93IHRoZW4gbW92ZSB0aGUgZHJhZ2dlZCByb3cgdG8gdGhlcmUgc28gdGhhdCB0aGUgdXNlciBzZWVzIHRoZQogICAgICAgICAgICAvLyBlZmZlY3QgZHluYW1pY2FsbHkKICAgICAgICAgICAgdmFyIGN1cnJlbnRSb3cgPSBqUXVlcnkudGFibGVEbkQuZmluZERyb3BUYXJnZXRSb3coZHJhZ09iaiwgeSk7CiAgICAgICAgICAgIGlmIChjdXJyZW50Um93KSB7CiAgICAgICAgICAgICAgICAvLyBUT0RPIHdvcnJ5IGFib3V0IHdoYXQgaGFwcGVucyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBUQk9ESUVTCiAgICAgICAgICAgICAgICBpZiAobW92aW5nRG93biAmJiBqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdCAhPSBjdXJyZW50Um93KSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QsIGN1cnJlbnRSb3cubmV4dFNpYmxpbmcpOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICghIG1vdmluZ0Rvd24gJiYgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgIT0gY3VycmVudFJvdykgewogICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0LCBjdXJyZW50Um93KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCiAgICAvKiogV2UncmUgb25seSB3b3JyaWVkIGFib3V0IHRoZSB5IHBvc2l0aW9uIHJlYWxseSwgYmVjYXVzZSB3ZSBjYW4gb25seSBtb3ZlIHJvd3MgdXAgYW5kIGRvd24gKi8KICAgIGZpbmREcm9wVGFyZ2V0Um93OiBmdW5jdGlvbihkcmFnZ2VkUm93LCB5KSB7CiAgICAgICAgdmFyIHJvd3MgPSBqUXVlcnkudGFibGVEbkQuY3VycmVudFRhYmxlLnJvd3M7CiAgICAgICAgZm9yICh2YXIgaT0wOyBpPHJvd3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHJvdyA9IHJvd3NbaV07CiAgICAgICAgICAgIHZhciByb3dZICAgID0gdGhpcy5nZXRQb3NpdGlvbihyb3cpLnk7CiAgICAgICAgICAgIHZhciByb3dIZWlnaHQgPSBwYXJzZUludChyb3cub2Zmc2V0SGVpZ2h0KS8yOwogICAgICAgICAgICBpZiAocm93Lm9mZnNldEhlaWdodCA9PSAwKSB7CiAgICAgICAgICAgICAgICByb3dZID0gdGhpcy5nZXRQb3NpdGlvbihyb3cuZmlyc3RDaGlsZCkueTsKICAgICAgICAgICAgICAgIHJvd0hlaWdodCA9IHBhcnNlSW50KHJvdy5maXJzdENoaWxkLm9mZnNldEhlaWdodCkvMjsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBCZWNhdXNlIHdlIGFsd2F5cyBoYXZlIHRvIGluc2VydCBiZWZvcmUsIHdlIG5lZWQgdG8gb2Zmc2V0IHRoZSBoZWlnaHQgYSBiaXQKICAgICAgICAgICAgaWYgKCh5ID4gcm93WSAtIHJvd0hlaWdodCkgJiYgKHkgPCAocm93WSArIHJvd0hlaWdodCkpKSB7CiAgICAgICAgICAgICAgICAvLyB0aGF0J3MgdGhlIHJvdyB3ZSdyZSBvdmVyCgkJCQkvLyBJZiBpdCdzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHJvdywgaWdub3JlIGl0CgkJCQlpZiAocm93ID09IGRyYWdnZWRSb3cpIHtyZXR1cm4gbnVsbDt9CiAgICAgICAgICAgICAgICB2YXIgY29uZmlnID0galF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZS50YWJsZURuRENvbmZpZzsKICAgICAgICAgICAgICAgIGlmIChjb25maWcub25BbGxvd0Ryb3ApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLm9uQWxsb3dEcm9wKGRyYWdnZWRSb3csIHJvdykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewoJCQkJCS8vIElmIGEgcm93IGhhcyBub2Ryb3AgY2xhc3MsIHRoZW4gZG9uJ3QgYWxsb3cgZHJvcHBpbmcgKGluc3BpcmVkIGJ5IEpvaG4gVGFyciBhbmQgRmFtaWMpCiAgICAgICAgICAgICAgICAgICAgdmFyIG5vZHJvcCA9IGpRdWVyeShyb3cpLmhhc0NsYXNzKCJub2Ryb3AiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoISBub2Ryb3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gcm93OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfSwKCiAgICBtb3VzZXVwOiBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUgJiYgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QpIHsKICAgICAgICAgICAgdmFyIGRyb3BwZWRSb3cgPSBqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdDsKICAgICAgICAgICAgdmFyIGNvbmZpZyA9IGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUudGFibGVEbkRDb25maWc7CiAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBkcmFnT2JqZWN0LCB0aGVuIHdlIG5lZWQgdG8gcmVsZWFzZSBpdCwKICAgICAgICAgICAgLy8gVGhlIHJvdyB3aWxsIGFscmVhZHkgaGF2ZSBiZWVuIG1vdmVkIHRvIHRoZSByaWdodCBwbGFjZSBzbyB3ZSBqdXN0IHJlc2V0IHN0dWZmCgkJCWlmIChjb25maWcub25EcmFnQ2xhc3MpIHsKCSAgICAgICAgICAgIGpRdWVyeShkcm9wcGVkUm93KS5yZW1vdmVDbGFzcyhjb25maWcub25EcmFnQ2xhc3MpOwoJCQl9IGVsc2UgewoJICAgICAgICAgICAgalF1ZXJ5KGRyb3BwZWRSb3cpLmNzcyhjb25maWcub25Ecm9wU3R5bGUpOwoJCQl9CiAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0ICAgPSBudWxsOwogICAgICAgICAgICBpZiAoY29uZmlnLm9uRHJvcCkgewogICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgb25Ecm9wIG1ldGhvZCBpZiB0aGVyZSBpcyBvbmUKICAgICAgICAgICAgICAgIGNvbmZpZy5vbkRyb3AoalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSwgZHJvcHBlZFJvdyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSA9IG51bGw7IC8vIGxldCBnbyBvZiB0aGUgdGFibGUgdG9vCiAgICAgICAgfQogICAgfSwKCiAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKCkgewogICAgICAgIGlmIChqUXVlcnkudGFibGVEbkQuY3VycmVudFRhYmxlKSB7CiAgICAgICAgICAgIHJldHVybiBqUXVlcnkudGFibGVEbkQuc2VyaWFsaXplVGFibGUoalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICJFcnJvcjogTm8gVGFibGUgaWQgc2V0LCB5b3UgbmVlZCB0byBzZXQgYW4gaWQgb24geW91ciB0YWJsZSBhbmQgZXZlcnkgcm93IjsKICAgICAgICB9CiAgICB9LAoKCXNlcmlhbGl6ZVRhYmxlOiBmdW5jdGlvbih0YWJsZSkgewogICAgICAgIHZhciByZXN1bHQgPSAiIjsKICAgICAgICB2YXIgdGFibGVJZCA9IHRhYmxlLmlkOwogICAgICAgIHZhciByb3dzID0gdGFibGUucm93czsKICAgICAgICBmb3IgKHZhciBpPTA7IGk8cm93cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIHJlc3VsdCArPSAiJiI7CiAgICAgICAgICAgIHZhciByb3dJZCA9IHJvd3NbaV0uaWQ7CiAgICAgICAgICAgIGlmIChyb3dJZCAmJiByb3dJZCAmJiB0YWJsZS50YWJsZURuRENvbmZpZyAmJiB0YWJsZS50YWJsZURuRENvbmZpZy5zZXJpYWxpemVSZWdleHApIHsKICAgICAgICAgICAgICAgIHJvd0lkID0gcm93SWQubWF0Y2godGFibGUudGFibGVEbkRDb25maWcuc2VyaWFsaXplUmVnZXhwKVswXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmVzdWx0ICs9IHRhYmxlSWQgKyAnW109JyArIHJvd0lkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzdWx0OwoJfSwKCglzZXJpYWxpemVUYWJsZXM6IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciByZXN1bHQgPSAiIjsKICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCS8vIHRoaXMgaXMgbm93IGJvdW5kIHRvIGVhY2ggbWF0Y2hpbmcgdGFibGUKCQkJcmVzdWx0ICs9IGpRdWVyeS50YWJsZURuRC5zZXJpYWxpemVUYWJsZSh0aGlzKTsKCQl9KTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQoKfQoKalF1ZXJ5LmZuLmV4dGVuZCgKCXsKCQl0YWJsZURuRCA6IGpRdWVyeS50YWJsZURuRC5idWlsZCwKCQl0YWJsZURuRFVwZGF0ZSA6IGpRdWVyeS50YWJsZURuRC51cGRhdGVUYWJsZXMsCgkJdGFibGVEbkRTZXJpYWxpemU6IGpRdWVyeS50YWJsZURuRC5zZXJpYWxpemVUYWJsZXMKCX0KKTs=]]></data>
	</file>
	<file>
	  <filename>/js/mColorPicker.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICBtQ29sb3JQaWNrZXIKICBWZXJzaW9uOiAxLjAgcjM5CiAgCiAgQ29weXJpZ2h0IChjKSAyMDEwIE1ldGExMDAgTExDLgogIGh0dHA6Ly93d3cubWV0YTEwMC5jb20vCiAgCiAgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIAogIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwIAoqLwoKLy8gQWZ0ZXIgdGhpcyBzY3JpcHQgbG9hZHMgc2V0OgovLyAkLmZuLm1Db2xvclBpY2tlci5pbml0LnJlcGxhY2UgPSAnLm15Y2xhc3MnCi8vIHRvIGhhdmUgdGhpcyBzY3JpcHQgYXBwbHkgdG8gaW5wdXQubXljbGFzcywKLy8gaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBpbnB1dFt0eXBlPWNvbG9yXQovLyBUbyB0dXJuIG9mIGF1dG9tYXRpYyBvcGVyYXRpb24gYW5kIHJ1biBtYW51YWxseSBzZXQ6Ci8vICQuZm4ubUNvbG9yUGlja2VyLmluaXQucmVwbGFjZSA9IGZhbHNlCi8vIFRvIHVzZSBtYW51YWxseSBjYWxsIGxpa2UgYW55IG90aGVyIGpRdWVyeSBwbHVnaW4KLy8gJCgnaW5wdXQuZm9vJykubUNvbG9yUGlja2VyKHtvcHRpb25zfSkKLy8gb3B0aW9uczoKLy8gaW1hZ2VGb2xkZXIgLSBDaGFuZ2UgdG8gbW92ZSBpbWFnZSBsb2NhdGlvbi4KLy8gc3dhdGNoZXMgLSBJbml0aWFsIGNvbG9ycyBpbiB0aGUgc3dhdGNoLCBtdXN0IGFuIGFycmF5IG9mIDEwIGNvbG9ycy4KLy8gaW5pdDoKLy8gJC5mbi5tQ29sb3JQaWNrZXIuaW5pdC5lbmhhbmNlZFN3YXRjaGVzIC0gVHVybiBvZiBzYXZpbmcgYW5kIGxvYWRpbmcgb2Ygc3dhdGNoIHRvIGNvb2tpZXMuCi8vICQuZm4ubUNvbG9yUGlja2VyLmluaXQuYWxsb3dUcmFuc3BhcmVuY3kgLSBUdXJuIG9mZiB0cmFuc3BlcmFuY3kgYXMgYSBjb2xvciBvcHRpb24uCi8vICQuZm4ubUNvbG9yUGlja2VyLmluaXQuc2hvd0xvZ28gLSBUdXJuIG9uL29mZiB0aGUgbWV0YTEwMCBsb2dvIChZb3UgZG9uJ3QgcmVhbGx5IHdhbnQgdG8gdHVybiBpdCBvZmYsIGRvIHlvdT8pLgoKKGZ1bmN0aW9uKCQpewoKICB2YXIgJG8sICRpLCBpLCAkYiwKICAgICAgZGl2ID0gJzxkaXY+JywKICAgICAgaW1nID0gJzxpbWc+JywKICAgICAgc3BhbiA9ICc8c3Bhbj4nLAogICAgICAkZG9jdW1lbnQgPSAkKGRvY3VtZW50KSwKICAgICAgJG1Db2xvclBpY2tlciA9ICQoZGl2KSwKICAgICAgJG1Db2xvclBpY2tlckJnID0gJChkaXYpLAogICAgICAkbUNvbG9yUGlja2VyVGVzdCA9ICQoZGl2KSwKICAgICAgJG1Db2xvclBpY2tlcklucHV0ID0gJCgnPGlucHV0PicpLAogICAgICByUkdCID0gL15yZ2JbYV0/XCgoXGQrKSxccyooXGQrKSxccyooXGQrKSgsXHMqKFxkK1wuXGQrKSopP1wpLywKICAgICAgckhFWCA9IC8oW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkvLAogICAgICBySEVYMyA9IC8jW2EtZjAtOV17M30vLAogICAgICBySEVYNiA9IC8jW2EtZjAtOV17Nn0vOwoKICAkLmZuLm1Db2xvclBpY2tlciA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCiAgICB2YXIgc3dhdGNoZXMgPSAkLmZuLm1Db2xvclBpY2tlci5nZXRDb29raWUoJ3N3YXRjaGVzJyk7CgogICAgJG8gPSAkLmV4dGVuZCgkLmZuLm1Db2xvclBpY2tlci5kZWZhdWx0cywgb3B0aW9ucyk7CiAgICAkLmZuLm1Db2xvclBpY2tlci5kZWZhdWx0cy5zd2F0Y2hlcy5jb25jYXQoJG8uc3dhdGNoZXMpLnNsaWNlKC0xMCk7CgogICAgaWYgKCRpLmVuaGFuY2VkU3dhdGNoZXMgJiYgc3dhdGNoZXMpICRvLnN3YXRjaGVzID0gc3dhdGNoZXMuc3BsaXQoJ3x8JykuY29uY2F0KCRvLnN3YXRjaGVzKS5zbGljZSgwLCAxMCkgfHwgJG8uc3dhdGNoZXM7CgogICAgaWYgKCEkKCJkaXYjbUNvbG9yUGlja2VyIikubGVuZ3RoKSAkLmZuLm1Db2xvclBpY2tlci5kcmF3UGlja2VyKCk7CiAgICBpZiAoISQoJyNjc3NfZGlzYWJsZWRfY29sb3JfcGlja2VyJykubGVuZ3RoKSAkKCdoZWFkJykucHJlcGVuZCgnPG1ldGEgZGF0YS1yZW1vdmUtbWU9InRydWUiLz48c3R5bGUgaWQ9ImNzc19kaXNhYmxlZF9jb2xvcl9waWNrZXIiIHR5cGU9InRleHQvY3NzIj4ubUNvbG9yUGlja2VyW2Rpc2FibGVkXSArIHNwYW4sIC5tQ29sb3JQaWNrZXJbZGlzYWJsZWQ9ImRpc2FibGVkIl0gKyBzcGFuLCAubUNvbG9yUGlja2VyW2Rpc2FibGVkPSJ0cnVlIl0gKyBzcGFuIHtmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7LW1vei1vcGFjaXR5OjAuNTstd2Via2l0LW9wYWNpdHk6MC41Oy1raHRtbC1vcGFjaXR5OiAwLjU7b3BhY2l0eTogMC41O2N1cnNvcjpkZWZhdWx0O308L3N0eWxlPicpOwoKICAgICQoJ21ldGFbZGF0YS1yZW1vdmUtbWU9dHJ1ZV0nKS5yZW1vdmUoKTsKCiAgICB0aGlzLmVhY2goJC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzKTsKCiAgICByZXR1cm4gdGhpczsKICB9OwoKICAkLmZuLm1Db2xvclBpY2tlci5pbml0ID0gewogICAgcmVwbGFjZTogJ1t0eXBlPWNvbG9yXScsCiAgICBpbmRleDogMCwKICAgIGVuaGFuY2VkU3dhdGNoZXM6IHRydWUsCiAgICBhbGxvd1RyYW5zcGFyZW5jeTogdHJ1ZSwKICAgIHNsb2dhbjogJ01ldGExMDAgLSBEZXNpZ25pbmcgRnVuJywKICAgIHNob3dMb2dvOiB0cnVlCiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuZGVmYXVsdHMgPSB7CiAgICBjdXJyZW50SWQ6IGZhbHNlLAogICAgY3VycmVudElucHV0OiBmYWxzZSwKICAgIGN1cnJlbnRDb2xvcjogZmFsc2UsCiAgICBjaGFuZ2VDb2xvcjogZmFsc2UsCiAgICBjb2xvcjogZmFsc2UsCiAgICBpbWFnZUZvbGRlcjogJ2ltYWdlcy8nLAogICAgc3dhdGNoZXM6IFsKICAgICAgIiNmZmZmZmYiLAogICAgICAiI2ZmZmYwMCIsCiAgICAgICIjMDBmZjAwIiwKICAgICAgIiMwMGZmZmYiLAogICAgICAiIzAwMDBmZiIsCiAgICAgICIjZmYwMGZmIiwKICAgICAgIiNmZjAwMDAiLAogICAgICAiIzRjMmIxMSIsCiAgICAgICIjM2IzYjNiIiwKICAgICAgIiMwMDAwMDAiCiAgICBdCiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQgPSBmdW5jdGlvbigpIHsKCiAgICAkKCdpbnB1dFtkYXRhLW1jb2xvcnBpY2tlciE9InRydWUiXScpLmZpbHRlcihmdW5jdGlvbigpIHsKICAKICAgICAgcmV0dXJuICgkaS5yZXBsYWNlID09ICdbdHlwZT1jb2xvcl0nKT8gdGhpcy5nZXRBdHRyaWJ1dGUoInR5cGUiKSA9PSAnY29sb3InOiAkKHRoaXMpLmlzKCRpLnJlcGxhY2UpOwogICAgfSkubUNvbG9yUGlja2VyKCk7CiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuZXZlbnRzID0gZnVuY3Rpb24oKSB7CgogICAgJCgiI21Db2xvclBpY2tlckJnIikubGl2ZSgnY2xpY2snLCAkLmZuLm1Db2xvclBpY2tlci5jbG9zZVBpY2tlcik7CgogICAgJCgnLm1Db2xvclBpY2tlcicpLmxpdmUoJ2tleXVwJywgZnVuY3Rpb24gKCkgewoKICAgICAgdHJ5IHsKICAKICAgICAgICAkKHRoaXMpLmNzcyh7CiAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICQodGhpcykudmFsKCkKICAgICAgICB9KS5jc3MoewogICAgICAgICAgJ2NvbG9yJzogJC5mbi5tQ29sb3JQaWNrZXIudGV4dENvbG9yKCQodGhpcykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJykpCiAgICAgICAgfSkudHJpZ2dlcignY2hhbmdlJyk7CiAgICAgIH0gY2F0Y2ggKHIpIHt9CiAgICB9KTsKCiAgICAkKCcubUNvbG9yUGlja2VyVHJpZ2dlcicpLmxpdmUoJ2NsaWNrJywgJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JTaG93KTsKICAKICAgICQoJy5tQ29sb3IsIC5tUGFzdENvbG9yJykubGl2ZSgnbW91c2Vtb3ZlJywgZnVuY3Rpb24oZSkgewoKICAgICAgaWYgKCEkby5jaGFuZ2VDb2xvcikgcmV0dXJuIGZhbHNlOwogIAogICAgICB2YXIgJHQgPSAkKHRoaXMpLAogICAgICAgICAgb2Zmc2V0ID0gJHQub2Zmc2V0KCksCiAgICAgICAgICAkZSA9ICRvLmN1cnJlbnRJbnB1dCwKICAgICAgICAgIGhleCA9ICRlLmF0dHIoJ2RhdGEtaGV4JykgfHwgJGUuYXR0cignaGV4Jyk7CgogICAgICAkby5jb2xvciA9ICR0LmNzcygiYmFja2dyb3VuZC1jb2xvciIpOwoKICAgICAgaWYgKCR0Lmhhc0NsYXNzKCdtUGFzdENvbG9yJykpICRvLmNvbG9yID0gJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoJG8uY29sb3IsIGhleCk7CiAgICAgIGVsc2UgaWYgKCR0Lmhhc0NsYXNzKCdtQ29sb3JUcmFuc3BhcmVudCcpKSAkby5jb2xvciA9ICd0cmFuc3BhcmVudCc7CiAgICAgIGVsc2UgaWYgKCEkdC5oYXNDbGFzcygnbVBhc3RDb2xvcicpKSAkby5jb2xvciA9ICQuZm4ubUNvbG9yUGlja2VyLndoaWNoQ29sb3IoZS5wYWdlWCAtIG9mZnNldC5sZWZ0LCBlLnBhZ2VZIC0gb2Zmc2V0LnRvcCwgaGV4KTsKCiAgICAgICRvLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcigkby5jb2xvcik7CiAgICB9KS5saXZlKCdjbGljaycsICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yUGlja2VkKTsKICAKICAgICQoJyNtQ29sb3JQaWNrZXJJbnB1dCcpLmxpdmUoJ2tleXVwJywgZnVuY3Rpb24gKGUpIHsKICAKICAgICAgdHJ5IHsKICAKICAgICAgICAkby5jb2xvciA9ICQodGhpcykudmFsKCk7CiAgICAgICAgJG8uY3VycmVudElucHV0Lm1TZXRJbnB1dENvbG9yKCRvLmNvbG9yKTsKICAgIAogICAgICAgIGlmIChlLndoaWNoID09IDEzKSAkLmZuLm1Db2xvclBpY2tlci5jb2xvclBpY2tlZCgpOwogICAgICB9IGNhdGNoIChyKSB7fQoKICAgIH0pLmxpdmUoJ2JsdXInLCBmdW5jdGlvbiAoKSB7CiAgCiAgICAgICRvLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcigkby5jb2xvcik7CiAgICB9KTsKICAKICAgICQoJyNtQ29sb3JQaWNrZXJXcmFwcGVyJykubGl2ZSgnbW91c2VsZWF2ZScsIGZ1bmN0aW9uICgpIHsKICAKICAgICAgaWYgKCEkby5jaGFuZ2VDb2xvcikgcmV0dXJuIGZhbHNlOwoKICAgICAgdmFyICRlID0gJG8uY3VycmVudElucHV0OyAKCiAgICAgICRvLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcigkLmZuLm1Db2xvclBpY2tlci5zZXRDb2xvcigkby5jdXJyZW50Q29sb3IsICgkZS5hdHRyKCdkYXRhLWhleCcpIHx8ICRlLmF0dHIoJ2hleCcpKSkpOwogICAgfSk7CiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzID0gZnVuY3Rpb24gKCkgewoKICAgIHZhciAkdCA9ICQodGhpcyksCiAgICAgICAgaWQgPSAkdC5hdHRyKCdpZCcpIHx8ICdjb2xvcl8nICsgJGkuaW5kZXgrKywKICAgICAgICBoaWRkZW4gPSAkdC5hdHRyKCd0ZXh0JykgPT0gJ2hpZGRlbicgfHwgJHQuYXR0cignZGF0YS10ZXh0JykgPT0gJ2hpZGRlbic/IHRydWU6IGZhbHNlLAogICAgICAgIGNvbG9yID0gJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoJHQudmFsKCksICgkdC5hdHRyKCdkYXRhLWhleCcpIHx8ICR0LmF0dHIoJ2hleCcpKSksCiAgICAgICAgd2lkdGggPSAkdC53aWR0aCgpLAogICAgICAgIGhlaWdodCA9ICR0LmhlaWdodCgpLAogICAgICAgIGZsdCA9ICR0LmNzcygnZmxvYXQnKSwKICAgICAgICAkYyA9ICQoc3BhbiksCiAgICAgICAgJHRyaWdnZXIgPSAkKHNwYW4pLAogICAgICAgIGNvbG9yUGlja2VyID0gJycsCiAgICAgICAgJGU7CgogICAgJGMuYXR0cih7CiAgICAgICdpZCc6ICdjb2xvcl93b3JrX2FyZWEnLAogICAgICAnY2xhc3MnOiAnbUNvbG9yUGlja2VySW5wdXQnCiAgICB9KS5hcHBlbmRUbygkYikKCiAgICAkdHJpZ2dlci5hdHRyKHsKICAgICAgJ2lkJzogJ21jcF8nICsgaWQsCiAgICAgICdjbGFzcyc6ICdtQ29sb3JQaWNrZXJUcmlnZ2VyJwogICAgfSkuY3NzKHsKICAgICAgJ2Rpc3BsYXknOiAnaW5saW5lLWJsb2NrJywKICAgICAgJ2N1cnNvcic6ICdwb2ludGVyJwogICAgfSkuaW5zZXJ0QWZ0ZXIoJHQpCiAgICAKICAgICQoaW1nKS5hdHRyKHsKICAgICAgJ3NyYyc6ICRvLmltYWdlRm9sZGVyICsgJ2NvbG9yLnBuZycKICAgIH0pLmNzcyh7CiAgICAgICdib3JkZXInOiAwLAogICAgICAnbWFyZ2luJzogJzAgMCAwIDNweCcsCiAgICAgICd2ZXJ0aWNhbC1hbGlnbic6ICd0ZXh0LWJvdHRvbScKICAgIH0pLmFwcGVuZFRvKCR0cmlnZ2VyKTsKCiAgICAkYy5hcHBlbmQoJHQpOwogICAgY29sb3JQaWNrZXIgPSAkYy5odG1sKCkucmVwbGFjZSgvdHlwZT1bXmEteiBdKmNvbG9yW15hLXogLy8+XSovZ2ksICd0eXBlPSInICsgKGhpZGRlbj8gJ2hpZGRlbic6ICd0ZXh0JykgKyAnIicpOwogICAgJGMuaHRtbCgnJykucmVtb3ZlKCk7CiAgICAkZSA9ICQoY29sb3JQaWNrZXIpLmF0dHIoJ2lkJywgaWQpLmFkZENsYXNzKCdtQ29sb3JQaWNrZXInKS52YWwoY29sb3IpLmluc2VydEJlZm9yZSgkdHJpZ2dlcik7CgogICAgaWYgKGhpZGRlbikgJHRyaWdnZXIuY3NzKHsKICAgICAgJ2JvcmRlcic6ICcxcHggc29saWQgYmxhY2snLAogICAgICAnZmxvYXQnOiBmbHQsCiAgICAgICd3aWR0aCc6IHdpZHRoLAogICAgICAnaGVpZ2h0JzogaGVpZ2h0CiAgICB9KS5hZGRDbGFzcygkZS5hdHRyKCdjbGFzcycpKS5odG1sKCcmbmJzcDsnKTsKCiAgICAkZS5tU2V0SW5wdXRDb2xvcihjb2xvcik7CgogICAgcmV0dXJuICRlOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmRyYXdQaWNrZXIgPSBmdW5jdGlvbiAoKSB7CiAgCiAgICB2YXIgJHMgPSAkKGRpdiksCiAgICAgICAgJGwgPSAkKCc8YT4nKSwKICAgICAgICAkZiA9ICQoZGl2KSwKICAgICAgICAkdyA9ICQoZGl2KTsKCiAgICAkbUNvbG9yUGlja2VyQmcuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJCZycKICAgIH0pLmNzcyh7CiAgICAgICdkaXNwbGF5JzogJ25vbmUnLAogICAgICAnYmFja2dyb3VuZCc6J2JsYWNrJywKICAgICAgJ29wYWNpdHknOiAuMDEsCiAgICAgICdwb3NpdGlvbic6J2Fic29sdXRlJywKICAgICAgJ3RvcCc6MCwKICAgICAgJ3JpZ2h0JzowLAogICAgICAnYm90dG9tJzowLAogICAgICAnbGVmdCc6MAogICAgfSkuYXBwZW5kVG8oJGIpOwoKICAgICRtQ29sb3JQaWNrZXIuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXInLAogICAgICAnZGF0YS1tY29sb3JwaWNrZXInOiB0cnVlCiAgICB9KS5jc3MoewogICAgICAncG9zaXRpb24nOidhYnNvbHV0ZScsCiAgICAgICdib3JkZXInOicxcHggc29saWQgI2NjYycsCiAgICAgICdjb2xvcic6JyNmZmYnLAogICAgICAnd2lkdGgnOicxOTRweCcsCiAgICAgICdoZWlnaHQnOicxODRweCcsCiAgICAgICdmb250LXNpemUnOicxMnB4JywKICAgICAgJ2ZvbnQtZmFtaWx5JzondGltZXMnLAogICAgICAnZGlzcGxheSc6ICdub25lJwogICAgfSkuYXBwZW5kVG8oJGIpOwoKICAgICRtQ29sb3JQaWNrZXJUZXN0LmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VyVGVzdCcKICAgIH0pLmNzcyh7CiAgICAgICdkaXNwbGF5JzogJ25vbmUnCiAgICB9KS5hcHBlbmRUbygkYik7CgogICAgJHcuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJXcmFwcGVyJwogICAgfSkuY3NzKHsKICAgICAgJ3Bvc2l0aW9uJzoncmVsYXRpdmUnLAogICAgICAnYm9yZGVyJzonc29saWQgMXB4IGdyYXknCiAgICB9KS5hcHBlbmRUbygkbUNvbG9yUGlja2VyKTsKCiAgICAkKGRpdikuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJJbWcnLAogICAgICAnY2xhc3MnOiAnbUNvbG9yJwogICAgfSkuY3NzKHsKICAgICAgJ2hlaWdodCc6ICcxMzZweCcsCiAgICAgICd3aWR0aCc6ICcxOTJweCcsCiAgICAgICdib3JkZXInOiAwLAogICAgICAnY3Vyc29yJzogJ2Nyb3NzaGFpcicsCiAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgJG8uaW1hZ2VGb2xkZXIgKyAncGlja2VyLnBuZyknCiAgICB9KS5hcHBlbmRUbygkdyk7CgogICAgJHMuYXR0cih7CiAgICAgICdpZCc6ICdtQ29sb3JQaWNrZXJTd2F0Y2hlcycKICAgIH0pLmNzcyh7CiAgICAgICdib3JkZXItcmlnaHQnOicxcHggc29saWQgIzAwMCcKICAgIH0pLmFwcGVuZFRvKCR3KTsKCiAgICAkKGRpdikuYWRkQ2xhc3MoCiAgICAgICdtQ2xlYXInCiAgICApLmNzcyh7CiAgICAgICdjbGVhcic6ICdib3RoJwogICAgfSkuYXBwZW5kVG8oJHMpOwoKICAgIGZvciAoaSA9IDk7IGkgPiAtMTsgaS0tKSB7CgogICAgICAkKGRpdikuYXR0cih7CiAgICAgICAgJ2lkJzogJ2NlbGwnICsgaSwKICAgICAgICAnY2xhc3MnOiAibVBhc3RDb2xvciIgKyAoKGkgPiAwKT8gJyBtTm9MZWZ0Qm9yZGVyJzogJycpCiAgICAgIH0pLmNzcyh7CiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAkby5zd2F0Y2hlc1tpXS50b0xvd2VyQ2FzZSgpLAogICAgICAgICdoZWlnaHQnOicxOHB4JywKICAgICAgICAnd2lkdGgnOicxOHB4JywKICAgICAgICAnYm9yZGVyJzonMXB4IHNvbGlkICMwMDAnLAogICAgICAgICdmbG9hdCc6J2xlZnQnCiAgICAgIH0pLmh0bWwoCiAgICAgICAgJyZuYnNwOycKICAgICAgKS5wcmVwZW5kVG8oJHMpOwogICAgfQoKICAgICRmLmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VyRm9vdGVyJwogICAgfSkuY3NzKHsKICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyAkby5pbWFnZUZvbGRlciArICdncmlkLmdpZiknLAogICAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLAogICAgICAnaGVpZ2h0JzogJzI2cHgnCiAgICB9KS5hcHBlbmRUbygkdyk7CgogICAgJG1Db2xvclBpY2tlcklucHV0LmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VySW5wdXQnLAogICAgICAndHlwZSc6ICd0ZXh0JwogICAgfSkuY3NzKHsKICAgICAgJ2JvcmRlcic6ICdzb2xpZCAxcHggZ3JheScsCiAgICAgICdmb250LXNpemUnOiAnMTBwdCcsCiAgICAgICdtYXJnaW4nOiAnM3B4JywKICAgICAgJ3dpZHRoJzogJzgwcHgnCiAgICB9KS5hcHBlbmRUbygkZik7CgogICAgaWYgKCRpLmFsbG93VHJhbnNwYXJlbmN5KSAkKHNwYW4pLmF0dHIoewogICAgICAnaWQnOiAnbUNvbG9yUGlja2VyVHJhbnNwYXJlbnQnLAogICAgICAnY2xhc3MnOiAnbUNvbG9yIG1Db2xvclRyYW5zcGFyZW50JwogICAgfSkuY3NzKHsKICAgICAgJ2ZvbnQtc2l6ZSc6ICcxNnB4JywKICAgICAgJ2NvbG9yJzogJyMwMDAnLAogICAgICAncGFkZGluZy1yaWdodCc6ICczMHB4JywKICAgICAgJ3BhZGRpbmctdG9wJzogJzNweCcsCiAgICAgICdjdXJzb3InOiAncG9pbnRlcicsCiAgICAgICdvdmVyZmxvdyc6ICdoaWRkZW4nLAogICAgICAnZmxvYXQnOiAncmlnaHQnCiAgICB9KS50ZXh0KAogICAgICAndHJhbnNwYXJlbnQnCiAgICApLmFwcGVuZFRvKCRmKTsKCiAgICBpZiAoJGkuc2hvd0xvZ28pICRsLmF0dHIoewogICAgICAnaHJlZic6ICdodHRwOi8vbWV0YTEwMC5jb20vJywKICAgICAgJ3RpdGxlJzogJGkuc2xvZ2FuLAogICAgICAnYWx0JzogJGkuc2xvZ2FuLAogICAgICAndGFyZ2V0JzogJ19ibGFuaycKICAgIH0pLmNzcyh7CiAgICAgICdmbG9hdCc6ICdyaWdodCcKICAgIH0pLmFwcGVuZFRvKCRmKTsKICAgIAogICAgJChpbWcpLmF0dHIoewogICAgICAnc3JjJzogJG8uaW1hZ2VGb2xkZXIgKyAnbWV0YTEwMC5wbmcnLAogICAgICAndGl0bGUnOiAkaS5zbG9nYW4sCiAgICAgICdhbHQnOiAkaS5zbG9nYW4KICAgIH0pLmNzcyh7CiAgICAgICdib3JkZXInOiAwLAogICAgICAnYm9yZGVyLWxlZnQnOiAnMXB4IHNvbGlkICNhYWEnLAogICAgICAncmlnaHQnOiAwLAogICAgICAncG9zaXRpb24nOiAnYWJzb2x1dGUnCiAgICB9KS5hcHBlbmRUbygkbCk7CgogICAgJCgnLm1Ob0xlZnRCb3JkZXInKS5jc3MoewogICAgICAnYm9yZGVyLWxlZnQnOjAKICAgIH0pOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmNsb3NlUGlja2VyID0gZnVuY3Rpb24gKCkgewoKICAgICRtQ29sb3JQaWNrZXJCZy5oaWRlKCk7CiAgICAkbUNvbG9yUGlja2VyLmZhZGVPdXQoKQogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yU2hvdyA9IGZ1bmN0aW9uICgpIHsKCiAgICB2YXIgJHQgPSAkKHRoaXMpLAogICAgICAgIGlkID0gJHQuYXR0cignaWQnKS5yZXBsYWNlKCdtY3BfJywgJycpLAogICAgICAgIHBvcyA9ICR0Lm9mZnNldCgpLAogICAgICAgICRpID0gJCgiIyIgKyBpZCksCiAgICAgICAgcGlja2VyVG9wID0gcG9zLnRvcCArICR0Lm91dGVySGVpZ2h0KCksCiAgICAgICAgcGlja2VyTGVmdCA9IHBvcy5sZWZ0OwoKICAgIGlmICgkaS5hdHRyKCdkaXNhYmxlZCcpKSByZXR1cm4gZmFsc2U7CgogICAgJG8uY3VycmVudENvbG9yID0gJGkuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJykKICAgICRvLmNoYW5nZUNvbG9yID0gdHJ1ZTsKICAgICRvLmN1cnJlbnRJbnB1dCA9ICRpOwogICAgJG8uY3VycmVudElkID0gaWQ7CgogICAgLy8gS0VFUCBDT0xPUiBQSUNLRVIgSU4gVklFV1BPUlQKICAgIGlmIChwaWNrZXJUb3AgKyAkbUNvbG9yUGlja2VyLmhlaWdodCgpID4gJGRvY3VtZW50LmhlaWdodCgpKSBwaWNrZXJUb3AgPSBwb3MudG9wIC0gJG1Db2xvclBpY2tlci5oZWlnaHQoKTsKICAgIGlmIChwaWNrZXJMZWZ0ICsgJG1Db2xvclBpY2tlci53aWR0aCgpID4gJGRvY3VtZW50LndpZHRoKCkpIHBpY2tlckxlZnQgPSBwb3MubGVmdCAtICRtQ29sb3JQaWNrZXIud2lkdGgoKSArICR0Lm91dGVyV2lkdGgoKTsKICAKICAgICRtQ29sb3JQaWNrZXIuY3NzKHsKICAgICAgJ3RvcCc6KHBpY2tlclRvcCkgKyAicHgiLAogICAgICAnbGVmdCc6KHBpY2tlckxlZnQpICsgInB4IgogICAgfSkuZmFkZUluKCJmYXN0Iik7CiAgCiAgICAkbUNvbG9yUGlja2VyQmcuc2hvdygpOwogIAogICAgaWYgKCQoJyMnICsgaWQpLmF0dHIoJ2RhdGEtdGV4dCcpKSAkby5jb2xvciA9ICR0LmNzcygnYmFja2dyb3VuZC1jb2xvcicpOwogICAgZWxzZSAkby5jb2xvciA9ICRpLmNzcygnYmFja2dyb3VuZC1jb2xvcicpOwoKICAgICRvLmNvbG9yID0gJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoJG8uY29sb3IsICRpLmF0dHIoJ2RhdGEtaGV4JykgfHwgJGkuYXR0cignaGV4JykpOwoKICAgICRtQ29sb3JQaWNrZXJJbnB1dC52YWwoJG8uY29sb3IpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLnNldElucHV0Q29sb3IgPSBmdW5jdGlvbiAoaWQsIGNvbG9yKSB7CgogICAgJCgnIycgKyBpZCkubVNldElucHV0Q29sb3IoY29sb3IpOwogIH07CgogICQuZm4ubVNldElucHV0Q29sb3IgPSBmdW5jdGlvbiAoY29sb3IpIHsKICAKICAgIHZhciAkdCA9ICQodGhpcyksCiAgICAgICAgY3NzID0gewogICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBjb2xvciwKICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogKGNvbG9yID09ICd0cmFuc3BhcmVudCcpPyAidXJsKCciICsgJG8uaW1hZ2VGb2xkZXIgKyAiZ3JpZC5naWYnKSI6ICcnLAogICAgICAgICAgJ2NvbG9yJzogJC5mbi5tQ29sb3JQaWNrZXIudGV4dENvbG9yKGNvbG9yKQogICAgICAgIH07CiAgCiAgICBpZiAoJHQuYXR0cignZGF0YS10ZXh0JykgfHwgJHQuYXR0cigndGV4dCcpKSAkdC5uZXh0KCkuY3NzKGNzcyk7CgogICAgJHQudmFsKGNvbG9yKS5jc3MoY3NzKS50cmlnZ2VyKCdjaGFuZ2UnKTsKCiAgICAkbUNvbG9yUGlja2VySW5wdXQudmFsKGNvbG9yKTsKICB9OwoKICAkLmZuLm1Db2xvclBpY2tlci50ZXh0Q29sb3IgPSBmdW5jdGlvbiAodmFsKSB7CgogICAgdmFsID0gJC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgodmFsKTsKCiAgICBpZiAodHlwZW9mIHZhbCA9PSAndW5kZWZpbmVkJyB8fCB2YWwgPT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuICJibGFjayI7CgogICAgcmV0dXJuIChwYXJzZUludCh2YWwuc3Vic3RyKDEsIDIpLCAxNikgKyBwYXJzZUludCh2YWwuc3Vic3RyKDMsIDIpLCAxNikgKyBwYXJzZUludCh2YWwuc3Vic3RyKDUsIDIpLCAxNikgPCA0MDApPyAnd2hpdGUnOiAnYmxhY2snOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLnNldENvb2tpZSA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSwgZGF5cykgewogIAogICAgdmFyIGNvb2tpZV9zdHJpbmcgPSBuYW1lICsgIj0iICsgZXNjYXBlKHZhbHVlKSwKICAgICAgZXhwaXJlcyA9IG5ldyBEYXRlKCk7CiAgICAgIGV4cGlyZXMuc2V0RGF0ZShleHBpcmVzLmdldERhdGUoKSArIGRheXMpOwogICAgY29va2llX3N0cmluZyArPSAiOyBleHBpcmVzPSIgKyBleHBpcmVzLnRvR01UU3RyaW5nKCk7CiAgIAogICAgZG9jdW1lbnQuY29va2llID0gY29va2llX3N0cmluZzsKICB9OwoKICAkLmZuLm1Db2xvclBpY2tlci5nZXRDb29raWUgPSBmdW5jdGlvbiAobmFtZSkgewogIAogICAgdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5jb29raWUubWF0Y2ggKCAnKF58OykgPycgKyBuYW1lICsgJz0oW147XSopKDt8JCknICk7CiAgCiAgICBpZiAocmVzdWx0cykgcmV0dXJuICh1bmVzY2FwZShyZXN1bHRzWzJdKSk7CiAgICBlbHNlIHJldHVybiBudWxsOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yUGlja2VkID0gZnVuY3Rpb24gKCkgewoKICAgICRvLmNoYW5nZUNvbG9yID0gZmFsc2U7CiAgCiAgICAkLmZuLm1Db2xvclBpY2tlci5jbG9zZVBpY2tlcigpOwogICAgJC5mbi5tQ29sb3JQaWNrZXIuYWRkVG9Td2F0Y2goKTsKICAKICAgICRvLmN1cnJlbnRJbnB1dC50cmlnZ2VyKCdjb2xvcnBpY2tlZCcpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmFkZFRvU3dhdGNoID0gZnVuY3Rpb24gKGNvbG9yKSB7CiAgCiAgICBpZiAoISRpLmVuaGFuY2VkU3dhdGNoZXMpIHJldHVybiBmYWxzZTsKCiAgICB2YXIgc3dhdGNoID0gW10KICAgICAgICBpID0gMDsKIAogICAgaWYgKHR5cGVvZiBjb2xvciA9PSAnc3RyaW5nJykgJG8uY29sb3IgPSBjb2xvcjsKICAgIGlmICgkby5jb2xvciAhPSAndHJhbnNwYXJlbnQnKSBzd2F0Y2hbMF0gPSAkLmZuLm1Db2xvclBpY2tlci5oZXhUb1JHQigkby5jb2xvcik7CiAgCiAgICAkKCcubVBhc3RDb2xvcicpLmVhY2goZnVuY3Rpb24oKSB7CiAgCiAgICAgIHZhciAkdCA9ICQodGhpcyk7CgogICAgICAkby5jb2xvciA9ICQuZm4ubUNvbG9yUGlja2VyLmhleFRvUkdCKCR0LmNzcygnYmFja2dyb3VuZC1jb2xvcicpKTsKCiAgICAgIGlmICgkby5jb2xvciAhPSBzd2F0Y2hbMF0gJiYgc3dhdGNoLmxlbmd0aCA8IDEwKSBzd2F0Y2hbc3dhdGNoLmxlbmd0aF0gPSAkby5jb2xvcjsKICAKICAgICAgJHQuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgc3dhdGNoW2krK10pCiAgICB9KTsKCiAgICBpZiAoJGkuZW5oYW5jZWRTd2F0Y2hlcykgJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29va2llKCdzd2F0Y2hlcycsIHN3YXRjaC5qb2luKCd8fCcpLCAzNjUpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLndoaWNoQ29sb3IgPSBmdW5jdGlvbiAoeCwgeSwgaGV4KSB7CgogICAgdmFyIGNvbG9yID0gWzI1NSwgMjU1LCAyNTVdOwoKICAgIGlmICh4IDwgMzIpIHsKICAKICAgICAgY29sb3JbMV0gPSB4ICogODsKICAgICAgY29sb3JbMl0gPSAwOwogICAgfSBlbHNlIGlmICh4IDwgNjQpIHsKICAKICAgICAgY29sb3JbMF0gPSAyNTYgLSAoeCAtIDMyICkgKiA4OwogICAgICBjb2xvclsyXSA9IDA7CiAgICB9IGVsc2UgaWYgKHggPCA5NikgewogIAogICAgICBjb2xvclswXSA9IDA7CiAgICAgIGNvbG9yWzJdID0gKHggLSA2NCkgKiA4OwogICAgfSBlbHNlIGlmICh4IDwgMTI4KSB7CiAgCiAgICAgIGNvbG9yWzBdID0gMDsKICAgICAgY29sb3JbMV0gPSAyNTYgLSAoeCAtIDk2KSAqIDg7CiAgICB9IGVsc2UgaWYgKHggPCAxNjApIHsKICAKICAgICAgY29sb3JbMF0gPSAoeCAtIDEyOCkgKiA4OwogICAgICBjb2xvclsxXSA9IDA7CiAgICB9IGVsc2UgewogIAogICAgICBjb2xvclsxXSA9IDA7CiAgICAgIGNvbG9yWzJdID0gMjU2IC0gKHggLSAxNjApICogODsKICAgIH0KCiAgICBmb3IgKHZhciBuID0gMDsgbiA8IDM7IG4rKykgewoKICAgICAgaWYgKHkgPCA2NCkgY29sb3Jbbl0gKz0gKDI1NiAtIGNvbG9yW25dKSAqICg2NCAtIHkpIC8gNjQ7CiAgICAgIGVsc2UgaWYgKHkgPD0gMTI4KSBjb2xvcltuXSAtPSBjb2xvcltuXSAqICh5IC0gNjQpIC8gNjQ7CiAgICAgIGVsc2UgaWYgKHkgPiAxMjgpIGNvbG9yW25dID0gMjU2IC0gKCB4IC8gMTkyICogMjU2ICk7CiAgCiAgICAgIGNvbG9yW25dID0gTWF0aC5yb3VuZChNYXRoLm1pbihjb2xvcltuXSwgMjU1KSk7CgogICAgICBpZiAoaGV4ID09ICd0cnVlJykgY29sb3Jbbl0gPSAkLmZuLm1Db2xvclBpY2tlci5kZWNUb0hleChjb2xvcltuXSk7CiAgICB9CgogICAgaWYgKGhleCA9PSAndHJ1ZScpIHJldHVybiAiIyIgKyBjb2xvci5qb2luKCcnKTsKICAgIAogICAgcmV0dXJuICJyZ2IoIiArIGNvbG9yLmpvaW4oJywgJykgKyAnKSc7CiAgfTsKCiAgJC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IgPSBmdW5jdGlvbiAoY29sb3IsIGhleCkgewoKICAgIGlmIChoZXggPT0gJ3RydWUnKSByZXR1cm4gJC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgoY29sb3IpOwoKICAgIHJldHVybiAkLmZuLm1Db2xvclBpY2tlci5oZXhUb1JHQihjb2xvcik7CiAgfQoKICAkLmZuLm1Db2xvclBpY2tlci5jb2xvclRlc3QgPSBmdW5jdGlvbiAoY29sb3IpIHsKCiAgICAkbUNvbG9yUGlja2VyVGVzdC5jc3MoJ2JhY2tncm91bmQtY29sb3InLCBjb2xvcik7CgogICAgcmV0dXJuICRtQ29sb3JQaWNrZXJUZXN0LmNzcygnYmFja2dyb3VuZC1jb2xvcicpOwogIH0KCiAgJC5mbi5tQ29sb3JQaWNrZXIuZGVjVG9IZXggPSBmdW5jdGlvbiAoY29sb3IpIHsKCiAgICB2YXIgaGV4X2NoYXIgPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7CgogICAgY29sb3IgPSBwYXJzZUludChjb2xvcik7CgogICAgcmV0dXJuIFN0cmluZyhoZXhfY2hhci5jaGFyQXQoTWF0aC5mbG9vcihjb2xvciAvIDE2KSkpICsgU3RyaW5nKGhleF9jaGFyLmNoYXJBdChjb2xvciAtIChNYXRoLmZsb29yKGNvbG9yIC8gMTYpICogMTYpKSk7CiAgfQoKICAkLmZuLm1Db2xvclBpY2tlci5SR0J0b0hleCA9IGZ1bmN0aW9uIChjb2xvcikgewoKICAgIHZhciBkZWNUb0hleCA9ICIjIiwKICAgICAgICByZ2I7CgogICAgY29sb3IgPSBjb2xvcj8gY29sb3IudG9Mb3dlckNhc2UoKTogZmFsc2U7CgogICAgaWYgKCFjb2xvcikgcmV0dXJuICcnOwogICAgaWYgKHJIRVg2LnRlc3QoY29sb3IpKSByZXR1cm4gY29sb3Iuc3Vic3RyKDAsIDcpOwogICAgaWYgKHJIRVgzLnRlc3QoY29sb3IpKSByZXR1cm4gY29sb3IucmVwbGFjZShySEVYLCAiJDEkMSQyJDIkMyQzIikuc3Vic3RyKDAsIDcpOwoKICAgIGlmIChyZ2IgPSBjb2xvci5tYXRjaChyUkdCKSkgewoKICAgICAgZm9yICh2YXIgbiA9IDE7IG4gPCA0OyBuKyspIGRlY1RvSGV4ICs9ICQuZm4ubUNvbG9yUGlja2VyLmRlY1RvSGV4KHJnYltuXSk7CiAgICAKICAgICAgcmV0dXJuIGRlY1RvSGV4OwogICAgfQoKICAgIHJldHVybiAkLmZuLm1Db2xvclBpY2tlci5jb2xvclRlc3QoY29sb3IpOwogIH07CgogICQuZm4ubUNvbG9yUGlja2VyLmhleFRvUkdCID0gZnVuY3Rpb24gKGNvbG9yKSB7CgogICAgY29sb3IgPSBjb2xvcj8gY29sb3IudG9Mb3dlckNhc2UoKTogZmFsc2U7CgogICAgaWYgKCFjb2xvcikgcmV0dXJuICcnOwogICAgaWYgKHJSR0IudGVzdChjb2xvcikpIHJldHVybiBjb2xvcjsKCiAgICBpZiAockhFWDMudGVzdChjb2xvcikpIHsKCiAgICAgIGlmICghckhFWDYudGVzdChjb2xvcikpIGNvbG9yID0gY29sb3IucmVwbGFjZShySEVYLCAiJDEkMSQyJDIkMyQzIik7CiAgCiAgICAgIHJldHVybiAncmdiKCcgKyBwYXJzZUludChjb2xvci5zdWJzdHIoMSwgMiksIDE2KSArICcsICcgKyBwYXJzZUludChjb2xvci5zdWJzdHIoMywgMiksIDE2KSArICcsICcgKyBwYXJzZUludChjb2xvci5zdWJzdHIoNSwgMiksIDE2KSArICcpJzsKICAgIH0KCiAgICByZXR1cm4gJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JUZXN0KGNvbG9yKTsKICB9OwoKICAkaSA9ICQuZm4ubUNvbG9yUGlja2VyLmluaXQ7CgogICRkb2N1bWVudC5yZWFkeShmdW5jdGlvbiAoKSB7CgogICAgJGIgPSAkKCdib2R5Jyk7CgogICAgJC5mbi5tQ29sb3JQaWNrZXIuZXZlbnRzKCk7CgogICAgaWYgKCRpLnJlcGxhY2UpIHsKCiAgICAgIGlmICh0eXBlb2YgJC5mbi5tRE9NdXBkYXRlID09ICJmdW5jdGlvbiIpIHsKICAKICAgICAgICAkKCdpbnB1dCcpLm1ET011cGRhdGUoJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQpOwogICAgICB9IGVsc2UgaWYgKHR5cGVvZiAkLmZuLmxpdmVxdWVyeSA9PSAiZnVuY3Rpb24iKSB7CiAgCiAgICAgICAgJCgnaW5wdXQnKS5saXZlcXVlcnkoJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQpOwogICAgICB9IGVsc2UgewogIAogICAgICAgICQuZm4ubUNvbG9yUGlja2VyLnN0YXJ0KCk7CiAgICAgICAgJGRvY3VtZW50LmxpdmUoJ2FqYXhTdWNjZXNzLm1Db2xvclBpY2tlcicsICQuZm4ubUNvbG9yUGlja2VyLnN0YXJ0KTsKICAgICAgfQogICAgfQogIH0pOwp9KShqUXVlcnkpOwo=]]></data>
	</file>
	<file>
	  <filename>/js/mColorPicker.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/LyoNCiAgbUNvbG9yUGlja2VyDQogIFZlcnNpb246IDEuMCByMzgNCiAgDQogIENvcHlyaWdodCAoYykgMjAxMCBNZXRhMTAwIExMQy4NCiAgaHR0cDovL3d3dy5tZXRhMTAwLmNvbS8NCiAgDQogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSANCiAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAgDQoqLw0KDQooZnVuY3Rpb24oJCl7dmFyIGIsZSxnLGosaT0kKGRvY3VtZW50KSxoPSQoIjxkaXY+Iiksbj0kKCI8ZGl2PiIpLG89JCgiPGRpdj4iKSxwPSQoIjxpbnB1dD4iKSxxPS9ecmdiW2FdP1woKFxkKyksXHMqKFxkKyksXHMqKFxkKykoLFxzKihcZCtcLlxkKykqKT9cKS8scj0vKFthLWYwLTldKShbYS1mMC05XSkoW2EtZjAtOV0pLyxzPS8jW2EtZjAtOV17M30vLHQ9LyNbYS1mMC05XXs2fS87JC5mbi5tQ29sb3JQaWNrZXI9ZnVuY3Rpb24oYSl7dmFyIGM9JC5mbi5tQ29sb3JQaWNrZXIuZ2V0Q29va2llKCJzd2F0Y2hlcyIpO2I9JC5leHRlbmQoJC5mbi5tQ29sb3JQaWNrZXIuZGVmYXVsdHMsYSk7JC5mbi5tQ29sb3JQaWNrZXIuZGVmYXVsdHMuc3dhdGNoZXMuY29uY2F0KGIuc3dhdGNoZXMpLnNsaWNlKC0xMCk7aWYoZS5lbmhhbmNlZFN3YXRjaGVzJiZjKWIuc3dhdGNoZXM9Yy5zcGxpdCgifHwiKS5jb25jYXQoYi5zd2F0Y2hlcykuc2xpY2UoMCwxMCl8fGIuc3dhdGNoZXM7JCgiZGl2I21Db2xvclBpY2tlciIpLmxlbmd0aHx8JC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlcigpOyQoIiNjc3NfZGlzYWJsZWRfY29sb3JfcGlja2VyIikubGVuZ3RofHwkKCJoZWFkIikucHJlcGVuZCgnPG1ldGEgZGF0YS1yZW1vdmUtbWU9InRydWUiLz48c3R5bGUgaWQ9ImNzc19kaXNhYmxlZF9jb2xvcl9waWNrZXIiIHR5cGU9InRleHQvY3NzIj4ubUNvbG9yUGlja2VyW2Rpc2FibGVkXSArIHNwYW4sIC5tQ29sb3JQaWNrZXJbZGlzYWJsZWQ9ImRpc2FibGVkIl0gKyBzcGFuLCAubUNvbG9yUGlja2VyW2Rpc2FibGVkPSJ0cnVlIl0gKyBzcGFuIHtmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7LW1vei1vcGFjaXR5OjAuNTstd2Via2l0LW9wYWNpdHk6MC41Oy1raHRtbC1vcGFjaXR5OiAwLjU7b3BhY2l0eTogMC41O2N1cnNvcjpkZWZhdWx0O308L3N0eWxlPicpOyQoIm1ldGFbZGF0YS1yZW1vdmUtbWU9dHJ1ZV0iKS5yZW1vdmUoKTt0aGlzLmVhY2goJC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzKTtyZXR1cm4gdGhpc307JC5mbi5tQ29sb3JQaWNrZXIuaW5pdD17cmVwbGFjZToiW3R5cGU9Y29sb3JdIixpbmRleDowLGVuaGFuY2VkU3dhdGNoZXM6dHJ1ZSxhbGxvd1RyYW5zcGFyZW5jeTp0cnVlLHNsb2dhbjoiTWV0YTEwMCAtIERlc2lnbmluZyBGdW4iLHNob3dMb2dvOnRydWV9OyQuZm4ubUNvbG9yUGlja2VyLmRlZmF1bHRzPXtjdXJyZW50SWQ6ZmFsc2UsY3VycmVudElucHV0OmZhbHNlLGN1cnJlbnRDb2xvcjpmYWxzZSxjaGFuZ2VDb2xvcjpmYWxzZSxjb2xvcjpmYWxzZSxpbWFnZUZvbGRlcjoiaW1hZ2VzLyIsc3dhdGNoZXM6IiNmZmZmZmYsI2ZmZmYwMCwjMDBmZjAwLCMwMGZmZmYsIzAwMDBmZiwjZmYwMGZmLCNmZjAwMDAsIzRjMmIxMSwjM2IzYjNiLCMwMDAwMDAiLnNwbGl0KCIsIil9OyQuZm4ubUNvbG9yUGlja2VyLnN0YXJ0PWZ1bmN0aW9uKCl7JCgnaW5wdXRbZGF0YS1tY29sb3JwaWNrZXIhPSJ0cnVlIl0nKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gZS5yZXBsYWNlPT0iW3R5cGU9Y29sb3JdIj90aGlzLmdldEF0dHJpYnV0ZSgidHlwZSIpPT0iY29sb3IiOiQodGhpcykuaXMoZS5yZXBsYWNlKX0pLm1Db2xvclBpY2tlcigpfTskLmZuLm1Db2xvclBpY2tlci5ldmVudHM9ZnVuY3Rpb24oKXskKCIjbUNvbG9yUGlja2VyQmciKS5saXZlKCJjbGljayIsJC5mbi5tQ29sb3JQaWNrZXIuY2xvc2VQaWNrZXIpOyQoIi5tQ29sb3JQaWNrZXIiKS5saXZlKCJrZXl1cCIsZnVuY3Rpb24oKXt0cnl7JCh0aGlzKS5jc3MoeyJiYWNrZ3JvdW5kLWNvbG9yIjokKHRoaXMpLnZhbCgpfSkuY3NzKHtjb2xvcjokLmZuLm1Db2xvclBpY2tlci50ZXh0Q29sb3IoJCh0aGlzKS5jc3MoImJhY2tncm91bmQtY29sb3IiKSl9KS50cmlnZ2VyKCJjaGFuZ2UiKX1jYXRjaChhKXt9fSk7JCgiLm1Db2xvclBpY2tlclRyaWdnZXIiKS5saXZlKCJjbGljayIsJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JTaG93KTskKCIubUNvbG9yLCAubVBhc3RDb2xvciIpLmxpdmUoIm1vdXNlbW92ZSIsZnVuY3Rpb24oYSl7aWYoIWIuY2hhbmdlQ29sb3IpcmV0dXJuIGZhbHNlO3ZhciBjPSQodGhpcyksZj1jLm9mZnNldCgpLGQ9Yi5jdXJyZW50SW5wdXQsZD1kLmF0dHIoImRhdGEtaGV4Iil8fGQuYXR0cigiaGV4Iik7Yi5jb2xvcj1jLmNzcygiYmFja2dyb3VuZC1jb2xvciIpO2lmKGMuaGFzQ2xhc3MoIm1QYXN0Q29sb3IiKSliLmNvbG9yPSQuZm4ubUNvbG9yUGlja2VyLnNldENvbG9yKGIuY29sb3IsZCk7ZWxzZSBpZihjLmhhc0NsYXNzKCJtQ29sb3JUcmFuc3BhcmVudCIpKWIuY29sb3I9InRyYW5zcGFyZW50IjtlbHNlIGlmKCFjLmhhc0NsYXNzKCJtUGFzdENvbG9yIikpYi5jb2xvcj0kLmZuLm1Db2xvclBpY2tlci53aGljaENvbG9yKGEucGFnZVgtZi5sZWZ0LGEucGFnZVktZi50b3AsZCk7Yi5jdXJyZW50SW5wdXQubVNldElucHV0Q29sb3IoYi5jb2xvcil9KS5saXZlKCJjbGljayIsJC5mbi5tQ29sb3JQaWNrZXIuY29sb3JQaWNrZWQpOyQoIiNtQ29sb3JQaWNrZXJJbnB1dCIpLmxpdmUoImtleXVwIixmdW5jdGlvbihhKXt0cnl7Yi5jb2xvcj0kKHRoaXMpLnZhbCgpLGIuY3VycmVudElucHV0Lm1TZXRJbnB1dENvbG9yKGIuY29sb3IpLGEud2hpY2g9PTEzJiYkLmZuLm1Db2xvclBpY2tlci5jb2xvclBpY2tlZCgpfWNhdGNoKGMpe319KS5saXZlKCJibHVyIixmdW5jdGlvbigpe2IuY3VycmVudElucHV0Lm1TZXRJbnB1dENvbG9yKGIuY29sb3IpfSk7JCgiI21Db2xvclBpY2tlcldyYXBwZXIiKS5saXZlKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe2lmKCFiLmNoYW5nZUNvbG9yKXJldHVybiBmYWxzZTtiLmN1cnJlbnRJbnB1dC5tU2V0SW5wdXRDb2xvcihiLmN1cnJlbnRDb2xvcil9KX07JC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlclRyaWdnZXJzPWZ1bmN0aW9uKCl7dmFyIGE9JCh0aGlzKSxjPWEuYXR0cigiaWQiKXx8ImNvbG9yXyIrZS5pbmRleCsrLGY9YS5hdHRyKCJ0ZXh0Iik9PSJoaWRkZW4ifHxhLmF0dHIoImRhdGEtdGV4dCIpPT0iaGlkZGVuIj90cnVlOmZhbHNlLGQ9JC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29sb3IoYS52YWwoKSxhLmF0dHIoImRhdGEtaGV4Iil8fGEuYXR0cigiaGV4IikpLGs9YS53aWR0aCgpLGc9YS5oZWlnaHQoKSxoPWEuY3NzKCJmbG9hdCIpLGw9JCgiPHNwYW4+IiksbT0kKCI8c3Bhbj4iKSxpPSIiO2wuYXR0cih7aWQ6ImNvbG9yX3dvcmtfYXJlYSIsImNsYXNzIjoibUNvbG9yUGlja2VySW5wdXQifSkuYXBwZW5kVG8oaik7bS5hdHRyKHtpZDoibWNwXyIrYywiY2xhc3MiOiJtQ29sb3JQaWNrZXJUcmlnZ2VyIn0pLmNzcyh7ZGlzcGxheToiaW5saW5lLWJsb2NrIixjdXJzb3I6InBvaW50ZXIifSkuaW5zZXJ0QWZ0ZXIoYSk7JCgiPGltZz4iKS5hdHRyKHtzcmM6Yi5pbWFnZUZvbGRlcisiY29sb3IucG5nIn0pLmNzcyh7Ym9yZGVyOjAsbWFyZ2luOiIwIDAgMCAzcHgiLCJ2ZXJ0aWNhbC1hbGlnbiI6InRleHQtYm90dG9tIn0pLmFwcGVuZFRvKG0pO2wuYXBwZW5kKGEpO2k9bC5odG1sKCkucmVwbGFjZSgvdHlwZT0iY29sb3IiL2dpLCd0eXBlPSInKyhmPyJoaWRkZW4iOiJ0ZXh0IikrJyInKTtsLmh0bWwoIiIpLnJlbW92ZSgpO2E9JChpKS5hdHRyKCJpZCIsYykuYWRkQ2xhc3MoIm1Db2xvclBpY2tlciIpLnZhbChkKS5pbnNlcnRCZWZvcmUobSk7ZiYmbS5jc3Moe2JvcmRlcjoiMXB4IHNvbGlkIGJsYWNrIiwiZmxvYXQiOmgsd2lkdGg6ayxoZWlnaHQ6Z30pLmFkZENsYXNzKGEuYXR0cigiY2xhc3MiKSkuaHRtbCgiJm5ic3A7Iik7YS5tU2V0SW5wdXRDb2xvcihkKTtyZXR1cm4gYX07JC5mbi5tQ29sb3JQaWNrZXIuZHJhd1BpY2tlcj1mdW5jdGlvbigpe3ZhciBhPSQoIjxkaXY+IiksYz0kKCI8YT4iKSxmPSQoIjxkaXY+IiksZD0kKCI8ZGl2PiIpO24uYXR0cih7aWQ6Im1Db2xvclBpY2tlckJnIn0pLmNzcyh7ZGlzcGxheToibm9uZSIsYmFja2dyb3VuZDoiYmxhY2siLG9wYWNpdHk6MC4wMSxwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDowfSkuYXBwZW5kVG8oaik7aC5hdHRyKHtpZDoibUNvbG9yUGlja2VyIiwiZGF0YS1tY29sb3JwaWNrZXIiOnRydWV9KS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYm9yZGVyOiIxcHggc29saWQgI2NjYyIsY29sb3I6IiNmZmYiLHdpZHRoOiIxOTRweCIsaGVpZ2h0OiIxODRweCIsImZvbnQtc2l6ZSI6IjEycHgiLCJmb250LWZhbWlseSI6InRpbWVzIixkaXNwbGF5OiJub25lIn0pLmFwcGVuZFRvKGopO28uYXR0cih7aWQ6Im1Db2xvclBpY2tlclRlc3QifSkuY3NzKHtkaXNwbGF5OiJub25lIn0pLmFwcGVuZFRvKGopO2QuYXR0cih7aWQ6Im1Db2xvclBpY2tlcldyYXBwZXIifSkuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGJvcmRlcjoic29saWQgMXB4IGdyYXkifSkuYXBwZW5kVG8oaCk7JCgiPGRpdj4iKS5hdHRyKHtpZDoibUNvbG9yUGlja2VySW1nIiwiY2xhc3MiOiJtQ29sb3IifSkuY3NzKHtoZWlnaHQ6IjEzNnB4Iix3aWR0aDoiMTkycHgiLGJvcmRlcjowLGN1cnNvcjoiY3Jvc3NoYWlyIiwiYmFja2dyb3VuZC1pbWFnZSI6InVybCgiK2IuaW1hZ2VGb2xkZXIrInBpY2tlci5wbmcpIn0pLmFwcGVuZFRvKGQpO2EuYXR0cih7aWQ6Im1Db2xvclBpY2tlclN3YXRjaGVzIn0pLmNzcyh7ImJvcmRlci1yaWdodCI6IjFweCBzb2xpZCAjMDAwIn0pLmFwcGVuZFRvKGQpOyQoIjxkaXY+IikuYWRkQ2xhc3MoIm1DbGVhciIpLmNzcyh7Y2xlYXI6ImJvdGgifSkuYXBwZW5kVG8oYSk7Zm9yKGc9OTtnPi0xO2ctLSkkKCI8ZGl2PiIpLmF0dHIoe2lkOiJjZWxsIitnLCJjbGFzcyI6Im1QYXN0Q29sb3IiKyhnPjA/IiBtTm9MZWZ0Qm9yZGVyIjoiIil9KS5jc3MoeyJiYWNrZ3JvdW5kLWNvbG9yIjpiLnN3YXRjaGVzW2ddLnRvTG93ZXJDYXNlKCksaGVpZ2h0OiIxOHB4Iix3aWR0aDoiMThweCIsYm9yZGVyOiIxcHggc29saWQgIzAwMCIsImZsb2F0IjoibGVmdCJ9KS5odG1sKCImbmJzcDsiKS5wcmVwZW5kVG8oYSk7Zi5hdHRyKHtpZDoibUNvbG9yUGlja2VyRm9vdGVyIn0pLmNzcyh7ImJhY2tncm91bmQtaW1hZ2UiOiJ1cmwoIitiLmltYWdlRm9sZGVyKyJncmlkLmdpZikiLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OiIyNnB4In0pLmFwcGVuZFRvKGQpO3AuYXR0cih7aWQ6Im1Db2xvclBpY2tlcklucHV0Iix0eXBlOiJ0ZXh0In0pLmNzcyh7Ym9yZGVyOiJzb2xpZCAxcHggZ3JheSIsImZvbnQtc2l6ZSI6IjEwcHQiLG1hcmdpbjoiM3B4Iix3aWR0aDoiODBweCJ9KS5hcHBlbmRUbyhmKTtlLmFsbG93VHJhbnNwYXJlbmN5JiYkKCI8c3Bhbj4iKS5hdHRyKHtpZDoibUNvbG9yUGlja2VyVHJhbnNwYXJlbnQiLCJjbGFzcyI6Im1Db2xvciBtQ29sb3JUcmFuc3BhcmVudCJ9KS5jc3MoeyJmb250LXNpemUiOiIxNnB4Iixjb2xvcjoiIzAwMCIsInBhZGRpbmctcmlnaHQiOiIzMHB4IiwicGFkZGluZy10b3AiOiIzcHgiLGN1cnNvcjoicG9pbnRlciIsb3ZlcmZsb3c6ImhpZGRlbiIsImZsb2F0IjoicmlnaHQifSkudGV4dCgidHJhbnNwYXJlbnQiKS5hcHBlbmRUbyhmKTtlLnNob3dMb2dvJiZjLmF0dHIoe2hyZWY6Imh0dHA6Ly9tZXRhMTAwLmNvbS8iLHRpdGxlOmUuc2xvZ2FuLGFsdDplLnNsb2dhbix0YXJnZXQ6Il9ibGFuayJ9KS5jc3MoeyJmbG9hdCI6InJpZ2h0In0pLmFwcGVuZFRvKGYpOyQoIjxpbWc+IikuYXR0cih7c3JjOmIuaW1hZ2VGb2xkZXIrIm1ldGExMDAucG5nIix0aXRsZTplLnNsb2dhbixhbHQ6ZS5zbG9nYW59KS5jc3Moe2JvcmRlcjowLCJib3JkZXItbGVmdCI6IjFweCBzb2xpZCAjYWFhIixyaWdodDowLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KS5hcHBlbmRUbyhjKTskKCIubU5vTGVmdEJvcmRlciIpLmNzcyh7ImJvcmRlci1sZWZ0IjowfSl9OyQuZm4ubUNvbG9yUGlja2VyLmNsb3NlUGlja2VyPWZ1bmN0aW9uKCl7bi5oaWRlKCk7aC5mYWRlT3V0KCl9OyQuZm4ubUNvbG9yUGlja2VyLmNvbG9yU2hvdz1mdW5jdGlvbigpe3ZhciBhPSQodGhpcyksYz1hLmF0dHIoImlkIikucmVwbGFjZSgibWNwXyIsIiIpLGY9YS5vZmZzZXQoKSxkPSQoIiMiK2MpLGs9Zi50b3ArYS5vdXRlckhlaWdodCgpLGU9Zi5sZWZ0O2lmKGQuYXR0cigiZGlzYWJsZWQiKSlyZXR1cm4gZmFsc2U7Yi5jdXJyZW50Q29sb3I9ZC5jc3MoImJhY2tncm91bmQtY29sb3IiKTtiLmNoYW5nZUNvbG9yPXRydWU7Yi5jdXJyZW50SW5wdXQ9ZDtiLmN1cnJlbnRJZD1jO2sraC5oZWlnaHQoKT5pLmhlaWdodCgpJiYoaz1mLnRvcC1oLmhlaWdodCgpKTtlK2gud2lkdGgoKT5pLndpZHRoKCkmJihlPWYubGVmdC1oLndpZHRoKCkrYS5vdXRlcldpZHRoKCkpO2guY3NzKHt0b3A6aysicHgiLGxlZnQ6ZSsicHgifSkuZmFkZUluKCJmYXN0Iik7bi5zaG93KCk7Yi5jb2xvcj0kKCIjIitjKS5hdHRyKCJkYXRhLXRleHQiKT9hLmNzcygiYmFja2dyb3VuZC1jb2xvciIpOmQuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIik7Yi5jb2xvcj0kLmZuLm1Db2xvclBpY2tlci5zZXRDb2xvcihiLmNvbG9yLGQuYXR0cigiZGF0YS1oZXgiKXx8ZC5hdHRyKCJoZXgiKSk7cC52YWwoYi5jb2xvcil9OyQuZm4ubUNvbG9yUGlja2VyLnNldElucHV0Q29sb3I9ZnVuY3Rpb24oYSxjKXskKCIjIithKS5tU2V0SW5wdXRDb2xvcihjKX07JC5mbi5tU2V0SW5wdXRDb2xvcj1mdW5jdGlvbihhKXt2YXIgYz0kKHRoaXMpLGY9eyJiYWNrZ3JvdW5kLWNvbG9yIjphLCJiYWNrZ3JvdW5kLWltYWdlIjphPT0idHJhbnNwYXJlbnQiPyJ1cmwoJyIrYi5pbWFnZUZvbGRlcisiZ3JpZC5naWYnKSI6IiIsY29sb3I6JC5mbi5tQ29sb3JQaWNrZXIudGV4dENvbG9yKGEpfTsoYy5hdHRyKCJkYXRhLXRleHQiKXx8Yy5hdHRyKCJ0ZXh0IikpJiZjLm5leHQoKS5jc3MoZik7Yy52YWwoYSkuY3NzKGYpLnRyaWdnZXIoImNoYW5nZSIpO3AudmFsKGEpfTskLmZuLm1Db2xvclBpY2tlci50ZXh0Q29sb3I9ZnVuY3Rpb24oYSl7YT0kLmZuLm1Db2xvclBpY2tlci5SR0J0b0hleChhKTtyZXR1cm4gdHlwZW9mIGE9PSJ1bmRlZmluZWQifHxhPT0idHJhbnNwYXJlbnQiPyJibGFjayI6cGFyc2VJbnQoYS5zdWJzdHIoMSwyKSwxNikrcGFyc2VJbnQoYS5zdWJzdHIoMywyKSwxNikrcGFyc2VJbnQoYS5zdWJzdHIoNSwyKSwxNik8NDAwPyJ3aGl0ZSI6ImJsYWNrIn07JC5mbi5tQ29sb3JQaWNrZXIuc2V0Q29va2llPWZ1bmN0aW9uKGEsYyxiKXthPWErIj0iK2VzY2FwZShjKTtjPW5ldyBEYXRlO2Muc2V0RGF0ZShjLmdldERhdGUoKStiKTthKz0iOyBleHBpcmVzPSIrYy50b0dNVFN0cmluZygpO2RvY3VtZW50LmNvb2tpZT1hfTskLmZuLm1Db2xvclBpY2tlci5nZXRDb29raWU9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKCIoXnw7KSA/IithKyI9KFteO10qKSg7fCQpIikpP3VuZXNjYXBlKGFbMl0pOm51bGx9OyQuZm4ubUNvbG9yUGlja2VyLmNvbG9yUGlja2VkPWZ1bmN0aW9uKCl7Yi5jaGFuZ2VDb2xvcj1mYWxzZTskLmZuLm1Db2xvclBpY2tlci5jbG9zZVBpY2tlcigpOyQuZm4ubUNvbG9yUGlja2VyLmFkZFRvU3dhdGNoKCk7Yi5jdXJyZW50SW5wdXQudHJpZ2dlcigiY29sb3JwaWNrZWQiKX07JC5mbi5tQ29sb3JQaWNrZXIuYWRkVG9Td2F0Y2g9ZnVuY3Rpb24oYSl7aWYoIWUuZW5oYW5jZWRTd2F0Y2hlcylyZXR1cm4gZmFsc2U7dmFyIGM9W107Zz0wO2lmKHR5cGVvZiBhPT0ic3RyaW5nIiliLmNvbG9yPWEudG9Mb3dlckNhc2UoKTtiLmNvbG9yIT0idHJhbnNwYXJlbnQiJiYoY1swXT1iLmNvbG9yLnRvTG93ZXJDYXNlKCkpOyQoIi5tUGFzdENvbG9yIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPSQodGhpcyk7Yi5jb2xvcj1hLmNzcygiYmFja2dyb3VuZC1jb2xvciIpLnRvTG93ZXJDYXNlKCk7aWYoYi5jb2xvciE9Y1swXSYmJC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgoYi5jb2xvcikhPWNbMF0mJiQuZm4ubUNvbG9yUGlja2VyLmhleFRvUkdCKGIuY29sb3IpIT1jWzBdJiZjLmxlbmd0aDwxMCljW2MubGVuZ3RoXT1iLmNvbG9yOyQodGhpcykuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIixjW2crK10pfSk7ZS5lbmhhbmNlZFN3YXRjaGVzJiYkLmZuLm1Db2xvclBpY2tlci5zZXRDb29raWUoInN3YXRjaGVzIixjLmpvaW4oInx8IiksMzY1KX07JC5mbi5tQ29sb3JQaWNrZXIud2hpY2hDb2xvcj1mdW5jdGlvbihhLGMsYil7dmFyIGQ9WzI1NSwyNTUsMjU1XTthPDMyPyhkWzFdPWEqOCxkWzJdPTApOmE8NjQ/KGRbMF09MjU2LShhLTMyKSo4LGRbMl09MCk6YTw5Nj8oZFswXT0wLGRbMl09KGEtNjQpKjgpOmE8MTI4PyhkWzBdPTAsZFsxXT0yNTYtKGEtOTYpKjgpOmE8MTYwPyhkWzBdPShhLTEyOCkqOCxkWzFdPTApOihkWzFdPTAsZFsyXT0yNTYtKGEtMTYwKSo4KTtmb3IodmFyIGU9MDtlPDM7ZSsrKWM8NjQ/ZFtlXSs9KDI1Ni1kW2VdKSooNjQtYykvNjQ6Yzw9MTI4P2RbZV0tPWRbZV0qKGMtNjQpLzY0OmM+MTI4JiYoZFtlXT0yNTYtYS8xOTIqMjU2KSxkW2VdPU1hdGgucm91bmQoTWF0aC5taW4oZFtlXSwyNTUpKSxiPT0idHJ1ZSImJihkW2VdPSQuZm4ubUNvbG9yUGlja2VyLmRlY1RvSGV4KGRbZV0pKTtyZXR1cm4gYj09InRydWUiPyIjIitkLmpvaW4oIiIpOiJyZ2IoIitkLmpvaW4oIiwgIikrIikifTskLmZuLm1Db2xvclBpY2tlci5zZXRDb2xvcj1mdW5jdGlvbihhLGMpe3JldHVybiBjPT0idHJ1ZSI/JC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXgoYSk6JC5mbi5tQ29sb3JQaWNrZXIuaGV4VG9SR0IoYSl9OyQuZm4ubUNvbG9yUGlja2VyLmNvbG9yVGVzdD1mdW5jdGlvbihhKXtvLmNzcygiYmFja2dyb3VuZC1jb2xvciIsYSk7cmV0dXJuIG8uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIil9OyQuZm4ubUNvbG9yUGlja2VyLmRlY1RvSGV4PWZ1bmN0aW9uKGEpe2E9cGFyc2VJbnQoYSk7cmV0dXJuIFN0cmluZygiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KE1hdGguZmxvb3IoYS8xNikpKStTdHJpbmcoIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChhLU1hdGguZmxvb3IoYS8xNikqMTYpKX07JC5mbi5tQ29sb3JQaWNrZXIuUkdCdG9IZXg9ZnVuY3Rpb24oYSl7dmFyIGM9IiMiLGIsYT1hP2EudG9Mb3dlckNhc2UoKTpmYWxzZTtpZighYSlyZXR1cm4iIjtpZih0LnRlc3QoYSkpcmV0dXJuIGEuc3Vic3RyKDAsNyk7aWYocy50ZXN0KGEpKXJldHVybiBhLnJlcGxhY2UociwiJDEkMSQyJDIkMyQzIikuc3Vic3RyKDAsNyk7aWYoYj1hLm1hdGNoKHEpKXtmb3IoYT0xO2E8NDthKyspYys9JC5mbi5tQ29sb3JQaWNrZXIuZGVjVG9IZXgoYlthXSk7cmV0dXJuIGN9cmV0dXJuICQuZm4ubUNvbG9yUGlja2VyLmNvbG9yVGVzdChhKX07JC5mbi5tQ29sb3JQaWNrZXIuaGV4VG9SR0I9ZnVuY3Rpb24oYSl7YT1hP2EudG9Mb3dlckNhc2UoKTpmYWxzZTtpZighYSlyZXR1cm4iIjtpZihxLnRlc3QoYSkpcmV0dXJuIGE7cmV0dXJuIHMudGVzdChhKT8odC50ZXN0KGEpfHwoYT1hLnJlcGxhY2UociwiJDEkMSQyJDIkMyQzIikpLCJyZ2IoIitwYXJzZUludChhLnN1YnN0cigxLDIpLDE2KSsiLCAiK3BhcnNlSW50KGEuc3Vic3RyKDMsMiksMTYpKyIsICIrcGFyc2VJbnQoYS5zdWJzdHIoNSwyKSwxNikrIikiKTokLmZuLm1Db2xvclBpY2tlci5jb2xvclRlc3QoYSl9O2U9JC5mbi5tQ29sb3JQaWNrZXIuaW5pdDtpLnJlYWR5KGZ1bmN0aW9uKCl7aj0kKCJib2R5Iik7JC5mbi5tQ29sb3JQaWNrZXIuZXZlbnRzKCk7ZS5yZXBsYWNlJiYoJC5mbi5tQ29sb3JQaWNrZXIuc3RhcnQoKSx0eXBlb2YgJC5mbi5saXZlcXVlcnk9PSJmdW5jdGlvbiI/JChlLnJlcGxhY2UpLmxpdmVxdWVyeSgkLmZuLm1Db2xvclBpY2tlci5zdGFydCk6JChkb2N1bWVudCkubGl2ZSgiYWpheFN1Y2Nlc3MubUNvbG9yUGlja2VyIiwkLmZuLm1Db2xvclBpY2tlci5zdGFydCkpfSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/i18n/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/i18n/cs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLnBvIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCgknU2VsZWN0IGZpbGVzJyA6ICdWeWJlcnRlIHNvdWJvcnknLA0KCSdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ1DFmWlkZWp0ZSBzb3Vib3J5IGRvIGZyb250eSBhIHBhayBzcHVzxaV0ZSBuYWhyw6F2w6Fuw60uJywNCgknRmlsZW5hbWUnIDogJ07DoXpldiBzb3Vib3J1JywNCgknU3RhdHVzJyA6ICdTdGF0dXMnLA0KCSdTaXplJyA6ICdWZWxpa29zdCcsDQoJJ0FkZCBGaWxlcycgOiAnUMWZaWRhdCBzb3Vib3J5JywNCgknU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnWmFzdGF2aXQgbmFocsOhdsOhbsOtJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdTcHVzdGl0IGZyb250dSBuYWhyw6F2w6Fuw60nLA0KCSdEcmFnIGZpbGVzIGhlcmUuJyA6ICdTZW0gcMWZZXTDoWhuxJt0ZSBzb3Vib3J5LicsDQoJJ1N0YXJ0IFVwbG9hZCc6ICdTcHVzdGl0IG5haHLDoXbDoW7DrScsDQoJJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJ05haHLDoW5vICVkLyVkIHNvdWJvcsWvJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/da.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLnBvIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrCnBsdXBsb2FkLmFkZEkxOG4oewoJJ1NlbGVjdCBmaWxlcycgOiAnVsOmbGcgZmlsZXInLAoJJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnVGlsZsO4aiBmaWxlciB0aWwga8O4ZW4sIG9nIHRyeWsgcMOlIHN0YXJ0LicsCgknRmlsZW5hbWUnIDogJ0ZpbG5hdm4nLAoJJ1N0YXR1cycgOiAnU3RhdHVzJywKCSdTaXplJyA6ICdTdMO4cnJlbHNlJywKCSdBZGQgZmlsZXMnIDogJ1RpbGbDuGogZmlsZXInLAoJJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ1N0b3AgdXBsb2FkJywKCSdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ1N0YXJ0IHVwbG9hZCcsCgknRHJhZyBmaWxlcyBoZXJlLicgOiAnVHLDpmsgZmlsZXIgaGVyLicKfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/de.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gR2VybWFuDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdEYXRlaWVuIGhvY2hsYWRlbicsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnRGF0ZWllbiBoaW56dWYmdXVtbDtnZW4gdW5kIGF1ZiBcJ0hvY2hsYWRlblwnIGtsaWNrZW4uJywNCiAgICAnRmlsZW5hbWUnIDogJ0RhdGVpbmFtZScsDQogICAgJ1N0YXR1cycgOiAnU3RhdHVzJywNCiAgICAnU2l6ZScgOiAnR3Imb3VtbDsmc3psaWc7ZScsDQogICAgJ0FkZCBmaWxlcycgOiAnRGF0ZWllbicsIC8vIGhpbnp1ZiZ1dW1sO2dlbicsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ0FrdHVlbGxlcyBIb2NobGFkZW4gc3RvcHBlbicsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZScgOiAnSG9jaGxhZGVuIHN0YXJ0ZW4nLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICclZC8lZCBEYXRlaWVuIHNpbmQgaG9jaGdlbGFkZW4nLA0KICAgICdOL0EnIDogJ05pY2h0IHZlcmYmdXVtbDtnYmFyJywNCiAgICAnRHJhZyBmaWxlcyBoZXJlLicgOiAnWmllaGVuIFNpZSBkaWUgRGF0ZWllbiBoaWVyIGhpbicsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdGZWhsZXIgYmVpIERhdGVpZW5kdW5nJywNCiAgICAnRmlsZSBzaXplIGVycm9yLic6ICdGZWhsZXIgYmVpIERhdGVpZ3Imb3VtbDvDn2UnLA0KICAgICdJbml0IGVycm9yLic6ICdJbml0aWFsaXNpZXJ1bmdzZmVobGVyJywNCiAgICAnSFRUUCBFcnJvci4nOiAnSFRUUC1GZWhsZXInLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnU2ljaGVyaGVpdHNmZWhsZXInLA0KICAgICdHZW5lcmljIGVycm9yLic6ICdUeXBpc2NoZXIgRmVobGVyJywNCiAgICAnSU8gZXJyb3IuJzogJ0Vpbi9BdXNnYWJlLUZlaGxlcicsDQogICAgJ1N0b3AgVXBsb2FkJzogJ0hvY2hsYWRlbiBzdG9wcGVuJywNCiAgICAnU3RhcnQgdXBsb2FkJzogJ0hvY2hsYWRlbicsDQogICAgJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBEYXRlaWVuIGluIGRlciBXYXJ0ZXNjaGxhbmdlJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/es.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gU3BhbmlzaA0KcGx1cGxvYWQuYWRkSTE4bih7DQoJJ1NlbGVjdCBmaWxlcycgOiAnRWxpamEgYXJjaGl2b3M6JywNCgknQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdBZ3JlZ3VlIGFyY2hpdm9zIGEgbGEgY29sYSBkZSBzdWJpZGEgeSBoYWdhIGNsaWNrIGVuIGVsIGJvdG9uIGRlIGluaWNpYXIuJywNCgknRmlsZW5hbWUnIDogJ05vbWJyZSBkZSBhcmNoaXZvJywNCgknU3RhdHVzJyA6ICdFc3RhZG8nLA0KCSdTaXplJyA6ICdUYW1hJm50aWxkZTtvJywNCgknQWRkIGZpbGVzJyA6ICdBZ3JlZ3VlIGFyY2hpdm9zJywNCgknU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnRGV0ZW5lciBzdWJpZGEgYWN0dWFsJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdJbmljaWFyIHN1YmlkYSBkZSBjb2xhJywNCgknVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnU3ViaWRvcyAlZC8lZCBhcmNoaXZvcycsDQoJJ04vQScgOiAnTm8gZGlzcG9uaWJsZScsDQoJJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ0FycmFzdHJlIGFyY2hpdm9zIGFxdSZpYWN1dGU7JywNCgknRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0Vycm9yIGRlIGV4dGVuc2kmb2FjdXRlO24gZGUgYXJjaGl2by4nLA0KCSdGaWxlIHNpemUgZXJyb3IuJzogJ0Vycm9yIGRlIHRhbWEmbnRpbGRlO28gZGUgYXJjaGl2by4nLA0KCSdJbml0IGVycm9yLic6ICdFcnJvciBkZSBpbmljaWFsaXphY2kmb2FjdXRlO24uJywNCgknSFRUUCBFcnJvci4nOiAnRXJyb3IgZGUgSFRUUC4nLA0KCSdTZWN1cml0eSBlcnJvci4nOiAnRXJyb3IgZGUgc2VndXJpZGFkLicsDQoJJ0dlbmVyaWMgZXJyb3IuJzogJ0Vycm9yIGdlbiZlYWN1dGU7cmljby4nLA0KCSdJTyBlcnJvci4nOiAnRXJyb3IgZGUgZW50cmFkYS9zYWxpZGEuJywNCgknU3RvcCBVcGxvYWQnOiAnRGV0ZW5lciBTdWJpZGEuJywNCgknQWRkIEZpbGVzJzogJ0FncmVnYXIgQXJjaGl2b3MnLA0KCSdTdGFydCBVcGxvYWQnOiAnQ29tZW56YXIgU3ViaWRhLicsDQoJJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBhcmNoaXZvcyBlbiBjb2xhLicNCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/fi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLmZpIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCgknU2VsZWN0IGZpbGVzJyA6ICdWYWxpdHNlIHRpZWRvc3RvamEnLA0KCSdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ0xpc8Okw6QgdGllZG9zdG9qYSBsYXRhdXNqb25vb24gamEga2xpa2thYSBhbG9pdGEtbmFwcGlhLicsDQoJJ0ZpbGVuYW1lJyA6ICdUaWVkb3N0b25pbWknLA0KCSdTdGF0dXMnIDogJ1RpbGEnLA0KCSdTaXplJyA6ICdLb2tvJywNCgknQWRkIGZpbGVzJyA6ICdMaXPDpMOkIHRpZWRvc3RvamEnLA0KCSdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdQeXPDpHl0w6QgbnlreWluZW4gbGF0YXVzJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdBbG9pdGEgam9ub24gbGF0YXVzJywNCgknRHJhZyBmaWxlcyBoZXJlLicgOiAnUmFhaGFhIHRpZWRvc3RvdCB0w6RubmUuJywNCgknU3RhcnQgdXBsb2FkJyA6ICdBbG9pdGEgbGF0YXVzJywNCgknVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnTGFkYXR0dSAlZC8lZCB0aWVkb3N0b2EnLA0KCSdTdG9wIHVwbG9hZCc6ICdQeXPDpHl0w6QgbGF0YXVzJywNCgknU3RhcnQgdXBsb2FkJzogJ0Fsb2l0YSBsYXRhdXMnLA0KCSclZCBmaWxlcyBxdWV1ZWQnOiAnJWQgdGllZG9zdG9hIGpvbm9zc2EnLA0KCSdGaWxlOiAlcyc6ICdUaWVkb3N0bzogJXMnLA0KCSdDbG9zZSc6ICdTdWxqZScsDQoJJ1VzaW5nIHJ1bnRpbWU6ICc6ICdLw6R5dGV0w6TDpG4gYWpvbmFpa2Fpc3RhOiAnLA0KCSdGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtJzogJ1RpZWRvc3RvOiAlZiwga29rbzogJXMsIG1ha3NpbWkgdGllZG9zdG9rb2tvOiAlbScsDQoJJ1VwbG9hZCBlbGVtZW50IGFjY2VwdHMgb25seSAlZCBmaWxlKHMpIGF0IGEgdGltZS4gRXh0cmEgZmlsZXMgd2VyZSBzdHJpcHBlZC4nOiAnTGF0YXVzZWxlbWVudHRpIHNhbGxpaSBsYWRhdGEgdmFpbiAlZCB0aWVkb3N0byhhKSBrZXJyYWxsYWFuLiBZbGltw6TDpHLDpGlzZXQgdGllZG9zdG90IG9oaXRldHRpaW4uJywNCgknVXBsb2FkIFVSTCBtaWdodCBiZSB3cm9uZyBvciBkb2VzblwndCBleGlzdCc6ICdMYXRhdXMgVVJMIHNhYXR0YWEgb2xsYSB2w6TDpHJpbiB0YWkgZWkgb2xlIG9sZW1hc3NhJywNCgknRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAnVmlyaGU6IFRpZWRvc3RvIGxpaWFuIHN1dXJpOiAnLA0KCSdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ1ZpcmhlOiBLZWxwYWFtYXRvbiB0aWVkb3N0b3DDpMOkdGU6ICcsDQoJJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdUaWVkb3N0b3DDpMOkdGV2aXJoZS4nLA0KCSdGaWxlIHNpemUgZXJyb3IuJzogJ1RpZWRvc3Rva29rb3ZpcmhlLicsDQoJJ0ZpbGUgY291bnQgZXJyb3IuJzogJ1RpZWRvc3RvbGFza2VudGF2aXJoZS4nLA0KCSdJbml0IGVycm9yLic6ICdJbml0IHZpcmhlLicsDQoJJ0hUVFAgRXJyb3IuJzogJ0hUVFAgdmlyaGUuJywNCgknU2VjdXJpdHkgZXJyb3IuJzogJ1RpZXRvdHVydmF2aXJoZS4nLA0KCSdHZW5lcmljIGVycm9yLic6ICdZbGVpbmVuIHZpcmhlLicsDQoJJ0lPIGVycm9yLic6ICdJL08gdmlyaGUuJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/fr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gRnJlbmNoDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdTw6lsZWN0aW9ubmV6IGxlcyBmaWNoaWVycycsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnQWpvdXRleiBkZXMgZmljaGllcnMgw6AgbGEgZmlsZSBldCBhcHB1eWV6IHN1ciBsZSBib3V0b24gZMOpbWFycmVyLicsDQogICAgJ0ZpbGVuYW1lJyA6ICdOb20gZGUgZmljaGllcicsDQogICAgJ1N0YXR1cycgOiAnU3RhdHVzJywNCiAgICAnU2l6ZScgOiAnVGFpbGxlJywNCiAgICAnQWRkIGZpbGVzJyA6ICdBam91dGVyIEZpY2hpZXJzJywNCiAgICAnU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnQXJyw6p0ZXIgbFwnZW52b2kgZW4gY291cnMnLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ0TDqW1hcnJlciBsXCdlbnZvaScsDQogICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJyVkLyVkIGZpY2hpZXJzIGVudm95w6lzJywNCiAgICAnTi9BJyA6ICdOb24gYXBwbGljYWJsZScsDQogICAgJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ0TDqXBvc2VyIGxlcyBmaWNoaWVycyBpY2kuJywNCiAgICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0VycmV1ciBleHRlbnNpb24gZmljaGllcicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnRXJyZXVyIHRhaWxsZSBmaWNoaWVyLicsDQogICAgJ0luaXQgZXJyb3IuJzogJ0VycmV1ciBkXCdpbml0aWFsaXNhdGlvbi4nLA0KICAgICdIVFRQIEVycm9yLic6ICdFcnJldXIgSFRUUC4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnRXJyZXVyIGRlIHPDqWN1cml0w6kuJywNCiAgICAnR2VuZXJpYyBlcnJvci4nOiAnRXJyZXVyIGfDqW7DqXJpcXVlLicsDQogICAgJ0lPIGVycm9yLic6ICdFcnJldXIgRS9TLicsDQogICAgJ1N0b3AgVXBsb2FkJzogJ0FycsOqdGVyIGxlcyBlbnZvaXMuJywNCiAgICAnQWRkIEZpbGVzJzogJ0Fqb3V0ZXIgZGVzIGZpY2hpZXJzJywNCiAgICAnU3RhcnQgVXBsb2FkJzogJ0TDqW1hcnJlciBsZXMgZW52b2lzLicsDQogICAgJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBmaWNoaWVycyBlbiBhdHRlbnRlLicNCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/hr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQ3JvYXRpYW4NCnBsdXBsb2FkLmFkZEkxOG4oew0KICAgICdTZWxlY3QgZmlsZXMnOiAnSXphYmVyaXRlIGRhdG90ZWtlOicsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLic6ICdEb2RhanRlIGRhdG90ZWtlIHUgbGlzdHUgaSBrbGlrbml0ZSBVcGxvYWQuJywNCiAgICAnRmlsZW5hbWUnOiAnSW1lIGRhdG90ZWtlJywNCiAgICAnU3RhdHVzJzogJ1N0YXR1cycsDQogICAgJ1NpemUnOiAnVmVsacSNaW5hJywNCiAgICAnQWRkIGZpbGVzJzogJ0RvZGFqdGUgZGF0b3Rla2UnLA0KICAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJzogJ1phdXN0YXZpIHRyZW51dGFuIHVwbG9hZCcsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZSc6ICdQb2tyZW5pIFVwbG9hZCcsDQogICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJ1VwbG9hZGFubyAlZC8lZCBkYXRvdGVrYScsDQogICAgJ04vQSc6ICdOL0EnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJzogJ0RvdnVjaXRlIGRhdG90ZWtlIG92ZGplJywNCiAgICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0dyZcWha2EgZWtzdGVuemlqZSBkYXRvdGVrZS4nLA0KICAgICdGaWxlIHNpemUgZXJyb3IuJzogJ0dyZcWha2EgdmVsacSNaW5lIGRhdG90ZWtlLicsDQogICAgJ0luaXQgZXJyb3IuJzogJ0dyZcWha2EgaW5pY2lqYWxpemFjaWplLicsDQogICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAgZ3JlxaFrYS4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnU2lndXJub3NuYSBncmXFoWthLicsDQogICAgJ0dlbmVyaWMgZXJyb3IuJzogJ0dlbmVyacSNa2EgZ3JlxaFrYS4nLA0KICAgICdJTyBlcnJvci4nOiAnSS9PIGdyZcWha2EuJywNCiAgICAnU3RvcCBVcGxvYWQnOiAnWmF1c3RhdmkgdXBsb2FkLicsDQogICAgJ0FkZCBGaWxlcyc6ICdEb2RhaiBkYXRvdGVrZScsDQogICAgJ1N0YXJ0IFVwbG9hZCc6ICdQb2tyZW5pIHVwbG9hZC4nLA0KICAgICclZCBmaWxlcyBxdWV1ZWQnOiAnJWQgZGF0b3Rla2EgbmEgxI1la2FuanUuJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/hu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gSHVuZ2FyaWFuDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdGw6FqbG9rIGtpdsOhbGFzenTDoXNhJywNCiAgICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdWw6FsYXN6ZCBraSBhIGbDoWpsb2thdCwgbWFqZCBrYXR0aW50cyBheiBJbmTDrXTDoXMgZ29tYnJhLicsDQogICAgJ0ZpbGVuYW1lJyA6ICdGw6FqbG7DqXYnLA0KICAgICdTdGF0dXMnIDogJ8OBbGxhcG90JywNCiAgICAnU2l6ZScgOiAnTcOpcmV0JywNCiAgICAnQWRkIGZpbGVzJyA6ICdIb3p6w6FhZMOhcycsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ0plbGVubGVnaSBmZWx0w7ZsdMOpcyBtZWdzemFrw610w6FzYScsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZScgOiAnVsOhcmFrb3rDoXNpIHNvciBmZWx0w7ZsdMOpc8OpbmVrIGluZMOtdMOhc2EnLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICdGZWx0w7ZsdMO2dHQgZsOhamxvazogJWQvJWQnLA0KICAgICdOL0EnOiAnTmVtIGVsw6lyaGV0xZEnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdIw7p6ZCBpZGUgYSBmw6FqbG9rYXQuJywNCiAgICAnU3RvcCB1cGxvYWQnOiAnRmVsdMO2bHTDqXMgbWVnc3pha8OtdMOhc2EnLA0KICAgICdTdGFydCB1cGxvYWQnOiAnSW5kw610w6FzJywNCiAgICAnJWQgZmlsZXMgcXVldWVkJzogJyVkIGbDoWpsIHNvcmJhw6FsbMOtdHZhJywNCiAgICAnRmlsZTogJXMnOiAnRsOhamw6ICVzJywNCiAgICAnQ2xvc2UnOiAnQmV6w6Fyw6FzJywNCiAgICAnVXNpbmcgcnVudGltZTogJzogJ0hhc3puw6FsdCBydW50aW1lOiAnLA0KICAgICdGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtJzogJ0bDoWpsOiAlZiwgbcOpcmV0OiAlcywgbWF4aW3DoWxpcyBmw6FqbG3DqXJldDogJW0nLA0KICAgICdVcGxvYWQgZWxlbWVudCBhY2NlcHRzIG9ubHkgJWQgZmlsZShzKSBhdCBhIHRpbWUuIEV4dHJhIGZpbGVzIHdlcmUgc3RyaXBwZWQuJzogJ0EgZmVsdMO2bHTDqXMgZWd5c3plcnJlIGNzYWsgJWQgZsOhamx0IGZvZ2FkIGVsLCBhIHTDtmJiaSBmw6FqbCBuZW0gbGVzeiBmZWx0w7ZsdHZlLicsDQogICAgJ1VwbG9hZCBVUkwgbWlnaHQgYmUgd3Jvbmcgb3IgZG9lc25cJ3QgZXhpc3QnOiAnQSBtZWdhZG90dCBVUkwgaGliw6FzIHZhZ3kgbmVtIGzDqXRlemlrJywNCiAgICAnRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAnSGliYTogQSBmw6FqbCB0w7psIG5hZ3k6ICcsDQogICAgJ0Vycm9yOiBJbnZhbGlkIGZpbGUgZXh0ZW5zaW9uOiAnOiAnSGliYTogw4lydsOpbnl0ZWxlbiBmw6FqbGtpdGVyamVzenTDqXM6ICcsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdIaWLDoXMgZsOhamxraXRlcmplc3p0w6lzLicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnSGliw6FzIGbDoWpsbcOpcmV0LicsDQogICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ0EgZsOhamxvayBzesOhbcOhdmFsIGthcGNzb2xhdG9zIGhpYmEuJywNCiAgICAnSW5pdCBlcnJvci4nOiAnSW5pdCBoaWJhLicsDQogICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAgaGliYS4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnQml6dG9uc8OhZ2kgaGliYS4nLA0KICAgICdHZW5lcmljIGVycm9yLic6ICfDgWx0YWzDoW5vcyBoaWJhLicsDQogICAgJ0lPIGVycm9yLic6ICdJL08gaGliYS4nDQp9KTsNCg==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/it.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gSXRhbGlhbg0KcGx1cGxvYWQuYWRkSTE4bih7DQogICAgJ1NlbGVjdCBmaWxlcycgOiAnU2VsZXppb25hIGkgZmlsZXMnLA0KICAgICdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ0FnZ2l1bmdpIGkgZmlsZSBhbGxhIGNvZGEgZGkgY2FyaWNhbWVudG8gZSBjbGljY2EgaWwgcHVsc2FudGUgZGkgYXZ2aW8uJywNCiAgICAnRmlsZW5hbWUnIDogJ05vbWUgZmlsZScsDQogICAgJ1N0YXR1cycgOiAnU3RhdG8nLA0KICAgICdTaXplJyA6ICdEaW1lbnNpb25lJywNCiAgICAnQWRkIEZpbGVzJyA6ICdBZ2dpdW5naSBmaWxlJywNCiAgICAnU3RvcCBjdXJyZW50IHVwbG9hZCcgOiAnSW50ZXJyb21waSBpbCBjYXJpY2FtZW50bycsDQogICAgJ1N0YXJ0IHVwbG9hZGluZyBxdWV1ZScgOiAnQXZ2aWEgaWwgY2FyaWNhbWVudG8nLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICdDYXJpY2F0aSAlZC8lZCBmaWxlJywNCiAgICAnTi9BJyA6ICdOL0QnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdUcmFzY2luYSBpIGZpbGUgcXVpLicsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdFcnJvcmUgZXN0ZW5zaW9uZSBmaWxlLicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnRXJyb3JlIGRpbWVuc2lvbmUgZmlsZS4nLA0KICAgICdJbml0IGVycm9yLic6ICdFcnJvcmUgaW5pemlhbGl6emF6aW9uZS4nLA0KICAgICdIVFRQIEVycm9yLic6ICdFcnJvcmUgSFRUUC4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnRXJyb3JlIHNpY3VyZXp6YS4nLA0KICAgICdHZW5lcmljIGVycm9yLic6ICdFcnJvcmUgZ2VuZXJpY28uJywNCiAgICAnSU8gZXJyb3IuJzogJ0Vycm9yZSBJTy4nLA0KCSdTdG9wIFVwbG9hZCc6ICdGZXJtYSBVcGxvYWQnLA0KCSdTdGFydCBVcGxvYWQnOiAnSW5pemlhIFVwbG9hZCcsDQoJJyVkIGZpbGVzIHF1ZXVlZCc6ICclZCBmaWxlIGluIGxpc3RhJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/ja.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gSmFwYW5lc2UKcGx1cGxvYWQuYWRkSTE4bih7CiAgICdTZWxlY3QgZmlsZXMnIDogJ+ODleOCoeOCpOODq+mBuOaKnicsCiAgICdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ+ODleOCoeOCpOODq+OCkuOCouODg+ODl+ODreODvOODieOCreODpeODvOOBq+i/veWKoOOBl+OBpuOCueOCv+ODvOODiOODnOOCv+ODs+OCkuOCr+ODquODg+OCr+OBl+OBpuOBj+OBoOOBleOBhCcsCiAgICdGaWxlbmFtZScgOiAn44OV44Kh44Kk44Or5ZCNJywKICAgJ1N0YXR1cycgOiAn44K544OG44O844K/44K5JywKICAgJ1NpemUnIDogJ+OCteOCpOOCuicsCiAgICdBZGQgRmlsZXMnIDogJ+ODleOCoeOCpOODq+OCkui/veWKoCcsCiAgICdTdG9wIFVwbG9hZCcgOiAn44Ki44OD44OX44Ot44O844OJ5YGc5q2iJywKICAgJ1N0YXJ0IFVwbG9hZCcgOiAn44Ki44OD44OX44Ot44O844OJJywKICAgJ0FkZCBmaWxlcycgOiAn44OV44Kh44Kk44Or44KS6L+95YqgJywKICAgJ0FkZCBmaWxlcy4nIDogJ+ODleOCoeOCpOODq+OCkui/veWKoCcsCiAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICfnj77lnKjjga7jgqLjg4Pjg5fjg63jg7zjg4njgpLlgZzmraInLAogICAnU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICfjgqLjg4Pjg5fjg63jg7zjg4knLAogICAnU3RvcCB1cGxvYWQnIDogJ+OCouODg+ODl+ODreODvOODieWBnOatoicsCiAgICdTdGFydCB1cGxvYWQnIDogJ+OCouODg+ODl+ODreODvOODiScsCiAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICfjgqLjg4Pjg5fjg63jg7zjg4nkuK0gJWQvJWQg44OV44Kh44Kk44OrJywKICAgJ04vQScgOiAnTi9BJywKICAgJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ+OBk+OBk+OBq+ODleOCoeOCpOODq+OCkuODieODqeODg+OCsCcsCiAgICdGaWxlIGV4dGVuc2lvbiBlcnJvci4nOiAn44OV44Kh44Kk44Or5ouh5by15a2Q44Ko44Op44O8JywKICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAn44OV44Kh44Kk44Or44K144Kk44K644Ko44Op44O8JywKICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ+ODleOCoeOCpOODq+aVsOOCqOODqeODvCcsCiAgICdJbml0IGVycm9yLic6ICfjgqTjg4vjgrfjg6Pjg6njgqTjgrrjgqjjg6njg7wnLAogICAnSFRUUCBFcnJvci4nOiAnSFRUUCDjgqjjg6njg7wnLAogICAnU2VjdXJpdHkgZXJyb3IuJzogJ+OCu+OCreODpeODquODhuOCo+OCqOODqeODvCcsCiAgICdHZW5lcmljIGVycm9yLic6ICfjgqjjg6njg7wnLAogICAnSU8gZXJyb3IuJzogJ0lPIOOCqOODqeODvCcsCiAgICdGaWxlOiAlcyc6ICfjg5XjgqHjgqTjg6s6ICVzJywKICAgJ0Nsb3NlJzogJ+mWieOBmOOCiycsCiAgICclZCBmaWxlcyBxdWV1ZWQnOiAnJWQg44OV44Kh44Kk44Or44GM6L+95Yqg44GV44KM44G+44GX44GfJywKICAgJ1VzaW5nIHJ1bnRpbWU6ICc6ICfjg6Ljg7zjg4k6ICcsCiAgICdGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtJzogJ+ODleOCoeOCpOODqzogJWYsIOOCteOCpOOCujogJXMsIOacgOWkp+ODleOCoeOCpOODq+OCteOCpOOCujogJW0nLAogICAnVXBsb2FkIGVsZW1lbnQgYWNjZXB0cyBvbmx5ICVkIGZpbGUocykgYXQgYSB0aW1lLiBFeHRyYSBmaWxlcyB3ZXJlIHN0cmlwcGVkLic6ICfjgqLjg4Pjg5fjg63jg7zjg4nlj6/og73jgarjg5XjgqHjgqTjg6vmlbDjga8gJWQg44Gn44GZ44CC5L2Z5YiG44Gq44OV44Kh44Kk44Or44Gv5YmK6Zmk44GV44KM44G+44GX44GfJywKICAgJ1VwbG9hZCBVUkwgbWlnaHQgYmUgd3Jvbmcgb3IgZG9lc25cJ3QgZXhpc3QnOiAn44Ki44OD44OX44Ot44O844OJ5YWI44GuIFVSTCDjgYzlrZjlnKjjgZfjgb7jgZvjgpMnLAogICAnRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAn44Ko44Op44O8OiDjgrXjgqTjgrrjgYzlpKfjgY3jgZnjgY7jgb7jgZk6ICcsCiAgICdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ+OCqOODqeODvDog5ouh5by15a2Q44GM6Kix5Y+v44GV44KM44Gm44GE44G+44Gb44KTOiAnCn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/lv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLmx2IGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCiAgICAnU2VsZWN0IGZpbGVzJyA6ICdJenbEk2xpZXRpZXMgZmFpbHVzJywNCiAgICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdQaWV2ZWlub2ppZXQgZmFpbHVzIHJpbmRhaSB1biBrbGlrxaHEt2luaWV0IHV6ICJTxIFrdCBhdWfFoXVwaWVsxIFkaSIgcG9nYXMuJywNCiAgICAnRmlsZW5hbWUnIDogJ0ZhaWxhIG5vc2F1a3VtcycsDQogICAgJ1N0YXR1cycgOiAnU3RhdHVzcycsDQogICAgJ1NpemUnIDogJ0l6bcSTcnMnLA0KICAgICdBZGQgZmlsZXMnIDogJ1BpZXZpZW5vdCBmYWlsdXMnLA0KICAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdBcHR1csSTdCBwYcWhcmVpesSTam8gYXVnxaF1cGllbMSBZGknLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ1PEgWt0IGF1Z8WhdXBpZWzEgWRpJywNCiAgICAnRHJhZyBmaWxlcyBoZXJlLicgOiAnSWV2ZWxjaWV0IGZhaWx1cyDFoWVpdCcsDQogICAgJ1N0YXJ0IHVwbG9hZCcgOiAnU8SBa3QgYXVnxaF1cGllbMSBZGknLA0KICAgICdVcGxvYWRlZCAlZC8lZCBmaWxlcyc6ICdBdWfFoXVwaWVsxIFkxJN0aSAlZC8lZCBmYWlsaScsDQogICAgJ1N0b3AgdXBsb2FkJzogJ1DEgXJ0cmF1a3QgYXVnxaF1cGllbMSBZGknLA0KICAgICdTdGFydCB1cGxvYWQnOiAnU8SBa3QgYXVnxaF1cGllbMSBZGknLA0KICAgICclZCBmaWxlcyBxdWV1ZWQnOiAnJWQgZmFpbGkgcGlldmllbm90aSByaW5kYWknLA0KICAgICdGaWxlOiAlcyc6ICdGYWlsczogJXMnLA0KICAgICdDbG9zZSc6ICdBaXp2xJNydCcsDQogICAgJ1VzaW5nIHJ1bnRpbWU6ICc6ICdMaWV0byBzYXNrYXJuaTogJywNCiAgICAnRmlsZTogJWYsIHNpemU6ICVzLCBtYXggZmlsZSBzaXplOiAlbSc6ICdGYWlsczogJWYsIGl6bcSTcnM6ICVzLCBtYWtzaW3EgWxhaXMgZmFpbGEgaXptxJNyczogJW0nLA0KICAgICdVcGxvYWQgZWxlbWVudCBhY2NlcHRzIG9ubHkgJWQgZmlsZShzKSBhdCBhIHRpbWUuIEV4dHJhIGZpbGVzIHdlcmUgc3RyaXBwZWQuJzogJ0llc3DEk2phbXMgaWVsxIFkxJN0IHRpa2FpICVkIGZhaWx1cyB2aWVuxIEgcmVpesSTLiBBdGxpa3XFoWllIGZhaWxpIG5ldGlrYSBwaWV2aWVub3RpJywNCiAgICAnVXBsb2FkIFVSTCBtaWdodCBiZSB3cm9uZyBvciBkb2VzblwndCBleGlzdCc6ICdBdWfFoXVwaWVsxIFkZXMgVVJMIHZhcsSTdHUgYsWrdCBuZXBhcmVpenMgdmFpIG5lZWtzaXN0xJMnLA0KICAgICdFcnJvcjogRmlsZSB0b28gbGFyZ2U6ICc6ICdLxLzFq2RhOiBGYWlscyBwxIFyxIFrIGxpZWxzOiAnLA0KICAgICdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ0vEvMWrZGE6IE5la29yZWt0cyBmYWlsYSBwYXBsYcWhaW7EgWp1bXM6JywNCiAgICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ0ZhaWxhIHBhcGxhxaFpbsSBanVtYSBrxLzFq2RhLicsDQogICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnRmFpbGEgaXptxJNyYSBrxLzFq2RhLicsDQogICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ0ZhaWx1IHNrYWl0YSBrxLzFq2RhJywNCiAgICAnSW5pdCBlcnJvci4nOiAnSW5pY2lhbGl6xIFjaWphcyBrxLzFq2RhLicsDQogICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAga8S8xatkYS4nLA0KICAgICdTZWN1cml0eSBlcnJvci4nOiAnRHJvxaHEq2JhcyBrxLzFq2RhLicsDQogICAgJ0dlbmVyaWMgZXJyb3IuJzogJ1Zpc3DEgXLEk2phIHJha3N0dXJhIGvEvMWrZGEuJywNCiAgICAnSU8gZXJyb3IuJzogJ0lldmFkZXMvSXp2YWRlcyBrxLzFq2RhLicNCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/nl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gRHV0Y2gNCnBsdXBsb2FkLmFkZEkxOG4oew0KICAgJ1NlbGVjdCBmaWxlcycgOiAnU2VsZWN0ZWVyIGJlc3RhbmQoZW4pOicsDQogICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdWb2VnIGJlc3RhbmRlbiB0b2UgYWFuIGRlIHdhY2h0cmlqIGVuIGRydWsgb3AgXCdTdGFydFwnLicsDQogICAnRmlsZW5hbWUnIDogJ0Jlc3RhbmRzbmFhbScsDQogICAnU3RhdHVzJyA6ICdTdGF0dXMnLA0KICAgJ1NpemUnIDogJ0dyb290dGUnLA0KICAgJ0FkZCBmaWxlcycgOiAnVm9lZyBiZXN0YW5kZW4gdG9lJywNCiAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdTdG9wIHVwbG9hZCcsDQogICAnU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdTdGFydCB1cGxvYWQnLA0KICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJyVkLyVkIGJlc3RhbmRlbiBnZS11cGxvYWQnLA0KICAgJ04vQScgOiAnTmlldCBiZXNjaGlrYmFhcicsDQogICAnRHJhZyBmaWxlcyBoZXJlLicgOiAnU2xlZXAgYmVzdGFuZGVuIGhpZXJoZWVuLicsDQogICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ09uZ2VsZGlnIGJlc3RhbmRzdHlwZS4nLA0KICAgJ0ZpbGUgc2l6ZSBlcnJvci4nOiAnQmVzdGFuZHNncm9vdHRlIEVycm9yLicsDQogICAnSW5pdCBlcnJvci4nOiAnSW5pdGlhbGlzYXRpZSBlcnJvci4nLA0KICAgJ0hUVFAgRXJyb3IuJzogJ0hUVFAgRXJyb3IuJywNCiAgICdTZWN1cml0eSBlcnJvci4nOiAnQmV2ZWlsaWdpbmcgZXJyb3IuJywNCiAgICdHZW5lcmljIGVycm9yLic6ICdPbmJla2VuZGUgZXJyb3IuJywNCiAgICdJTyBlcnJvci4nOiAnSU8gZXJyb3IuJw0KfSk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/pt-br.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQnJhemlsaWFuIFBvcnR1Z3Vlc2UKcGx1cGxvYWQuYWRkSTE4bih7CiAgICdTZWxlY3QgZmlsZXMnIDogJ0VzY29saGEgb3MgYXJxdWl2b3MnLAogICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICdBZGljaW9uZSBvcyBhcnF1aXZvcyBhYmFpeG8gZSBjbGlxdWUgbm8gYm90w6NvICJJbmljaWFyIG8gZW52aW8iLicsCiAgICdGaWxlbmFtZScgOiAnTm9tZSBkbyBhcnF1aXZvJywKICAgJ1N0YXR1cycgOiAnU3RhdHVzJywKICAgJ1NpemUnIDogJ1RhbWFuaG8nLAogICAnQWRkIEZpbGVzJyA6ICdBZGljaW9uYXIgYXJxdWl2byhzKScsCiAgICdTdG9wIFVwbG9hZCcgOiAnUGFyYXIgbyBlbnZpbycsCiAgICdTdGFydCBVcGxvYWQnIDogJ0luaWNpYXIgbyBlbnZpbycsCiAgICdBZGQgZmlsZXMnIDogJ0FkaWNpb25hciBhcnF1aXZvKHMpJywKICAgJ0FkZCBmaWxlcy4nIDogJ0FkaWNpb25hciBhcnF1aXZvKHMpJywKICAgJ1N0b3AgdXBsb2FkJyA6ICdQYXJhciBvIGVudmlvJywKICAgJ1N0YXJ0IHVwbG9hZCcgOiAnSW5pY2lhciBvIGVudmlvJywKICAgJ1VwbG9hZGVkICVkLyVkIGZpbGVzJzogJ0VudmlhZG8ocykgJWQvJWQgYXJxdWl2byhzKScsCiAgICdOL0EnIDogJ04vRCcsCiAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdBcnJhc3RlIG9zIGFycXVpdm9zIHByYSBjw6EnLAogICAnRmlsZSBleHRlbnNpb24gZXJyb3IuJzogJ1RpcG8gZGUgYXJxdWl2byBuw6NvIHBlcm1pdGlkby4nLAogICAnRmlsZSBzaXplIGVycm9yLic6ICdUYW1hbmhvIGRlIGFycXVpdm8gbsOjbyBwZXJtaXRpZG8uJywKICAgJ0ZpbGUgY291bnQgZXJyb3IuJzogJ0Vycm8gbmEgY29udGFnZW0gZG9zIGFycXVpdm9zJywKICAgJ0luaXQgZXJyb3IuJzogJ0Vycm8gaW5pY2lhbGl6YW5kby4nLAogICAnSFRUUCBFcnJvci4nOiAnRXJybyBIVFRQLicsCiAgICdTZWN1cml0eSBlcnJvci4nOiAnRXJybyBkZSBzZWd1cmFuw6dhLicsCiAgICdHZW5lcmljIGVycm9yLic6ICdFcnJvIGdlbsOpcmljby4nLAogICAnSU8gZXJyb3IuJzogJ0Vycm8gZGUgRS9TLicsCiAgICdGaWxlOiAlcyc6ICdBcnF1aXZvOiAlcycsCiAgICdDbG9zZSc6ICdGZWNoYXInLAogICAnJWQgZmlsZXMgcXVldWVkJzogJyVkIGFycXVpdm8ocyknLAogICAnVXNpbmcgcnVudGltZTogJzogJ1VzYW5kbzogJywKICAgJ0ZpbGU6ICVmLCBzaXplOiAlcywgbWF4IGZpbGUgc2l6ZTogJW0nOiAnQXJxdWl2bzogJWYsIHRhbWFuaG86ICVzLCBtw6F4aW1vOiAlbScsCiAgICdVcGxvYWQgZWxlbWVudCBhY2NlcHRzIG9ubHkgJWQgZmlsZShzKSBhdCBhIHRpbWUuIEV4dHJhIGZpbGVzIHdlcmUgc3RyaXBwZWQuJzogJ1PDsyBzw6NvIGFjZWl0b3MgJWQgYXJxdWl2b3MgcG9yIHZlei4gTyBxdWUgcGFzc291IGRpc3NvIGZvaSBkZXNjYXJ0YWRvLicsCiAgICdVcGxvYWQgVVJMIG1pZ2h0IGJlIHdyb25nIG9yIGRvZXNuXCd0IGV4aXN0JzogJ1VSTCBkZSBlbnZpbyBlc3TDoSBlcnJhZGEgb3UgbsOjbyBleGlzdGUnLAogICAnRXJyb3I6IEZpbGUgdG9vIGxhcmdlOiAnOiAnRXJybzogQXJxdWl2byBtdWl0byBncmFuZGU6ICcsCiAgICdFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogJzogJ0Vycm86IFRpcG8gZGUgYXJxdWl2byBuw6NvIHBlcm1pdGlkbzogJwp9KTsK]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/ro.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gUm9tYW5pYW4NCnBsdXBsb2FkLmFkZEkxOG4oew0KICAgICdTZWxlY3QgZmlsZXMnIDogJ1NlbGVjdGFyZSBmacWfaWVyZScsDQogICAgJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnQWRhdWfEgyBmacWfaWVyZSDDrm4gbGlzdGEgYXBvaSBhcGFzxIMgYnV0b251bCBcJ8OObmNlcGUgw65uY8SDcmNhcmVcJy4nLA0KICAgICdGaWxlbmFtZScgOiAnTnVtZSBmacWfaWVyJywNCiAgICAnU3RhdHVzJyA6ICdTdGFyZScsDQogICAgJ1NpemUnIDogJ03Eg3JpbWUnLA0KICAgICdBZGQgZmlsZXMnIDogJ0FkxIN1Z2FyZSBmacWfaWVyZScsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ8OObnRyZXJ1cGUgw65uY8SDcmNhcmVhIGN1cmVudMSDJywNCiAgICAnU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICfDjm5jZXBlIGluY8SDcmNhcmVhJywNCiAgICAnVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnRmnFn2llcmUgw65uY8SDcmNhdGUgJWQvJWQnLA0KICAgICdOL0EnIDogJ04vQScsDQogICAgJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ1RyYWdlIGFpY2kgZmnFn2llcmVsZScsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICdFeHRlbnNpZSBmacWfaWVyIGVyb25hdMSDJywNCiAgICAnRmlsZSBzaXplIGVycm9yLic6ICdFcm9hcmUgZGltZW5zaXVuZSBmacWfaWVyJywNCiAgICAnSW5pdCBlcnJvci4nOiAnRXJvYXJlIGluacWjaWFsaXphcmUnLA0KICAgICdIVFRQIEVycm9yLic6ICdFcm9hcmUgSFRUUCcsDQogICAgJ1NlY3VyaXR5IGVycm9yLic6ICdFcm9hcmUgc2VjdXJpdGF0ZScsDQogICAgJ0dlbmVyaWMgZXJyb3IuJzogJ0Vyb2FyZSBnZW5lcmljxIMnLA0KICAgICdJTyBlcnJvci4nOiAnRXJvYXJlIEludHJhcmUvSWXFn2lyZScsDQogICAgJ1N0b3AgVXBsb2FkJzogJ09wcmlyZSDDrm5jxINyY2FyZScsDQogICAgJ1N0YXJ0IHVwbG9hZCc6ICfDjm5jZXBlIMOubmPEg3JjYXJlJywNCiAgICAnJWQgZmlsZXMgcXVldWVkJzogJyVkIGZpxZ9pZXJlIGxpc3RhdGUnDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/ru.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gUnVzc2lhbg0KcGx1cGxvYWQuYWRkSTE4bih7DQogICAgJ1NlbGVjdCBmaWxlcycgOiAn0JLRi9Cx0LXRgNC40YLQtSDRhNCw0LnQu9GLJywNCiAgICAnQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uJyA6ICfQlNC+0LHQsNCy0YzRgtC1INGE0LDQudC70Ysg0LIg0L7Rh9C10YDQtdC00Ywg0Lgg0L3QsNC20LzQuNGC0LUg0LrQvdC+0L/QutGDICLQl9Cw0LPRgNGD0LfQuNGC0Ywg0YTQsNC50LvRiyIuJywNCiAgICAnRmlsZW5hbWUnIDogJ9CY0LzRjyDRhNCw0LnQu9CwJywNCiAgICAnU3RhdHVzJyA6ICfQodGC0LDRgtGD0YEnLA0KICAgICdTaXplJyA6ICfQoNCw0LfQvNC10YAnLA0KICAgICdBZGQgZmlsZXMnIDogJ9CU0L7QsdCw0LLQuNGC0Ywg0YTQsNC50LvRiycsDQogICAgJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ9Ce0YHRgtCw0L3QvtCy0LjRgtGMINC30LDQs9GA0YPQt9C60YMnLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ9CX0LDQs9GA0YPQt9C40YLRjCDRhNCw0LnQu9GLJywNCiAgICAnVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAn0JfQsNCz0YDRg9C20LXQvdC+ICVkINC40LcgJWQg0YTQsNC50LvQvtCyJywNCiAgICAnTi9BJyA6ICdOL0QnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICfQn9C10YDQtdGC0LDRidC40YLQtSDRhNCw0LnQu9GLINGB0Y7QtNCwLicsDQogICAgJ0ZpbGUgZXh0ZW5zaW9uIGVycm9yLic6ICfQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0YDQsNGB0YjQuNGA0LXQvdC40LUg0YTQsNC50LvQsC4nLA0KICAgICdGaWxlIHNpemUgZXJyb3IuJzogJ9Cd0LXQv9GA0LDQstC40LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsC4nLA0KICAgICdJbml0IGVycm9yLic6ICfQntGI0LjQsdC60LAg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguJywNCiAgICAnSFRUUCBFcnJvci4nOiAn0J7RiNC40LHQutCwIEhUVFAuJywNCiAgICAnU2VjdXJpdHkgZXJyb3IuJzogJ9Ce0YjQuNCx0LrQsCDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LguJywNCiAgICAnR2VuZXJpYyBlcnJvci4nOiAn0J7QsdGJ0LDRjyDQvtGI0LjQsdC60LAuJywNCiAgICAnSU8gZXJyb3IuJzogJ9Ce0YjQuNCx0LrQsCDQstCy0L7QtNCwLdCy0YvQstC+0LTQsC4nDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/sr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/Ly8gU2VyYmlhbg0KcGx1cGxvYWQuYWRkSTE4bih7DQogICAgJ1NlbGVjdCBmaWxlcycgOiAnSXphYmVyaXRlIGZhamxvdmUnLA0KICAgICdBZGQgZmlsZXMgdG8gdGhlIHVwbG9hZCBxdWV1ZSBhbmQgY2xpY2sgdGhlIHN0YXJ0IGJ1dHRvbi4nIDogJ0RvZGFqdGUgZmFqbG92ZSB1IGxpc3R1IGkga2xpa25pdGUgbmEgZHVnbWUgU3RhcnQuJywNCiAgICAnRmlsZW5hbWUnIDogJ05heml2IGZhamxhJywNCiAgICAnU3RhdHVzJyA6ICdTdGF0dXMnLA0KICAgICdTaXplJyA6ICdWZWxpxI1pbmEnLA0KICAgICdBZGQgRmlsZXMnIDogJ0RvZGFqIGZhamxvdmUnLA0KICAgICdTdG9wIGN1cnJlbnQgdXBsb2FkJyA6ICdaYXVzdGF2aSB1cGxvYWQnLA0KICAgICdTdGFydCB1cGxvYWRpbmcgcXVldWUnIDogJ1BvxI1uaSB1cGxvYWQnLA0KICAgICdEcmFnIGZpbGVzIGhlcmUuJyA6ICdQcmV2dWNpdGUgZmFqbG92ZSBvdmRlLicsDQogICAgJ1N0YXJ0IFVwbG9hZCc6ICdQb8SNbmkgdXBsb2FkJywNCiAgICAnVXBsb2FkZWQgJWQvJWQgZmlsZXMnOiAnU25pbWxqZW5vICVkLyVkIGZhamxvdmEnDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/i18n/sv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/Ly8gLnBvIGZpbGUgbGlrZSBsYW5ndWFnZSBwYWNrDQpwbHVwbG9hZC5hZGRJMThuKHsNCgknU2VsZWN0IGZpbGVzJyA6ICdWw6RsaiBmaWxlcicsDQoJJ0FkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLicgOiAnTMOkZ2cgdGlsbCBmaWxlciB0aWxsIGvDtm4gb2NoIHRyeWNrIHDDpSBzdGFydC4nLA0KCSdGaWxlbmFtZScgOiAnRmlsbmFtbicsDQoJJ1N0YXR1cycgOiAnU3RhdHVzJywNCgknU2l6ZScgOiAnU3RvcmxlaycsDQoJJ0FkZCBmaWxlcycgOiAnTMOkZ2cgdGlsbCBmaWxlcicsDQoJJ1N0b3AgY3VycmVudCB1cGxvYWQnIDogJ1N0b3BwYSB1cHBsYWRkbmluZ2VuJywNCgknU3RhcnQgdXBsb2FkaW5nIHF1ZXVlJyA6ICdTdGFydGEgdXBwbGFkZG5pbmdlbicsDQoJJ0RyYWcgZmlsZXMgaGVyZS4nIDogJ0RyYSBmaWxlciBoaXQnDQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogDQogICBQbHVwbG9hZA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQoucGx1cGxvYWRfYnV0dG9uIHsNCglkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7IC8qIEZGIDwgMyovDQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCWZvbnQ6IG5vcm1hbCAxMnB4IHNhbnMtc2VyaWY7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGNvbG9yOiAjNDI0NTRhOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYWJhYmE7DQogICAgcGFkZGluZzogMnB4IDhweCAzcHggMjBweDsNCgltYXJnaW4tcmlnaHQ6IDRweDsNCiAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzIHVybCgnLi4vaW1nL2J1dHRvbnMucG5nJykgbm8tcmVwZWF0IDAgY2VudGVyOw0KCW91dGxpbmU6IDA7DQoNCiAgICAvKiBPcHRpb25hbCByb3VuZGVkIGNvcm5lcnMgZm9yIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdCAqLw0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KfQ0KDQoucGx1cGxvYWRfYnV0dG9uOmhvdmVyIHsNCgljb2xvcjogIzAwMDsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi5wbHVwbG9hZF9kaXNhYmxlZCwgYS5wbHVwbG9hZF9kaXNhYmxlZDpob3ZlciB7DQogICAgY29sb3I6ICM3MzczNzM7DQogICAgYm9yZGVyLWNvbG9yOiAjYzVjNWM1Ow0KICAgIGJhY2tncm91bmQ6ICNlZGVkZWQgdXJsKCcuLi9pbWcvYnV0dG9ucy1kaXNhYmxlZC5wbmcnKSBuby1yZXBlYXQgMCBjZW50ZXI7DQoJY3Vyc29yOiBkZWZhdWx0Ow0KfQ0KDQoucGx1cGxvYWRfYWRkIHsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgxcHggY2VudGVyOw0KfQ0KDQoucGx1cGxvYWRfd3JhcHBlciB7DQoJZm9udDogbm9ybWFsIDExcHggVmVyZGFuYSxzYW5zLXNlcmlmOw0KCXdpZHRoOiAxMDAlOw0KfQ0KDQoucGx1cGxvYWRfY29udGFpbmVyIHsNCglwYWRkaW5nOiA4cHg7DQoJYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvdHJhbnNwNTAucG5nJyk7DQoJLyotbW96LWJvcmRlci1yYWRpdXM6IDVweDsqLw0KfQ0KDQoucGx1cGxvYWRfY29udGFpbmVyIGlucHV0IHsNCglib3JkZXI6IDFweCBzb2xpZCAjREREOw0KCWZvbnQ6IG5vcm1hbCAxMXB4IFZlcmRhbmEsc2Fucy1zZXJpZjsNCgl3aWR0aDogOTglOw0KfQ0KDQoucGx1cGxvYWRfaGVhZGVyIHtiYWNrZ3JvdW5kOiAjMkEyQzJFIHVybCgnLi4vaW1nL2JhY2tncm91bmRzLmdpZicpIHJlcGVhdC14O30NCi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCB7DQoJYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYmFja2dyb3VuZHMuZ2lmJykgbm8tcmVwZWF0IDAgLTMxN3B4Ow0KCW1pbi1oZWlnaHQ6IDU2cHg7DQoJcGFkZGluZy1sZWZ0OiA2MHB4Ow0KCWNvbG9yOiAjRkZGOw0KfQ0KLnBsdXBsb2FkX2hlYWRlcl90aXRsZSB7DQoJZm9udDogbm9ybWFsIDE4cHggc2Fucy1zZXJpZjsNCglwYWRkaW5nOiA2cHggMCAzcHg7DQp9DQoucGx1cGxvYWRfaGVhZGVyX3RleHQgew0KCWZvbnQ6IG5vcm1hbCAxMnB4IHNhbnMtc2VyaWY7DQp9DQoNCi5wbHVwbG9hZF9maWxlbGlzdCB7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQoJbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLnBsdXBsb2FkX3Njcm9sbCAucGx1cGxvYWRfZmlsZWxpc3Qgew0KCWhlaWdodDogMTg1cHg7DQoJYmFja2dyb3VuZDogI0Y1RjVGNTsNCglvdmVyZmxvdy15OiBzY3JvbGw7DQp9DQoNCi5wbHVwbG9hZF9maWxlbGlzdCBsaSB7DQoJcGFkZGluZzogMTBweCA4cHg7DQoJYmFja2dyb3VuZDogI0Y1RjVGNSB1cmwoJy4uL2ltZy9iYWNrZ3JvdW5kcy5naWYnKSByZXBlYXQteCAwIC0xNTZweDsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERDsNCn0NCg0KLnBsdXBsb2FkX2ZpbGVsaXN0X2hlYWRlciwgLnBsdXBsb2FkX2ZpbGVsaXN0X2Zvb3RlciB7DQoJYmFja2dyb3VuZDogI0RGREZERjsNCglwYWRkaW5nOiA4cHggOHB4Ow0KCWNvbG9yOiAjNDI0NTRBOw0KfQ0KLnBsdXBsb2FkX2ZpbGVsaXN0X2hlYWRlciB7CQ0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjRUVFOw0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0RDRENEOw0KfQ0KDQoucGx1cGxvYWRfZmlsZWxpc3RfZm9vdGVyIHtib3JkZXItdG9wOiAxcHggc29saWQgI0ZGRjsgaGVpZ2h0OiAyMnB4OyBsaW5lLWhlaWdodDogMjBweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTt9DQoucGx1cGxvYWRfZmlsZV9uYW1lIHtmbG9hdDogbGVmdDsgb3ZlcmZsb3c6IGhpZGRlbn0NCi5wbHVwbG9hZF9maWxlX3N0YXR1cyB7Y29sb3I6ICM3Nzc7fQ0KLnBsdXBsb2FkX2ZpbGVfc3RhdHVzIHNwYW4ge2NvbG9yOiAjNDI0NTRBO30NCi5wbHVwbG9hZF9maWxlX3NpemUsIC5wbHVwbG9hZF9maWxlX3N0YXR1cywgLnBsdXBsb2FkX3Byb2dyZXNzIHsNCglmbG9hdDogcmlnaHQ7DQoJd2lkdGg6IDgwcHg7DQp9DQoucGx1cGxvYWRfZmlsZV9zaXplLCAucGx1cGxvYWRfZmlsZV9zdGF0dXMsIC5wbHVwbG9hZF9maWxlX2FjdGlvbiB7dGV4dC1hbGlnbjogcmlnaHQ7fQ0KDQoucGx1cGxvYWRfZmlsZWxpc3QgLnBsdXBsb2FkX2ZpbGVfbmFtZSB7d2lkdGg6IDIwNXB4fQ0KDQoucGx1cGxvYWRfZmlsZV9hY3Rpb24gew0KCWZsb2F0OiByaWdodDsNCgl3aWR0aDogMTZweDsNCgloZWlnaHQ6IDE2cHg7DQoJbWFyZ2luLWxlZnQ6IDE1cHg7DQp9DQoNCi5wbHVwbG9hZF9maWxlX2FjdGlvbiAqIHsNCglkaXNwbGF5OiBub25lOw0KCXdpZHRoOiAxNnB4Ow0KCWhlaWdodDogMTZweDsNCn0NCg0KbGkucGx1cGxvYWRfdXBsb2FkaW5nIHtiYWNrZ3JvdW5kOiAjRUNGM0RDIHVybCgnLi4vaW1nL2JhY2tncm91bmRzLmdpZicpIHJlcGVhdC14IDAgLTIzOHB4O30NCmxpLnBsdXBsb2FkX2RvbmUge2NvbG9yOiNBQUF9DQoNCmxpLnBsdXBsb2FkX2RlbGV0ZSBhIHsNCgliYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9kZWxldGUuZ2lmJyk7DQp9DQoNCmxpLnBsdXBsb2FkX2ZhaWxlZCBhIHsNCgliYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9lcnJvci5naWYnKTsNCgljdXJzb3I6IGRlZmF1bHQ7DQp9DQoNCmxpLnBsdXBsb2FkX2RvbmUgYSB7DQoJYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvZG9uZS5naWYnKTsNCgljdXJzb3I6IGRlZmF1bHQ7DQp9DQoNCi5wbHVwbG9hZF9wcm9ncmVzcywgLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMgew0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCi5wbHVwbG9hZF9wcm9ncmVzc19jb250YWluZXIgew0KCW1hcmdpbi10b3A6IDNweDsNCglib3JkZXI6IDFweCBzb2xpZCAjQ0NDOw0KCWJhY2tncm91bmQ6ICNGRkY7DQoJcGFkZGluZzogMXB4Ow0KfQ0KLnBsdXBsb2FkX3Byb2dyZXNzX2JhciB7DQoJd2lkdGg6IDBweDsNCgloZWlnaHQ6IDdweDsNCgliYWNrZ3JvdW5kOiAjQ0RFQjhCOw0KfQ0KDQoucGx1cGxvYWRfc2Nyb2xsIC5wbHVwbG9hZF9maWxlbGlzdF9oZWFkZXIgLnBsdXBsb2FkX2ZpbGVfYWN0aW9uLCAucGx1cGxvYWRfc2Nyb2xsIC5wbHVwbG9hZF9maWxlbGlzdF9mb290ZXIgLnBsdXBsb2FkX2ZpbGVfYWN0aW9uIHsNCgltYXJnaW4tcmlnaHQ6IDE3cHg7DQp9DQoNCi8qIEZsb2F0cyAqLw0KDQoucGx1cGxvYWRfY2xlYXIsLnBsdXBsb2FkX2NsZWFyZXIge2NsZWFyOiBib3RoO30NCi5wbHVwbG9hZF9jbGVhcmVyLCAucGx1cGxvYWRfcHJvZ3Jlc3NfYmFyIHsNCglkaXNwbGF5OiBibG9jazsNCglmb250LXNpemU6IDA7DQoJbGluZS1oZWlnaHQ6IDA7CQ0KfQ0KDQpsaS5wbHVwbG9hZF9kcm9wdGV4dCB7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQoJYm9yZGVyOiAwOw0KCWxpbmUtaGVpZ2h0OiAxNjVweDsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/backgrounds.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhUABtAffCAGFkaP7+/vb29v///+zz3O713vz8/Pj4+P39/fn5+fX19fv7+/f+5/X85fD34Pr6+u303ff39/H44e/23zQ3OjY4Ozc6PTg7Pjo8QDs+QT1ARDw/Qz5BRT9CRkFESEJFSkFFSSosLvT75PL64/b95kRHS/j/6Pb+5y4xM/j+6fT85fP75DM1OPL54vP64/X95jAyNSstMDE0Ny0vMkVITENGS/f/6F5hZV9iZtPU1WFjZ2BiZl1hZF1gY1xeYllcX1tdYVhbXVpcYFdZXFZYW1VXWtLT1FRWWEZKTtjY2Y6Qk3h7flhbX9PT1OLi41VZXW9xdfPz811gZGdqbuvs7I+RlJaXmpyen4KFiKOkpYmLjjs9QFRXW7i5u9bX2IOGid7f4OTl5uHi4+jo6EhMUNLT09TV1klNUdHS09LS009TV+7u7tna29vc3evr66KjpVteYvHx8amqq5qcn1tfY8zNzqeoq7O1tmBjZ8DBwkxPUVxgY1JWWktOUlNWWlRWWVNVWEhLT2JlaTs9QVlbX1BTVkdKTUxQVNXW10ZISmRna05QVFNVWURHTFBTVVFUWFJVWE5RUzU4O0xPU0JFSU9SVE9RU0NGST1AQ0JFSElLTldaXktNUIGDh6qsrWNmaujp6XZ4fKChpLS1tsfIyaeoqbu7vZianausrenq6nd6fWVobF9jZ5KUl2Zpbe/v73p8f3h7f7/Awd7f36SmqHt9gbq7vV1hZVxfY1VYXPT09Obm54yOkcPExkdKTm5wdIWHikVJTUVJTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMIALAAAAABQAG0BAAj/AIMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjBGkoXcq0qdOnUKNKnUpVaYmrWLNq3cq1q9evYMNerUG2rNmzaNOqXcu2rVuyH+LKnUu3rt27ePPq3RsXhN+/gAMLHky4sOHDiP16WMy4sePHkCNLnky58uIOmDNr3sy5s+fPoEOLxsyhtOnTqFOrXs26tevXpTXInk27tu3buHPr3s1b9obfwIMLH068uPHjyJP/zsC8ufPn0KNLn069unXmGLJr3869u/fv4MOL/x+f/YL58+jTq1/Pvr379/DNW5hPv779+/jz69/Pv//8CgAGKOCABBZo4IEIJqgggBQ06OCDEEYo4YQUVmjhhQ2yoOGGHHbo4YcghijiiCRqKMOJKKao4oostujiizDGeCIMNNZo44045qjjjjz26CONKAQp5JBEFmnkkUgmqeSSQc7g5JNQRinllFRWaeWVWDoZw5Zcdunll2CGKeaYZJa5ZQhopqnmmmy26eabcMYpJ5rC1GnnnXjmqeeefPbp55+ABirooIQWauihiCaq6KKMNuroo5BGKumklFZq6aWYZqrpppx26umnoIYq6qiklmrqqaimquqqrLbq6quwxv8q66y01mrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7LLMNuvss9BGK+201FZr7bXYZqvtttx26+234IYr7rjklmvuueimq+667Lbr7rvwwjvAvPTWa++9+Oar77789uvvvwAHLPDABBdssL4BJKzwwgw37PDDEEcs8cQUV2zxxRhnrPHGHHfs8ccbIyDyyCSXbPLJKKes8sost+zyyzDHLPPMNNecsgE456zzzjz37PPPQAct9NBEF2300UgnrfTSPy/g9NNQRy311FRXbfXVWGet9dZcd+3112CHXfUDZJdt9tlop6322my37fbbcMct99xpJ2D33XjnrffefPf/7fffgAcu+OCEF2744Ygn3vcBjDfu+OOQRy755JRXbvnlmGeu+eacd+7555NHIPropJdu+umop6766qy37vrrsMd+ugC012777bjnrvvuvPfu++/ABy/88MQXb/zxuyug/PLMN+/889BHL/301Fdv/fXYZ6/99tx3H3284Icv/vjkl2/++einr/767Lfv/vvwxy///PTXb//9+Oevf7Qp9O///wAMoAAHSMACGvCA/TOBAhfIwAY68IEQjKAEJ0hBBdrgghjMoAY3yMEOevCDIAzhBRlAwhKa8IQoTKEKV8jCFrrwhTCMoQxnmMIT2PCGOMyhDnfIwx768IdAtCEJ/4ZIxCIa8YhITKISl8jEJg7xBVCMohSnSMUqWvGKWMyiFqHYgC568YtgDKMYx0jGMprxjGhMoxrXyEYxquCNcIyjHOdIxzra8Y54zOMbRcDHPvrxj4AMpCAHSchCGpKPK0ikIhfJyEY68pGQjKQkJ5lIF1jykpjMpCY3yclOevKToLTkCEZJylKa8pSoTKUqV8nKVo6yBbCMpSxnScta2vKWuMylLmEpgV768pfADKYwh0nMYhrzmMhMpjKXyUxhOuCZ0IymNKdJzWpa85rYzKY2t8nNbnqTmhMIpzjHSc5ymvOc6EynOtfJzna6853wNGcB5knPetrznvjMpz73yf/PfvrznwANqEAHStCCGlSfEEioQhfK0IY69KEQjahEJ0rRilr0ohh1KAE2ytGOevSjIA2pSEdK0pKa9KQoTalKV8rSlrpUpPuLqUxnStOa2vSmOM2pTnfK05769KdADapQh0rUohr1qEhNqlLZ1xAkTIIPm4CDFHCAAynAYRN8mAQSGrKphZyBC1IAgFjHSlaxSoELZ1hIVxFChlywoqxwLSsenkCGhKzVIGq4QVz3WtYbqAEhdx0IEp7A18KW9QlbLUhgg+ELJhj2sWNlQmIHElgkOBaymJUsQQJL2Mcq4bNKgOwTNqupgagBs2ZIrRmmwNrWrkIQcP2rQNZKBr3/QtYLuPUCFHbLWyj8QhF9rWsw1tpZyLLhuGxYgnKXq1xVAJesox1uac+AB8wCoA3YbcMXtvsFLHjXu7GQa1q7ygXrAgAM6AWDFta7Xl6AVgmuKCsXpJspJITVumLIrxiqwN/+nmIOAA5FWaWAhE0dwrwACIOCw2CFBjtYFHaIcCfgeohN+QHBY8jwGK7A4Q574g4gBgZc/bCpy1rXDSh2QxZWvOJSyCIPMIYFXJmwKTogeA04XoMcdoyKUZCiDkDuBWzLSodN3YKvXciBkpecg1fE4clJiLKUpdyKuN5gUzhAMpOXvIsoeNkJYA4zmE2xVxxgWctbzgEi4kA7Krj5/82goMUnyrwp28Y1yWlWcyp04WUvz8IWtSjslTVlY/MyGcG4KDGCD21eGmuKETqItKQnTelIN+HSTai0pifNiE31YQegDrWoRw1qTDeB1KgWdR821Qg4UPXVsI41VY1AayPI+tavhkMjNvWBR9zg18AOtrBvUGsjDPvYwH7EBzYFgmDsgQfQjra0p13saVtb2nsIBgg2tRhI9ODb4A63uMtA7jKI+9zhhsRiNoUZShDCB/COt7zlnYZ6p2He+I43ISiBmU2ZJhBACLjABz5wNBgcDQRPuMADYZpN0WYRQoi4xCcu8TdY/A0Uz3jEF0GbTQVHA4X4gchHTvKSm/zkhX7QQHA29RxMVCIIMI+5zGdO85lXAhPP2VR3BsGJIfj850APutB/zolBdGdT7LkEIIjA9KY7/elPB8Ql2LMp/WxBE38ogta3zvWuF+EPmtiCfjaVoC0kwhJHSLva1552SyRiCwnaFIYkkYFMGEIPkXCEIyKhB0NkIgOSwNCkAgIAOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/buttons-disabled.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAWkAAAAUCAMAAAB4bjzXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAklQTFRF9fX17u7u8/Pz8fHx7e3t9PT07+/v8PDw8vLy////cLhZoqKih4eHd7xgvb29nZ2doaGhxsbGsrKyxNO8c7pcoKCgx8fHi7GHr6+vnp6epsCknJycxcXFR40+mMyHjo6Ol5eXb7VYcqlks9mll9WLfMNrWphRzunJltSLjMuBSI4+t9qqx9LGV55FtduobKpakLx739/fkLt9ib54fsFpiIiIj8J9pdubrKyssbGxlNOKfLpki7p1hLNzhc15tra24+Pjl8eFis99ich/s7OzioqKzNXKtd+ss92py9TJtt2seb1ulbiQ0NfN1OvPcb5fmMyKhsl84PLcZaFWiYmJfsdvesZr3d3dycnJ3PHYaKtTt+CvuLi4mdGLxejAz9fNRYs+y+bDpKSko6OjgbNtfblrr9+ltMyomMuGfb5nbrVYtsqx09rQdatl1NrRfbxmveS2kbx+jsyEfblqtNqmpM6Uu9yvZJ9XlriQaqxbZatVT5FIb7VZjb57q9SchrV1hLVwcrlbgcx1r9+mtMypisJ5Q4s6goKCtN2qqsahRIs6kJCQ1+7StMmvdLdcdLdbQo02ptCWs8iuqKiowcHBps+Wj4+PfHx8wsLCjtKDltOJO4U0wMDAYZ1UUJlBuN2voNmVgICAhsl6yNLHQ484tNmlstuovLy8lZWVmZmZf7ltqtSdvuK2w8PD4ODgoNmWcMFjqMSfkLx8a6pYUJJJksWAeLRkecFkt8uyXJlTndiSldSKRYo+gbRtY59Tl8yFfrFpk82I////2fGzsgAAAMN0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ajk4gvwAAAYpJREFUeNrs0GNzA1EYhuFNt027QdOktm3btm3btm3btu3zy7pN2v6DtvPO7D3znvP1mQvDAIYwKkqakv7/RACGBF9RV3lbVmt/KozRgKUlL6rTQ3RXD4rvYEgLfbceKwQl9PlIOtVElNme5qR0Rw5DGP0jzeKwzCFJl5gZxj+8V+g9zidm1/oAkp5hijOtTwBJ57oPrTl4EoSLdrSvcR0EaTF+apNz9uLSUW5iIELkWQR06ocHEkQ9Wyr5+h7AaAz/TF6OmyTH25WfxUGEyHs+0tog+DGsDg0AjBZIZ0jYKfGWFFm9cKTf/Dw6vqTzW3rASOO4ItdryhvH4Ug7hy3EnDWQzoz21+YrCNKigqRlXI9VRYGEyDtP6LsNZZPSBSNVW7IARmN0Qcw4GaVBOpAQecEalTtsKUaT+qimadomgNHf0pkSnP09SNL0wpcbE5VSx7zty0UFCKMxGsAQ/51YXrEZn7Yce1IAMRqwNM0/SEd5oFHWiEZJ/7I0rDBhgCGIoynpv+pDgAEAbYqvesQxV1EAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/buttons.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAWkAAAAUCAMAAAB4bjzXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAApdQTFRF8/Pz9fX19PT07u7u8fHx/v7+/f397e3t9vb2+/v7+fn57+/v/////Pz89/f3+Pj4+vr68PDw8vLycLhZd7xgxNO8qsuR9ffzpsCki7GHc7pcrc2UkLx8M4gLfbxmXJlTdLdcs9mldKtPoNmV09rQfsFpKYIKfMNruN2v8fTwecFk2OfVaqxbgbNafsdvkLt9cMFjZJ9Xy+bDtMypibhrj8J9NogaoceKhrV1gcx1RI8WhLNzqMuQhbZqisJ5NIkYhLVwgbNtpdubpciNb6U93Onar9+lbqQ4l8yFhc15r9+my9TJgLNh1OvPq9Scqsahl9WLaaM5V55FptCWRIs6Q484crlb8vbwV5goesZrpM6UUJJJtd+smMKDY58xt+CvX6FDkLx0SI4+zunJndiSdatl4PLcqMSfZZ8xs92pib54caY/x9LG0uPN1NrRaKtTmMuGT5FIlbiQoNmW1+7SRYs+tNqmqtSdbrVYtsqxl8KClsGAN4gJb7VYmMyHk82Is8iucqlktN2qSpEcjMuBhsl6eLRkKIADa6pYtduoaKVGfLpkY59Tcb5fhbZm3PHYgbRthsl8mMyKlriQf7ltzNXKR40+UpcinsWIfK9VM4cVXKA8eb1uksWAZqVItt2sjtKDQo02b7VZstuoO4U0yNLHveS2ZaFWdLdbocaKlNOKvuK2Yp4xWphRt9qqUJlBbKpaps+Wjrpvu9yvltOJkLx7frFpldSKich/jsyEz9fNgrVnt8uyQ4s6xejA8PXttMyoXp86RYo+1ubSHnsDfblql8eFYqNGjb570NfNfb5nsM6WW5spYZ1Ukbx+a6M3i7p1mdGLqcqQaKI1tMmvPIsQltSLZatVRpAZtNmlfblris99////6IUpKwAAAN10Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD5NwmvAAABtUlEQVR42mLgGYLgDuMQBAysQxCMhvRoSOMLabYhCO4wgYGK8TkHRwv/XUxDAgzhkBaViTLyTdaYkrpnaIQ0LxTsb8/lHSrgDgMQiF7YnLbMqdhtn93yKwxDAXBCQHjN7FmHOYcIAIV03tZ1/Sn1O69tXxB/y3Dq0Alp8RtdsfPstYdQSB84VqK8agcPj6e6XkzQ5KEQ0gIgIB6hZL676riZq8CQAHeEhIT053u1TJzDw6MjInVxrrzQ4AcMXCCQoSuW6GNbnXBEk2sogDssLCwTVge0QvoxwqrlSSyDH0BCOjtwpk3fjIOyalxDJqS3Zd62hIb0Kb+9QyGk+SFgjZjJyqv8QwSAQtp60pZIg+vAcBYO8zgRPRRCmg8CLktvcrbiGyLgjqCgYHp+k1avCDCkKxTKQiUFBz9g4IAA99PSl5o5hgi4w83NfbLx6GIRKeFFtSsUN5Qu5R78ABbSLufjzkwfSiHNXdnT1lkn111ws2OJBPdQCOmhOFhzhxkEGs6uNw3emLXwkATzUAAMTEMQQEKa2bto7bSQQskc5tGQpnFIDy3AMBTBHfYhCEZDml4AIMAAyDYZyvin1kIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/delete.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQALMIAP/////MzP/Mmf+Zmf+ZZv9mZsxmZsxmM////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAAQABAAAARhEMlJawXBaCOARdkQjIIWVGEgDGxQGKcEGOJA3HdpeCAR2LhbYXAYSGi2gnI5fB0FN4B0qiQegVPq8HAlMJkEAxdBHHyXZZnG/B2IeaC1t0BwH2KTzGFov38AfUV4H4QSEQA7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/done.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPefAK7cpZ3YkpDOf3LIaIPOd/z9+7fhr7XhrnrMbW7EYkKhM0mwJz+NO0ShM2y2VprHh5jLhrbRtZbLhrTapn28Zq3fm3+4aZrKh1zAO3DHZZC8jq/cpuf14eb046PXlpG5j6vTm53Oi7bQtYfCcqHXlVG3LnnJa9ns1D+LO3/KcPT68ny6ZODr4DuhJ3nBZJrUjXG5W3e8YH7Hb5bNiL7jtrrbtf3+/SaEI6HWlZvXkSZ/I3C/V2nISm/GZGq5ULTdqpjMh7/juIfJeeTy4YXFdYDKc3O6XHTDZH2+Z3TIaLXbqOn45WSwTD+FO7LbqDWPMcDkuW/CYXXIaJ/SkLfZtW/DYW+1WW23V7TZpW61WG+1WHPHZmzFS7XfrFzDPTV/MeHs4X23ZrfhsJnNij+ZPHbJaYvIeO3362bFSZTIj3LLVSl3Jcvsv7Hdp7PZparcl4nEdoDMcsvtwE6bQUyXPXDBY1q+N6/XoHS3W6vSm5nRi3TCWW7FY27EYWrDSXC4Wdbu0iqPJZ/SkXbKail6Jen35bTfrIO+bV6pSJfMhTR8MHHEY7Djn121P3S3XK7Xob7ftZHAjydyJFKgQuPx4XG+X1WzNZbHg5nQjH7BacHjtnK5W/H58ODu4P///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJ8ALAAAAAAQABAAAAjdAD8JHEiwYMEljNRgsOPnDQeDn+Tw2OMBAAAcPixpKsjGiwADAQgQCHDATAtIAwuhEXAAwaABSaSYMARHASWBFXYYQDAgA58Ei2jI6IIojUAuJHKU6dGnShQonjroCUFGYIk2cbaIAVQniKcCmDI9uiFwwYYURTh5OvN1Bgwkd3QIbCToxREhKjzZkHBlU6IHKAROYfLDRSUiJ8Y4yOJowhwNAoc0GOEkhpE/VrTgcWPhC5iBNQIdUgKEwgoIWMJIilCQypNJF0DkuURHkQiInSIxILSmyQcWEIMXDAgAOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/error.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPeAANWhPf777f777v7879ajPvXaWP776v789PTaXNWiPv/+/fv04/7778NsBufAffnu1/XbXPnplPLWVfDTj/DSjPTaXf777P369fTXTv767PHUhfTZV/PYjcl3DeGqMfvyw/z22OvLV/LWVPbbWvTaW/LWWPfluf768e3IcfrvtfjnlNmYI+i4OvXYUs+FFv/++ezDWv765+rAXuW/iO/OhvTfqevOq8p/KujDh/PYV+CnLdaTIPLXWPTjwPfow/357frv1fLXVvLXV/z11P365v789vXjvvbcXP343v355/XZVNKTRN+kK+i6Rfvy2u3Je8ZxCeq+ROi/YvHXnea5Xf358e3UttyeJ/HXovLYlNmgVfjt3vbaYsx+Ed2kO/fqyPDRgtadXfzzx/TcXvjmlMFoA/TZXP/9+fbfZNOMG/XYUei3Q+/OdPLcsvTWUN2xR/jli+7Mef788/788u/KaP7789qbJf368e7HXd2hKfXhrdGKHOW7aOWyN/rrnua2SP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIAALAAAAAAQABAAAAi/AAEJHEiwoEFACvDQUXCwIAcNYPQ0HHgiyh0ga6pMBMQmi5wYE2hMdMLiTAQ/GTw8aAijxg8CBIZgoXLQBIoXYxIkMBOAT5uCRZp8IVIBAAAhYnp4uUAwDgUDZBC8ARAEAhIHOAYu6FPnwxEEaEJIUKJiwZ4tAmVMSQJnBAmjIlq4ATFDCyAfUg6kKFAgB48SG9Rg4GJgiZU/Rg4wECBgwIDFAQJYmGPjxhMdTPJcsbNiRxoXXTpAaVAmzEaDAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/throbber.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/img/transp50.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAYAAAA8AXHiAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEhSURBVHja7NKxEQAwCMSwkMnZ/FmAklIawedK0g+OfQkwFsbCWGAsjIWxwFgYC2OBsTAWxgJjYSyMBcbCWBgLjIWxMBYYC2NhLDAWxsJYYCyMhbHAWBgLY4GxMBbGAmNhLIwFxsJYGAuMhbEwFhgLY2EsMBbGwlhgLIyFscBYGAtjgbEwFsYCY2EsjAXGwlgYC4yFsTAWGAtjYSwwFsbCWGAsjIWxwFgYC2OBsTAWxgJjYSyMhbHAWBgLY4GxMBbGAmNhLIwFxsJYGAuMhbEwFhgLY2EsMBbGwlhgLIyFscBYGAtjgbEwFsYCY2EsjAXGwlgYC4yFsTAWGAtjYSwwFsbCWGAsjIWxwFgYC2OBsTAWxgJjYSyMBcbCWBgLdiPAAGciBKl/QyaCAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.plupload.queue/jquery.plupload.queue.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGMpe3ZhciBkPXt9O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHBsdXBsb2FkLnRyYW5zbGF0ZShlKXx8ZX1mdW5jdGlvbiBiKGYsZSl7ZS5jb250ZW50cygpLmVhY2goZnVuY3Rpb24oZyxoKXtoPWMoaCk7aWYoIWguaXMoIi5wbHVwbG9hZCIpKXtoLnJlbW92ZSgpfX0pO2UucHJlcGVuZCgnPGRpdiBjbGFzcz0icGx1cGxvYWRfd3JhcHBlciBwbHVwbG9hZF9zY3JvbGwiPjxkaXYgaWQ9IicrZisnX2NvbnRhaW5lciIgY2xhc3M9InBsdXBsb2FkX2NvbnRhaW5lciI+PGRpdiBjbGFzcz0icGx1cGxvYWQiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlciI+PGRpdiBjbGFzcz0icGx1cGxvYWRfaGVhZGVyX2NvbnRlbnQiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlcl90aXRsZSI+JythKCJTZWxlY3QgZmlsZXMiKSsnPC9kaXY+PGRpdiBjbGFzcz0icGx1cGxvYWRfaGVhZGVyX3RleHQiPicrYSgiQWRkIGZpbGVzIHRvIHRoZSB1cGxvYWQgcXVldWUgYW5kIGNsaWNrIHRoZSBzdGFydCBidXR0b24uIikrJzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NvbnRlbnQiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVsaXN0X2hlYWRlciI+PGRpdiBjbGFzcz0icGx1cGxvYWRfZmlsZV9uYW1lIj4nK2EoIkZpbGVuYW1lIikrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfYWN0aW9uIj4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlX3N0YXR1cyI+PHNwYW4+JythKCJTdGF0dXMiKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+JythKCJTaXplIikrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NsZWFyZXIiPiZuYnNwOzwvZGl2PjwvZGl2Pjx1bCBpZD0iJytmKydfZmlsZWxpc3QiIGNsYXNzPSJwbHVwbG9hZF9maWxlbGlzdCI+PC91bD48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlbGlzdF9mb290ZXIiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfbmFtZSI+PGRpdiBjbGFzcz0icGx1cGxvYWRfYnV0dG9ucyI+PGEgaHJlZj0iIyIgY2xhc3M9InBsdXBsb2FkX2J1dHRvbiBwbHVwbG9hZF9hZGQiPicrYSgiQWRkIGZpbGVzIikrJzwvYT48YSBocmVmPSIjIiBjbGFzcz0icGx1cGxvYWRfYnV0dG9uIHBsdXBsb2FkX3N0YXJ0Ij4nK2EoIlN0YXJ0IHVwbG9hZCIpKyc8L2E+PC9kaXY+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlX2FjdGlvbiI+PC9kaXY+PGRpdiBjbGFzcz0icGx1cGxvYWRfZmlsZV9zdGF0dXMiPjxzcGFuIGNsYXNzPSJwbHVwbG9hZF90b3RhbF9zdGF0dXMiPjAlPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSI+MCBiPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX3Byb2dyZXNzIj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9wcm9ncmVzc19jb250YWluZXIiPjxkaXYgY2xhc3M9InBsdXBsb2FkX3Byb2dyZXNzX2JhciI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icGx1cGxvYWRfY2xlYXJlciI+Jm5ic3A7PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9IicrZisnX2NvdW50IiBuYW1lPSInK2YrJ19jb3VudCIgdmFsdWU9IjAiIC8+PC9kaXY+Jyl9Yy5mbi5wbHVwbG9hZFF1ZXVlPWZ1bmN0aW9uKGUpe2lmKGUpe3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBqLGksaztpPWModGhpcyk7az1pLmF0dHIoImlkIik7aWYoIWspe2s9cGx1cGxvYWQuZ3VpZCgpO2kuYXR0cigiaWQiLGspfWo9bmV3IHBsdXBsb2FkLlVwbG9hZGVyKGMuZXh0ZW5kKHtkcmFnZHJvcDp0cnVlLGNvbnRhaW5lcjprfSxlKSk7ZFtrXT1qO2Z1bmN0aW9uIGgobCl7dmFyIG47aWYobC5zdGF0dXM9PXBsdXBsb2FkLkRPTkUpe249InBsdXBsb2FkX2RvbmUifWlmKGwuc3RhdHVzPT1wbHVwbG9hZC5GQUlMRUQpe249InBsdXBsb2FkX2ZhaWxlZCJ9aWYobC5zdGF0dXM9PXBsdXBsb2FkLlFVRVVFRCl7bj0icGx1cGxvYWRfZGVsZXRlIn1pZihsLnN0YXR1cz09cGx1cGxvYWQuVVBMT0FESU5HKXtuPSJwbHVwbG9hZF91cGxvYWRpbmcifXZhciBtPWMoIiMiK2wuaWQpLmF0dHIoImNsYXNzIixuKS5maW5kKCJhIikuY3NzKCJkaXNwbGF5IiwiYmxvY2siKTtpZihsLmhpbnQpe20uYXR0cigidGl0bGUiLGwuaGludCl9fWZ1bmN0aW9uIGYoKXtjKCJzcGFuLnBsdXBsb2FkX3RvdGFsX3N0YXR1cyIsaSkuaHRtbChqLnRvdGFsLnBlcmNlbnQrIiUiKTtjKCJkaXYucGx1cGxvYWRfcHJvZ3Jlc3NfYmFyIixpKS5jc3MoIndpZHRoIixqLnRvdGFsLnBlcmNlbnQrIiUiKTtjKCJzcGFuLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiLGkpLnRleHQoYSgiVXBsb2FkZWQgJWQvJWQgZmlsZXMiKS5yZXBsYWNlKC8lZFwvJWQvLGoudG90YWwudXBsb2FkZWQrIi8iK2ouZmlsZXMubGVuZ3RoKSl9ZnVuY3Rpb24gZygpe3ZhciBtPWMoInVsLnBsdXBsb2FkX2ZpbGVsaXN0IixpKS5odG1sKCIiKSxuPTAsbDtjLmVhY2goai5maWxlcyxmdW5jdGlvbihwLG8pe2w9IiI7aWYoby5zdGF0dXM9PXBsdXBsb2FkLkRPTkUpe2lmKG8udGFyZ2V0X25hbWUpe2wrPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK2srIl8iK24rJ190bXBuYW1lIiB2YWx1ZT0iJytwbHVwbG9hZC54bWxFbmNvZGUoby50YXJnZXRfbmFtZSkrJyIgLz4nfWwrPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK2srIl8iK24rJ19uYW1lIiB2YWx1ZT0iJytwbHVwbG9hZC54bWxFbmNvZGUoby5uYW1lKSsnIiAvPic7bCs9JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicraysiXyIrbisnX3N0YXR1cyIgdmFsdWU9IicrKG8uc3RhdHVzPT1wbHVwbG9hZC5ET05FPyJkb25lIjoiZmFpbGVkIikrJyIgLz4nO24rKztjKCIjIitrKyJfY291bnQiKS52YWwobil9bS5hcHBlbmQoJzxsaSBpZD0iJytvLmlkKyciPjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfbmFtZSI+PHNwYW4+JytvLm5hbWUrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9maWxlX2FjdGlvbiI+PGEgaHJlZj0iIyI+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc3RhdHVzIj4nK28ucGVyY2VudCsnJTwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+JytwbHVwbG9hZC5mb3JtYXRTaXplKG8uc2l6ZSkrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NsZWFyZXIiPiZuYnNwOzwvZGl2PicrbCsiPC9saT4iKTtoKG8pO2MoIiMiK28uaWQrIi5wbHVwbG9hZF9kZWxldGUgYSIpLmNsaWNrKGZ1bmN0aW9uKHEpe2MoIiMiK28uaWQpLnJlbW92ZSgpO2oucmVtb3ZlRmlsZShvKTtxLnByZXZlbnREZWZhdWx0KCl9KX0pO2MoInNwYW4ucGx1cGxvYWRfdG90YWxfZmlsZV9zaXplIixpKS5odG1sKHBsdXBsb2FkLmZvcm1hdFNpemUoai50b3RhbC5zaXplKSk7aWYoai50b3RhbC5xdWV1ZWQ9PT0wKXtjKCJzcGFuLnBsdXBsb2FkX2FkZF90ZXh0IixpKS50ZXh0KGEoIkFkZCBmaWxlcy4iKSl9ZWxzZXtjKCJzcGFuLnBsdXBsb2FkX2FkZF90ZXh0IixpKS50ZXh0KGoudG90YWwucXVldWVkKyIgZmlsZXMgcXVldWVkLiIpfWMoImEucGx1cGxvYWRfc3RhcnQiLGkpLnRvZ2dsZUNsYXNzKCJwbHVwbG9hZF9kaXNhYmxlZCIsai5maWxlcy5sZW5ndGg9PShqLnRvdGFsLnVwbG9hZGVkK2oudG90YWwuZmFpbGVkKSk7bVswXS5zY3JvbGxUb3A9bVswXS5zY3JvbGxIZWlnaHQ7ZigpO2lmKCFqLmZpbGVzLmxlbmd0aCYmai5mZWF0dXJlcy5kcmFnZHJvcCYmai5zZXR0aW5ncy5kcmFnZHJvcCl7YygiIyIraysiX2ZpbGVsaXN0IikuYXBwZW5kKCc8bGkgY2xhc3M9InBsdXBsb2FkX2Ryb3B0ZXh0Ij4nK2EoIkRyYWcgZmlsZXMgaGVyZS4iKSsiPC9saT4iKX19ai5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihsLG0pe2MoIiMiK20uaWQpLmFkZENsYXNzKCJwbHVwbG9hZF9jdXJyZW50X2ZpbGUiKX0pO2ouYmluZCgiSW5pdCIsZnVuY3Rpb24obCxtKXtiKGssaSk7aWYoIWUudW5pcXVlX25hbWVzJiZlLnJlbmFtZSl7YygiIyIraysiX2ZpbGVsaXN0IGRpdi5wbHVwbG9hZF9maWxlX25hbWUgc3BhbiIsaSkubGl2ZSgiY2xpY2siLGZ1bmN0aW9uKHMpe3ZhciBxPWMocy50YXJnZXQpLG8scixuLHA9IiI7bz1sLmdldEZpbGUocS5wYXJlbnRzKCJsaSIpWzBdLmlkKTtuPW8ubmFtZTtyPS9eKC4rKShcLlteLl0rKSQvLmV4ZWMobik7aWYocil7bj1yWzFdO3A9clsyXX1xLmhpZGUoKS5hZnRlcignPGlucHV0IHR5cGU9InRleHQiIC8+Jyk7cS5uZXh0KCkudmFsKG4pLmZvY3VzKCkuYmx1cihmdW5jdGlvbigpe3Euc2hvdygpLm5leHQoKS5yZW1vdmUoKX0pLmtleWRvd24oZnVuY3Rpb24odSl7dmFyIHQ9Yyh0aGlzKTtpZih1LmtleUNvZGU9PTEzKXt1LnByZXZlbnREZWZhdWx0KCk7by5uYW1lPXQudmFsKCkrcDtxLnRleHQoby5uYW1lKTt0LmJsdXIoKX19KX0pfWMoImEucGx1cGxvYWRfYWRkIixpKS5hdHRyKCJpZCIsaysiX2Jyb3dzZSIpO2wuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbj1rKyJfYnJvd3NlIjtpZihsLmZlYXR1cmVzLmRyYWdkcm9wJiZsLnNldHRpbmdzLmRyYWdkcm9wKXtsLnNldHRpbmdzLmRyb3BfZWxlbWVudD1rKyJfZmlsZWxpc3QiO2MoIiMiK2srIl9maWxlbGlzdCIpLmFwcGVuZCgnPGxpIGNsYXNzPSJwbHVwbG9hZF9kcm9wdGV4dCI+JythKCJEcmFnIGZpbGVzIGhlcmUuIikrIjwvbGk+Iil9YygiIyIraysiX2NvbnRhaW5lciIpLmF0dHIoInRpdGxlIiwiVXNpbmcgcnVudGltZTogIittLnJ1bnRpbWUpO2MoImEucGx1cGxvYWRfc3RhcnQiLGkpLmNsaWNrKGZ1bmN0aW9uKG4pe2lmKCFjKHRoaXMpLmhhc0NsYXNzKCJwbHVwbG9hZF9kaXNhYmxlZCIpKXtqLnN0YXJ0KCl9bi5wcmV2ZW50RGVmYXVsdCgpfSk7YygiYS5wbHVwbG9hZF9zdG9wIixpKS5jbGljayhmdW5jdGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCk7ai5zdG9wKCl9KTtjKCJhLnBsdXBsb2FkX3N0YXJ0IixpKS5hZGRDbGFzcygicGx1cGxvYWRfZGlzYWJsZWQiKX0pO2ouaW5pdCgpO2ouYmluZCgiRXJyb3IiLGZ1bmN0aW9uKGwsbyl7dmFyIG09by5maWxlLG47aWYobSl7bj1vLm1lc3NhZ2U7aWYoby5kZXRhaWxzKXtuKz0iICgiK28uZGV0YWlscysiKSJ9aWYoby5jb2RlPT1wbHVwbG9hZC5GSUxFX1NJWkVfRVJST1Ipe2FsZXJ0KGEoIkVycm9yOiBGaWxlIHRvbyBsYXJnZTogIikrbS5uYW1lKX1pZihvLmNvZGU9PXBsdXBsb2FkLkZJTEVfRVhURU5TSU9OX0VSUk9SKXthbGVydChhKCJFcnJvcjogSW52YWxpZCBmaWxlIGV4dGVuc2lvbjogIikrbS5uYW1lKX1tLmhpbnQ9bjtjKCIjIittLmlkKS5hdHRyKCJjbGFzcyIsInBsdXBsb2FkX2ZhaWxlZCIpLmZpbmQoImEiKS5jc3MoImRpc3BsYXkiLCJibG9jayIpLmF0dHIoInRpdGxlIixuKX19KTtqLmJpbmQoIlN0YXRlQ2hhbmdlZCIsZnVuY3Rpb24oKXtpZihqLnN0YXRlPT09cGx1cGxvYWQuU1RBUlRFRCl7YygibGkucGx1cGxvYWRfZGVsZXRlIGEsZGl2LnBsdXBsb2FkX2J1dHRvbnMiLGkpLmhpZGUoKTtjKCJzcGFuLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMsZGl2LnBsdXBsb2FkX3Byb2dyZXNzLGEucGx1cGxvYWRfc3RvcCIsaSkuY3NzKCJkaXNwbGF5IiwiYmxvY2siKTtjKCJzcGFuLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiLGkpLnRleHQoIlVwbG9hZGVkICIrai50b3RhbC51cGxvYWRlZCsiLyIrai5maWxlcy5sZW5ndGgrIiBmaWxlcyIpO2lmKGUubXVsdGlwbGVfcXVldWVzKXtjKCJzcGFuLnBsdXBsb2FkX3RvdGFsX3N0YXR1cyxzcGFuLnBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSIsaSkuc2hvdygpfX1lbHNle2coKTtjKCJhLnBsdXBsb2FkX3N0b3AsZGl2LnBsdXBsb2FkX3Byb2dyZXNzIixpKS5oaWRlKCk7YygiYS5wbHVwbG9hZF9kZWxldGUiLGkpLmNzcygiZGlzcGxheSIsImJsb2NrIil9fSk7ai5iaW5kKCJRdWV1ZUNoYW5nZWQiLGcpO2ouYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihsLG0pe2gobSl9KTtqLmJpbmQoIlVwbG9hZFByb2dyZXNzIixmdW5jdGlvbihsLG0pe2MoIiMiK20uaWQrIiBkaXYucGx1cGxvYWRfZmlsZV9zdGF0dXMiLGkpLmh0bWwobS5wZXJjZW50KyIlIik7aChtKTtmKCk7aWYoZS5tdWx0aXBsZV9xdWV1ZXMmJmoudG90YWwudXBsb2FkZWQrai50b3RhbC5mYWlsZWQ9PWouZmlsZXMubGVuZ3RoKXtjKCIucGx1cGxvYWRfYnV0dG9ucywucGx1cGxvYWRfdXBsb2FkX3N0YXR1cyIsaSkuY3NzKCJkaXNwbGF5IiwiaW5saW5lIik7YygiLnBsdXBsb2FkX3N0YXJ0IixpKS5hZGRDbGFzcygicGx1cGxvYWRfZGlzYWJsZWQiKTtjKCJzcGFuLnBsdXBsb2FkX3RvdGFsX3N0YXR1cyxzcGFuLnBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSIsaSkuaGlkZSgpfX0pO2lmKGUuc2V0dXApe2Uuc2V0dXAoail9fSk7cmV0dXJuIHRoaXN9ZWxzZXtyZXR1cm4gZFtjKHRoaXNbMF0pLmF0dHIoImlkIildfX19KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAgIFBsdXBsb2FkDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCi5wbHVwbG9hZF9idXR0b24ge2N1cnNvcjogcG9pbnRlcjt9DQoNCi5wbHVwbG9hZF93cmFwcGVyIHsNCglmb250OiBub3JtYWwgMTFweCBWZXJkYW5hLHNhbnMtc2VyaWY7DQoJd2lkdGg6IDEwMCU7DQp9DQoNCi5wbHVwbG9hZCAucGx1cGxvYWRfY29udGFpbmVyIGlucHV0IHt3aWR0aDogOTglO30NCi5wbHVwbG9hZCAucGx1cGxvYWRfZmlsZWxpc3RfZm9vdGVyIHtib3JkZXItd2lkdGg6IDFweCAwIDAgMH0NCi5wbHVwbG9hZCAucGx1cGxvYWRfZmlsZWxpc3RfaGVhZGVyIHtib3JkZXItd2lkdGg6IDAgMCAxcHggMH0NCmRpdi5wbHVwbG9hZCAucGx1cGxvYWRfZmlsZSB7Ym9yZGVyLXdpZHRoOiAwIDAgMXB4IDB9DQpkaXYucGx1cGxvYWQgZGl2LnBsdXBsb2FkX2hlYWRlciB7Ym9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTt9DQoNCi5wbHVwbG9hZF9maWxlIC51aS1pY29uIHsNCgljdXJzb3I6cG9pbnRlcjsJDQp9DQoNCi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGx1cGxvYWQucG5nJyk7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggY2VudGVyOw0KCW1pbi1oZWlnaHQ6IDU2cHg7DQoJcGFkZGluZy1sZWZ0OiA2MHB4Ow0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KLnBsdXBsb2FkX2hlYWRlcl9jb250ZW50X2J3IHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wbHVwbG9hZC1idy5wbmcnKTt9DQoucGx1cGxvYWRfaGVhZGVyX3RpdGxlIHsNCglmb250OiBub3JtYWwgMThweCBzYW5zLXNlcmlmOw0KCXBhZGRpbmc6IDZweCAwIDNweDsNCn0NCi5wbHVwbG9hZF9oZWFkZXJfdGV4dCB7Zm9udDogbm9ybWFsIDEycHggc2Fucy1zZXJpZjt9DQoNCi5wbHVwbG9hZF9maWxlbGlzdCwNCi5wbHVwbG9hZF9maWxlbGlzdF9jb250ZW50IHsNCglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KCXdpZHRoOiAxMDAlOw0KCS1tb3otdXNlci1zZWxlY3Q6bm9uZTsNCgktd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7DQoJdXNlci1zZWxlY3Q6bm9uZTsNCn0NCg0KLnBsdXBsb2FkX2NlbGwge3BhZGRpbmc6IDhweCA2cHg7fQ0KDQoucGx1cGxvYWRfZmlsZSB7DQoJYm9yZGVyLWxlZnQ6IG5vbmU7DQoJYm9yZGVyLXJpZ2h0OiBub25lOw0KfQ0KDQoucGx1cGxvYWQgLnVpLXNvcnRhYmxlLWhlbHBlciwNCi5wbHVwbG9hZCAudWktc29ydGFibGUgLnBsdXBsb2FkX2ZpbGUgew0KCWN1cnNvcjptb3ZlOwkNCn0NCg0KLnBsdXBsb2FkX3Njcm9sbCB7DQoJbWF4LWhlaWdodDogMTgwcHg7DQoJbWluLWhlaWdodDogMTY4cHg7DQoJX2hlaWdodDogMTY4cHg7DQoJb3ZlcmZsb3cteTogYXV0bzsNCn0NCg0KLnBsdXBsb2FkX2ZpbGVfc2l6ZSwgLnBsdXBsb2FkX2ZpbGVfc3RhdHVzIHt0ZXh0LWFsaWduOiByaWdodDt9DQoucGx1cGxvYWRfZmlsZV9zaXplLCAucGx1cGxvYWRfZmlsZV9zdGF0dXMge3dpZHRoOiA1MnB4O30NCi5wbHVwbG9hZF9maWxlX2FjdGlvbiB7d2lkdGg6IDE2cHg7fQ0KLnBsdXBsb2FkX2ZpbGVfbmFtZSB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglwYWRkaW5nLWxlZnQ6IDEwcHg7DQp9DQoNCi5wbHVwbG9hZF9maWxlX3JlbmFtZSB7DQoJd2lkdGg6OTUlOwkNCn0NCg0KLnBsdXBsb2FkX3Byb2dyZXNzIHt3aWR0aDogNjBweDt9DQoucGx1cGxvYWRfcHJvZ3Jlc3NfY29udGFpbmVyIHtwYWRkaW5nOiAxcHg7fQ0KDQoNCi8qIEZsb2F0cyAqLw0KDQoucGx1cGxvYWRfcmlnaHQge2Zsb2F0OiByaWdodDt9DQoucGx1cGxvYWRfbGVmdCB7ZmxvYXQ6IGxlZnQ7fQ0KLnBsdXBsb2FkX2NsZWFyLC5wbHVwbG9hZF9jbGVhcmVyIHtjbGVhcjogYm90aDt9DQoucGx1cGxvYWRfY2xlYXJlciwgLnBsdXBsb2FkX3Byb2dyZXNzX2JhciB7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC1zaXplOiAwOw0KCWxpbmUtaGVpZ2h0OiAwOw0KfQ0KLnBsdXBsb2FkX2NsZWFyZXIge2hlaWdodDogMDt9DQoNCi8qIE1pc2MgKi8NCi5wbHVwbG9hZF9oaWRkZW4ge2Rpc3BsYXk6IG5vbmU7fQ0KLnBsdXBsb2FkX2Ryb3B0ZXh0IHsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCglib3JkZXI6IDA7DQoJbGluZS1oZWlnaHQ6IDE2NXB4Ow0KfQ0KDQoucGx1cGxvYWRfYnV0dG9ucywgLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMge2Zsb2F0OiBsZWZ0fQ0KDQoucGx1cGxvYWRfbWVzc2FnZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMHB4Ow0KCWxlZnQ6IDBweDsJDQoJaGVpZ2h0OiAxMDAlOw0KCXdpZHRoOiAxMDAlOw0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZSBwIHsNCglwYWRkaW5nOjAuN2VtOw0KCW1hcmdpbjowOw0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZSBzdHJvbmcgew0KCWZvbnQtd2VpZ2h0OiBib2xkOwkNCn0NCg0KcGx1cGxvYWRfbWVzc2FnZSBpIHsNCglmb250LXN0eWxlOiBpdGFsaWM7CQ0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZSBwIHNwYW4udWktaWNvbiB7DQoJZmxvYXQ6IGxlZnQ7DQoJbWFyZ2luLXJpZ2h0OiAwLjNlbTsJDQp9DQoNCi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCAudWktc3RhdGUtZXJyb3IsDQoucGx1cGxvYWRfaGVhZGVyX2NvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCB7DQoJYm9yZGVyOm5vbmU7CQ0KfQ0KDQoucGx1cGxvYWRfbWVzc2FnZV9jbG9zZSB7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjVweDsNCglyaWdodDo1cHg7DQoJY3Vyc29yOnBvaW50ZXI7CQ0KfQ0KDQoucGx1cGxvYWQgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHsNCgloZWlnaHQ6MzVweDsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/img/plupload-bw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/img/plupload.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/jquery.ui.plupload/jquery.ui.plupload.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGYsYSxjLGcsZSl7dmFyIGg9e307ZnVuY3Rpb24gYihpKXtyZXR1cm4gYy50cmFuc2xhdGUoaSl8fGl9ZnVuY3Rpb24gZChpKXtpLmh0bWwoJzxkaXYgY2xhc3M9InBsdXBsb2FkX3dyYXBwZXIiPjxkaXYgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHBsdXBsb2FkX2NvbnRhaW5lciI+PGRpdiBjbGFzcz0icGx1cGxvYWQiPjxkaXYgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgdWktd2lkZ2V0LWhlYWRlciBwbHVwbG9hZF9oZWFkZXIiPjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlcl9jb250ZW50Ij48ZGl2IGNsYXNzPSJwbHVwbG9hZF9oZWFkZXJfdGl0bGUiPicrYigiU2VsZWN0IGZpbGVzIikrJzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2hlYWRlcl90ZXh0Ij4nK2IoIkFkZCBmaWxlcyB0byB0aGUgdXBsb2FkIHF1ZXVlIGFuZCBjbGljayB0aGUgc3RhcnQgYnV0dG9uLiIpKyc8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9jb250ZW50Ij48dGFibGUgY2xhc3M9InBsdXBsb2FkX2ZpbGVsaXN0Ij48dHIgY2xhc3M9InVpLXdpZGdldC1oZWFkZXIgcGx1cGxvYWRfZmlsZWxpc3RfaGVhZGVyIj48dGQgY2xhc3M9InBsdXBsb2FkX2NlbGwgcGx1cGxvYWRfZmlsZV9uYW1lIj4nK2IoIkZpbGVuYW1lIikrJzwvdGQ+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfc3RhdHVzIj4nK2IoIlN0YXR1cyIpKyc8L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX3NpemUiPicrYigiU2l6ZSIpKyc8L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX2FjdGlvbiI+Jm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PGRpdiBjbGFzcz0icGx1cGxvYWRfc2Nyb2xsIj48dGFibGUgY2xhc3M9InBsdXBsb2FkX2ZpbGVsaXN0X2NvbnRlbnQiPjwvdGFibGU+PC9kaXY+PHRhYmxlIGNsYXNzPSJwbHVwbG9hZF9maWxlbGlzdCI+PHRyIGNsYXNzPSJ1aS13aWRnZXQtaGVhZGVyIHVpLXdpZGdldC1jb250ZW50IHBsdXBsb2FkX2ZpbGVsaXN0X2Zvb3RlciI+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfbmFtZSI+PGRpdiBjbGFzcz0icGx1cGxvYWRfYnV0dG9ucyI+PCEtLSBWaXNpYmxlIC0tPjxhIGNsYXNzPSJwbHVwbG9hZF9idXR0b24gcGx1cGxvYWRfYWRkIj4nK2IoIkFkZCBGaWxlcyIpKyc8L2E+Jm5ic3A7PGEgY2xhc3M9InBsdXBsb2FkX2J1dHRvbiBwbHVwbG9hZF9zdGFydCI+JytiKCJTdGFydCBVcGxvYWQiKSsnPC9hPiZuYnNwOzxhIGNsYXNzPSJwbHVwbG9hZF9idXR0b24gcGx1cGxvYWRfc3RvcCBwbHVwbG9hZF9oaWRkZW4iPicrYigiU3RvcCBVcGxvYWQiKSsnPC9hPiZuYnNwOzwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX3N0YXJ0ZWQgcGx1cGxvYWRfaGlkZGVuIj48IS0tIEhpZGRlbiAtLT48ZGl2IGNsYXNzPSJwbHVwbG9hZF9wcm9ncmVzcyBwbHVwbG9hZF9yaWdodCI+PGRpdiBjbGFzcz0icGx1cGxvYWRfcHJvZ3Jlc3NfY29udGFpbmVyIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiPjwvZGl2PjxkaXYgY2xhc3M9InBsdXBsb2FkX2NsZWFyZXIiPiZuYnNwOzwvZGl2PjwvZGl2PjwvdGQ+PHRkIGNsYXNzPSJwbHVwbG9hZF9maWxlX3N0YXR1cyI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3RvdGFsX3N0YXR1cyI+MCU8L3NwYW4+PC90ZD48dGQgY2xhc3M9InBsdXBsb2FkX2ZpbGVfc2l6ZSI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX3RvdGFsX2ZpbGVfc2l6ZSI+MCBrYjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfZmlsZV9hY3Rpb24iPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjxpbnB1dCBjbGFzcz0icGx1cGxvYWRfY291bnQiIHZhbHVlPSIwIiB0eXBlPSJoaWRkZW4iPjwvZGl2PicpfWcud2lkZ2V0KCJ1aS5wbHVwbG9hZCIse2NvbnRlbnRzX2JhazoiIixydW50aW1lOm51bGwsb3B0aW9uczp7YnJvd3NlX2J1dHRvbl9ob3ZlcjoidWktc3RhdGUtaG92ZXIiLGJyb3dzZV9idXR0b25fYWN0aXZlOiJ1aS1zdGF0ZS1hY3RpdmUiLGRyYWdkcm9wOnRydWUsbXVsdGlwbGVfcXVldWVzOnRydWUsYnV0dG9uczp7YnJvd3NlOnRydWUsc3RhcnQ6dHJ1ZSxzdG9wOnRydWV9LGF1dG9zdGFydDpmYWxzZSxzb3J0YWJsZTpmYWxzZSxyZW5hbWU6ZmFsc2UsbWF4X2ZpbGVfY291bnQ6MH0sRklMRV9DT1VOVF9FUlJPUjotOTAwMSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGk9dGhpcyxrLGo7az10aGlzLmVsZW1lbnQuYXR0cigiaWQiKTtpZighayl7az1jLmd1aWQoKTt0aGlzLmVsZW1lbnQuYXR0cigiaWQiLGspfXRoaXMuaWQ9azt0aGlzLmNvbnRlbnRzX2Jhaz10aGlzLmVsZW1lbnQuaHRtbCgpO2QodGhpcy5lbGVtZW50KTt0aGlzLmNvbnRhaW5lcj1nKCIucGx1cGxvYWRfY29udGFpbmVyIix0aGlzLmVsZW1lbnQpLmF0dHIoImlkIixrKyJfY29udGFpbmVyIik7dGhpcy5maWxlbGlzdD1nKCIucGx1cGxvYWRfZmlsZWxpc3RfY29udGVudCIsdGhpcy5jb250YWluZXIpLmF0dHIoe2lkOmsrIl9maWxlbGlzdCIsdW5zZWxlY3RhYmxlOiJvbiJ9KTt0aGlzLmJyb3dzZV9idXR0b249ZygiLnBsdXBsb2FkX2FkZCIsdGhpcy5jb250YWluZXIpLmF0dHIoImlkIixrKyJfYnJvd3NlIik7dGhpcy5zdGFydF9idXR0b249ZygiLnBsdXBsb2FkX3N0YXJ0Iix0aGlzLmNvbnRhaW5lcikuYXR0cigiaWQiLGsrIl9zdGFydCIpO3RoaXMuc3RvcF9idXR0b249ZygiLnBsdXBsb2FkX3N0b3AiLHRoaXMuY29udGFpbmVyKS5hdHRyKCJpZCIsaysiX3N0b3AiKTtpZihnLnVpLmJ1dHRvbil7dGhpcy5icm93c2VfYnV0dG9uLmJ1dHRvbih7aWNvbnM6e3ByaW1hcnk6InVpLWljb24tY2lyY2xlLXBsdXMifX0pO3RoaXMuc3RhcnRfYnV0dG9uLmJ1dHRvbih7aWNvbnM6e3ByaW1hcnk6InVpLWljb24tY2lyY2xlLWFycm93LWUifSxkaXNhYmxlZDp0cnVlfSk7dGhpcy5zdG9wX2J1dHRvbi5idXR0b24oe2ljb25zOntwcmltYXJ5OiJ1aS1pY29uLWNpcmNsZS1jbG9zZSJ9fSl9dGhpcy5wcm9ncmVzc2Jhcj1nKCIucGx1cGxvYWRfcHJvZ3Jlc3NfY29udGFpbmVyIix0aGlzLmNvbnRhaW5lcik7aWYoZy51aS5wcm9ncmVzc2Jhcil7dGhpcy5wcm9ncmVzc2Jhci5wcm9ncmVzc2JhcigpfXRoaXMuY291bnRlcj1nKCIucGx1cGxvYWRfY291bnQiLHRoaXMuZWxlbWVudCkuYXR0cih7aWQ6aysiX2NvdW50IixuYW1lOmsrIl9jb3VudCJ9KTtqPXRoaXMudXBsb2FkZXI9aFtrXT1uZXcgYy5VcGxvYWRlcihnLmV4dGVuZCh7Y29udGFpbmVyOmssYnJvd3NlX2J1dHRvbjprKyJfYnJvd3NlIn0sdGhpcy5vcHRpb25zKSk7ai5iaW5kKCJFcnJvciIsZnVuY3Rpb24obCxtKXtpZihtLmNvZGU9PT1jLklOSVRfRVJST1Ipe2kuZGVzdHJveSgpfX0pO2ouYmluZCgiSW5pdCIsZnVuY3Rpb24obCxtKXtpZighaS5vcHRpb25zLmJ1dHRvbnMuYnJvd3NlKXtpLmJyb3dzZV9idXR0b24uYnV0dG9uKCJkaXNhYmxlIikuaGlkZSgpO2wuZGlzYWJsZUJyb3dzZSh0cnVlKX1pZighaS5vcHRpb25zLmJ1dHRvbnMuc3RhcnQpe2kuc3RhcnRfYnV0dG9uLmJ1dHRvbigiZGlzYWJsZSIpLmhpZGUoKX1pZighaS5vcHRpb25zLmJ1dHRvbnMuc3RvcCl7aS5zdG9wX2J1dHRvbi5idXR0b24oImRpc2FibGUiKS5oaWRlKCl9aWYoIWkub3B0aW9ucy51bmlxdWVfbmFtZXMmJmkub3B0aW9ucy5yZW5hbWUpe2kuX2VuYWJsZVJlbmFtaW5nKCl9aWYoai5mZWF0dXJlcy5kcmFnZHJvcCYmaS5vcHRpb25zLmRyYWdkcm9wKXtpLl9lbmFibGVEcmFnQW5kRHJvcCgpfWkuY29udGFpbmVyLmF0dHIoInRpdGxlIixiKCJVc2luZyBydW50aW1lOiAiKSsoaS5ydW50aW1lPW0ucnVudGltZSkpO2kuc3RhcnRfYnV0dG9uLmNsaWNrKGZ1bmN0aW9uKG4pe2lmKCFnKHRoaXMpLmJ1dHRvbigib3B0aW9uIiwiZGlzYWJsZWQiKSl7aS5zdGFydCgpfW4ucHJldmVudERlZmF1bHQoKX0pO2kuc3RvcF9idXR0b24uY2xpY2soZnVuY3Rpb24obil7aS5zdG9wKCk7bi5wcmV2ZW50RGVmYXVsdCgpfSl9KTtpZihpLm9wdGlvbnMubWF4X2ZpbGVfY291bnQpe2ouYmluZCgiRmlsZXNBZGRlZCIsZnVuY3Rpb24obCxuKXt2YXIgbz1bXSxtPW4ubGVuZ3RoO3ZhciBwPWwuZmlsZXMubGVuZ3RoK20taS5vcHRpb25zLm1heF9maWxlX2NvdW50O2lmKHA+MCl7bz1uLnNwbGljZShtLXAscCk7bC50cmlnZ2VyKCJFcnJvciIse2NvZGU6aS5GSUxFX0NPVU5UX0VSUk9SLG1lc3NhZ2U6YigiRmlsZSBjb3VudCBlcnJvci4iKSxmaWxlOm99KX19KX1qLmluaXQoKTtqLmJpbmQoIkZpbGVzQWRkZWQiLGZ1bmN0aW9uKGwsbSl7aS5fdHJpZ2dlcigic2VsZWN0ZWQiLG51bGwse3VwOmwsZmlsZXM6bX0pO2lmKGkub3B0aW9ucy5hdXRvc3RhcnQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtpLnN0YXJ0KCl9LDEwKX19KTtqLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24obCxtKXtpLl90cmlnZ2VyKCJyZW1vdmVkIixudWxsLHt1cDpsLGZpbGVzOm19KX0pO2ouYmluZCgiUXVldWVDaGFuZ2VkIixmdW5jdGlvbigpe2kuX3VwZGF0ZUZpbGVMaXN0KCl9KTtqLmJpbmQoIlN0YXRlQ2hhbmdlZCIsZnVuY3Rpb24oKXtpLl9oYW5kbGVTdGF0ZSgpfSk7ai5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihsLG0pe2kuX2hhbmRsZUZpbGVTdGF0dXMobSl9KTtqLmJpbmQoIkZpbGVVcGxvYWRlZCIsZnVuY3Rpb24obCxtKXtpLl9oYW5kbGVGaWxlU3RhdHVzKG0pO2kuX3RyaWdnZXIoInVwbG9hZGVkIixudWxsLHt1cDpsLGZpbGU6bX0pfSk7ai5iaW5kKCJVcGxvYWRQcm9ncmVzcyIsZnVuY3Rpb24obCxtKXtnKCIjIittLmlkKS5maW5kKCIucGx1cGxvYWRfZmlsZV9zdGF0dXMiKS5odG1sKG0ucGVyY2VudCsiJSIpLmVuZCgpLmZpbmQoIi5wbHVwbG9hZF9maWxlX3NpemUiKS5odG1sKGMuZm9ybWF0U2l6ZShtLnNpemUpKTtpLl9oYW5kbGVGaWxlU3RhdHVzKG0pO2kuX3VwZGF0ZVRvdGFsUHJvZ3Jlc3MoKTtpLl90cmlnZ2VyKCJwcm9ncmVzcyIsbnVsbCx7dXA6bCxmaWxlOm19KX0pO2ouYmluZCgiVXBsb2FkQ29tcGxldGUiLGZ1bmN0aW9uKGwsbSl7aS5fdHJpZ2dlcigiY29tcGxldGUiLG51bGwse3VwOmwsZmlsZXM6bX0pfSk7ai5iaW5kKCJFcnJvciIsZnVuY3Rpb24obCxwKXt2YXIgbj1wLmZpbGUsbyxtO2lmKG4pe289IjxzdHJvbmc+IitwLm1lc3NhZ2UrIjwvc3Ryb25nPiI7bT1wLmRldGFpbHM7aWYobSl7bys9IiA8YnIgLz48aT4iK3AuZGV0YWlscysiPC9pPiJ9ZWxzZXtzd2l0Y2gocC5jb2RlKXtjYXNlIGMuRklMRV9FWFRFTlNJT05fRVJST1I6bT1iKCJGaWxlOiAlcyIpLnJlcGxhY2UoIiVzIixuLm5hbWUpO2JyZWFrO2Nhc2UgYy5GSUxFX1NJWkVfRVJST1I6bT1iKCJGaWxlOiAlZiwgc2l6ZTogJXMsIG1heCBmaWxlIHNpemU6ICVtIikucmVwbGFjZSgvJShbZnNtXSkvZyxmdW5jdGlvbihyLHEpe3N3aXRjaChxKXtjYXNlImYiOnJldHVybiBuLm5hbWU7Y2FzZSJzIjpyZXR1cm4gbi5zaXplO2Nhc2UibSI6cmV0dXJuIGMucGFyc2VTaXplKGkub3B0aW9ucy5tYXhfZmlsZV9zaXplKX19KTticmVhaztjYXNlIGkuRklMRV9DT1VOVF9FUlJPUjptPWIoIlVwbG9hZCBlbGVtZW50IGFjY2VwdHMgb25seSAlZCBmaWxlKHMpIGF0IGEgdGltZS4gRXh0cmEgZmlsZXMgd2VyZSBzdHJpcHBlZC4iKS5yZXBsYWNlKCIlZCIsaS5vcHRpb25zLm1heF9maWxlX2NvdW50KTticmVhaztjYXNlIGMuSU1BR0VfRk9STUFUX0VSUk9SOm09Yy50cmFuc2xhdGUoIkltYWdlIGZvcm1hdCBlaXRoZXIgd3Jvbmcgb3Igbm90IHN1cHBvcnRlZC4iKTticmVhaztjYXNlIGMuSU1BR0VfTUVNT1JZX0VSUk9SOm09Yy50cmFuc2xhdGUoIlJ1bnRpbWUgcmFuIG91dCBvZiBhdmFpbGFibGUgbWVtb3J5LiIpO2JyZWFrO2Nhc2UgYy5JTUFHRV9ESU1FTlNJT05TX0VSUk9SOm09Yy50cmFuc2xhdGUoIlJlc291bHRpb24gb3V0IG9mIGJvdW5kYXJpZXMhIDxiPiVzPC9iPiBydW50aW1lIHN1cHBvcnRzIGltYWdlcyBvbmx5IHVwIHRvICV3eCVocHguIikucmVwbGFjZSgvJShbc3doXSkvZyxmdW5jdGlvbihyLHEpe3N3aXRjaChxKXtjYXNlInMiOnJldHVybiBsLnJ1bnRpbWU7Y2FzZSJ3IjpyZXR1cm4gbC5mZWF0dXJlcy5tYXhXaWR0aDtjYXNlImgiOnJldHVybiBsLmZlYXR1cmVzLm1heEhlaWdodH19KTticmVhaztjYXNlIGMuSFRUUF9FUlJPUjptPWIoIlVwbG9hZCBVUkwgbWlnaHQgYmUgd3Jvbmcgb3IgZG9lc24ndCBleGlzdCIpO2JyZWFrfW8rPSIgPGJyIC8+PGk+IittKyI8L2k+In1pLm5vdGlmeSgiZXJyb3IiLG8pO2kuX3RyaWdnZXIoImVycm9yIixudWxsLHt1cDpsLGZpbGU6bixlcnJvcjpvfSl9fSl9LF9zZXRPcHRpb246ZnVuY3Rpb24oaixrKXt2YXIgaT10aGlzO2lmKGo9PSJidXR0b25zIiYmdHlwZW9mKGspPT0ib2JqZWN0Iil7az1nLmV4dGVuZChpLm9wdGlvbnMuYnV0dG9ucyxrKTtpZighay5icm93c2Upe2kuYnJvd3NlX2J1dHRvbi5idXR0b24oImRpc2FibGUiKS5oaWRlKCk7dXAuZGlzYWJsZUJyb3dzZSh0cnVlKX1lbHNle2kuYnJvd3NlX2J1dHRvbi5idXR0b24oImVuYWJsZSIpLnNob3coKTt1cC5kaXNhYmxlQnJvd3NlKGZhbHNlKX1pZighay5zdGFydCl7aS5zdGFydF9idXR0b24uYnV0dG9uKCJkaXNhYmxlIikuaGlkZSgpfWVsc2V7aS5zdGFydF9idXR0b24uYnV0dG9uKCJlbmFibGUiKS5zaG93KCl9aWYoIWsuc3RvcCl7aS5zdG9wX2J1dHRvbi5idXR0b24oImRpc2FibGUiKS5oaWRlKCl9ZWxzZXtpLnN0YXJ0X2J1dHRvbi5idXR0b24oImVuYWJsZSIpLnNob3coKX19aS51cGxvYWRlci5zZXR0aW5nc1tqXT1rfSxzdGFydDpmdW5jdGlvbigpe3RoaXMudXBsb2FkZXIuc3RhcnQoKTt0aGlzLl90cmlnZ2VyKCJzdGFydCIsbnVsbCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLnVwbG9hZGVyLnN0b3AoKTt0aGlzLl90cmlnZ2VyKCJzdG9wIixudWxsKX0sZ2V0RmlsZTpmdW5jdGlvbihqKXt2YXIgaTtpZih0eXBlb2Ygaj09PSJudW1iZXIiKXtpPXRoaXMudXBsb2FkZXIuZmlsZXNbal19ZWxzZXtpPXRoaXMudXBsb2FkZXIuZ2V0RmlsZShqKX1yZXR1cm4gaX0scmVtb3ZlRmlsZTpmdW5jdGlvbihqKXt2YXIgaT10aGlzLmdldEZpbGUoaik7aWYoaSl7dGhpcy51cGxvYWRlci5yZW1vdmVGaWxlKGkpfX0sY2xlYXJRdWV1ZTpmdW5jdGlvbigpe3RoaXMudXBsb2FkZXIuc3BsaWNlKCl9LGdldFVwbG9hZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudXBsb2FkZXJ9LHJlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLnVwbG9hZGVyLnJlZnJlc2goKX0sX2hhbmRsZVN0YXRlOmZ1bmN0aW9uKCl7dmFyIGo9dGhpcyxpPXRoaXMudXBsb2FkZXI7aWYoaS5zdGF0ZT09PWMuU1RBUlRFRCl7ZyhqLnN0YXJ0X2J1dHRvbikuYnV0dG9uKCJkaXNhYmxlIik7ZyhbXSkuYWRkKGouc3RvcF9idXR0b24pLmFkZCgiLnBsdXBsb2FkX3N0YXJ0ZWQiKS5yZW1vdmVDbGFzcygicGx1cGxvYWRfaGlkZGVuIik7ZygiLnBsdXBsb2FkX3VwbG9hZF9zdGF0dXMiLGouZWxlbWVudCkudGV4dChiKCJVcGxvYWRlZCAlZC8lZCBmaWxlcyIpLnJlcGxhY2UoIiVkLyVkIixpLnRvdGFsLnVwbG9hZGVkKyIvIitpLmZpbGVzLmxlbmd0aCkpO2coIi5wbHVwbG9hZF9oZWFkZXJfY29udGVudCIsai5lbGVtZW50KS5hZGRDbGFzcygicGx1cGxvYWRfaGVhZGVyX2NvbnRlbnRfYnciKX1lbHNle2coW10pLmFkZChqLnN0b3BfYnV0dG9uKS5hZGQoIi5wbHVwbG9hZF9zdGFydGVkIikuYWRkQ2xhc3MoInBsdXBsb2FkX2hpZGRlbiIpO2lmKGoub3B0aW9ucy5tdWx0aXBsZV9xdWV1ZXMpe2coai5zdGFydF9idXR0b24pLmJ1dHRvbigiZW5hYmxlIik7ZygiLnBsdXBsb2FkX2hlYWRlcl9jb250ZW50IixqLmVsZW1lbnQpLnJlbW92ZUNsYXNzKCJwbHVwbG9hZF9oZWFkZXJfY29udGVudF9idyIpfWouX3VwZGF0ZUZpbGVMaXN0KCl9fSxfaGFuZGxlRmlsZVN0YXR1czpmdW5jdGlvbihsKXt2YXIgbixqO2lmKCFnKCIjIitsLmlkKS5sZW5ndGgpe3JldHVybn1zd2l0Y2gobC5zdGF0dXMpe2Nhc2UgYy5ET05FOm49InBsdXBsb2FkX2RvbmUiO2o9InVpLWljb24gdWktaWNvbi1jaXJjbGUtY2hlY2siO2JyZWFrO2Nhc2UgYy5GQUlMRUQ6bj0idWktc3RhdGUtZXJyb3IgcGx1cGxvYWRfZmFpbGVkIjtqPSJ1aS1pY29uIHVpLWljb24tYWxlcnQiO2JyZWFrO2Nhc2UgYy5RVUVVRUQ6bj0icGx1cGxvYWRfZGVsZXRlIjtqPSJ1aS1pY29uIHVpLWljb24tY2lyY2xlLW1pbnVzIjticmVhaztjYXNlIGMuVVBMT0FESU5HOm49InVpLXN0YXRlLWhpZ2hsaWdodCBwbHVwbG9hZF91cGxvYWRpbmciO2o9InVpLWljb24gdWktaWNvbi1jaXJjbGUtYXJyb3ctdyI7dmFyIGk9ZygiLnBsdXBsb2FkX3Njcm9sbCIsdGhpcy5jb250YWluZXIpLG09aS5zY3JvbGxUb3AoKSxvPWkuaGVpZ2h0KCksaz1nKCIjIitsLmlkKS5wb3NpdGlvbigpLnRvcCtnKCIjIitsLmlkKS5oZWlnaHQoKTtpZihvPGspe2kuc2Nyb2xsVG9wKG0ray1vKX1icmVha31uKz0iIHVpLXN0YXRlLWRlZmF1bHQgcGx1cGxvYWRfZmlsZSI7ZygiIyIrbC5pZCkuYXR0cigiY2xhc3MiLG4pLmZpbmQoIi51aS1pY29uIikuYXR0cigiY2xhc3MiLGopfSxfdXBkYXRlVG90YWxQcm9ncmVzczpmdW5jdGlvbigpe3ZhciBpPXRoaXMudXBsb2FkZXI7dGhpcy5wcm9ncmVzc2Jhci5wcm9ncmVzc2JhcigidmFsdWUiLGkudG90YWwucGVyY2VudCk7dGhpcy5lbGVtZW50LmZpbmQoIi5wbHVwbG9hZF90b3RhbF9zdGF0dXMiKS5odG1sKGkudG90YWwucGVyY2VudCsiJSIpLmVuZCgpLmZpbmQoIi5wbHVwbG9hZF90b3RhbF9maWxlX3NpemUiKS5odG1sKGMuZm9ybWF0U2l6ZShpLnRvdGFsLnNpemUpKS5lbmQoKS5maW5kKCIucGx1cGxvYWRfdXBsb2FkX3N0YXR1cyIpLnRleHQoYigiVXBsb2FkZWQgJWQvJWQgZmlsZXMiKS5yZXBsYWNlKCIlZC8lZCIsaS50b3RhbC51cGxvYWRlZCsiLyIraS5maWxlcy5sZW5ndGgpKX0sX3VwZGF0ZUZpbGVMaXN0OmZ1bmN0aW9uKCl7dmFyIGs9dGhpcyxqPXRoaXMudXBsb2FkZXIsbT10aGlzLmZpbGVsaXN0LGw9MCxvLG49dGhpcy5pZCsiXyIsaTtpZihnLnVpLnNvcnRhYmxlJiZ0aGlzLm9wdGlvbnMuc29ydGFibGUpe2coInRib2R5IixtKS5zb3J0YWJsZSgiZGVzdHJveSIpfW0uZW1wdHkoKTtnLmVhY2goai5maWxlcyxmdW5jdGlvbihxLHApe2k9IiI7bz1uK2w7aWYocC5zdGF0dXM9PT1jLkRPTkUpe2lmKHAudGFyZ2V0X25hbWUpe2krPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK28rJ190bXBuYW1lIiB2YWx1ZT0iJytjLnhtbEVuY29kZShwLnRhcmdldF9uYW1lKSsnIiAvPid9aSs9JzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicrbysnX25hbWUiIHZhbHVlPSInK2MueG1sRW5jb2RlKHAubmFtZSkrJyIgLz4nO2krPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK28rJ19zdGF0dXMiIHZhbHVlPSInKyhwLnN0YXR1cz09PWMuRE9ORT8iZG9uZSI6ImZhaWxlZCIpKyciIC8+JztsKys7ay5jb3VudGVyLnZhbChsKX1tLmFwcGVuZCgnPHRyIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IHBsdXBsb2FkX2ZpbGUiIGlkPSInK3AuaWQrJyI+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfbmFtZSI+PHNwYW4+JytwLm5hbWUrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX3N0YXR1cyI+JytwLnBlcmNlbnQrJyU8L3RkPjx0ZCBjbGFzcz0icGx1cGxvYWRfY2VsbCBwbHVwbG9hZF9maWxlX3NpemUiPicrYy5mb3JtYXRTaXplKHAuc2l6ZSkrJzwvdGQ+PHRkIGNsYXNzPSJwbHVwbG9hZF9jZWxsIHBsdXBsb2FkX2ZpbGVfYWN0aW9uIj48ZGl2IGNsYXNzPSJ1aS1pY29uIj48L2Rpdj4nK2krIjwvdGQ+PC90cj4iKTtrLl9oYW5kbGVGaWxlU3RhdHVzKHApO2coIiMiK3AuaWQrIi5wbHVwbG9hZF9kZWxldGUgLnVpLWljb24sICMiK3AuaWQrIi5wbHVwbG9hZF9kb25lIC51aS1pY29uIikuY2xpY2soZnVuY3Rpb24ocil7ZygiIyIrcC5pZCkucmVtb3ZlKCk7ai5yZW1vdmVGaWxlKHApO3IucHJldmVudERlZmF1bHQoKX0pO2suX3RyaWdnZXIoInVwZGF0ZWxpc3QiLG51bGwsbSl9KTtpZihqLnRvdGFsLnF1ZXVlZD09PTApe2coIi51aS1idXR0b24tdGV4dCIsay5icm93c2VfYnV0dG9uKS50ZXh0KGIoIkFkZCBGaWxlcyIpKX1lbHNle2coIi51aS1idXR0b24tdGV4dCIsay5icm93c2VfYnV0dG9uKS50ZXh0KGIoIiVkIGZpbGVzIHF1ZXVlZCIpLnJlcGxhY2UoIiVkIixqLnRvdGFsLnF1ZXVlZCkpfWlmKGouZmlsZXMubGVuZ3RoPT09KGoudG90YWwudXBsb2FkZWQrai50b3RhbC5mYWlsZWQpKXtrLnN0YXJ0X2J1dHRvbi5idXR0b24oImRpc2FibGUiKX1lbHNle2suc3RhcnRfYnV0dG9uLmJ1dHRvbigiZW5hYmxlIil9bVswXS5zY3JvbGxUb3A9bVswXS5zY3JvbGxIZWlnaHQ7ay5fdXBkYXRlVG90YWxQcm9ncmVzcygpO2lmKCFqLmZpbGVzLmxlbmd0aCYmai5mZWF0dXJlcy5kcmFnZHJvcCYmai5zZXR0aW5ncy5kcmFnZHJvcCl7ZygiIyIrbysiX2ZpbGVsaXN0IikuYXBwZW5kKCc8dHI+PHRkIGNsYXNzPSJwbHVwbG9hZF9kcm9wdGV4dCI+JytiKCJEcmFnIGZpbGVzIGhlcmUuIikrIjwvdGQ+PC90cj4iKX1lbHNle2lmKGsub3B0aW9ucy5zb3J0YWJsZSYmZy51aS5zb3J0YWJsZSl7ay5fZW5hYmxlU29ydGluZ0xpc3QoKX19fSxfZW5hYmxlUmVuYW1pbmc6ZnVuY3Rpb24oKXt2YXIgaT10aGlzO2coIi5wbHVwbG9hZF9kZWxldGUgLnBsdXBsb2FkX2ZpbGVfbmFtZSBzcGFuIix0aGlzLmZpbGVsaXN0KS5saXZlKCJjbGljayIsZnVuY3Rpb24obyl7dmFyIG09ZyhvLnRhcmdldCksayxuLGosbD0iIjtrPWkudXBsb2FkZXIuZ2V0RmlsZShtLnBhcmVudHMoInRyIilbMF0uaWQpO2o9ay5uYW1lO249L14oLispKFwuW14uXSspJC8uZXhlYyhqKTtpZihuKXtqPW5bMV07bD1uWzJdfW0uaGlkZSgpLmFmdGVyKCc8aW5wdXQgY2xhc3M9InBsdXBsb2FkX2ZpbGVfcmVuYW1lIiB0eXBlPSJ0ZXh0IiAvPicpO20ubmV4dCgpLnZhbChqKS5mb2N1cygpLmJsdXIoZnVuY3Rpb24oKXttLnNob3coKS5uZXh0KCkucmVtb3ZlKCl9KS5rZXlkb3duKGZ1bmN0aW9uKHEpe3ZhciBwPWcodGhpcyk7aWYoZy5pbkFycmF5KHEua2V5Q29kZSxbMTMsMjddKSE9PS0xKXtxLnByZXZlbnREZWZhdWx0KCk7aWYocS5rZXlDb2RlPT09MTMpe2submFtZT1wLnZhbCgpK2w7bS50ZXh0KGsubmFtZSl9cC5ibHVyKCl9fSl9KX0sX2VuYWJsZURyYWdBbmREcm9wOmZ1bmN0aW9uKCl7dGhpcy5maWxlbGlzdC5hcHBlbmQoJzx0cj48dGQgY2xhc3M9InBsdXBsb2FkX2Ryb3B0ZXh0Ij4nK2IoIkRyYWcgZmlsZXMgaGVyZS4iKSsiPC90ZD48L3RyPiIpO3RoaXMuZmlsZWxpc3QucGFyZW50KCkuYXR0cigiaWQiLHRoaXMuaWQrIl9kcm9wYm94Iik7dGhpcy51cGxvYWRlci5zZXR0aW5ncy5kcm9wX2VsZW1lbnQ9dGhpcy5vcHRpb25zLmRyb3BfZWxlbWVudD10aGlzLmlkKyJfZHJvcGJveCJ9LF9lbmFibGVTb3J0aW5nTGlzdDpmdW5jdGlvbigpe3ZhciBqLGk9dGhpcztpZihnKCJ0Ym9keSB0ciIsdGhpcy5maWxlbGlzdCkubGVuZ3RoPDIpe3JldHVybn1nKCJ0Ym9keSIsdGhpcy5maWxlbGlzdCkuc29ydGFibGUoe2NvbnRhaW5tZW50OiJwYXJlbnQiLGl0ZW1zOiIucGx1cGxvYWRfZGVsZXRlIixoZWxwZXI6ZnVuY3Rpb24obCxrKXtyZXR1cm4gay5jbG9uZSh0cnVlKS5maW5kKCJ0ZDpub3QoLnBsdXBsb2FkX2ZpbGVfbmFtZSkiKS5yZW1vdmUoKS5lbmQoKS5jc3MoIndpZHRoIiwiMTAwJSIpfSxzdG9wOmZ1bmN0aW9uKHAsbyl7dmFyIGwsbixrLG09W107Zy5lYWNoKGcodGhpcykuc29ydGFibGUoInRvQXJyYXkiKSxmdW5jdGlvbihxLHIpe21bbS5sZW5ndGhdPWkudXBsb2FkZXIuZ2V0RmlsZShyKX0pO20udW5zaGlmdChtLmxlbmd0aCk7bS51bnNoaWZ0KDApO0FycmF5LnByb3RvdHlwZS5zcGxpY2UuYXBwbHkoaS51cGxvYWRlci5maWxlcyxtKX19KX0sbm90aWZ5OmZ1bmN0aW9uKGosayl7dmFyIGk9ZygnPGRpdiBjbGFzcz0icGx1cGxvYWRfbWVzc2FnZSI+PHNwYW4gY2xhc3M9InBsdXBsb2FkX21lc3NhZ2VfY2xvc2UgdWktaWNvbiB1aS1pY29uLWNpcmNsZS1jbG9zZSIgdGl0bGU9IicrYigiQ2xvc2UiKSsnIj48L3NwYW4+PHA+PHNwYW4gY2xhc3M9InVpLWljb24iPjwvc3Bhbj4nK2srIjwvcD48L2Rpdj4iKTtpLmFkZENsYXNzKCJ1aS1zdGF0ZS0iKyhqPT09ImVycm9yIj8iZXJyb3IiOiJoaWdobGlnaHQiKSkuZmluZCgicCAudWktaWNvbiIpLmFkZENsYXNzKCJ1aS1pY29uLSIrKGo9PT0iZXJyb3IiPyJhbGVydCI6ImluZm8iKSkuZW5kKCkuZmluZCgiLnBsdXBsb2FkX21lc3NhZ2VfY2xvc2UiKS5jbGljayhmdW5jdGlvbigpe2kucmVtb3ZlKCl9KS5lbmQoKTtnKCIucGx1cGxvYWRfaGVhZGVyX2NvbnRlbnQiLHRoaXMuY29udGFpbmVyKS5hcHBlbmQoaSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtnKCIucGx1cGxvYWRfYnV0dG9uIix0aGlzLmVsZW1lbnQpLnVuYmluZCgpO2lmKGcudWkuYnV0dG9uKXtnKCIucGx1cGxvYWRfYWRkLCAucGx1cGxvYWRfc3RhcnQsIC5wbHVwbG9hZF9zdG9wIix0aGlzLmNvbnRhaW5lcikuYnV0dG9uKCJkZXN0cm95Iil9aWYoZy51aS5wcm9ncmVzc2Jhcil7dGhpcy5wcm9ncmVzc2Jhci5wcm9ncmVzc2JhcigiZGVzdHJveSIpfWlmKGcudWkuc29ydGFibGUmJnRoaXMub3B0aW9ucy5zb3J0YWJsZSl7ZygidGJvZHkiLHRoaXMuZmlsZWxpc3QpLnNvcnRhYmxlKCJkZXN0cm95Iil9dGhpcy51cGxvYWRlci5kZXN0cm95KCk7dGhpcy5lbGVtZW50LmVtcHR5KCkuaHRtbCh0aGlzLmNvbnRlbnRzX2Jhayk7dGhpcy5jb250ZW50c19iYWs9IiI7Zy5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcyl9fSl9KHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCxqUXVlcnkpKTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.browserplus.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGEpe2EucnVudGltZXMuQnJvd3NlclBsdXM9YS5hZGRSdW50aW1lKCJicm93c2VycGx1cyIse2dldEZlYXR1cmVzOmZ1bmN0aW9uKCl7cmV0dXJue2RyYWdkcm9wOnRydWUsanBncmVzaXplOnRydWUscG5ncmVzaXplOnRydWUsY2h1bmtzOnRydWUscHJvZ3Jlc3M6dHJ1ZSxtdWx0aXBhcnQ6dHJ1ZSxtdWx0aV9zZWxlY3Rpb246dHJ1ZX19LGluaXQ6ZnVuY3Rpb24oZyxpKXt2YXIgZT13aW5kb3cuQnJvd3NlclBsdXMsaD17fSxkPWcuc2V0dGluZ3MsYz1kLnJlc2l6ZTtmdW5jdGlvbiBmKG4pe3ZhciBtLGwsaj1bXSxrLG87Zm9yKGw9MDtsPG4ubGVuZ3RoO2wrKyl7az1uW2xdO289YS5ndWlkKCk7aFtvXT1rO2oucHVzaChuZXcgYS5GaWxlKG8say5uYW1lLGsuc2l6ZSkpfWlmKGwpe2cudHJpZ2dlcigiRmlsZXNBZGRlZCIsail9fWZ1bmN0aW9uIGIoKXt2YXIgaj1mYWxzZTtnLmJpbmQoIlBvc3RJbml0IixmdW5jdGlvbigpe3ZhciBuLGw9ZC5kcm9wX2VsZW1lbnQscD1nLmlkKyJfZHJvcHRhcmdldCIsaz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChsKSxtO2Z1bmN0aW9uIHEocyxyKXtlLkRyYWdBbmREcm9wLkFkZERyb3BUYXJnZXQoe2lkOnN9LGZ1bmN0aW9uKHQpe2UuRHJhZ0FuZERyb3AuQXR0YWNoQ2FsbGJhY2tzKHtpZDpzLGhvdmVyOmZ1bmN0aW9uKHUpe2lmKCF1JiZyKXtyKCl9fSxkcm9wOmZ1bmN0aW9uKHUpe2lmKHIpe3IoKX1mKHUpfX0sZnVuY3Rpb24oKXt9KX0pfWZ1bmN0aW9uIG8oKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwKS5zdHlsZS50b3A9Ii0xMDAwcHgifWlmKGspe2lmKGRvY3VtZW50LmF0dGFjaEV2ZW50JiYoL01TSUUvZ2kpLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpe249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5zZXRBdHRyaWJ1dGUoImlkIixwKTthLmV4dGVuZChuLnN0eWxlLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiLTEwMDBweCIsYmFja2dyb3VuZDoicmVkIixmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MCkiLG9wYWNpdHk6MH0pO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobik7YS5hZGRFdmVudChrLCJkcmFnZW50ZXIiLGZ1bmN0aW9uKHMpe3ZhciByLHQ7cj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChsKTt0PWEuZ2V0UG9zKHIpO2EuZXh0ZW5kKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHApLnN0eWxlLHt0b3A6dC55KyJweCIsbGVmdDp0LngrInB4Iix3aWR0aDpyLm9mZnNldFdpZHRoKyJweCIsaGVpZ2h0OnIub2Zmc2V0SGVpZ2h0KyJweCJ9KX0pO3EocCxvKX1lbHNle3EobCl9fWEuYWRkRXZlbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZC5icm93c2VfYnV0dG9uKSwiY2xpY2siLGZ1bmN0aW9uKHgpe3ZhciByPVtdLHQscyx3PWQuZmlsdGVycyx2LHU7eC5wcmV2ZW50RGVmYXVsdCgpO2lmKGope3JldHVybn1ub190eXBlX3Jlc3RyaWN0aW9uOmZvcih0PTA7dDx3Lmxlbmd0aDt0Kyspe3Y9d1t0XS5leHRlbnNpb25zLnNwbGl0KCIsIik7Zm9yKHM9MDtzPHYubGVuZ3RoO3MrKyl7aWYodltzXT09PSIqIil7cj1bXTticmVhayBub190eXBlX3Jlc3RyaWN0aW9ufXU9YS5taW1lVHlwZXNbdltzXV07aWYodSYmYS5pbkFycmF5KHUscik9PT0tMSl7ci5wdXNoKGEubWltZXNbdltzXV0pfX19ZS5GaWxlQnJvd3NlLk9wZW5Ccm93c2VEaWFsb2coe21pbWVUeXBlczpyfSxmdW5jdGlvbih5KXtpZih5LnN1Y2Nlc3Mpe2YoeS52YWx1ZSl9fSl9KTtrPW49bnVsbH0pO2cuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2UuVXBsb2FkZXIuY2FuY2VsKCl9KTtnLmJpbmQoIkRpc2FibGVCcm93c2UiLGZ1bmN0aW9uKGssbCl7aj1sfSk7Zy5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihuLGspe3ZhciBtPWhbay5pZF0scz17fSxsPW4uc2V0dGluZ3MuY2h1bmtfc2l6ZSxvLHA9W107ZnVuY3Rpb24gcih0LHYpe3ZhciB1O2lmKGsuc3RhdHVzPT1hLkZBSUxFRCl7cmV0dXJufXMubmFtZT1rLnRhcmdldF9uYW1lfHxrLm5hbWU7aWYobCl7cy5jaHVuaz0iIit0O3MuY2h1bmtzPSIiK3Z9dT1wLnNoaWZ0KCk7ZS5VcGxvYWRlci51cGxvYWQoe3VybDpuLnNldHRpbmdzLnVybCxmaWxlczp7ZmlsZTp1fSxjb29raWVzOmRvY3VtZW50LmNvb2tpZXMscG9zdHZhcnM6YS5leHRlbmQocyxuLnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpLHByb2dyZXNzQ2FsbGJhY2s6ZnVuY3Rpb24oeSl7dmFyIHgsdz0wO29bdF09cGFyc2VJbnQoeS5maWxlUGVyY2VudCp1LnNpemUvMTAwLDEwKTtmb3IoeD0wO3g8by5sZW5ndGg7eCsrKXt3Kz1vW3hdfWsubG9hZGVkPXc7bi50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsayl9fSxmdW5jdGlvbih4KXt2YXIgdyx5O2lmKHguc3VjY2Vzcyl7dz14LnZhbHVlLnN0YXR1c0NvZGU7aWYobCl7bi50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIixrLHtjaHVuazp0LGNodW5rczp2LHJlc3BvbnNlOngudmFsdWUuYm9keSxzdGF0dXM6d30pfWlmKHAubGVuZ3RoPjApe3IoKyt0LHYpfWVsc2V7ay5zdGF0dXM9YS5ET05FO24udHJpZ2dlcigiRmlsZVVwbG9hZGVkIixrLHtyZXNwb25zZTp4LnZhbHVlLmJvZHksc3RhdHVzOnd9KTtpZih3Pj00MDApe24udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmEuSFRUUF9FUlJPUixtZXNzYWdlOmEudHJhbnNsYXRlKCJIVFRQIEVycm9yLiIpLGZpbGU6ayxzdGF0dXM6d30pfX19ZWxzZXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTphLkdFTkVSSUNfRVJST1IsbWVzc2FnZTphLnRyYW5zbGF0ZSgiR2VuZXJpYyBFcnJvci4iKSxmaWxlOmssZGV0YWlsczp4LmVycm9yfSl9fSl9ZnVuY3Rpb24gcSh0KXtrLnNpemU9dC5zaXplO2lmKGwpe2UuRmlsZUFjY2Vzcy5jaHVuayh7ZmlsZTp0LGNodW5rU2l6ZTpsfSxmdW5jdGlvbih3KXtpZih3LnN1Y2Nlc3Mpe3ZhciB4PXcudmFsdWUsdT14Lmxlbmd0aDtvPUFycmF5KHUpO2Zvcih2YXIgdj0wO3Y8dTt2Kyspe29bdl09MDtwLnB1c2goeFt2XSl9cigwLHUpfX0pfWVsc2V7bz1BcnJheSgxKTtwLnB1c2godCk7cigwLDEpfX1pZihjJiYvXC4ocG5nfGpwZ3xqcGVnKSQvaS50ZXN0KGsubmFtZSkpe0Jyb3dzZXJQbHVzLkltYWdlQWx0ZXIudHJhbnNmb3JtKHtmaWxlOm0scXVhbGl0eTpjLnF1YWxpdHl8fDkwLGFjdGlvbnM6W3tzY2FsZTp7bWF4d2lkdGg6Yy53aWR0aCxtYXhoZWlnaHQ6Yy5oZWlnaHR9fV19LGZ1bmN0aW9uKHQpe2lmKHQuc3VjY2Vzcyl7cSh0LnZhbHVlLmZpbGUpfX0pfWVsc2V7cShtKX19KTtpKHtzdWNjZXNzOnRydWV9KX1pZihlKXtlLmluaXQoZnVuY3Rpb24oayl7dmFyIGo9W3tzZXJ2aWNlOiJVcGxvYWRlciIsdmVyc2lvbjoiMyJ9LHtzZXJ2aWNlOiJEcmFnQW5kRHJvcCIsdmVyc2lvbjoiMSJ9LHtzZXJ2aWNlOiJGaWxlQnJvd3NlIix2ZXJzaW9uOiIxIn0se3NlcnZpY2U6IkZpbGVBY2Nlc3MiLHZlcnNpb246IjIifV07aWYoYyl7ai5wdXNoKHtzZXJ2aWNlOiJJbWFnZUFsdGVyIix2ZXJzaW9uOiI0In0pfWlmKGsuc3VjY2Vzcyl7ZS5yZXF1aXJlKHtzZXJ2aWNlczpqfSxmdW5jdGlvbihsKXtpZihsLnN1Y2Nlc3Mpe2IoKX1lbHNle2koKX19KX1lbHNle2koKX19KX1lbHNle2koKX19fSl9KShwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.flash.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGYsYixkLGUpe3ZhciBhPXt9LGc9e307ZnVuY3Rpb24gYygpe3ZhciBoO3RyeXtoPW5hdmlnYXRvci5wbHVnaW5zWyJTaG9ja3dhdmUgRmxhc2giXTtoPWguZGVzY3JpcHRpb259Y2F0Y2goail7dHJ5e2g9bmV3IEFjdGl2ZVhPYmplY3QoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoIikuR2V0VmFyaWFibGUoIiR2ZXJzaW9uIil9Y2F0Y2goaSl7aD0iMC4wIn19aD1oLm1hdGNoKC9cZCsvZyk7cmV0dXJuIHBhcnNlRmxvYXQoaFswXSsiLiIraFsxXSl9ZC5mbGFzaD17dHJpZ2dlcjpmdW5jdGlvbihqLGgsaSl7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBtPWFbal0sbCxrO2lmKG0pe20udHJpZ2dlcigiRmxhc2g6IitoLGkpfX0sMCl9fTtkLnJ1bnRpbWVzLkZsYXNoPWQuYWRkUnVudGltZSgiZmxhc2giLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxtYXhXaWR0aDo4MDkxLG1heEhlaWdodDo4MDkxLGNodW5rczp0cnVlLHByb2dyZXNzOnRydWUsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWV9fSxpbml0OmZ1bmN0aW9uKG0sbyl7dmFyIGssbCxoPTAsaT1iLmJvZHk7aWYoYygpPDEwKXtvKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWdbbS5pZF09ZmFsc2U7YVttLmlkXT1tO2s9Yi5nZXRFbGVtZW50QnlJZChtLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2w9Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLmlkPW0uaWQrIl9mbGFzaF9jb250YWluZXIiO2QuZXh0ZW5kKGwuc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6bS5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSk7bC5jbGFzc05hbWU9InBsdXBsb2FkIGZsYXNoIjtpZihtLnNldHRpbmdzLmNvbnRhaW5lcil7aT1iLmdldEVsZW1lbnRCeUlkKG0uc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGksInBvc2l0aW9uIik9PT0ic3RhdGljIil7aS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1pLmFwcGVuZENoaWxkKGwpOyhmdW5jdGlvbigpe3ZhciBwLHE7cD0nPG9iamVjdCBpZD0iJyttLmlkKydfZmxhc2giIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBkYXRhPSInK20uc2V0dGluZ3MuZmxhc2hfc3dmX3VybCsnIiAnO2lmKGQudWEuaWUpe3ArPSdjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiICd9cCs9J3dpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvdXRsaW5lOjAiPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicrbS5zZXR0aW5ncy5mbGFzaF9zd2ZfdXJsKyciIC8+PHBhcmFtIG5hbWU9ImZsYXNodmFycyIgdmFsdWU9ImlkPScrZXNjYXBlKG0uaWQpKyciIC8+PHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0idHJhbnNwYXJlbnQiIC8+PHBhcmFtIG5hbWU9ImFsbG93c2NyaXB0YWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPjwvb2JqZWN0Pic7aWYoZC51YS5pZSl7cT1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuYXBwZW5kQ2hpbGQocSk7cS5vdXRlckhUTUw9cDtxPW51bGx9ZWxzZXtsLmlubmVySFRNTD1wfX0oKSk7ZnVuY3Rpb24gbigpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKG0uaWQrIl9mbGFzaCIpfWZ1bmN0aW9uIGooKXtpZihoKys+NTAwMCl7byh7c3VjY2VzczpmYWxzZX0pO3JldHVybn1pZighZ1ttLmlkXSl7c2V0VGltZW91dChqLDEpfX1qKCk7az1sPW51bGw7bS5iaW5kKCJGbGFzaDpJbml0IixmdW5jdGlvbigpe3ZhciBxPXt9LHA7bigpLnNldEZpbGVGaWx0ZXJzKG0uc2V0dGluZ3MuZmlsdGVycyxtLnNldHRpbmdzLm11bHRpX3NlbGVjdGlvbik7aWYoZ1ttLmlkXSl7cmV0dXJufWdbbS5pZF09dHJ1ZTttLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHIsdCl7dmFyIHU9ci5zZXR0aW5ncyxzPW0uc2V0dGluZ3MucmVzaXplfHx7fTtuKCkudXBsb2FkRmlsZShxW3QuaWRdLHUudXJsLHtuYW1lOnQudGFyZ2V0X25hbWV8fHQubmFtZSxtaW1lOmQubWltZVR5cGVzW3QubmFtZS5yZXBsYWNlKC9eLitcLihbXi5dKykvLCIkMSIpLnRvTG93ZXJDYXNlKCldfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIixjaHVua19zaXplOnUuY2h1bmtfc2l6ZSx3aWR0aDpzLndpZHRoLGhlaWdodDpzLmhlaWdodCxxdWFsaXR5OnMucXVhbGl0eSxtdWx0aXBhcnQ6dS5tdWx0aXBhcnQsbXVsdGlwYXJ0X3BhcmFtczp1Lm11bHRpcGFydF9wYXJhbXN8fHt9LGZpbGVfZGF0YV9uYW1lOnUuZmlsZV9kYXRhX25hbWUsZm9ybWF0Oi9cLihqcGd8anBlZykkL2kudGVzdCh0Lm5hbWUpPyJqcGciOiJwbmciLGhlYWRlcnM6dS5oZWFkZXJzLHVybHN0cmVhbV91cGxvYWQ6dS51cmxzdHJlYW1fdXBsb2FkfSl9KTttLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtuKCkuY2FuY2VsVXBsb2FkKCl9KTttLmJpbmQoIkZsYXNoOlVwbG9hZFByb2Nlc3MiLGZ1bmN0aW9uKHMscil7dmFyIHQ9cy5nZXRGaWxlKHFbci5pZF0pO2lmKHQuc3RhdHVzIT1kLkZBSUxFRCl7dC5sb2FkZWQ9ci5sb2FkZWQ7dC5zaXplPXIuc2l6ZTtzLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix0KX19KTttLmJpbmQoIkZsYXNoOlVwbG9hZENodW5rQ29tcGxldGUiLGZ1bmN0aW9uKHIsdCl7dmFyIHUscz1yLmdldEZpbGUocVt0LmlkXSk7dT17Y2h1bms6dC5jaHVuayxjaHVua3M6dC5jaHVua3MscmVzcG9uc2U6dC50ZXh0fTtyLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHMsdSk7aWYocy5zdGF0dXMhPT1kLkZBSUxFRCYmci5zdGF0ZSE9PWQuU1RPUFBFRCl7bigpLnVwbG9hZE5leHRDaHVuaygpfWlmKHQuY2h1bms9PXQuY2h1bmtzLTEpe3Muc3RhdHVzPWQuRE9ORTtyLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIscyx7cmVzcG9uc2U6dC50ZXh0fSl9fSk7bS5iaW5kKCJGbGFzaDpTZWxlY3RGaWxlcyIsZnVuY3Rpb24ocix1KXt2YXIgdCxzLHY9W10sdztmb3Iocz0wO3M8dS5sZW5ndGg7cysrKXt0PXVbc107dz1kLmd1aWQoKTtxW3ddPXQuaWQ7cVt0LmlkXT13O3YucHVzaChuZXcgZC5GaWxlKHcsdC5uYW1lLHQuc2l6ZSkpfWlmKHYubGVuZ3RoKXttLnRyaWdnZXIoIkZpbGVzQWRkZWQiLHYpfX0pO20uYmluZCgiRmxhc2g6U2VjdXJpdHlFcnJvciIsZnVuY3Rpb24ocixzKXttLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLlNFQ1VSSVRZX0VSUk9SLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIlNlY3VyaXR5IGVycm9yLiIpLGRldGFpbHM6cy5tZXNzYWdlLGZpbGU6bS5nZXRGaWxlKHFbcy5pZF0pfSl9KTttLmJpbmQoIkZsYXNoOkdlbmVyaWNFcnJvciIsZnVuY3Rpb24ocixzKXttLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLkdFTkVSSUNfRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiR2VuZXJpYyBlcnJvci4iKSxkZXRhaWxzOnMubWVzc2FnZSxmaWxlOm0uZ2V0RmlsZShxW3MuaWRdKX0pfSk7bS5iaW5kKCJGbGFzaDpJT0Vycm9yIixmdW5jdGlvbihyLHMpe20udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmQuSU9fRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiSU8gZXJyb3IuIiksZGV0YWlsczpzLm1lc3NhZ2UsZmlsZTptLmdldEZpbGUocVtzLmlkXSl9KX0pO20uYmluZCgiRmxhc2g6SW1hZ2VFcnJvciIsZnVuY3Rpb24ocixzKXttLnRyaWdnZXIoIkVycm9yIix7Y29kZTpwYXJzZUludChzLmNvZGUsMTApLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIkltYWdlIGVycm9yLiIpLGZpbGU6bS5nZXRGaWxlKHFbcy5pZF0pfSl9KTttLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6cm9sbE92ZXIiLGZ1bmN0aW9uKHIpe3ZhciBzLHQ7cz1iLmdldEVsZW1lbnRCeUlkKG0uc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dD1yLnNldHRpbmdzLmJyb3dzZV9idXR0b25faG92ZXI7aWYocyYmdCl7ZC5hZGRDbGFzcyhzLHQpfX0pO20uYmluZCgiRmxhc2g6U3RhZ2VFdmVudDpyb2xsT3V0IixmdW5jdGlvbihyKXt2YXIgcyx0O3M9Yi5nZXRFbGVtZW50QnlJZChtLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3Q9ci5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHMmJnQpe2QucmVtb3ZlQ2xhc3Mocyx0KX19KTttLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VEb3duIixmdW5jdGlvbihyKXt2YXIgcyx0O3M9Yi5nZXRFbGVtZW50QnlJZChtLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3Q9ci5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2FjdGl2ZTtpZihzJiZ0KXtkLmFkZENsYXNzKHMsdCk7ZC5hZGRFdmVudChiLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7ZC5yZW1vdmVDbGFzcyhzLHQpfSxyLmlkKX19KTttLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VVcCIsZnVuY3Rpb24ocil7dmFyIHMsdDtzPWIuZ2V0RWxlbWVudEJ5SWQobS5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt0PXIuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmU7aWYocyYmdCl7ZC5yZW1vdmVDbGFzcyhzLHQpfX0pO20uYmluZCgiRmxhc2g6RXhpZkRhdGEiLGZ1bmN0aW9uKHIscyl7bS50cmlnZ2VyKCJFeGlmRGF0YSIsbS5nZXRGaWxlKHFbcy5pZF0pLHMuZGF0YSl9KTttLmJpbmQoIkZsYXNoOkdwc0RhdGEiLGZ1bmN0aW9uKHIscyl7bS50cmlnZ2VyKCJHcHNEYXRhIixtLmdldEZpbGUocVtzLmlkXSkscy5kYXRhKX0pO20uYmluZCgiUXVldWVDaGFuZ2VkIixmdW5jdGlvbihyKXttLnJlZnJlc2goKX0pO20uYmluZCgiRmlsZXNSZW1vdmVkIixmdW5jdGlvbihyLHQpe3ZhciBzO2ZvcihzPTA7czx0Lmxlbmd0aDtzKyspe24oKS5yZW1vdmVGaWxlKHFbdFtzXS5pZF0pfX0pO20uYmluZCgiU3RhdGVDaGFuZ2VkIixmdW5jdGlvbihyKXttLnJlZnJlc2goKX0pO20uYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24ocil7dmFyIHMsdCx1O24oKS5zZXRGaWxlRmlsdGVycyhtLnNldHRpbmdzLmZpbHRlcnMsbS5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24pO3M9Yi5nZXRFbGVtZW50QnlJZChyLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHMpe3Q9ZC5nZXRQb3MocyxiLmdldEVsZW1lbnRCeUlkKHIuc2V0dGluZ3MuY29udGFpbmVyKSk7dT1kLmdldFNpemUocyk7ZC5leHRlbmQoYi5nZXRFbGVtZW50QnlJZChyLmlkKyJfZmxhc2hfY29udGFpbmVyIikuc3R5bGUse3RvcDp0LnkrInB4IixsZWZ0OnQueCsicHgiLHdpZHRoOnUudysicHgiLGhlaWdodDp1LmgrInB4In0pfX0pO20uYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24ocixzKXtuKCkuZGlzYWJsZUJyb3dzZShzKX0pO20uYmluZCgiRGVzdHJveSIsZnVuY3Rpb24ocil7dmFyIHM7ZC5yZW1vdmVBbGxFdmVudHMoYi5ib2R5LHIuaWQpO2RlbGV0ZSBnW3IuaWRdO2RlbGV0ZSBhW3IuaWRdO3M9Yi5nZXRFbGVtZW50QnlJZChyLmlkKyJfZmxhc2hfY29udGFpbmVyIik7aWYocyl7aS5yZW1vdmVDaGlsZChzKX19KTtvKHtzdWNjZXNzOnRydWV9KX0pfX0pfSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.flash.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.full.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoxLjUuMiovCihmdW5jdGlvbigpe3ZhciBmPTAsbD1bXSxuPXt9LGo9e30sYT17IjwiOiJsdCIsIj4iOiJndCIsIiYiOiJhbXAiLCciJzoicXVvdCIsIiciOiIjMzkifSxtPS9bPD4mXCJcJ10vZyxiLGM9d2luZG93LnNldFRpbWVvdXQsZD17fSxlO2Z1bmN0aW9uIGgoKXt0aGlzLnJldHVyblZhbHVlPWZhbHNlfWZ1bmN0aW9uIGsoKXt0aGlzLmNhbmNlbEJ1YmJsZT10cnVlfShmdW5jdGlvbihvKXt2YXIgcD1vLnNwbGl0KC8sLykscSxzLHI7Zm9yKHE9MDtxPHAubGVuZ3RoO3ErPTIpe3I9cFtxKzFdLnNwbGl0KC8gLyk7Zm9yKHM9MDtzPHIubGVuZ3RoO3MrKyl7altyW3NdXT1wW3FdfX19KSgiYXBwbGljYXRpb24vbXN3b3JkLGRvYyBkb3QsYXBwbGljYXRpb24vcGRmLHBkZixhcHBsaWNhdGlvbi9wZ3Atc2lnbmF0dXJlLHBncCxhcHBsaWNhdGlvbi9wb3N0c2NyaXB0LHBzIGFpIGVwcyxhcHBsaWNhdGlvbi9ydGYscnRmLGFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCx4bHMgeGxiLGFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LHBwdCBwcHMgcG90LGFwcGxpY2F0aW9uL3ppcCx6aXAsYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gsc3dmIHN3ZmwsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQsZG9jeCxhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC50ZW1wbGF0ZSxkb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0LHhsc3gsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbixwcHR4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50ZW1wbGF0ZSxwb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXNob3cscHBzeCxhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQsanMsYXBwbGljYXRpb24vanNvbixqc29uLGF1ZGlvL21wZWcsbXBnYSBtcGVnYSBtcDIgbXAzLGF1ZGlvL3gtd2F2LHdhdixhdWRpby9tcDQsbTRhLGltYWdlL2JtcCxibXAsaW1hZ2UvZ2lmLGdpZixpbWFnZS9qcGVnLGpwZWcganBnIGpwZSxpbWFnZS9waG90b3Nob3AscHNkLGltYWdlL3BuZyxwbmcsaW1hZ2Uvc3ZnK3htbCxzdmcgc3ZneixpbWFnZS90aWZmLHRpZmYgdGlmLHRleHQvcGxhaW4sYXNjIHR4dCB0ZXh0IGRpZmYgbG9nLHRleHQvaHRtbCxodG0gaHRtbCB4aHRtbCx0ZXh0L2Nzcyxjc3MsdGV4dC9jc3YsY3N2LHRleHQvcnRmLHJ0Zix2aWRlby9tcGVnLG1wZWcgbXBnIG1wZSx2aWRlby9xdWlja3RpbWUscXQgbW92LHZpZGVvL21wNCxtcDQsdmlkZW8veC1tNHYsbTR2LHZpZGVvL3gtZmx2LGZsdix2aWRlby94LW1zLXdtdix3bXYsdmlkZW8vYXZpLGF2aSx2aWRlby93ZWJtLHdlYm0sdmlkZW8vdm5kLnJuLXJlYWx2aWRlbyxydixhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGEtdGVtcGxhdGUsb3RmLGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSxleGUiKTt2YXIgZz17VkVSU0lPTjoiMS41LjIiLFNUT1BQRUQ6MSxTVEFSVEVEOjIsUVVFVUVEOjEsVVBMT0FESU5HOjIsRkFJTEVEOjQsRE9ORTo1LEdFTkVSSUNfRVJST1I6LTEwMCxIVFRQX0VSUk9SOi0yMDAsSU9fRVJST1I6LTMwMCxTRUNVUklUWV9FUlJPUjotNDAwLElOSVRfRVJST1I6LTUwMCxGSUxFX1NJWkVfRVJST1I6LTYwMCxGSUxFX0VYVEVOU0lPTl9FUlJPUjotNjAxLElNQUdFX0ZPUk1BVF9FUlJPUjotNzAwLElNQUdFX01FTU9SWV9FUlJPUjotNzAxLElNQUdFX0RJTUVOU0lPTlNfRVJST1I6LTcwMixtaW1lVHlwZXM6aix1YTooZnVuY3Rpb24oKXt2YXIgcz1uYXZpZ2F0b3Iscj1zLnVzZXJBZ2VudCx0PXMudmVuZG9yLHAsbyxxO3A9L1dlYktpdC8udGVzdChyKTtxPXAmJnQuaW5kZXhPZigiQXBwbGUiKSE9PS0xO289d2luZG93Lm9wZXJhJiZ3aW5kb3cub3BlcmEuYnVpbGROdW1iZXI7cmV0dXJue3dpbmRvd3M6bmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIldpbiIpIT09LTEsaWU6IXAmJiFvJiYoL01TSUUvZ2kpLnRlc3QocikmJigvRXhwbG9yZXIvZ2kpLnRlc3Qocy5hcHBOYW1lKSx3ZWJraXQ6cCxnZWNrbzohcCYmL0dlY2tvLy50ZXN0KHIpLHNhZmFyaTpxLG9wZXJhOiEhb319KCkpLHR5cGVPZjpmdW5jdGlvbihwKXtyZXR1cm4oe30pLnRvU3RyaW5nLmNhbGwocCkubWF0Y2goL1xzKFthLXp8QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKX0sZXh0ZW5kOmZ1bmN0aW9uKG8pe2cuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24ocCxxKXtpZihxPjApe2cuZWFjaChwLGZ1bmN0aW9uKHMscil7b1tyXT1zfSl9fSk7cmV0dXJuIG99LGNsZWFuTmFtZTpmdW5jdGlvbihvKXt2YXIgcCxxO3E9Wy9bXDMwMC1cMzA2XS9nLCJBIiwvW1wzNDAtXDM0Nl0vZywiYSIsL1wzMDcvZywiQyIsL1wzNDcvZywiYyIsL1tcMzEwLVwzMTNdL2csIkUiLC9bXDM1MC1cMzUzXS9nLCJlIiwvW1wzMTQtXDMxN10vZywiSSIsL1tcMzU0LVwzNTddL2csImkiLC9cMzIxL2csIk4iLC9cMzYxL2csIm4iLC9bXDMyMi1cMzMwXS9nLCJPIiwvW1wzNjItXDM3MF0vZywibyIsL1tcMzMxLVwzMzRdL2csIlUiLC9bXDM3MS1cMzc0XS9nLCJ1Il07Zm9yKHA9MDtwPHEubGVuZ3RoO3ArPTIpe289by5yZXBsYWNlKHFbcF0scVtwKzFdKX1vPW8ucmVwbGFjZSgvXHMrL2csIl8iKTtvPW8ucmVwbGFjZSgvW15hLXowLTlfXC1cLl0rL2dpLCIiKTtyZXR1cm4gb30sYWRkUnVudGltZTpmdW5jdGlvbihvLHApe3AubmFtZT1vO2xbb109cDtsLnB1c2gocCk7cmV0dXJuIHB9LGd1aWQ6ZnVuY3Rpb24oKXt2YXIgbz1uZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygzMikscDtmb3IocD0wO3A8NTtwKyspe28rPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo2NTUzNSkudG9TdHJpbmcoMzIpfXJldHVybihnLmd1aWRQcmVmaXh8fCJwIikrbysoZisrKS50b1N0cmluZygzMil9LGJ1aWxkVXJsOmZ1bmN0aW9uKHAsbyl7dmFyIHE9IiI7Zy5lYWNoKG8sZnVuY3Rpb24ocyxyKXtxKz0ocT8iJiI6IiIpK2VuY29kZVVSSUNvbXBvbmVudChyKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHMpfSk7aWYocSl7cCs9KHAuaW5kZXhPZigiPyIpPjA/IiYiOiI/IikrcX1yZXR1cm4gcH0sZWFjaDpmdW5jdGlvbihyLHMpe3ZhciBxLHAsbztpZihyKXtxPXIubGVuZ3RoO2lmKHE9PT1iKXtmb3IocCBpbiByKXtpZihyLmhhc093blByb3BlcnR5KHApKXtpZihzKHJbcF0scCk9PT1mYWxzZSl7cmV0dXJufX19fWVsc2V7Zm9yKG89MDtvPHE7bysrKXtpZihzKHJbb10sbyk9PT1mYWxzZSl7cmV0dXJufX19fX0sZm9ybWF0U2l6ZTpmdW5jdGlvbihvKXtpZihvPT09Ynx8L1xELy50ZXN0KG8pKXtyZXR1cm4gZy50cmFuc2xhdGUoIk4vQSIpfWlmKG8+MTA3Mzc0MTgyNCl7cmV0dXJuIE1hdGgucm91bmQoby8xMDczNzQxODI0LDEpKyIgR0IifWlmKG8+MTA0ODU3Nil7cmV0dXJuIE1hdGgucm91bmQoby8xMDQ4NTc2LDEpKyIgTUIifWlmKG8+MTAyNCl7cmV0dXJuIE1hdGgucm91bmQoby8xMDI0LDEpKyIgS0IifXJldHVybiBvKyIgYiJ9LGdldFBvczpmdW5jdGlvbihwLHQpe3ZhciB1PTAscz0wLHcsdj1kb2N1bWVudCxxLHI7cD1wO3Q9dHx8di5ib2R5O2Z1bmN0aW9uIG8oQyl7dmFyIEEsQix6PTAsRD0wO2lmKEMpe0I9Qy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtBPXYuY29tcGF0TW9kZT09PSJDU1MxQ29tcGF0Ij92LmRvY3VtZW50RWxlbWVudDp2LmJvZHk7ej1CLmxlZnQrQS5zY3JvbGxMZWZ0O0Q9Qi50b3ArQS5zY3JvbGxUb3B9cmV0dXJue3g6eix5OkR9fWlmKHAmJnAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiYobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIik+MCYmdi5kb2N1bWVudE1vZGUhPT04KSl7cT1vKHApO3I9byh0KTtyZXR1cm57eDpxLngtci54LHk6cS55LXIueX19dz1wO3doaWxlKHcmJnchPXQmJncubm9kZVR5cGUpe3UrPXcub2Zmc2V0TGVmdHx8MDtzKz13Lm9mZnNldFRvcHx8MDt3PXcub2Zmc2V0UGFyZW50fXc9cC5wYXJlbnROb2RlO3doaWxlKHcmJnchPXQmJncubm9kZVR5cGUpe3UtPXcuc2Nyb2xsTGVmdHx8MDtzLT13LnNjcm9sbFRvcHx8MDt3PXcucGFyZW50Tm9kZX1yZXR1cm57eDp1LHk6c319LGdldFNpemU6ZnVuY3Rpb24obyl7cmV0dXJue3c6by5vZmZzZXRXaWR0aHx8by5jbGllbnRXaWR0aCxoOm8ub2Zmc2V0SGVpZ2h0fHxvLmNsaWVudEhlaWdodH19LHBhcnNlU2l6ZTpmdW5jdGlvbihvKXt2YXIgcDtpZih0eXBlb2Yobyk9PSJzdHJpbmciKXtvPS9eKFswLTldKykoW21na10/KSQvLmV4ZWMoby50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teMC05bWtnXS9nLCIiKSk7cD1vWzJdO289K29bMV07aWYocD09ImciKXtvKj0xMDczNzQxODI0fWlmKHA9PSJtIil7byo9MTA0ODU3Nn1pZihwPT0iayIpe28qPTEwMjR9fXJldHVybiBvfSx4bWxFbmNvZGU6ZnVuY3Rpb24obyl7cmV0dXJuIG8/KCIiK28pLnJlcGxhY2UobSxmdW5jdGlvbihwKXtyZXR1cm4gYVtwXT8iJiIrYVtwXSsiOyI6cH0pOm99LHRvQXJyYXk6ZnVuY3Rpb24ocSl7dmFyIHAsbz1bXTtmb3IocD0wO3A8cS5sZW5ndGg7cCsrKXtvW3BdPXFbcF19cmV0dXJuIG99LGluQXJyYXk6ZnVuY3Rpb24ocSxyKXtpZihyKXtpZihBcnJheS5wcm90b3R5cGUuaW5kZXhPZil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwocixxKX1mb3IodmFyIG89MCxwPXIubGVuZ3RoO288cDtvKyspe2lmKHJbb109PT1xKXtyZXR1cm4gb319fXJldHVybiAtMX0sYWRkSTE4bjpmdW5jdGlvbihvKXtyZXR1cm4gZy5leHRlbmQobixvKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKG8pe3JldHVybiBuW29dfHxvfSxpc0VtcHR5T2JqOmZ1bmN0aW9uKG8pe2lmKG89PT1iKXtyZXR1cm4gdHJ1ZX1mb3IodmFyIHAgaW4gbyl7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfSxoYXNDbGFzczpmdW5jdGlvbihxLHApe3ZhciBvO2lmKHEuY2xhc3NOYW1lPT0iIil7cmV0dXJuIGZhbHNlfW89bmV3IFJlZ0V4cCgiKF58XFxzKykiK3ArIihcXHMrfCQpIik7cmV0dXJuIG8udGVzdChxLmNsYXNzTmFtZSl9LGFkZENsYXNzOmZ1bmN0aW9uKHAsbyl7aWYoIWcuaGFzQ2xhc3MocCxvKSl7cC5jbGFzc05hbWU9cC5jbGFzc05hbWU9PSIiP286cC5jbGFzc05hbWUucmVwbGFjZSgvXHMrJC8sIiIpKyIgIitvfX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24ocSxwKXt2YXIgbz1uZXcgUmVnRXhwKCIoXnxcXHMrKSIrcCsiKFxccyt8JCkiKTtxLmNsYXNzTmFtZT1xLmNsYXNzTmFtZS5yZXBsYWNlKG8sZnVuY3Rpb24ocyxyLHQpe3JldHVybiByPT09IiAiJiZ0PT09IiAiPyIgIjoiIn0pfSxnZXRTdHlsZTpmdW5jdGlvbihwLG8pe2lmKHAuY3VycmVudFN0eWxlKXtyZXR1cm4gcC5jdXJyZW50U3R5bGVbb119ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHAsbnVsbClbb119fX0sYWRkRXZlbnQ6ZnVuY3Rpb24odCxvLHUpe3ZhciBzLHIscSxwO3A9YXJndW1lbnRzWzNdO289by50b0xvd2VyQ2FzZSgpO2lmKGU9PT1iKXtlPSJQbHVwbG9hZF8iK2cuZ3VpZCgpfWlmKHQuYWRkRXZlbnRMaXN0ZW5lcil7cz11O3QuYWRkRXZlbnRMaXN0ZW5lcihvLHMsZmFsc2UpfWVsc2V7aWYodC5hdHRhY2hFdmVudCl7cz1mdW5jdGlvbigpe3ZhciB2PXdpbmRvdy5ldmVudDtpZighdi50YXJnZXQpe3YudGFyZ2V0PXYuc3JjRWxlbWVudH12LnByZXZlbnREZWZhdWx0PWg7di5zdG9wUHJvcGFnYXRpb249azt1KHYpfTt0LmF0dGFjaEV2ZW50KCJvbiIrbyxzKX19aWYodFtlXT09PWIpe3RbZV09Zy5ndWlkKCl9aWYoIWQuaGFzT3duUHJvcGVydHkodFtlXSkpe2RbdFtlXV09e319cj1kW3RbZV1dO2lmKCFyLmhhc093blByb3BlcnR5KG8pKXtyW29dPVtdfXJbb10ucHVzaCh7ZnVuYzpzLG9yaWc6dSxrZXk6cH0pfSxyZW1vdmVFdmVudDpmdW5jdGlvbih0LG8pe3ZhciByLHUscTtpZih0eXBlb2YoYXJndW1lbnRzWzJdKT09ImZ1bmN0aW9uIil7dT1hcmd1bWVudHNbMl19ZWxzZXtxPWFyZ3VtZW50c1syXX1vPW8udG9Mb3dlckNhc2UoKTtpZih0W2VdJiZkW3RbZV1dJiZkW3RbZV1dW29dKXtyPWRbdFtlXV1bb119ZWxzZXtyZXR1cm59Zm9yKHZhciBwPXIubGVuZ3RoLTE7cD49MDtwLS0pe2lmKHJbcF0ua2V5PT09cXx8cltwXS5vcmlnPT09dSl7aWYodC5kZXRhY2hFdmVudCl7dC5kZXRhY2hFdmVudCgib24iK28scltwXS5mdW5jKX1lbHNle2lmKHQucmVtb3ZlRXZlbnRMaXN0ZW5lcil7dC5yZW1vdmVFdmVudExpc3RlbmVyKG8scltwXS5mdW5jLGZhbHNlKX19cltwXS5vcmlnPW51bGw7cltwXS5mdW5jPW51bGw7ci5zcGxpY2UocCwxKTtpZih1IT09Yil7YnJlYWt9fX1pZighci5sZW5ndGgpe2RlbGV0ZSBkW3RbZV1dW29dfWlmKGcuaXNFbXB0eU9iaihkW3RbZV1dKSl7ZGVsZXRlIGRbdFtlXV07dHJ5e2RlbGV0ZSB0W2VdfWNhdGNoKHMpe3RbZV09Yn19fSxyZW1vdmVBbGxFdmVudHM6ZnVuY3Rpb24ocCl7dmFyIG89YXJndW1lbnRzWzFdO2lmKHBbZV09PT1ifHwhcFtlXSl7cmV0dXJufWcuZWFjaChkW3BbZV1dLGZ1bmN0aW9uKHIscSl7Zy5yZW1vdmVFdmVudChwLHEsbyl9KX19O2cuVXBsb2FkZXI9ZnVuY3Rpb24ocyl7dmFyIHA9e30sdix1PVtdLHIscT1mYWxzZTt2PW5ldyBnLlF1ZXVlUHJvZ3Jlc3MoKTtzPWcuZXh0ZW5kKHtjaHVua19zaXplOjAsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWUsZmlsZV9kYXRhX25hbWU6ImZpbGUiLGZpbHRlcnM6W119LHMpO2Z1bmN0aW9uIHQoKXt2YXIgeCx5PTAsdztpZih0aGlzLnN0YXRlPT1nLlNUQVJURUQpe2Zvcih3PTA7dzx1Lmxlbmd0aDt3Kyspe2lmKCF4JiZ1W3ddLnN0YXR1cz09Zy5RVUVVRUQpe3g9dVt3XTt4LnN0YXR1cz1nLlVQTE9BRElORztpZih0aGlzLnRyaWdnZXIoIkJlZm9yZVVwbG9hZCIseCkpe3RoaXMudHJpZ2dlcigiVXBsb2FkRmlsZSIseCl9fWVsc2V7eSsrfX1pZih5PT11Lmxlbmd0aCl7dGhpcy5zdG9wKCk7dGhpcy50cmlnZ2VyKCJVcGxvYWRDb21wbGV0ZSIsdSl9fX1mdW5jdGlvbiBvKCl7dmFyIHgsdzt2LnJlc2V0KCk7Zm9yKHg9MDt4PHUubGVuZ3RoO3grKyl7dz11W3hdO2lmKHcuc2l6ZSE9PWIpe3Yuc2l6ZSs9dy5zaXplO3YubG9hZGVkKz13LmxvYWRlZH1lbHNle3Yuc2l6ZT1ifWlmKHcuc3RhdHVzPT1nLkRPTkUpe3YudXBsb2FkZWQrK31lbHNle2lmKHcuc3RhdHVzPT1nLkZBSUxFRCl7di5mYWlsZWQrK31lbHNle3YucXVldWVkKyt9fX1pZih2LnNpemU9PT1iKXt2LnBlcmNlbnQ9dS5sZW5ndGg+MD9NYXRoLmNlaWwodi51cGxvYWRlZC91Lmxlbmd0aCoxMDApOjB9ZWxzZXt2LmJ5dGVzUGVyU2VjPU1hdGguY2VpbCh2LmxvYWRlZC8oKCtuZXcgRGF0ZSgpLXJ8fDEpLzEwMDApKTt2LnBlcmNlbnQ9di5zaXplPjA/TWF0aC5jZWlsKHYubG9hZGVkL3Yuc2l6ZSoxMDApOjB9fWcuZXh0ZW5kKHRoaXMse3N0YXRlOmcuU1RPUFBFRCxydW50aW1lOiIiLGZlYXR1cmVzOnt9LGZpbGVzOnUsc2V0dGluZ3M6cyx0b3RhbDp2LGlkOmcuZ3VpZCgpLGluaXQ6ZnVuY3Rpb24oKXt2YXIgQj10aGlzLEMseSx4LEE9MCx6O2lmKHR5cGVvZihzLnByZWluaXQpPT0iZnVuY3Rpb24iKXtzLnByZWluaXQoQil9ZWxzZXtnLmVhY2gocy5wcmVpbml0LGZ1bmN0aW9uKEUsRCl7Qi5iaW5kKEQsRSl9KX1zLnBhZ2VfdXJsPXMucGFnZV91cmx8fGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvW15cL10rJC9nLCIvIik7aWYoIS9eKFx3KzpcL1wvfFwvKS8udGVzdChzLnVybCkpe3MudXJsPXMucGFnZV91cmwrcy51cmx9cy5jaHVua19zaXplPWcucGFyc2VTaXplKHMuY2h1bmtfc2l6ZSk7cy5tYXhfZmlsZV9zaXplPWcucGFyc2VTaXplKHMubWF4X2ZpbGVfc2l6ZSk7Qi5iaW5kKCJGaWxlc0FkZGVkIixmdW5jdGlvbihELEcpe3ZhciBGLEUsST0wLEosSD1zLmZpbHRlcnM7aWYoSCYmSC5sZW5ndGgpe0o9W107Zy5lYWNoKEgsZnVuY3Rpb24oSyl7Zy5lYWNoKEsuZXh0ZW5zaW9ucy5zcGxpdCgvLC8pLGZ1bmN0aW9uKEwpe2lmKC9eXHMqXCpccyokLy50ZXN0KEwpKXtKLnB1c2goIlxcLioiKX1lbHNle0oucHVzaCgiXFwuIitMLnJlcGxhY2UobmV3IFJlZ0V4cCgiWyIrKCIvXiQuKis/fCgpW117fVxcIi5yZXBsYWNlKC8uL2csIlxcJCYiKSkrIl0iLCJnIiksIlxcJCYiKSl9fSl9KTtKPW5ldyBSZWdFeHAoSi5qb2luKCJ8IikrIiQiLCJpIil9Zm9yKEY9MDtGPEcubGVuZ3RoO0YrKyl7RT1HW0ZdO0UubG9hZGVkPTA7RS5wZXJjZW50PTA7RS5zdGF0dXM9Zy5RVUVVRUQ7aWYoSiYmIUoudGVzdChFLm5hbWUpKXtELnRyaWdnZXIoIkVycm9yIix7Y29kZTpnLkZJTEVfRVhURU5TSU9OX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgZXh0ZW5zaW9uIGVycm9yLiIpLGZpbGU6RX0pO2NvbnRpbnVlfWlmKEUuc2l6ZSE9PWImJkUuc2l6ZT5zLm1heF9maWxlX3NpemUpe0QudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuRklMRV9TSVpFX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgc2l6ZSBlcnJvci4iKSxmaWxlOkV9KTtjb250aW51ZX11LnB1c2goRSk7SSsrfWlmKEkpe2MoZnVuY3Rpb24oKXtCLnRyaWdnZXIoIlF1ZXVlQ2hhbmdlZCIpO0IucmVmcmVzaCgpfSwxKX1lbHNle3JldHVybiBmYWxzZX19KTtpZihzLnVuaXF1ZV9uYW1lcyl7Qi5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihELEUpe3ZhciBHPUUubmFtZS5tYXRjaCgvXC4oW14uXSspJC8pLEY9InRtcCI7aWYoRyl7Rj1HWzFdfUUudGFyZ2V0X25hbWU9RS5pZCsiLiIrRn0pfUIuYmluZCgiVXBsb2FkUHJvZ3Jlc3MiLGZ1bmN0aW9uKEQsRSl7RS5wZXJjZW50PUUuc2l6ZT4wP01hdGguY2VpbChFLmxvYWRlZC9FLnNpemUqMTAwKToxMDA7bygpfSk7Qi5iaW5kKCJTdGF0ZUNoYW5nZWQiLGZ1bmN0aW9uKEQpe2lmKEQuc3RhdGU9PWcuU1RBUlRFRCl7cj0oK25ldyBEYXRlKCkpfWVsc2V7aWYoRC5zdGF0ZT09Zy5TVE9QUEVEKXtmb3IoQz1ELmZpbGVzLmxlbmd0aC0xO0M+PTA7Qy0tKXtpZihELmZpbGVzW0NdLnN0YXR1cz09Zy5VUExPQURJTkcpe0QuZmlsZXNbQ10uc3RhdHVzPWcuUVVFVUVEO28oKX19fX19KTtCLmJpbmQoIlF1ZXVlQ2hhbmdlZCIsbyk7Qi5iaW5kKCJFcnJvciIsZnVuY3Rpb24oRCxFKXtpZihFLmZpbGUpe0UuZmlsZS5zdGF0dXM9Zy5GQUlMRUQ7bygpO2lmKEQuc3RhdGU9PWcuU1RBUlRFRCl7YyhmdW5jdGlvbigpe3QuY2FsbChCKX0sMSl9fX0pO0IuYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihELEUpe0Uuc3RhdHVzPWcuRE9ORTtFLmxvYWRlZD1FLnNpemU7RC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsRSk7YyhmdW5jdGlvbigpe3QuY2FsbChCKX0sMSl9KTtpZihzLnJ1bnRpbWVzKXt5PVtdO3o9cy5ydW50aW1lcy5zcGxpdCgvXHM/LFxzPy8pO2ZvcihDPTA7Qzx6Lmxlbmd0aDtDKyspe2lmKGxbeltDXV0pe3kucHVzaChsW3pbQ11dKX19fWVsc2V7eT1sfWZ1bmN0aW9uIHcoKXt2YXIgRz15W0ErK10sRixELEU7aWYoRyl7Rj1HLmdldEZlYXR1cmVzKCk7RD1CLnNldHRpbmdzLnJlcXVpcmVkX2ZlYXR1cmVzO2lmKEQpe0Q9RC5zcGxpdCgiLCIpO2ZvcihFPTA7RTxELmxlbmd0aDtFKyspe2lmKCFGW0RbRV1dKXt3KCk7cmV0dXJufX19Ry5pbml0KEIsZnVuY3Rpb24oSCl7aWYoSCYmSC5zdWNjZXNzKXtCLmZlYXR1cmVzPUY7Qi5ydW50aW1lPUcubmFtZTtCLnRyaWdnZXIoIkluaXQiLHtydW50aW1lOkcubmFtZX0pO0IudHJpZ2dlcigiUG9zdEluaXQiKTtCLnJlZnJlc2goKX1lbHNle3coKX19KX1lbHNle0IudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuSU5JVF9FUlJPUixtZXNzYWdlOmcudHJhbnNsYXRlKCJJbml0IGVycm9yLiIpfSl9fXcoKTtpZih0eXBlb2Yocy5pbml0KT09ImZ1bmN0aW9uIil7cy5pbml0KEIpfWVsc2V7Zy5lYWNoKHMuaW5pdCxmdW5jdGlvbihFLEQpe0IuYmluZChELEUpfSl9fSxyZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy50cmlnZ2VyKCJSZWZyZXNoIil9LHN0YXJ0OmZ1bmN0aW9uKCl7aWYodGhpcy5zdGF0ZSE9Zy5TVEFSVEVEKXt0aGlzLnN0YXRlPWcuU1RBUlRFRDt0aGlzLnRyaWdnZXIoIlN0YXRlQ2hhbmdlZCIpO3QuY2FsbCh0aGlzKX19LHN0b3A6ZnVuY3Rpb24oKXtpZih0aGlzLnN0YXRlIT1nLlNUT1BQRUQpe3RoaXMuc3RhdGU9Zy5TVE9QUEVEO3RoaXMudHJpZ2dlcigiQ2FuY2VsVXBsb2FkIik7dGhpcy50cmlnZ2VyKCJTdGF0ZUNoYW5nZWQiKX19LGRpc2FibGVCcm93c2U6ZnVuY3Rpb24oKXtxPWFyZ3VtZW50c1swXSE9PWI/YXJndW1lbnRzWzBdOnRydWU7dGhpcy50cmlnZ2VyKCJEaXNhYmxlQnJvd3NlIixxKX0sZ2V0RmlsZTpmdW5jdGlvbih4KXt2YXIgdztmb3Iodz11Lmxlbmd0aC0xO3c+PTA7dy0tKXtpZih1W3ddLmlkPT09eCl7cmV0dXJuIHVbd119fX0scmVtb3ZlRmlsZTpmdW5jdGlvbih4KXt2YXIgdztmb3Iodz11Lmxlbmd0aC0xO3c+PTA7dy0tKXtpZih1W3ddLmlkPT09eC5pZCl7cmV0dXJuIHRoaXMuc3BsaWNlKHcsMSlbMF19fX0sc3BsaWNlOmZ1bmN0aW9uKHksdyl7dmFyIHg7eD11LnNwbGljZSh5PT09Yj8wOnksdz09PWI/dS5sZW5ndGg6dyk7dGhpcy50cmlnZ2VyKCJGaWxlc1JlbW92ZWQiLHgpO3RoaXMudHJpZ2dlcigiUXVldWVDaGFuZ2VkIik7cmV0dXJuIHh9LHRyaWdnZXI6ZnVuY3Rpb24oeCl7dmFyIHo9cFt4LnRvTG93ZXJDYXNlKCldLHksdztpZih6KXt3PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7d1swXT10aGlzO2Zvcih5PTA7eTx6Lmxlbmd0aDt5Kyspe2lmKHpbeV0uZnVuYy5hcHBseSh6W3ldLnNjb3BlLHcpPT09ZmFsc2Upe3JldHVybiBmYWxzZX19fXJldHVybiB0cnVlfSxoYXNFdmVudExpc3RlbmVyOmZ1bmN0aW9uKHcpe3JldHVybiAhIXBbdy50b0xvd2VyQ2FzZSgpXX0sYmluZDpmdW5jdGlvbih3LHkseCl7dmFyIHo7dz13LnRvTG93ZXJDYXNlKCk7ej1wW3ddfHxbXTt6LnB1c2goe2Z1bmM6eSxzY29wZTp4fHx0aGlzfSk7cFt3XT16fSx1bmJpbmQ6ZnVuY3Rpb24odyl7dz13LnRvTG93ZXJDYXNlKCk7dmFyIHo9cFt3XSx4LHk9YXJndW1lbnRzWzFdO2lmKHope2lmKHkhPT1iKXtmb3IoeD16Lmxlbmd0aC0xO3g+PTA7eC0tKXtpZih6W3hdLmZ1bmM9PT15KXt6LnNwbGljZSh4LDEpO2JyZWFrfX19ZWxzZXt6PVtdfWlmKCF6Lmxlbmd0aCl7ZGVsZXRlIHBbd119fX0sdW5iaW5kQWxsOmZ1bmN0aW9uKCl7dmFyIHc9dGhpcztnLmVhY2gocCxmdW5jdGlvbih5LHgpe3cudW5iaW5kKHgpfSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLnRyaWdnZXIoIkRlc3Ryb3kiKTt0aGlzLnVuYmluZEFsbCgpfX0pfTtnLkZpbGU9ZnVuY3Rpb24ocixwLHEpe3ZhciBvPXRoaXM7by5pZD1yO28ubmFtZT1wO28uc2l6ZT1xO28ubG9hZGVkPTA7by5wZXJjZW50PTA7by5zdGF0dXM9MH07Zy5SdW50aW1lPWZ1bmN0aW9uKCl7dGhpcy5nZXRGZWF0dXJlcz1mdW5jdGlvbigpe307dGhpcy5pbml0PWZ1bmN0aW9uKG8scCl7fX07Zy5RdWV1ZVByb2dyZXNzPWZ1bmN0aW9uKCl7dmFyIG89dGhpcztvLnNpemU9MDtvLmxvYWRlZD0wO28udXBsb2FkZWQ9MDtvLmZhaWxlZD0wO28ucXVldWVkPTA7by5wZXJjZW50PTA7by5ieXRlc1BlclNlYz0wO28ucmVzZXQ9ZnVuY3Rpb24oKXtvLnNpemU9by5sb2FkZWQ9by51cGxvYWRlZD1vLmZhaWxlZD1vLnF1ZXVlZD1vLnBlcmNlbnQ9by5ieXRlc1BlclNlYz0wfX07Zy5ydW50aW1lcz17fTt3aW5kb3cucGx1cGxvYWQ9Z30pKCk7KGZ1bmN0aW9uKCl7aWYod2luZG93Lmdvb2dsZSYmZ29vZ2xlLmdlYXJzKXtyZXR1cm59dmFyIGE9bnVsbDtpZih0eXBlb2YgR2VhcnNGYWN0b3J5IT0idW5kZWZpbmVkIil7YT1uZXcgR2VhcnNGYWN0b3J5KCl9ZWxzZXt0cnl7YT1uZXcgQWN0aXZlWE9iamVjdCgiR2VhcnMuRmFjdG9yeSIpO2lmKGEuZ2V0QnVpbGRJbmZvKCkuaW5kZXhPZigiaWVfbW9iaWxlIikhPS0xKXthLnByaXZhdGVTZXRHbG9iYWxPYmplY3QodGhpcyl9fWNhdGNoKGIpe2lmKCh0eXBlb2YgbmF2aWdhdG9yLm1pbWVUeXBlcyE9InVuZGVmaW5lZCIpJiZuYXZpZ2F0b3IubWltZVR5cGVzWyJhcHBsaWNhdGlvbi94LWdvb2dsZWdlYXJzIl0pe2E9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0Iik7YS5zdHlsZS5kaXNwbGF5PSJub25lIjthLndpZHRoPTA7YS5oZWlnaHQ9MDthLnR5cGU9ImFwcGxpY2F0aW9uL3gtZ29vZ2xlZ2VhcnMiO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChhKX19fWlmKCFhKXtyZXR1cm59aWYoIXdpbmRvdy5nb29nbGUpe3dpbmRvdy5nb29nbGU9e319aWYoIWdvb2dsZS5nZWFycyl7Z29vZ2xlLmdlYXJzPXtmYWN0b3J5OmF9fX0pKCk7KGZ1bmN0aW9uKGUsYixjLGQpe3ZhciBmPXt9O2Z1bmN0aW9uIGEoaCxrLG0pe3ZhciBnLGosbCxvO2o9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmNhbnZhcyIpO3RyeXtqLmRlY29kZShoKTtpZighay53aWR0aCl7ay53aWR0aD1qLndpZHRofWlmKCFrLmhlaWdodCl7ay5oZWlnaHQ9ai5oZWlnaHR9bz1NYXRoLm1pbih3aWR0aC9qLndpZHRoLGhlaWdodC9qLmhlaWdodCk7aWYobzwxfHwobz09PTEmJm09PT0iaW1hZ2UvanBlZyIpKXtqLnJlc2l6ZShNYXRoLnJvdW5kKGoud2lkdGgqbyksTWF0aC5yb3VuZChqLmhlaWdodCpvKSk7aWYoay5xdWFsaXR5KXtyZXR1cm4gai5lbmNvZGUobSx7cXVhbGl0eTprLnF1YWxpdHkvMTAwfSl9cmV0dXJuIGouZW5jb2RlKG0pfX1jYXRjaChuKXt9cmV0dXJuIGh9Yy5ydW50aW1lcy5HZWFycz1jLmFkZFJ1bnRpbWUoImdlYXJzIix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57ZHJhZ2Ryb3A6dHJ1ZSxqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihsLG4pe3ZhciBtLGgsZz1mYWxzZTtpZighZS5nb29nbGV8fCFnb29nbGUuZ2VhcnMpe3JldHVybiBuKHtzdWNjZXNzOmZhbHNlfSl9dHJ5e209Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmRlc2t0b3AiKX1jYXRjaChrKXtyZXR1cm4gbih7c3VjY2VzczpmYWxzZX0pfWZ1bmN0aW9uIGoocSl7dmFyIHAsbyxyPVtdLHM7Zm9yKG89MDtvPHEubGVuZ3RoO28rKyl7cD1xW29dO3M9Yy5ndWlkKCk7ZltzXT1wLmJsb2I7ci5wdXNoKG5ldyBjLkZpbGUocyxwLm5hbWUscC5ibG9iLmxlbmd0aCkpfWwudHJpZ2dlcigiRmlsZXNBZGRlZCIscil9bC5iaW5kKCJQb3N0SW5pdCIsZnVuY3Rpb24oKXt2YXIgcD1sLnNldHRpbmdzLG89Yi5nZXRFbGVtZW50QnlJZChwLmRyb3BfZWxlbWVudCk7aWYobyl7Yy5hZGRFdmVudChvLCJkcmFnb3ZlciIsZnVuY3Rpb24ocSl7bS5zZXREcm9wRWZmZWN0KHEsImNvcHkiKTtxLnByZXZlbnREZWZhdWx0KCl9LGwuaWQpO2MuYWRkRXZlbnQobywiZHJvcCIsZnVuY3Rpb24ocil7dmFyIHE9bS5nZXREcmFnRGF0YShyLCJhcHBsaWNhdGlvbi94LWdlYXJzLWZpbGVzIik7aWYocSl7aihxLmZpbGVzKX1yLnByZXZlbnREZWZhdWx0KCl9LGwuaWQpO289MH1jLmFkZEV2ZW50KGIuZ2V0RWxlbWVudEJ5SWQocC5icm93c2VfYnV0dG9uKSwiY2xpY2siLGZ1bmN0aW9uKHUpe3ZhciB0PVtdLHIscSxzO3UucHJldmVudERlZmF1bHQoKTtpZihnKXtyZXR1cm59bm9fdHlwZV9yZXN0cmljdGlvbjpmb3Iocj0wO3I8cC5maWx0ZXJzLmxlbmd0aDtyKyspe3M9cC5maWx0ZXJzW3JdLmV4dGVuc2lvbnMuc3BsaXQoIiwiKTtmb3IocT0wO3E8cy5sZW5ndGg7cSsrKXtpZihzW3FdPT09IioiKXt0PVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259dC5wdXNoKCIuIitzW3FdKX19bS5vcGVuRmlsZXMoaix7c2luZ2xlRmlsZTohcC5tdWx0aV9zZWxlY3Rpb24sZmlsdGVyOnR9KX0sbC5pZCl9KTtsLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtpZihoLmFib3J0KXtoLmFib3J0KCl9fSk7bC5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbih1LHIpe3ZhciB3PTAsdixzLHQ9MCxxPXUuc2V0dGluZ3MucmVzaXplLG87aWYocSYmL1wuKHBuZ3xqcGd8anBlZykkL2kudGVzdChyLm5hbWUpKXtmW3IuaWRdPWEoZltyLmlkXSxxLC9cLnBuZyQvaS50ZXN0KHIubmFtZSk/ImltYWdlL3BuZyI6ImltYWdlL2pwZWciKX1yLnNpemU9ZltyLmlkXS5sZW5ndGg7cz11LnNldHRpbmdzLmNodW5rX3NpemU7bz1zPjA7dj1NYXRoLmNlaWwoci5zaXplL3MpO2lmKCFvKXtzPXIuc2l6ZTt2PTF9ZnVuY3Rpb24gcCgpe3ZhciBDLHk9dS5zZXR0aW5ncy5tdWx0aXBhcnQseD0wLEI9e25hbWU6ci50YXJnZXRfbmFtZXx8ci5uYW1lfSx6PXUuc2V0dGluZ3MudXJsO2Z1bmN0aW9uIEEoRSl7dmFyIEQsSj0iLS0tLXBsdXBsb2FkYm91bmRhcnkiK2MuZ3VpZCgpLEc9Ii0tIixJPSJcclxuIixGLEg7aWYoeSl7aC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iK0opO0Q9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmJsb2JidWlsZGVyIik7Yy5lYWNoKGMuZXh0ZW5kKEIsdS5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihMLEspe0QuYXBwZW5kKEcrSitJKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IicrSysnIicrSStJKTtELmFwcGVuZChMK0kpfSk7SD1jLm1pbWVUeXBlc1tyLm5hbWUucmVwbGFjZSgvXi4rXC4oW14uXSspLywiJDEiKS50b0xvd2VyQ2FzZSgpXXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7RC5hcHBlbmQoRytKK0krJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJyt1LnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKyciOyBmaWxlbmFtZT0iJytyLm5hbWUrJyInK0krIkNvbnRlbnQtVHlwZTogIitIK0krSSk7RC5hcHBlbmQoRSk7RC5hcHBlbmQoSStHK0orRytJKTtGPUQuZ2V0QXNCbG9iKCk7eD1GLmxlbmd0aC1FLmxlbmd0aDtFPUZ9aC5zZW5kKEUpfWlmKHIuc3RhdHVzPT1jLkRPTkV8fHIuc3RhdHVzPT1jLkZBSUxFRHx8dS5zdGF0ZT09Yy5TVE9QUEVEKXtyZXR1cm59aWYobyl7Qi5jaHVuaz13O0IuY2h1bmtzPXZ9Qz1NYXRoLm1pbihzLHIuc2l6ZS0odypzKSk7aWYoIXkpe3o9Yy5idWlsZFVybCh1LnNldHRpbmdzLnVybCxCKX1oPWdvb2dsZS5nZWFycy5mYWN0b3J5LmNyZWF0ZSgiYmV0YS5odHRwcmVxdWVzdCIpO2gub3BlbigiUE9TVCIseik7aWYoIXkpe2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbiIsJ2F0dGFjaG1lbnQ7IGZpbGVuYW1lPSInK3IubmFtZSsnIicpO2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIil9Yy5lYWNoKHUuc2V0dGluZ3MuaGVhZGVycyxmdW5jdGlvbihFLEQpe2guc2V0UmVxdWVzdEhlYWRlcihELEUpfSk7aC51cGxvYWQub25wcm9ncmVzcz1mdW5jdGlvbihEKXtyLmxvYWRlZD10K0QubG9hZGVkLXg7dS50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIscil9O2gub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dmFyIEQ7aWYoaC5yZWFkeVN0YXRlPT00JiZ1LnN0YXRlIT09Yy5TVE9QUEVEKXtpZihoLnN0YXR1cz09MjAwKXtEPXtjaHVuazp3LGNodW5rczp2LHJlc3BvbnNlOmgucmVzcG9uc2VUZXh0LHN0YXR1czpoLnN0YXR1c307dS50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIixyLEQpO2lmKEQuY2FuY2VsbGVkKXtyLnN0YXR1cz1jLkZBSUxFRDtyZXR1cm59dCs9QztpZigrK3c+PXYpe3Iuc3RhdHVzPWMuRE9ORTt1LnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIscix7cmVzcG9uc2U6aC5yZXNwb25zZVRleHQsc3RhdHVzOmguc3RhdHVzfSl9ZWxzZXtwKCl9fWVsc2V7dS50cmlnZ2VyKCJFcnJvciIse2NvZGU6Yy5IVFRQX0VSUk9SLG1lc3NhZ2U6Yy50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTpyLGNodW5rOncsY2h1bmtzOnYsc3RhdHVzOmguc3RhdHVzfSl9fX07aWYodzx2KXtBKGZbci5pZF0uc2xpY2UodypzLEMpKX19cCgpfSk7bC5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbihvLHApe2c9cH0pO2wuYmluZCgiRGVzdHJveSIsZnVuY3Rpb24obyl7dmFyIHAscSxyPXticm93c2VCdXR0b246by5zZXR0aW5ncy5icm93c2VfYnV0dG9uLGRyb3BFbG06by5zZXR0aW5ncy5kcm9wX2VsZW1lbnR9O2ZvcihwIGluIHIpe3E9Yi5nZXRFbGVtZW50QnlJZChyW3BdKTtpZihxKXtjLnJlbW92ZUFsbEV2ZW50cyhxLG8uaWQpfX19KTtuKHtzdWNjZXNzOnRydWV9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7KGZ1bmN0aW9uKGcsYixkLGUpe3ZhciBhPXt9LGg9e307ZnVuY3Rpb24gYyhvKXt2YXIgbixtPXR5cGVvZiBvLGosbCxrO2lmKG89PT1lfHxvPT09bnVsbCl7cmV0dXJuIm51bGwifWlmKG09PT0ic3RyaW5nIil7bj0iXGJiXHR0XG5uXGZmXHJyXCJcIicnXFxcXCI7cmV0dXJuJyInK28ucmVwbGFjZSgvKFtcdTAwODAtXHVGRkZGXHgwMC1ceDFmXCJdKS9nLGZ1bmN0aW9uKHIscSl7dmFyIHA9bi5pbmRleE9mKHEpO2lmKHArMSl7cmV0dXJuIlxcIituLmNoYXJBdChwKzEpfXI9cS5jaGFyQ29kZUF0KCkudG9TdHJpbmcoMTYpO3JldHVybiJcXHUiKyIwMDAwIi5zdWJzdHJpbmcoci5sZW5ndGgpK3J9KSsnIid9aWYobT09Im9iamVjdCIpe2o9by5sZW5ndGghPT1lO249IiI7aWYoail7Zm9yKGw9MDtsPG8ubGVuZ3RoO2wrKyl7aWYobil7bis9IiwifW4rPWMob1tsXSl9bj0iWyIrbisiXSJ9ZWxzZXtmb3IoayBpbiBvKXtpZihvLmhhc093blByb3BlcnR5KGspKXtpZihuKXtuKz0iLCJ9bis9YyhrKSsiOiIrYyhvW2tdKX19bj0ieyIrbisifSJ9cmV0dXJuIG59cmV0dXJuIiIrb31mdW5jdGlvbiBmKHMpe3ZhciB2PWZhbHNlLGo9bnVsbCxvPW51bGwsayxsLG0sdSxuLHE9MDt0cnl7dHJ5e289bmV3IEFjdGl2ZVhPYmplY3QoIkFnQ29udHJvbC5BZ0NvbnRyb2wiKTtpZihvLklzVmVyc2lvblN1cHBvcnRlZChzKSl7dj10cnVlfW89bnVsbH1jYXRjaChyKXt2YXIgcD1uYXZpZ2F0b3IucGx1Z2luc1siU2lsdmVybGlnaHQgUGx1Zy1JbiJdO2lmKHApe2s9cC5kZXNjcmlwdGlvbjtpZihrPT09IjEuMC4zMDIyNi4yIil7az0iMi4wLjMwMjI2LjIifWw9ay5zcGxpdCgiLiIpO3doaWxlKGwubGVuZ3RoPjMpe2wucG9wKCl9d2hpbGUobC5sZW5ndGg8NCl7bC5wdXNoKDApfW09cy5zcGxpdCgiLiIpO3doaWxlKG0ubGVuZ3RoPjQpe20ucG9wKCl9ZG97dT1wYXJzZUludChtW3FdLDEwKTtuPXBhcnNlSW50KGxbcV0sMTApO3ErK313aGlsZShxPG0ubGVuZ3RoJiZ1PT09bik7aWYodTw9biYmIWlzTmFOKHUpKXt2PXRydWV9fX19Y2F0Y2godCl7dj1mYWxzZX1yZXR1cm4gdn1kLnNpbHZlcmxpZ2h0PXt0cmlnZ2VyOmZ1bmN0aW9uKG4sayl7dmFyIG09YVtuXSxsLGo7aWYobSl7aj1kLnRvQXJyYXkoYXJndW1lbnRzKS5zbGljZSgxKTtqWzBdPSJTaWx2ZXJsaWdodDoiK2s7c2V0VGltZW91dChmdW5jdGlvbigpe20udHJpZ2dlci5hcHBseShtLGopfSwwKX19fTtkLnJ1bnRpbWVzLlNpbHZlcmxpZ2h0PWQuYWRkUnVudGltZSgic2lsdmVybGlnaHQiLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihwLHEpe3ZhciBvLG09IiIsbj1wLnNldHRpbmdzLmZpbHRlcnMsbCxrPWIuYm9keTtpZighZigiMi4wLjMxMDA1LjAiKXx8KGcub3BlcmEmJmcub3BlcmEuYnVpbGROdW1iZXIpKXtxKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWhbcC5pZF09ZmFsc2U7YVtwLmlkXT1wO289Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLmlkPXAuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiO2QuZXh0ZW5kKG8uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6cC5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDBweCIsaGVpZ2h0OiIxMDBweCIsb3ZlcmZsb3c6ImhpZGRlbiIsb3BhY2l0eTpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcnx8Yi5kb2N1bWVudE1vZGU+OD8iIjowLjAxfSk7by5jbGFzc05hbWU9InBsdXBsb2FkIHNpbHZlcmxpZ2h0IjtpZihwLnNldHRpbmdzLmNvbnRhaW5lcil7az1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGssInBvc2l0aW9uIik9PT0ic3RhdGljIil7ay5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1rLmFwcGVuZENoaWxkKG8pO2ZvcihsPTA7bDxuLmxlbmd0aDtsKyspe20rPShtIT0iIj8ifCI6IiIpK25bbF0udGl0bGUrIiB8ICouIituW2xdLmV4dGVuc2lvbnMucmVwbGFjZSgvLC9nLCI7Ki4iKX1vLmlubmVySFRNTD0nPG9iamVjdCBpZD0iJytwLmlkKydfc2lsdmVybGlnaHQiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodCwiIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2lsdmVybGlnaHQtMiIgc3R5bGU9Im91dGxpbmU6bm9uZTsiIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiPjxwYXJhbSBuYW1lPSJzb3VyY2UiIHZhbHVlPSInK3Auc2V0dGluZ3Muc2lsdmVybGlnaHRfeGFwX3VybCsnIi8+PHBhcmFtIG5hbWU9ImJhY2tncm91bmQiIHZhbHVlPSJUcmFuc3BhcmVudCIvPjxwYXJhbSBuYW1lPSJ3aW5kb3dsZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJlbmFibGVodG1sYWNjZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJpbml0UGFyYW1zIiB2YWx1ZT0iaWQ9JytwLmlkKyIsZmlsdGVyPSIrbSsiLG11bHRpc2VsZWN0PSIrcC5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24rJyIvPjwvb2JqZWN0Pic7ZnVuY3Rpb24gaigpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9zaWx2ZXJsaWdodCIpLmNvbnRlbnQuVXBsb2FkfXAuYmluZCgiU2lsdmVybGlnaHQ6SW5pdCIsZnVuY3Rpb24oKXt2YXIgcixzPXt9O2lmKGhbcC5pZF0pe3JldHVybn1oW3AuaWRdPXRydWU7cC5iaW5kKCJTaWx2ZXJsaWdodDpTdGFydFNlbGVjdEZpbGVzIixmdW5jdGlvbih0KXtyPVtdfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpTZWxlY3RGaWxlIixmdW5jdGlvbih0LHcsdSx2KXt2YXIgeDt4PWQuZ3VpZCgpO3NbeF09dztzW3ddPXg7ci5wdXNoKG5ldyBkLkZpbGUoeCx1LHYpKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6U2VsZWN0U3VjY2Vzc2Z1bCIsZnVuY3Rpb24oKXtpZihyLmxlbmd0aCl7cC50cmlnZ2VyKCJGaWxlc0FkZGVkIixyKX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZENodW5rRXJyb3IiLGZ1bmN0aW9uKHQsdyx1LHgsdil7cC50cmlnZ2VyKCJFcnJvciIse2NvZGU6ZC5JT19FUlJPUixtZXNzYWdlOiJJTyBFcnJvci4iLGRldGFpbHM6dixmaWxlOnQuZ2V0RmlsZShzW3ddKX0pfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRGaWxlUHJvZ3Jlc3MiLGZ1bmN0aW9uKHQseCx1LHcpe3ZhciB2PXQuZ2V0RmlsZShzW3hdKTtpZih2LnN0YXR1cyE9ZC5GQUlMRUQpe3Yuc2l6ZT13O3YubG9hZGVkPXU7dC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdil9fSk7cC5iaW5kKCJSZWZyZXNoIixmdW5jdGlvbih0KXt2YXIgdSx2LHc7dT1iLmdldEVsZW1lbnRCeUlkKHQuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7aWYodSl7dj1kLmdldFBvcyh1LGIuZ2V0RWxlbWVudEJ5SWQodC5zZXR0aW5ncy5jb250YWluZXIpKTt3PWQuZ2V0U2l6ZSh1KTtkLmV4dGVuZChiLmdldEVsZW1lbnRCeUlkKHQuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiKS5zdHlsZSx7dG9wOnYueSsicHgiLGxlZnQ6di54KyJweCIsd2lkdGg6dy53KyJweCIsaGVpZ2h0OncuaCsicHgifSl9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRDaHVua1N1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHQsdyx1LHoseSl7dmFyIHgsdj10LmdldEZpbGUoc1t3XSk7eD17Y2h1bms6dSxjaHVua3M6eixyZXNwb25zZTp5fTt0LnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHYseCk7aWYodi5zdGF0dXMhPWQuRkFJTEVEJiZ0LnN0YXRlIT09ZC5TVE9QUEVEKXtqKCkuVXBsb2FkTmV4dENodW5rKCl9aWYodT09ei0xKXt2LnN0YXR1cz1kLkRPTkU7dC50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLHYse3Jlc3BvbnNlOnl9KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZFN1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHQsdyx1KXt2YXIgdj10LmdldEZpbGUoc1t3XSk7di5zdGF0dXM9ZC5ET05FO3QudHJpZ2dlcigiRmlsZVVwbG9hZGVkIix2LHtyZXNwb25zZTp1fSl9KTtwLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24odCx2KXt2YXIgdTtmb3IodT0wO3U8di5sZW5ndGg7dSsrKXtqKCkuUmVtb3ZlRmlsZShzW3ZbdV0uaWRdKX19KTtwLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHQsdil7dmFyIHc9dC5zZXR0aW5ncyx1PXcucmVzaXplfHx7fTtqKCkuVXBsb2FkRmlsZShzW3YuaWRdLHQuc2V0dGluZ3MudXJsLGMoe25hbWU6di50YXJnZXRfbmFtZXx8di5uYW1lLG1pbWU6ZC5taW1lVHlwZXNbdi5uYW1lLnJlcGxhY2UoL14uK1wuKFteLl0rKS8sIiQxIikudG9Mb3dlckNhc2UoKV18fCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGNodW5rX3NpemU6dy5jaHVua19zaXplLGltYWdlX3dpZHRoOnUud2lkdGgsaW1hZ2VfaGVpZ2h0OnUuaGVpZ2h0LGltYWdlX3F1YWxpdHk6dS5xdWFsaXR5fHw5MCxtdWx0aXBhcnQ6ISF3Lm11bHRpcGFydCxtdWx0aXBhcnRfcGFyYW1zOncubXVsdGlwYXJ0X3BhcmFtc3x8e30sZmlsZV9kYXRhX25hbWU6dy5maWxlX2RhdGFfbmFtZSxoZWFkZXJzOncuaGVhZGVyc30pKX0pO3AuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2ooKS5DYW5jZWxVcGxvYWQoKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6TW91c2VFbnRlciIsZnVuY3Rpb24odCl7dmFyIHUsdjt1PWIuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt2PXQuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcjtpZih1JiZ2KXtkLmFkZENsYXNzKHUsdil9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpNb3VzZUxlYXZlIixmdW5jdGlvbih0KXt2YXIgdSx2O3U9Yi5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3Y9dC5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHUmJnYpe2QucmVtb3ZlQ2xhc3ModSx2KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0Ok1vdXNlTGVmdEJ1dHRvbkRvd24iLGZ1bmN0aW9uKHQpe3ZhciB1LHY7dT1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dj10LnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHUmJnYpe2QuYWRkQ2xhc3ModSx2KTtkLmFkZEV2ZW50KGIuYm9keSwibW91c2V1cCIsZnVuY3Rpb24oKXtkLnJlbW92ZUNsYXNzKHUsdil9KX19KTtwLmJpbmQoIlNsaXZlcmxpZ2h0OlN0YXJ0U2VsZWN0RmlsZXMiLGZ1bmN0aW9uKHQpe3ZhciB1LHY7dT1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dj10LnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHUmJnYpe2QucmVtb3ZlQ2xhc3ModSx2KX19KTtwLmJpbmQoIkRpc2FibGVCcm93c2UiLGZ1bmN0aW9uKHQsdSl7aigpLkRpc2FibGVCcm93c2UodSl9KTtwLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKHQpe3ZhciB1O2QucmVtb3ZlQWxsRXZlbnRzKGIuYm9keSx0LmlkKTtkZWxldGUgaFt0LmlkXTtkZWxldGUgYVt0LmlkXTt1PWIuZ2V0RWxlbWVudEJ5SWQodC5pZCsiX3NpbHZlcmxpZ2h0X2NvbnRhaW5lciIpO2lmKHUpe2sucmVtb3ZlQ2hpbGQodSl9fSk7cSh7c3VjY2Vzczp0cnVlfSl9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7KGZ1bmN0aW9uKGYsYixkLGUpe3ZhciBhPXt9LGc9e307ZnVuY3Rpb24gYygpe3ZhciBoO3RyeXtoPW5hdmlnYXRvci5wbHVnaW5zWyJTaG9ja3dhdmUgRmxhc2giXTtoPWguZGVzY3JpcHRpb259Y2F0Y2goayl7dHJ5e2g9bmV3IEFjdGl2ZVhPYmplY3QoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoIikuR2V0VmFyaWFibGUoIiR2ZXJzaW9uIil9Y2F0Y2goail7aD0iMC4wIn19aD1oLm1hdGNoKC9cZCsvZyk7cmV0dXJuIHBhcnNlRmxvYXQoaFswXSsiLiIraFsxXSl9ZC5mbGFzaD17dHJpZ2dlcjpmdW5jdGlvbihrLGgsail7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBuPWFba10sbSxsO2lmKG4pe24udHJpZ2dlcigiRmxhc2g6IitoLGopfX0sMCl9fTtkLnJ1bnRpbWVzLkZsYXNoPWQuYWRkUnVudGltZSgiZmxhc2giLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxtYXhXaWR0aDo4MDkxLG1heEhlaWdodDo4MDkxLGNodW5rczp0cnVlLHByb2dyZXNzOnRydWUsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWV9fSxpbml0OmZ1bmN0aW9uKG4scCl7dmFyIGwsbSxoPTAsaj1iLmJvZHk7aWYoYygpPDEwKXtwKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWdbbi5pZF09ZmFsc2U7YVtuLmlkXT1uO2w9Yi5nZXRFbGVtZW50QnlJZChuLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO209Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTttLmlkPW4uaWQrIl9mbGFzaF9jb250YWluZXIiO2QuZXh0ZW5kKG0uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6bi5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSk7bS5jbGFzc05hbWU9InBsdXBsb2FkIGZsYXNoIjtpZihuLnNldHRpbmdzLmNvbnRhaW5lcil7aj1iLmdldEVsZW1lbnRCeUlkKG4uc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGosInBvc2l0aW9uIik9PT0ic3RhdGljIil7ai5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1qLmFwcGVuZENoaWxkKG0pOyhmdW5jdGlvbigpe3ZhciBxLHI7cT0nPG9iamVjdCBpZD0iJytuLmlkKydfZmxhc2giIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBkYXRhPSInK24uc2V0dGluZ3MuZmxhc2hfc3dmX3VybCsnIiAnO2lmKGQudWEuaWUpe3ErPSdjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiICd9cSs9J3dpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvdXRsaW5lOjAiPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9Iicrbi5zZXR0aW5ncy5mbGFzaF9zd2ZfdXJsKyciIC8+PHBhcmFtIG5hbWU9ImZsYXNodmFycyIgdmFsdWU9ImlkPScrZXNjYXBlKG4uaWQpKyciIC8+PHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0idHJhbnNwYXJlbnQiIC8+PHBhcmFtIG5hbWU9ImFsbG93c2NyaXB0YWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPjwvb2JqZWN0Pic7aWYoZC51YS5pZSl7cj1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO20uYXBwZW5kQ2hpbGQocik7ci5vdXRlckhUTUw9cTtyPW51bGx9ZWxzZXttLmlubmVySFRNTD1xfX0oKSk7ZnVuY3Rpb24gbygpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKG4uaWQrIl9mbGFzaCIpfWZ1bmN0aW9uIGsoKXtpZihoKys+NTAwMCl7cCh7c3VjY2VzczpmYWxzZX0pO3JldHVybn1pZighZ1tuLmlkXSl7c2V0VGltZW91dChrLDEpfX1rKCk7bD1tPW51bGw7bi5iaW5kKCJGbGFzaDpJbml0IixmdW5jdGlvbigpe3ZhciByPXt9LHE7bygpLnNldEZpbGVGaWx0ZXJzKG4uc2V0dGluZ3MuZmlsdGVycyxuLnNldHRpbmdzLm11bHRpX3NlbGVjdGlvbik7aWYoZ1tuLmlkXSl7cmV0dXJufWdbbi5pZF09dHJ1ZTtuLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHY9cy5zZXR0aW5ncyx0PW4uc2V0dGluZ3MucmVzaXplfHx7fTtvKCkudXBsb2FkRmlsZShyW3UuaWRdLHYudXJsLHtuYW1lOnUudGFyZ2V0X25hbWV8fHUubmFtZSxtaW1lOmQubWltZVR5cGVzW3UubmFtZS5yZXBsYWNlKC9eLitcLihbXi5dKykvLCIkMSIpLnRvTG93ZXJDYXNlKCldfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIixjaHVua19zaXplOnYuY2h1bmtfc2l6ZSx3aWR0aDp0LndpZHRoLGhlaWdodDp0LmhlaWdodCxxdWFsaXR5OnQucXVhbGl0eSxtdWx0aXBhcnQ6di5tdWx0aXBhcnQsbXVsdGlwYXJ0X3BhcmFtczp2Lm11bHRpcGFydF9wYXJhbXN8fHt9LGZpbGVfZGF0YV9uYW1lOnYuZmlsZV9kYXRhX25hbWUsZm9ybWF0Oi9cLihqcGd8anBlZykkL2kudGVzdCh1Lm5hbWUpPyJqcGciOiJwbmciLGhlYWRlcnM6di5oZWFkZXJzLHVybHN0cmVhbV91cGxvYWQ6di51cmxzdHJlYW1fdXBsb2FkfSl9KTtuLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtvKCkuY2FuY2VsVXBsb2FkKCl9KTtuLmJpbmQoIkZsYXNoOlVwbG9hZFByb2Nlc3MiLGZ1bmN0aW9uKHQscyl7dmFyIHU9dC5nZXRGaWxlKHJbcy5pZF0pO2lmKHUuc3RhdHVzIT1kLkZBSUxFRCl7dS5sb2FkZWQ9cy5sb2FkZWQ7dS5zaXplPXMuc2l6ZTt0LnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix1KX19KTtuLmJpbmQoIkZsYXNoOlVwbG9hZENodW5rQ29tcGxldGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHYsdD1zLmdldEZpbGUoclt1LmlkXSk7dj17Y2h1bms6dS5jaHVuayxjaHVua3M6dS5jaHVua3MscmVzcG9uc2U6dS50ZXh0fTtzLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHQsdik7aWYodC5zdGF0dXMhPT1kLkZBSUxFRCYmcy5zdGF0ZSE9PWQuU1RPUFBFRCl7bygpLnVwbG9hZE5leHRDaHVuaygpfWlmKHUuY2h1bms9PXUuY2h1bmtzLTEpe3Quc3RhdHVzPWQuRE9ORTtzLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIsdCx7cmVzcG9uc2U6dS50ZXh0fSl9fSk7bi5iaW5kKCJGbGFzaDpTZWxlY3RGaWxlcyIsZnVuY3Rpb24ocyx2KXt2YXIgdSx0LHc9W10seDtmb3IodD0wO3Q8di5sZW5ndGg7dCsrKXt1PXZbdF07eD1kLmd1aWQoKTtyW3hdPXUuaWQ7clt1LmlkXT14O3cucHVzaChuZXcgZC5GaWxlKHgsdS5uYW1lLHUuc2l6ZSkpfWlmKHcubGVuZ3RoKXtuLnRyaWdnZXIoIkZpbGVzQWRkZWQiLHcpfX0pO24uYmluZCgiRmxhc2g6U2VjdXJpdHlFcnJvciIsZnVuY3Rpb24ocyx0KXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLlNFQ1VSSVRZX0VSUk9SLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIlNlY3VyaXR5IGVycm9yLiIpLGRldGFpbHM6dC5tZXNzYWdlLGZpbGU6bi5nZXRGaWxlKHJbdC5pZF0pfSl9KTtuLmJpbmQoIkZsYXNoOkdlbmVyaWNFcnJvciIsZnVuY3Rpb24ocyx0KXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTpkLkdFTkVSSUNfRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiR2VuZXJpYyBlcnJvci4iKSxkZXRhaWxzOnQubWVzc2FnZSxmaWxlOm4uZ2V0RmlsZShyW3QuaWRdKX0pfSk7bi5iaW5kKCJGbGFzaDpJT0Vycm9yIixmdW5jdGlvbihzLHQpe24udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmQuSU9fRVJST1IsbWVzc2FnZTpkLnRyYW5zbGF0ZSgiSU8gZXJyb3IuIiksZGV0YWlsczp0Lm1lc3NhZ2UsZmlsZTpuLmdldEZpbGUoclt0LmlkXSl9KX0pO24uYmluZCgiRmxhc2g6SW1hZ2VFcnJvciIsZnVuY3Rpb24ocyx0KXtuLnRyaWdnZXIoIkVycm9yIix7Y29kZTpwYXJzZUludCh0LmNvZGUsMTApLG1lc3NhZ2U6ZC50cmFuc2xhdGUoIkltYWdlIGVycm9yLiIpLGZpbGU6bi5nZXRGaWxlKHJbdC5pZF0pfSl9KTtuLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6cm9sbE92ZXIiLGZ1bmN0aW9uKHMpe3ZhciB0LHU7dD1iLmdldEVsZW1lbnRCeUlkKG4uc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dT1zLnNldHRpbmdzLmJyb3dzZV9idXR0b25faG92ZXI7aWYodCYmdSl7ZC5hZGRDbGFzcyh0LHUpfX0pO24uYmluZCgiRmxhc2g6U3RhZ2VFdmVudDpyb2xsT3V0IixmdW5jdGlvbihzKXt2YXIgdCx1O3Q9Yi5nZXRFbGVtZW50QnlJZChuLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3U9cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHQmJnUpe2QucmVtb3ZlQ2xhc3ModCx1KX19KTtuLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VEb3duIixmdW5jdGlvbihzKXt2YXIgdCx1O3Q9Yi5nZXRFbGVtZW50QnlJZChuLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3U9cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2FjdGl2ZTtpZih0JiZ1KXtkLmFkZENsYXNzKHQsdSk7ZC5hZGRFdmVudChiLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7ZC5yZW1vdmVDbGFzcyh0LHUpfSxzLmlkKX19KTtuLmJpbmQoIkZsYXNoOlN0YWdlRXZlbnQ6bW91c2VVcCIsZnVuY3Rpb24ocyl7dmFyIHQsdTt0PWIuZ2V0RWxlbWVudEJ5SWQobi5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt1PXMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmU7aWYodCYmdSl7ZC5yZW1vdmVDbGFzcyh0LHUpfX0pO24uYmluZCgiRmxhc2g6RXhpZkRhdGEiLGZ1bmN0aW9uKHMsdCl7bi50cmlnZ2VyKCJFeGlmRGF0YSIsbi5nZXRGaWxlKHJbdC5pZF0pLHQuZGF0YSl9KTtuLmJpbmQoIkZsYXNoOkdwc0RhdGEiLGZ1bmN0aW9uKHMsdCl7bi50cmlnZ2VyKCJHcHNEYXRhIixuLmdldEZpbGUoclt0LmlkXSksdC5kYXRhKX0pO24uYmluZCgiUXVldWVDaGFuZ2VkIixmdW5jdGlvbihzKXtuLnJlZnJlc2goKX0pO24uYmluZCgiRmlsZXNSZW1vdmVkIixmdW5jdGlvbihzLHUpe3ZhciB0O2Zvcih0PTA7dDx1Lmxlbmd0aDt0Kyspe28oKS5yZW1vdmVGaWxlKHJbdVt0XS5pZF0pfX0pO24uYmluZCgiU3RhdGVDaGFuZ2VkIixmdW5jdGlvbihzKXtuLnJlZnJlc2goKX0pO24uYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24ocyl7dmFyIHQsdSx2O28oKS5zZXRGaWxlRmlsdGVycyhuLnNldHRpbmdzLmZpbHRlcnMsbi5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24pO3Q9Yi5nZXRFbGVtZW50QnlJZChzLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHQpe3U9ZC5nZXRQb3ModCxiLmdldEVsZW1lbnRCeUlkKHMuc2V0dGluZ3MuY29udGFpbmVyKSk7dj1kLmdldFNpemUodCk7ZC5leHRlbmQoYi5nZXRFbGVtZW50QnlJZChzLmlkKyJfZmxhc2hfY29udGFpbmVyIikuc3R5bGUse3RvcDp1LnkrInB4IixsZWZ0OnUueCsicHgiLHdpZHRoOnYudysicHgiLGhlaWdodDp2LmgrInB4In0pfX0pO24uYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24ocyx0KXtvKCkuZGlzYWJsZUJyb3dzZSh0KX0pO24uYmluZCgiRGVzdHJveSIsZnVuY3Rpb24ocyl7dmFyIHQ7ZC5yZW1vdmVBbGxFdmVudHMoYi5ib2R5LHMuaWQpO2RlbGV0ZSBnW3MuaWRdO2RlbGV0ZSBhW3MuaWRdO3Q9Yi5nZXRFbGVtZW50QnlJZChzLmlkKyJfZmxhc2hfY29udGFpbmVyIik7aWYodCl7ai5yZW1vdmVDaGlsZCh0KX19KTtwKHtzdWNjZXNzOnRydWV9KX0pfX0pfSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTsoZnVuY3Rpb24oYSl7YS5ydW50aW1lcy5Ccm93c2VyUGx1cz1hLmFkZFJ1bnRpbWUoImJyb3dzZXJwbHVzIix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57ZHJhZ2Ryb3A6dHJ1ZSxqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihnLGope3ZhciBlPXdpbmRvdy5Ccm93c2VyUGx1cyxoPXt9LGQ9Zy5zZXR0aW5ncyxjPWQucmVzaXplO2Z1bmN0aW9uIGYobyl7dmFyIG4sbSxrPVtdLGwscDtmb3IobT0wO208by5sZW5ndGg7bSsrKXtsPW9bbV07cD1hLmd1aWQoKTtoW3BdPWw7ay5wdXNoKG5ldyBhLkZpbGUocCxsLm5hbWUsbC5zaXplKSl9aWYobSl7Zy50cmlnZ2VyKCJGaWxlc0FkZGVkIixrKX19ZnVuY3Rpb24gYigpe3ZhciBrPWZhbHNlO2cuYmluZCgiUG9zdEluaXQiLGZ1bmN0aW9uKCl7dmFyIG8sbT1kLmRyb3BfZWxlbWVudCxxPWcuaWQrIl9kcm9wdGFyZ2V0IixsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG0pLG47ZnVuY3Rpb24gcih0LHMpe2UuRHJhZ0FuZERyb3AuQWRkRHJvcFRhcmdldCh7aWQ6dH0sZnVuY3Rpb24odSl7ZS5EcmFnQW5kRHJvcC5BdHRhY2hDYWxsYmFja3Moe2lkOnQsaG92ZXI6ZnVuY3Rpb24odil7aWYoIXYmJnMpe3MoKX19LGRyb3A6ZnVuY3Rpb24odil7aWYocyl7cygpfWYodil9fSxmdW5jdGlvbigpe30pfSl9ZnVuY3Rpb24gcCgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKHEpLnN0eWxlLnRvcD0iLTEwMDBweCJ9aWYobCl7aWYoZG9jdW1lbnQuYXR0YWNoRXZlbnQmJigvTVNJRS9naSkudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7bz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLnNldEF0dHJpYnV0ZSgiaWQiLHEpO2EuZXh0ZW5kKG8uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiItMTAwMHB4IixiYWNrZ3JvdW5kOiJyZWQiLGZpbHRlcjoiYWxwaGEob3BhY2l0eT0wKSIsb3BhY2l0eTowfSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvKTthLmFkZEV2ZW50KGwsImRyYWdlbnRlciIsZnVuY3Rpb24odCl7dmFyIHMsdTtzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG0pO3U9YS5nZXRQb3Mocyk7YS5leHRlbmQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocSkuc3R5bGUse3RvcDp1LnkrInB4IixsZWZ0OnUueCsicHgiLHdpZHRoOnMub2Zmc2V0V2lkdGgrInB4IixoZWlnaHQ6cy5vZmZzZXRIZWlnaHQrInB4In0pfSk7cihxLHApfWVsc2V7cihtKX19YS5hZGRFdmVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkLmJyb3dzZV9idXR0b24pLCJjbGljayIsZnVuY3Rpb24oeSl7dmFyIHM9W10sdSx0LHg9ZC5maWx0ZXJzLHcsdjt5LnByZXZlbnREZWZhdWx0KCk7aWYoayl7cmV0dXJufW5vX3R5cGVfcmVzdHJpY3Rpb246Zm9yKHU9MDt1PHgubGVuZ3RoO3UrKyl7dz14W3VdLmV4dGVuc2lvbnMuc3BsaXQoIiwiKTtmb3IodD0wO3Q8dy5sZW5ndGg7dCsrKXtpZih3W3RdPT09IioiKXtzPVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259dj1hLm1pbWVUeXBlc1t3W3RdXTtpZih2JiZhLmluQXJyYXkodixzKT09PS0xKXtzLnB1c2goYS5taW1lc1t3W3RdXSl9fX1lLkZpbGVCcm93c2UuT3BlbkJyb3dzZURpYWxvZyh7bWltZVR5cGVzOnN9LGZ1bmN0aW9uKHope2lmKHouc3VjY2Vzcyl7Zih6LnZhbHVlKX19KX0pO2w9bz1udWxsfSk7Zy5iaW5kKCJDYW5jZWxVcGxvYWQiLGZ1bmN0aW9uKCl7ZS5VcGxvYWRlci5jYW5jZWwoKX0pO2cuYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24obCxtKXtrPW19KTtnLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKG8sbCl7dmFyIG49aFtsLmlkXSx0PXt9LG09by5zZXR0aW5ncy5jaHVua19zaXplLHAscT1bXTtmdW5jdGlvbiBzKHUsdyl7dmFyIHY7aWYobC5zdGF0dXM9PWEuRkFJTEVEKXtyZXR1cm59dC5uYW1lPWwudGFyZ2V0X25hbWV8fGwubmFtZTtpZihtKXt0LmNodW5rPSIiK3U7dC5jaHVua3M9IiIrd312PXEuc2hpZnQoKTtlLlVwbG9hZGVyLnVwbG9hZCh7dXJsOm8uc2V0dGluZ3MudXJsLGZpbGVzOntmaWxlOnZ9LGNvb2tpZXM6ZG9jdW1lbnQuY29va2llcyxwb3N0dmFyczphLmV4dGVuZCh0LG8uc2V0dGluZ3MubXVsdGlwYXJ0X3BhcmFtcykscHJvZ3Jlc3NDYWxsYmFjazpmdW5jdGlvbih6KXt2YXIgeSx4PTA7cFt1XT1wYXJzZUludCh6LmZpbGVQZXJjZW50KnYuc2l6ZS8xMDAsMTApO2Zvcih5PTA7eTxwLmxlbmd0aDt5Kyspe3grPXBbeV19bC5sb2FkZWQ9eDtvLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIixsKX19LGZ1bmN0aW9uKHkpe3ZhciB4LHo7aWYoeS5zdWNjZXNzKXt4PXkudmFsdWUuc3RhdHVzQ29kZTtpZihtKXtvLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLGwse2NodW5rOnUsY2h1bmtzOncscmVzcG9uc2U6eS52YWx1ZS5ib2R5LHN0YXR1czp4fSl9aWYocS5sZW5ndGg+MCl7cygrK3Usdyl9ZWxzZXtsLnN0YXR1cz1hLkRPTkU7by50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLGwse3Jlc3BvbnNlOnkudmFsdWUuYm9keSxzdGF0dXM6eH0pO2lmKHg+PTQwMCl7by50cmlnZ2VyKCJFcnJvciIse2NvZGU6YS5IVFRQX0VSUk9SLG1lc3NhZ2U6YS50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTpsLHN0YXR1czp4fSl9fX1lbHNle28udHJpZ2dlcigiRXJyb3IiLHtjb2RlOmEuR0VORVJJQ19FUlJPUixtZXNzYWdlOmEudHJhbnNsYXRlKCJHZW5lcmljIEVycm9yLiIpLGZpbGU6bCxkZXRhaWxzOnkuZXJyb3J9KX19KX1mdW5jdGlvbiByKHUpe2wuc2l6ZT11LnNpemU7aWYobSl7ZS5GaWxlQWNjZXNzLmNodW5rKHtmaWxlOnUsY2h1bmtTaXplOm19LGZ1bmN0aW9uKHgpe2lmKHguc3VjY2Vzcyl7dmFyIHk9eC52YWx1ZSx2PXkubGVuZ3RoO3A9QXJyYXkodik7Zm9yKHZhciB3PTA7dzx2O3crKyl7cFt3XT0wO3EucHVzaCh5W3ddKX1zKDAsdil9fSl9ZWxzZXtwPUFycmF5KDEpO3EucHVzaCh1KTtzKDAsMSl9fWlmKGMmJi9cLihwbmd8anBnfGpwZWcpJC9pLnRlc3QobC5uYW1lKSl7QnJvd3NlclBsdXMuSW1hZ2VBbHRlci50cmFuc2Zvcm0oe2ZpbGU6bixxdWFsaXR5OmMucXVhbGl0eXx8OTAsYWN0aW9uczpbe3NjYWxlOnttYXh3aWR0aDpjLndpZHRoLG1heGhlaWdodDpjLmhlaWdodH19XX0sZnVuY3Rpb24odSl7aWYodS5zdWNjZXNzKXtyKHUudmFsdWUuZmlsZSl9fSl9ZWxzZXtyKG4pfX0pO2ooe3N1Y2Nlc3M6dHJ1ZX0pfWlmKGUpe2UuaW5pdChmdW5jdGlvbihsKXt2YXIgaz1be3NlcnZpY2U6IlVwbG9hZGVyIix2ZXJzaW9uOiIzIn0se3NlcnZpY2U6IkRyYWdBbmREcm9wIix2ZXJzaW9uOiIxIn0se3NlcnZpY2U6IkZpbGVCcm93c2UiLHZlcnNpb246IjEifSx7c2VydmljZToiRmlsZUFjY2VzcyIsdmVyc2lvbjoiMiJ9XTtpZihjKXtrLnB1c2goe3NlcnZpY2U6IkltYWdlQWx0ZXIiLHZlcnNpb246IjQifSl9aWYobC5zdWNjZXNzKXtlLnJlcXVpcmUoe3NlcnZpY2VzOmt9LGZ1bmN0aW9uKG0pe2lmKG0uc3VjY2Vzcyl7YigpfWVsc2V7aigpfX0pfWVsc2V7aigpfX0pfWVsc2V7aigpfX19KX0pKHBsdXBsb2FkKTsoZnVuY3Rpb24oaCxrLGosZSl7dmFyIGM9e30sZztmdW5jdGlvbiBtKG8scCl7dmFyIG47aWYoIkZpbGVSZWFkZXIiIGluIGgpe249bmV3IEZpbGVSZWFkZXIoKTtuLnJlYWRBc0RhdGFVUkwobyk7bi5vbmxvYWQ9ZnVuY3Rpb24oKXtwKG4ucmVzdWx0KX19ZWxzZXtyZXR1cm4gcChvLmdldEFzRGF0YVVSTCgpKX19ZnVuY3Rpb24gbChvLHApe3ZhciBuO2lmKCJGaWxlUmVhZGVyIiBpbiBoKXtuPW5ldyBGaWxlUmVhZGVyKCk7bi5yZWFkQXNCaW5hcnlTdHJpbmcobyk7bi5vbmxvYWQ9ZnVuY3Rpb24oKXtwKG4ucmVzdWx0KX19ZWxzZXtyZXR1cm4gcChvLmdldEFzQmluYXJ5KCkpfX1mdW5jdGlvbiBkKHIscCxuLHYpe3ZhciBxLG8sdSxzLHQ9dGhpczttKGNbci5pZF0sZnVuY3Rpb24odyl7cT1rLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3Euc3R5bGUuZGlzcGxheT0ibm9uZSI7ay5ib2R5LmFwcGVuZENoaWxkKHEpO289cS5nZXRDb250ZXh0KCIyZCIpO3U9bmV3IEltYWdlKCk7dS5vbmVycm9yPXUub25hYm9ydD1mdW5jdGlvbigpe3Yoe3N1Y2Nlc3M6ZmFsc2V9KX07dS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgQix4LHoseSxBO2lmKCFwLndpZHRoKXtwLndpZHRoPXUud2lkdGh9aWYoIXAuaGVpZ2h0KXtwLmhlaWdodD11LmhlaWdodH1zPU1hdGgubWluKHAud2lkdGgvdS53aWR0aCxwLmhlaWdodC91LmhlaWdodCk7aWYoczwxfHwocz09PTEmJm49PT0iaW1hZ2UvanBlZyIpKXtCPU1hdGgucm91bmQodS53aWR0aCpzKTt4PU1hdGgucm91bmQodS5oZWlnaHQqcyk7cS53aWR0aD1CO3EuaGVpZ2h0PXg7by5kcmF3SW1hZ2UodSwwLDAsQix4KTtpZihuPT09ImltYWdlL2pwZWciKXt5PW5ldyBmKGF0b2Iody5zdWJzdHJpbmcody5pbmRleE9mKCJiYXNlNjQsIikrNykpKTtpZih5LmhlYWRlcnMmJnkuaGVhZGVycy5sZW5ndGgpe0E9bmV3IGEoKTtpZihBLmluaXQoeS5nZXQoImV4aWYiKVswXSkpe0Euc2V0RXhpZigiUGl4ZWxYRGltZW5zaW9uIixCKTtBLnNldEV4aWYoIlBpeGVsWURpbWVuc2lvbiIseCk7eS5zZXQoImV4aWYiLEEuZ2V0QmluYXJ5KCkpO2lmKHQuaGFzRXZlbnRMaXN0ZW5lcigiRXhpZkRhdGEiKSl7dC50cmlnZ2VyKCJFeGlmRGF0YSIscixBLkVYSUYoKSl9aWYodC5oYXNFdmVudExpc3RlbmVyKCJHcHNEYXRhIikpe3QudHJpZ2dlcigiR3BzRGF0YSIscixBLkdQUygpKX19fWlmKHAucXVhbGl0eSl7dHJ5e3c9cS50b0RhdGFVUkwobixwLnF1YWxpdHkvMTAwKX1jYXRjaChDKXt3PXEudG9EYXRhVVJMKG4pfX19ZWxzZXt3PXEudG9EYXRhVVJMKG4pfXc9dy5zdWJzdHJpbmcody5pbmRleE9mKCJiYXNlNjQsIikrNyk7dz1hdG9iKHcpO2lmKHkmJnkuaGVhZGVycyYmeS5oZWFkZXJzLmxlbmd0aCl7dz15LnJlc3RvcmUodyk7eS5wdXJnZSgpfXEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChxKTt2KHtzdWNjZXNzOnRydWUsZGF0YTp3fSl9ZWxzZXt2KHtzdWNjZXNzOmZhbHNlfSl9fTt1LnNyYz13fSl9ai5ydW50aW1lcy5IdG1sNT1qLmFkZFJ1bnRpbWUoImh0bWw1Iix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXt2YXIgcyxvLHIscSxwLG47bz1yPXA9bj1mYWxzZTtpZihoLlhNTEh0dHBSZXF1ZXN0KXtzPW5ldyBYTUxIdHRwUmVxdWVzdCgpO3I9ISFzLnVwbG9hZDtvPSEhKHMuc2VuZEFzQmluYXJ5fHxzLnVwbG9hZCl9aWYobyl7cT0hIShzLnNlbmRBc0JpbmFyeXx8KGguVWludDhBcnJheSYmaC5BcnJheUJ1ZmZlcikpO3A9ISEoRmlsZSYmKEZpbGUucHJvdG90eXBlLmdldEFzRGF0YVVSTHx8aC5GaWxlUmVhZGVyKSYmcSk7bj0hIShGaWxlJiYoRmlsZS5wcm90b3R5cGUubW96U2xpY2V8fEZpbGUucHJvdG90eXBlLndlYmtpdFNsaWNlfHxGaWxlLnByb3RvdHlwZS5zbGljZSkpfWc9ai51YS5zYWZhcmkmJmoudWEud2luZG93cztyZXR1cm57aHRtbDU6byxkcmFnZHJvcDooZnVuY3Rpb24oKXt2YXIgdD1rLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybigiZHJhZ2dhYmxlIiBpbiB0KXx8KCJvbmRyYWdzdGFydCIgaW4gdCYmIm9uZHJvcCIgaW4gdCl9KCkpLGpwZ3Jlc2l6ZTpwLHBuZ3Jlc2l6ZTpwLG11bHRpcGFydDpwfHwhIWguRmlsZVJlYWRlcnx8ISFoLkZvcm1EYXRhLGNhblNlbmRCaW5hcnk6cSxjYW50U2VuZEJsb2JJbkZvcm1EYXRhOiEhKGoudWEuZ2Vja28mJmguRm9ybURhdGEmJmguRmlsZVJlYWRlciYmIUZpbGVSZWFkZXIucHJvdG90eXBlLnJlYWRBc0FycmF5QnVmZmVyKSxwcm9ncmVzczpyLGNodW5rczpuLG11bHRpX3NlbGVjdGlvbjohKGoudWEuc2FmYXJpJiZqLnVhLndpbmRvd3MpLHRyaWdnZXJEaWFsb2c6KGoudWEuZ2Vja28mJmguRm9ybURhdGF8fGoudWEud2Via2l0KX19LGluaXQ6ZnVuY3Rpb24ocCxyKXt2YXIgbixxO2Z1bmN0aW9uIG8odyl7dmFyIHUsdCx2PVtdLHgscz17fTtmb3IodD0wO3Q8dy5sZW5ndGg7dCsrKXt1PXdbdF07aWYoc1t1Lm5hbWVdKXtjb250aW51ZX1zW3UubmFtZV09dHJ1ZTt4PWouZ3VpZCgpO2NbeF09dTt2LnB1c2gobmV3IGouRmlsZSh4LHUuZmlsZU5hbWV8fHUubmFtZSx1LmZpbGVTaXplfHx1LnNpemUpKX1pZih2Lmxlbmd0aCl7cC50cmlnZ2VyKCJGaWxlc0FkZGVkIix2KX19bj10aGlzLmdldEZlYXR1cmVzKCk7aWYoIW4uaHRtbDUpe3Ioe3N1Y2Nlc3M6ZmFsc2V9KTtyZXR1cm59cC5iaW5kKCJJbml0IixmdW5jdGlvbih3KXt2YXIgRyxGLEM9W10sdixELHQ9dy5zZXR0aW5ncy5maWx0ZXJzLHUsQixzPWsuYm9keSxFO0c9ay5jcmVhdGVFbGVtZW50KCJkaXYiKTtHLmlkPXcuaWQrIl9odG1sNV9jb250YWluZXIiO2ouZXh0ZW5kKEcuc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYmFja2dyb3VuZDpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcnx8InRyYW5zcGFyZW50Iix3aWR0aDoiMTAwcHgiLGhlaWdodDoiMTAwcHgiLG92ZXJmbG93OiJoaWRkZW4iLHpJbmRleDo5OTk5OSxvcGFjaXR5OnAuc2V0dGluZ3Muc2hpbV9iZ2NvbG9yPyIiOjB9KTtHLmNsYXNzTmFtZT0icGx1cGxvYWQgaHRtbDUiO2lmKHAuc2V0dGluZ3MuY29udGFpbmVyKXtzPWsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5jb250YWluZXIpO2lmKGouZ2V0U3R5bGUocywicG9zaXRpb24iKT09PSJzdGF0aWMiKXtzLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSJ9fXMuYXBwZW5kQ2hpbGQoRyk7bm9fdHlwZV9yZXN0cmljdGlvbjpmb3Iodj0wO3Y8dC5sZW5ndGg7disrKXt1PXRbdl0uZXh0ZW5zaW9ucy5zcGxpdCgvLC8pO2ZvcihEPTA7RDx1Lmxlbmd0aDtEKyspe2lmKHVbRF09PT0iKiIpe0M9W107YnJlYWsgbm9fdHlwZV9yZXN0cmljdGlvbn1CPWoubWltZVR5cGVzW3VbRF1dO2lmKEImJmouaW5BcnJheShCLEMpPT09LTEpe0MucHVzaChCKX19fUcuaW5uZXJIVE1MPSc8aW5wdXQgaWQ9IicrcC5pZCsnX2h0bWw1IiAgc3R5bGU9ImZvbnQtc2l6ZTo5OTlweCIgdHlwZT0iZmlsZSIgYWNjZXB0PSInK0Muam9pbigiLCIpKyciICcrKHAuc2V0dGluZ3MubXVsdGlfc2VsZWN0aW9uJiZwLmZlYXR1cmVzLm11bHRpX3NlbGVjdGlvbj8nbXVsdGlwbGU9Im11bHRpcGxlIic6IiIpKyIgLz4iO0cuc2Nyb2xsVG9wPTEwMDtFPWsuZ2V0RWxlbWVudEJ5SWQocC5pZCsiX2h0bWw1Iik7aWYody5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtqLmV4dGVuZChFLnN0eWxlLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSl9ZWxzZXtqLmV4dGVuZChFLnN0eWxlLHtjc3NGbG9hdDoicmlnaHQiLHN0eWxlRmxvYXQ6InJpZ2h0In0pfUUub25jaGFuZ2U9ZnVuY3Rpb24oKXtvKHRoaXMuZmlsZXMpO3RoaXMudmFsdWU9IiJ9O0Y9ay5nZXRFbGVtZW50QnlJZCh3LnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKEYpe3ZhciB6PXcuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcixBPXcuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmUseD13LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2c/RjpHO2lmKHope2ouYWRkRXZlbnQoeCwibW91c2VvdmVyIixmdW5jdGlvbigpe2ouYWRkQ2xhc3MoRix6KX0sdy5pZCk7ai5hZGRFdmVudCh4LCJtb3VzZW91dCIsZnVuY3Rpb24oKXtqLnJlbW92ZUNsYXNzKEYseil9LHcuaWQpfWlmKEEpe2ouYWRkRXZlbnQoeCwibW91c2Vkb3duIixmdW5jdGlvbigpe2ouYWRkQ2xhc3MoRixBKX0sdy5pZCk7ai5hZGRFdmVudChrLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7ai5yZW1vdmVDbGFzcyhGLEEpfSx3LmlkKX1pZih3LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2ouYWRkRXZlbnQoRiwiY2xpY2siLGZ1bmN0aW9uKEgpe3ZhciB5PWsuZ2V0RWxlbWVudEJ5SWQody5pZCsiX2h0bWw1Iik7aWYoeSYmIXkuZGlzYWJsZWQpe3kuY2xpY2soKX1ILnByZXZlbnREZWZhdWx0KCl9LHcuaWQpfX19KTtwLmJpbmQoIlBvc3RJbml0IixmdW5jdGlvbigpe3ZhciBzPWsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5kcm9wX2VsZW1lbnQpO2lmKHMpe2lmKGcpe2ouYWRkRXZlbnQocywiZHJhZ2VudGVyIixmdW5jdGlvbih3KXt2YXIgdix0LHU7dj1rLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9kcm9wIik7aWYoIXYpe3Y9ay5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3Yuc2V0QXR0cmlidXRlKCJ0eXBlIiwiZmlsZSIpO3Yuc2V0QXR0cmlidXRlKCJpZCIscC5pZCsiX2Ryb3AiKTt2LnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCJtdWx0aXBsZSIpO2ouYWRkRXZlbnQodiwiY2hhbmdlIixmdW5jdGlvbigpe28odGhpcy5maWxlcyk7ai5yZW1vdmVFdmVudCh2LCJjaGFuZ2UiLHAuaWQpO3YucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh2KX0scC5pZCk7cy5hcHBlbmRDaGlsZCh2KX10PWouZ2V0UG9zKHMsay5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmNvbnRhaW5lcikpO3U9ai5nZXRTaXplKHMpO2lmKGouZ2V0U3R5bGUocywicG9zaXRpb24iKT09PSJzdGF0aWMiKXtqLmV4dGVuZChzLnN0eWxlLHtwb3NpdGlvbjoicmVsYXRpdmUifSl9ai5leHRlbmQodi5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJibG9jayIsdG9wOjAsbGVmdDowLHdpZHRoOnUudysicHgiLGhlaWdodDp1LmgrInB4IixvcGFjaXR5OjB9KX0scC5pZCk7cmV0dXJufWouYWRkRXZlbnQocywiZHJhZ292ZXIiLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX0scC5pZCk7ai5hZGRFdmVudChzLCJkcm9wIixmdW5jdGlvbih1KXt2YXIgdD11LmRhdGFUcmFuc2ZlcjtpZih0JiZ0LmZpbGVzKXtvKHQuZmlsZXMpfXUucHJldmVudERlZmF1bHQoKX0scC5pZCl9fSk7cC5iaW5kKCJSZWZyZXNoIixmdW5jdGlvbihzKXt2YXIgdCx1LHYseCx3O3Q9ay5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHQpe3U9ai5nZXRQb3ModCxrLmdldEVsZW1lbnRCeUlkKHMuc2V0dGluZ3MuY29udGFpbmVyKSk7dj1qLmdldFNpemUodCk7eD1rLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9odG1sNV9jb250YWluZXIiKTtqLmV4dGVuZCh4LnN0eWxlLHt0b3A6dS55KyJweCIsbGVmdDp1LngrInB4Iix3aWR0aDp2LncrInB4IixoZWlnaHQ6di5oKyJweCJ9KTtpZihwLmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2lmKGouZ2V0U3R5bGUodCwicG9zaXRpb24iKT09PSJzdGF0aWMiKXtqLmV4dGVuZCh0LnN0eWxlLHtwb3NpdGlvbjoicmVsYXRpdmUifSl9dz1wYXJzZUludChqLmdldFN0eWxlKHQsInotaW5kZXgiKSwxMCk7aWYoaXNOYU4odykpe3c9MH1qLmV4dGVuZCh0LnN0eWxlLHt6SW5kZXg6d30pO2ouZXh0ZW5kKHguc3R5bGUse3pJbmRleDp3LTF9KX19fSk7cC5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbihzLHUpe3ZhciB0PWsuZ2V0RWxlbWVudEJ5SWQocy5pZCsiX2h0bWw1Iik7aWYodCl7dC5kaXNhYmxlZD11fX0pO3AuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2lmKHEuYWJvcnQpe3EuYWJvcnQoKX19KTtwLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHY9cy5zZXR0aW5ncyx5LHQ7ZnVuY3Rpb24geChBLEQseil7dmFyIEI7aWYoRmlsZS5wcm90b3R5cGUuc2xpY2Upe3RyeXtBLnNsaWNlKCk7cmV0dXJuIEEuc2xpY2UoRCx6KX1jYXRjaChDKXtyZXR1cm4gQS5zbGljZShELHotRCl9fWVsc2V7aWYoQj1GaWxlLnByb3RvdHlwZS53ZWJraXRTbGljZXx8RmlsZS5wcm90b3R5cGUubW96U2xpY2Upe3JldHVybiBCLmNhbGwoQSxELHopfWVsc2V7cmV0dXJuIG51bGx9fX1mdW5jdGlvbiB3KEEpe3ZhciBEPTAsQz0wLHo9KCJGaWxlUmVhZGVyIiBpbiBoKT9uZXcgRmlsZVJlYWRlcjpudWxsO2Z1bmN0aW9uIEIoKXt2YXIgSSxNLEssTCxILEosRixFPXMuc2V0dGluZ3MudXJsO2Z1bmN0aW9uIEcoVil7dmFyIFQ9MCxOPSItLS0tcGx1cGxvYWRib3VuZGFyeSIrai5ndWlkKCksTyxQPSItLSIsVT0iXHJcbiIsUj0iIjtxPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihxLnVwbG9hZCl7cS51cGxvYWQub25wcm9ncmVzcz1mdW5jdGlvbihXKXt1LmxvYWRlZD1NYXRoLm1pbih1LnNpemUsQytXLmxvYWRlZC1UKTtzLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix1KX19cS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXt2YXIgVyxZO2lmKHEucmVhZHlTdGF0ZT09NCYmcy5zdGF0ZSE9PWouU1RPUFBFRCl7dHJ5e1c9cS5zdGF0dXN9Y2F0Y2goWCl7Vz0wfWlmKFc+PTQwMCl7cy50cmlnZ2VyKCJFcnJvciIse2NvZGU6ai5IVFRQX0VSUk9SLG1lc3NhZ2U6ai50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTp1LHN0YXR1czpXfSl9ZWxzZXtpZihLKXtZPXtjaHVuazpELGNodW5rczpLLHJlc3BvbnNlOnEucmVzcG9uc2VUZXh0LHN0YXR1czpXfTtzLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHUsWSk7Qys9SjtpZihZLmNhbmNlbGxlZCl7dS5zdGF0dXM9ai5GQUlMRUQ7cmV0dXJufXUubG9hZGVkPU1hdGgubWluKHUuc2l6ZSwoRCsxKSpIKX1lbHNle3UubG9hZGVkPXUuc2l6ZX1zLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIix1KTtWPUk9Tz1SPW51bGw7aWYoIUt8fCsrRD49Syl7dS5zdGF0dXM9ai5ET05FO3MudHJpZ2dlcigiRmlsZVVwbG9hZGVkIix1LHtyZXNwb25zZTpxLnJlc3BvbnNlVGV4dCxzdGF0dXM6V30pfWVsc2V7QigpfX19fTtpZihzLnNldHRpbmdzLm11bHRpcGFydCYmbi5tdWx0aXBhcnQpe0wubmFtZT11LnRhcmdldF9uYW1lfHx1Lm5hbWU7cS5vcGVuKCJwb3N0IixFLHRydWUpO2ouZWFjaChzLnNldHRpbmdzLmhlYWRlcnMsZnVuY3Rpb24oWCxXKXtxLnNldFJlcXVlc3RIZWFkZXIoVyxYKX0pO2lmKHR5cGVvZihWKSE9PSJzdHJpbmciJiYhIWguRm9ybURhdGEpe089bmV3IEZvcm1EYXRhKCk7ai5lYWNoKGouZXh0ZW5kKEwscy5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihYLFcpe08uYXBwZW5kKFcsWCl9KTtPLmFwcGVuZChzLnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lLFYpO3Euc2VuZChPKTtyZXR1cm59aWYodHlwZW9mKFYpPT09InN0cmluZyIpe3Euc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9IitOKTtqLmVhY2goai5leHRlbmQoTCxzLnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpLGZ1bmN0aW9uKFgsVyl7Uis9UCtOK1UrJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJytXKyciJytVK1U7Uis9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KFgpKStVfSk7Rj1qLm1pbWVUeXBlc1t1Lm5hbWUucmVwbGFjZSgvXi4rXC4oW14uXSspLywiJDEiKS50b0xvd2VyQ2FzZSgpXXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7Uis9UCtOK1UrJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJytzLnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKyciOyBmaWxlbmFtZT0iJyt1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodS5uYW1lKSkrJyInK1UrIkNvbnRlbnQtVHlwZTogIitGK1UrVStWK1UrUCtOK1ArVTtUPVIubGVuZ3RoLVYubGVuZ3RoO1Y9UjtpZihxLnNlbmRBc0JpbmFyeSl7cS5zZW5kQXNCaW5hcnkoVil9ZWxzZXtpZihuLmNhblNlbmRCaW5hcnkpe3ZhciBTPW5ldyBVaW50OEFycmF5KFYubGVuZ3RoKTtmb3IodmFyIFE9MDtRPFYubGVuZ3RoO1ErKyl7U1tRXT0oVi5jaGFyQ29kZUF0KFEpJjI1NSl9cS5zZW5kKFMuYnVmZmVyKX19cmV0dXJufX1FPWouYnVpbGRVcmwocy5zZXR0aW5ncy51cmwsai5leHRlbmQoTCxzLnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpKTtxLm9wZW4oInBvc3QiLEUsdHJ1ZSk7cS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTtqLmVhY2gocy5zZXR0aW5ncy5oZWFkZXJzLGZ1bmN0aW9uKFgsVyl7cS5zZXRSZXF1ZXN0SGVhZGVyKFcsWCl9KTtxLnNlbmQoVil9aWYodS5zdGF0dXM9PWouRE9ORXx8dS5zdGF0dXM9PWouRkFJTEVEfHxzLnN0YXRlPT1qLlNUT1BQRUQpe3JldHVybn1MPXtuYW1lOnUudGFyZ2V0X25hbWV8fHUubmFtZX07aWYodi5jaHVua19zaXplJiZ1LnNpemU+di5jaHVua19zaXplJiYobi5jaHVua3N8fHR5cGVvZihBKT09InN0cmluZyIpKXtIPXYuY2h1bmtfc2l6ZTtLPU1hdGguY2VpbCh1LnNpemUvSCk7Sj1NYXRoLm1pbihILHUuc2l6ZS0oRCpIKSk7aWYodHlwZW9mKEEpPT0ic3RyaW5nIil7ST1BLnN1YnN0cmluZyhEKkgsRCpIK0opfWVsc2V7ST14KEEsRCpILEQqSCtKKX1MLmNodW5rPUQ7TC5jaHVua3M9S31lbHNle0o9dS5zaXplO0k9QX1pZihzLnNldHRpbmdzLm11bHRpcGFydCYmbi5tdWx0aXBhcnQmJnR5cGVvZihJKSE9PSJzdHJpbmciJiZ6JiZuLmNhbnRTZW5kQmxvYkluRm9ybURhdGEmJm4uY2h1bmtzJiZzLnNldHRpbmdzLmNodW5rX3NpemUpe3oub25sb2FkPWZ1bmN0aW9uKCl7Ryh6LnJlc3VsdCl9O3oucmVhZEFzQmluYXJ5U3RyaW5nKEkpfWVsc2V7RyhJKX19QigpfXk9Y1t1LmlkXTtpZihuLmpwZ3Jlc2l6ZSYmcy5zZXR0aW5ncy5yZXNpemUmJi9cLihwbmd8anBnfGpwZWcpJC9pLnRlc3QodS5uYW1lKSl7ZC5jYWxsKHMsdSxzLnNldHRpbmdzLnJlc2l6ZSwvXC5wbmckL2kudGVzdCh1Lm5hbWUpPyJpbWFnZS9wbmciOiJpbWFnZS9qcGVnIixmdW5jdGlvbih6KXtpZih6LnN1Y2Nlc3Mpe3Uuc2l6ZT16LmRhdGEubGVuZ3RoO3coei5kYXRhKX1lbHNle2lmKG4uY2h1bmtzKXt3KHkpfWVsc2V7bCh5LHcpfX19KX1lbHNle2lmKCFuLmNodW5rcyYmbi5qcGdyZXNpemUpe2woeSx3KX1lbHNle3coeSl9fX0pO3AuYmluZCgiRGVzdHJveSIsZnVuY3Rpb24ocyl7dmFyIHUsdix0PWsuYm9keSx3PXtpbnB1dENvbnRhaW5lcjpzLmlkKyJfaHRtbDVfY29udGFpbmVyIixpbnB1dEZpbGU6cy5pZCsiX2h0bWw1Iixicm93c2VCdXR0b246cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uLGRyb3BFbG06cy5zZXR0aW5ncy5kcm9wX2VsZW1lbnR9O2Zvcih1IGluIHcpe3Y9ay5nZXRFbGVtZW50QnlJZCh3W3VdKTtpZih2KXtqLnJlbW92ZUFsbEV2ZW50cyh2LHMuaWQpfX1qLnJlbW92ZUFsbEV2ZW50cyhrLmJvZHkscy5pZCk7aWYocy5zZXR0aW5ncy5jb250YWluZXIpe3Q9ay5nZXRFbGVtZW50QnlJZChzLnNldHRpbmdzLmNvbnRhaW5lcil9dC5yZW1vdmVDaGlsZChrLmdldEVsZW1lbnRCeUlkKHcuaW5wdXRDb250YWluZXIpKX0pO3Ioe3N1Y2Nlc3M6dHJ1ZX0pfX0pO2Z1bmN0aW9uIGIoKXt2YXIgcT1mYWxzZSxvO2Z1bmN0aW9uIHIodCx2KXt2YXIgcz1xPzA6LTgqKHYtMSksdz0wLHU7Zm9yKHU9MDt1PHY7dSsrKXt3fD0oby5jaGFyQ29kZUF0KHQrdSk8PE1hdGguYWJzKHMrdSo4KSl9cmV0dXJuIHd9ZnVuY3Rpb24gbih1LHMsdCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD09PTM/dDpvLmxlbmd0aC1zLTE7bz1vLnN1YnN0cigwLHMpK3Urby5zdWJzdHIodCtzKX1mdW5jdGlvbiBwKHQsdSx3KXt2YXIgeD0iIixzPXE/MDotOCoody0xKSx2O2Zvcih2PTA7djx3O3YrKyl7eCs9U3RyaW5nLmZyb21DaGFyQ29kZSgodT4+TWF0aC5hYnMocyt2KjgpKSYyNTUpfW4oeCx0LHcpfXJldHVybntJSTpmdW5jdGlvbihzKXtpZihzPT09ZSl7cmV0dXJuIHF9ZWxzZXtxPXN9fSxpbml0OmZ1bmN0aW9uKHMpe3E9ZmFsc2U7bz1zfSxTRUdNRU5UOmZ1bmN0aW9uKHMsdSx0KXtzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOnJldHVybiBvLnN1YnN0cihzLG8ubGVuZ3RoLXMtMSk7Y2FzZSAyOnJldHVybiBvLnN1YnN0cihzLHUpO2Nhc2UgMzpuKHQscyx1KTticmVhaztkZWZhdWx0OnJldHVybiBvfX0sQllURTpmdW5jdGlvbihzKXtyZXR1cm4gcihzLDEpfSxTSE9SVDpmdW5jdGlvbihzKXtyZXR1cm4gcihzLDIpfSxMT05HOmZ1bmN0aW9uKHMsdCl7aWYodD09PWUpe3JldHVybiByKHMsNCl9ZWxzZXtwKHMsdCw0KX19LFNMT05HOmZ1bmN0aW9uKHMpe3ZhciB0PXIocyw0KTtyZXR1cm4odD4yMTQ3NDgzNjQ3P3QtNDI5NDk2NzI5Njp0KX0sU1RSSU5HOmZ1bmN0aW9uKHMsdCl7dmFyIHU9IiI7Zm9yKHQrPXM7czx0O3MrKyl7dSs9U3RyaW5nLmZyb21DaGFyQ29kZShyKHMsMSkpfXJldHVybiB1fX19ZnVuY3Rpb24gZihzKXt2YXIgdT17NjU1MDU6e2FwcDoiRVhJRiIsbmFtZToiQVBQMSIsc2lnbmF0dXJlOiJFeGlmXDAifSw2NTUwNjp7YXBwOiJJQ0MiLG5hbWU6IkFQUDIiLHNpZ25hdHVyZToiSUNDX1BST0ZJTEVcMCJ9LDY1NTE3OnthcHA6IklQVEMiLG5hbWU6IkFQUDEzIixzaWduYXR1cmU6IlBob3Rvc2hvcCAzLjBcMCJ9fSx0PVtdLHIsbixwPWUscT0wLG87cj1uZXcgYigpO3IuaW5pdChzKTtpZihyLlNIT1JUKDApIT09NjU0OTYpe3JldHVybn1uPTI7bz1NYXRoLm1pbigxMDQ4NTc2LHMubGVuZ3RoKTt3aGlsZShuPD1vKXtwPXIuU0hPUlQobik7aWYocD49NjU0ODgmJnA8PTY1NDk1KXtuKz0yO2NvbnRpbnVlfWlmKHA9PT02NTQ5OHx8cD09PTY1NDk3KXticmVha31xPXIuU0hPUlQobisyKSsyO2lmKHVbcF0mJnIuU1RSSU5HKG4rNCx1W3BdLnNpZ25hdHVyZS5sZW5ndGgpPT09dVtwXS5zaWduYXR1cmUpe3QucHVzaCh7aGV4OnAsYXBwOnVbcF0uYXBwLnRvVXBwZXJDYXNlKCksbmFtZTp1W3BdLm5hbWUudG9VcHBlckNhc2UoKSxzdGFydDpuLGxlbmd0aDpxLHNlZ21lbnQ6ci5TRUdNRU5UKG4scSl9KX1uKz1xfXIuaW5pdChudWxsKTtyZXR1cm57aGVhZGVyczp0LHJlc3RvcmU6ZnVuY3Rpb24oeSl7ci5pbml0KHkpO3ZhciB3PW5ldyBmKHkpO2lmKCF3LmhlYWRlcnMpe3JldHVybiBmYWxzZX1mb3IodmFyIHg9dy5oZWFkZXJzLmxlbmd0aDt4PjA7eC0tKXt2YXIgej13LmhlYWRlcnNbeC0xXTtyLlNFR01FTlQoei5zdGFydCx6Lmxlbmd0aCwiIil9dy5wdXJnZSgpO249ci5TSE9SVCgyKT09NjU1MDQ/NCtyLlNIT1JUKDQpOjI7Zm9yKHZhciB4PTAsdj10Lmxlbmd0aDt4PHY7eCsrKXtyLlNFR01FTlQobiwwLHRbeF0uc2VnbWVudCk7bis9dFt4XS5sZW5ndGh9cmV0dXJuIHIuU0VHTUVOVCgpfSxnZXQ6ZnVuY3Rpb24oeCl7dmFyIHk9W107Zm9yKHZhciB3PTAsdj10Lmxlbmd0aDt3PHY7dysrKXtpZih0W3ddLmFwcD09PXgudG9VcHBlckNhc2UoKSl7eS5wdXNoKHRbd10uc2VnbWVudCl9fXJldHVybiB5fSxzZXQ6ZnVuY3Rpb24oeSx4KXt2YXIgej1bXTtpZih0eXBlb2YoeCk9PT0ic3RyaW5nIil7ei5wdXNoKHgpfWVsc2V7ej14fWZvcih2YXIgdz1paT0wLHY9dC5sZW5ndGg7dzx2O3crKyl7aWYodFt3XS5hcHA9PT15LnRvVXBwZXJDYXNlKCkpe3Rbd10uc2VnbWVudD16W2lpXTt0W3ddLmxlbmd0aD16W2lpXS5sZW5ndGg7aWkrK31pZihpaT49ei5sZW5ndGgpe2JyZWFrfX19LHB1cmdlOmZ1bmN0aW9uKCl7dD1bXTtyLmluaXQobnVsbCl9fX1mdW5jdGlvbiBhKCl7dmFyIHEsbixvPXt9LHQ7cT1uZXcgYigpO249e3RpZmY6ezI3NDoiT3JpZW50YXRpb24iLDM0NjY1OiJFeGlmSUZEUG9pbnRlciIsMzQ4NTM6IkdQU0luZm9JRkRQb2ludGVyIn0sZXhpZjp7MzY4NjQ6IkV4aWZWZXJzaW9uIiw0MDk2MToiQ29sb3JTcGFjZSIsNDA5NjI6IlBpeGVsWERpbWVuc2lvbiIsNDA5NjM6IlBpeGVsWURpbWVuc2lvbiIsMzY4Njc6IkRhdGVUaW1lT3JpZ2luYWwiLDMzNDM0OiJFeHBvc3VyZVRpbWUiLDMzNDM3OiJGTnVtYmVyIiwzNDg1NToiSVNPU3BlZWRSYXRpbmdzIiwzNzM3NzoiU2h1dHRlclNwZWVkVmFsdWUiLDM3Mzc4OiJBcGVydHVyZVZhbHVlIiwzNzM4MzoiTWV0ZXJpbmdNb2RlIiwzNzM4NDoiTGlnaHRTb3VyY2UiLDM3Mzg1OiJGbGFzaCIsNDE5ODY6IkV4cG9zdXJlTW9kZSIsNDE5ODc6IldoaXRlQmFsYW5jZSIsNDE5OTA6IlNjZW5lQ2FwdHVyZVR5cGUiLDQxOTg4OiJEaWdpdGFsWm9vbVJhdGlvIiw0MTk5MjoiQ29udHJhc3QiLDQxOTkzOiJTYXR1cmF0aW9uIiw0MTk5NDoiU2hhcnBuZXNzIn0sZ3BzOnswOiJHUFNWZXJzaW9uSUQiLDE6IkdQU0xhdGl0dWRlUmVmIiwyOiJHUFNMYXRpdHVkZSIsMzoiR1BTTG9uZ2l0dWRlUmVmIiw0OiJHUFNMb25naXR1ZGUifX07dD17Q29sb3JTcGFjZTp7MToic1JHQiIsMDoiVW5jYWxpYnJhdGVkIn0sTWV0ZXJpbmdNb2RlOnswOiJVbmtub3duIiwxOiJBdmVyYWdlIiwyOiJDZW50ZXJXZWlnaHRlZEF2ZXJhZ2UiLDM6IlNwb3QiLDQ6Ik11bHRpU3BvdCIsNToiUGF0dGVybiIsNjoiUGFydGlhbCIsMjU1OiJPdGhlciJ9LExpZ2h0U291cmNlOnsxOiJEYXlsaWdodCIsMjoiRmxpb3Jlc2NlbnQiLDM6IlR1bmdzdGVuIiw0OiJGbGFzaCIsOToiRmluZSB3ZWF0aGVyIiwxMDoiQ2xvdWR5IHdlYXRoZXIiLDExOiJTaGFkZSIsMTI6IkRheWxpZ2h0IGZsdW9yZXNjZW50IChEIDU3MDAgLSA3MTAwSykiLDEzOiJEYXkgd2hpdGUgZmx1b3Jlc2NlbnQgKE4gNDYwMCAtNTQwMEspIiwxNDoiQ29vbCB3aGl0ZSBmbHVvcmVzY2VudCAoVyAzOTAwIC0gNDUwMEspIiwxNToiV2hpdGUgZmx1b3Jlc2NlbnQgKFdXIDMyMDAgLSAzNzAwSykiLDE3OiJTdGFuZGFyZCBsaWdodCBBIiwxODoiU3RhbmRhcmQgbGlnaHQgQiIsMTk6IlN0YW5kYXJkIGxpZ2h0IEMiLDIwOiJENTUiLDIxOiJENjUiLDIyOiJENzUiLDIzOiJENTAiLDI0OiJJU08gc3R1ZGlvIHR1bmdzdGVuIiwyNTU6Ik90aGVyIn0sRmxhc2g6ezA6IkZsYXNoIGRpZCBub3QgZmlyZS4iLDE6IkZsYXNoIGZpcmVkLiIsNToiU3Ryb2JlIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQuIiw3OiJTdHJvYmUgcmV0dXJuIGxpZ2h0IGRldGVjdGVkLiIsOToiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSIsMTM6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDE1OiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQiLDE2OiJGbGFzaCBkaWQgbm90IGZpcmUsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSIsMjQ6IkZsYXNoIGRpZCBub3QgZmlyZSwgYXV0byBtb2RlIiwyNToiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSIsMjk6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDMxOiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQiLDMyOiJObyBmbGFzaCBmdW5jdGlvbiIsNjU6IkZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlIiw2OToiRmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDcxOiJGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiw3MzoiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsNzc6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQiLDc5OiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQiLDg5OiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlIiw5MzoiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IG5vdCBkZXRlY3RlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsOTU6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSJ9LEV4cG9zdXJlTW9kZTp7MDoiQXV0byBleHBvc3VyZSIsMToiTWFudWFsIGV4cG9zdXJlIiwyOiJBdXRvIGJyYWNrZXQifSxXaGl0ZUJhbGFuY2U6ezA6IkF1dG8gd2hpdGUgYmFsYW5jZSIsMToiTWFudWFsIHdoaXRlIGJhbGFuY2UifSxTY2VuZUNhcHR1cmVUeXBlOnswOiJTdGFuZGFyZCIsMToiTGFuZHNjYXBlIiwyOiJQb3J0cmFpdCIsMzoiTmlnaHQgc2NlbmUifSxDb250cmFzdDp7MDoiTm9ybWFsIiwxOiJTb2Z0IiwyOiJIYXJkIn0sU2F0dXJhdGlvbjp7MDoiTm9ybWFsIiwxOiJMb3cgc2F0dXJhdGlvbiIsMjoiSGlnaCBzYXR1cmF0aW9uIn0sU2hhcnBuZXNzOnswOiJOb3JtYWwiLDE6IlNvZnQiLDI6IkhhcmQifSxHUFNMYXRpdHVkZVJlZjp7TjoiTm9ydGggbGF0aXR1ZGUiLFM6IlNvdXRoIGxhdGl0dWRlIn0sR1BTTG9uZ2l0dWRlUmVmOntFOiJFYXN0IGxvbmdpdHVkZSIsVzoiV2VzdCBsb25naXR1ZGUifX07ZnVuY3Rpb24gcCh1LEMpe3ZhciB3PXEuU0hPUlQodSkseixGLEcsQixBLHYseCxELEU9W10seT17fTtmb3Ioej0wO3o8dzt6Kyspe3g9dj11KzEyKnorMjtHPUNbcS5TSE9SVCh4KV07aWYoRz09PWUpe2NvbnRpbnVlfUI9cS5TSE9SVCh4Kz0yKTtBPXEuTE9ORyh4Kz0yKTt4Kz00O0U9W107c3dpdGNoKEIpe2Nhc2UgMTpjYXNlIDc6aWYoQT40KXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuQllURSh4K0YpfWJyZWFrO2Nhc2UgMjppZihBPjQpe3g9cS5MT05HKHgpK28udGlmZkhlYWRlcn15W0ddPXEuU1RSSU5HKHgsQS0xKTtjb250aW51ZTtjYXNlIDM6aWYoQT4yKXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuU0hPUlQoeCtGKjIpfWJyZWFrO2Nhc2UgNDppZihBPjEpe3g9cS5MT05HKHgpK28udGlmZkhlYWRlcn1mb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5MT05HKHgrRio0KX1icmVhaztjYXNlIDU6eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyO2ZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLkxPTkcoeCtGKjQpL3EuTE9ORyh4K0YqNCs0KX1icmVhaztjYXNlIDk6eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyO2ZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLlNMT05HKHgrRio0KX1icmVhaztjYXNlIDEwOng9cS5MT05HKHgpK28udGlmZkhlYWRlcjtmb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5TTE9ORyh4K0YqNCkvcS5TTE9ORyh4K0YqNCs0KX1icmVhaztkZWZhdWx0OmNvbnRpbnVlfUQ9KEE9PTE/RVswXTpFKTtpZih0Lmhhc093blByb3BlcnR5KEcpJiZ0eXBlb2YgRCE9Im9iamVjdCIpe3lbR109dFtHXVtEXX1lbHNle3lbR109RH19cmV0dXJuIHl9ZnVuY3Rpb24gcygpe3ZhciB2PWUsdT1vLnRpZmZIZWFkZXI7cS5JSShxLlNIT1JUKHUpPT0xODc2MSk7aWYocS5TSE9SVCh1Kz0yKSE9PTQyKXtyZXR1cm4gZmFsc2V9by5JRkQwPW8udGlmZkhlYWRlcitxLkxPTkcodSs9Mik7dj1wKG8uSUZEMCxuLnRpZmYpO28uZXhpZklGRD0oIkV4aWZJRkRQb2ludGVyIiBpbiB2P28udGlmZkhlYWRlcit2LkV4aWZJRkRQb2ludGVyOmUpO28uZ3BzSUZEPSgiR1BTSW5mb0lGRFBvaW50ZXIiIGluIHY/by50aWZmSGVhZGVyK3YuR1BTSW5mb0lGRFBvaW50ZXI6ZSk7cmV0dXJuIHRydWV9ZnVuY3Rpb24gcih3LHUseil7dmFyIEIseSx4LEE9MDtpZih0eXBlb2YodSk9PT0ic3RyaW5nIil7dmFyIHY9blt3LnRvTG93ZXJDYXNlKCldO2ZvcihoZXggaW4gdil7aWYodltoZXhdPT09dSl7dT1oZXg7YnJlYWt9fX1CPW9bdy50b0xvd2VyQ2FzZSgpKyJJRkQiXTt5PXEuU0hPUlQoQik7Zm9yKGk9MDtpPHk7aSsrKXt4PUIrMTIqaSsyO2lmKHEuU0hPUlQoeCk9PXUpe0E9eCs4O2JyZWFrfX1pZighQSl7cmV0dXJuIGZhbHNlfXEuTE9ORyhBLHopO3JldHVybiB0cnVlfXJldHVybntpbml0OmZ1bmN0aW9uKHUpe289e3RpZmZIZWFkZXI6MTB9O2lmKHU9PT1lfHwhdS5sZW5ndGgpe3JldHVybiBmYWxzZX1xLmluaXQodSk7aWYocS5TSE9SVCgwKT09PTY1NTA1JiZxLlNUUklORyg0LDUpLnRvVXBwZXJDYXNlKCk9PT0iRVhJRlwwIil7cmV0dXJuIHMoKX1yZXR1cm4gZmFsc2V9LEVYSUY6ZnVuY3Rpb24oKXt2YXIgdjt2PXAoby5leGlmSUZELG4uZXhpZik7aWYodi5FeGlmVmVyc2lvbiYmai50eXBlT2Yodi5FeGlmVmVyc2lvbik9PT0iYXJyYXkiKXtmb3IodmFyIHc9MCx1PSIiO3c8di5FeGlmVmVyc2lvbi5sZW5ndGg7dysrKXt1Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKHYuRXhpZlZlcnNpb25bd10pfXYuRXhpZlZlcnNpb249dX1yZXR1cm4gdn0sR1BTOmZ1bmN0aW9uKCl7dmFyIHU7dT1wKG8uZ3BzSUZELG4uZ3BzKTtpZih1LkdQU1ZlcnNpb25JRCl7dS5HUFNWZXJzaW9uSUQ9dS5HUFNWZXJzaW9uSUQuam9pbigiLiIpfXJldHVybiB1fSxzZXRFeGlmOmZ1bmN0aW9uKHUsdil7aWYodSE9PSJQaXhlbFhEaW1lbnNpb24iJiZ1IT09IlBpeGVsWURpbWVuc2lvbiIpe3JldHVybiBmYWxzZX1yZXR1cm4gcigiZXhpZiIsdSx2KX0sZ2V0QmluYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHEuU0VHTUVOVCgpfX19fSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTsoZnVuY3Rpb24oZCxhLGIsYyl7ZnVuY3Rpb24gZShmKXtyZXR1cm4gYS5nZXRFbGVtZW50QnlJZChmKX1iLnJ1bnRpbWVzLkh0bWw0PWIuYWRkUnVudGltZSgiaHRtbDQiLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybnttdWx0aXBhcnQ6dHJ1ZSx0cmlnZ2VyRGlhbG9nOihiLnVhLmdlY2tvJiZkLkZvcm1EYXRhfHxiLnVhLndlYmtpdCl9fSxpbml0OmZ1bmN0aW9uKGYsZyl7Zi5iaW5kKCJJbml0IixmdW5jdGlvbihwKXt2YXIgaj1hLmJvZHksbixoPSJqYXZhc2NyaXB0IixrLHgscSx6PVtdLHI9L01TSUUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdD1bXSxtPXAuc2V0dGluZ3MuZmlsdGVycyxvLGwscyx3O25vX3R5cGVfcmVzdHJpY3Rpb246Zm9yKG89MDtvPG0ubGVuZ3RoO28rKyl7bD1tW29dLmV4dGVuc2lvbnMuc3BsaXQoLywvKTtmb3Iodz0wO3c8bC5sZW5ndGg7dysrKXtpZihsW3ddPT09IioiKXt0PVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259cz1iLm1pbWVUeXBlc1tsW3ddXTtpZihzJiZiLmluQXJyYXkocyx0KT09PS0xKXt0LnB1c2gocyl9fX10PXQuam9pbigiLCIpO2Z1bmN0aW9uIHYoKXt2YXIgQyxBLHksQjtxPWIuZ3VpZCgpO3oucHVzaChxKTtDPWEuY3JlYXRlRWxlbWVudCgiZm9ybSIpO0Muc2V0QXR0cmlidXRlKCJpZCIsImZvcm1fIitxKTtDLnNldEF0dHJpYnV0ZSgibWV0aG9kIiwicG9zdCIpO0Muc2V0QXR0cmlidXRlKCJlbmN0eXBlIiwibXVsdGlwYXJ0L2Zvcm0tZGF0YSIpO0Muc2V0QXR0cmlidXRlKCJlbmNvZGluZyIsIm11bHRpcGFydC9mb3JtLWRhdGEiKTtDLnNldEF0dHJpYnV0ZSgidGFyZ2V0IixwLmlkKyJfaWZyYW1lIik7Qy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO0E9YS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO0Euc2V0QXR0cmlidXRlKCJpZCIsImlucHV0XyIrcSk7QS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJmaWxlIik7QS5zZXRBdHRyaWJ1dGUoImFjY2VwdCIsdCk7QS5zZXRBdHRyaWJ1dGUoInNpemUiLDEpO0I9ZShwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKHAuZmVhdHVyZXMudHJpZ2dlckRpYWxvZyYmQil7Yi5hZGRFdmVudChlKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbiksImNsaWNrIixmdW5jdGlvbihEKXtpZighQS5kaXNhYmxlZCl7QS5jbGljaygpfUQucHJldmVudERlZmF1bHQoKX0scC5pZCl9Yi5leHRlbmQoQS5zdHlsZSx7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3BhY2l0eTowLGZvbnRTaXplOiI5OXB4In0pO2IuZXh0ZW5kKEMuc3R5bGUse292ZXJmbG93OiJoaWRkZW4ifSk7eT1wLnNldHRpbmdzLnNoaW1fYmdjb2xvcjtpZih5KXtDLnN0eWxlLmJhY2tncm91bmQ9eX1pZihyKXtiLmV4dGVuZChBLnN0eWxlLHtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MCkifSl9Yi5hZGRFdmVudChBLCJjaGFuZ2UiLGZ1bmN0aW9uKEcpe3ZhciBFPUcudGFyZ2V0LEQsRj1bXSxIO2lmKEUudmFsdWUpe2UoImZvcm1fIitxKS5zdHlsZS50b3A9LTEwNDg1NzUrInB4IjtEPUUudmFsdWUucmVwbGFjZSgvXFwvZywiLyIpO0Q9RC5zdWJzdHJpbmcoRC5sZW5ndGgsRC5sYXN0SW5kZXhPZigiLyIpKzEpO0YucHVzaChuZXcgYi5GaWxlKHEsRCkpO2lmKCFwLmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2IucmVtb3ZlQWxsRXZlbnRzKEMscC5pZCl9ZWxzZXtiLnJlbW92ZUV2ZW50KEIsImNsaWNrIixwLmlkKX1iLnJlbW92ZUV2ZW50KEEsImNoYW5nZSIscC5pZCk7digpO2lmKEYubGVuZ3RoKXtmLnRyaWdnZXIoIkZpbGVzQWRkZWQiLEYpfX19LHAuaWQpO0MuYXBwZW5kQ2hpbGQoQSk7ai5hcHBlbmRDaGlsZChDKTtwLnJlZnJlc2goKX1mdW5jdGlvbiB1KCl7dmFyIHk9YS5jcmVhdGVFbGVtZW50KCJkaXYiKTt5LmlubmVySFRNTD0nPGlmcmFtZSBpZD0iJytwLmlkKydfaWZyYW1lIiBuYW1lPSInK3AuaWQrJ19pZnJhbWUiIHNyYz0iJytoKyc6JnF1b3Q7JnF1b3Q7IiBzdHlsZT0iZGlzcGxheTpub25lIj48L2lmcmFtZT4nO249eS5maXJzdENoaWxkO2ouYXBwZW5kQ2hpbGQobik7Yi5hZGRFdmVudChuLCJsb2FkIixmdW5jdGlvbihEKXt2YXIgRT1ELnRhcmdldCxDLEE7aWYoIWspe3JldHVybn10cnl7Qz1FLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnR8fEUuY29udGVudERvY3VtZW50fHxkLmZyYW1lc1tFLmlkXS5kb2N1bWVudH1jYXRjaChCKXtwLnRyaWdnZXIoIkVycm9yIix7Y29kZTpiLlNFQ1VSSVRZX0VSUk9SLG1lc3NhZ2U6Yi50cmFuc2xhdGUoIlNlY3VyaXR5IGVycm9yLiIpLGZpbGU6a30pO3JldHVybn1BPUMuYm9keS5pbm5lckhUTUw7aWYoQSl7ay5zdGF0dXM9Yi5ET05FO2subG9hZGVkPTEwMjU7ay5wZXJjZW50PTEwMDtwLnRyaWdnZXIoIlVwbG9hZFByb2dyZXNzIixrKTtwLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIsayx7cmVzcG9uc2U6QX0pfX0scC5pZCl9aWYocC5zZXR0aW5ncy5jb250YWluZXIpe2o9ZShwLnNldHRpbmdzLmNvbnRhaW5lcik7aWYoYi5nZXRTdHlsZShqLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpe2ouc3R5bGUucG9zaXRpb249InJlbGF0aXZlIn19cC5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbih5LEIpe3ZhciBDLEE7aWYoQi5zdGF0dXM9PWIuRE9ORXx8Qi5zdGF0dXM9PWIuRkFJTEVEfHx5LnN0YXRlPT1iLlNUT1BQRUQpe3JldHVybn1DPWUoImZvcm1fIitCLmlkKTtBPWUoImlucHV0XyIrQi5pZCk7QS5zZXRBdHRyaWJ1dGUoIm5hbWUiLHkuc2V0dGluZ3MuZmlsZV9kYXRhX25hbWUpO0Muc2V0QXR0cmlidXRlKCJhY3Rpb24iLHkuc2V0dGluZ3MudXJsKTtiLmVhY2goYi5leHRlbmQoe25hbWU6Qi50YXJnZXRfbmFtZXx8Qi5uYW1lfSx5LnNldHRpbmdzLm11bHRpcGFydF9wYXJhbXMpLGZ1bmN0aW9uKEYsRCl7dmFyIEU9YS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2IuZXh0ZW5kKEUse3R5cGU6ImhpZGRlbiIsbmFtZTpELHZhbHVlOkZ9KTtDLmluc2VydEJlZm9yZShFLEMuZmlyc3RDaGlsZCl9KTtrPUI7ZSgiZm9ybV8iK3EpLnN0eWxlLnRvcD0tMTA0ODU3NSsicHgiO0Muc3VibWl0KCk7Qy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEMpfSk7cC5iaW5kKCJGaWxlVXBsb2FkZWQiLGZ1bmN0aW9uKHkpe3kucmVmcmVzaCgpfSk7cC5iaW5kKCJTdGF0ZUNoYW5nZWQiLGZ1bmN0aW9uKHkpe2lmKHkuc3RhdGU9PWIuU1RBUlRFRCl7dSgpfWlmKHkuc3RhdGU9PWIuU1RPUFBFRCl7ZC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5yZW1vdmVFdmVudChuLCJsb2FkIix5LmlkKTtpZihuLnBhcmVudE5vZGUpe24ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX19LDApfX0pO3AuYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24oQSl7dmFyIEcsQixDLEQseSxILEksRixFO0c9ZShBLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO2lmKEcpe3k9Yi5nZXRQb3MoRyxlKEEuc2V0dGluZ3MuY29udGFpbmVyKSk7SD1iLmdldFNpemUoRyk7ST1lKCJmb3JtXyIrcSk7Rj1lKCJpbnB1dF8iK3EpO2IuZXh0ZW5kKEkuc3R5bGUse3RvcDp5LnkrInB4IixsZWZ0OnkueCsicHgiLHdpZHRoOkgudysicHgiLGhlaWdodDpILmgrInB4In0pO2lmKEEuZmVhdHVyZXMudHJpZ2dlckRpYWxvZyl7aWYoYi5nZXRTdHlsZShHLCJwb3NpdGlvbiIpPT09InN0YXRpYyIpe2IuZXh0ZW5kKEcuc3R5bGUse3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KX1FPXBhcnNlSW50KEcuc3R5bGUuekluZGV4LDEwKTtpZihpc05hTihFKSl7RT0wfWIuZXh0ZW5kKEcuc3R5bGUse3pJbmRleDpFfSk7Yi5leHRlbmQoSS5zdHlsZSx7ekluZGV4OkUtMX0pfUM9QS5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO0Q9QS5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2FjdGl2ZTtCPUEuZmVhdHVyZXMudHJpZ2dlckRpYWxvZz9HOkk7aWYoQyl7Yi5hZGRFdmVudChCLCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7Yi5hZGRDbGFzcyhHLEMpfSxBLmlkKTtiLmFkZEV2ZW50KEIsIm1vdXNlb3V0IixmdW5jdGlvbigpe2IucmVtb3ZlQ2xhc3MoRyxDKX0sQS5pZCl9aWYoRCl7Yi5hZGRFdmVudChCLCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7Yi5hZGRDbGFzcyhHLEQpfSxBLmlkKTtiLmFkZEV2ZW50KGEuYm9keSwibW91c2V1cCIsZnVuY3Rpb24oKXtiLnJlbW92ZUNsYXNzKEcsRCl9LEEuaWQpfX19KTtmLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24oeSxCKXt2YXIgQSxDO2ZvcihBPTA7QTxCLmxlbmd0aDtBKyspe0M9ZSgiZm9ybV8iK0JbQV0uaWQpO2lmKEMpe0MucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChDKX19fSk7Zi5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbih5LEIpe3ZhciBBPWEuZ2V0RWxlbWVudEJ5SWQoImlucHV0XyIrcSk7aWYoQSl7QS5kaXNhYmxlZD1CfX0pO2YuYmluZCgiRGVzdHJveSIsZnVuY3Rpb24oeSl7dmFyIEEsQixDLEQ9e2lucHV0Q29udGFpbmVyOiJmb3JtXyIrcSxpbnB1dEZpbGU6ImlucHV0XyIrcSxicm93c2VCdXR0b246eS5zZXR0aW5ncy5icm93c2VfYnV0dG9ufTtmb3IoQSBpbiBEKXtCPWUoRFtBXSk7aWYoQil7Yi5yZW1vdmVBbGxFdmVudHMoQix5LmlkKX19Yi5yZW1vdmVBbGxFdmVudHMoYS5ib2R5LHkuaWQpO2IuZWFjaCh6LGZ1bmN0aW9uKEYsRSl7Qz1lKCJmb3JtXyIrRik7aWYoQyl7ai5yZW1vdmVDaGlsZChDKX19KX0pO3YoKX0pO2coe3N1Y2Nlc3M6dHJ1ZX0pfX0pfSkod2luZG93LGRvY3VtZW50LHBsdXBsb2FkKTs=]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.gears.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKCl7aWYod2luZG93Lmdvb2dsZSYmZ29vZ2xlLmdlYXJzKXtyZXR1cm59dmFyIGE9bnVsbDtpZih0eXBlb2YgR2VhcnNGYWN0b3J5IT0idW5kZWZpbmVkIil7YT1uZXcgR2VhcnNGYWN0b3J5KCl9ZWxzZXt0cnl7YT1uZXcgQWN0aXZlWE9iamVjdCgiR2VhcnMuRmFjdG9yeSIpO2lmKGEuZ2V0QnVpbGRJbmZvKCkuaW5kZXhPZigiaWVfbW9iaWxlIikhPS0xKXthLnByaXZhdGVTZXRHbG9iYWxPYmplY3QodGhpcyl9fWNhdGNoKGIpe2lmKCh0eXBlb2YgbmF2aWdhdG9yLm1pbWVUeXBlcyE9InVuZGVmaW5lZCIpJiZuYXZpZ2F0b3IubWltZVR5cGVzWyJhcHBsaWNhdGlvbi94LWdvb2dsZWdlYXJzIl0pe2E9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0Iik7YS5zdHlsZS5kaXNwbGF5PSJub25lIjthLndpZHRoPTA7YS5oZWlnaHQ9MDthLnR5cGU9ImFwcGxpY2F0aW9uL3gtZ29vZ2xlZ2VhcnMiO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChhKX19fWlmKCFhKXtyZXR1cm59aWYoIXdpbmRvdy5nb29nbGUpe3dpbmRvdy5nb29nbGU9e319aWYoIWdvb2dsZS5nZWFycyl7Z29vZ2xlLmdlYXJzPXtmYWN0b3J5OmF9fX0pKCk7KGZ1bmN0aW9uKGUsYixjLGQpe3ZhciBmPXt9O2Z1bmN0aW9uIGEoaCxqLGwpe3ZhciBnLGksayxuO2k9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmNhbnZhcyIpO3RyeXtpLmRlY29kZShoKTtpZighai53aWR0aCl7ai53aWR0aD1pLndpZHRofWlmKCFqLmhlaWdodCl7ai5oZWlnaHQ9aS5oZWlnaHR9bj1NYXRoLm1pbih3aWR0aC9pLndpZHRoLGhlaWdodC9pLmhlaWdodCk7aWYobjwxfHwobj09PTEmJmw9PT0iaW1hZ2UvanBlZyIpKXtpLnJlc2l6ZShNYXRoLnJvdW5kKGkud2lkdGgqbiksTWF0aC5yb3VuZChpLmhlaWdodCpuKSk7aWYoai5xdWFsaXR5KXtyZXR1cm4gaS5lbmNvZGUobCx7cXVhbGl0eTpqLnF1YWxpdHkvMTAwfSl9cmV0dXJuIGkuZW5jb2RlKGwpfX1jYXRjaChtKXt9cmV0dXJuIGh9Yy5ydW50aW1lcy5HZWFycz1jLmFkZFJ1bnRpbWUoImdlYXJzIix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57ZHJhZ2Ryb3A6dHJ1ZSxqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihrLG0pe3ZhciBsLGgsZz1mYWxzZTtpZighZS5nb29nbGV8fCFnb29nbGUuZ2VhcnMpe3JldHVybiBtKHtzdWNjZXNzOmZhbHNlfSl9dHJ5e2w9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmRlc2t0b3AiKX1jYXRjaChqKXtyZXR1cm4gbSh7c3VjY2VzczpmYWxzZX0pfWZ1bmN0aW9uIGkocCl7dmFyIG8sbixxPVtdLHI7Zm9yKG49MDtuPHAubGVuZ3RoO24rKyl7bz1wW25dO3I9Yy5ndWlkKCk7ZltyXT1vLmJsb2I7cS5wdXNoKG5ldyBjLkZpbGUocixvLm5hbWUsby5ibG9iLmxlbmd0aCkpfWsudHJpZ2dlcigiRmlsZXNBZGRlZCIscSl9ay5iaW5kKCJQb3N0SW5pdCIsZnVuY3Rpb24oKXt2YXIgbz1rLnNldHRpbmdzLG49Yi5nZXRFbGVtZW50QnlJZChvLmRyb3BfZWxlbWVudCk7aWYobil7Yy5hZGRFdmVudChuLCJkcmFnb3ZlciIsZnVuY3Rpb24ocCl7bC5zZXREcm9wRWZmZWN0KHAsImNvcHkiKTtwLnByZXZlbnREZWZhdWx0KCl9LGsuaWQpO2MuYWRkRXZlbnQobiwiZHJvcCIsZnVuY3Rpb24ocSl7dmFyIHA9bC5nZXREcmFnRGF0YShxLCJhcHBsaWNhdGlvbi94LWdlYXJzLWZpbGVzIik7aWYocCl7aShwLmZpbGVzKX1xLnByZXZlbnREZWZhdWx0KCl9LGsuaWQpO249MH1jLmFkZEV2ZW50KGIuZ2V0RWxlbWVudEJ5SWQoby5icm93c2VfYnV0dG9uKSwiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciBzPVtdLHEscCxyO3QucHJldmVudERlZmF1bHQoKTtpZihnKXtyZXR1cm59bm9fdHlwZV9yZXN0cmljdGlvbjpmb3IocT0wO3E8by5maWx0ZXJzLmxlbmd0aDtxKyspe3I9by5maWx0ZXJzW3FdLmV4dGVuc2lvbnMuc3BsaXQoIiwiKTtmb3IocD0wO3A8ci5sZW5ndGg7cCsrKXtpZihyW3BdPT09IioiKXtzPVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259cy5wdXNoKCIuIityW3BdKX19bC5vcGVuRmlsZXMoaSx7c2luZ2xlRmlsZTohby5tdWx0aV9zZWxlY3Rpb24sZmlsdGVyOnN9KX0say5pZCl9KTtrLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtpZihoLmFib3J0KXtoLmFib3J0KCl9fSk7ay5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbih0LHEpe3ZhciB2PTAsdSxyLHM9MCxwPXQuc2V0dGluZ3MucmVzaXplLG47aWYocCYmL1wuKHBuZ3xqcGd8anBlZykkL2kudGVzdChxLm5hbWUpKXtmW3EuaWRdPWEoZltxLmlkXSxwLC9cLnBuZyQvaS50ZXN0KHEubmFtZSk/ImltYWdlL3BuZyI6ImltYWdlL2pwZWciKX1xLnNpemU9ZltxLmlkXS5sZW5ndGg7cj10LnNldHRpbmdzLmNodW5rX3NpemU7bj1yPjA7dT1NYXRoLmNlaWwocS5zaXplL3IpO2lmKCFuKXtyPXEuc2l6ZTt1PTF9ZnVuY3Rpb24gbygpe3ZhciBCLHg9dC5zZXR0aW5ncy5tdWx0aXBhcnQsdz0wLEE9e25hbWU6cS50YXJnZXRfbmFtZXx8cS5uYW1lfSx5PXQuc2V0dGluZ3MudXJsO2Z1bmN0aW9uIHooRCl7dmFyIEMsST0iLS0tLXBsdXBsb2FkYm91bmRhcnkiK2MuZ3VpZCgpLEY9Ii0tIixIPSJcclxuIixFLEc7aWYoeCl7aC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iK0kpO0M9Z29vZ2xlLmdlYXJzLmZhY3RvcnkuY3JlYXRlKCJiZXRhLmJsb2JidWlsZGVyIik7Yy5lYWNoKGMuZXh0ZW5kKEEsdC5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihLLEope0MuYXBwZW5kKEYrSStIKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IicrSisnIicrSCtIKTtDLmFwcGVuZChLK0gpfSk7Rz1jLm1pbWVUeXBlc1txLm5hbWUucmVwbGFjZSgvXi4rXC4oW14uXSspLywiJDEiKS50b0xvd2VyQ2FzZSgpXXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7Qy5hcHBlbmQoRitJK0grJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJyt0LnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKyciOyBmaWxlbmFtZT0iJytxLm5hbWUrJyInK0grIkNvbnRlbnQtVHlwZTogIitHK0grSCk7Qy5hcHBlbmQoRCk7Qy5hcHBlbmQoSCtGK0krRitIKTtFPUMuZ2V0QXNCbG9iKCk7dz1FLmxlbmd0aC1ELmxlbmd0aDtEPUV9aC5zZW5kKEQpfWlmKHEuc3RhdHVzPT1jLkRPTkV8fHEuc3RhdHVzPT1jLkZBSUxFRHx8dC5zdGF0ZT09Yy5TVE9QUEVEKXtyZXR1cm59aWYobil7QS5jaHVuaz12O0EuY2h1bmtzPXV9Qj1NYXRoLm1pbihyLHEuc2l6ZS0odipyKSk7aWYoIXgpe3k9Yy5idWlsZFVybCh0LnNldHRpbmdzLnVybCxBKX1oPWdvb2dsZS5nZWFycy5mYWN0b3J5LmNyZWF0ZSgiYmV0YS5odHRwcmVxdWVzdCIpO2gub3BlbigiUE9TVCIseSk7aWYoIXgpe2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1EaXNwb3NpdGlvbiIsJ2F0dGFjaG1lbnQ7IGZpbGVuYW1lPSInK3EubmFtZSsnIicpO2guc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIil9Yy5lYWNoKHQuc2V0dGluZ3MuaGVhZGVycyxmdW5jdGlvbihELEMpe2guc2V0UmVxdWVzdEhlYWRlcihDLEQpfSk7aC51cGxvYWQub25wcm9ncmVzcz1mdW5jdGlvbihDKXtxLmxvYWRlZD1zK0MubG9hZGVkLXc7dC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIscSl9O2gub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dmFyIEM7aWYoaC5yZWFkeVN0YXRlPT00JiZ0LnN0YXRlIT09Yy5TVE9QUEVEKXtpZihoLnN0YXR1cz09MjAwKXtDPXtjaHVuazp2LGNodW5rczp1LHJlc3BvbnNlOmgucmVzcG9uc2VUZXh0LHN0YXR1czpoLnN0YXR1c307dC50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIixxLEMpO2lmKEMuY2FuY2VsbGVkKXtxLnN0YXR1cz1jLkZBSUxFRDtyZXR1cm59cys9QjtpZigrK3Y+PXUpe3Euc3RhdHVzPWMuRE9ORTt0LnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIscSx7cmVzcG9uc2U6aC5yZXNwb25zZVRleHQsc3RhdHVzOmguc3RhdHVzfSl9ZWxzZXtvKCl9fWVsc2V7dC50cmlnZ2VyKCJFcnJvciIse2NvZGU6Yy5IVFRQX0VSUk9SLG1lc3NhZ2U6Yy50cmFuc2xhdGUoIkhUVFAgRXJyb3IuIiksZmlsZTpxLGNodW5rOnYsY2h1bmtzOnUsc3RhdHVzOmguc3RhdHVzfSl9fX07aWYodjx1KXt6KGZbcS5pZF0uc2xpY2UodipyLEIpKX19bygpfSk7ay5iaW5kKCJEaXNhYmxlQnJvd3NlIixmdW5jdGlvbihuLG8pe2c9b30pO2suYmluZCgiRGVzdHJveSIsZnVuY3Rpb24obil7dmFyIG8scCxxPXticm93c2VCdXR0b246bi5zZXR0aW5ncy5icm93c2VfYnV0dG9uLGRyb3BFbG06bi5zZXR0aW5ncy5kcm9wX2VsZW1lbnR9O2ZvcihvIGluIHEpe3A9Yi5nZXRFbGVtZW50QnlJZChxW29dKTtpZihwKXtjLnJlbW92ZUFsbEV2ZW50cyhwLG4uaWQpfX19KTttKHtzdWNjZXNzOnRydWV9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.html4.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGQsYSxiLGMpe2Z1bmN0aW9uIGUoZil7cmV0dXJuIGEuZ2V0RWxlbWVudEJ5SWQoZil9Yi5ydW50aW1lcy5IdG1sND1iLmFkZFJ1bnRpbWUoImh0bWw0Iix7Z2V0RmVhdHVyZXM6ZnVuY3Rpb24oKXtyZXR1cm57bXVsdGlwYXJ0OnRydWUsdHJpZ2dlckRpYWxvZzooYi51YS5nZWNrbyYmZC5Gb3JtRGF0YXx8Yi51YS53ZWJraXQpfX0saW5pdDpmdW5jdGlvbihmLGcpe2YuYmluZCgiSW5pdCIsZnVuY3Rpb24ocCl7dmFyIGo9YS5ib2R5LG4saD0iamF2YXNjcmlwdCIsayx4LHEsej1bXSxyPS9NU0lFLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHQ9W10sbT1wLnNldHRpbmdzLmZpbHRlcnMsbyxsLHMsdztub190eXBlX3Jlc3RyaWN0aW9uOmZvcihvPTA7bzxtLmxlbmd0aDtvKyspe2w9bVtvXS5leHRlbnNpb25zLnNwbGl0KC8sLyk7Zm9yKHc9MDt3PGwubGVuZ3RoO3crKyl7aWYobFt3XT09PSIqIil7dD1bXTticmVhayBub190eXBlX3Jlc3RyaWN0aW9ufXM9Yi5taW1lVHlwZXNbbFt3XV07aWYocyYmYi5pbkFycmF5KHMsdCk9PT0tMSl7dC5wdXNoKHMpfX19dD10LmpvaW4oIiwiKTtmdW5jdGlvbiB2KCl7dmFyIEIseSxpLEE7cT1iLmd1aWQoKTt6LnB1c2gocSk7Qj1hLmNyZWF0ZUVsZW1lbnQoImZvcm0iKTtCLnNldEF0dHJpYnV0ZSgiaWQiLCJmb3JtXyIrcSk7Qi5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsInBvc3QiKTtCLnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsIm11bHRpcGFydC9mb3JtLWRhdGEiKTtCLnNldEF0dHJpYnV0ZSgiZW5jb2RpbmciLCJtdWx0aXBhcnQvZm9ybS1kYXRhIik7Qi5zZXRBdHRyaWJ1dGUoInRhcmdldCIscC5pZCsiX2lmcmFtZSIpO0Iuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjt5PWEuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt5LnNldEF0dHJpYnV0ZSgiaWQiLCJpbnB1dF8iK3EpO3kuc2V0QXR0cmlidXRlKCJ0eXBlIiwiZmlsZSIpO3kuc2V0QXR0cmlidXRlKCJhY2NlcHQiLHQpO3kuc2V0QXR0cmlidXRlKCJzaXplIiwxKTtBPWUocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZihwLmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cmJkEpe2IuYWRkRXZlbnQoZShwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pLCJjbGljayIsZnVuY3Rpb24oQyl7aWYoIXkuZGlzYWJsZWQpe3kuY2xpY2soKX1DLnByZXZlbnREZWZhdWx0KCl9LHAuaWQpfWIuZXh0ZW5kKHkuc3R5bGUse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG9wYWNpdHk6MCxmb250U2l6ZToiOTlweCJ9KTtiLmV4dGVuZChCLnN0eWxlLHtvdmVyZmxvdzoiaGlkZGVuIn0pO2k9cC5zZXR0aW5ncy5zaGltX2JnY29sb3I7aWYoaSl7Qi5zdHlsZS5iYWNrZ3JvdW5kPWl9aWYocil7Yi5leHRlbmQoeS5zdHlsZSx7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTApIn0pfWIuYWRkRXZlbnQoeSwiY2hhbmdlIixmdW5jdGlvbihGKXt2YXIgRD1GLnRhcmdldCxDLEU9W10sRztpZihELnZhbHVlKXtlKCJmb3JtXyIrcSkuc3R5bGUudG9wPS0xMDQ4NTc1KyJweCI7Qz1ELnZhbHVlLnJlcGxhY2UoL1xcL2csIi8iKTtDPUMuc3Vic3RyaW5nKEMubGVuZ3RoLEMubGFzdEluZGV4T2YoIi8iKSsxKTtFLnB1c2gobmV3IGIuRmlsZShxLEMpKTtpZighcC5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtiLnJlbW92ZUFsbEV2ZW50cyhCLHAuaWQpfWVsc2V7Yi5yZW1vdmVFdmVudChBLCJjbGljayIscC5pZCl9Yi5yZW1vdmVFdmVudCh5LCJjaGFuZ2UiLHAuaWQpO3YoKTtpZihFLmxlbmd0aCl7Zi50cmlnZ2VyKCJGaWxlc0FkZGVkIixFKX19fSxwLmlkKTtCLmFwcGVuZENoaWxkKHkpO2ouYXBwZW5kQ2hpbGQoQik7cC5yZWZyZXNoKCl9ZnVuY3Rpb24gdSgpe3ZhciBpPWEuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5pbm5lckhUTUw9JzxpZnJhbWUgaWQ9IicrcC5pZCsnX2lmcmFtZSIgbmFtZT0iJytwLmlkKydfaWZyYW1lIiBzcmM9IicraCsnOiZxdW90OyZxdW90OyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+JztuPWkuZmlyc3RDaGlsZDtqLmFwcGVuZENoaWxkKG4pO2IuYWRkRXZlbnQobiwibG9hZCIsZnVuY3Rpb24oQyl7dmFyIEQ9Qy50YXJnZXQsQix5O2lmKCFrKXtyZXR1cm59dHJ5e0I9RC5jb250ZW50V2luZG93LmRvY3VtZW50fHxELmNvbnRlbnREb2N1bWVudHx8ZC5mcmFtZXNbRC5pZF0uZG9jdW1lbnR9Y2F0Y2goQSl7cC50cmlnZ2VyKCJFcnJvciIse2NvZGU6Yi5TRUNVUklUWV9FUlJPUixtZXNzYWdlOmIudHJhbnNsYXRlKCJTZWN1cml0eSBlcnJvci4iKSxmaWxlOmt9KTtyZXR1cm59eT1CLmJvZHkuaW5uZXJIVE1MO2lmKHkpe2suc3RhdHVzPWIuRE9ORTtrLmxvYWRlZD0xMDI1O2sucGVyY2VudD0xMDA7cC50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsayk7cC50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLGsse3Jlc3BvbnNlOnl9KX19LHAuaWQpfWlmKHAuc2V0dGluZ3MuY29udGFpbmVyKXtqPWUocC5zZXR0aW5ncy5jb250YWluZXIpO2lmKGIuZ2V0U3R5bGUoaiwicG9zaXRpb24iKT09PSJzdGF0aWMiKXtqLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSJ9fXAuYmluZCgiVXBsb2FkRmlsZSIsZnVuY3Rpb24oaSxBKXt2YXIgQix5O2lmKEEuc3RhdHVzPT1iLkRPTkV8fEEuc3RhdHVzPT1iLkZBSUxFRHx8aS5zdGF0ZT09Yi5TVE9QUEVEKXtyZXR1cm59Qj1lKCJmb3JtXyIrQS5pZCk7eT1lKCJpbnB1dF8iK0EuaWQpO3kuc2V0QXR0cmlidXRlKCJuYW1lIixpLnNldHRpbmdzLmZpbGVfZGF0YV9uYW1lKTtCLnNldEF0dHJpYnV0ZSgiYWN0aW9uIixpLnNldHRpbmdzLnVybCk7Yi5lYWNoKGIuZXh0ZW5kKHtuYW1lOkEudGFyZ2V0X25hbWV8fEEubmFtZX0saS5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihFLEMpe3ZhciBEPWEuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtiLmV4dGVuZChELHt0eXBlOiJoaWRkZW4iLG5hbWU6Qyx2YWx1ZTpFfSk7Qi5pbnNlcnRCZWZvcmUoRCxCLmZpcnN0Q2hpbGQpfSk7az1BO2UoImZvcm1fIitxKS5zdHlsZS50b3A9LTEwNDg1NzUrInB4IjtCLnN1Ym1pdCgpO0IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChCKX0pO3AuYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihpKXtpLnJlZnJlc2goKX0pO3AuYmluZCgiU3RhdGVDaGFuZ2VkIixmdW5jdGlvbihpKXtpZihpLnN0YXRlPT1iLlNUQVJURUQpe3UoKX1pZihpLnN0YXRlPT1iLlNUT1BQRUQpe2Quc2V0VGltZW91dChmdW5jdGlvbigpe2IucmVtb3ZlRXZlbnQobiwibG9hZCIsaS5pZCk7aWYobi5wYXJlbnROb2RlKXtuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9fSwwKX19KTtwLmJpbmQoIlJlZnJlc2giLGZ1bmN0aW9uKHkpe3ZhciBGLEEsQixDLGksRyxILEUsRDtGPWUoeS5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZihGKXtpPWIuZ2V0UG9zKEYsZSh5LnNldHRpbmdzLmNvbnRhaW5lcikpO0c9Yi5nZXRTaXplKEYpO0g9ZSgiZm9ybV8iK3EpO0U9ZSgiaW5wdXRfIitxKTtiLmV4dGVuZChILnN0eWxlLHt0b3A6aS55KyJweCIsbGVmdDppLngrInB4Iix3aWR0aDpHLncrInB4IixoZWlnaHQ6Ry5oKyJweCJ9KTtpZih5LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2cpe2lmKGIuZ2V0U3R5bGUoRiwicG9zaXRpb24iKT09PSJzdGF0aWMiKXtiLmV4dGVuZChGLnN0eWxlLHtwb3NpdGlvbjoicmVsYXRpdmUifSl9RD1wYXJzZUludChGLnN0eWxlLnpJbmRleCwxMCk7aWYoaXNOYU4oRCkpe0Q9MH1iLmV4dGVuZChGLnN0eWxlLHt6SW5kZXg6RH0pO2IuZXh0ZW5kKEguc3R5bGUse3pJbmRleDpELTF9KX1CPXkuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcjtDPXkuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9hY3RpdmU7QT15LmZlYXR1cmVzLnRyaWdnZXJEaWFsb2c/RjpIO2lmKEIpe2IuYWRkRXZlbnQoQSwibW91c2VvdmVyIixmdW5jdGlvbigpe2IuYWRkQ2xhc3MoRixCKX0seS5pZCk7Yi5hZGRFdmVudChBLCJtb3VzZW91dCIsZnVuY3Rpb24oKXtiLnJlbW92ZUNsYXNzKEYsQil9LHkuaWQpfWlmKEMpe2IuYWRkRXZlbnQoQSwibW91c2Vkb3duIixmdW5jdGlvbigpe2IuYWRkQ2xhc3MoRixDKX0seS5pZCk7Yi5hZGRFdmVudChhLmJvZHksIm1vdXNldXAiLGZ1bmN0aW9uKCl7Yi5yZW1vdmVDbGFzcyhGLEMpfSx5LmlkKX19fSk7Zi5iaW5kKCJGaWxlc1JlbW92ZWQiLGZ1bmN0aW9uKHksQil7dmFyIEEsQztmb3IoQT0wO0E8Qi5sZW5ndGg7QSsrKXtDPWUoImZvcm1fIitCW0FdLmlkKTtpZihDKXtDLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoQyl9fX0pO2YuYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24oaSxBKXt2YXIgeT1hLmdldEVsZW1lbnRCeUlkKCJpbnB1dF8iK3EpO2lmKHkpe3kuZGlzYWJsZWQ9QX19KTtmLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKGkpe3ZhciB5LEEsQixDPXtpbnB1dENvbnRhaW5lcjoiZm9ybV8iK3EsaW5wdXRGaWxlOiJpbnB1dF8iK3EsYnJvd3NlQnV0dG9uOmkuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbn07Zm9yKHkgaW4gQyl7QT1lKENbeV0pO2lmKEEpe2IucmVtb3ZlQWxsRXZlbnRzKEEsaS5pZCl9fWIucmVtb3ZlQWxsRXZlbnRzKGEuYm9keSxpLmlkKTtiLmVhY2goeixmdW5jdGlvbihFLEQpe0I9ZSgiZm9ybV8iK0UpO2lmKEIpe2oucmVtb3ZlQ2hpbGQoQil9fSl9KTt2KCl9KTtnKHtzdWNjZXNzOnRydWV9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.html5.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGgsayxqLGUpe3ZhciBjPXt9LGc7ZnVuY3Rpb24gbShvLHApe3ZhciBuO2lmKCJGaWxlUmVhZGVyIiBpbiBoKXtuPW5ldyBGaWxlUmVhZGVyKCk7bi5yZWFkQXNEYXRhVVJMKG8pO24ub25sb2FkPWZ1bmN0aW9uKCl7cChuLnJlc3VsdCl9fWVsc2V7cmV0dXJuIHAoby5nZXRBc0RhdGFVUkwoKSl9fWZ1bmN0aW9uIGwobyxwKXt2YXIgbjtpZigiRmlsZVJlYWRlciIgaW4gaCl7bj1uZXcgRmlsZVJlYWRlcigpO24ucmVhZEFzQmluYXJ5U3RyaW5nKG8pO24ub25sb2FkPWZ1bmN0aW9uKCl7cChuLnJlc3VsdCl9fWVsc2V7cmV0dXJuIHAoby5nZXRBc0JpbmFyeSgpKX19ZnVuY3Rpb24gZChyLHAsbix2KXt2YXIgcSxvLHUscyx0PXRoaXM7bShjW3IuaWRdLGZ1bmN0aW9uKHcpe3E9ay5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtxLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2suYm9keS5hcHBlbmRDaGlsZChxKTtvPXEuZ2V0Q29udGV4dCgiMmQiKTt1PW5ldyBJbWFnZSgpO3Uub25lcnJvcj11Lm9uYWJvcnQ9ZnVuY3Rpb24oKXt2KHtzdWNjZXNzOmZhbHNlfSl9O3Uub25sb2FkPWZ1bmN0aW9uKCl7dmFyIEIseCx6LHksQTtpZighcC53aWR0aCl7cC53aWR0aD11LndpZHRofWlmKCFwLmhlaWdodCl7cC5oZWlnaHQ9dS5oZWlnaHR9cz1NYXRoLm1pbihwLndpZHRoL3Uud2lkdGgscC5oZWlnaHQvdS5oZWlnaHQpO2lmKHM8MXx8KHM9PT0xJiZuPT09ImltYWdlL2pwZWciKSl7Qj1NYXRoLnJvdW5kKHUud2lkdGgqcyk7eD1NYXRoLnJvdW5kKHUuaGVpZ2h0KnMpO3Eud2lkdGg9QjtxLmhlaWdodD14O28uZHJhd0ltYWdlKHUsMCwwLEIseCk7aWYobj09PSJpbWFnZS9qcGVnIil7eT1uZXcgZihhdG9iKHcuc3Vic3RyaW5nKHcuaW5kZXhPZigiYmFzZTY0LCIpKzcpKSk7aWYoeS5oZWFkZXJzJiZ5LmhlYWRlcnMubGVuZ3RoKXtBPW5ldyBhKCk7aWYoQS5pbml0KHkuZ2V0KCJleGlmIilbMF0pKXtBLnNldEV4aWYoIlBpeGVsWERpbWVuc2lvbiIsQik7QS5zZXRFeGlmKCJQaXhlbFlEaW1lbnNpb24iLHgpO3kuc2V0KCJleGlmIixBLmdldEJpbmFyeSgpKTtpZih0Lmhhc0V2ZW50TGlzdGVuZXIoIkV4aWZEYXRhIikpe3QudHJpZ2dlcigiRXhpZkRhdGEiLHIsQS5FWElGKCkpfWlmKHQuaGFzRXZlbnRMaXN0ZW5lcigiR3BzRGF0YSIpKXt0LnRyaWdnZXIoIkdwc0RhdGEiLHIsQS5HUFMoKSl9fX1pZihwLnF1YWxpdHkpe3RyeXt3PXEudG9EYXRhVVJMKG4scC5xdWFsaXR5LzEwMCl9Y2F0Y2goQyl7dz1xLnRvRGF0YVVSTChuKX19fWVsc2V7dz1xLnRvRGF0YVVSTChuKX13PXcuc3Vic3RyaW5nKHcuaW5kZXhPZigiYmFzZTY0LCIpKzcpO3c9YXRvYih3KTtpZih5JiZ5LmhlYWRlcnMmJnkuaGVhZGVycy5sZW5ndGgpe3c9eS5yZXN0b3JlKHcpO3kucHVyZ2UoKX1xLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocSk7dih7c3VjY2Vzczp0cnVlLGRhdGE6d30pfWVsc2V7dih7c3VjY2VzczpmYWxzZX0pfX07dS5zcmM9d30pfWoucnVudGltZXMuSHRtbDU9ai5hZGRSdW50aW1lKCJodG1sNSIse2dldEZlYXR1cmVzOmZ1bmN0aW9uKCl7dmFyIHMsbyxyLHEscCxuO289cj1wPW49ZmFsc2U7aWYoaC5YTUxIdHRwUmVxdWVzdCl7cz1uZXcgWE1MSHR0cFJlcXVlc3QoKTtyPSEhcy51cGxvYWQ7bz0hIShzLnNlbmRBc0JpbmFyeXx8cy51cGxvYWQpfWlmKG8pe3E9ISEocy5zZW5kQXNCaW5hcnl8fChoLlVpbnQ4QXJyYXkmJmguQXJyYXlCdWZmZXIpKTtwPSEhKEZpbGUmJihGaWxlLnByb3RvdHlwZS5nZXRBc0RhdGFVUkx8fGguRmlsZVJlYWRlcikmJnEpO249ISEoRmlsZSYmKEZpbGUucHJvdG90eXBlLm1velNsaWNlfHxGaWxlLnByb3RvdHlwZS53ZWJraXRTbGljZXx8RmlsZS5wcm90b3R5cGUuc2xpY2UpKX1nPWoudWEuc2FmYXJpJiZqLnVhLndpbmRvd3M7cmV0dXJue2h0bWw1Om8sZHJhZ2Ryb3A6KGZ1bmN0aW9uKCl7dmFyIHQ9ay5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4oImRyYWdnYWJsZSIgaW4gdCl8fCgib25kcmFnc3RhcnQiIGluIHQmJiJvbmRyb3AiIGluIHQpfSgpKSxqcGdyZXNpemU6cCxwbmdyZXNpemU6cCxtdWx0aXBhcnQ6cHx8ISFoLkZpbGVSZWFkZXJ8fCEhaC5Gb3JtRGF0YSxjYW5TZW5kQmluYXJ5OnEsY2FudFNlbmRCbG9iSW5Gb3JtRGF0YTohIShqLnVhLmdlY2tvJiZoLkZvcm1EYXRhJiZoLkZpbGVSZWFkZXImJiFGaWxlUmVhZGVyLnByb3RvdHlwZS5yZWFkQXNBcnJheUJ1ZmZlcikscHJvZ3Jlc3M6cixjaHVua3M6bixtdWx0aV9zZWxlY3Rpb246IShqLnVhLnNhZmFyaSYmai51YS53aW5kb3dzKSx0cmlnZ2VyRGlhbG9nOihqLnVhLmdlY2tvJiZoLkZvcm1EYXRhfHxqLnVhLndlYmtpdCl9fSxpbml0OmZ1bmN0aW9uKHAscil7dmFyIG4scTtmdW5jdGlvbiBvKHcpe3ZhciB1LHQsdj1bXSx4LHM9e307Zm9yKHQ9MDt0PHcubGVuZ3RoO3QrKyl7dT13W3RdO2lmKHNbdS5uYW1lXSl7Y29udGludWV9c1t1Lm5hbWVdPXRydWU7eD1qLmd1aWQoKTtjW3hdPXU7di5wdXNoKG5ldyBqLkZpbGUoeCx1LmZpbGVOYW1lfHx1Lm5hbWUsdS5maWxlU2l6ZXx8dS5zaXplKSl9aWYodi5sZW5ndGgpe3AudHJpZ2dlcigiRmlsZXNBZGRlZCIsdil9fW49dGhpcy5nZXRGZWF0dXJlcygpO2lmKCFuLmh0bWw1KXtyKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufXAuYmluZCgiSW5pdCIsZnVuY3Rpb24odyl7dmFyIEcsRixDPVtdLHYsRCx0PXcuc2V0dGluZ3MuZmlsdGVycyx1LEIscz1rLmJvZHksRTtHPWsuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ry5pZD13LmlkKyJfaHRtbDVfY29udGFpbmVyIjtqLmV4dGVuZChHLnN0eWxlLHtwb3NpdGlvbjoiYWJzb2x1dGUiLGJhY2tncm91bmQ6cC5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsd2lkdGg6IjEwMHB4IixoZWlnaHQ6IjEwMHB4IixvdmVyZmxvdzoiaGlkZGVuIix6SW5kZXg6OTk5OTksb3BhY2l0eTpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcj8iIjowfSk7Ry5jbGFzc05hbWU9InBsdXBsb2FkIGh0bWw1IjtpZihwLnNldHRpbmdzLmNvbnRhaW5lcil7cz1rLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuY29udGFpbmVyKTtpZihqLmdldFN0eWxlKHMsInBvc2l0aW9uIik9PT0ic3RhdGljIil7cy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1zLmFwcGVuZENoaWxkKEcpO25vX3R5cGVfcmVzdHJpY3Rpb246Zm9yKHY9MDt2PHQubGVuZ3RoO3YrKyl7dT10W3ZdLmV4dGVuc2lvbnMuc3BsaXQoLywvKTtmb3IoRD0wO0Q8dS5sZW5ndGg7RCsrKXtpZih1W0RdPT09IioiKXtDPVtdO2JyZWFrIG5vX3R5cGVfcmVzdHJpY3Rpb259Qj1qLm1pbWVUeXBlc1t1W0RdXTtpZihCJiZqLmluQXJyYXkoQixDKT09PS0xKXtDLnB1c2goQil9fX1HLmlubmVySFRNTD0nPGlucHV0IGlkPSInK3AuaWQrJ19odG1sNSIgIHN0eWxlPSJmb250LXNpemU6OTk5cHgiIHR5cGU9ImZpbGUiIGFjY2VwdD0iJytDLmpvaW4oIiwiKSsnIiAnKyhwLnNldHRpbmdzLm11bHRpX3NlbGVjdGlvbiYmcC5mZWF0dXJlcy5tdWx0aV9zZWxlY3Rpb24/J211bHRpcGxlPSJtdWx0aXBsZSInOiIiKSsiIC8+IjtHLnNjcm9sbFRvcD0xMDA7RT1rLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9odG1sNSIpO2lmKHcuZmVhdHVyZXMudHJpZ2dlckRpYWxvZyl7ai5leHRlbmQoRS5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn0pfWVsc2V7ai5leHRlbmQoRS5zdHlsZSx7Y3NzRmxvYXQ6InJpZ2h0IixzdHlsZUZsb2F0OiJyaWdodCJ9KX1FLm9uY2hhbmdlPWZ1bmN0aW9uKCl7byh0aGlzLmZpbGVzKTt0aGlzLnZhbHVlPSIifTtGPWsuZ2V0RWxlbWVudEJ5SWQody5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZihGKXt2YXIgej13LnNldHRpbmdzLmJyb3dzZV9idXR0b25faG92ZXIsQT13LnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlLHg9dy5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nP0Y6RztpZih6KXtqLmFkZEV2ZW50KHgsIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXtqLmFkZENsYXNzKEYseil9LHcuaWQpO2ouYWRkRXZlbnQoeCwibW91c2VvdXQiLGZ1bmN0aW9uKCl7ai5yZW1vdmVDbGFzcyhGLHopfSx3LmlkKX1pZihBKXtqLmFkZEV2ZW50KHgsIm1vdXNlZG93biIsZnVuY3Rpb24oKXtqLmFkZENsYXNzKEYsQSl9LHcuaWQpO2ouYWRkRXZlbnQoay5ib2R5LCJtb3VzZXVwIixmdW5jdGlvbigpe2oucmVtb3ZlQ2xhc3MoRixBKX0sdy5pZCl9aWYody5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtqLmFkZEV2ZW50KEYsImNsaWNrIixmdW5jdGlvbihIKXt2YXIgeT1rLmdldEVsZW1lbnRCeUlkKHcuaWQrIl9odG1sNSIpO2lmKHkmJiF5LmRpc2FibGVkKXt5LmNsaWNrKCl9SC5wcmV2ZW50RGVmYXVsdCgpfSx3LmlkKX19fSk7cC5iaW5kKCJQb3N0SW5pdCIsZnVuY3Rpb24oKXt2YXIgcz1rLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuZHJvcF9lbGVtZW50KTtpZihzKXtpZihnKXtqLmFkZEV2ZW50KHMsImRyYWdlbnRlciIsZnVuY3Rpb24odyl7dmFyIHYsdCx1O3Y9ay5nZXRFbGVtZW50QnlJZChwLmlkKyJfZHJvcCIpO2lmKCF2KXt2PWsuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt2LnNldEF0dHJpYnV0ZSgidHlwZSIsImZpbGUiKTt2LnNldEF0dHJpYnV0ZSgiaWQiLHAuaWQrIl9kcm9wIik7di5zZXRBdHRyaWJ1dGUoIm11bHRpcGxlIiwibXVsdGlwbGUiKTtqLmFkZEV2ZW50KHYsImNoYW5nZSIsZnVuY3Rpb24oKXtvKHRoaXMuZmlsZXMpO2oucmVtb3ZlRXZlbnQodiwiY2hhbmdlIixwLmlkKTt2LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodil9LHAuaWQpO3MuYXBwZW5kQ2hpbGQodil9dD1qLmdldFBvcyhzLGsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5jb250YWluZXIpKTt1PWouZ2V0U2l6ZShzKTtpZihqLmdldFN0eWxlKHMsInBvc2l0aW9uIik9PT0ic3RhdGljIil7ai5leHRlbmQocy5zdHlsZSx7cG9zaXRpb246InJlbGF0aXZlIn0pfWouZXh0ZW5kKHYuc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDowLGxlZnQ6MCx3aWR0aDp1LncrInB4IixoZWlnaHQ6dS5oKyJweCIsb3BhY2l0eTowfSl9LHAuaWQpO3JldHVybn1qLmFkZEV2ZW50KHMsImRyYWdvdmVyIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9LHAuaWQpO2ouYWRkRXZlbnQocywiZHJvcCIsZnVuY3Rpb24odSl7dmFyIHQ9dS5kYXRhVHJhbnNmZXI7aWYodCYmdC5maWxlcyl7byh0LmZpbGVzKX11LnByZXZlbnREZWZhdWx0KCl9LHAuaWQpfX0pO3AuYmluZCgiUmVmcmVzaCIsZnVuY3Rpb24ocyl7dmFyIHQsdSx2LHgsdzt0PWsuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTtpZih0KXt1PWouZ2V0UG9zKHQsay5nZXRFbGVtZW50QnlJZChzLnNldHRpbmdzLmNvbnRhaW5lcikpO3Y9ai5nZXRTaXplKHQpO3g9ay5nZXRFbGVtZW50QnlJZChwLmlkKyJfaHRtbDVfY29udGFpbmVyIik7ai5leHRlbmQoeC5zdHlsZSx7dG9wOnUueSsicHgiLGxlZnQ6dS54KyJweCIsd2lkdGg6di53KyJweCIsaGVpZ2h0OnYuaCsicHgifSk7aWYocC5mZWF0dXJlcy50cmlnZ2VyRGlhbG9nKXtpZihqLmdldFN0eWxlKHQsInBvc2l0aW9uIik9PT0ic3RhdGljIil7ai5leHRlbmQodC5zdHlsZSx7cG9zaXRpb246InJlbGF0aXZlIn0pfXc9cGFyc2VJbnQoai5nZXRTdHlsZSh0LCJ6LWluZGV4IiksMTApO2lmKGlzTmFOKHcpKXt3PTB9ai5leHRlbmQodC5zdHlsZSx7ekluZGV4Ond9KTtqLmV4dGVuZCh4LnN0eWxlLHt6SW5kZXg6dy0xfSl9fX0pO3AuYmluZCgiRGlzYWJsZUJyb3dzZSIsZnVuY3Rpb24ocyx1KXt2YXIgdD1rLmdldEVsZW1lbnRCeUlkKHMuaWQrIl9odG1sNSIpO2lmKHQpe3QuZGlzYWJsZWQ9dX19KTtwLmJpbmQoIkNhbmNlbFVwbG9hZCIsZnVuY3Rpb24oKXtpZihxLmFib3J0KXtxLmFib3J0KCl9fSk7cC5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihzLHUpe3ZhciB2PXMuc2V0dGluZ3MseSx0O2Z1bmN0aW9uIHgoQSxELHope3ZhciBCO2lmKEZpbGUucHJvdG90eXBlLnNsaWNlKXt0cnl7QS5zbGljZSgpO3JldHVybiBBLnNsaWNlKEQseil9Y2F0Y2goQyl7cmV0dXJuIEEuc2xpY2UoRCx6LUQpfX1lbHNle2lmKEI9RmlsZS5wcm90b3R5cGUud2Via2l0U2xpY2V8fEZpbGUucHJvdG90eXBlLm1velNsaWNlKXtyZXR1cm4gQi5jYWxsKEEsRCx6KX1lbHNle3JldHVybiBudWxsfX19ZnVuY3Rpb24gdyhBKXt2YXIgRD0wLEM9MCx6PSgiRmlsZVJlYWRlciIgaW4gaCk/bmV3IEZpbGVSZWFkZXI6bnVsbDtmdW5jdGlvbiBCKCl7dmFyIEksTSxLLEwsSCxKLEYsRT1zLnNldHRpbmdzLnVybDtmdW5jdGlvbiBHKFYpe3ZhciBUPTAsTj0iLS0tLXBsdXBsb2FkYm91bmRhcnkiK2ouZ3VpZCgpLE8sUD0iLS0iLFU9IlxyXG4iLFI9IiI7cT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYocS51cGxvYWQpe3EudXBsb2FkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oVyl7dS5sb2FkZWQ9TWF0aC5taW4odS5zaXplLEMrVy5sb2FkZWQtVCk7cy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdSl9fXEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dmFyIFcsWTtpZihxLnJlYWR5U3RhdGU9PTQmJnMuc3RhdGUhPT1qLlNUT1BQRUQpe3RyeXtXPXEuc3RhdHVzfWNhdGNoKFgpe1c9MH1pZihXPj00MDApe3MudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmouSFRUUF9FUlJPUixtZXNzYWdlOmoudHJhbnNsYXRlKCJIVFRQIEVycm9yLiIpLGZpbGU6dSxzdGF0dXM6V30pfWVsc2V7aWYoSyl7WT17Y2h1bms6RCxjaHVua3M6SyxyZXNwb25zZTpxLnJlc3BvbnNlVGV4dCxzdGF0dXM6V307cy50cmlnZ2VyKCJDaHVua1VwbG9hZGVkIix1LFkpO0MrPUo7aWYoWS5jYW5jZWxsZWQpe3Uuc3RhdHVzPWouRkFJTEVEO3JldHVybn11LmxvYWRlZD1NYXRoLm1pbih1LnNpemUsKEQrMSkqSCl9ZWxzZXt1LmxvYWRlZD11LnNpemV9cy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdSk7Vj1JPU89Uj1udWxsO2lmKCFLfHwrK0Q+PUspe3Uuc3RhdHVzPWouRE9ORTtzLnRyaWdnZXIoIkZpbGVVcGxvYWRlZCIsdSx7cmVzcG9uc2U6cS5yZXNwb25zZVRleHQsc3RhdHVzOld9KX1lbHNle0IoKX19fX07aWYocy5zZXR0aW5ncy5tdWx0aXBhcnQmJm4ubXVsdGlwYXJ0KXtMLm5hbWU9dS50YXJnZXRfbmFtZXx8dS5uYW1lO3Eub3BlbigicG9zdCIsRSx0cnVlKTtqLmVhY2gocy5zZXR0aW5ncy5oZWFkZXJzLGZ1bmN0aW9uKFgsVyl7cS5zZXRSZXF1ZXN0SGVhZGVyKFcsWCl9KTtpZih0eXBlb2YoVikhPT0ic3RyaW5nIiYmISFoLkZvcm1EYXRhKXtPPW5ldyBGb3JtRGF0YSgpO2ouZWFjaChqLmV4dGVuZChMLHMuc2V0dGluZ3MubXVsdGlwYXJ0X3BhcmFtcyksZnVuY3Rpb24oWCxXKXtPLmFwcGVuZChXLFgpfSk7Ty5hcHBlbmQocy5zZXR0aW5ncy5maWxlX2RhdGFfbmFtZSxWKTtxLnNlbmQoTyk7cmV0dXJufWlmKHR5cGVvZihWKT09PSJzdHJpbmciKXtxLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsIm11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSIrTik7ai5lYWNoKGouZXh0ZW5kKEwscy5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSxmdW5jdGlvbihYLFcpe1IrPVArTitVKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IicrVysnIicrVStVO1IrPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChYKSkrVX0pO0Y9ai5taW1lVHlwZXNbdS5uYW1lLnJlcGxhY2UoL14uK1wuKFteLl0rKS8sIiQxIikudG9Mb3dlckNhc2UoKV18fCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iO1IrPVArTitVKydDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9Iicrcy5zZXR0aW5ncy5maWxlX2RhdGFfbmFtZSsnIjsgZmlsZW5hbWU9IicrdW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHUubmFtZSkpKyciJytVKyJDb250ZW50LVR5cGU6ICIrRitVK1UrVitVK1ArTitQK1U7VD1SLmxlbmd0aC1WLmxlbmd0aDtWPVI7aWYocS5zZW5kQXNCaW5hcnkpe3Euc2VuZEFzQmluYXJ5KFYpfWVsc2V7aWYobi5jYW5TZW5kQmluYXJ5KXt2YXIgUz1uZXcgVWludDhBcnJheShWLmxlbmd0aCk7Zm9yKHZhciBRPTA7UTxWLmxlbmd0aDtRKyspe1NbUV09KFYuY2hhckNvZGVBdChRKSYyNTUpfXEuc2VuZChTLmJ1ZmZlcil9fXJldHVybn19RT1qLmJ1aWxkVXJsKHMuc2V0dGluZ3MudXJsLGouZXh0ZW5kKEwscy5zZXR0aW5ncy5tdWx0aXBhcnRfcGFyYW1zKSk7cS5vcGVuKCJwb3N0IixFLHRydWUpO3Euc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7ai5lYWNoKHMuc2V0dGluZ3MuaGVhZGVycyxmdW5jdGlvbihYLFcpe3Euc2V0UmVxdWVzdEhlYWRlcihXLFgpfSk7cS5zZW5kKFYpfWlmKHUuc3RhdHVzPT1qLkRPTkV8fHUuc3RhdHVzPT1qLkZBSUxFRHx8cy5zdGF0ZT09ai5TVE9QUEVEKXtyZXR1cm59TD17bmFtZTp1LnRhcmdldF9uYW1lfHx1Lm5hbWV9O2lmKHYuY2h1bmtfc2l6ZSYmdS5zaXplPnYuY2h1bmtfc2l6ZSYmKG4uY2h1bmtzfHx0eXBlb2YoQSk9PSJzdHJpbmciKSl7SD12LmNodW5rX3NpemU7Sz1NYXRoLmNlaWwodS5zaXplL0gpO0o9TWF0aC5taW4oSCx1LnNpemUtKEQqSCkpO2lmKHR5cGVvZihBKT09InN0cmluZyIpe0k9QS5zdWJzdHJpbmcoRCpILEQqSCtKKX1lbHNle0k9eChBLEQqSCxEKkgrSil9TC5jaHVuaz1EO0wuY2h1bmtzPUt9ZWxzZXtKPXUuc2l6ZTtJPUF9aWYocy5zZXR0aW5ncy5tdWx0aXBhcnQmJm4ubXVsdGlwYXJ0JiZ0eXBlb2YoSSkhPT0ic3RyaW5nIiYmeiYmbi5jYW50U2VuZEJsb2JJbkZvcm1EYXRhJiZuLmNodW5rcyYmcy5zZXR0aW5ncy5jaHVua19zaXplKXt6Lm9ubG9hZD1mdW5jdGlvbigpe0coei5yZXN1bHQpfTt6LnJlYWRBc0JpbmFyeVN0cmluZyhJKX1lbHNle0coSSl9fUIoKX15PWNbdS5pZF07aWYobi5qcGdyZXNpemUmJnMuc2V0dGluZ3MucmVzaXplJiYvXC4ocG5nfGpwZ3xqcGVnKSQvaS50ZXN0KHUubmFtZSkpe2QuY2FsbChzLHUscy5zZXR0aW5ncy5yZXNpemUsL1wucG5nJC9pLnRlc3QodS5uYW1lKT8iaW1hZ2UvcG5nIjoiaW1hZ2UvanBlZyIsZnVuY3Rpb24oeil7aWYoei5zdWNjZXNzKXt1LnNpemU9ei5kYXRhLmxlbmd0aDt3KHouZGF0YSl9ZWxzZXtpZihuLmNodW5rcyl7dyh5KX1lbHNle2woeSx3KX19fSl9ZWxzZXtpZighbi5jaHVua3MmJm4uanBncmVzaXplKXtsKHksdyl9ZWxzZXt3KHkpfX19KTtwLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKHMpe3ZhciB1LHYsdD1rLmJvZHksdz17aW5wdXRDb250YWluZXI6cy5pZCsiX2h0bWw1X2NvbnRhaW5lciIsaW5wdXRGaWxlOnMuaWQrIl9odG1sNSIsYnJvd3NlQnV0dG9uOnMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbixkcm9wRWxtOnMuc2V0dGluZ3MuZHJvcF9lbGVtZW50fTtmb3IodSBpbiB3KXt2PWsuZ2V0RWxlbWVudEJ5SWQod1t1XSk7aWYodil7ai5yZW1vdmVBbGxFdmVudHModixzLmlkKX19ai5yZW1vdmVBbGxFdmVudHMoay5ib2R5LHMuaWQpO2lmKHMuc2V0dGluZ3MuY29udGFpbmVyKXt0PWsuZ2V0RWxlbWVudEJ5SWQocy5zZXR0aW5ncy5jb250YWluZXIpfXQucmVtb3ZlQ2hpbGQoay5nZXRFbGVtZW50QnlJZCh3LmlucHV0Q29udGFpbmVyKSl9KTtyKHtzdWNjZXNzOnRydWV9KX19KTtmdW5jdGlvbiBiKCl7dmFyIHE9ZmFsc2UsbztmdW5jdGlvbiByKHQsdil7dmFyIHM9cT8wOi04Kih2LTEpLHc9MCx1O2Zvcih1PTA7dTx2O3UrKyl7d3w9KG8uY2hhckNvZGVBdCh0K3UpPDxNYXRoLmFicyhzK3UqOCkpfXJldHVybiB3fWZ1bmN0aW9uIG4odSxzLHQpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg9PT0zP3Q6by5sZW5ndGgtcy0xO289by5zdWJzdHIoMCxzKSt1K28uc3Vic3RyKHQrcyl9ZnVuY3Rpb24gcCh0LHUsdyl7dmFyIHg9IiIscz1xPzA6LTgqKHctMSksdjtmb3Iodj0wO3Y8dzt2Kyspe3grPVN0cmluZy5mcm9tQ2hhckNvZGUoKHU+Pk1hdGguYWJzKHMrdio4KSkmMjU1KX1uKHgsdCx3KX1yZXR1cm57SUk6ZnVuY3Rpb24ocyl7aWYocz09PWUpe3JldHVybiBxfWVsc2V7cT1zfX0saW5pdDpmdW5jdGlvbihzKXtxPWZhbHNlO289c30sU0VHTUVOVDpmdW5jdGlvbihzLHUsdCl7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTpyZXR1cm4gby5zdWJzdHIocyxvLmxlbmd0aC1zLTEpO2Nhc2UgMjpyZXR1cm4gby5zdWJzdHIocyx1KTtjYXNlIDM6bih0LHMsdSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gb319LEJZVEU6ZnVuY3Rpb24ocyl7cmV0dXJuIHIocywxKX0sU0hPUlQ6ZnVuY3Rpb24ocyl7cmV0dXJuIHIocywyKX0sTE9ORzpmdW5jdGlvbihzLHQpe2lmKHQ9PT1lKXtyZXR1cm4gcihzLDQpfWVsc2V7cChzLHQsNCl9fSxTTE9ORzpmdW5jdGlvbihzKXt2YXIgdD1yKHMsNCk7cmV0dXJuKHQ+MjE0NzQ4MzY0Nz90LTQyOTQ5NjcyOTY6dCl9LFNUUklORzpmdW5jdGlvbihzLHQpe3ZhciB1PSIiO2Zvcih0Kz1zO3M8dDtzKyspe3UrPVN0cmluZy5mcm9tQ2hhckNvZGUocihzLDEpKX1yZXR1cm4gdX19fWZ1bmN0aW9uIGYocyl7dmFyIHU9ezY1NTA1OnthcHA6IkVYSUYiLG5hbWU6IkFQUDEiLHNpZ25hdHVyZToiRXhpZlwwIn0sNjU1MDY6e2FwcDoiSUNDIixuYW1lOiJBUFAyIixzaWduYXR1cmU6IklDQ19QUk9GSUxFXDAifSw2NTUxNzp7YXBwOiJJUFRDIixuYW1lOiJBUFAxMyIsc2lnbmF0dXJlOiJQaG90b3Nob3AgMy4wXDAifX0sdD1bXSxyLG4scD1lLHE9MCxvO3I9bmV3IGIoKTtyLmluaXQocyk7aWYoci5TSE9SVCgwKSE9PTY1NDk2KXtyZXR1cm59bj0yO289TWF0aC5taW4oMTA0ODU3NixzLmxlbmd0aCk7d2hpbGUobjw9byl7cD1yLlNIT1JUKG4pO2lmKHA+PTY1NDg4JiZwPD02NTQ5NSl7bis9Mjtjb250aW51ZX1pZihwPT09NjU0OTh8fHA9PT02NTQ5Nyl7YnJlYWt9cT1yLlNIT1JUKG4rMikrMjtpZih1W3BdJiZyLlNUUklORyhuKzQsdVtwXS5zaWduYXR1cmUubGVuZ3RoKT09PXVbcF0uc2lnbmF0dXJlKXt0LnB1c2goe2hleDpwLGFwcDp1W3BdLmFwcC50b1VwcGVyQ2FzZSgpLG5hbWU6dVtwXS5uYW1lLnRvVXBwZXJDYXNlKCksc3RhcnQ6bixsZW5ndGg6cSxzZWdtZW50OnIuU0VHTUVOVChuLHEpfSl9bis9cX1yLmluaXQobnVsbCk7cmV0dXJue2hlYWRlcnM6dCxyZXN0b3JlOmZ1bmN0aW9uKHkpe3IuaW5pdCh5KTt2YXIgdz1uZXcgZih5KTtpZighdy5oZWFkZXJzKXtyZXR1cm4gZmFsc2V9Zm9yKHZhciB4PXcuaGVhZGVycy5sZW5ndGg7eD4wO3gtLSl7dmFyIHo9dy5oZWFkZXJzW3gtMV07ci5TRUdNRU5UKHouc3RhcnQsei5sZW5ndGgsIiIpfXcucHVyZ2UoKTtuPXIuU0hPUlQoMik9PTY1NTA0PzQrci5TSE9SVCg0KToyO2Zvcih2YXIgeD0wLHY9dC5sZW5ndGg7eDx2O3grKyl7ci5TRUdNRU5UKG4sMCx0W3hdLnNlZ21lbnQpO24rPXRbeF0ubGVuZ3RofXJldHVybiByLlNFR01FTlQoKX0sZ2V0OmZ1bmN0aW9uKHgpe3ZhciB5PVtdO2Zvcih2YXIgdz0wLHY9dC5sZW5ndGg7dzx2O3crKyl7aWYodFt3XS5hcHA9PT14LnRvVXBwZXJDYXNlKCkpe3kucHVzaCh0W3ddLnNlZ21lbnQpfX1yZXR1cm4geX0sc2V0OmZ1bmN0aW9uKHkseCl7dmFyIHo9W107aWYodHlwZW9mKHgpPT09InN0cmluZyIpe3oucHVzaCh4KX1lbHNle3o9eH1mb3IodmFyIHc9aWk9MCx2PXQubGVuZ3RoO3c8djt3Kyspe2lmKHRbd10uYXBwPT09eS50b1VwcGVyQ2FzZSgpKXt0W3ddLnNlZ21lbnQ9eltpaV07dFt3XS5sZW5ndGg9eltpaV0ubGVuZ3RoO2lpKyt9aWYoaWk+PXoubGVuZ3RoKXticmVha319fSxwdXJnZTpmdW5jdGlvbigpe3Q9W107ci5pbml0KG51bGwpfX19ZnVuY3Rpb24gYSgpe3ZhciBxLG4sbz17fSx0O3E9bmV3IGIoKTtuPXt0aWZmOnsyNzQ6Ik9yaWVudGF0aW9uIiwzNDY2NToiRXhpZklGRFBvaW50ZXIiLDM0ODUzOiJHUFNJbmZvSUZEUG9pbnRlciJ9LGV4aWY6ezM2ODY0OiJFeGlmVmVyc2lvbiIsNDA5NjE6IkNvbG9yU3BhY2UiLDQwOTYyOiJQaXhlbFhEaW1lbnNpb24iLDQwOTYzOiJQaXhlbFlEaW1lbnNpb24iLDM2ODY3OiJEYXRlVGltZU9yaWdpbmFsIiwzMzQzNDoiRXhwb3N1cmVUaW1lIiwzMzQzNzoiRk51bWJlciIsMzQ4NTU6IklTT1NwZWVkUmF0aW5ncyIsMzczNzc6IlNodXR0ZXJTcGVlZFZhbHVlIiwzNzM3ODoiQXBlcnR1cmVWYWx1ZSIsMzczODM6Ik1ldGVyaW5nTW9kZSIsMzczODQ6IkxpZ2h0U291cmNlIiwzNzM4NToiRmxhc2giLDQxOTg2OiJFeHBvc3VyZU1vZGUiLDQxOTg3OiJXaGl0ZUJhbGFuY2UiLDQxOTkwOiJTY2VuZUNhcHR1cmVUeXBlIiw0MTk4ODoiRGlnaXRhbFpvb21SYXRpbyIsNDE5OTI6IkNvbnRyYXN0Iiw0MTk5MzoiU2F0dXJhdGlvbiIsNDE5OTQ6IlNoYXJwbmVzcyJ9LGdwczp7MDoiR1BTVmVyc2lvbklEIiwxOiJHUFNMYXRpdHVkZVJlZiIsMjoiR1BTTGF0aXR1ZGUiLDM6IkdQU0xvbmdpdHVkZVJlZiIsNDoiR1BTTG9uZ2l0dWRlIn19O3Q9e0NvbG9yU3BhY2U6ezE6InNSR0IiLDA6IlVuY2FsaWJyYXRlZCJ9LE1ldGVyaW5nTW9kZTp7MDoiVW5rbm93biIsMToiQXZlcmFnZSIsMjoiQ2VudGVyV2VpZ2h0ZWRBdmVyYWdlIiwzOiJTcG90Iiw0OiJNdWx0aVNwb3QiLDU6IlBhdHRlcm4iLDY6IlBhcnRpYWwiLDI1NToiT3RoZXIifSxMaWdodFNvdXJjZTp7MToiRGF5bGlnaHQiLDI6IkZsaW9yZXNjZW50IiwzOiJUdW5nc3RlbiIsNDoiRmxhc2giLDk6IkZpbmUgd2VhdGhlciIsMTA6IkNsb3VkeSB3ZWF0aGVyIiwxMToiU2hhZGUiLDEyOiJEYXlsaWdodCBmbHVvcmVzY2VudCAoRCA1NzAwIC0gNzEwMEspIiwxMzoiRGF5IHdoaXRlIGZsdW9yZXNjZW50IChOIDQ2MDAgLTU0MDBLKSIsMTQ6IkNvb2wgd2hpdGUgZmx1b3Jlc2NlbnQgKFcgMzkwMCAtIDQ1MDBLKSIsMTU6IldoaXRlIGZsdW9yZXNjZW50IChXVyAzMjAwIC0gMzcwMEspIiwxNzoiU3RhbmRhcmQgbGlnaHQgQSIsMTg6IlN0YW5kYXJkIGxpZ2h0IEIiLDE5OiJTdGFuZGFyZCBsaWdodCBDIiwyMDoiRDU1IiwyMToiRDY1IiwyMjoiRDc1IiwyMzoiRDUwIiwyNDoiSVNPIHN0dWRpbyB0dW5nc3RlbiIsMjU1OiJPdGhlciJ9LEZsYXNoOnswOiJGbGFzaCBkaWQgbm90IGZpcmUuIiwxOiJGbGFzaCBmaXJlZC4iLDU6IlN0cm9iZSByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkLiIsNzoiU3Ryb2JlIHJldHVybiBsaWdodCBkZXRlY3RlZC4iLDk6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUiLDEzOiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiwxNToiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiwxNjoiRmxhc2ggZGlkIG5vdCBmaXJlLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUiLDI0OiJGbGFzaCBkaWQgbm90IGZpcmUsIGF1dG8gbW9kZSIsMjU6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUiLDI5OiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiwzMToiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiwzMjoiTm8gZmxhc2ggZnVuY3Rpb24iLDY1OiJGbGFzaCBmaXJlZCwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsNjk6IkZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiw3MToiRmxhc2ggZmlyZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCIsNzM6IkZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUiLDc3OiJGbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkIiw3OToiRmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkIiw4OToiRmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSIsOTM6IkZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUiLDk1OiJGbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUifSxFeHBvc3VyZU1vZGU6ezA6IkF1dG8gZXhwb3N1cmUiLDE6Ik1hbnVhbCBleHBvc3VyZSIsMjoiQXV0byBicmFja2V0In0sV2hpdGVCYWxhbmNlOnswOiJBdXRvIHdoaXRlIGJhbGFuY2UiLDE6Ik1hbnVhbCB3aGl0ZSBiYWxhbmNlIn0sU2NlbmVDYXB0dXJlVHlwZTp7MDoiU3RhbmRhcmQiLDE6IkxhbmRzY2FwZSIsMjoiUG9ydHJhaXQiLDM6Ik5pZ2h0IHNjZW5lIn0sQ29udHJhc3Q6ezA6Ik5vcm1hbCIsMToiU29mdCIsMjoiSGFyZCJ9LFNhdHVyYXRpb246ezA6Ik5vcm1hbCIsMToiTG93IHNhdHVyYXRpb24iLDI6IkhpZ2ggc2F0dXJhdGlvbiJ9LFNoYXJwbmVzczp7MDoiTm9ybWFsIiwxOiJTb2Z0IiwyOiJIYXJkIn0sR1BTTGF0aXR1ZGVSZWY6e046Ik5vcnRoIGxhdGl0dWRlIixTOiJTb3V0aCBsYXRpdHVkZSJ9LEdQU0xvbmdpdHVkZVJlZjp7RToiRWFzdCBsb25naXR1ZGUiLFc6Ildlc3QgbG9uZ2l0dWRlIn19O2Z1bmN0aW9uIHAodSxDKXt2YXIgdz1xLlNIT1JUKHUpLHosRixHLEIsQSx2LHgsRCxFPVtdLHk9e307Zm9yKHo9MDt6PHc7eisrKXt4PXY9dSsxMip6KzI7Rz1DW3EuU0hPUlQoeCldO2lmKEc9PT1lKXtjb250aW51ZX1CPXEuU0hPUlQoeCs9Mik7QT1xLkxPTkcoeCs9Mik7eCs9NDtFPVtdO3N3aXRjaChCKXtjYXNlIDE6Y2FzZSA3OmlmKEE+NCl7eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyfWZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLkJZVEUoeCtGKX1icmVhaztjYXNlIDI6aWYoQT40KXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9eVtHXT1xLlNUUklORyh4LEEtMSk7Y29udGludWU7Y2FzZSAzOmlmKEE+Mil7eD1xLkxPTkcoeCkrby50aWZmSGVhZGVyfWZvcihGPTA7RjxBO0YrKyl7RVtGXT1xLlNIT1JUKHgrRioyKX1icmVhaztjYXNlIDQ6aWYoQT4xKXt4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXJ9Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuTE9ORyh4K0YqNCl9YnJlYWs7Y2FzZSA1Ong9cS5MT05HKHgpK28udGlmZkhlYWRlcjtmb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5MT05HKHgrRio0KS9xLkxPTkcoeCtGKjQrNCl9YnJlYWs7Y2FzZSA5Ong9cS5MT05HKHgpK28udGlmZkhlYWRlcjtmb3IoRj0wO0Y8QTtGKyspe0VbRl09cS5TTE9ORyh4K0YqNCl9YnJlYWs7Y2FzZSAxMDp4PXEuTE9ORyh4KStvLnRpZmZIZWFkZXI7Zm9yKEY9MDtGPEE7RisrKXtFW0ZdPXEuU0xPTkcoeCtGKjQpL3EuU0xPTkcoeCtGKjQrNCl9YnJlYWs7ZGVmYXVsdDpjb250aW51ZX1EPShBPT0xP0VbMF06RSk7aWYodC5oYXNPd25Qcm9wZXJ0eShHKSYmdHlwZW9mIEQhPSJvYmplY3QiKXt5W0ddPXRbR11bRF19ZWxzZXt5W0ddPUR9fXJldHVybiB5fWZ1bmN0aW9uIHMoKXt2YXIgdj1lLHU9by50aWZmSGVhZGVyO3EuSUkocS5TSE9SVCh1KT09MTg3NjEpO2lmKHEuU0hPUlQodSs9MikhPT00Mil7cmV0dXJuIGZhbHNlfW8uSUZEMD1vLnRpZmZIZWFkZXIrcS5MT05HKHUrPTIpO3Y9cChvLklGRDAsbi50aWZmKTtvLmV4aWZJRkQ9KCJFeGlmSUZEUG9pbnRlciIgaW4gdj9vLnRpZmZIZWFkZXIrdi5FeGlmSUZEUG9pbnRlcjplKTtvLmdwc0lGRD0oIkdQU0luZm9JRkRQb2ludGVyIiBpbiB2P28udGlmZkhlYWRlcit2LkdQU0luZm9JRkRQb2ludGVyOmUpO3JldHVybiB0cnVlfWZ1bmN0aW9uIHIodyx1LHope3ZhciBCLHkseCxBPTA7aWYodHlwZW9mKHUpPT09InN0cmluZyIpe3ZhciB2PW5bdy50b0xvd2VyQ2FzZSgpXTtmb3IoaGV4IGluIHYpe2lmKHZbaGV4XT09PXUpe3U9aGV4O2JyZWFrfX19Qj1vW3cudG9Mb3dlckNhc2UoKSsiSUZEIl07eT1xLlNIT1JUKEIpO2ZvcihpPTA7aTx5O2krKyl7eD1CKzEyKmkrMjtpZihxLlNIT1JUKHgpPT11KXtBPXgrODticmVha319aWYoIUEpe3JldHVybiBmYWxzZX1xLkxPTkcoQSx6KTtyZXR1cm4gdHJ1ZX1yZXR1cm57aW5pdDpmdW5jdGlvbih1KXtvPXt0aWZmSGVhZGVyOjEwfTtpZih1PT09ZXx8IXUubGVuZ3RoKXtyZXR1cm4gZmFsc2V9cS5pbml0KHUpO2lmKHEuU0hPUlQoMCk9PT02NTUwNSYmcS5TVFJJTkcoNCw1KS50b1VwcGVyQ2FzZSgpPT09IkVYSUZcMCIpe3JldHVybiBzKCl9cmV0dXJuIGZhbHNlfSxFWElGOmZ1bmN0aW9uKCl7dmFyIHY7dj1wKG8uZXhpZklGRCxuLmV4aWYpO2lmKHYuRXhpZlZlcnNpb24mJmoudHlwZU9mKHYuRXhpZlZlcnNpb24pPT09ImFycmF5Iil7Zm9yKHZhciB3PTAsdT0iIjt3PHYuRXhpZlZlcnNpb24ubGVuZ3RoO3crKyl7dSs9U3RyaW5nLmZyb21DaGFyQ29kZSh2LkV4aWZWZXJzaW9uW3ddKX12LkV4aWZWZXJzaW9uPXV9cmV0dXJuIHZ9LEdQUzpmdW5jdGlvbigpe3ZhciB1O3U9cChvLmdwc0lGRCxuLmdwcyk7aWYodS5HUFNWZXJzaW9uSUQpe3UuR1BTVmVyc2lvbklEPXUuR1BTVmVyc2lvbklELmpvaW4oIi4iKX1yZXR1cm4gdX0sc2V0RXhpZjpmdW5jdGlvbih1LHYpe2lmKHUhPT0iUGl4ZWxYRGltZW5zaW9uIiYmdSE9PSJQaXhlbFlEaW1lbnNpb24iKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHIoImV4aWYiLHUsdil9LGdldEJpbmFyeTpmdW5jdGlvbigpe3JldHVybiBxLlNFR01FTlQoKX19fX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoxLjUuMiovCihmdW5jdGlvbigpe3ZhciBmPTAsaz1bXSxtPXt9LGk9e30sYT17IjwiOiJsdCIsIj4iOiJndCIsIiYiOiJhbXAiLCciJzoicXVvdCIsIiciOiIjMzkifSxsPS9bPD4mXCJcJ10vZyxiLGM9d2luZG93LnNldFRpbWVvdXQsZD17fSxlO2Z1bmN0aW9uIGgoKXt0aGlzLnJldHVyblZhbHVlPWZhbHNlfWZ1bmN0aW9uIGooKXt0aGlzLmNhbmNlbEJ1YmJsZT10cnVlfShmdW5jdGlvbihuKXt2YXIgbz1uLnNwbGl0KC8sLykscCxyLHE7Zm9yKHA9MDtwPG8ubGVuZ3RoO3ArPTIpe3E9b1twKzFdLnNwbGl0KC8gLyk7Zm9yKHI9MDtyPHEubGVuZ3RoO3IrKyl7aVtxW3JdXT1vW3BdfX19KSgiYXBwbGljYXRpb24vbXN3b3JkLGRvYyBkb3QsYXBwbGljYXRpb24vcGRmLHBkZixhcHBsaWNhdGlvbi9wZ3Atc2lnbmF0dXJlLHBncCxhcHBsaWNhdGlvbi9wb3N0c2NyaXB0LHBzIGFpIGVwcyxhcHBsaWNhdGlvbi9ydGYscnRmLGFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCx4bHMgeGxiLGFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LHBwdCBwcHMgcG90LGFwcGxpY2F0aW9uL3ppcCx6aXAsYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gsc3dmIHN3ZmwsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQsZG9jeCxhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC50ZW1wbGF0ZSxkb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0LHhsc3gsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbixwcHR4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50ZW1wbGF0ZSxwb3R4LGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXNob3cscHBzeCxhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQsanMsYXBwbGljYXRpb24vanNvbixqc29uLGF1ZGlvL21wZWcsbXBnYSBtcGVnYSBtcDIgbXAzLGF1ZGlvL3gtd2F2LHdhdixhdWRpby9tcDQsbTRhLGltYWdlL2JtcCxibXAsaW1hZ2UvZ2lmLGdpZixpbWFnZS9qcGVnLGpwZWcganBnIGpwZSxpbWFnZS9waG90b3Nob3AscHNkLGltYWdlL3BuZyxwbmcsaW1hZ2Uvc3ZnK3htbCxzdmcgc3ZneixpbWFnZS90aWZmLHRpZmYgdGlmLHRleHQvcGxhaW4sYXNjIHR4dCB0ZXh0IGRpZmYgbG9nLHRleHQvaHRtbCxodG0gaHRtbCB4aHRtbCx0ZXh0L2Nzcyxjc3MsdGV4dC9jc3YsY3N2LHRleHQvcnRmLHJ0Zix2aWRlby9tcGVnLG1wZWcgbXBnIG1wZSx2aWRlby9xdWlja3RpbWUscXQgbW92LHZpZGVvL21wNCxtcDQsdmlkZW8veC1tNHYsbTR2LHZpZGVvL3gtZmx2LGZsdix2aWRlby94LW1zLXdtdix3bXYsdmlkZW8vYXZpLGF2aSx2aWRlby93ZWJtLHdlYm0sdmlkZW8vdm5kLnJuLXJlYWx2aWRlbyxydixhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGEtdGVtcGxhdGUsb3RmLGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSxleGUiKTt2YXIgZz17VkVSU0lPTjoiMS41LjIiLFNUT1BQRUQ6MSxTVEFSVEVEOjIsUVVFVUVEOjEsVVBMT0FESU5HOjIsRkFJTEVEOjQsRE9ORTo1LEdFTkVSSUNfRVJST1I6LTEwMCxIVFRQX0VSUk9SOi0yMDAsSU9fRVJST1I6LTMwMCxTRUNVUklUWV9FUlJPUjotNDAwLElOSVRfRVJST1I6LTUwMCxGSUxFX1NJWkVfRVJST1I6LTYwMCxGSUxFX0VYVEVOU0lPTl9FUlJPUjotNjAxLElNQUdFX0ZPUk1BVF9FUlJPUjotNzAwLElNQUdFX01FTU9SWV9FUlJPUjotNzAxLElNQUdFX0RJTUVOU0lPTlNfRVJST1I6LTcwMixtaW1lVHlwZXM6aSx1YTooZnVuY3Rpb24oKXt2YXIgcj1uYXZpZ2F0b3IscT1yLnVzZXJBZ2VudCxzPXIudmVuZG9yLG8sbixwO289L1dlYktpdC8udGVzdChxKTtwPW8mJnMuaW5kZXhPZigiQXBwbGUiKSE9PS0xO249d2luZG93Lm9wZXJhJiZ3aW5kb3cub3BlcmEuYnVpbGROdW1iZXI7cmV0dXJue3dpbmRvd3M6bmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIldpbiIpIT09LTEsaWU6IW8mJiFuJiYoL01TSUUvZ2kpLnRlc3QocSkmJigvRXhwbG9yZXIvZ2kpLnRlc3Qoci5hcHBOYW1lKSx3ZWJraXQ6byxnZWNrbzohbyYmL0dlY2tvLy50ZXN0KHEpLHNhZmFyaTpwLG9wZXJhOiEhbn19KCkpLHR5cGVPZjpmdW5jdGlvbihuKXtyZXR1cm4oe30pLnRvU3RyaW5nLmNhbGwobikubWF0Y2goL1xzKFthLXp8QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKX0sZXh0ZW5kOmZ1bmN0aW9uKG4pe2cuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24obyxwKXtpZihwPjApe2cuZWFjaChvLGZ1bmN0aW9uKHIscSl7bltxXT1yfSl9fSk7cmV0dXJuIG59LGNsZWFuTmFtZTpmdW5jdGlvbihuKXt2YXIgbyxwO3A9Wy9bXDMwMC1cMzA2XS9nLCJBIiwvW1wzNDAtXDM0Nl0vZywiYSIsL1wzMDcvZywiQyIsL1wzNDcvZywiYyIsL1tcMzEwLVwzMTNdL2csIkUiLC9bXDM1MC1cMzUzXS9nLCJlIiwvW1wzMTQtXDMxN10vZywiSSIsL1tcMzU0LVwzNTddL2csImkiLC9cMzIxL2csIk4iLC9cMzYxL2csIm4iLC9bXDMyMi1cMzMwXS9nLCJPIiwvW1wzNjItXDM3MF0vZywibyIsL1tcMzMxLVwzMzRdL2csIlUiLC9bXDM3MS1cMzc0XS9nLCJ1Il07Zm9yKG89MDtvPHAubGVuZ3RoO28rPTIpe249bi5yZXBsYWNlKHBbb10scFtvKzFdKX1uPW4ucmVwbGFjZSgvXHMrL2csIl8iKTtuPW4ucmVwbGFjZSgvW15hLXowLTlfXC1cLl0rL2dpLCIiKTtyZXR1cm4gbn0sYWRkUnVudGltZTpmdW5jdGlvbihuLG8pe28ubmFtZT1uO2tbbl09bztrLnB1c2gobyk7cmV0dXJuIG99LGd1aWQ6ZnVuY3Rpb24oKXt2YXIgbj1uZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygzMiksbztmb3Iobz0wO288NTtvKyspe24rPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo2NTUzNSkudG9TdHJpbmcoMzIpfXJldHVybihnLmd1aWRQcmVmaXh8fCJwIikrbisoZisrKS50b1N0cmluZygzMil9LGJ1aWxkVXJsOmZ1bmN0aW9uKG8sbil7dmFyIHA9IiI7Zy5lYWNoKG4sZnVuY3Rpb24ocixxKXtwKz0ocD8iJiI6IiIpK2VuY29kZVVSSUNvbXBvbmVudChxKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHIpfSk7aWYocCl7bys9KG8uaW5kZXhPZigiPyIpPjA/IiYiOiI/IikrcH1yZXR1cm4gb30sZWFjaDpmdW5jdGlvbihxLHIpe3ZhciBwLG8sbjtpZihxKXtwPXEubGVuZ3RoO2lmKHA9PT1iKXtmb3IobyBpbiBxKXtpZihxLmhhc093blByb3BlcnR5KG8pKXtpZihyKHFbb10sbyk9PT1mYWxzZSl7cmV0dXJufX19fWVsc2V7Zm9yKG49MDtuPHA7bisrKXtpZihyKHFbbl0sbik9PT1mYWxzZSl7cmV0dXJufX19fX0sZm9ybWF0U2l6ZTpmdW5jdGlvbihuKXtpZihuPT09Ynx8L1xELy50ZXN0KG4pKXtyZXR1cm4gZy50cmFuc2xhdGUoIk4vQSIpfWlmKG4+MTA3Mzc0MTgyNCl7cmV0dXJuIE1hdGgucm91bmQobi8xMDczNzQxODI0LDEpKyIgR0IifWlmKG4+MTA0ODU3Nil7cmV0dXJuIE1hdGgucm91bmQobi8xMDQ4NTc2LDEpKyIgTUIifWlmKG4+MTAyNCl7cmV0dXJuIE1hdGgucm91bmQobi8xMDI0LDEpKyIgS0IifXJldHVybiBuKyIgYiJ9LGdldFBvczpmdW5jdGlvbihvLHMpe3ZhciB0PTAscj0wLHYsdT1kb2N1bWVudCxwLHE7bz1vO3M9c3x8dS5ib2R5O2Z1bmN0aW9uIG4oQil7dmFyIHosQSx3PTAsQz0wO2lmKEIpe0E9Qi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt6PXUuY29tcGF0TW9kZT09PSJDU1MxQ29tcGF0Ij91LmRvY3VtZW50RWxlbWVudDp1LmJvZHk7dz1BLmxlZnQrei5zY3JvbGxMZWZ0O0M9QS50b3Arei5zY3JvbGxUb3B9cmV0dXJue3g6dyx5OkN9fWlmKG8mJm8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiYobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIik+MCYmdS5kb2N1bWVudE1vZGUhPT04KSl7cD1uKG8pO3E9bihzKTtyZXR1cm57eDpwLngtcS54LHk6cC55LXEueX19dj1vO3doaWxlKHYmJnYhPXMmJnYubm9kZVR5cGUpe3QrPXYub2Zmc2V0TGVmdHx8MDtyKz12Lm9mZnNldFRvcHx8MDt2PXYub2Zmc2V0UGFyZW50fXY9by5wYXJlbnROb2RlO3doaWxlKHYmJnYhPXMmJnYubm9kZVR5cGUpe3QtPXYuc2Nyb2xsTGVmdHx8MDtyLT12LnNjcm9sbFRvcHx8MDt2PXYucGFyZW50Tm9kZX1yZXR1cm57eDp0LHk6cn19LGdldFNpemU6ZnVuY3Rpb24obil7cmV0dXJue3c6bi5vZmZzZXRXaWR0aHx8bi5jbGllbnRXaWR0aCxoOm4ub2Zmc2V0SGVpZ2h0fHxuLmNsaWVudEhlaWdodH19LHBhcnNlU2l6ZTpmdW5jdGlvbihuKXt2YXIgbztpZih0eXBlb2Yobik9PSJzdHJpbmciKXtuPS9eKFswLTldKykoW21na10/KSQvLmV4ZWMobi50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teMC05bWtnXS9nLCIiKSk7bz1uWzJdO249K25bMV07aWYobz09ImciKXtuKj0xMDczNzQxODI0fWlmKG89PSJtIil7bio9MTA0ODU3Nn1pZihvPT0iayIpe24qPTEwMjR9fXJldHVybiBufSx4bWxFbmNvZGU6ZnVuY3Rpb24obil7cmV0dXJuIG4/KCIiK24pLnJlcGxhY2UobCxmdW5jdGlvbihvKXtyZXR1cm4gYVtvXT8iJiIrYVtvXSsiOyI6b30pOm59LHRvQXJyYXk6ZnVuY3Rpb24ocCl7dmFyIG8sbj1bXTtmb3Iobz0wO288cC5sZW5ndGg7bysrKXtuW29dPXBbb119cmV0dXJuIG59LGluQXJyYXk6ZnVuY3Rpb24ocCxxKXtpZihxKXtpZihBcnJheS5wcm90b3R5cGUuaW5kZXhPZil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwocSxwKX1mb3IodmFyIG49MCxvPXEubGVuZ3RoO248bztuKyspe2lmKHFbbl09PT1wKXtyZXR1cm4gbn19fXJldHVybiAtMX0sYWRkSTE4bjpmdW5jdGlvbihuKXtyZXR1cm4gZy5leHRlbmQobSxuKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKG4pe3JldHVybiBtW25dfHxufSxpc0VtcHR5T2JqOmZ1bmN0aW9uKG4pe2lmKG49PT1iKXtyZXR1cm4gdHJ1ZX1mb3IodmFyIG8gaW4gbil7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfSxoYXNDbGFzczpmdW5jdGlvbihwLG8pe3ZhciBuO2lmKHAuY2xhc3NOYW1lPT0iIil7cmV0dXJuIGZhbHNlfW49bmV3IFJlZ0V4cCgiKF58XFxzKykiK28rIihcXHMrfCQpIik7cmV0dXJuIG4udGVzdChwLmNsYXNzTmFtZSl9LGFkZENsYXNzOmZ1bmN0aW9uKG8sbil7aWYoIWcuaGFzQ2xhc3MobyxuKSl7by5jbGFzc05hbWU9by5jbGFzc05hbWU9PSIiP246by5jbGFzc05hbWUucmVwbGFjZSgvXHMrJC8sIiIpKyIgIitufX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24ocCxvKXt2YXIgbj1uZXcgUmVnRXhwKCIoXnxcXHMrKSIrbysiKFxccyt8JCkiKTtwLmNsYXNzTmFtZT1wLmNsYXNzTmFtZS5yZXBsYWNlKG4sZnVuY3Rpb24ocixxLHMpe3JldHVybiBxPT09IiAiJiZzPT09IiAiPyIgIjoiIn0pfSxnZXRTdHlsZTpmdW5jdGlvbihvLG4pe2lmKG8uY3VycmVudFN0eWxlKXtyZXR1cm4gby5jdXJyZW50U3R5bGVbbl19ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8sbnVsbClbbl19fX0sYWRkRXZlbnQ6ZnVuY3Rpb24ocyxuLHQpe3ZhciByLHEscCxvO289YXJndW1lbnRzWzNdO249bi50b0xvd2VyQ2FzZSgpO2lmKGU9PT1iKXtlPSJQbHVwbG9hZF8iK2cuZ3VpZCgpfWlmKHMuYWRkRXZlbnRMaXN0ZW5lcil7cj10O3MuYWRkRXZlbnRMaXN0ZW5lcihuLHIsZmFsc2UpfWVsc2V7aWYocy5hdHRhY2hFdmVudCl7cj1mdW5jdGlvbigpe3ZhciB1PXdpbmRvdy5ldmVudDtpZighdS50YXJnZXQpe3UudGFyZ2V0PXUuc3JjRWxlbWVudH11LnByZXZlbnREZWZhdWx0PWg7dS5zdG9wUHJvcGFnYXRpb249ajt0KHUpfTtzLmF0dGFjaEV2ZW50KCJvbiIrbixyKX19aWYoc1tlXT09PWIpe3NbZV09Zy5ndWlkKCl9aWYoIWQuaGFzT3duUHJvcGVydHkoc1tlXSkpe2Rbc1tlXV09e319cT1kW3NbZV1dO2lmKCFxLmhhc093blByb3BlcnR5KG4pKXtxW25dPVtdfXFbbl0ucHVzaCh7ZnVuYzpyLG9yaWc6dCxrZXk6b30pfSxyZW1vdmVFdmVudDpmdW5jdGlvbihzLG4pe3ZhciBxLHQscDtpZih0eXBlb2YoYXJndW1lbnRzWzJdKT09ImZ1bmN0aW9uIil7dD1hcmd1bWVudHNbMl19ZWxzZXtwPWFyZ3VtZW50c1syXX1uPW4udG9Mb3dlckNhc2UoKTtpZihzW2VdJiZkW3NbZV1dJiZkW3NbZV1dW25dKXtxPWRbc1tlXV1bbl19ZWxzZXtyZXR1cm59Zm9yKHZhciBvPXEubGVuZ3RoLTE7bz49MDtvLS0pe2lmKHFbb10ua2V5PT09cHx8cVtvXS5vcmlnPT09dCl7aWYocy5kZXRhY2hFdmVudCl7cy5kZXRhY2hFdmVudCgib24iK24scVtvXS5mdW5jKX1lbHNle2lmKHMucmVtb3ZlRXZlbnRMaXN0ZW5lcil7cy5yZW1vdmVFdmVudExpc3RlbmVyKG4scVtvXS5mdW5jLGZhbHNlKX19cVtvXS5vcmlnPW51bGw7cVtvXS5mdW5jPW51bGw7cS5zcGxpY2UobywxKTtpZih0IT09Yil7YnJlYWt9fX1pZighcS5sZW5ndGgpe2RlbGV0ZSBkW3NbZV1dW25dfWlmKGcuaXNFbXB0eU9iaihkW3NbZV1dKSl7ZGVsZXRlIGRbc1tlXV07dHJ5e2RlbGV0ZSBzW2VdfWNhdGNoKHIpe3NbZV09Yn19fSxyZW1vdmVBbGxFdmVudHM6ZnVuY3Rpb24obyl7dmFyIG49YXJndW1lbnRzWzFdO2lmKG9bZV09PT1ifHwhb1tlXSl7cmV0dXJufWcuZWFjaChkW29bZV1dLGZ1bmN0aW9uKHEscCl7Zy5yZW1vdmVFdmVudChvLHAsbil9KX19O2cuVXBsb2FkZXI9ZnVuY3Rpb24ocil7dmFyIG89e30sdSx0PVtdLHEscD1mYWxzZTt1PW5ldyBnLlF1ZXVlUHJvZ3Jlc3MoKTtyPWcuZXh0ZW5kKHtjaHVua19zaXplOjAsbXVsdGlwYXJ0OnRydWUsbXVsdGlfc2VsZWN0aW9uOnRydWUsZmlsZV9kYXRhX25hbWU6ImZpbGUiLGZpbHRlcnM6W119LHIpO2Z1bmN0aW9uIHMoKXt2YXIgdyx4PTAsdjtpZih0aGlzLnN0YXRlPT1nLlNUQVJURUQpe2Zvcih2PTA7djx0Lmxlbmd0aDt2Kyspe2lmKCF3JiZ0W3ZdLnN0YXR1cz09Zy5RVUVVRUQpe3c9dFt2XTt3LnN0YXR1cz1nLlVQTE9BRElORztpZih0aGlzLnRyaWdnZXIoIkJlZm9yZVVwbG9hZCIsdykpe3RoaXMudHJpZ2dlcigiVXBsb2FkRmlsZSIsdyl9fWVsc2V7eCsrfX1pZih4PT10Lmxlbmd0aCl7dGhpcy5zdG9wKCk7dGhpcy50cmlnZ2VyKCJVcGxvYWRDb21wbGV0ZSIsdCl9fX1mdW5jdGlvbiBuKCl7dmFyIHcsdjt1LnJlc2V0KCk7Zm9yKHc9MDt3PHQubGVuZ3RoO3crKyl7dj10W3ddO2lmKHYuc2l6ZSE9PWIpe3Uuc2l6ZSs9di5zaXplO3UubG9hZGVkKz12LmxvYWRlZH1lbHNle3Uuc2l6ZT1ifWlmKHYuc3RhdHVzPT1nLkRPTkUpe3UudXBsb2FkZWQrK31lbHNle2lmKHYuc3RhdHVzPT1nLkZBSUxFRCl7dS5mYWlsZWQrK31lbHNle3UucXVldWVkKyt9fX1pZih1LnNpemU9PT1iKXt1LnBlcmNlbnQ9dC5sZW5ndGg+MD9NYXRoLmNlaWwodS51cGxvYWRlZC90Lmxlbmd0aCoxMDApOjB9ZWxzZXt1LmJ5dGVzUGVyU2VjPU1hdGguY2VpbCh1LmxvYWRlZC8oKCtuZXcgRGF0ZSgpLXF8fDEpLzEwMDApKTt1LnBlcmNlbnQ9dS5zaXplPjA/TWF0aC5jZWlsKHUubG9hZGVkL3Uuc2l6ZSoxMDApOjB9fWcuZXh0ZW5kKHRoaXMse3N0YXRlOmcuU1RPUFBFRCxydW50aW1lOiIiLGZlYXR1cmVzOnt9LGZpbGVzOnQsc2V0dGluZ3M6cix0b3RhbDp1LGlkOmcuZ3VpZCgpLGluaXQ6ZnVuY3Rpb24oKXt2YXIgQT10aGlzLEIseCx3LHo9MCx5O2lmKHR5cGVvZihyLnByZWluaXQpPT0iZnVuY3Rpb24iKXtyLnByZWluaXQoQSl9ZWxzZXtnLmVhY2goci5wcmVpbml0LGZ1bmN0aW9uKEQsQyl7QS5iaW5kKEMsRCl9KX1yLnBhZ2VfdXJsPXIucGFnZV91cmx8fGRvY3VtZW50LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvW15cL10rJC9nLCIvIik7aWYoIS9eKFx3KzpcL1wvfFwvKS8udGVzdChyLnVybCkpe3IudXJsPXIucGFnZV91cmwrci51cmx9ci5jaHVua19zaXplPWcucGFyc2VTaXplKHIuY2h1bmtfc2l6ZSk7ci5tYXhfZmlsZV9zaXplPWcucGFyc2VTaXplKHIubWF4X2ZpbGVfc2l6ZSk7QS5iaW5kKCJGaWxlc0FkZGVkIixmdW5jdGlvbihDLEYpe3ZhciBFLEQsSD0wLEksRz1yLmZpbHRlcnM7aWYoRyYmRy5sZW5ndGgpe0k9W107Zy5lYWNoKEcsZnVuY3Rpb24oSil7Zy5lYWNoKEouZXh0ZW5zaW9ucy5zcGxpdCgvLC8pLGZ1bmN0aW9uKEspe2lmKC9eXHMqXCpccyokLy50ZXN0KEspKXtJLnB1c2goIlxcLioiKX1lbHNle0kucHVzaCgiXFwuIitLLnJlcGxhY2UobmV3IFJlZ0V4cCgiWyIrKCIvXiQuKis/fCgpW117fVxcIi5yZXBsYWNlKC8uL2csIlxcJCYiKSkrIl0iLCJnIiksIlxcJCYiKSl9fSl9KTtJPW5ldyBSZWdFeHAoSS5qb2luKCJ8IikrIiQiLCJpIil9Zm9yKEU9MDtFPEYubGVuZ3RoO0UrKyl7RD1GW0VdO0QubG9hZGVkPTA7RC5wZXJjZW50PTA7RC5zdGF0dXM9Zy5RVUVVRUQ7aWYoSSYmIUkudGVzdChELm5hbWUpKXtDLnRyaWdnZXIoIkVycm9yIix7Y29kZTpnLkZJTEVfRVhURU5TSU9OX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgZXh0ZW5zaW9uIGVycm9yLiIpLGZpbGU6RH0pO2NvbnRpbnVlfWlmKEQuc2l6ZSE9PWImJkQuc2l6ZT5yLm1heF9maWxlX3NpemUpe0MudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuRklMRV9TSVpFX0VSUk9SLG1lc3NhZ2U6Zy50cmFuc2xhdGUoIkZpbGUgc2l6ZSBlcnJvci4iKSxmaWxlOkR9KTtjb250aW51ZX10LnB1c2goRCk7SCsrfWlmKEgpe2MoZnVuY3Rpb24oKXtBLnRyaWdnZXIoIlF1ZXVlQ2hhbmdlZCIpO0EucmVmcmVzaCgpfSwxKX1lbHNle3JldHVybiBmYWxzZX19KTtpZihyLnVuaXF1ZV9uYW1lcyl7QS5iaW5kKCJVcGxvYWRGaWxlIixmdW5jdGlvbihDLEQpe3ZhciBGPUQubmFtZS5tYXRjaCgvXC4oW14uXSspJC8pLEU9InRtcCI7aWYoRil7RT1GWzFdfUQudGFyZ2V0X25hbWU9RC5pZCsiLiIrRX0pfUEuYmluZCgiVXBsb2FkUHJvZ3Jlc3MiLGZ1bmN0aW9uKEMsRCl7RC5wZXJjZW50PUQuc2l6ZT4wP01hdGguY2VpbChELmxvYWRlZC9ELnNpemUqMTAwKToxMDA7bigpfSk7QS5iaW5kKCJTdGF0ZUNoYW5nZWQiLGZ1bmN0aW9uKEMpe2lmKEMuc3RhdGU9PWcuU1RBUlRFRCl7cT0oK25ldyBEYXRlKCkpfWVsc2V7aWYoQy5zdGF0ZT09Zy5TVE9QUEVEKXtmb3IoQj1DLmZpbGVzLmxlbmd0aC0xO0I+PTA7Qi0tKXtpZihDLmZpbGVzW0JdLnN0YXR1cz09Zy5VUExPQURJTkcpe0MuZmlsZXNbQl0uc3RhdHVzPWcuUVVFVUVEO24oKX19fX19KTtBLmJpbmQoIlF1ZXVlQ2hhbmdlZCIsbik7QS5iaW5kKCJFcnJvciIsZnVuY3Rpb24oQyxEKXtpZihELmZpbGUpe0QuZmlsZS5zdGF0dXM9Zy5GQUlMRUQ7bigpO2lmKEMuc3RhdGU9PWcuU1RBUlRFRCl7YyhmdW5jdGlvbigpe3MuY2FsbChBKX0sMSl9fX0pO0EuYmluZCgiRmlsZVVwbG9hZGVkIixmdW5jdGlvbihDLEQpe0Quc3RhdHVzPWcuRE9ORTtELmxvYWRlZD1ELnNpemU7Qy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsRCk7YyhmdW5jdGlvbigpe3MuY2FsbChBKX0sMSl9KTtpZihyLnJ1bnRpbWVzKXt4PVtdO3k9ci5ydW50aW1lcy5zcGxpdCgvXHM/LFxzPy8pO2ZvcihCPTA7Qjx5Lmxlbmd0aDtCKyspe2lmKGtbeVtCXV0pe3gucHVzaChrW3lbQl1dKX19fWVsc2V7eD1rfWZ1bmN0aW9uIHYoKXt2YXIgRj14W3orK10sRSxDLEQ7aWYoRil7RT1GLmdldEZlYXR1cmVzKCk7Qz1BLnNldHRpbmdzLnJlcXVpcmVkX2ZlYXR1cmVzO2lmKEMpe0M9Qy5zcGxpdCgiLCIpO2ZvcihEPTA7RDxDLmxlbmd0aDtEKyspe2lmKCFFW0NbRF1dKXt2KCk7cmV0dXJufX19Ri5pbml0KEEsZnVuY3Rpb24oRyl7aWYoRyYmRy5zdWNjZXNzKXtBLmZlYXR1cmVzPUU7QS5ydW50aW1lPUYubmFtZTtBLnRyaWdnZXIoIkluaXQiLHtydW50aW1lOkYubmFtZX0pO0EudHJpZ2dlcigiUG9zdEluaXQiKTtBLnJlZnJlc2goKX1lbHNle3YoKX19KX1lbHNle0EudHJpZ2dlcigiRXJyb3IiLHtjb2RlOmcuSU5JVF9FUlJPUixtZXNzYWdlOmcudHJhbnNsYXRlKCJJbml0IGVycm9yLiIpfSl9fXYoKTtpZih0eXBlb2Yoci5pbml0KT09ImZ1bmN0aW9uIil7ci5pbml0KEEpfWVsc2V7Zy5lYWNoKHIuaW5pdCxmdW5jdGlvbihELEMpe0EuYmluZChDLEQpfSl9fSxyZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy50cmlnZ2VyKCJSZWZyZXNoIil9LHN0YXJ0OmZ1bmN0aW9uKCl7aWYodGhpcy5zdGF0ZSE9Zy5TVEFSVEVEKXt0aGlzLnN0YXRlPWcuU1RBUlRFRDt0aGlzLnRyaWdnZXIoIlN0YXRlQ2hhbmdlZCIpO3MuY2FsbCh0aGlzKX19LHN0b3A6ZnVuY3Rpb24oKXtpZih0aGlzLnN0YXRlIT1nLlNUT1BQRUQpe3RoaXMuc3RhdGU9Zy5TVE9QUEVEO3RoaXMudHJpZ2dlcigiQ2FuY2VsVXBsb2FkIik7dGhpcy50cmlnZ2VyKCJTdGF0ZUNoYW5nZWQiKX19LGRpc2FibGVCcm93c2U6ZnVuY3Rpb24oKXtwPWFyZ3VtZW50c1swXSE9PWI/YXJndW1lbnRzWzBdOnRydWU7dGhpcy50cmlnZ2VyKCJEaXNhYmxlQnJvd3NlIixwKX0sZ2V0RmlsZTpmdW5jdGlvbih3KXt2YXIgdjtmb3Iodj10Lmxlbmd0aC0xO3Y+PTA7di0tKXtpZih0W3ZdLmlkPT09dyl7cmV0dXJuIHRbdl19fX0scmVtb3ZlRmlsZTpmdW5jdGlvbih3KXt2YXIgdjtmb3Iodj10Lmxlbmd0aC0xO3Y+PTA7di0tKXtpZih0W3ZdLmlkPT09dy5pZCl7cmV0dXJuIHRoaXMuc3BsaWNlKHYsMSlbMF19fX0sc3BsaWNlOmZ1bmN0aW9uKHgsdil7dmFyIHc7dz10LnNwbGljZSh4PT09Yj8wOngsdj09PWI/dC5sZW5ndGg6dik7dGhpcy50cmlnZ2VyKCJGaWxlc1JlbW92ZWQiLHcpO3RoaXMudHJpZ2dlcigiUXVldWVDaGFuZ2VkIik7cmV0dXJuIHd9LHRyaWdnZXI6ZnVuY3Rpb24odyl7dmFyIHk9b1t3LnRvTG93ZXJDYXNlKCldLHgsdjtpZih5KXt2PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7dlswXT10aGlzO2Zvcih4PTA7eDx5Lmxlbmd0aDt4Kyspe2lmKHlbeF0uZnVuYy5hcHBseSh5W3hdLnNjb3BlLHYpPT09ZmFsc2Upe3JldHVybiBmYWxzZX19fXJldHVybiB0cnVlfSxoYXNFdmVudExpc3RlbmVyOmZ1bmN0aW9uKHYpe3JldHVybiAhIW9bdi50b0xvd2VyQ2FzZSgpXX0sYmluZDpmdW5jdGlvbih2LHgsdyl7dmFyIHk7dj12LnRvTG93ZXJDYXNlKCk7eT1vW3ZdfHxbXTt5LnB1c2goe2Z1bmM6eCxzY29wZTp3fHx0aGlzfSk7b1t2XT15fSx1bmJpbmQ6ZnVuY3Rpb24odil7dj12LnRvTG93ZXJDYXNlKCk7dmFyIHk9b1t2XSx3LHg9YXJndW1lbnRzWzFdO2lmKHkpe2lmKHghPT1iKXtmb3Iodz15Lmxlbmd0aC0xO3c+PTA7dy0tKXtpZih5W3ddLmZ1bmM9PT14KXt5LnNwbGljZSh3LDEpO2JyZWFrfX19ZWxzZXt5PVtdfWlmKCF5Lmxlbmd0aCl7ZGVsZXRlIG9bdl19fX0sdW5iaW5kQWxsOmZ1bmN0aW9uKCl7dmFyIHY9dGhpcztnLmVhY2gobyxmdW5jdGlvbih4LHcpe3YudW5iaW5kKHcpfSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLnRyaWdnZXIoIkRlc3Ryb3kiKTt0aGlzLnVuYmluZEFsbCgpfX0pfTtnLkZpbGU9ZnVuY3Rpb24ocSxvLHApe3ZhciBuPXRoaXM7bi5pZD1xO24ubmFtZT1vO24uc2l6ZT1wO24ubG9hZGVkPTA7bi5wZXJjZW50PTA7bi5zdGF0dXM9MH07Zy5SdW50aW1lPWZ1bmN0aW9uKCl7dGhpcy5nZXRGZWF0dXJlcz1mdW5jdGlvbigpe307dGhpcy5pbml0PWZ1bmN0aW9uKG4sbyl7fX07Zy5RdWV1ZVByb2dyZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcztuLnNpemU9MDtuLmxvYWRlZD0wO24udXBsb2FkZWQ9MDtuLmZhaWxlZD0wO24ucXVldWVkPTA7bi5wZXJjZW50PTA7bi5ieXRlc1BlclNlYz0wO24ucmVzZXQ9ZnVuY3Rpb24oKXtuLnNpemU9bi5sb2FkZWQ9bi51cGxvYWRlZD1uLmZhaWxlZD1uLnF1ZXVlZD1uLnBlcmNlbnQ9bi5ieXRlc1BlclNlYz0wfX07Zy5ydW50aW1lcz17fTt3aW5kb3cucGx1cGxvYWQ9Z30pKCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.silverlight.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGcsYixkLGUpe3ZhciBhPXt9LGg9e307ZnVuY3Rpb24gYyhvKXt2YXIgbixtPXR5cGVvZiBvLGosbCxrO2lmKG89PT1lfHxvPT09bnVsbCl7cmV0dXJuIm51bGwifWlmKG09PT0ic3RyaW5nIil7bj0iXGJiXHR0XG5uXGZmXHJyXCJcIicnXFxcXCI7cmV0dXJuJyInK28ucmVwbGFjZSgvKFtcdTAwODAtXHVGRkZGXHgwMC1ceDFmXCJdKS9nLGZ1bmN0aW9uKHEscCl7dmFyIGk9bi5pbmRleE9mKHApO2lmKGkrMSl7cmV0dXJuIlxcIituLmNoYXJBdChpKzEpfXE9cC5jaGFyQ29kZUF0KCkudG9TdHJpbmcoMTYpO3JldHVybiJcXHUiKyIwMDAwIi5zdWJzdHJpbmcocS5sZW5ndGgpK3F9KSsnIid9aWYobT09Im9iamVjdCIpe2o9by5sZW5ndGghPT1lO249IiI7aWYoail7Zm9yKGw9MDtsPG8ubGVuZ3RoO2wrKyl7aWYobil7bis9IiwifW4rPWMob1tsXSl9bj0iWyIrbisiXSJ9ZWxzZXtmb3IoayBpbiBvKXtpZihvLmhhc093blByb3BlcnR5KGspKXtpZihuKXtuKz0iLCJ9bis9YyhrKSsiOiIrYyhvW2tdKX19bj0ieyIrbisifSJ9cmV0dXJuIG59cmV0dXJuIiIrb31mdW5jdGlvbiBmKHIpe3ZhciB1PWZhbHNlLGk9bnVsbCxuPW51bGwsaixrLGwsdCxtLHA9MDt0cnl7dHJ5e249bmV3IEFjdGl2ZVhPYmplY3QoIkFnQ29udHJvbC5BZ0NvbnRyb2wiKTtpZihuLklzVmVyc2lvblN1cHBvcnRlZChyKSl7dT10cnVlfW49bnVsbH1jYXRjaChxKXt2YXIgbz1uYXZpZ2F0b3IucGx1Z2luc1siU2lsdmVybGlnaHQgUGx1Zy1JbiJdO2lmKG8pe2o9by5kZXNjcmlwdGlvbjtpZihqPT09IjEuMC4zMDIyNi4yIil7aj0iMi4wLjMwMjI2LjIifWs9ai5zcGxpdCgiLiIpO3doaWxlKGsubGVuZ3RoPjMpe2sucG9wKCl9d2hpbGUoay5sZW5ndGg8NCl7ay5wdXNoKDApfWw9ci5zcGxpdCgiLiIpO3doaWxlKGwubGVuZ3RoPjQpe2wucG9wKCl9ZG97dD1wYXJzZUludChsW3BdLDEwKTttPXBhcnNlSW50KGtbcF0sMTApO3ArK313aGlsZShwPGwubGVuZ3RoJiZ0PT09bSk7aWYodDw9bSYmIWlzTmFOKHQpKXt1PXRydWV9fX19Y2F0Y2gocyl7dT1mYWxzZX1yZXR1cm4gdX1kLnNpbHZlcmxpZ2h0PXt0cmlnZ2VyOmZ1bmN0aW9uKG4sayl7dmFyIG09YVtuXSxsLGo7aWYobSl7aj1kLnRvQXJyYXkoYXJndW1lbnRzKS5zbGljZSgxKTtqWzBdPSJTaWx2ZXJsaWdodDoiK2s7c2V0VGltZW91dChmdW5jdGlvbigpe20udHJpZ2dlci5hcHBseShtLGopfSwwKX19fTtkLnJ1bnRpbWVzLlNpbHZlcmxpZ2h0PWQuYWRkUnVudGltZSgic2lsdmVybGlnaHQiLHtnZXRGZWF0dXJlczpmdW5jdGlvbigpe3JldHVybntqcGdyZXNpemU6dHJ1ZSxwbmdyZXNpemU6dHJ1ZSxjaHVua3M6dHJ1ZSxwcm9ncmVzczp0cnVlLG11bHRpcGFydDp0cnVlLG11bHRpX3NlbGVjdGlvbjp0cnVlfX0saW5pdDpmdW5jdGlvbihwLHEpe3ZhciBvLG09IiIsbj1wLnNldHRpbmdzLmZpbHRlcnMsbCxrPWIuYm9keTtpZighZigiMi4wLjMxMDA1LjAiKXx8KGcub3BlcmEmJmcub3BlcmEuYnVpbGROdW1iZXIpKXtxKHtzdWNjZXNzOmZhbHNlfSk7cmV0dXJufWhbcC5pZF09ZmFsc2U7YVtwLmlkXT1wO289Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLmlkPXAuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiO2QuZXh0ZW5kKG8uc3R5bGUse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGJhY2tncm91bmQ6cC5zZXR0aW5ncy5zaGltX2JnY29sb3J8fCJ0cmFuc3BhcmVudCIsekluZGV4Ojk5OTk5LHdpZHRoOiIxMDBweCIsaGVpZ2h0OiIxMDBweCIsb3ZlcmZsb3c6ImhpZGRlbiIsb3BhY2l0eTpwLnNldHRpbmdzLnNoaW1fYmdjb2xvcnx8Yi5kb2N1bWVudE1vZGU+OD8iIjowLjAxfSk7by5jbGFzc05hbWU9InBsdXBsb2FkIHNpbHZlcmxpZ2h0IjtpZihwLnNldHRpbmdzLmNvbnRhaW5lcil7az1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuY29udGFpbmVyKTtpZihkLmdldFN0eWxlKGssInBvc2l0aW9uIik9PT0ic3RhdGljIil7ay5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifX1rLmFwcGVuZENoaWxkKG8pO2ZvcihsPTA7bDxuLmxlbmd0aDtsKyspe20rPShtIT0iIj8ifCI6IiIpK25bbF0udGl0bGUrIiB8ICouIituW2xdLmV4dGVuc2lvbnMucmVwbGFjZSgvLC9nLCI7Ki4iKX1vLmlubmVySFRNTD0nPG9iamVjdCBpZD0iJytwLmlkKydfc2lsdmVybGlnaHQiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodCwiIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2lsdmVybGlnaHQtMiIgc3R5bGU9Im91dGxpbmU6bm9uZTsiIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiPjxwYXJhbSBuYW1lPSJzb3VyY2UiIHZhbHVlPSInK3Auc2V0dGluZ3Muc2lsdmVybGlnaHRfeGFwX3VybCsnIi8+PHBhcmFtIG5hbWU9ImJhY2tncm91bmQiIHZhbHVlPSJUcmFuc3BhcmVudCIvPjxwYXJhbSBuYW1lPSJ3aW5kb3dsZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJlbmFibGVodG1sYWNjZXNzIiB2YWx1ZT0idHJ1ZSIvPjxwYXJhbSBuYW1lPSJpbml0UGFyYW1zIiB2YWx1ZT0iaWQ9JytwLmlkKyIsZmlsdGVyPSIrbSsiLG11bHRpc2VsZWN0PSIrcC5zZXR0aW5ncy5tdWx0aV9zZWxlY3Rpb24rJyIvPjwvb2JqZWN0Pic7ZnVuY3Rpb24gaigpe3JldHVybiBiLmdldEVsZW1lbnRCeUlkKHAuaWQrIl9zaWx2ZXJsaWdodCIpLmNvbnRlbnQuVXBsb2FkfXAuYmluZCgiU2lsdmVybGlnaHQ6SW5pdCIsZnVuY3Rpb24oKXt2YXIgaSxyPXt9O2lmKGhbcC5pZF0pe3JldHVybn1oW3AuaWRdPXRydWU7cC5iaW5kKCJTaWx2ZXJsaWdodDpTdGFydFNlbGVjdEZpbGVzIixmdW5jdGlvbihzKXtpPVtdfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpTZWxlY3RGaWxlIixmdW5jdGlvbihzLHYsdCx1KXt2YXIgdzt3PWQuZ3VpZCgpO3Jbd109djtyW3ZdPXc7aS5wdXNoKG5ldyBkLkZpbGUodyx0LHUpKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6U2VsZWN0U3VjY2Vzc2Z1bCIsZnVuY3Rpb24oKXtpZihpLmxlbmd0aCl7cC50cmlnZ2VyKCJGaWxlc0FkZGVkIixpKX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZENodW5rRXJyb3IiLGZ1bmN0aW9uKHMsdix0LHcsdSl7cC50cmlnZ2VyKCJFcnJvciIse2NvZGU6ZC5JT19FUlJPUixtZXNzYWdlOiJJTyBFcnJvci4iLGRldGFpbHM6dSxmaWxlOnMuZ2V0RmlsZShyW3ZdKX0pfSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRGaWxlUHJvZ3Jlc3MiLGZ1bmN0aW9uKHMsdyx0LHYpe3ZhciB1PXMuZ2V0RmlsZShyW3ddKTtpZih1LnN0YXR1cyE9ZC5GQUlMRUQpe3Uuc2l6ZT12O3UubG9hZGVkPXQ7cy50cmlnZ2VyKCJVcGxvYWRQcm9ncmVzcyIsdSl9fSk7cC5iaW5kKCJSZWZyZXNoIixmdW5jdGlvbihzKXt2YXIgdCx1LHY7dD1iLmdldEVsZW1lbnRCeUlkKHMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7aWYodCl7dT1kLmdldFBvcyh0LGIuZ2V0RWxlbWVudEJ5SWQocy5zZXR0aW5ncy5jb250YWluZXIpKTt2PWQuZ2V0U2l6ZSh0KTtkLmV4dGVuZChiLmdldEVsZW1lbnRCeUlkKHMuaWQrIl9zaWx2ZXJsaWdodF9jb250YWluZXIiKS5zdHlsZSx7dG9wOnUueSsicHgiLGxlZnQ6dS54KyJweCIsd2lkdGg6di53KyJweCIsaGVpZ2h0OnYuaCsicHgifSl9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpVcGxvYWRDaHVua1N1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHMsdix0LHkseCl7dmFyIHcsdT1zLmdldEZpbGUoclt2XSk7dz17Y2h1bms6dCxjaHVua3M6eSxyZXNwb25zZTp4fTtzLnRyaWdnZXIoIkNodW5rVXBsb2FkZWQiLHUsdyk7aWYodS5zdGF0dXMhPWQuRkFJTEVEJiZzLnN0YXRlIT09ZC5TVE9QUEVEKXtqKCkuVXBsb2FkTmV4dENodW5rKCl9aWYodD09eS0xKXt1LnN0YXR1cz1kLkRPTkU7cy50cmlnZ2VyKCJGaWxlVXBsb2FkZWQiLHUse3Jlc3BvbnNlOnh9KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0OlVwbG9hZFN1Y2Nlc3NmdWwiLGZ1bmN0aW9uKHMsdix0KXt2YXIgdT1zLmdldEZpbGUoclt2XSk7dS5zdGF0dXM9ZC5ET05FO3MudHJpZ2dlcigiRmlsZVVwbG9hZGVkIix1LHtyZXNwb25zZTp0fSl9KTtwLmJpbmQoIkZpbGVzUmVtb3ZlZCIsZnVuY3Rpb24ocyx1KXt2YXIgdDtmb3IodD0wO3Q8dS5sZW5ndGg7dCsrKXtqKCkuUmVtb3ZlRmlsZShyW3VbdF0uaWRdKX19KTtwLmJpbmQoIlVwbG9hZEZpbGUiLGZ1bmN0aW9uKHMsdSl7dmFyIHY9cy5zZXR0aW5ncyx0PXYucmVzaXplfHx7fTtqKCkuVXBsb2FkRmlsZShyW3UuaWRdLHMuc2V0dGluZ3MudXJsLGMoe25hbWU6dS50YXJnZXRfbmFtZXx8dS5uYW1lLG1pbWU6ZC5taW1lVHlwZXNbdS5uYW1lLnJlcGxhY2UoL14uK1wuKFteLl0rKS8sIiQxIikudG9Mb3dlckNhc2UoKV18fCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGNodW5rX3NpemU6di5jaHVua19zaXplLGltYWdlX3dpZHRoOnQud2lkdGgsaW1hZ2VfaGVpZ2h0OnQuaGVpZ2h0LGltYWdlX3F1YWxpdHk6dC5xdWFsaXR5fHw5MCxtdWx0aXBhcnQ6ISF2Lm11bHRpcGFydCxtdWx0aXBhcnRfcGFyYW1zOnYubXVsdGlwYXJ0X3BhcmFtc3x8e30sZmlsZV9kYXRhX25hbWU6di5maWxlX2RhdGFfbmFtZSxoZWFkZXJzOnYuaGVhZGVyc30pKX0pO3AuYmluZCgiQ2FuY2VsVXBsb2FkIixmdW5jdGlvbigpe2ooKS5DYW5jZWxVcGxvYWQoKX0pO3AuYmluZCgiU2lsdmVybGlnaHQ6TW91c2VFbnRlciIsZnVuY3Rpb24ocyl7dmFyIHQsdTt0PWIuZ2V0RWxlbWVudEJ5SWQocC5zZXR0aW5ncy5icm93c2VfYnV0dG9uKTt1PXMuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbl9ob3ZlcjtpZih0JiZ1KXtkLmFkZENsYXNzKHQsdSl9fSk7cC5iaW5kKCJTaWx2ZXJsaWdodDpNb3VzZUxlYXZlIixmdW5jdGlvbihzKXt2YXIgdCx1O3Q9Yi5nZXRFbGVtZW50QnlJZChwLnNldHRpbmdzLmJyb3dzZV9idXR0b24pO3U9cy5zZXR0aW5ncy5icm93c2VfYnV0dG9uX2hvdmVyO2lmKHQmJnUpe2QucmVtb3ZlQ2xhc3ModCx1KX19KTtwLmJpbmQoIlNpbHZlcmxpZ2h0Ok1vdXNlTGVmdEJ1dHRvbkRvd24iLGZ1bmN0aW9uKHMpe3ZhciB0LHU7dD1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dT1zLnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHQmJnUpe2QuYWRkQ2xhc3ModCx1KTtkLmFkZEV2ZW50KGIuYm9keSwibW91c2V1cCIsZnVuY3Rpb24oKXtkLnJlbW92ZUNsYXNzKHQsdSl9KX19KTtwLmJpbmQoIlNsaXZlcmxpZ2h0OlN0YXJ0U2VsZWN0RmlsZXMiLGZ1bmN0aW9uKHMpe3ZhciB0LHU7dD1iLmdldEVsZW1lbnRCeUlkKHAuc2V0dGluZ3MuYnJvd3NlX2J1dHRvbik7dT1zLnNldHRpbmdzLmJyb3dzZV9idXR0b25fYWN0aXZlO2lmKHQmJnUpe2QucmVtb3ZlQ2xhc3ModCx1KX19KTtwLmJpbmQoIkRpc2FibGVCcm93c2UiLGZ1bmN0aW9uKHMsdCl7aigpLkRpc2FibGVCcm93c2UodCl9KTtwLmJpbmQoIkRlc3Ryb3kiLGZ1bmN0aW9uKHMpe3ZhciB0O2QucmVtb3ZlQWxsRXZlbnRzKGIuYm9keSxzLmlkKTtkZWxldGUgaFtzLmlkXTtkZWxldGUgYVtzLmlkXTt0PWIuZ2V0RWxlbWVudEJ5SWQocy5pZCsiX3NpbHZlcmxpZ2h0X2NvbnRhaW5lciIpO2lmKHQpe2sucmVtb3ZlQ2hpbGQodCl9fSk7cSh7c3VjY2Vzczp0cnVlfSl9KX19KX0pKHdpbmRvdyxkb2N1bWVudCxwbHVwbG9hZCk7]]></data>
	</file>
	<file>
	  <filename>/js/plupload/plupload.silverlight.xap</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/js/plupload/upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiB1cGxvYWQucGhwDQogKg0KICogQ29weXJpZ2h0IDIwMDksIE1veGllY29kZSBTeXN0ZW1zIEFCDQogKiBSZWxlYXNlZCB1bmRlciBHUEwgTGljZW5zZS4NCiAqDQogKiBMaWNlbnNlOiBodHRwOi8vd3d3LnBsdXBsb2FkLmNvbS9saWNlbnNlDQogKiBDb250cmlidXRpbmc6IGh0dHA6Ly93d3cucGx1cGxvYWQuY29tL2NvbnRyaWJ1dGluZw0KICovDQovLyBIVFRQIGhlYWRlcnMgZm9yIG5vIGNhY2hlIGV0Yw0KaGVhZGVyKCJFeHBpcmVzOiBNb24sIDI2IEp1bCAxOTk3IDA1OjAwOjAwIEdNVCIpOw0KaGVhZGVyKCJMYXN0LU1vZGlmaWVkOiAiIC4gZ21kYXRlKCJELCBkIE0gWSBIOmk6cyIpIC4gIiBHTVQiKTsNCmhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUiKTsNCmhlYWRlcigiQ2FjaGUtQ29udHJvbDogcG9zdC1jaGVjaz0wLCBwcmUtY2hlY2s9MCIsIGZhbHNlKTsNCmhlYWRlcigiUHJhZ21hOiBuby1jYWNoZSIpOw0KDQppZiAoISRfR0VUWyJnYWxsZXJ5X3BhdGgiXSkNCiAgICByZXR1cm47DQoNCi8vIFNldHRpbmdzDQokdGFyZ2V0RGlyID0gdXJsZGVjb2RlKCRfR0VUWyJnYWxsZXJ5X3BhdGgiXSk7DQovLyR0YXJnZXREaXIgPSAndXBsb2Fkcyc7DQoNCiRjbGVhbnVwVGFyZ2V0RGlyID0gdHJ1ZTsgLy8gUmVtb3ZlIG9sZCBmaWxlcw0KJG1heEZpbGVBZ2UgPSA1ICogMzYwMDsgLy8gVGVtcCBmaWxlIGFnZSBpbiBzZWNvbmRzDQovLyA1IG1pbnV0ZXMgZXhlY3V0aW9uIHRpbWUNCkBzZXRfdGltZV9saW1pdCg1ICogNjApOw0KDQovLyBVbmNvbW1lbnQgdGhpcyBvbmUgdG8gZmFrZSB1cGxvYWQgdGltZQ0KLy8gdXNsZWVwKDUwMDApOw0KLy8gR2V0IHBhcmFtZXRlcnMNCiRjaHVuayA9IGlzc2V0KCRfUkVRVUVTVFsiY2h1bmsiXSkgPyBpbnR2YWwoJF9SRVFVRVNUWyJjaHVuayJdKSA6IDA7DQokY2h1bmtzID0gaXNzZXQoJF9SRVFVRVNUWyJjaHVua3MiXSkgPyBpbnR2YWwoJF9SRVFVRVNUWyJjaHVua3MiXSkgOiAwOw0KJGZpbGVOYW1lID0gaXNzZXQoJF9SRVFVRVNUWyJuYW1lIl0pID8gJF9SRVFVRVNUWyJuYW1lIl0gOiAnJzsNCg0KLy8gQ2xlYW4gdGhlIGZpbGVOYW1lIGZvciBzZWN1cml0eSByZWFzb25zDQokZmlsZU5hbWUgPSBzdHJ0b2xvd2VyKHByZWdfcmVwbGFjZSgnL1teXHdcLl9dKy8nLCAnXycsICRmaWxlTmFtZSkpOw0KDQovLyBNYWtlIHN1cmUgdGhlIGZpbGVOYW1lIGlzIHVuaXF1ZSBidXQgb25seSBpZiBjaHVua2luZyBpcyBkaXNhYmxlZA0KaWYgKCRjaHVua3MgPCAyICYmIGZpbGVfZXhpc3RzKCR0YXJnZXREaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGVOYW1lKSkgew0KICAgICRleHQgPSBzdHJycG9zKCRmaWxlTmFtZSwgJy4nKTsNCiAgICAkZmlsZU5hbWVfYSA9IHN1YnN0cigkZmlsZU5hbWUsIDAsICRleHQpOw0KICAgICRmaWxlTmFtZV9iID0gc3Vic3RyKCRmaWxlTmFtZSwgJGV4dCk7DQoNCiAgICAkY291bnQgPSAxOw0KICAgIHdoaWxlIChmaWxlX2V4aXN0cygkdGFyZ2V0RGlyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlTmFtZV9hIC4gJ18nIC4gJGNvdW50IC4gJGZpbGVOYW1lX2IpKQ0KICAgICAgICAkY291bnQrKzsNCg0KICAgICRmaWxlTmFtZSA9ICRmaWxlTmFtZV9hIC4gJ18nIC4gJGNvdW50IC4gJGZpbGVOYW1lX2I7DQp9DQoNCiRmaWxlUGF0aCA9ICR0YXJnZXREaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGVOYW1lOw0KDQovLyBDcmVhdGUgdGFyZ2V0IGRpcg0KaWYgKCFmaWxlX2V4aXN0cygkdGFyZ2V0RGlyKSkNCiAgICBAbWtkaXIoJHRhcmdldERpcik7DQoNCi8vIFJlbW92ZSBvbGQgdGVtcCBmaWxlcwkNCmlmICgkY2xlYW51cFRhcmdldERpciAmJiBpc19kaXIoJHRhcmdldERpcikgJiYgKCRkaXIgPSBvcGVuZGlyKCR0YXJnZXREaXIpKSkgew0KICAgIHdoaWxlICgoJGZpbGUgPSByZWFkZGlyKCRkaXIpKSAhPT0gZmFsc2UpIHsNCiAgICAgICAgJHRtcGZpbGVQYXRoID0gJHRhcmdldERpciAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZTsNCg0KICAgICAgICAvLyBSZW1vdmUgdGVtcCBmaWxlIGlmIGl0IGlzIG9sZGVyIHRoYW4gdGhlIG1heCBhZ2UgYW5kIGlzIG5vdCB0aGUgY3VycmVudCBmaWxlDQogICAgICAgIGlmIChwcmVnX21hdGNoKCcvXC5wYXJ0JC8nLCAkZmlsZSkgJiYgKGZpbGVtdGltZSgkdG1wZmlsZVBhdGgpIDwgdGltZSgpIC0gJG1heEZpbGVBZ2UpICYmICgkdG1wZmlsZVBhdGggIT0gInskZmlsZVBhdGh9LnBhcnQiKSkgew0KICAgICAgICAgICAgQHVubGluaygkdG1wZmlsZVBhdGgpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgY2xvc2VkaXIoJGRpcik7DQp9IGVsc2UNCiAgICBkaWUoJ3sianNvbnJwYyIgOiAiMi4wIiwgImVycm9yIiA6IHsiY29kZSI6IDEwMCwgIm1lc3NhZ2UiOiAiRmFpbGVkIHRvIG9wZW4gdGVtcCBkaXJlY3RvcnkuIn0sICJpZCIgOiAiaWQifScpOw0KDQoNCi8vIExvb2sgZm9yIHRoZSBjb250ZW50IHR5cGUgaGVhZGVyDQppZiAoaXNzZXQoJF9TRVJWRVJbIkhUVFBfQ09OVEVOVF9UWVBFIl0pKQ0KICAgICRjb250ZW50VHlwZSA9ICRfU0VSVkVSWyJIVFRQX0NPTlRFTlRfVFlQRSJdOw0KDQppZiAoaXNzZXQoJF9TRVJWRVJbIkNPTlRFTlRfVFlQRSJdKSkNCiAgICAkY29udGVudFR5cGUgPSAkX1NFUlZFUlsiQ09OVEVOVF9UWVBFIl07DQoNCi8vIEhhbmRsZSBub24gbXVsdGlwYXJ0IHVwbG9hZHMgb2xkZXIgV2ViS2l0IHZlcnNpb25zIGRpZG4ndCBzdXBwb3J0IG11bHRpcGFydCBpbiBIVE1MNQ0KaWYgKHN0cnBvcygkY29udGVudFR5cGUsICJtdWx0aXBhcnQiKSAhPT0gZmFsc2UpIHsNCiAgICBpZiAoaXNzZXQoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKSAmJiBpc191cGxvYWRlZF9maWxlKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSkpIHsNCiAgICAgICAgLy8gT3BlbiB0ZW1wIGZpbGUNCiAgICAgICAgJG91dCA9IGZvcGVuKCJ7JGZpbGVQYXRofS5wYXJ0IiwgJGNodW5rID09IDAgPyAid2IiIDogImFiIik7DQogICAgICAgIGlmICgkb3V0KSB7DQogICAgICAgICAgICAvLyBSZWFkIGJpbmFyeSBpbnB1dCBzdHJlYW0gYW5kIGFwcGVuZCBpdCB0byB0ZW1wIGZpbGUNCiAgICAgICAgICAgICRpbiA9IGZvcGVuKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgInJiIik7DQoNCiAgICAgICAgICAgIGlmICgkaW4pIHsNCiAgICAgICAgICAgICAgICB3aGlsZSAoJGJ1ZmYgPSBmcmVhZCgkaW4sIDQwOTYpKQ0KICAgICAgICAgICAgICAgICAgICBmd3JpdGUoJG91dCwgJGJ1ZmYpOw0KICAgICAgICAgICAgfSBlbHNlDQogICAgICAgICAgICAgICAgZGllKCd7Impzb25ycGMiIDogIjIuMCIsICJlcnJvciIgOiB7ImNvZGUiOiAxMDEsICJtZXNzYWdlIjogIkZhaWxlZCB0byBvcGVuIGlucHV0IHN0cmVhbS4ifSwgImlkIiA6ICJpZCJ9Jyk7DQogICAgICAgICAgICBmY2xvc2UoJGluKTsNCiAgICAgICAgICAgIGZjbG9zZSgkb3V0KTsNCiAgICAgICAgICAgIEB1bmxpbmsoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKTsNCiAgICAgICAgfSBlbHNlDQogICAgICAgICAgICBkaWUoJ3sianNvbnJwYyIgOiAiMi4wIiwgImVycm9yIiA6IHsiY29kZSI6IDEwMiwgIm1lc3NhZ2UiOiAiRmFpbGVkIHRvIG9wZW4gb3V0cHV0IHN0cmVhbS4ifSwgImlkIiA6ICJpZCJ9Jyk7DQogICAgfSBlbHNlDQogICAgICAgIGRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAiZXJyb3IiIDogeyJjb2RlIjogMTAzLCAibWVzc2FnZSI6ICJGYWlsZWQgdG8gbW92ZSB1cGxvYWRlZCBmaWxlLiJ9LCAiaWQiIDogImlkIn0nKTsNCn0gZWxzZSB7DQogICAgLy8gT3BlbiB0ZW1wIGZpbGUNCiAgICAkb3V0ID0gZm9wZW4oInskZmlsZVBhdGh9LnBhcnQiLCAkY2h1bmsgPT0gMCA/ICJ3YiIgOiAiYWIiKTsNCiAgICBpZiAoJG91dCkgew0KICAgICAgICAvLyBSZWFkIGJpbmFyeSBpbnB1dCBzdHJlYW0gYW5kIGFwcGVuZCBpdCB0byB0ZW1wIGZpbGUNCiAgICAgICAgJGluID0gZm9wZW4oInBocDovL2lucHV0IiwgInJiIik7DQoNCiAgICAgICAgaWYgKCRpbikgew0KICAgICAgICAgICAgd2hpbGUgKCRidWZmID0gZnJlYWQoJGluLCA0MDk2KSkNCiAgICAgICAgICAgICAgICBmd3JpdGUoJG91dCwgJGJ1ZmYpOw0KICAgICAgICB9IGVsc2UNCiAgICAgICAgICAgIGRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAiZXJyb3IiIDogeyJjb2RlIjogMTAxLCAibWVzc2FnZSI6ICJGYWlsZWQgdG8gb3BlbiBpbnB1dCBzdHJlYW0uIn0sICJpZCIgOiAiaWQifScpOw0KDQogICAgICAgIGZjbG9zZSgkaW4pOw0KICAgICAgICBmY2xvc2UoJG91dCk7DQogICAgfSBlbHNlDQogICAgICAgIGRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAiZXJyb3IiIDogeyJjb2RlIjogMTAyLCAibWVzc2FnZSI6ICJGYWlsZWQgdG8gb3BlbiBvdXRwdXQgc3RyZWFtLiJ9LCAiaWQiIDogImlkIn0nKTsNCn0NCg0KLy8gQ2hlY2sgaWYgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZA0KaWYgKCEkY2h1bmtzIHx8ICRjaHVuayA9PSAkY2h1bmtzIC0gMSkgew0KICAgIC8vIFN0cmlwIHRoZSB0ZW1wIC5wYXJ0IHN1ZmZpeCBvZmYgDQogICAgcmVuYW1lKCJ7JGZpbGVQYXRofS5wYXJ0IiwgJGZpbGVQYXRoKTsNCn0NCg0KDQovLyBSZXR1cm4gSlNPTi1SUEMgcmVzcG9uc2UNCmRpZSgneyJqc29ucnBjIiA6ICIyLjAiLCAicmVzdWx0IiA6IG51bGwsICJpZCIgOiAiaWQifScpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBHZW5lcmF0b3InOw0KJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlIEdlbmVyYXRvciB3YXMgc3VjY2Vzc2Z1bCBpbnN0YWxsZWQnOw0KJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bGUgR2VuZXJhdG9yIHdhcyBzdWNjZXNzZnVsIHVuaW5zdGFsbGVkJzsNCiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnUmVhbGx5PyBBcmUgeW91IHN1cmUNCnlvdSB3YW50IHRvIHVuc2luc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOw0KJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7DQokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7DQokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgZ2l2ZSBzb2x1dGlvbiBmb3IgY3JlYXRpbmcgY3VzdG9tIG1vZHVsZXMuJzsNCiRsYW5nWydpbmZvX3N1Y2Nlc3MnXSA9ICdTdWNjZXMnOw0KJGxhbmdbJ2luZm9fZXJyb3InXSA9ICdFcnJvcic7DQokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdPcHRpb25zIHVwZGF0ZWQnOw0KJGxhbmdbJ21vZHVsZV9taXNzaW5nJ10gPSAnUGxlYXNlLCBpbnN0YWwgbW9kdWxlICVzJzsNCiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlPyc7DQokbGFuZ1snbW9kdWxlX2Rpcl9wZXJtaXNzaW9uJ10gPSAnTW9kdWxlIGRpcmVjdG9yeSBuZWVkIHdyaXRlYWJsZSBwZXJtaXNzaW9uLiBQbGVhc2UgY2hhbmdlIHBlcm1pc3Npb24gZm9yIG1vZHVsZSBkaXJlY3RvcnkuJzsNCiRsYW5nWydwbGVhc2VfaW5zdGFsbF9pdCddID0gJ05vdGU6IGluc3RhbGwgdGhpcyBtb2R1bGUgdGhyb3VnaCAiRXh0ZW5zaW9ucyDCuyBNb2R1bGVzIic7DQokbGFuZ1snY3JlYXRlX21vZHVsZSddID0gJ0NyZWF0ZSBuZXcgbW9kdWxlJzsNCg0KJGxhbmdbJ2RldGFpbF9wYWdlJ10gPSAnRGV0YWlsIFBhZ2UnOw0KJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZSc7DQokbGFuZ1snd2FybmluZ19wcmV2aWV3J10gPSAnV2FybmluZzogVGhpcyBwcmV2aWV3IHBhbmVsIGJlaGF2ZXMgbXVjaCBsaWtlIGEgYnJvd3NlciB3aW5kb3cgYWxsb3dpbmcgeW91IHRvIG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgaW5pdGlhbGx5IHByZXZpZXdlZCBwYWdlLiBIb3dldmVyLCBpZiB5b3UgZG8gdGhhdCwgeW91IG1heSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLiAgTmF2aWdhdGluZyBhd2F5IGZyb20gdGhlIGluaXRpYWwgcGFnZSBhbmQgcmV0dXJuaW5nIHdpbGwgbm90IGdpdmUgdGhlIGV4cGVjdGVkIHJlc3VsdHMuPGJyLz48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBwcmV2aWV3IGRvZXMgbm90IHVwbG9hZCBmaWxlcyB5b3UgbWF5IGhhdmUgc2VsZWN0ZWQgZm9yIHVwbG9hZC4nOw0KJGxhbmdbJ2FydGljbGUnXSA9ICdBcnRpY2xlJzsNCiRsYW5nWydwcmV2aWV3J10gPSAnUHJldmlldyc7DQokbGFuZ1snaW5mb19kZXRhaWxfcmV0dXJuaWQnXSA9ICdUaGlzIHByZWZlcmVuY2UgaXMgdXNlZCB0byBkZXRlcm1pbmUgYSBwYWdlIChhbmQgdGhlcmVmb3JlIGEgdGVtcGxhdGUpIHRvIHVzZSB0byB2aWV3IGRldGFpbCBwYWdlcy4gIEluZGl2aWR1YWxpemVkIE5ld3MgRGV0YWlsIFVSTFMgd2lsbCBub3Qgd29yayBpZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc2V0IHRvIGEgdmFsaWQgcGFnZS4gIEFkZGl0aW9uYWxseSwgaWYgdGhpcyBwcmVmZXJlbmNlIGlzIHNldCwgYW5kIG5vIGRldGFpbHBhZ2UgcGFyYW1ldGVyIGlzIHByb3ZpZGVkIG9uIHRoZSBuZXdzIHRhZywgdGhlbiB0aGlzIHZhbHVlIHdpbGwgYmUgdXNlZCBmb3IgZGV0YWlsIGxpbmtzJzsNCiRsYW5nWyd0aXRsZV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdEZWZhdWx0IHBhZ2UgdG8gdXNlIGZvciBkZXRhaWwgdmlld3MnOw0KDQokbGFuZ1sndW5pbnN0YWxsJ10gPSAnVW5pbnN0YWxsJzsNCiRsYW5nWydpbnN0YWxsJ10gPSAnSW5zdGFsbCc7DQokbGFuZ1snY3JlYXRlX25ldyddID0gJ0NyZWF0ZSBuZXcgbW9kdWxlJzsNCiRsYW5nWydnZW5lcmF0b3InXSA9ICdHZW5lcmF0b3InOw0KJGxhbmdbJ3JlZ2VuZXJhdGUnXSA9ICdSZS1nZW5lcmF0ZSc7DQokbGFuZ1snbmFtZSddID0gJ05hbWUnOw0KJGxhbmdbJ2F0dGFjaCddID0gJ0F0dGFjaCc7DQokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOw0KJGxhbmdbJ2NyZWF0ZWRhdGUnXSA9ICdDcmVhdGUgZGF0ZSc7DQokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnTW9kaWZpZWQgZGF0ZSc7DQokbGFuZFsnYWRtaW5fdGl0bGUnXSA9ICdBZG1pbiBQYW5lbCc7DQokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJyc7DQokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZSBpbnN0YWxsZWQnOw0KJGxhbmdbJ2Vycm9yX3JlbmFtZV9kaXInXSA9ICdSZW5hbWUgZGlyIHdpdGhvdXQgc3VjY2VzcyAocGVybWlzc2lvbj8pJzsNCiRsYW5nWydlcnJvcl9yZXBsYWNlX2ZpbGVzJ10gPSAnTW9kdWxlIGNhbm5vdCBieSBlZGl0ZWQuIFBsZWFzZSBlZGl0IGl0IG1hbnVhbGx5Lic7DQokbGFuZ1snZXJyb3JfbW9kdWxlX2V4aXN0cyddID0gJ1RoaXMgbW9kdWxlIGV4aXN0cy4gRGVsZXRlIGRpciBvciByZS1nZW5lcmF0ZS4nOw0KJGxhbmdbJ2Vycm9yX3VuaWluc3RhbF9tb2R1bGUnXSA9ICdUaGlzIG1vZHVsZSBleGlzdHMuIFVuaWluc3RhbCBpdC4nOw0KDQovLyB0YWJzDQokbGFuZ1snaXRlbSddID0gJ0l0ZW0nOw0KJGxhbmdbJ2l0ZW1zJ10gPSAnSXRlbXMnOw0KJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmllbGQgRGVmaW5pdGlvbic7DQokbGFuZ1snZmllbGRkZWZzJ10gPSAnRmllbGQgRGVmaW5pdGlvbnMnOw0KJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOw0KJGxhbmdbJ3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyc7DQokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yeSc7DQokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOw0KJGxhbmdbJ29wdGlvbiddID0gJ09wdGlvbic7DQokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbnMnOw0KJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7DQokbGFuZ1sncHJldnBhZ2UnXSA9ICcmbHQ7JzsNCiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbCc7DQokbGFuZ1snZWRpdGluZyddID0gJ0VkaXRpbmcnOw0KJGxhbmdbJ3N0YXJ0J10gPSAnU3RhcnQgbm93JzsNCiRsYW5nWydub3RlJ10gPSAnTm90ZSc7DQoNCg0KLy8gaXRlbXMNCiRsYW5nWydpdGVtX3RpdGxlJ10gPSAnVGl0bGUnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAnSXRlbSB0aXRsZSc7DQokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7DQokbGFuZ1sndXJsJ10gPSAnVXJsJzsNCiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOw0KJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdJdGVtIHRpdGxlIGlzIGVtcHR5JzsNCiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1JlcXVpcmVkIGZpZWxkIGlzIGVtcHR5JzsNCiRsYW5nWyd0b29fbG9uZyddID0gJ0ZpZWxkIHZhbHVlIGV4Y2VlZHMgbWF4IGxlbmd0aCc7DQokbGFuZ1snYXBwcm92ZSddID0gJ1NldCBTdGF0dXMgdG8gXCdBY3RpdmVcJyc7DQokbGFuZ1sncmV2ZXJ0J10gPSAnU2V0IFN0YXR1cyB0byBcJ0luYWN0aXZlXCcnOw0KJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmd0OyZndDsnOw0KJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYXN0IE1vZGlmaWVkJzsNCiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7DQokbGFuZ1sncGFnZV9vZiddID0gJ1BhZ2UgJXMgb2YgJXMnOw0KJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdQYWdlIExpbWl0JzsNCiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmbHQ7Jmx0Oyc7DQokbGFuZ1snbmV4dHBhZ2UnXSA9ICcmZ3Q7JzsNCiRsYW5nWydpZCddID0gJ0lkJzsNCiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsNCiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVkZSBDaGlsZHJlbj8nOw0KJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoeSc7DQokbGFuZ1snc29ydF9ieSddID0gJ1NvcnQgQnknOw0KJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0IE9yZGVyJzsNCiRsYW5nWydkYXRlJ10gPSAnRGF0ZSc7DQokbGFuZ1snZGF0ZV9lbmQnXSA9ICdFbmQgZGF0ZSc7DQokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRlcnMnOw0KJGxhbmdbJ2FzY2VuZGluZyddID0gJ0FzY2VuZGluZyc7DQokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRpbmcnOw0KJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGwgY2F0ZWdvcmllcyc7DQokbGFuZ1snZnJvbSddID0gJ0Zyb20nOw0KJGxhbmdbJ3RvJ10gPSAnVG8nOw0KJGxhbmdbJ3Bvc2l0aW9uJ10gPSAnUG9zaXRpb24nOw0KJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnQ3JlYXRlZCBkYXRlJzsNCiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdNb2RpZmllZCBkYXRlJzsNCiRsYW5nWydzYXZlX29yZGVyJ10gPSAnU2F2ZSBvcmRlcic7DQoNCi8vIGZpZWxkIGRlZmluaXRpb25zDQokbGFuZ1snZWRpdGZpZWxkZGVmJ10gPSAnRWRpdCBGaWVsZCBEZWZpbml0aW9uJzsNCiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0FkZCBGaWVsZCBEZWZpbml0aW9uJzsNCiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmFtZSc7DQokbGFuZ1snZmllbGRkZWZfaGVscCddID0gJ0hlbHBmdWwgdGlwJzsNCiRsYW5nWydmaWVsZGRlZl90eXBlJ10gPSAnVHlwZSc7DQokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoJzsNCiRsYW5nWydmaWVsZGRlZl9yZXF1aXJlZCddID0gJ1JlcXVpcmVkJzsNCiRsYW5nWydmaWVsZGRlZl9lZGl0dmlldyddID0gJ1ZpZXcgb25seSBpbiBlZGl0JzsNCiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdBZGQgdG8gZmlsdGVyIGluIGZyb250ZW5kJzsNCiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfYWRtaW4nXSA9ICdBZGQgdG8gZmlsdGVyIGluIGFkbWluJzsNCiRsYW5nWydmaWVsZGRlZl9zZWFyY2hhYmxlJ10gPSAnU2VhcmNoYWJsZSc7DQokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSc7DQokbGFuZ1snc2VjdGlvbiddID0gJ1NlY3Rpb24nOw0KJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0IElucHV0JzsNCiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsNCiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7DQokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdTZWxlY3QgRGF0ZSc7DQokbGFuZ1sndXBsb2FkX2ZpbGUnXSA9ICdVcGxvYWQgRmlsZSc7DQokbGFuZ1snZmlsZV9waWNrZXInXSA9ICdGaWxlcGlja2VyJzsNCiRsYW5nWydkcm9wZG93biddID0gJ0Ryb3Bkb3duJzsNCiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bGUgZnJvbSBNb2R1bGUgR2VuZXJhdG9yJzsNCiRsYW5nWydzZWxlY3RfZGVmYXVsdCddID0gJy0tIFNlbGVjdCAtLSc7DQokbGFuZ1snc2VsZWN0X2ZpbGUnXSA9ICdTZWxlY3QgRmlsZSc7DQokbGFuZ1snY29sb3JfcGlja2VyJ10gPSAnQ29sb3IgcGlja2VyJzsNCiRsYW5nWydtb2R1bGVfbGluayddID0gJ0xpbmsgdG8gbW9kdWxlJzsNCiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGlzIGVtcHR5JzsNCiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ0ZpZWxkIGRlZmluaXRpb24gbmFtZSBhbHJlYWR5IGV4aXN0cyc7DQokbGFuZ1snaW52YWxpZCddID0gJ0ZpZWxkIHZhbHVlIGlzIGludmFsaWQnOw0KJGxhbmdbJ3RhYiddID0gJ1RhYic7DQoNCg0KLy8gZmllbGQgZGVmaW5pdGlvbnMNCiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdFZGl0IEZpZWxkIERlZmluaXRpb24nOw0KJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnQWRkIEZpZWxkIERlZmluaXRpb24nOw0KJGxhbmdbJ2ZpZWxkZGVmX25hbWUnXSA9ICdOYW1lJzsNCiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnSGVscGZ1bCB0aXAnOw0KJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXBlJzsNCiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoJ10gPSAnTWF4aW11bSBsZW5ndGgnOw0KJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOw0KJGxhbmdbJ2ZpZWxkZGVmX2VkaXR2aWV3J10gPSAnVmlldyBvbmx5IGluIGVkaXQnOw0KJGxhbmdbJ2ZpZWxkZGVmX2ZpbHRlcl9mcm9udGVuZCddID0gJ0FkZCB0byBmaWx0ZXIgaW4gZnJvbnRlbmQnOw0KJGxhbmdbJ2ZpZWxkZGVmX2ZpbHRlcl9hZG1pbiddID0gJ0FkZCB0byBmaWx0ZXIgaW4gYWRtaW4gYXJlYSc7DQokbGFuZ1snZmllbGRkZWZfc2VhcmNoYWJsZSddID0gJ1NlYXJjaGFibGUnOw0KJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOw0KJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0IElucHV0JzsNCiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsNCiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7DQokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdTZWxlY3QgRGF0ZSc7DQokbGFuZ1sndXBsb2FkX2ZpbGUnXSA9ICdVcGxvYWQgRmlsZSc7DQokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7DQokbGFuZ1snZHJvcGRvd25fZnJvbV91ZHQnXSA9ICdEcm9wZG93biBmcm9tIFVEVCc7DQokbGFuZ1snZHJvcGRvd25mcm9tbW9kdWxlJ10gPSAnRHJvcGRvd24gZnJvbSBtb2R1bGUnOw0KJGxhbmdbJ3N0YXRpYyddID0gJ1N0YXRpYyc7DQokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlJzsNCiRsYW5nWydzZWxlY3RfZGVmYXVsdCddID0gJy0tIFNlbGVjdCAtLSc7DQokbGFuZ1snc2VsZWN0X2ZpbGUnXSA9ICdTZWxlY3QgRmlsZSc7DQokbGFuZ1snZmllbGRkZWZfbmFtZV9lbXB0eSddID0gJ0ZpZWxkIGRlZmluaXRpb24gbmFtZSBpcyBlbXB0eSc7DQokbGFuZ1snZmllbGRkZWZfbmFtZV9leGlzdHMnXSA9ICdGaWVsZCBkZWZpbml0aW9uIG5hbWUgYWxyZWFkeSBleGlzdHMnOw0KJGxhbmdbJ2ludmFsaWQnXSA9ICdGaWVsZCB2YWx1ZSBpcyBpbnZhbGlkJzsNCg0KLy8gZmlsZSBoYW5kbGluZw0KJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ1Byb2JsZW0gb2NjdXJyZWQgdXBsb2FkaW5nIGEgZmlsZSc7DQokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeTogJXMnOw0KJGxhbmdbJ2Vycm9yX2ZpbGVzaXplJ10gPSAnQW4gdXBsb2FkZWQgZmlsZSBleGNlZWRlZCB0aGUgbWF4aW11bSBhbGxvd2VkIHNpemUnOw0KJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxldHlwZSddID0gJ0Nhbm5vdCB1cGxvYWQgdGhpcyB0eXBlIG9mIGZpbGUnOw0KJGxhbmdbJ2Vycm9yX21vdmVmaWxlJ10gPSAnQ291bGQgbm90IGNyZWF0ZSBmaWxlOiAlcyc7DQokbGFuZ1snaW52YWxpZHVybCddID0gJ1VybCBpcyBpbnZhbGlkLic7DQoNCi8vIGNhdGVnb3J5DQokbGFuZ1snbm9uZSddID0gJ05vbmUnOw0KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsNCiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdCBDYXRlZ29yeSc7DQokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBZGQgQ2F0ZWdvcnknOw0KJGxhbmdbJ2NhdGVnb3J5X25hbWUnXSA9ICdDYXRlZ29yeSBuYW1lJzsNCiRsYW5nWydjYXRlZ29yeV9uYW1lX2VtcHR5J10gPSAnQ2F0ZWdvcnkgbmFtZSBpcyBlbXB0eSc7DQokbGFuZ1snY2F0ZWdvcnl1cGRhdGVkJ10gPSAnQ2F0ZWdvcnkgdXBkYXRlZC4nOw0KJGxhbmdbJ2NhdGVnb3J5YWRkZWQnXSA9ICdDYXRlZ29yeSBhZGRlZC4nOw0KDQovLyB0ZW1wbGF0ZXMNCiRsYW5nWydjYXRlZ29yeV90ZW1wbGF0ZSddID0gJ0NhdGVnb3J5IFRlbXBsYXRlcyc7DQokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsNCiRsYW5nWydkZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsNCiRsYW5nWydmaWx0ZXJfdGVtcGxhdGUnXSA9ICdGaWx0ZXIgVGVtcGxhdGVzJzsNCiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ0RlZmF1bHQgVGVtcGxhdGVzJzsNCiRsYW5nWydlZGl0dGVtcGxhdGUnXSA9ICdFZGl0IFRlbXBsYXRlJzsNCiRsYW5nWydhZGR0ZW1wbGF0ZSddID0gJ0FkZCAlcyBUZW1wbGF0ZSc7DQokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ1RlbXBsYXRlIG5hbWUnOw0KJGxhbmdbJ3RlbXBsYXRlX25hbWVfZW1wdHknXSA9ICdUZW1wbGF0ZSBuYW1lIGlzIGVtcHR5JzsNCiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQvZWRpdCBzdW1tYXJ5IHRlbXBsYXRlJzsNCiRsYW5nWydhZGRlZGl0X2ZpbHRlcl90ZW1wbGF0ZSddID0gJ0FkZC9lZGl0IGZpbHRlciB0ZW1wbGF0ZSc7DQokbGFuZ1snYWRkZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdBZGQvZWRpdCBkZXRhaWwgdGVtcGxhdGUnOw0KJGxhbmdbJ2FkZGVkaXRfY2F0ZWdvcnlfdGVtcGxhdGUnXSA9ICdBZGQvZWRpdCBjYXRlZ29yeSB0ZW1wbGF0ZSc7DQoNCi8vIGdsb2JhbA0KJGxhbmdbJ2dsb2JhbCddID0gJ0dsb2JhbCc7DQokbGFuZ1snY2hhbmdlc3NhdmVkJ10gPSAnWW91ciBjaGFuZ2VzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQnOw0KJGxhbmdbJ2JhY2snXSA9ICdCYWNrJzsNCiRsYW5nWyd1cCddID0gJ1VwJzsNCiRsYW5nWydkb3duJ10gPSAnRG93bic7DQokbGFuZ1snZWRpdCddID0gJ0VkaXQnOw0KJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7DQokbGFuZ1snbm9zdWNoaWQnXSA9ICdObyBzdWNoIElEJzsNCiRsYW5nWydkZWxldGVkJ10gPSAnVGhlIGVudHJ5IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsNCiRsYW5nWydhZGQnXSA9ICdBZGQnOw0KJGxhbmdbJ2FsaWFzJ10gPSAnQWxpYXMnOw0KJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBpcyBpbnZhbGlkLiBJdCBtdXN0IGJlIGEgdmFsaWQgUEhQIHZhcmlhYmxlIG5hbWUnOw0KJGxhbmdbJ2VtcHR5X3BhcmFtJ10gPSAnVGhlIHBhcmFtZXRlciB3YXMgZW1wdHkuIFRyeSBhZ2Fpbi4nOw0KJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYXRpb24gQ2FuY2VsbGVkJzsNCiRsYW5nWydvcGVyYXRpb25fY29tcGxldGUnXSA9ICdPcGVyYXRpb24gQ29tcGxldGUnOw0KDQojIyBnZW5lcmF0b3INCiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBJbnB1dCc7DQokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7DQokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOw0KJGxhbmdbJ3NlbGVjdF9kYXRlJ10gPSAnU2VsZWN0IERhdGUnOw0KJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnVXBsb2FkIEZpbGUnOw0KJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOw0KJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsZSc7DQokbGFuZ1snc2VsZWN0X2RlZmF1bHQnXSA9ICctLSBTZWxlY3QgLS0nOw0KJGxhbmdbJ3NlbGVjdF9maWxlJ10gPSAnU2VsZWN0IEZpbGUnOw0KDQojaXRlbXMNCiRsYW5nWydpdGVtX3RpdGxlJ10gPSAnVGl0bGUnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAnSXRlbSB0aXRsZSc7DQokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7DQokbGFuZ1sndXJsJ10gPSAnVXJsJzsNCiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOw0KJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdJdGVtIHRpdGxlIGlzIGVtcHR5JzsNCiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1JlcXVpcmVkIGZpZWxkIGlzIGVtcHR5JzsNCiRsYW5nWyd0b29fbG9uZyddID0gJ0ZpZWxkIHZhbHVlIGV4Y2VlZHMgbWF4IGxlbmd0aCc7DQokbGFuZ1snYXBwcm92ZSddID0gJ1NldCBTdGF0dXMgdG8gXCdBY3RpdmVcJyc7DQokbGFuZ1sncmV2ZXJ0J10gPSAnU2V0IFN0YXR1cyB0byBcJ0luYWN0aXZlXCcnOw0KJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmd0OyZndDsnOw0KJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYXN0IE1vZGlmaWVkJzsNCiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7DQokbGFuZ1sncGFnZV9vZiddID0gJ1BhZ2UgJXMgb2YgJXMnOw0KJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdQYWdlIExpbWl0JzsNCiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmbHQ7Jmx0Oyc7DQokbGFuZ1snbmV4dHBhZ2UnXSA9ICcmZ3Q7JzsNCiRsYW5nWydvZiddID0gJ29mJzsNCiRsYW5nWydpZCddID0gJ0lkJzsNCiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsNCiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVkZSBDaGlsZHJlbj8nOw0KJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoeSc7DQokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOw0KJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0ZXJzJzsNCiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRpbmcnOw0KJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEZXNjZW5kaW5nJzsNCiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnQWxsIGNhdGVnb3JpZXMnOw0KJGxhbmdbJ2Zyb20nXSA9ICdGcm9tJzsNCiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnU2VsZWN0IEFsbCc7DQokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdCBPbmUnOw0KJGxhbmdbJ3NldGRyYWZ0J10gPSAnU2V0IEFzIEluYWN0aXZlJzsNCiRsYW5nWydzZXRwdWJsaXNoZWQnXSA9ICdTZXQgQXMgQWN0aXZlJzsNCiRsYW5nWyd3aXRoX3NlbGVjdGVkJ10gPSAnV2l0aCBTZWxlY3RlZCc7DQokbGFuZ1snZ28nXSA9ICdHbyc7DQokbGFuZ1snbm90aGluZ19zZWxlY3RkJ10gPSAnTm90aGluZyBzZWxlY3RlZCc7DQoNCg0KI29wdGlvbnMNCiRsYW5nWydpbWFnZXNfc2l6ZV9hZG1pbiddID0gJ0ltYWdlIHNpemUnOw0KJGxhbmdbJ2ltYWdlX3NpemVfYWRtaW5faW5mbyddID0gJ0V4YW1wbGVzOiAyMDB4IC0gd2lkdGgsIHgyMDAgLSBoZWlnaHQsIDIwMHgyMDAgLSB3aWR0aC9oZWlnaHQnOw0KJGxhbmdbJ2FkbWluX2FyZWEnXSA9ICdBZG1pbiBhcmVhJzsNCiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOw0KJGxhbmdbJ21vZGUnXSA9ICdNb2RlJzsNCiRsYW5nWydzaW1wbGUnXSA9ICdTaW1wbGUnOw0KJGxhbmdbJ3NpbXBsZV9tb2RlX2luZm8nXSA9ICdTaW1wbGUgbW9kZSBpcyBpdGVtcyBsaXN0IHdpdGhvdXQgcGFnaW5hdGlvbiB3aXRoIGRyYWcmZHJvcCBjaGFuZ2UgcG9zaXRpb24uJzsNCiRsYW5nWydhZHZhbmNlZCddID0gJ0FkdmFuY2VkJzsNCiRsYW5nWydhZHZhbmNlZF9tb2RlX2luZm8nXSA9ICdBZHZhbmNlZCBtb2RlIGlzIGV4dGVuZGVkIGl0ZW1zIGxpc3QgIHdpdGggcGFnaW5hdGlvbiBhbmQgbWFueSBtb3JlIG9wdGlvbiBsaWtlIE5ld3MgYW5kIFByb2R1Y3RzIG1vZHVsZS4nOw0KJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdNb2R1bGUgZnJpZW5kbHkgbmFtZSc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdJdGVtIHNpbmd1bGFyJzsNCiRsYW5nWydwcm9tcHRfaXRlbV9wbHVyYWwnXSA9ICdJdGVtIHBsdXJhbCc7DQokbGFuZ1sncHJvbXB0X3VybF9wcmVmaXgnXSA9ICdVUkwgUHJlZml4JzsNCiRsYW5nWydwcm9tcHRfZGVmYXVsdF9hY3Rpb25fcGFyYW1zJ10gPSAnRGVmYXVsdCBwYXJhbXMgZm9yIGRlZmF1bHQgYWN0aW9uJzsNCiRsYW5nWydwcm9tcHRfZGV0YWlsX2FjdGlvbl9wYXJhbXMnXSA9ICdEZWZhdWx0IHBhcmFtcyBmb3IgZGV0YWlsIGFjdGlvbic7DQokbGFuZ1sncHJvbXB0X3RpdGxlX3BhcmFtX2Zvcl9jYWNoZSddID0gJ1RpdGxlIHBhcmFtIGZvciBjYWNoZSByZXN1bHRzJzsNCiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdEaXNwbGF5IGRldGFpbHMgaW5saW5lJzsNCiRsYW5nWydwcm9tcHRfbGF6eWxvYWRpbmcnXSA9ICdMYXp5IGxvYWRpbmcgKElmIHdlIGRvblwndCBuZWVkIHVzZSBtb2R1bGUgd2l0aCBkZXRhaWwgbGluayBvbiBmcm9udGVuZC4pJzsNCiRsYW5nWydwcm9tcHRfaGFzX2FkbWluJ10gPSAnSGFzIGFkbWluPyc7DQokbGFuZ1snaGFzX2dhbGxlcnknXSA9ICdIYXMgZ2FsbGVyeT8nOw0KJGxhbmdbJ2dhbGxlcnknXSA9ICdHYWxsZXJ5JzsNCiRsYW5nWydnYWxsZXJ5X3NvcnRvcmRlciddID0gJ1NvcnQgb3JkZXIgZm9yIGdhbGxlcnknOw0KJGxhbmdbJ2ZpbGVuYW1lJ10gPSAnRmlsZW5hbWUnOw0KJGxhbmdbJ2FkZF9maWxlcyddID0gJ0FkZCAgZmlsZXMnOw0KJGxhbmdbJ3ByZXZpZXdfYWRtaW4nXSA9ICdQcmV2aWV3IGluIGFkbWluIGFyZWE/JzsNCiRsYW5nWydjb3B5X2FkbWluJ10gPSAnQWxsb3cgY29weSBpdGVtPyc7DQokbGFuZ1snY29weV9hZG1pbl9pbmZvJ10gPSAnQWxsb3cgY29weSBleGlzdGluZyBpdGVtIHdpdGhvdXQgY29weWluZyBpbWFnZXMsIGZpbGVzIGFuZCBnYWxsZXJ5LiAnOw0KJGxhbmdbJ3Byb21wdF91c2VyZ3JvdXBfZGVwZW5kZW5jZSddID0gJ1VzZXIgZ3JvdXAgZGVwZW5kZW5jZSc7DQokbGFuZ1snaW5mb191c2VyZ3JvdXBfZGVwZW5kZW5jZSddID0gJ1VzZXIgc2VlIGNhdGVnb3J5IGFuZCBjaGlsZHJlbiBmb3IgaGlzIGFzc29jaWF0ZWQgdXNlciBncm91cC4nOw0KJGxhbmdbJ3Byb21wdF9pdGVtX2RldGFpbF9yZXR1cm5pZCddID0gJ0RldGFpbCByZXR1cm4gSUQnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX2NhdGVnb3J5X3JldHVybmlkJ10gPSAnQ2F0ZWdvcnkgcmV0dXJuIElEJzsNCiRsYW5nWydwcm9tcHRfY3VzdG9tX2ZpZWxkc19kZWZhdWx0X2FkbWluJ10gPSAnRGVmYXVsdCBjdXN0b20gZmllbGRzIGZvciBhZG1pbiBpdGVtcyc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfZWRpdCddID0gJ0VkaXQgY2F0ZWdvcnknOw0KJGxhbmdbJ3Byb21wdF9yZWN1cnNpdmUnXSA9ICdFZGl0IHJlY3Vyc2l2ZSc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0J10gPSAnRWRpdCBkYXRlIHN0YXJ0JzsNCiRsYW5nWydwcm9tcHRfaXRlbV9kYXRlX2VuZF9lZGl0J10gPSAnRWRpdCBkYXRlIGVuZCc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fYWxpYXNfZWRpdCddID0gJ0VkaXQgYWxpYXMnOw0KJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlX2VkaXQnXSA9ICdFZGl0IHRpdGxlJzsNCiRsYW5nWydwcm9tcHRfaXRlbV91cmxfZWRpdCddID0gJ0VkaXQgdXJsJzsNCiRsYW5nWydwcm9tcHRfZmlsdGVyJ10gPSAnRmlsdGVyJzsNCiRsYW5nWydwcm9tcHRfc3VtbWFyeV9zb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyJzsNCiRsYW5nWydwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJ10gPSAnU29ydGluZyc7DQokbGFuZ1sncHJvbXB0X3N1bW1hcnlfcGFnZWxpbWl0J10gPSAnUGFnZWxpbWl0JzsNCiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlfZXh0cmFfbGFiZWwnXSA9ICdDYXRlZ29yeSBleHRyYSBsYWJlbCc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGVfZWRpdCddID0gJ0VkaXQgdGl0bGUnOw0KJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1ZpZXdhYmxlIGZpZWxkcyc7DQokbGFuZ1sndmlldyddID0gJ1ZpZXcnOw0KJGxhbmdbJ3Jlb3JkZXInXSA9ICdSZW9yZGVyJzsNCiRsYW5nWyd0byddID0gJ1RvJzsNCiRsYW5nWydwb3NpdGlvbiddID0gJ1Bvc2l0aW9uJzsNCiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgZGF0ZSc7DQokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnTW9kaWZpZWQgZGF0ZSc7DQokbGFuZ1snZXhhbXBsZSddID0gJ0V4YW1wbGUnOw0KJGxhbmdbJ2dhbGxlcmllcyddID0gJ0dhbGxlcmllcyc7DQoNCiMjc2VhcmNoDQokbGFuZ1snc2VhcmNoJ10gPSAnU2VhcmNoJzsNCiRsYW5nWydyZWluZGV4J10gPSAnUmVpbmRleCc7DQokbGFuZ1sncHJvbXB0X3NlYXJjaGFibGUnXSA9ICdTZWFyY2hhYmxlJzsNCiRsYW5nWydwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJ10gPSAnRGF0ZSBlbmQgZm9yIHNlYXJjaCc7DQokbGFuZ1snc2VhcmNoYWJsZV9maWVsZHMnXSA9ICdTZWFyY2hhYmxlIGZpZWxkcyc7DQoNCiRsYW5nWydleHRyYSddID0gJ0V4dHJhJzsNCg0KJGxhbmdbJ3N1bmRheSddID0gJ1N1bmRheSc7DQokbGFuZ1snbW9uZGF5J10gPSAnTW9uZGF5JzsNCiRsYW5nWyd0dWVzZGF5J10gPSAnVHVlc2RheSc7DQokbGFuZ1snd2VkbmVzZGF5J10gPSAnV2VkbmVzZGF5JzsNCiRsYW5nWyd0aHVyc2RheSddID0gJ1RodXJzZGF5JzsNCiRsYW5nWydmcmlkYXknXSA9ICdGcmlkYXknOw0KJGxhbmdbJ3NhdHVyZGF5J10gPSAnU2F0dXJkYXknOw0KDQokbGFuZ1sncmVjdXJfcGVyaW9kJ10gPSAnUmVjdXIgcGVyaW9kJzsNCiRsYW5nWyd3ZWVrZGF5cyddID0gJ1dlZWtkYXlzJzsNCiRsYW5nWydubyddID0gJ05vbmUnOw0KJGxhbmdbJ2RhaWx5J10gPSAnRGFpbHknOw0KJGxhbmdbJ3BsdXJhbF9kYWlseSddID0gJ0RheXMnOw0KDQoNCi8vIGdsb2JhbA0KJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ1lvdXIgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHNhdmVkJzsNCiRsYW5nWydiYWNrJ10gPSAnQmFjayc7DQokbGFuZ1sndXAnXSA9ICdVcCc7DQokbGFuZ1snZG93biddID0gJ0Rvd24nOw0KJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsNCiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOw0KJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ0RlbGV0ZSBzZWxlY3RlZCc7DQokbGFuZ1snbm9zdWNoaWQnXSA9ICdObyBzdWNoIElEJzsNCiRsYW5nWydkZWxldGVkJ10gPSAnVGhlIGVudHJ5IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsNCiRsYW5nWydhZGQnXSA9ICdBZGQnOw0KJGxhbmdbJ2FsaWFzJ10gPSAnQWxpYXMnOw0KJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBpcyBpbnZhbGlkLiBJdCBtdXN0IGJlIGEgdmFsaWQgUEhQIHZhcmlhYmxlIG5hbWUnOw0KDQojIyBnYWxsZXJpZXMNCiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsNCg0KIyMgbWVzc2FnZXMNCiRsYW5nWydpbWFnZV9kZWxldGVkJ10gPSAnSW1hZ2Ugd2FzIGRlbGV0ZWQuJzsNCiRsYW5nWydpbWFnZV9ub3RfZGVsZXRlZCddID0gJ0ltYWdlIHdhc25cJ3QgZGVsZXRlZC4nOw0KJGxhbmdbJ2ltYWdlX25vdF9mb3VuZCddID0gJ0ltYWdlIHdhcyBub3QgZmluZC4nOw0KJGxhbmdbJ2ltYWdlX29yaWdfc2l6ZSddID0gJ09yaWdpbmFsIGltYWdlIHNpemUnOw0KDQoNCiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAyLjIuMyBzZXB0ZW1iZXIsIDIwMTIgIC0gbm90aGluZyBjaGFuZ2UsIGJ1dCBmaXggeG1sIGluIHJlcG9zaXRhcnk8L2xpPg0KPGxpPlZlcnNpb24gMi4yLjIgYXVndXN0LCAyMDEyIA0KPGJyIC8+TW92ZWQgYW5kIHB1cmlmaWNhdGlvbiBvcHRpb24gdGFiLiANCjxiciAvPlJlbW92ZWQgZGVmYXVsdCBwYXJhbXMgZm9yIGRlZmF1bHQgYW5kIGRldGFpbCBhY2l0b24uIFVzZSBDR0V4dGVuc2lvbiBwbHVnaW4gY2dlX21vZHVsZV9oaW50IChzZWUgaGVscCk8L2xpPg0KPGxpPlZlcnNpb24gMi4wIDI3LiBmZWJydWFyLCAyMDEyIA0KPGJyIC8+YWRkIGdhbGxlcnkgLSBtdXRsaXVwbG9hZCwgc29ydGluZywgcmVzaXplDQo8L2xpPg0KPGxpPlZlcnNpb24gMS45IEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBjYXRlZ29yeSBjdXN0b20gZmllbGRzLCBtb3ZlZCB0byB0aGVpciBvd24gc2VjdGlvbi4NCjxiciAvPiB1cGdyYWRlIHNjcmlwdCBjb21wYXRpYmxlIHdpdGggMS44LjEgdmVyc2lvbg0KPGJyIC8+IGZpeCBzb21lIGlzc3Vlcw0KPC9saT4NCjxsaT5WZXJzaW9uIDEuOC4xIEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBvcHRpb24gZm9yIHByZXZpZXcgaW4gYWRtaW4NCjxiciAvPmFkZCBwcmV2aWV3IGljb24gaW4gYWRtaW4NCjxiciAvPmFkZCBvcHRpb24gZm9yIGNvcHkgaXRlbQ0KPGJyIC8+Zml4IGF1dGxvYWQgY2xhc3MgZ2VuZXJhdG9yX29wdHMgaW4gYWRtaW4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjggSmFudWFyLCAyMDExIC0gIGl0ZW0gcHJldmlldywgYnVnIGZpeGVzPC9saT4NCjxsaT5WZXJzaW9uIDEuNyBOb3ZlbWJlciwgMjAxMSAtICBpbml0IHJlbGVhc2U8L2xpPg0KPC91bD4nOw0KDQovLyBtb2R1bGUgaGVscA0KJGxhbmdbJ2hlbHAnXSA9ICcNCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+TW9kdWxlIGdlbmVyYXRvciBsZXRzIHlvdSBjcmVhdGUgYSBsaXN0IHRoZSBtb2R1bGVzIGFzIE5ld3MsIFByb2R1Y3RzIGF0Yy4gSW5kaXZpZHVhbCBtb2R1bGVzLCB5b3UgY2FuIGxpbmsgYmV0d2VlbiB0aGVtLiAgWW91IGNhbiBjcmVhdGUgYSBtb2R1bGUgUGVvcGxlLCBHZW5kZXIgYW5kIFR5cGUgb2YgZW1wbG95bWVudCBhbmQgbGluayBiZXR3ZW4gdGhlbS48L3A+DQo8cD5FYWNoIG1vZHVsZSBpbmNsdWRlcyB0aGUgYWJpbGl0eSB0byBjcmVhdGVkIGNhdGVnb3JpZXMsIGN1c3RvbSBmaWVsZHMgIGFuZCBlZGl0ZWQgYSBudW1iZXIgb2Ygc2V0dGluZ3MuPC9wPg0KPHA+WW91IGNhbiB1c2UgdGhlIGxpc3QgdGVtcGxhdGVzLCBjYXRlZ29yaWVzIHRlbXBsYXRlcyAsIGZpbHRlciB0ZW1wbGF0ZXMsIG9yIGRldGFpbCB0ZW1wbGF0ZXMgYXMgaXQgYWxyZWFkeSBrbm93biBtb2R1bGVzIGZyb20gTmV3cywgUHJvZHVjdHMgZXRjLjwvcD4NCjxoMz5EbyB5b3UgbGlrZSBteSB3b3JrPyA8L2gzPg0KPHA+PGEgaHJlZj0iaHR0cDovL2Ntc21hZGVzaW1wbGUuc2svZG9uYXRlLWNhcmQvP3V0bV9zb3VyY2U9Y21zbWFkZXNpbXBsZSZ1dG1fbWVkaXVtPWxpbmsmdXRtX2NhbXBhaWduPWhlbHAiIHRhcmdldD0iX2JsYW5rIj5HaXZlIG1lIGZpdmUgb3IgZmVlbCBmcmVlIHRvIDxzdHJvbmc+ZG9uYXRlPC9zdHJvbmc+IG1lPC9hPjwvcD4NCic7DQoNCg0KJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtQWRkZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC4nOw0KJGxhbmdbJ2V2ZW50aGVscC1JdGVtQWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCJpdGVtX2lkXCIgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjxsaT5cImNhdGVnb3J5X2lkXCIgLSBJZCBvZiB0aGUgY2F0ZWdvcnkgZm9yIHRoaXMgaXRlbTwvbGk+DQo8bGk+XCJ0aXRsZVwiIC0gVGl0bGUgb2YgdGhlIGl0ZW08L2xpPg0KPGxpPlwiYWN0aXZlIiAtIFN0YXR1cyBvZiB0aGUgaXRlbSAoIjAiIG9yICIxIik8L2xpPg0KPGxpPlwiaXRlbV9kYXRlIiAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0YXJ0IGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8bGk+XCJpdGVtX2RhdGVfZW5kXCIgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdG9wIGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8L3VsPg0KJzsNCiRsYW5nWydldmVudGRlc2MtSXRlbUVkaXRlZCddID0gJ1NlbnQgd2hlbiBhbiBpdGVtIGlzIGVkaXRlZC4nOw0KJGxhbmdbJ2V2ZW50aGVscC1JdGVtRWRpdGVkJ10gPSAnPHA+U2VudCB3aGVuIGFuIGl0ZW0gaXMgZWRpdGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cIml0ZW1faWRcIiAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPGxpPlwiY2F0ZWdvcnlfaWRcIiAtIElkIG9mIHRoZSBjYXRlZ29yeSBmb3IgdGhpcyBpdGVtPC9saT4NCjxsaT5cInRpdGxlXCIgLSBUaXRsZSBvZiB0aGUgaXRlbTwvbGk+DQo8bGk+XCJhY3RpdmUiIC0gU3RhdHVzIG9mIHRoZSBpdGVtICgiMCIgb3IgIjEiKTwvbGk+DQo8bGk+XCJpdGVtX2RhdGUiIC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RhcnQgYmVpbmcgZGlzcGxheWVkPC9saT4NCjxsaT5cIml0ZW1fZGF0ZV9lbmRcIiAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0b3AgYmVpbmcgZGlzcGxheWVkPC9saT4NCjwvdWw+DQonOw0KJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtRGVsZXRlZCddID0gJ1NlbnQgd2hlbiBhbiBpdGVtIGlzIGRlbGV0ZWQuJzsNCiRsYW5nWydldmVudGhlbHAtSXRlbURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cIml0ZW1faWRcIiAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPC91bD4NCic7DQokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5QWRkZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBhZGRlZC4nOw0KJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeUFkZGVkJ10gPSAnPHA+U2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgYWRkZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwiY2F0ZWdvcnlfaWRcIiAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cIm5hbWVcIiAtIE5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7DQokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RWRpdGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZWRpdGVkLic7DQokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5RWRpdGVkJ10gPSAnPHA+U2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZWRpdGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cImNhdGVnb3J5X2lkXCIgLSBJZCBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCJuYW1lXCIgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cIm9yaWduYW1lXCIgLSBUaGUgb3JpZ2luYWwgbmFtZSBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsNCiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlEZWxldGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZGVsZXRlZC4nOw0KJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cImNhdGVnb3J5X2lkXCIgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwibmFtZVwiIC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsNCiRsYW5nWydldmVudGRlc2MtSXRlbXNSZW9yZGVyZWQnXSA9ICdTZW50IHdoZW4gaXRlbXMgYXJlIHJlb3JkZXJlZC4nOw0KJGxhbmdbJ2V2ZW50aGVscC1JdGVtc1Jlb3JkZXJlZCddID0gJzxwPlNlbnQgd2hlbiBpdGVtcyBpcyByZW9yZGVyZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwiY2F0ZWdvcnlfaWRcIiAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCJuYW1lXCIgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOw0KJGxhbmdbJ2V2ZW50ZGVzYy1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC4nOw0KJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCJjYXRlZ29yeV9pZFwiIC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cIm5hbWVcIiAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBHZW5lcmF0b3InOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bGUgaW5zdGFsbGllcnQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsZSBHZW5lcmF0b3Igd3VyZGUgZXJmb2xncmVpY2ggaW5zdGFsbGllcnQnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gQXJlIHlvdSBzdXJlDQp5b3Ugd2FudCB0byB1bnNpbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxpZXJ0Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdlZ3JhZGVkIHp1IHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgZ2l2ZSBzb2x1dGlvbiBmb3IgY3JlYXRpbmcgY3VzdG9tIG1vZHVsZXMuJzsKJGxhbmdbJ2luZm9fc3VjY2VzcyddID0gJ0VyZm9sZ3JlaWNoJzsKJGxhbmdbJ2luZm9fZXJyb3InXSA9ICdGZWhsZXInOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdPcHRpb25zIHVwZGF0ZWQnOwokbGFuZ1snbW9kdWxlX21pc3NpbmcnXSA9ICdCaXR0ZSwgaW5zdGFsbGllcmUgTW9kdWwgJXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0Jpc3QgZHUgc2ljaGVyPyc7CiRsYW5nWydtb2R1bGVfZGlyX3Blcm1pc3Npb24nXSA9ICdNb2R1bGUgZGlyZWN0b3J5IG5lZWQgd3JpdGVhYmxlIHBlcm1pc3Npb24uIFBsZWFzZSBjaGFuZ2UgcGVybWlzc2lvbiBmb3IgbW9kdWxlIGRpcmVjdG9yeS4nOwokbGFuZ1sncGxlYXNlX2luc3RhbGxfaXQnXSA9ICdOb3RlOiBpbnN0YWxsIHRoaXMgbW9kdWxlIHRocm91Z2ggJnF1b3Q7RXh0ZW5zaW9ucyAmcmFxdW87IE1vZHVsZXMmcXVvdDsnOwokbGFuZ1snY3JlYXRlX21vZHVsZSddID0gJ0Vyc3RlbGxlIG5ldWVzIE1vZHVsJzsKJGxhbmdbJ2RldGFpbF9wYWdlJ10gPSAnRGV0YWlsIFNlaXRlJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snd2FybmluZ19wcmV2aWV3J10gPSAnV2FybmluZzogVGhpcyBwcmV2aWV3IHBhbmVsIGJlaGF2ZXMgbXVjaCBsaWtlIGEgYnJvd3NlciB3aW5kb3cgYWxsb3dpbmcgeW91IHRvIG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgaW5pdGlhbGx5IHByZXZpZXdlZCBwYWdlLiBIb3dldmVyLCBpZiB5b3UgZG8gdGhhdCwgeW91IG1heSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLiAgTmF2aWdhdGluZyBhd2F5IGZyb20gdGhlIGluaXRpYWwgcGFnZSBhbmQgcmV0dXJuaW5nIHdpbGwgbm90IGdpdmUgdGhlIGV4cGVjdGVkIHJlc3VsdHMuPGJyLz48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBwcmV2aWV3IGRvZXMgbm90IHVwbG9hZCBmaWxlcyB5b3UgbWF5IGhhdmUgc2VsZWN0ZWQgZm9yIHVwbG9hZC4nOwokbGFuZ1snYXJ0aWNsZSddID0gJ0FydGlrZWwnOwokbGFuZ1sncHJldmlldyddID0gJ1ZvcnNjaGF1JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3JldHVybmlkJ10gPSAnVGhpcyBwcmVmZXJlbmNlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGEgcGFnZSAoYW5kIHRoZXJlZm9yZSBhIHRlbXBsYXRlKSB0byB1c2UgdG8gdmlldyBkZXRhaWwgcGFnZXMuICBJbmRpdmlkdWFsaXplZCBOZXdzIERldGFpbCBVUkxTIHdpbGwgbm90IHdvcmsgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNldCB0byBhIHZhbGlkIHBhZ2UuICBBZGRpdGlvbmFsbHksIGlmIHRoaXMgcHJlZmVyZW5jZSBpcyBzZXQsIGFuZCBubyBkZXRhaWxwYWdlIHBhcmFtZXRlciBpcyBwcm92aWRlZCBvbiB0aGUgbmV3cyB0YWcsIHRoZW4gdGhpcyB2YWx1ZSB3aWxsIGJlIHVzZWQgZm9yIGRldGFpbCBsaW5rcyc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdEZWZhdWx0IHBhZ2UgdG8gdXNlIGZvciBkZXRhaWwgdmlld3MnOwokbGFuZ1sndW5pbnN0YWxsJ10gPSAnRGVpbnN0YWxsaWVyZW4nOwokbGFuZ1snaW5zdGFsbCddID0gJ0luc3RhbGxpZXJlbic7CiRsYW5nWydjcmVhdGVfbmV3J10gPSAnRXJzdGVsbGUgbmV1ZXMgbW9kdWxlJzsKJGxhbmdbJ2dlbmVyYXRvciddID0gJ0dlbmVyYXRvcic7CiRsYW5nWydyZWdlbmVyYXRlJ10gPSAnUmUtZ2VuZXJhdGUnOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snYXR0YWNoJ10gPSAnQXR0YWNoJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyISc7CiRsYW5nWydjcmVhdGVkYXRlJ10gPSAnQ3JlYXRlIGRhdGUnOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnTW9kaWZpZWQgZGF0ZSc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvcl9yZW5hbWVfZGlyJ10gPSAnUmVuYW1lIGRpciB3aXRob3V0IHN1Y2Nlc3MgKHBlcm1pc3Npb24/KSc7CiRsYW5nWydlcnJvcl9yZXBsYWNlX2ZpbGVzJ10gPSAnTW9kdWxlIGNhbm5vdCBieSBlZGl0ZWQuIFBsZWFzZSBlZGl0IGl0IG1hbnVhbGx5Lic7CiRsYW5nWydlcnJvcl9tb2R1bGVfZXhpc3RzJ10gPSAnVGhpcyBtb2R1bGUgZXhpc3RzLiBEZWxldGUgZGlyIG9yIHJlLWdlbmVyYXRlLic7CiRsYW5nWydlcnJvcl91bmlpbnN0YWxfbW9kdWxlJ10gPSAnVGhpcyBtb2R1bGUgZXhpc3RzLiBVbmlpbnN0YWwgaXQuJzsKJGxhbmdbJ2l0ZW0nXSA9ICdJdGVtJzsKJGxhbmdbJ2l0ZW1zJ10gPSAnSXRlbXMnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdGaWVsZCBEZWZpbml0aW9uJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0ZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snb3B0aW9uJ10gPSAnT3B0aW9uJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NlbmRlbic7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0dlbmVyYWwnOwokbGFuZ1snZWRpdGluZyddID0gJ0VkaXRpbmcnOwokbGFuZ1snc3RhcnQnXSA9ICdTdGFydCBub3cnOwokbGFuZ1snbm90ZSddID0gJ05vdGUnOwokbGFuZ1snaXRlbV90aXRsZSddID0gJ1RpdGVsJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlJ10gPSAnSXRlbSB0aXRsZSc7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzJzsKJGxhbmdbJ3VybCddID0gJ1VybCc7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3Rpdic7CiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAnSXRlbSB0aXRsZSBpcyBlbXB0eSc7CiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1JlcXVpcmVkIGZpZWxkIGlzIGVtcHR5JzsKJGxhbmdbJ3Rvb19sb25nJ10gPSAnRmllbGQgdmFsdWUgZXhjZWVkcyBtYXggbGVuZ3RoJzsKJGxhbmdbJ2FwcHJvdmUnXSA9ICdTZXQgU3RhdHVzIHRvICYjMDM5O0FjdGl2ZSYjMDM5Oyc7CiRsYW5nWydyZXZlcnQnXSA9ICdTZXQgU3RhdHVzIHRvICYjMDM5O0luYWN0aXZlJiMwMzk7JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ0xhc3QgTW9kaWZpZWQnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncGFnZV9vZiddID0gJ1BhZ2UgJXMgb2YgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ1NlaXRlbiBMaW1pdCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmNsdWRlIENoaWxkcmVuPyc7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaGllJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0aWVyZW4gbmFjaCc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydGllciBSZWloZW5mb2xnZSc7CiRsYW5nWydkYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1snZGF0ZV9lbmQnXSA9ICdFbmQgRGF0dW0nOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRlcnMnOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEZXNjZW5kaW5nJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIEthdGVnb3JpZW4nOwokbGFuZ1snZnJvbSddID0gJ0Zyb211bGFyJzsKJGxhbmdbJ3RvJ10gPSAnVG8nOwokbGFuZ1sncG9zaXRpb24nXSA9ICdQb3NpdGlvbic7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgZGF0ZSc7CiRsYW5nWydzYXZlX29yZGVyJ10gPSAnU2F2ZSBvcmRlcic7CiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdFZGl0IEZpZWxkIERlZmluaXRpb24nOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdBZGQgRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnSGVscGZ1bCB0aXAnOwokbGFuZ1snZmllbGRkZWZfdHlwZSddID0gJ1R5cGUnOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltYWxlIGwmYXVtbDtuZ2UnOwokbGFuZ1snZmllbGRkZWZfcmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7CiRsYW5nWydmaWVsZGRlZl9mcm9udGVuZCddID0gJ0Zyb250IEVuZCc7CiRsYW5nWydmaWVsZGRlZl9lZGl0dmlldyddID0gJ1ZpZXcgb25seSBpbiBlZGl0JzsKJGxhbmdbJ2ZpZWxkZGVmX2ZpbHRlcl9mcm9udGVuZCddID0gJ0FkZCB0byBmaWx0ZXIgaW4gZnJvbnRlbmQnOwokbGFuZ1snZmllbGRkZWZfZmlsdGVyX2FkbWluJ10gPSAnQWRkIHRvIGZpbHRlciBpbiBhZG1pbiBhcmVhJzsKJGxhbmdbJ2ZpZWxkZGVmX3NlYXJjaGFibGUnXSA9ICdTZWFyY2hhYmxlJzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snc2VjdGlvbiddID0gJ1NlY3Rpb24nOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHRlaW5nYWJlJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdTZWxlY3QgRGF0ZSc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ1VwbG9hZCBGaWxlJzsKJGxhbmdbJ2ZpbGVfcGlja2VyJ10gPSAnRmlsZXBpY2tlcic7CiRsYW5nWydkcm9wZG93biddID0gJ0Ryb3Bkb3duJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsZSc7CiRsYW5nWydzZWxlY3RfZGVmYXVsdCddID0gJy0tIFNlbGVjdCAtLSc7CiRsYW5nWydzZWxlY3RfZmlsZSddID0gJ0RhdGVpIGF1c3N1Y2hlbic7CiRsYW5nWydjb2xvcl9waWNrZXInXSA9ICdDb2xvciBwaWNrZXInOwokbGFuZ1snbW9kdWxlX2xpbmsnXSA9ICdMaW5rIHRvIG1vZHVsZSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGlzIGVtcHR5JzsKJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZXhpc3RzJ10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdGaWVsZCB2YWx1ZSBpcyBpbnZhbGlkJzsKJGxhbmdbJ3RhYiddID0gJ1JlaXRlcic7CiRsYW5nWydkcm9wZG93bmZyb21tb2R1bGUnXSA9ICdEcm9wZG93biBmcm9tIG1vZHVsZSc7CiRsYW5nWydzdGF0aWMnXSA9ICdTdGF0aWMnOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnUHJvYmxlbSBvY2N1cnJlZCB1cGxvYWRpbmcgYSBmaWxlJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnQ291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnk6ICVzJzsKJGxhbmdbJ2Vycm9yX2ZpbGVzaXplJ10gPSAnQW4gdXBsb2FkZWQgZmlsZSBleGNlZWRlZCB0aGUgbWF4aW11bSBhbGxvd2VkIHNpemUnOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGV0eXBlJ10gPSAnQ2Fubm90IHVwbG9hZCB0aGlzIHR5cGUgb2YgZmlsZSc7CiRsYW5nWydlcnJvcl9tb3ZlZmlsZSddID0gJ0NvdWxkIG5vdCBjcmVhdGUgZmlsZTogJXMnOwokbGFuZ1snaW52YWxpZHVybCddID0gJ1VybCBpcyBpbnZhbGlkLic7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdCBDYXRlZ29yeSc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FkZCBDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeV9uYW1lJ10gPSAnQ2F0ZWdvcnkgbmFtZSc7CiRsYW5nWydjYXRlZ29yeV9uYW1lX2VtcHR5J10gPSAnQ2F0ZWdvcnkgbmFtZSBpcyBlbXB0eSc7CiRsYW5nWydjYXRlZ29yeXVwZGF0ZWQnXSA9ICdDYXRlZ29yeSB1cGRhdGVkLic7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnQ2F0ZWdvcnkgYWRkZWQuJzsKJGxhbmdbJ2NhdGVnb3J5X3RlbXBsYXRlJ10gPSAnQ2F0ZWdvcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlcyc7CiRsYW5nWydmaWx0ZXJfdGVtcGxhdGUnXSA9ICdGaWx0ZXIgVGVtcGxhdGVzJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnRGVmYXVsdCBUZW1wbGF0ZXMnOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnRWRpdCBUZW1wbGF0ZSc7CiRsYW5nWydhZGR0ZW1wbGF0ZSddID0gJ0FkZCAlcyBUZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lJ10gPSAnVGVtcGxhdGUgbmFtZSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lX2VtcHR5J10gPSAnVGVtcGxhdGUgbmFtZSBpcyBlbXB0eSc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQvZWRpdCBzdW1tYXJ5IHRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZmlsdGVyX3RlbXBsYXRlJ10gPSAnQWRkL2VkaXQgZmlsdGVyIHRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWRkL2VkaXQgZGV0YWlsIHRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfY2F0ZWdvcnlfdGVtcGxhdGUnXSA9ICdBZGQvZWRpdCBjYXRlZ29yeSB0ZW1wbGF0ZSc7CiRsYW5nWydnbG9iYWwnXSA9ICdHbG9iYWwnOwokbGFuZ1snY2hhbmdlc3NhdmVkJ10gPSAnWW91ciBjaGFuZ2VzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQnOwokbGFuZ1snYmFjayddID0gJ0JhY2snOwokbGFuZ1sndXAnXSA9ICdVcCc7CiRsYW5nWydkb3duJ10gPSAnRG93bic7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snbm9zdWNoaWQnXSA9ICdObyBzdWNoIElEJzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdUaGUgZW50cnkgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snYWRkJ10gPSAnQWRkJzsKJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBpcyBpbnZhbGlkLiBJdCBtdXN0IGJlIGEgdmFsaWQgUEhQIHZhcmlhYmxlIG5hbWUnOwokbGFuZ1snZW1wdHlfcGFyYW0nXSA9ICdUaGUgcGFyYW1ldGVyIHdhcyBlbXB0eS4gVHJ5IGFnYWluLic7CiRsYW5nWydvcGVyYXRpb25fY2FuY2VsbGVkJ10gPSAnT3BlcmF0aW9uIENhbmNlbGxlZCc7CiRsYW5nWydvcGVyYXRpb25fY29tcGxldGUnXSA9ICdPcGVyYXRpb24gQ29tcGxldGUnOwokbGFuZ1snb2YnXSA9ICdvZic7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnU2VsZWN0IEFsbCc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydzZXRkcmFmdCddID0gJ1NldCBBcyBJbmFjdGl2ZSc7CiRsYW5nWydzZXRwdWJsaXNoZWQnXSA9ICdTZXQgQXMgQWN0aXZlJzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdXaXRoIFNlbGVjdGVkJzsKJGxhbmdbJ2dvJ10gPSAnR28nOwokbGFuZ1snbm90aGluZ19zZWxlY3RkJ10gPSAnTm90aGluZyBzZWxlY3RlZCc7CiRsYW5nWydpbWFnZXNfc2l6ZV9hZG1pbiddID0gJ0ltYWdlIHNpemUnOwokbGFuZ1snaW1hZ2Vfc2l6ZV9hZG1pbl9pbmZvJ10gPSAnRXhhbXBsZXM6IDIwMHggLSB3aWR0aCwgeDIwMCAtIGhlaWdodCwgMjAweDIwMCAtIHdpZHRoL2hlaWdodCc7CiRsYW5nWydhZG1pbl9hcmVhJ10gPSAnQWRtaW4gYXJlYSc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1snbW9kZSddID0gJ01vZGUnOwokbGFuZ1snc2ltcGxlJ10gPSAnU2ltcGxlJzsKJGxhbmdbJ3NpbXBsZV9tb2RlX2luZm8nXSA9ICdTaW1wbGUgbW9kZSBpcyBpdGVtcyBsaXN0IHdpdGhvdXQgcGFnaW5hdGlvbiB3aXRoIGRyYWcmYW1wO2Ryb3AgY2hhbmdlIHBvc2l0aW9uLic7CiRsYW5nWydhZHZhbmNlZCddID0gJ0FkdmFuY2VkJzsKJGxhbmdbJ2FkdmFuY2VkX21vZGVfaW5mbyddID0gJ0FkdmFuY2VkIG1vZGUgaXMgZXh0ZW5kZWQgaXRlbXMgbGlzdCAgd2l0aCBwYWdpbmF0aW9uIGFuZCBtYW55IG1vcmUgb3B0aW9uIGxpa2UgTmV3cyBhbmQgUHJvZHVjdHMgbW9kdWxlLic7CiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAnTW9kdWxlIGZyaWVuZGx5IG5hbWUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdJdGVtIHNpbmd1bGFyJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ0l0ZW0gcGx1cmFsJzsKJGxhbmdbJ3Byb21wdF91cmxfcHJlZml4J10gPSAnVVJMIFByZWZpeCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9hY3Rpb25fcGFyYW1zJ10gPSAnRGVmYXVsdCBwYXJhbXMgZm9yIGRlZmF1bHQgYWN0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxfYWN0aW9uX3BhcmFtcyddID0gJ0RlZmF1bHQgcGFyYW1zIGZvciBkZXRhaWwgYWN0aW9uJzsKJGxhbmdbJ3Byb21wdF90aXRsZV9wYXJhbV9mb3JfY2FjaGUnXSA9ICdUaXRsZSBwYXJhbSBmb3IgY2FjaGUgcmVzdWx0cyc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdEaXNwbGF5IGRldGFpbHMgaW5saW5lJzsKJGxhbmdbJ3Byb21wdF9sYXp5bG9hZGluZyddID0gJ0xhenkgbG9hZGluZyAoSWYgd2UgZG9uJiMwMzk7dCBuZWVkIHVzZSBtb2R1bGUgd2l0aCBkZXRhaWwgbGluayBvbiBmcm9udGVuZC4pJzsKJGxhbmdbJ3Byb21wdF9oYXNfYWRtaW4nXSA9ICdIYXMgYWRtaW4/JzsKJGxhbmdbJ2hhc19nYWxsZXJ5J10gPSAnSGFzIGdhbGxlcnk/JzsKJGxhbmdbJ2dhbGxlcnknXSA9ICdHYWxsZXJ5JzsKJGxhbmdbJ2dhbGxlcnlfc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlciBmb3IgZ2FsbGVyeSc7CiRsYW5nWydmaWxlbmFtZSddID0gJ0ZpbGVuYW1lJzsKJGxhbmdbJ2FkZF9maWxlcyddID0gJ0FkZCAgZmlsZXMnOwokbGFuZ1sncHJldmlld19hZG1pbiddID0gJ1ByZXZpZXcgaW4gYWRtaW4gYXJlYT8nOwokbGFuZ1snY29weV9hZG1pbiddID0gJ0FsbG93IGNvcHkgaXRlbT8nOwokbGFuZ1snY29weV9hZG1pbl9pbmZvJ10gPSAnQWxsb3cgY29weSBleGlzdGluZyBpdGVtIHdpdGhvdXQgY29weWluZyBpbWFnZXMsIGZpbGVzIGFuZCBnYWxsZXJ5LiAnOwokbGFuZ1sncHJvbXB0X3VzZXJncm91cF9kZXBlbmRlbmNlJ10gPSAnVXNlciBncm91cCBkZXBlbmRlbmNlJzsKJGxhbmdbJ2luZm9fdXNlcmdyb3VwX2RlcGVuZGVuY2UnXSA9ICdVc2VyIHNlZSBjYXRlZ29yeSBhbmQgY2hpbGRyZW4gZm9yIGhpcyBhc3NvY2lhdGVkIHVzZXIgZ3JvdXAuJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2RldGFpbF9yZXR1cm5pZCddID0gJ0RldGFpbCByZXR1cm4gSUQnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnXSA9ICdDYXRlZ29yeSByZXR1cm4gSUQnOwokbGFuZ1sncHJvbXB0X2N1c3RvbV9maWVsZHNfZGVmYXVsdF9hZG1pbiddID0gJ0RlZmF1bHQgY3VzdG9tIGZpZWxkcyBmb3IgYWRtaW4gaXRlbXMnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfZWRpdCddID0gJ0VkaXQgY2F0ZWdvcnknOwokbGFuZ1sncHJvbXB0X3JlY3Vyc2l2ZSddID0gJ0VkaXQgcmVjdXJzaXZlJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2RhdGVfZWRpdCddID0gJ0VkaXQgZGF0ZSBzdGFydCc7CiRsYW5nWydwcm9tcHRfaXRlbV9kYXRlX2VuZF9lZGl0J10gPSAnRWRpdCBkYXRlIGVuZCc7CiRsYW5nWydwcm9tcHRfaXRlbV9hbGlhc19lZGl0J10gPSAnRWRpdCBhbGlhcyc7CiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZV9lZGl0J10gPSAnRWRpdCB0aXRsZSc7CiRsYW5nWydwcm9tcHRfaXRlbV91cmxfZWRpdCddID0gJ0VkaXQgdXJsJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ0ZpbHRlciBkYXRlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3NvcnRvcmRlciddID0gJ1NvcnQgb3JkZXInOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfc29ydGluZyddID0gJ1NvcnRpbmcnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfcGFnZWxpbWl0J10gPSAnUGFnZWxpbWl0JzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeV9leHRyYV9sYWJlbCddID0gJ0NhdGVnb3J5IGV4dHJhIGxhYmVsJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1ZpZXdhYmxlIGZpZWxkcyc7CiRsYW5nWyd2aWV3J10gPSAnVmlldyc7CiRsYW5nWydyZW9yZGVyJ10gPSAnUmVvcmRlcic7CiRsYW5nWydleGFtcGxlJ10gPSAnRXhhbXBsZSc7CiRsYW5nWydzZWFyY2gnXSA9ICdTZWFyY2gnOwokbGFuZ1sncmVpbmRleCddID0gJ1JlaW5kZXgnOwokbGFuZ1sncHJvbXB0X3NlYXJjaGFibGUnXSA9ICdTZWFyY2hhYmxlJzsKJGxhbmdbJ3Byb21wdF9zZWFyY2hfZGF0ZV9lbmQnXSA9ICdEYXRlIGVuZCBmb3Igc2VhcmNoJzsKJGxhbmdbJ3N1bmRheSddID0gJ1N1bmRheSc7CiRsYW5nWydtb25kYXknXSA9ICdNb25kYXknOwokbGFuZ1sndHVlc2RheSddID0gJ1R1ZXNkYXknOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnV2VkbmVzZGF5JzsKJGxhbmdbJ3RodXJzZGF5J10gPSAnVGh1cnNkYXknOwokbGFuZ1snZnJpZGF5J10gPSAnRnJpZGF5JzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnU2F0dXJkYXknOwokbGFuZ1sncmVjdXJfcGVyaW9kJ10gPSAnUmVjdXIgcGVyaW9kJzsKJGxhbmdbJ3dlZWtkYXlzJ10gPSAnV2Vla2RheXMnOwokbGFuZ1snbm8nXSA9ICdOb25lJzsKJGxhbmdbJ2RhaWx5J10gPSAnRGFpbHknOwokbGFuZ1sncGx1cmFsX2RhaWx5J10gPSAnRGF5cyc7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICdEZWxldGUgc2VsZWN0ZWQnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMi4yLjMgc2VwdGVtYmVyLCAyMDEyICAtIG5vdGhpbmcgY2hhbmdlLCBidXQgZml4IHhtbCBpbiByZXBvc2l0YXJ5PC9saT4NCjxsaT5WZXJzaW9uIDIuMi4yIGF1Z3VzdCwgMjAxMiANCjxiciAvPk1vdmVkIGFuZCBwdXJpZmljYXRpb24gb3B0aW9uIHRhYi4gDQo8YnIgLz5SZW1vdmVkIGRlZmF1bHQgcGFyYW1zIGZvciBkZWZhdWx0IGFuZCBkZXRhaWwgYWNpdG9uLiBVc2UgQ0dFeHRlbnNpb24gcGx1Z2luIGNnZV9tb2R1bGVfaGludCAoc2VlIGhlbHApPC9saT4NCjxsaT5WZXJzaW9uIDIuMCAyNy4gZmVicnVhciwgMjAxMiANCjxiciAvPmFkZCBnYWxsZXJ5IC0gbXV0bGl1cGxvYWQsIHNvcnRpbmcsIHJlc2l6ZQ0KPC9saT4NCjxsaT5WZXJzaW9uIDEuOSBKYW51YXIsIDIwMTIgDQo8YnIgLz5hZGQgY2F0ZWdvcnkgY3VzdG9tIGZpZWxkcywgbW92ZWQgdG8gdGhlaXIgb3duIHNlY3Rpb24uDQo8YnIgLz4gdXBncmFkZSBzY3JpcHQgY29tcGF0aWJsZSB3aXRoIDEuOC4xIHZlcnNpb24NCjxiciAvPiBmaXggc29tZSBpc3N1ZXMNCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjguMSBKYW51YXIsIDIwMTIgDQo8YnIgLz5hZGQgb3B0aW9uIGZvciBwcmV2aWV3IGluIGFkbWluDQo8YnIgLz5hZGQgcHJldmlldyBpY29uIGluIGFkbWluDQo8YnIgLz5hZGQgb3B0aW9uIGZvciBjb3B5IGl0ZW0NCjxiciAvPmZpeCBhdXRsb2FkIGNsYXNzIGdlbmVyYXRvcl9vcHRzIGluIGFkbWluDQo8L2xpPg0KPGxpPlZlcnNpb24gMS44IEphbnVhciwgMjAxMSAtICBpdGVtIHByZXZpZXcsIGJ1ZyBmaXhlczwvbGk+DQo8bGk+VmVyc2lvbiAxLjcgTm92ZW1iZXIsIDIwMTEgLSAgaW5pdCByZWxlYXNlPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICcNCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+TW9kdWxlIGdlbmVyYXRvciBsZXRzIHlvdSBjcmVhdGUgYSBsaXN0IHRoZSBtb2R1bGVzIGFzIE5ld3MsIFByb2R1Y3RzIGF0Yy4gSW5kaXZpZHVhbCBtb2R1bGVzLCB5b3UgY2FuIGxpbmsgYmV0d2VlbiB0aGVtLiAgWW91IGNhbiBjcmVhdGUgYSBtb2R1bGUgUGVvcGxlLCBHZW5kZXIgYW5kIFR5cGUgb2YgZW1wbG95bWVudCBhbmQgbGluayBiZXR3ZW4gdGhlbS48L3A+DQo8cD5FYWNoIG1vZHVsZSBpbmNsdWRlcyB0aGUgYWJpbGl0eSB0byBjcmVhdGVkIGNhdGVnb3JpZXMsIGN1c3RvbSBmaWVsZHMgIGFuZCBlZGl0ZWQgYSBudW1iZXIgb2Ygc2V0dGluZ3MuPC9wPg0KPHA+WW91IGNhbiB1c2UgdGhlIGxpc3QgdGVtcGxhdGVzLCBjYXRlZ29yaWVzIHRlbXBsYXRlcyAsIGZpbHRlciB0ZW1wbGF0ZXMsIG9yIGRldGFpbCB0ZW1wbGF0ZXMgYXMgaXQgYWxyZWFkeSBrbm93biBtb2R1bGVzIGZyb20gTmV3cywgUHJvZHVjdHMgZXRjLjwvcD48aDM+QWJvdXQgQXV0aG9yPC9oMz4NCjxwPlpkZW5vIEt1em1hbnk8YnIgLz4gPGJyIC8+DQogICAgPHN0cm9uZz5QZXJzb25hbDo8L3N0cm9uZz48YnI+DQogICAgPGEgaHJlZj0iaHR0cDovL2t1em1hbnkuYml6Lz91dG1fc291cmNlPWNtc21zJTJCbW9kdWxlJmFtcDt1dG1fbWVkaXVtPWxpbmsmYW1wO3V0bV9jYW1wYWlnbj11cmx3YXRjaGRvZyI+a3V6bWFueS5iaXo8L2E+PGJyPg0KICAgIDxhIGhyZWY9Imh0dHA6Ly9tYWRlc2ltcGxlLnNrLz91dG1fc291cmNlPWNtc21zJTJCbW9kdWxlJmFtcDt1dG1fbWVkaXVtPWxpbmsmYW1wO3V0bV9jYW1wYWlnbj11cmx3YXRjaGRvZyI+bWFkZXNpbXBsZS5zazwvYT48YnI+DQogICAgPGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL2t1em1hbnkiPnR3aXR0ZXI8L2E+PGJyPg0KICAgIDxhIGhyZWY9Imh0dHA6Ly9hYm91dC5tZS9rdXptYW55Ij5hYm91dC5tZTwvYT48YnI+PGJyIC8+DQogICAgPHN0cm9uZz5EbyBuaWNlIHRoaW5nIHdpdGggbWU8L3N0cm9uZz48YnIgLz4NCiAgICA8YSBocmVmPSJodHRwOi8vY21zbWFkZXNpbXBsZS5zay9vdXRzb3VyY2luZy8/dXRtX3NvdXJjZT1jbXNtcyUyQm1vZHVsZSZhbXA7dXRtX21lZGl1bT1saW5rJmFtcDt1dG1fY2FtcGFpZ249dXJsd2F0Y2hkb2ciPkNNUyBNYWRlIFNpbXBsZSBvdXRzb3VyY2luZzwvYT48YnI+PGJyPg0KPC9wPic7CiRsYW5nWydldmVudGRlc2MtSXRlbUFkZGVkJ10gPSAnU2VudCB3aGVuIGFuIGl0ZW0gaXMgYWRkZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtQWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2l0ZW1faWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gaXRlbTwvbGk+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBjYXRlZ29yeSBmb3IgdGhpcyBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7dGl0bGVcJnF1b3Q7IC0gVGl0bGUgb2YgdGhlIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDthY3RpdmUmcXVvdDsgLSBTdGF0dXMgb2YgdGhlIGl0ZW0gKCZxdW90OzAmcXVvdDsgb3IgJnF1b3Q7MSZxdW90Oyk8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGUmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdGFydCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGVfZW5kXCZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0b3AgYmVpbmcgZGlzcGxheWVkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1FZGl0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtRWRpdGVkJ10gPSAnPHA+U2VudCB3aGVuIGFuIGl0ZW0gaXMgZWRpdGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGNhdGVnb3J5IGZvciB0aGlzIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDt0aXRsZVwmcXVvdDsgLSBUaXRsZSBvZiB0aGUgaXRlbTwvbGk+DQo8bGk+XCZxdW90O2FjdGl2ZSZxdW90OyAtIFN0YXR1cyBvZiB0aGUgaXRlbSAoJnF1b3Q7MCZxdW90OyBvciAmcXVvdDsxJnF1b3Q7KTwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZSZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0YXJ0IGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZV9lbmRcJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RvcCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbURlbGV0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLic7CiRsYW5nWydldmVudGhlbHAtSXRlbURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5QWRkZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBhZGRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5QWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RWRpdGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZWRpdGVkLic7CiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlFZGl0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBlZGl0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCZxdW90O29yaWduYW1lXCZxdW90OyAtIFRoZSBvcmlnaW5hbCBuYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RGVsZXRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1zUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGl0ZW1zIGFyZSByZW9yZGVyZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtc1Jlb3JkZXJlZCddID0gJzxwPlNlbnQgd2hlbiBpdGVtcyBpcyByZW9yZGVyZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcmllc1Jlb3JkZXJlZCddID0gJ1NlbnQgd2hlbiBjYXRlZ29yaWVzIGFyZSByZW9yZGVyZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTkyNzI0MzQ2LjEzNDc5MzgwNTAuMTM0ODIwNzUxMi4xMzQ4MjE0Mzk1LjYnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzQ4MjE0Mzk1LjYuNS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBHZW5lcmF0b3InOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdQb3N0IEluc3RhbGwgTWVzc2FnZSwgKGUuZy4sIEJlIHN1cmUgdG8gc2V0ICZxdW90O21hbmFnZSBtbGVfY21zJnF1b3Q7IHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEpJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bGUgR2VuZXJhdG9yIHdhcyBzdWNjZXNzZnVsIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IEFyZSB5b3Ugc3VyZQ0KeW91IHdhbnQgdG8gdW5zaW5zdGFsbCB0aGlzIGZpbmUgbW9kdWxlPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGFkZCBtdWx0aWxhbmd1YWdlIHNvbHV0aW9ucyB0byB5b3UgQ01TIE1hZGUgU2ltcGxlJzsKJGxhbmdbJ2luZm9fc3VjY2VzcyddID0gJ1N1Y2Nlcyc7CiRsYW5nWydpbmZvX2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdPcHRpb25zIHVwZGF0ZWQnOwokbGFuZ1snbW9kdWxlX21pc3NpbmcnXSA9ICdQbGVhc2UsIGluc3RhbCBtb2R1bGUgJXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JzsKJGxhbmdbJ21vZHVsZV9kaXJfcGVybWlzc2lvbiddID0gJ01vZHVsZSBkaXJlY290cnkgbmVlZCB3cml0ZWFibGUgcGVybWlzc2lvbi4gUGxlYXNlIGNoYW5nZSBwZXJtaXNzaW9uIGZvciBtb2R1bGUgZGlyZWN0b3J5Lic7CiRsYW5nWydwbGVhc2VfaW5zdGFsbF9pdCddID0gJ05vdGU6IGluc3RhbGwgdGhpcyBtb2R1bGUgdGhyb3VnaCAmcXVvdDtFeHRlbnNpb25zICZyYXF1bzsgTW9kdWxlcyZxdW90Oyc7CiRsYW5nWydjcmVhdGVfbW9kdWxlJ10gPSAnQ3JlYXRlIG5ldyBtb2R1bGUnOwokbGFuZ1snZGV0YWlsX3BhZ2UnXSA9ICdEZXRhaWwgUGFnZSc7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ3dhcm5pbmdfcHJldmlldyddID0gJ1dhcm5pbmc6IFRoaXMgcHJldmlldyBwYW5lbCBiZWhhdmVzIG11Y2ggbGlrZSBhIGJyb3dzZXIgd2luZG93IGFsbG93aW5nIHlvdSB0byBuYXZpZ2F0ZSBhd2F5IGZyb20gdGhlIGluaXRpYWxseSBwcmV2aWV3ZWQgcGFnZS4gSG93ZXZlciwgaWYgeW91IGRvIHRoYXQsIHlvdSBtYXkgZXhwZXJpZW5jZSB1bmV4cGVjdGVkIGJlaGF2aW91ci4gIE5hdmlnYXRpbmcgYXdheSBmcm9tIHRoZSBpbml0aWFsIHBhZ2UgYW5kIHJldHVybmluZyB3aWxsIG5vdCBnaXZlIHRoZSBleHBlY3RlZCByZXN1bHRzLjxici8+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgcHJldmlldyBkb2VzIG5vdCB1cGxvYWQgZmlsZXMgeW91IG1heSBoYXZlIHNlbGVjdGVkIGZvciB1cGxvYWQuJzsKJGxhbmdbJ2FydGljbGUnXSA9ICdBcnRpY2xlJzsKJGxhbmdbJ3ByZXZpZXcnXSA9ICdQcmV2aWV3JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3JldHVybmlkJ10gPSAnVGhpcyBwcmVmZXJlbmNlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGEgcGFnZSAoYW5kIHRoZXJlZm9yZSBhIHRlbXBsYXRlKSB0byB1c2UgdG8gdmlldyBkZXRhaWwgcGFnZXMuICBJbmRpdmlkdWFsaXplZCBOZXdzIERldGFpbCBVUkxTIHdpbGwgbm90IHdvcmsgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNldCB0byBhIHZhbGlkIHBhZ2UuICBBZGRpdGlvbmFsbHksIGlmIHRoaXMgcHJlZmVyZW5jZSBpcyBzZXQsIGFuZCBubyBkZXRhaWxwYWdlIHBhcmFtZXRlciBpcyBwcm92aWRlZCBvbiB0aGUgbmV3cyB0YWcsIHRoZW4gdGhpcyB2YWx1ZSB3aWxsIGJlIHVzZWQgZm9yIGRldGFpbCBsaW5rcyc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdEZWZhdWx0IHBhZ2UgdG8gdXNlIGZvciBkZXRhaWwgdmlld3MnOwokbGFuZ1snZ2VuZXJhdG9yJ10gPSAnR2VuZXJhdG9yJzsKJGxhbmdbJ3JlZ2VuZXJhdGUnXSA9ICdSZS1nZW5lcmF0ZSc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydhdHRhY2gnXSA9ICdBdHRhY2gnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snY3JlYXRlZGF0ZSddID0gJ0NyZWF0ZSBkYXRlJzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ01vZGlmaWVkIGRhdGUnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3JfcmVuYW1lX2RpciddID0gJ1JlbmFtZSBkaXIgd2l0aG91dCBzdWNjZXNzIChwZXJtaXNzaW9uPyknOwokbGFuZ1snZXJyb3JfcmVwbGFjZV9maWxlcyddID0gJ01vZHVsZSBjYW5ub3QgYnkgZWRpdGVkLiBQbGVhc2UgZWRpdCBpdCBtYW51YWxseS4nOwokbGFuZ1snZXJyb3JfbW9kdWxlX2V4aXN0cyddID0gJ1RoaXMgbW9kdWxlIGV4aXN0cy4gRGVsZXRlIGRpciBvciByZS1nZW5lcmF0ZS4nOwokbGFuZ1snZXJyb3JfdW5paW5zdGFsX21vZHVsZSddID0gJ1RoaXMgbW9kdWxlIGV4aXN0cy4gVW5paW5zdGFsIGl0Lic7CiRsYW5nWydpdGVtJ10gPSAnSXRlbSc7CiRsYW5nWydpdGVtcyddID0gJ0l0ZW1zJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ29wdGlvbiddID0gJ09wdGlvbic7CiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdUaXRsZSc7CiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZSddID0gJ0l0ZW0gdGl0bGUnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7CiRsYW5nWyd1cmwnXSA9ICdVcmwnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsKJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdJdGVtIHRpdGxlIGlzIGVtcHR5JzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnUmVxdWlyZWQgZmllbGQgaXMgZW1wdHknOwokbGFuZ1sndG9vX2xvbmcnXSA9ICdGaWVsZCB2YWx1ZSBleGNlZWRzIG1heCBsZW5ndGgnOwokbGFuZ1snYXBwcm92ZSddID0gJ1NldCBTdGF0dXMgdG8gJiMwMzk7QWN0aXZlJiMwMzk7JzsKJGxhbmdbJ3JldmVydCddID0gJ1NldCBTdGF0dXMgdG8gJiMwMzk7SW5hY3RpdmUmIzAzOTsnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFzdCBNb2RpZmllZCc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnZSAlcyBvZiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnZSBMaW1pdCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmNsdWRlIENoaWxkcmVuPyc7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaHknOwokbGFuZ1snc29ydF9ieSddID0gJ1NvcnQgQnknOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NvcnQgT3JkZXInOwokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snZGF0ZV9lbmQnXSA9ICdFbmQgZGF0ZSc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVycyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRpbmcnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRpbmcnOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ0FsbCBjYXRlZ29yaWVzJzsKJGxhbmdbJ2Zyb20nXSA9ICdGcm9tJzsKJGxhbmdbJ3RvJ10gPSAnVG8nOwokbGFuZ1sncG9zaXRpb24nXSA9ICdQb3NpdGlvbic7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgZGF0ZSc7CiRsYW5nWydzYXZlX29yZGVyJ10gPSAnU2F2ZSBvcmRlcic7CiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdFZGl0IEZpZWxkIERlZmluaXRpb24nOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdBZGQgRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydmaWVsZGRlZl9oZWxwJ10gPSAnSGVscGZ1bCB0aXAnOwokbGFuZ1snZmllbGRkZWZfdHlwZSddID0gJ1R5cGUnOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnUmVxdWlyZWQnOwokbGFuZ1snZmllbGRkZWZfZnJvbnRlbmQnXSA9ICdGcm9udCBFbmQnOwokbGFuZ1snZmllbGRkZWZfZWRpdHZpZXcnXSA9ICdWaWV3IG9ubHkgaW4gZWRpdCc7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdBZGQgdG8gZmlsdGVyIGluIGZyb250ZW5kJzsKJGxhbmdbJ2ZpZWxkZGVmX2ZpbHRlcl9hZG1pbiddID0gJ0FkZCB0byBmaWx0ZXIgaW4gYWRtaW4gYXJlYSc7CiRsYW5nWydmaWVsZGRlZl9zZWFyY2hhYmxlJ10gPSAnU2VhcmNoYWJsZSc7CiRsYW5nWydleHRyYSddID0gJ0V4dHJhJzsKJGxhbmdbJ3NlY3Rpb24nXSA9ICdTZWN0aW9uJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0IElucHV0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snc2VsZWN0X2RhdGUnXSA9ICdTZWxlY3QgRGF0ZSc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ1VwbG9hZCBGaWxlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlJzsKJGxhbmdbJ3NlbGVjdF9kZWZhdWx0J10gPSAnLS0gU2VsZWN0IC0tJzsKJGxhbmdbJ3NlbGVjdF9maWxlJ10gPSAnU2VsZWN0IEZpbGUnOwokbGFuZ1snY29sb3JfcGlja2VyJ10gPSAnQ29sb3IgcGlja2VyJzsKJGxhbmdbJ21vZHVsZV9saW5rJ10gPSAnTGluayB0byBtb2R1bGUnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9lbXB0eSddID0gJ0ZpZWxkIGRlZmluaXRpb24gbmFtZSBpcyBlbXB0eSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ0ZpZWxkIGRlZmluaXRpb24gbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydpbnZhbGlkJ10gPSAnRmllbGQgdmFsdWUgaXMgaW52YWxpZCc7CiRsYW5nWyd0YWInXSA9ICdUYWInOwokbGFuZ1snZHJvcGRvd25mcm9tbW9kdWxlJ10gPSAnRHJvcGRvd24gZnJvbSBtb2R1bGUnOwokbGFuZ1snc3RhdGljJ10gPSAnU3RhdGljJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ1Byb2JsZW0gb2NjdXJyZWQgdXBsb2FkaW5nIGEgZmlsZSc7CiRsYW5nWydlcnJvcl9ta2RpciddID0gJ0NvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5OiAlcyc7CiRsYW5nWydlcnJvcl9maWxlc2l6ZSddID0gJ0FuIHVwbG9hZGVkIGZpbGUgZXhjZWVkZWQgdGhlIG1heGltdW0gYWxsb3dlZCBzaXplJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxldHlwZSddID0gJ0Nhbm5vdCB1cGxvYWQgdGhpcyB0eXBlIG9mIGZpbGUnOwokbGFuZ1snZXJyb3JfbW92ZWZpbGUnXSA9ICdDb3VsZCBub3QgY3JlYXRlIGZpbGU6ICVzJzsKJGxhbmdbJ2ludmFsaWR1cmwnXSA9ICdVcmwgaXMgaW52YWxpZC4nOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0VkaXQgQ2F0ZWdvcnknOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBZGQgQ2F0ZWdvcnknOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ0NhdGVnb3J5IG5hbWUnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZV9lbXB0eSddID0gJ0NhdGVnb3J5IG5hbWUgaXMgZW1wdHknOwokbGFuZ1snY2F0ZWdvcnl1cGRhdGVkJ10gPSAnQ2F0ZWdvcnkgdXBkYXRlZC4nOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0NhdGVnb3J5IGFkZGVkLic7CiRsYW5nWydjYXRlZ29yeV90ZW1wbGF0ZSddID0gJ0NhdGVnb3J5IFRlbXBsYXRlcyc7CiRsYW5nWydzdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1snZmlsdGVyX3RlbXBsYXRlJ10gPSAnRmlsdGVyIFRlbXBsYXRlcyc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ0RlZmF1bHQgVGVtcGxhdGVzJzsKJGxhbmdbJ2VkaXR0ZW1wbGF0ZSddID0gJ0VkaXQgVGVtcGxhdGUnOwokbGFuZ1snYWRkdGVtcGxhdGUnXSA9ICdBZGQgJXMgVGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ1RlbXBsYXRlIG5hbWUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ1RlbXBsYXRlIG5hbWUgaXMgZW1wdHknOwokbGFuZ1snZ2xvYmFsJ10gPSAnR2xvYmFsJzsKJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ1lvdXIgY2hhbmdlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHNhdmVkJzsKJGxhbmdbJ2JhY2snXSA9ICdCYWNrJzsKJGxhbmdbJ3VwJ10gPSAnVXAnOwokbGFuZ1snZG93biddID0gJ0Rvd24nOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ25vc3VjaGlkJ10gPSAnTm8gc3VjaCBJRCc7CiRsYW5nWydkZWxldGVkJ10gPSAnVGhlIGVudHJ5IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWydhbGlhc19pbnZhbGlkJ10gPSAnQWxpYXMgaXMgaW52YWxpZC4gSXQgbXVzdCBiZSBhIHZhbGlkIFBIUCB2YXJpYWJsZSBuYW1lJzsKJGxhbmdbJ2VtcHR5X3BhcmFtJ10gPSAnVGhlIHBhcmFtZXRlciB3YXMgZW1wdHkuIFRyeSBhZ2Fpbi4nOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ09wZXJhdGlvbiBDYW5jZWxsZWQnOwokbGFuZ1snb3BlcmF0aW9uX2NvbXBsZXRlJ10gPSAnT3BlcmF0aW9uIENvbXBsZXRlJzsKJGxhbmdbJ29mJ10gPSAnb2YnOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdCBBbGwnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdCBPbmUnOwokbGFuZ1snc2V0ZHJhZnQnXSA9ICdTZXQgQXMgSW5hY3RpdmUnOwokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnU2V0IEFzIEFjdGl2ZSc7CiRsYW5nWyd3aXRoX3NlbGVjdGVkJ10gPSAnV2l0aCBTZWxlY3RlZCc7CiRsYW5nWydnbyddID0gJ0dvJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05vdGhpbmcgc2VsZWN0ZWQnOwokbGFuZ1snaW1hZ2VzX3NpemVfYWRtaW4nXSA9ICdJbWFnZSBzaXplJzsKJGxhbmdbJ2ltYWdlX3NpemVfYWRtaW5faW5mbyddID0gJ0V4YW1wbGVzOiAyMDB4IC0gd2lkdGgsIHgyMDAgLSBoZWlnaHQsIDIwMHgyMDAgLSB3aWR0aC9oZWlnaHQnOwokbGFuZ1snYWRtaW5fYXJlYSddID0gJ0FkbWluIGFyZWEnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ21vZGUnXSA9ICdNb2RlJzsKJGxhbmdbJ3NpbXBsZSddID0gJ1NpbXBsZSc7CiRsYW5nWydhZHZhbmNlZCddID0gJ0FkdmFuY2VkJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdNb2R1bGUgZnJpZW5kbHkgbmFtZSc7CiRsYW5nWydwcm9tcHRfaXRlbV9zaW5ndWxhciddID0gJ0l0ZW0gc2luZ3VsYXInOwokbGFuZ1sncHJvbXB0X2l0ZW1fcGx1cmFsJ10gPSAnSXRlbSBwbHVyYWwnOwokbGFuZ1sncHJvbXB0X3VybF9wcmVmaXgnXSA9ICdVUkwgUHJlZml4JzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2FjdGlvbl9wYXJhbXMnXSA9ICdEZWZhdWx0IHBhcmFtcyBmb3IgZGVmYXVsdCBhY3Rpb24nOwokbGFuZ1sncHJvbXB0X2RldGFpbF9hY3Rpb25fcGFyYW1zJ10gPSAnRGVmYXVsdCBwYXJhbXMgZm9yIGRldGFpbCBhY3Rpb24nOwokbGFuZ1sncHJvbXB0X3RpdGxlX3BhcmFtX2Zvcl9jYWNoZSddID0gJ1RpdGxlIHBhcmFtIGZvciBjYWNoZSByZXN1bHRzJzsKJGxhbmdbJ3Byb21wdF9kaXNwbGF5X2lubGluZSddID0gJ0Rpc3BsYXkgZGV0YWlscyBpbmxpbmUnOwokbGFuZ1sncHJvbXB0X2xhenlsb2FkaW5nJ10gPSAnTGF6eSBsb2FkaW5nIChJZiB3ZSBkb24mIzAzOTt0IG5lZWQgdXNlIG1vZHVsZSB3aXRoIGRldGFpbCBsaW5rIG9uIGZyb250ZW5kLiknOwokbGFuZ1sncHJvbXB0X2hhc19hZG1pbiddID0gJ0hhcyBhZG1pbj8nOwokbGFuZ1snaGFzX2dhbGxlcnknXSA9ICdIYXMgZ2FsbGVyeT8nOwokbGFuZ1snZ2FsbGVyeSddID0gJ0dhbGxlcnknOwokbGFuZ1snZ2FsbGVyeV9zb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyIGZvciBnYWxsZXJ5JzsKJGxhbmdbJ2ZpbGVuYW1lJ10gPSAnRmlsZW5hbWUnOwokbGFuZ1snYWRkX2ZpbGVzJ10gPSAnQWRkICBmaWxlcyc7CiRsYW5nWydwcmV2aWV3X2FkbWluJ10gPSAnUHJldmlldyBpbiBhZG1pbiBhcmVhPyc7CiRsYW5nWydjb3B5X2FkbWluJ10gPSAnQWxsb3cgY29weSBpdGVtPyc7CiRsYW5nWydwcm9tcHRfdXNlcmdyb3VwX2RlcGVuZGVuY2UnXSA9ICdVc2VyIGdyb3VwIGRlcGVuZGVuY2UnOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGV0YWlsX3JldHVybmlkJ10gPSAnRGV0YWlsIHJldHVybiBJRCc7CiRsYW5nWydwcm9tcHRfaXRlbV9jYXRlZ29yeV9yZXR1cm5pZCddID0gJ0NhdGVnb3J5IHJldHVybiBJRCc7CiRsYW5nWydwcm9tcHRfY3VzdG9tX2ZpZWxkc19kZWZhdWx0X2FkbWluJ10gPSAnRGVmYXVsdCBjdXN0b20gZmllbGRzIGZvciBhZG1pbiBpdGVtcyc7CiRsYW5nWydwcm9tcHRfaXRlbV9jYXRlZ29yeV9lZGl0J10gPSAnRWRpdCBjYXRlZ29yeSc7CiRsYW5nWydwcm9tcHRfcmVjdXJzaXZlJ10gPSAnRWRpdCByZWN1cnNpdmUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0J10gPSAnRWRpdCBkYXRlJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2RhdGVfZW5kX2VkaXQnXSA9ICdFZGl0IGRhdGUgZW5kJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnXSA9ICdFZGl0IGFsaWFzJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlX2VkaXQnXSA9ICdFZGl0IHRpdGxlJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3VybF9lZGl0J10gPSAnRWRpdCB1cmwnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnRmlsdGVyIGRhdGUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlcic7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJ10gPSAnU29ydGluZyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9wYWdlbGltaXQnXSA9ICdQYWdlbGltaXQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4dHJhX2xhYmVsJ10gPSAnQ2F0ZWdvcnkgZXh0cmEgbGFiZWwnOwokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnVmlld2FibGUgZmllbGRzJzsKJGxhbmdbJ3ZpZXcnXSA9ICdWaWV3JzsKJGxhbmdbJ3Jlb3JkZXInXSA9ICdSZW9yZGVyJzsKJGxhbmdbJ3NlYXJjaCddID0gJ1NlYXJjaCc7CiRsYW5nWydyZWluZGV4J10gPSAnUmVpbmRleCc7CiRsYW5nWydwcm9tcHRfc2VhcmNoYWJsZSddID0gJ1NlYXJjaGFibGUnOwokbGFuZ1sncHJvbXB0X3NlYXJjaF9kYXRlX2VuZCddID0gJ0RhdGUgZW5kIGZvciBzZWFyY2gnOwokbGFuZ1snc3VuZGF5J10gPSAnU3VuZGF5JzsKJGxhbmdbJ21vbmRheSddID0gJ01vbmRheSc7CiRsYW5nWyd0dWVzZGF5J10gPSAnVHVlc2RheSc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdXZWRuZXNkYXknOwokbGFuZ1sndGh1cnNkYXknXSA9ICdUaHVyc2RheSc7CiRsYW5nWydmcmlkYXknXSA9ICdGcmlkYXknOwokbGFuZ1snc2F0dXJkYXknXSA9ICdTYXR1cmRheSc7CiRsYW5nWydyZWN1cl9wZXJpb2QnXSA9ICdSZWN1ciBwZXJpb2QnOwokbGFuZ1snd2Vla2RheXMnXSA9ICdXZWVrZGF5cyc7CiRsYW5nWydubyddID0gJ05vbmUnOwokbGFuZ1snZGFpbHknXSA9ICdEYWlseSc7CiRsYW5nWydwbHVyYWxfZGFpbHknXSA9ICdEYXlzJzsKJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ0RlbGV0ZSBzZWxlY3RlZCc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiBOb3ZlbWJlciwgMjAxMSAtICBpbml0IHJlbGVhc2U8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPk1vZHVsZSBnZW5lcmF0b3IgbGV0cyB5b3UgY3JlYXRlIGEgbGlzdCB0aGUgbW9kdWxlcyBhcyBOZXdzLCBQcm9kdWN0cyBhdGMuIEluZGl2aWR1YWwgbW9kdWxlcywgeW91IGNhbiBsaW5rIGJldHdlZW4gdGhlbS4gIFlvdSBjYW4gY3JlYXRlIGEgbW9kdWxlIFBlb3BsZSwgR2VuZGVyIGFuZCBUeXBlIG9mIGVtcGxveW1lbnQgYW5kIGxpbmsgYmV0d2VuIHRoZW0uPC9wPg0KPHA+RWFjaCBtb2R1bGUgaW5jbHVkZXMgdGhlIGFiaWxpdHkgdG8gY3JlYXRlZCBjYXRlZ29yaWVzLCBjdXN0b20gZmllbGRzICBhbmQgZWRpdGVkIGEgbnVtYmVyIG9mIHNldHRpbmdzLjwvcD4NCjxwPllvdSBjYW4gdXNlIHRoZSBsaXN0IHRlbXBsYXRlcyAsIGNhdGVnb3JpZXMgdGVtcGxhdGVzICwgZmlsdGVyIHRlbXBsYXRlcywgb3IgZGV0YWlsIHRlbXBsYXRlcyBhcyBpdCBhbHJlYWR5IGtub3duIG1vZHVsZXMgZnJvbSBOZXdzLCBQcm9kdWN0cyBldGMuPC9wPic7CiRsYW5nWydldmVudGRlc2MtSXRlbUFkZGVkJ10gPSAnU2VudCB3aGVuIGFuIGl0ZW0gaXMgYWRkZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtQWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2l0ZW1faWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gaXRlbTwvbGk+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBjYXRlZ29yeSBmb3IgdGhpcyBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7dGl0bGVcJnF1b3Q7IC0gVGl0bGUgb2YgdGhlIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDthY3RpdmUmcXVvdDsgLSBTdGF0dXMgb2YgdGhlIGl0ZW0gKCZxdW90OzAmcXVvdDsgb3IgJnF1b3Q7MSZxdW90Oyk8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGUmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdGFydCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGVfZW5kXCZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0b3AgYmVpbmcgZGlzcGxheWVkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1FZGl0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtRWRpdGVkJ10gPSAnPHA+U2VudCB3aGVuIGFuIGl0ZW0gaXMgZWRpdGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGNhdGVnb3J5IGZvciB0aGlzIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDt0aXRsZVwmcXVvdDsgLSBUaXRsZSBvZiB0aGUgaXRlbTwvbGk+DQo8bGk+XCZxdW90O2FjdGl2ZSZxdW90OyAtIFN0YXR1cyBvZiB0aGUgaXRlbSAoJnF1b3Q7MCZxdW90OyBvciAmcXVvdDsxJnF1b3Q7KTwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZSZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0YXJ0IGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZV9lbmRcJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RvcCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbURlbGV0ZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLic7CiRsYW5nWydldmVudGhlbHAtSXRlbURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5QWRkZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBhZGRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5QWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RWRpdGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZWRpdGVkLic7CiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlFZGl0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBlZGl0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgaXRlbSBjYXRlZ29yeTwvbGk+DQo8bGk+XCZxdW90O29yaWduYW1lXCZxdW90OyAtIFRoZSBvcmlnaW5hbCBuYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUNhdGVnb3J5RGVsZXRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeURlbGV0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1zUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGl0ZW1zIGFyZSByZW9yZGVyZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtc1Jlb3JkZXJlZCddID0gJzxwPlNlbnQgd2hlbiBpdGVtcyBpcyByZW9yZGVyZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcmllc1Jlb3JkZXJlZCddID0gJ1NlbnQgd2hlbiBjYXRlZ29yaWVzIGFyZSByZW9yZGVyZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTUzNjg0OTExNS0xMzA3OTgzNDk1MjEwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTk3ODA3OTg1Ni4xMzMwMTY3NTg3LjEzMzA0NjA4MDYuMTMzMDQ2Mjc1OS4xNyc7CiRsYW5nWyd1dG16J10gPSAnMS4xMzIxMzAyNzgyLjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4zLjEwLjEzMzA0NjI3NTknOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBHZW5lcmF0b3IgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQmVyaWNodCB2b29yYWZnYWFuZCBhYW4gZGUgaW5zdGFsbGF0aWUsIChiaWp2b29yYmVlbGQ6IGNvbnRyb2xlZXIgdXcgcmVjaHRlbiB2b29yIGhldCBnZWJydWlrIHZhbiBkZXplIG1vZHVsZSknOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsZSBHZW5lcmF0b3IgaXMgc3VjY2Vzdm9sIGdlZGUmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFY2h0PyBXZWV0IHUgaGV0IHpla2VyPw0Kd2lsdCB1IGRlemUgcHJhY2h0aWdlIG1vZHVsZSB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgZ2VkZSZpdW1sO25zdGFsbGVlcmQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaWUgJXMgZ2UmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBpcyBiaWpnZXdlcmt0IG5hYXIgdmVyc2llICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0RlemUgbW9kdWxlIHZvZWd0IGZ1bmN0aWVzIHZvb3IgbWVlcnRhbGxpZ2hlaWQgdG9lIGFhbiB1dyBpbnN0YWxsYXRpZSB2YW4gQ01TIE1hZGUgU2ltcGxlJzsKJGxhbmdbJ2luZm9fc3VjY2VzcyddID0gJ0dlc2xhYWdkJzsKJGxhbmdbJ2luZm9fZXJyb3InXSA9ICdGb3V0JzsKJGxhbmdbJ29wdGlvbnN1cGRhdGVkJ10gPSAnT3B0aWVzIGJpamdld2Vya3QnOwokbGFuZ1snbW9kdWxlX21pc3NpbmcnXSA9ICdWZXJ3aWpkZXIgYWxzdHVibGllZnQgZGUgbW9kdWxlICVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ21vZHVsZV9kaXJfcGVybWlzc2lvbiddID0gJ0RlIG1vZHVsZW1hcCBtb2V0IGJlc2NocmlqZmJhYXIgemlqbi4gVmVyYW5kZXIgZGUgcmVjaHRlbiB2b29yIGRlemUgbW9kdWxlLic7CiRsYW5nWydnZW5lcmF0b3InXSA9ICdHZW5lcmF0b3IgJzsKJGxhbmdbJ3JlZ2VuZXJhdGUnXSA9ICdPcG5pZXV3IGdlbmVyZXJlbic7CiRsYW5nWyduYW1lJ10gPSAnTmFhbSc7CiRsYW5nWydhdHRhY2gnXSA9ICdLb3BwZWxlbic7CiRsYW5nWydlcnJvciddID0gJ0ZvdXQhJzsKJGxhbmdbJ2NyZWF0ZWRhdGUnXSA9ICdBYW5tYWFrZGF0dW0nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnQmV3ZXJraW5nc2RhdHVtJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICcgJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1RvZWdhbmcgZ2V3ZWlnZXJkLCBjb250cm9sZWVyIHV3IHJlY2h0ZW4uJzsKJGxhbmdbJ2Vycm9yX3JlbmFtZV9kaXInXSA9ICdIZXJub2VtZW4gdmFuIGRlIG1hcCBuaWV0IG1vZ2VsaWprIChyZWNodGVucHJvYmxlZW0/KSc7CiRsYW5nWydlcnJvcl9yZXBsYWNlX2ZpbGVzJ10gPSAnTW9kdWxlIGthbiBuaWV0IHdvcmRlbiBiZXdlcmt0LiBCZXdlcmsgZGV6ZSBoYW5kbWF0aWcuJzsKJGxhbmdbJ2Vycm9yX21vZHVsZV9leGlzdHMnXSA9ICdEZXplIG1vZHVsZSBiZXN0YWF0LiBWZXJ3aWpkZXIgZGUgbWFwIG9mIG1hYWsgb3BuaWV1dyBhYW4uJzsKJGxhbmdbJ2Vycm9yX3VuaWluc3RhbF9tb2R1bGUnXSA9ICdEZXplIG1vZHVsZSBiZXN0YWF0LiBWZXJ3aWpkZXIgaGV0Lic7CiRsYW5nWydpdGVtJ10gPSAnSXRlbSAnOwokbGFuZ1snaXRlbXMnXSA9ICdJdGVtcyAnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdWZWxkZGVmZW5pdGllJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ1ZlbGRkZWZlbml0aWVzJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWUmZXVtbDtuJzsKJGxhbmdbJ29wdGlvbiddID0gJ09wdGllJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpZXMnOwokbGFuZ1snc3VibWl0J10gPSAnT3BzbGFhbic7CiRsYW5nWydwcmV2cGFnZSddID0gJzwgJzsKJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdUaXRlbCc7CiRsYW5nWydwcm9tcHRfaXRlbV90aXRsZSddID0gJ0l0ZW0gdGl0ZWwnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyAnOwokbGFuZ1sndXJsJ10gPSAnVVJMJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGllZic7CiRsYW5nWydpdGVtX3RpdGxlX2VtcHR5J10gPSAnSXRlbXRpdGVsIGlzIGxlZWdnZWxhdGVuJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5J10gPSAnVmVyZWlzdCB2ZWxkIGlzIGxlZWdnZWxhdGVuJzsKJGxhbmdbJ3Rvb19sb25nJ10gPSAnVmVsZHdhYXJkZSBvdmVyc2NocmlqZHQgbWF4aW1hYWwgdG9lZ2VzdGFuZSBsZW5ndGUnOwokbGFuZ1snYXBwcm92ZSddID0gJ1N0ZWwgc3RhdHVzIGluIG9wICYjMDM5O0FjdGllZiYjMDM5Oyc7CiRsYW5nWydyZXZlcnQnXSA9ICdTdGVsIHN0YXR1cyBpbiBvcCAmIzAzOTtJbmFjdGllZiYjMDM5Oyc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+ICc7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFhdHN0IGJpamdld2Vya3QnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnaW5hICVzIHZhbiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnaW5hIGxpbWlldCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCAnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+ICc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ3RpdGxlJ10gPSAnVGl0ZWwnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0NoaWxkcmVuIHRvZXZvZWdlbj8nOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpZSc7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydGVyZW4gYmlqJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0ZXJpbmdzdm9sZ29yZGUnOwokbGFuZ1snZGF0ZSddID0gJ0RhdHVtJzsKJGxhbmdbJ2RhdGVfZW5kJ10gPSAnRWluZGRhdHVtJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0ZXJzICc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRpbmcnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0FmbG9wZW5kJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIGNhdGVnb3JpZSZldW1sO24nOwokbGFuZ1snZnJvbSddID0gJ1Zhbic7CiRsYW5nWyd0byddID0gJ05hYXInOwokbGFuZ1sncG9zaXRpb24nXSA9ICdQb3NpdGllJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnQWFubWFha2RhdHVtJzsKJGxhbmdbJ3NhdmVfb3JkZXInXSA9ICdWb2xnb3JkZSBvcHNsYWFuJzsKJGxhbmdbJ2VkaXRmaWVsZGRlZiddID0gJ0Jld2VyayB2ZWxkZGVmZW5pdGllJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnVmVsZGRlZmVuaXRpZSB0b2V2b2VnZW4nOwokbGFuZ1snZmllbGRkZWZfbmFtZSddID0gJ05hYW0nOwokbGFuZ1snZmllbGRkZWZfaGVscCddID0gJ051dHRpZ2UgdGlwJzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXBlICc7CiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoJ10gPSAnTWF4aW1hbGUgbGVuZ3RlJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnVmVyZWlzdCc7CiRsYW5nWydmaWVsZGRlZl9mcm9udGVuZCddID0gJ0Zyb250IEVuZCAnOwokbGFuZ1snZmllbGRkZWZfZWRpdHZpZXcnXSA9ICdBbGxlZW4gd2VlcmdldmVuIGJpaiBiZXdlcmtlbic7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdWb2VnIGVlbiBmaWx0ZXIgdG9lIG9wIGRlIGZyb250ZW5kJzsKJGxhbmdbJ2ZpZWxkZGVmX2ZpbHRlcl9hZG1pbiddID0gJ1ZvZWcgaW4gZmlsdGVyIHRvZSBpbiBkZSBhZG1pbm9tZ2V2aW5nJzsKJGxhbmdbJ2ZpZWxkZGVmX3NlYXJjaGFibGUnXSA9ICdEb29yem9la2JhYXInOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSAnOwokbGFuZ1sndGV4dGJveCddID0gJ1Rla3N0aW52b2VyJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3ggJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3R2ZWxkJzsKJGxhbmdbJ3NlbGVjdF9kYXRlJ10gPSAnU2VsZWN0ZWVyIGRhdHVtJzsKJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnVXBsb2FkIGJlc3RhbmQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93biAnOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlICc7CiRsYW5nWydzZWxlY3RfZGVmYXVsdCddID0gJy0tIFNlbGVjdGVlciAtLSc7CiRsYW5nWydzZWxlY3RfZmlsZSddID0gJ1NlbGVjdGVlciBiZXN0YW5kJzsKJGxhbmdbJ2NvbG9yX3BpY2tlciddID0gJ0tsZXVyZW5raWV6ZXInOwokbGFuZ1snbW9kdWxlX2xpbmsnXSA9ICdLb3BwZWxpbmcgbWV0IG1vZHVsZSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2VtcHR5J10gPSAnTmFhbSB2YW4gZGUgdmVsZGRlZmVuaXRpZSBpcyBuaWV0IG9wZ2VnZXZlbic7CiRsYW5nWydmaWVsZGRlZl9uYW1lX2V4aXN0cyddID0gJ05hYW0gdmFuIGRlIHZlbGRkZWZlbml0aWUgYmVzdGFhdCBhbCByZWVkcyc7CiRsYW5nWydpbnZhbGlkJ10gPSAnVmVsZHdhYXJkZSBpcyBvbmdlbGRpZyc7CiRsYW5nWydkcm9wZG93bmZyb21tb2R1bGUnXSA9ICdEcm9wZG93biB2YW4gbW9kdWxlJzsKJGxhbmdbJ3N0YXRpYyddID0gJ1N0YXRpc2NoJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ1Byb2JsZWVtIG9udHN0YWFuIGJpaiBoZXQgdXBsb2FkZW4gdmFuIGhldCBiZXN0YW5kJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnS2FuIGRlIG1hcCAlcyBuaWV0IGFhbm1ha2VuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVzaXplJ10gPSAnRGUgdXBsb2FkIG92ZXJzY2hyaWpkdCBkZSBtYXhpbWFhbCB0b2VnZXN0YW5lIGdyb290dGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGV0eXBlJ10gPSAnS2FuIGRpdCBiZXN0YW5kc3R5cGUgbmlldCB1cGxvYWRlbic7CiRsYW5nWydlcnJvcl9tb3ZlZmlsZSddID0gJ0thbiBoZXQgYmVzdGFuZCAlcyBuaWV0IGFhbm1ha2VuJzsKJGxhbmdbJ2ludmFsaWR1cmwnXSA9ICdPbmdlbGRpZ2RlIFVSTC4nOwokbGFuZ1snbm9uZSddID0gJ0dlZW4nOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0Jld2VyayBjYXRlZ29yaWUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdWb2VnIGNhdGVnb3JpZSB0b2UnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ05hYW0gY2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5X25hbWVfZW1wdHknXSA9ICdOYWFtIHZhbiBkZSBjYXRlZ29yaWUgaXMgbGVlZyBnZWxhdGVuJzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ0NhdGVnb3JpZSBiaWpnZXdlcmt0Lic7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnQ2F0ZWdvcmllIHRvZWdldm9lZ2QuJzsKJGxhbmdbJ2NhdGVnb3J5X3RlbXBsYXRlJ10gPSAnQ2F0ZWdvcmllIHNqYWJsb25lbic7CiRsYW5nWydzdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU2FtZW52YXR0aW5nc2phYmxvbmVuJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCBzamFibG9uZW4nOwokbGFuZ1snZmlsdGVyX3RlbXBsYXRlJ10gPSAnRmlsdGVyIHNqYWJsb25lbic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYWFyZCBzamFibG9uZW4nOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnQmV3ZXJrIHNqYWJsb29uJzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnVm9lZyBzamFibG9vbiAlcyB0b2UnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ1NqYWJsb29ubmFhbSc7CiRsYW5nWyd0ZW1wbGF0ZV9uYW1lX2VtcHR5J10gPSAnRGUgc2phYmxvb25uYWFtIGlzIGxlZWcnOwokbGFuZ1snZ2xvYmFsJ10gPSAnR2xvYmFhbCc7CiRsYW5nWydjaGFuZ2Vzc2F2ZWQnXSA9ICdVdyB3aWp6aWdpbmdlbiB6aWpuIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLic7CiRsYW5nWydiYWNrJ10gPSAnVGVydWcnOwokbGFuZ1sndXAnXSA9ICdPbWhvb2cnOwokbGFuZ1snZG93biddID0gJ09tbGFhZyc7CiRsYW5nWydlZGl0J10gPSAnQmV3ZXJrZW4nOwokbGFuZ1snZGVsZXRlJ10gPSAnVmVyd2lqZGVyZW4nOwokbGFuZ1snbm9zdWNoaWQnXSA9ICdHZWVuIGdlbGRpZyBJRCc7CiRsYW5nWydkZWxldGVkJ10gPSAnRGUgaXRlbShzKSB6aWpuIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuLic7CiRsYW5nWydhZGQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1snYWxpYXNfaW52YWxpZCddID0gJ0FsaWFzIGlzIG9uZ2VsZGlnLiBIZXQgbW9ldCBlZW4gbmFhbSB6aWpuIGRpZSBnZWxkaWcgaXMgYWxzIFBIUCB2YXJpYWJlbGUnOwokbGFuZ1snZW1wdHlfcGFyYW0nXSA9ICdEZSBwYXJhbWV0ZXIgd2FzIGxlZWcuIFByb2JlZXIgb3BuaWV1dy4nOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ09wZXJhdGllIGdlYW5udWxlZXJkJzsKJGxhbmdbJ29wZXJhdGlvbl9jb21wbGV0ZSddID0gJ09wZXJhdGllIHVpdGdldm9lcmQnOwokbGFuZ1snb2YnXSA9ICd2YW4nOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdGVlciBhbGxlcyc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZWN0ZWVyIGVlbic7CiRsYW5nWydzZXRkcmFmdCddID0gJ0luc3RlbGxlbiBhbHMgaW5hY3RpZWYnOwokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnSW5zdGVsbGVuIGFscyBhY3RpZWYnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ01ldCBnZXNlbGVjdGVlcmRlbic7CiRsYW5nWydnbyddID0gJ0dhYW4nOwokbGFuZ1snbm90aGluZ19zZWxlY3RkJ10gPSAnTmlldHMgZ2VzZWxlY3RlZXJkJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlciAnOwokbGFuZ1snbW9kZSddID0gJ01vZHVzJzsKJGxhbmdbJ3NpbXBsZSddID0gJ1NpbXBlbCc7CiRsYW5nWydhZHZhbmNlZCddID0gJ0dlYXZhbmNlZXJkJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdWcmllbmRlbGlqa2UgbmFhbSBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdFbmtlbHZvdWRpZyBpdGVtJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ01lZXJ2b3VkaWcgaXRlbSc7CiRsYW5nWydwcm9tcHRfdXJsX3ByZWZpeCddID0gJ1VSTCBQcmVmaXggJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2FjdGlvbl9wYXJhbXMnXSA9ICdTdGFuZGFhcmQgcGFyYW1ldGVycyB2b29yIHN0YW5kYWFyZCBhY3RpZSc7CiRsYW5nWydwcm9tcHRfZGV0YWlsX2FjdGlvbl9wYXJhbXMnXSA9ICdTdGFuZGFhcmQgcGFyYW1ldGVycyB2b29yIGRldGFpbCBhY3RpZSc7CiRsYW5nWydwcm9tcHRfdGl0bGVfcGFyYW1fZm9yX2NhY2hlJ10gPSAnVGl0ZWxwYXJhbWV0ZXIgdm9vciBoZXQgY2FjaGVuIHZhbiByZXN1bHRhdGVuJzsKJGxhbmdbJ3Byb21wdF9kaXNwbGF5X2lubGluZSddID0gJ0dlZWYgZGV0YWlscyBpbmxpbmUgd2Vlcic7CiRsYW5nWydwcm9tcHRfbGF6eWxvYWRpbmcnXSA9ICdMYXp5IGxvYWRpbmcgKGluZGllbiB3ZSBkZXplIG1vZHVsZSBuaWV0IG5vZGlnIGhlYmJlbiBtZXQgZWVuIGdlZGV0YWlsbGVlcmRlIGxpbmsgb3AgZGUgZnJvbnRlbmQpJzsKJGxhbmdbJ3Byb21wdF9oYXNfYWRtaW4nXSA9ICdIZWVmdCBhZG1pbj8nOwokbGFuZ1sncHJvbXB0X3VzZXJncm91cF9kZXBlbmRlbmNlJ10gPSAnR2VicnVpa2Vyc2dyb2VwIGFmaGFua2VsaWpraGVpZCc7CiRsYW5nWydwcm9tcHRfaXRlbV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdHZWRldGFpbGxlZXJkZSByZXR1cm4gSUQnOwokbGFuZ1sncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnXSA9ICdDYXRlZ29yaWUgcmV0dXJuIElEJzsKJGxhbmdbJ3Byb21wdF9jdXN0b21fZmllbGRzX2RlZmF1bHQnXSA9ICdTdGFuZGFhcmQgYWFuZ2VwYXN0ZSB2ZWxkZW4nOwokbGFuZ1sncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfZWRpdCddID0gJ0Jld2VyayBjYXRlZ29yaWUnOwokbGFuZ1sncHJvbXB0X3JlY3Vyc2l2ZSddID0gJ0Jld2VyayByZWN1cnNpdmUnOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0J10gPSAnQmV3ZXJrIGRhdHVtJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2RhdGVfZW5kX2VkaXQnXSA9ICdCZXdlcmsgZWluZGRhdHVtJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnXSA9ICdCZXdlcmsgYWxpYXMnOwokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGVfZWRpdCddID0gJ0Jld2VyayB0aXRlbCc7CiRsYW5nWydwcm9tcHRfaXRlbV91cmxfZWRpdCddID0gJ0Jld2VyayBVUkwnOwokbGFuZ1sncHJvbXB0X2ZpbHRlcl9kYXRlJ10gPSAnRmlsdGVyZGF0dW0nOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJ10gPSAnU29ydGVlcnZvbGdvcmRlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3NvcnRpbmcnXSA9ICdTb3J0ZXJlbic7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9wYWdlbGltaXQnXSA9ICdQYWdpbmFsaW1pZXQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4dHJhX2xhYmVsJ10gPSAnRXh0cmEgY2F0b2dvcmllIGxhYmVsJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1ppY2h0YmFyZSB2ZWxkZW4nOwokbGFuZ1sndmlldyddID0gJ1dlZXJnZXZlbic7CiRsYW5nWydyZW9yZGVyJ10gPSAnSGVyc2NoaWtrZW4nOwokbGFuZ1snc2VhcmNoJ10gPSAnWm9la2VuJzsKJGxhbmdbJ3JlaW5kZXgnXSA9ICdIZXJpbmRleGVlcic7CiRsYW5nWydwcm9tcHRfc2VhcmNoYWJsZSddID0gJ0Rvb3J6b2VrYmFhcic7CiRsYW5nWydwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJ10gPSAnRGF0dW0gZWluZGUgdm9vciB6b2VrZW4nOwokbGFuZ1snc3VuZGF5J10gPSAnWm9uZGFnJzsKJGxhbmdbJ21vbmRheSddID0gJ01hYW5kYWcnOwokbGFuZ1sndHVlc2RheSddID0gJ0RpbnNkYWcnOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnV29lbnNkYWcnOwokbGFuZ1sndGh1cnNkYXknXSA9ICdEb25kZXJkYWcnOwokbGFuZ1snZnJpZGF5J10gPSAnVnJpamRhZyc7CiRsYW5nWydzYXR1cmRheSddID0gJ1phdGVyZGFnJzsKJGxhbmdbJ3JlY3VyX3BlcmlvZCddID0gJ1JlY3VyIHBlcmlvZGUnOwokbGFuZ1snd2Vla2RheXMnXSA9ICdXZXJrZGFnZW4nOwokbGFuZ1snbm8nXSA9ICdHZWVuJzsKJGxhbmdbJ2RhaWx5J10gPSAnRGFnZWxpamtzJzsKJGxhbmdbJ3BsdXJhbF9kYWlseSddID0gJ0RhZ2VuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIE5vdmVtYmVyLCAyMDExIC0gIGluaXQgcmVsZWFzZTwvbGk+PC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+TW9kdWxlIGdlbmVyYXRvciBsZXRzIHlvdSBjcmVhdGUgYSBsaXN0IHRoZSBtb2R1bGVzIGFzIE5ld3MsIFByb2R1Y3RzIGF0Yy4gSW5kaXZpZHVhbCBtb2R1bGVzLCB5b3UgY2FuIGxpbmsgYmV0d2VlbiB0aGVtLiAgWW91IGNhbiBjcmVhdGUgYSBtb2R1bGUgUGVvcGxlLCBHZW5kZXIgYW5kIFR5cGUgb2YgZW1wbG95bWVudCBhbmQgbGluayBiZXR3ZW4gdGhlbS48L3A+DQo8cD5FYWNoIG1vZHVsZSBpbmNsdWRlcyB0aGUgYWJpbGl0eSB0byBjcmVhdGVkIGNhdGVnb3JpZXMsIGN1c3RvbSBmaWVsZHMgIGFuZCBlZGl0ZWQgYSBudW1iZXIgb2Ygc2V0dGluZ3MuPC9wPg0KPHA+WW91IGNhbiB1c2UgdGhlIGxpc3QgdGVtcGxhdGVzICwgY2F0ZWdvcmllcyB0ZW1wbGF0ZXMgLCBmaWx0ZXIgdGVtcGxhdGVzLCBvciBkZXRhaWwgdGVtcGxhdGVzIGFzIGl0IGFscmVhZHkga25vd24gbW9kdWxlcyBmcm9tIE5ld3MsIFByb2R1Y3RzIGV0Yy48L3A+JzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtQWRkZWQnXSA9ICdTZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1BZGRlZCddID0gJzxwPlNlbnQgd2hlbiBhbiBpdGVtIGlzIGFkZGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7aXRlbV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgaXRlbSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGNhdGVnb3J5IGZvciB0aGlzIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDt0aXRsZVwmcXVvdDsgLSBUaXRsZSBvZiB0aGUgaXRlbTwvbGk+DQo8bGk+XCZxdW90O2FjdGl2ZSZxdW90OyAtIFN0YXR1cyBvZiB0aGUgaXRlbSAoJnF1b3Q7MCZxdW90OyBvciAmcXVvdDsxJnF1b3Q7KTwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZSZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0YXJ0IGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8bGk+XCZxdW90O2l0ZW1fZGF0ZV9lbmRcJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RvcCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbUVkaXRlZCddID0gJ1NlbnQgd2hlbiBhbiBpdGVtIGlzIGVkaXRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1FZGl0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgY2F0ZWdvcnkgZm9yIHRoaXMgaXRlbTwvbGk+DQo8bGk+XCZxdW90O3RpdGxlXCZxdW90OyAtIFRpdGxlIG9mIHRoZSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7YWN0aXZlJnF1b3Q7IC0gU3RhdHVzIG9mIHRoZSBpdGVtICgmcXVvdDswJnF1b3Q7IG9yICZxdW90OzEmcXVvdDspPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RhcnQgYmVpbmcgZGlzcGxheWVkPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlX2VuZFwmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdG9wIGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtRGVsZXRlZCddID0gJ1NlbnQgd2hlbiBhbiBpdGVtIGlzIGRlbGV0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtRGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhbiBpdGVtIGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlBZGRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLic7CiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlBZGRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlFZGl0ZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBlZGl0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeUVkaXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGVkaXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7b3JpZ25hbWVcJnF1b3Q7IC0gVGhlIG9yaWdpbmFsIG5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlEZWxldGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZGVsZXRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5RGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbXNSZW9yZGVyZWQnXSA9ICdTZW50IHdoZW4gaXRlbXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1zUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGl0ZW1zIGlzIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3JpZXNSZW9yZGVyZWQnXSA9ICc8cD5TZW50IHdoZW4gY2F0ZWdvcmllcyBhcmUgcmVvcmRlcmVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNjkyMjY2OTc3LjEzMjEzODc3NDcuMTMyMTM4Nzc0Ny4xMzIxMzg3NzQ3LjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzIxMzg3NzQ3LjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnUDAtMTQwODkyNjY2MS0xMzA5NTI4NDc1MjU2JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dlbmVyJmFhY3V0ZTt0b3IgbW9kdWxvdic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsIG5haW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOy4gR3JhdHVsdWplbWUuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdHZW5lciZhYWN1dGU7dG9yIG1vZHVsb3Ygb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7JzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgdGVudG8gbW9kdWwgb2RzdHImYWFjdXRlO25pxaU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgb2RpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJ6aWEgJXMgbmFpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIGFrdHVhbGl6b3ZhbiZ5YWN1dGU7IG5hIHZlcnppdSAlcy4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCB1bW/Fvm51amUgZ2VuZXJvdmHFpSAmdWFjdXRlO3BsbmUgdmxhc3RuJmVhY3V0ZTsgbW9kdWx5JzsKJGxhbmdbJ2luZm9fc3VjY2VzcyddID0gJ1Ymc2Nhcm9uO2V0a28gdiBwb3JpYWRrdSc7CiRsYW5nWydpbmZvX2Vycm9yJ10gPSAnQ2h5YmEnOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdOYXN0YXZlbmlhIGFrdHVhbGl6b3ZhbiZlYWN1dGU7JzsKJGxhbmdbJ21vZHVsZV9taXNzaW5nJ10gPSAnUHJvcyZpYWN1dGU7bSwgbmFpbiZzY2Fyb247dGFsdWp0ZSBtb2R1bCAlcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7Pyc7CiRsYW5nWydtb2R1bGVfZGlyX3Blcm1pc3Npb24nXSA9ICdBZHJlcyZhYWN1dGU7ciBtb2R1bHUgbXVzJmlhY3V0ZTsgYnkgemFwaXNvdmF0ZcS+biZ5YWN1dGU7LCBwcm9zJmlhY3V0ZTttIG5hc3RhdnRlIGsgbmVtdSBwciZhYWN1dGU7dmEgbmEgemFwaXNvdmFuaWUuJzsKJGxhbmdbJ3BsZWFzZV9pbnN0YWxsX2l0J10gPSAnUG96biZhYWN1dGU7bWthOiBtb2R1bGUgdHJlYmEgbmFqcHIgbmFpbiZzY2Fyb247dGFsb3ZhxaUuICBQcm9zJmlhY3V0ZTttIHByZWpkaXRlIGRvIMSNYXN0aSBSb3omc2Nhcm9uOyZpYWN1dGU7cmVuaWEgPiBNb2R1bHknOwokbGFuZ1snY3JlYXRlX21vZHVsZSddID0gJ1Z5dHZvcmnFpSBub3YmeWFjdXRlOyBtb2R1bCc7CiRsYW5nWydkZXRhaWxfcGFnZSddID0gJ1N0ciZhYWN1dGU7bmthIGRldGFpbHUnOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIGRldGFpbHUnOwokbGFuZ1snd2FybmluZ19wcmV2aWV3J10gPSAnVXBvem9ybmVuaWU6IE4mYWFjdXRlO2jEvmFkIHNsJnVhY3V0ZTvFvmkgbmEgem9icmF6ZW5pZSBvYnNhaHUgYmV6IHRvaG8sIGFieSBzaSAgc3RlIG11c2VsaSBvZCZpYWN1dGU7c8WlIHogZWRpdG92YWNlaiBzdHImYWFjdXRlO25reS4gUG96b3IsIG9iciZhYWN1dGU7emt5IHNhIHByaSBuJmFhY3V0ZTtoxL5hZGUgYXV0b21hdGlja3kgbmVuYWhyJmFhY3V0ZTt2YWomdWFjdXRlOy4nOwokbGFuZ1snYXJ0aWNsZSddID0gJ8SMbGFub2snOwokbGFuZ1sncHJldmlldyddID0gJ04mYWFjdXRlO2jEvmFkJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3JldHVybmlkJ10gPSAnVG90byBuYXN0YXZlbmllIGplIHBvdcW+aXZhbiZlYWN1dGU7IHByZSBkZXRhaWwgc3RyJmFhY3V0ZTtub2suICc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyBzdHImYWFjdXRlO25rYSBwcmUgZGV0YWlsJzsKJGxhbmdbJ2dlbmVyYXRvciddID0gJ0dlbmVyJmFhY3V0ZTt0b3InOwokbGFuZ1sncmVnZW5lcmF0ZSddID0gJ1ByZWdlbmVyb3ZhxaUnOwokbGFuZ1snbmFtZSddID0gJ04mYWFjdXRlO3pvdic7CiRsYW5nWydhdHRhY2gnXSA9ICdQcmlwb2plbmlhJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ2NyZWF0ZWRhdGUnXSA9ICdEJmFhY3V0ZTt0dW0gdnl0dm9yZW5pYSc7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdEJmFhY3V0ZTt0dW0gJnVhY3V0ZTtwcmF2eSc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1ByJmlhY3V0ZTtzdHVwIHphbWlldG51dCZ5YWN1dGU7LCBwcm9zJmlhY3V0ZTttIHNrb250cm9sdWp0ZSB2YSZzY2Fyb247ZSBwciZpYWN1dGU7c3R1cG92JmVhY3V0ZTsgcHImYWFjdXRlO3ZhLic7CiRsYW5nWydlcnJvcl9yZW5hbWVfZGlyJ10gPSAnWm1lbmEgbiZhYWN1dGU7enZ1IGFkcmVzJmFhY3V0ZTtyYSBiZXomdWFjdXRlO3NwZcSNbmUgKHByJmFhY3V0ZTt2YT8pLic7CiRsYW5nWydlcnJvcl9yZXBsYWNlX2ZpbGVzJ10gPSAnTW9kdWwgbmVib2wgdXByYXZlbiZ5YWN1dGU7LiBQcm9zJmlhY3V0ZTttLCB1cHJhdnRlIGhvIG1hbnUmYWFjdXRlO2xuZSc7CiRsYW5nWydlcnJvcl9tb2R1bGVfZXhpc3RzJ10gPSAnTW9kdWxlIGV4aXN0dWplLiBQcm9zJmlhY3V0ZTttIHptYcW+dGUgaG8sIGFsZWJvIHByZWdlbmVydWp0ZS4nOwokbGFuZ1snZXJyb3JfdW5paW5zdGFsX21vZHVsZSddID0gJ01vZHVsIGV4aXN0dWplLCBwcm9zJmlhY3V0ZTttIG9kaW4mc2Nhcm9uO3RhbHVqdGUgaG8gbmFqcHJ2Lic7CiRsYW5nWydpdGVtJ10gPSAnUG9sb8W+a2EnOwokbGFuZ1snaXRlbXMnXSA9ICdQb2xvxb5reSc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0RlZmluJmlhY3V0ZTtjaWEgcG/EvmEnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRGVmaW4maWFjdXRlO2NpZSBwb2wmaWFjdXRlOyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bnknOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZyZvYWN1dGU7cmlhJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ29wdGlvbiddID0gJ05hc3RhdmVuaWUnOwokbGFuZ1snb3B0aW9ucyddID0gJ05hc3RhdmVuaWEnOwokbGFuZ1snc3VibWl0J10gPSAnT2Rvc2xhxaUnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdOJmFhY3V0ZTt6b3YnOwokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGUnXSA9ICdOJmFhY3V0ZTt6b3YgcG9sb8W+a3knOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7CiRsYW5nWyd1cmwnXSA9ICdVcmwgYWRyZXNhJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FrdCZpYWN1dGU7dm55JzsKJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdOJmFhY3V0ZTt6b3YgcG9sb8W+a3kgamUgcHImYWFjdXRlO3pkbmUnOwokbGFuZ1sncmVxdWlyZWRfZmllbGRfZW1wdHknXSA9ICdQb8W+YWRvdmFuJmVhY3V0ZTsgcG9saWEgcyZ1YWN1dGU7IHByJmFhY3V0ZTt6ZG5lJzsKJGxhbmdbJ3Rvb19sb25nJ10gPSAnSG9kbm90YSBwb8S+YSBwcmVrcm/EjWlsYSBtYXhpbSZhYWN1dGU7bG51IGTFiGzFvmt1Lic7CiRsYW5nWydhcHByb3ZlJ10gPSAnTmFzdGF2acWlIHN0YXYgIG5hIGFrdCZpYWN1dGU7dm55JzsKJGxhbmdbJ3JldmVydCddID0gJ05hc3RhdmnFpSBzdGF2IG5hIG5lYWt0JmlhY3V0ZTt2bnknOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnUG9zbGVkbiZhYWN1dGU7ICZ1YWN1dGU7cHJhdmEnOwokbGFuZ1sncGFnZSddID0gJ1N0ciZhYWN1dGU7bmthJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTdHJhbmEgJXMgeiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUG/EjWV0IG5hIHN0ciZhYWN1dGU7bmt1JzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ3RpdGxlJ10gPSAnTiZhYWN1dGU7em92JzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdWciZhYWN1dGU7dGFuZSBwb2RyYWRlbiZ5YWN1dGU7Y2gnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpYSc7CiRsYW5nWydzb3J0X2J5J10gPSAnWm9yYWRlbmllJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTcCZvY2lyYztzb2Igem9yYWRlbmlhJzsKJGxhbmdbJ2RhdGUnXSA9ICdEJmFhY3V0ZTt0dW0nOwokbGFuZ1snZGF0ZV9lbmQnXSA9ICdEJmFhY3V0ZTt0dW0ga29uY2EnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyZSc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICd2em9zdHVwbmUnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ2tsZXNhaiZ1YWN1dGU7Y2UnOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1Ymc2Nhcm9uO2V0a3kga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWydmcm9tJ10gPSAnWic7CiRsYW5nWyd0byddID0gJ0RvJzsKJGxhbmdbJ3Bvc2l0aW9uJ10gPSAnUG96JmlhY3V0ZTtjaWEnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdEJmFhY3V0ZTt0dW0gdnl0dm9yZW5pYSc7CiRsYW5nWydzYXZlX29yZGVyJ10gPSAnVWxvxb5pxaUgcG9yYWRpZSc7CiRsYW5nWydlZGl0ZmllbGRkZWYnXSA9ICdVcHJhdmnFpSBkZWZpbiZpYWN1dGU7Y3UgcG/EvmEnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdQcmlkYcWlIGRlZmluJmlhY3V0ZTtjdSBwb8S+YSc7CiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTiZhYWN1dGU7em92JzsKJGxhbmdbJ2ZpZWxkZGVmX2hlbHAnXSA9ICdQb21vY24meWFjdXRlOyB0ZXh0JzsKJGxhbmdbJ2ZpZWxkZGVmX3R5cGUnXSA9ICdUeXAnOwokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltJmFhY3V0ZTtsbmEgZGzFvmthJzsKJGxhbmdbJ2ZpZWxkZGVmX3JlcXVpcmVkJ10gPSAnVnnFvmFkb3ZhbiZlYWN1dGU7IHBvbGUnOwokbGFuZ1snZmllbGRkZWZfZnJvbnRlbmQnXSA9ICdOYSBzdHImYWFjdXRlO25rZSc7CiRsYW5nWydmaWVsZGRlZl9lZGl0dmlldyddID0gJ1pvcmJhemnFpSBpYmEgcHJpIGVkaXQmYWFjdXRlO2NpaSc7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnXSA9ICdQcmlkYcWlIGRvIGZpbHRyYSBuYSBzdHImYWFjdXRlO25rZSc7CiRsYW5nWydmaWVsZGRlZl9maWx0ZXJfYWRtaW4nXSA9ICdQcmlkYcWlIGRvIGZpbHRyYSB2IGFkbWluaXN0ciZhYWN1dGU7Y2lpJzsKJGxhbmdbJ2ZpZWxkZGVmX3NlYXJjaGFibGUnXSA9ICdQcmVoxL5hZCZhYWN1dGU7dmF0ZcS+biZlYWN1dGU7JzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snc2VjdGlvbiddID0gJ1Nla2NpYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dG92JmVhY3V0ZTsgcG9sZSc7CiRsYW5nWydjaGVja2JveCddID0gJ1phJnNjYXJvbjtrcnQmYWFjdXRlO3ZhY2llIHBvbGUnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0b3YmYWFjdXRlOyBvYmxhc8WlJzsKJGxhbmdbJ3NlbGVjdF9kYXRlJ10gPSAnViZ5YWN1dGU7YmVyIGRhdHVtdSc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ05haHJhbmllIHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZmlsZV9waWNrZXInXSA9ICdGaWxlcGlja2VyJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnViZ5YWN1dGU7YmVyb3YmZWFjdXRlOyBwb2xlJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ3NlbGVjdF9kZWZhdWx0J10gPSAnLS0gdnlicmHFpSAtLSc7CiRsYW5nWydzZWxlY3RfZmlsZSddID0gJ1YmeWFjdXRlO2JlciBzJnVhY3V0ZTtib3J1JzsKJGxhbmdbJ2NvbG9yX3BpY2tlciddID0gJ1YmeWFjdXRlO2JlciBmYXJieSc7CiRsYW5nWydtb2R1bGVfbGluayddID0gJ0xpbmsgayBtb2R1bHUnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9lbXB0eSddID0gJ04mYWFjdXRlO3pvdiBwb2zEvmEgamUgcHImYWFjdXRlO3pkbmUnOwokbGFuZ1snZmllbGRkZWZfbmFtZV9leGlzdHMnXSA9ICdOJmFhY3V0ZTt6b3YgcG/EvmEgdcW+IGV4aXN0dWplJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdIb2Rub3RhIHBvxL5hIGplIG5lc3ByJmFhY3V0ZTt2bmEnOwokbGFuZ1sndGFiJ10gPSAnWiZhYWN1dGU7bG/FvmthJzsKJGxhbmdbJ2Ryb3Bkb3duZnJvbW1vZHVsZSddID0gJ1YmeWFjdXRlO2Jlcm92ZSBwb8S+ZSB6IGluJmVhY3V0ZTtobyBtb2R1bHUnOwokbGFuZ1snc3RhdGljJ10gPSAnU3RhdGljayZ5YWN1dGU7IHRleHQnOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnUHJvYmwmZWFjdXRlO20gcHJpIG5haHImYWFjdXRlO3ZhbiZpYWN1dGU7IHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdOZW0mb2NpcmM7xb5lbSB2eXR2b3JpxaUgYWRyZXNhcjogJXMnOwokbGFuZ1snZXJyb3JfZmlsZXNpemUnXSA9ICdOYWhyJmFhY3V0ZTt2YW4meWFjdXRlOyBzJnVhY3V0ZTtib3IgcHJla3JvxI1pbCBwb3ZvbGVuJnVhY3V0ZTsgdmXEvmtvc8WlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxldHlwZSddID0gJ05lbSZvY2lyYzvFvmVtIG5haHJhxaUgdGVudG8gdHlwIHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZXJyb3JfbW92ZWZpbGUnXSA9ICdOaWUgamUgbW/Fvm4mZWFjdXRlOyB2eXR2b3JpxaUgcyZ1YWN1dGU7Ym9yOiAlcyc7CiRsYW5nWydpbnZhbGlkdXJsJ10gPSAnVXJsIGFkcmVzYSBqZSBuZXNwciZhYWN1dGU7dm5hJzsKJGxhbmdbJ25vbmUnXSA9ICfFvWlhZG5lJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdVcHJhdmnFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnUHJpZGHFpSBhdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1snY2F0ZWdvcnlfbmFtZSddID0gJ04mYWFjdXRlO3pvdiBrYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ2NhdGVnb3J5X25hbWVfZW1wdHknXSA9ICdOJmFhY3V0ZTt6b3Yga2F0ZWcmb2FjdXRlO3JpZSBqZSBwcmF6ZG55JzsKJGxhbmdbJ2NhdGVnb3J5dXBkYXRlZCddID0gJ0thdGVnJm9hY3V0ZTtyaWEgYWt0dWFsaXpvdmFuJmFhY3V0ZTsnOwokbGFuZ1snY2F0ZWdvcnlhZGRlZCddID0gJ0thdGVnJm9hY3V0ZTtyaWEgcHJpZGFuJmFhY3V0ZTsnOwokbGFuZ1snY2F0ZWdvcnlfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bnkgcHJlIGthdGVnJm9hY3V0ZTtyaWUnOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSBwcmVoxL5hZHUnOwokbGFuZ1snZmlsdGVyX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO255IHByZSBmaWx0ZXInOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdQcmVkbmFzdGF2ZW4mZWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bnknOwokbGFuZ1snZWRpdHRlbXBsYXRlJ10gPSAnVXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO251JzsKJGxhbmdbJ2FkZHRlbXBsYXRlJ10gPSAnUHJpZGHFpSAlcyAmc2Nhcm9uO2FibCZvYWN1dGU7bnUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZSddID0gJ04mYWFjdXRlO3pvdiAmc2Nhcm9uO2FibCZvYWN1dGU7bnUnOwokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ04mYWFjdXRlO3pvdiAmc2Nhcm9uO2FibCZvYWN1dGU7bnkgamUgcHImYWFjdXRlO3pkbnknOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnUHJpZGHFpS91cHJhdmnFpSAgJnNjYXJvbjthYmwmb2FjdXRlO251IHMmdWFjdXRlO2hybnUnOwokbGFuZ1snYWRkZWRpdF9maWx0ZXJfdGVtcGxhdGUnXSA9ICdQcmlkYcWlL3VwcmF2acWlICAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgcHJlIGZpbHRlcic7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1ByaWRhxaUvdXByYXZpxaUgICZzY2Fyb247YWJsJm9hY3V0ZTtudSBwcmUgZGV0YWlsJzsKJGxhbmdbJ2FkZGVkaXRfY2F0ZWdvcnlfdGVtcGxhdGUnXSA9ICdQcmlkYcWlL3VwcmF2acWlICAmc2Nhcm9uO2FibCZvYWN1dGU7bnUgcHJlIGthdGVnJm9hY3V0ZTtyaWUnOwokbGFuZ1snZ2xvYmFsJ10gPSAnR2xvYiZhYWN1dGU7bG5lJzsKJGxhbmdbJ2NoYW5nZXNzYXZlZCddID0gJ05hc3RhdmVuaWEgYm9sdSBha3R1YWxpem92YW4mZWFjdXRlOy4nOwokbGFuZ1snYmFjayddID0gJ1NwJmF1bWw7xaUnOwokbGFuZ1sndXAnXSA9ICdIb3JlJzsKJGxhbmdbJ2Rvd24nXSA9ICdEb2xlJzsKJGxhbmdbJ2VkaXQnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWydkZWxldGUnXSA9ICdPZHN0ciZhYWN1dGU7bmnFpSc7CiRsYW5nWydub3N1Y2hpZCddID0gJ8W9aWFkbmUgSUQnOwokbGFuZ1snZGVsZXRlZCddID0gJ1BvbG/FvmthIGJvbGEgb2RzdHImYWFjdXRlO25lbiZhYWN1dGU7JzsKJGxhbmdbJ2FkZCddID0gJ1ByaWRhxaUnOwokbGFuZ1snYWxpYXNfaW52YWxpZCddID0gJ0FsaWFzIGplIG5lc3ByJmFhY3V0ZTt2bnksIG11cyZpYWN1dGU7IGJ5xaUgdiBzcHImYWFjdXRlO3Zub20gdHZhcmUgKGJleiBkaWFrcml0aWt5IGF0xI8uKSc7CiRsYW5nWydlbXB0eV9wYXJhbSddID0gJ1BhcmFtZXRlciBqZSBuZXNwciZhYWN1dGU7dm55LCBwcm9zJmlhY3V0ZTttIHNrJnVhY3V0ZTtzdGUgbmVzayZvY2lyYztyJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyJmFhY3V0ZTtjaWEgenJ1JnNjYXJvbjtlbiZhYWN1dGU7JzsKJGxhbmdbJ29wZXJhdGlvbl9jb21wbGV0ZSddID0gJ09wZXImYWFjdXRlO2NpYSBrb21wbGV0biZhYWN1dGU7JzsKJGxhbmdbJ29mJ10gPSAneic7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnVnlicmHFpSB2JnNjYXJvbjtldGt5JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWeWJyYcWlIGplZGVuJzsKJGxhbmdbJ3NldGRyYWZ0J10gPSAnTmFzdGF2acWlIGFrbyBuZWFrdCZpYWN1dGU7dm5lJzsKJGxhbmdbJ3NldHB1Ymxpc2hlZCddID0gJ05hc3RhdmnFpSBha28gYWt0JmlhY3V0ZTt2bmUgJzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdTIHZ5YnJhbiZ5YWN1dGU7bWknOwokbGFuZ1snZ28nXSA9ICdQcmVqc8WlJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05pxI0gdnlicmFuJmVhY3V0ZTsnOwokbGFuZ1snaW1hZ2VzX3NpemVfYWRtaW4nXSA9ICdSb3ptZXIgb2JyJmFhY3V0ZTt6b2tvdic7CiRsYW5nWydpbWFnZV9zaXplX2FkbWluX2luZm8nXSA9ICdQciZpYWN1dGU7a2xhZCB6YWRhbmlhOiAyMDB4IC0gJnNjYXJvbjvFlWthLCB4MjAwIC0gdiZ5YWN1dGU7JnNjYXJvbjtrYSwgMjAweDIwMCAtICZzY2Fyb247JmlhY3V0ZTtya2EvdiZ5YWN1dGU7JnNjYXJvbjtrYSc7CiRsYW5nWydhZG1pbl9hcmVhJ10gPSAnQWRtaW5pc3RyJmFhY3V0ZTtjaWEnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ21vZGUnXSA9ICdNJm9hY3V0ZTtkJzsKJGxhbmdbJ3NpbXBsZSddID0gJ0plZG5vZHVjaCZ5YWN1dGU7ICh2bGFzdG4mZWFjdXRlOyB6b3JhZGVuaWUgcHJldGlhaG51dCZpYWN1dGU7bSBwb2xvxb5pZWspJzsKJGxhbmdbJ2FkdmFuY2VkJ10gPSAnUm96JnNjYXJvbjtpcmVuJmVhY3V0ZTsnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZGx5bmFtZSddID0gJ04mYWFjdXRlO3pvdiBtb2R1bHUgKG1vxb5lIGJ5xaUgcyBkaWFrcml0aWtvdSknOwokbGFuZ1sncHJvbXB0X2l0ZW1fc2luZ3VsYXInXSA9ICdKZWRub3RuJmVhY3V0ZTsgxI0maWFjdXRlO3NsbyBwb2xvxb5reSc7CiRsYW5nWydwcm9tcHRfaXRlbV9wbHVyYWwnXSA9ICdNbm/Fvm4mZWFjdXRlOyDEjSZpYWN1dGU7c2xvIHBvbG/Fvmllayc7CiRsYW5nWydwcm9tcHRfdXJsX3ByZWZpeCddID0gJ1ByZWZpeCBwcmUgdXJsIGFkZXJzdSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9hY3Rpb25fcGFyYW1zJ10gPSAnUHJlZG5hc3RhdmVuZSBwYXJhbWV0cmUgcHJlIHMmdWFjdXRlO2hybic7CiRsYW5nWydwcm9tcHRfZGV0YWlsX2FjdGlvbl9wYXJhbXMnXSA9ICdQcmVkbmFzdGF2ZW5lIHBhcmFtZXRyZSBwcmUgZGV0YWlsJzsKJGxhbmdbJ3Byb21wdF90aXRsZV9wYXJhbV9mb3JfY2FjaGUnXSA9ICdQYXJhbWV0ZXIgcHJlIHphcCZpYWN1dGU7c2FuaWUgbmFkcGlzdSBwcmUga2Umc2Nhcm9uO292YW4mZWFjdXRlOyBwb2xvxb5reSc7CiRsYW5nWydwcm9tcHRfZGlzcGxheV9pbmxpbmUnXSA9ICdab2JyYXppxaUgZGV0YWlseSBpbmxpbmUnOwokbGFuZ1sncHJvbXB0X2xhenlsb2FkaW5nJ10gPSAnTGF6eSBsb2FkaW5nICh2IHByJmlhY3V0ZTtwYWRlLCDFvmUgbmVwb3RyZXVqZXRlIHBvdcW+acWlIG1vZHVsIG5hIHN0ciZhYWN1dGU7bmtlIHByaWFtbyknOwokbGFuZ1sncHJvbXB0X2hhc19hZG1pbiddID0gJ1pvYnJhemnFpSBha28gcG9sb8W+a3UgdiBhZG1pbmlzdHImYWFjdXRlO2NpaT8nOwokbGFuZ1snaGFzX2dhbGxlcnknXSA9ICdBa3Rpdm92YcWlIHomYWFjdXRlO2xvxb5rdSBnYWwmZWFjdXRlO3JpdT8nOwokbGFuZ1snZ2FsbGVyeSddID0gJ0dhbCZlYWN1dGU7cmlhJzsKJGxhbmdbJ2dhbGxlcnlfc29ydG9yZGVyJ10gPSAnWm9yYWRlbmllIG9iciZhYWN1dGU7emtvdiB2IGdhbCZlYWN1dGU7cmlpJzsKJGxhbmdbJ2ZpbGVuYW1lJ10gPSAnTiZhYWN1dGU7em92IHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snYWRkX2ZpbGVzJ10gPSAnUHJpZGHFpSBzJnVhY3V0ZTtib3J5JzsKJGxhbmdbJ3ByZXZpZXdfYWRtaW4nXSA9ICdOJmFhY3V0ZTtoxL5hZCB2IGFkbWluaXN0ciZhYWN1dGU7Y2lpJzsKJGxhbmdbJ2NvcHlfYWRtaW4nXSA9ICdQb3ZvbGnFpSBrb3AmaWFjdXRlO3JvdmFuaWUgcG9sb8W+a3knOwokbGFuZ1sncHJvbXB0X3VzZXJncm91cF9kZXBlbmRlbmNlJ10gPSAnWiZhYWN1dGU7dmlzbG/FpSBvZCB6YXJhZGVuaWUgdcW+JmlhY3V0ZTt2YXRlxL5hIHYgc2t1cGluZSc7CiRsYW5nWydwcm9tcHRfaXRlbV9kZXRhaWxfcmV0dXJuaWQnXSA9ICdTdHImYWFjdXRlO25rYSBwcmUgZGV0YWlsJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2NhdGVnb3J5X3JldHVybmlkJ10gPSAnU3RyJmFhY3V0ZTtua2EgcHJlIGthdGVnb3JpZSc7CiRsYW5nWydwcm9tcHRfY3VzdG9tX2ZpZWxkc19kZWZhdWx0X2FkbWluJ10gPSAnUHJlZG5zdGF2ZW4mZWFjdXRlOyB2bGFzdG4mZWFjdXRlOyBwb2xpYSBwcmUgem9icmF6ZW5pZSBhZG1pbmlzdHImYWFjdXRlO2NpdSc7CiRsYW5nWydwcm9tcHRfaXRlbV9jYXRlZ29yeV9lZGl0J10gPSAnVXByYXZvdmHFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ3Byb21wdF9yZWN1cnNpdmUnXSA9ICdVcHJhdm92YcWlICByZWtydXomaWFjdXRlO3ZuZSBwb2xvxb5reSAodnnFvmFkdWplIGQmYWFjdXRlO3R1bSB6YcSNaWFrdSwgYSBrb25jYSknOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lZGl0J10gPSAnVXByYXZvdmHFpSBkJmFhY3V0ZTt0dW0nOwokbGFuZ1sncHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdCddID0gJ1VwcmF2b3ZhxaUgZCZhYWN1dGU7dHVtIGtvbmNhJzsKJGxhbmdbJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnXSA9ICdVcHJhdm92YcWlIGFsaWFzJzsKJGxhbmdbJ3Byb21wdF9pdGVtX3RpdGxlX2VkaXQnXSA9ICdVcHJhdm92YcWlIG5hZHBpcyc7CiRsYW5nWydwcm9tcHRfaXRlbV91cmxfZWRpdCddID0gJ1VwcmF2b3ZhxaUgdXJsJzsKJGxhbmdbJ3Byb21wdF9maWx0ZXJfZGF0ZSddID0gJ0ZpbHRyb3ZhxaUgZCZhYWN1dGU7dHVtJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3NvcnRvcmRlciddID0gJ1NwJm9jaXJjO3NvYiB6b3JhZGVuaWUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfc29ydGluZyddID0gJ1pvdHJpZWRlbmllJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdCddID0gJ0xpbWkgbmEgc3RyJmFhY3V0ZTtua3UnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4dHJhX2xhYmVsJ10gPSAnRXh0cmEgcG9sb8W+a2EgcHJlIGthdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnWm9icmF6ZW4mZWFjdXRlOyBwb2xpYSc7CiRsYW5nWyd2aWV3J10gPSAnWm9icmF6acWlJzsKJGxhbmdbJ3Jlb3JkZXInXSA9ICdQcmV1c3BvcmlhZGHFpSc7CiRsYW5nWydzZWFyY2gnXSA9ICdWeWjEvmFkJmFhY3V0ZTt2YW5pZSc7CiRsYW5nWydyZWluZGV4J10gPSAnUHJlaW5kZXhvdmHFpSc7CiRsYW5nWydwcm9tcHRfc2VhcmNoYWJsZSddID0gJ1Z5aMS+YWQmYWFjdXRlO3ZhdGXEvm4mZWFjdXRlOyc7CiRsYW5nWydwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJ10gPSAnUG92b2xpxaUgZCZhYWN1dGU7dHVtIGtvbmNhIHByZSB2eWjEvmFkJmFhY3V0ZTt2YW5pZSc7CiRsYW5nWydzdW5kYXknXSA9ICdOZWRlxL5hJzsKJGxhbmdbJ21vbmRheSddID0gJ1BvbmRlbG9rJzsKJGxhbmdbJ3R1ZXNkYXknXSA9ICdVdG9yb2snOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnU3RyZWRhJzsKJGxhbmdbJ3RodXJzZGF5J10gPSAnJlNjYXJvbjt0dnJ0b2snOwokbGFuZ1snZnJpZGF5J10gPSAnUGlhdG9rJzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnU29ib3RhJzsKJGxhbmdbJ3JlY3VyX3BlcmlvZCddID0gJ1Jla3VyeiZpYWN1dGU7dm5lJzsKJGxhbmdbJ3dlZWtkYXlzJ10gPSAnRG5pIHYgdCZ5YWN1dGU7xaVkbmknOwokbGFuZ1snbm8nXSA9ICfFvWlhZG5lJzsKJGxhbmdbJ2RhaWx5J10gPSAnRGVubmUnOwokbGFuZ1sncGx1cmFsX2RhaWx5J10gPSAnRG5pJzsKJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ1ptYXphxaUgdnlicmFuJmVhY3V0ZTsnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMi4wIDI3LiBmZWJydWFyLCAyMDEyIA0KPGJyIC8+YWRkIGdhbGxlcnkgLSBtdXRsaXVwbG9hZCwgc29ydGluZywgcmVzaXplDQo8L2xpPg0KPGxpPlZlcnNpb24gMS45IEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBjYXRlZ29yeSBjdXN0b20gZmllbGRzLCBtb3ZlZCB0byB0aGVpciBvd24gc2VjdGlvbi4NCjxiciAvPiB1cGdyYWRlIHNjcmlwdCBjb21wYXRpYmxlIHdpdGggMS44LjEgdmVyc2lvbg0KPGJyIC8+IGZpeCBzb21lIGlzc3Vlcw0KPC9saT4NCjxsaT5WZXJzaW9uIDEuOC4xIEphbnVhciwgMjAxMiANCjxiciAvPmFkZCBvcHRpb24gZm9yIHByZXZpZXcgaW4gYWRtaW4NCjxiciAvPmFkZCBwcmV2aWV3IGljb24gaW4gYWRtaW4NCjxiciAvPmFkZCBvcHRpb24gZm9yIGNvcHkgaXRlbQ0KPGJyIC8+Zml4IGF1dGxvYWQgY2xhc3MgZ2VuZXJhdG9yX29wdHMgaW4gYWRtaW4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjggSmFudWFyLCAyMDExIC0gIGl0ZW0gcHJldmlldywgYnVnIGZpeGVzPC9saT4NCjxsaT5WZXJzaW9uIDEuNyBOb3ZlbWJlciwgMjAxMSAtICBpbml0IHJlbGVhc2U8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+TW9kdWxlIGdlbmVyYXRvciBsZXRzIHlvdSBjcmVhdGUgYSBsaXN0IHRoZSBtb2R1bGVzIGFzIE5ld3MsIFByb2R1Y3RzIGF0Yy4gSW5kaXZpZHVhbCBtb2R1bGVzLCB5b3UgY2FuIGxpbmsgYmV0d2VlbiB0aGVtLiAgWW91IGNhbiBjcmVhdGUgYSBtb2R1bGUgUGVvcGxlLCBHZW5kZXIgYW5kIFR5cGUgb2YgZW1wbG95bWVudCBhbmQgbGluayBiZXR3ZW4gdGhlbS48L3A+DQo8cD5FYWNoIG1vZHVsZSBpbmNsdWRlcyB0aGUgYWJpbGl0eSB0byBjcmVhdGVkIGNhdGVnb3JpZXMsIGN1c3RvbSBmaWVsZHMgIGFuZCBlZGl0ZWQgYSBudW1iZXIgb2Ygc2V0dGluZ3MuPC9wPg0KPHA+WW91IGNhbiB1c2UgdGhlIGxpc3QgdGVtcGxhdGVzICwgY2F0ZWdvcmllcyB0ZW1wbGF0ZXMgLCBmaWx0ZXIgdGVtcGxhdGVzLCBvciBkZXRhaWwgdGVtcGxhdGVzIGFzIGl0IGFscmVhZHkga25vd24gbW9kdWxlcyBmcm9tIE5ld3MsIFByb2R1Y3RzIGV0Yy48L3A+JzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtQWRkZWQnXSA9ICdPZG9zbGFuJmVhY3V0ZTsgcHJpIHByaWRhbiZpYWN1dGU7IG5vdmVqIHBvbG/Fvmt5JzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtQWRkZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBhZGRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2l0ZW1faWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gaXRlbTwvbGk+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBjYXRlZ29yeSBmb3IgdGhpcyBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7dGl0bGVcJnF1b3Q7IC0gVGl0bGUgb2YgdGhlIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDthY3RpdmUmcXVvdDsgLSBTdGF0dXMgb2YgdGhlIGl0ZW0gKCZxdW90OzAmcXVvdDsgb3IgJnF1b3Q7MSZxdW90Oyk8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGUmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdGFydCBiZWluZyBkaXNwbGF5ZWQ8L2xpPg0KPGxpPlwmcXVvdDtpdGVtX2RhdGVfZW5kXCZxdW90OyAtIERhdGUgdGhlIGl0ZW0gc2hvdWxkIHN0b3AgYmVpbmcgZGlzcGxheWVkPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRkZXNjLUl0ZW1FZGl0ZWQnXSA9ICdPZG9zbGFuJmVhY3V0ZTsgcHJpIGVkaXRvdmFuJmlhY3V0ZTsgcG9sb8W+a3knOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1FZGl0ZWQnXSA9ICc8cD5TZW50IHdoZW4gYW4gaXRlbSBpcyBlZGl0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgY2F0ZWdvcnkgZm9yIHRoaXMgaXRlbTwvbGk+DQo8bGk+XCZxdW90O3RpdGxlXCZxdW90OyAtIFRpdGxlIG9mIHRoZSBpdGVtPC9saT4NCjxsaT5cJnF1b3Q7YWN0aXZlJnF1b3Q7IC0gU3RhdHVzIG9mIHRoZSBpdGVtICgmcXVvdDswJnF1b3Q7IG9yICZxdW90OzEmcXVvdDspPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlJnF1b3Q7IC0gRGF0ZSB0aGUgaXRlbSBzaG91bGQgc3RhcnQgYmVpbmcgZGlzcGxheWVkPC9saT4NCjxsaT5cJnF1b3Q7aXRlbV9kYXRlX2VuZFwmcXVvdDsgLSBEYXRlIHRoZSBpdGVtIHNob3VsZCBzdG9wIGJlaW5nIGRpc3BsYXllZDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1JdGVtRGVsZXRlZCddID0gJ09kb3NsYW4mZWFjdXRlOyBwcmkgb2RzdHImYWFjdXRlO25lbiZpYWN1dGU7IHBvbG/Fvmt5JzsKJGxhbmdbJ2V2ZW50aGVscC1JdGVtRGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhbiBpdGVtIGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtpdGVtX2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGl0ZW08L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlBZGRlZCddID0gJ1NlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLic7CiRsYW5nWydldmVudGhlbHAtQ2F0ZWdvcnlBZGRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGFkZGVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlFZGl0ZWQnXSA9ICdTZW50IHdoZW4gYSBjYXRlZ29yeSBpcyBlZGl0ZWQuJzsKJGxhbmdbJ2V2ZW50aGVscC1DYXRlZ29yeUVkaXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGVkaXRlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBpdGVtIGNhdGVnb3J5PC9saT4NCjxsaT5cJnF1b3Q7b3JpZ25hbWVcJnF1b3Q7IC0gVGhlIG9yaWdpbmFsIG5hbWUgb2YgdGhlIGl0ZW0gY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtQ2F0ZWdvcnlEZWxldGVkJ10gPSAnU2VudCB3aGVuIGEgY2F0ZWdvcnkgaXMgZGVsZXRlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3J5RGVsZXRlZCddID0gJzxwPlNlbnQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQuPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPlwmcXVvdDtjYXRlZ29yeV9pZFwmcXVvdDsgLSBJZCBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeSA8L2xpPg0KPGxpPlwmcXVvdDtuYW1lXCZxdW90OyAtIE5hbWUgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudGRlc2MtSXRlbXNSZW9yZGVyZWQnXSA9ICdTZW50IHdoZW4gaXRlbXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUl0ZW1zUmVvcmRlcmVkJ10gPSAnPHA+U2VudCB3aGVuIGl0ZW1zIGlzIHJlb3JkZXJlZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+XCZxdW90O2NhdGVnb3J5X2lkXCZxdW90OyAtIElkIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5IDwvbGk+DQo8bGk+XCZxdW90O25hbWVcJnF1b3Q7IC0gTmFtZSBvZiB0aGUgZGVsZXRlZCBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50ZGVzYy1DYXRlZ29yaWVzUmVvcmRlcmVkJ10gPSAnU2VudCB3aGVuIGNhdGVnb3JpZXMgYXJlIHJlb3JkZXJlZC4nOwokbGFuZ1snZXZlbnRoZWxwLUNhdGVnb3JpZXNSZW9yZGVyZWQnXSA9ICc8cD5TZW50IHdoZW4gY2F0ZWdvcmllcyBhcmUgcmVvcmRlcmVkLjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT5cJnF1b3Q7Y2F0ZWdvcnlfaWRcJnF1b3Q7IC0gSWQgb2YgdGhlIGRlbGV0ZWQgY2F0ZWdvcnkgPC9saT4NCjxsaT5cJnF1b3Q7bmFtZVwmcXVvdDsgLSBOYW1lIG9mIHRoZSBkZWxldGVkIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMjkzMTYyMTc1LjEzNDI1NTIxMTUuMTM0MjU1MjExNS4xMzQyNTUyMTE1LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNDI1NTIxMTUuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.generator_fields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9maWVsZHMgewoKICAgIHByaXZhdGUgc3RhdGljICRfZmllbGRzID0gYXJyYXkoKTsKICAgIHByaXZhdGUgc3RhdGljICRfZmllbGRzdmFscyA9IGFycmF5KCk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkcygkbW9kKSB7CiAgICAgICAgaWYgKGlzc2V0KHNlbGY6OiRfZmllbGRzWyRtb2QtPkdldE5hbWUoKV0pKQogICAgICAgICAgICByZXR1cm4gc2VsZjo6JF9maWVsZHNbJG1vZC0+R2V0TmFtZSgpXTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIE9SREVSIEJZIHBvc2l0aW9uJzsKICAgICAgICAkZmllbGRzID0gc2VsZjo6JF9maWVsZHNbJG1vZC0+R2V0TmFtZSgpXSA9ICRkYi0+R2V0QWxsKCRxdWVyeSwgYXJyYXkoKSk7CiAgICAgICAgcmV0dXJuICRmaWVsZHM7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZmllbGRfZGVmcygkbW9kLCAkc2VjdGlvbiA9ICdpdGVtcycsICR0eXBlID0gbnVsbCwgJGZpbHRlcl9mcm9udGVuZCA9IG51bGwsICRmaWx0ZXJfYWRtaW4gPSBudWxsKSB7CiAgICAgICAgJGZpZWxkcyA9IHNlbGY6OmdldF9maWVsZHMoJG1vZCk7CiAgICAgICAgaWYgKGVtcHR5KCRmaWVsZHMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICR0bXBfaWQgPSBfX0ZVTkNUSU9OX18gLiAkbW9kLT5HZXROYW1lKCkgLiAkdHlwZSAuICRmaWx0ZXJfZnJvbnRlbmQgLiAkZmlsdGVyX2FkbWluIC4gJHNlY3Rpb247CiAgICAgICAgaWYgKGlzc2V0KHNlbGY6OiRfZmllbGRzWyR0bXBfaWRdKSkKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OiRfZmllbGRzWyR0bXBfaWRdOwoKICAgICAgICAkdG1wX2ZpZWxkcyA9ICRmaWVsZHM7CiAgICAgICAgZm9yZWFjaCAoJGZpZWxkcyBhcyAka2V5ID0+ICRmaWVsZCkgewogICAgICAgICAgICBpZiAoJHNlY3Rpb24gIT0gJGZpZWxkWydzZWN0aW9uJ10pIHsKICAgICAgICAgICAgICAgIHVuc2V0KCR0bXBfZmllbGRzWyRrZXldKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJHR5cGUgIT0gbnVsbCAmJiAkdHlwZSAhPSAkZmllbGRbJ3R5cGUnXSkgewogICAgICAgICAgICAgICAgdW5zZXQoJHRtcF9maWVsZHNbJGtleV0pOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkZmlsdGVyX2Zyb250ZW5kICE9IG51bGwgJiYgJGZpbHRlcl9mcm9udGVuZCAhPSAkZmllbGRbJ2ZpbHRlcl9mcm9udGVuZCddKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkdG1wX2ZpZWxkc1ska2V5XSk7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCRmaWx0ZXJfYWRtaW4gIT0gbnVsbCAmJiAkZmlsdGVyX2FkbWluICE9ICRmaWVsZFsnZmlsdGVyX2FkbWluJ10pIHsKICAgICAgICAgICAgICAgIHVuc2V0KCR0bXBfZmllbGRzWyRrZXldKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBzZWxmOjokX2ZpZWxkc1skdG1wX2lkXSA9ICR0bXBfZmllbGRzOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkc19mb3JfZmlsdGVycygkbW9kLCAkYmxvY2t0eXBlcyA9IGFycmF5KCksICRzZWN0aW9uID0gJ2l0ZW1zJykgewogICAgICAgICRmaWVsZHMgPSBzZWxmOjpnZXRfZmllbGRfZGVmcygkbW9kLCAkc2VjdGlvbiwgbnVsbCwgbnVsbCwgbnVsbCk7CiAgICAgICAgaWYgKCEkZmllbGRzKQogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAkY3VzdG9tX2ZsZHMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRmaWVsZHMgYXMgJHJvdykgewogICAgICAgICAgICBpZiAoaW5fYXJyYXkoJHJvd1sidHlwZSJdLCAkYmxvY2t0eXBlcykpCiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRyb3dbJ2ZpZWxkZGVmX2lkJ11dID0gJHJvdzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRjdXN0b21fZmxkczsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZHNfdmFsdWVzKCRtb2QsICRpdGVtX2lkLCAkcGFyYW1zID0gYXJyYXkoKSkgewoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkZmllbGR2YWxzID0gYXJyYXkoKTsKCiAgICAgICAgJHRtcF9pZCA9IG1kNShzZXJpYWxpemUoX19GVU5DVElPTl9fIC4gJG1vZC0+R2V0TmFtZSgpIC4gJGl0ZW1faWQgLiAkcGFyYW1zKSk7CiAgICAgICAgaWYgKGlzc2V0KHNlbGY6OiRfZmllbGRzdmFsc1skdG1wX2lkXSkpCiAgICAgICAgICAgIHJldHVybiBzZWxmOjokX2ZpZWxkc3ZhbHNbJHRtcF9pZF07CgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgQi4qLEEudmFsdWUKCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgQSwgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBCCgkJV0hFUkUgQS5maWVsZGRlZl9pZCA9IEIuZmllbGRkZWZfaWQgQU5EIEEuaXRlbV9pZCA9ID8gT1JERVIgQlkgQi5wb3NpdGlvbic7CiAgICAgICAgJHJvd3MgPSAkZGItPkdldEFycmF5KCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQpKTsKICAgICAgICBpZiAoJHJvd3MpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHJvd3MgYXMgJGZpZWxkdmFsKSB7CiAgICAgICAgICAgICAgICAkZmllbGR2YWxzWyRmaWVsZHZhbFsnZmllbGRkZWZfaWQnXV0gPSAkZmllbGR2YWw7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHNlbGY6OiRfZmllbGRzdmFsc1skdG1wX2lkXSA9ICRmaWVsZHZhbHM7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10gYXMgJGZsZGlkID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgJGZpZWxkdmFsc1skZmxkaWRdWyd2YWx1ZSddID0gKGVtcHR5KCR2YWx1ZSkgPT0gdHJ1ZSA/ICcnIDogKGlzX2FycmF5KCR2YWx1ZSkgPyBpbXBsb2RlKCcsJywgJHZhbHVlKSA6ICR2YWx1ZSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGZpZWxkdmFsczsKICAgIH0KCiAgICAvKioKICAgICAqCiAgICAgKiBAcGFyYW0gdHlwZSAkaXRlbV9pZAogICAgICogQHJldHVybiBzdHJpbmcgCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3Byb2Nlc3NlZF9maWVsZHNfdmFsdWVzKCRtb2QsICRpdGVtX2lkLCAkc2VjdGlvbiA9ICdpdGVtcycsICRrZXkgPSAnYWxpYXMnKSB7CgogICAgICAgICR0bXBfaWQgPSBtZDUoc2VyaWFsaXplKF9fRlVOQ1RJT05fXyAuICRtb2QtPkdldE5hbWUoKSAuICRpdGVtX2lkIC4gJGtleSAuICRzZWN0aW9uKSk7CiAgICAgICAgaWYgKGlzc2V0KHNlbGY6OiRfZmllbGRzdmFsc1skdG1wX2lkXSkpCiAgICAgICAgICAgIHJldHVybiBzZWxmOjokX2ZpZWxkc3ZhbHNbJHRtcF9pZF07CgogICAgICAgICRyb3dzID0gc2VsZjo6Z2V0X2ZpZWxkc192YWx1ZXMoJG1vZCwgJGl0ZW1faWQpOwogICAgICAgIGZvcmVhY2ggKCRyb3dzIGFzICRrZXkyID0+ICRyb3cpIHsKCiAgICAgICAgICAgIGlmICgkc2VjdGlvbiAhPSAkcm93WydzZWN0aW9uJ10pIHsKICAgICAgICAgICAgICAgIHVuc2V0KCRyb3dzWyRrZXkyXSk7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGZpZWxkZGVmcyA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHJvd3MgYXMgJHJvdykgewogICAgICAgICAgICAkZmllbGRkZWZzWyRyb3dbJGtleV1dID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnZmllbGRkZWZfaWQnID0+ICRyb3dbJ2ZpZWxkZGVmX2lkJ10sCiAgICAgICAgICAgICAgICAnbmFtZScgPT4gJHJvd1snbmFtZSddLAogICAgICAgICAgICAgICAgJ2FsaWFzJyA9PiAkcm93WydhbGlhcyddLAogICAgICAgICAgICAgICAgJ3ZhbHVlJyA9PiAkcm93Wyd2YWx1ZSddLAogICAgICAgICAgICAgICAgJ3NlYXJjaGFibGUnID0+ICRyb3dbJ3NlYXJjaGFibGUnXSwKICAgICAgICAgICAgICAgICd0eXBlJyA9PiAkcm93Wyd0eXBlJ10KICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgc2VsZjo6JF9maWVsZHN2YWxzWyR0bXBfaWRdID0gJGZpZWxkZGVmczsKICAgICAgICByZXR1cm4gJGZpZWxkZGVmczsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFsaWFzX3RvX29iamVjdCgkZmllbGRkZWZzLCAmJGl0ZW0pIHsKICAgICAgICBmb3JlYWNoICgkZmllbGRkZWZzIGFzICRrZXkgPT4gJG9uZWRlZikgewogICAgICAgICAgICBpZiAoZW1wdHkoJG9uZWRlZlsiYWxpYXMiXSkgPT0gZmFsc2UgJiYgaW5fYXJyYXkoJG9uZWRlZlsiYWxpYXMiXSwgZ2VuZXJhdG9yX3Rvb2xzOjokZmllbGRzX2Jsb2NrbGlzdCkgPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIGlmIChpc19vYmplY3QoJGl0ZW0pKQogICAgICAgICAgICAgICAgICAgICRpdGVtLT4kb25lZGVmWyJhbGlhcyJdID0gJG9uZWRlZlsidmFsdWUiXTsKICAgICAgICAgICAgICAgIGVsc2VpZiAoaXNfYXJyYXkoJGl0ZW0pKQogICAgICAgICAgICAgICAgICAgICRpdGVtWyRvbmVkZWZbImFsaWFzIl1dID0gJG9uZWRlZlsidmFsdWUiXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_filters.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9maWx0ZXJzIHsKCiAgICBwcml2YXRlICRfdHlwZTsKICAgIHByaXZhdGUgJF9tb2Q7CiAgICBwcml2YXRlICRfaWQ7CiAgICBwcml2YXRlICRfaW5zdGFuY2UgPSBudWxsOwogICAgcHVibGljICRjdXN0b21fZmllbGRzID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlkID0gbnVsbCwgJG1vZCwgJHR5cGUgPSAnYWRtaW4nKSB7CgogICAgICAgIGlmICgkdGhpcy0+X2luc3RhbmNlICE9IG51bGwgJiYgaXNfb2JqZWN0KCR0aGlzLT5faW5zdGFuY2UpKQogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9pbnN0YW5jZTsKCiAgICAgICAgJHRoaXMtPl9pZCA9ICRpZDsKICAgICAgICAkdGhpcy0+X3R5cGUgPSAkdHlwZTsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICAgICAgJHRoaXMtPl9pbnN0YW5jZSA9ICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzX2N1c3RvbV9maWVsZHMoJGJsb2NrdHlwZXMgPSBhcnJheSgpLCAkY3VzdG9tX2ZsZHMgPSBhcnJheSgpKSB7CgogICAgICAgIGlmIChpc19hcnJheSgkY3VzdG9tX2ZsZHMpICYmIGVtcHR5KCRjdXN0b21fZmxkcykpCiAgICAgICAgICAgICRjdXN0b21fZmxkcyA9IGdlbmVyYXRvcl9maWVsZHM6OmdldF9maWVsZHNfZm9yX2ZpbHRlcnMoJHRoaXMtPl9tb2QsICRibG9ja3R5cGVzKTsKCgoKICAgICAgICBpZiAoJGN1c3RvbV9mbGRzKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRjdXN0b21fZmxkcyBhcyAkY3VzdG9tX2ZsZCA9PiAkc2V0dGluZykgewogICAgICAgICAgICAgICAgLy8gZ2V0IGV4dHJhIGNvbW1hbmRzCiAgICAgICAgICAgICAgICAkaW5zdHJ1Y3Rpb25zID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmEoJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnZXh0cmEnXSwgJHRoaXMtPl9tb2QpOwoKICAgICAgICAgICAgICAgIHN3aXRjaCAoJHNldHRpbmdbJ3R5cGUnXSkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRib3gnOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydzaXplJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9zaXplKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydtYXhfbGVuZ3RoJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9tYXhfbGVuZ3RoKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZHJvcGRvd24nOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydvcHRpb25zJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9vcHRpb25zKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZHJvcGRvd25fZnJvbV91ZHQnOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWyd1ZHQnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX21vZHVsZXVkdCgkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duZnJvbW1vZHVsZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ29wdGlvbnMnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX21vZHVsZW9wdGlvbnMoJGluc3RydWN0aW9ucywgJG1vZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdtb2R1bGUnOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydzZWxlY3RfZGVmYXVsdCddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfc2VsZWN0ZGVmYXVsdCgkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbV9mbGRzWyRjdXN0b21fZmxkXVsnbXVsdGlwbGUnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX211bHRpcGxlKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydwYXJhbXMnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX21vZHVsZXBhcmFtcygkaW5zdHJ1Y3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ21vZHVsZV9saW5rJzoKICAgICAgICAgICAgICAgICAgICAgICAgLy8kY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydsaW5rJ10gPSAkaW5zdHJ1Y3Rpb25zWzBdOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29sb3JfcGlja2VyJzoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2UnOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydvcHRpb25zJ10gPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYV9wYWdlKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3RhdGljJzoKCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICd0YWInOgoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NoZWNrYm94JzoKCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICd0ZXh0YXJlYSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ2NvbHMnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX2NvbHMoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ3Jvd3MnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX3Jvd3MoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ21heF9sZW5ndGgnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX21heF9sZW5ndGgoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ3d5c2l3eWcnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX3d5c2l3eWcoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdzZWxlY3RfZGF0ZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ3NpemUnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX3NpemUoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ21heF9sZW5ndGgnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX21heF9sZW5ndGgoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ2RhdGVmb3JtYXQnXSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2V4dHJhX2RhdGVfZm9ybWF0KCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAndXBsb2FkX2ZpbGUnOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydhbGxvdyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfYWxsb3coJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdmaWxlX3BpY2tlcic6CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ3BhcmFtcyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbW9kdWxlcGFyYW1zKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc2VsZWN0X2ZpbGUnOgogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydhbGxvdyddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfYWxsb3coJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkc1skY3VzdG9tX2ZsZF1bJ2RpciddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfZGlyKCRpbnN0cnVjdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJGN1c3RvbV9mbGRdWydleGNsdWRlX3ByZWZpeCddID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfZXhjbHVkZV9wcmVmaXgoJGluc3RydWN0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICR0aGlzLT5jdXN0b21fZmllbGRzID0gJGN1c3RvbV9mbGRzOwogICAgICAgIHJldHVybiAkdGhpcy0+Y3VzdG9tX2ZpZWxkczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGUoJGl0ZW1faWQgPSBudWxsLCAkcGFyYW1zID0gYXJyYXkoKSwgJGZpZWxkdmFscyA9IGFycmF5KCksICRmcm9udGVuZCA9IG51bGwpIHsKCiAgICAgICAgaWYgKCEkdGhpcy0+Y3VzdG9tX2ZpZWxkcykKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgogICAgICAgICRjdXN0b21fZmxkc19vYmogPSBhcnJheSgpOwoKICAgICAgICAkaWQgPSAkdGhpcy0+X2lkOwogICAgICAgICRtb2QgPSAkdGhpcy0+X21vZDsKICAgICAgICBpZiAoZW1wdHkoJGZpZWxkdmFscykpCiAgICAgICAgICAgICRmaWVsZHZhbHMgPSBnZW5lcmF0b3JfZmllbGRzOjpnZXRfZmllbGRzX3ZhbHVlcygkbW9kLCAkaXRlbV9pZCwgJHBhcmFtcyk7CiAgICAgICAgCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmN1c3RvbV9maWVsZHMgYXMgJGN1c3RvbV9mbGQpIHsKICAgICAgICAgICAgaWYgKCEkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAKICAgICAgICAgICAgJG9iaiA9IG5ldyBTdGRDbGFzcygpOwogICAgICAgICAgICAkbmFtZSA9ICdjdXN0b21maWVsZFsnIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnXSc7CiAgICAgICAgICAgICRvYmotPmZpZWxkZGVmX2lkID0gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ107CiAgICAgICAgICAgICRvYmotPnByb21wdCA9ICgkY3VzdG9tX2ZsZFsncmVxdWlyZWQnXSA/ICcqJyA6ICcnKSAuICRjdXN0b21fZmxkWyduYW1lJ107CiAgICAgICAgICAgICRvYmotPmxhYmVsID0gJGN1c3RvbV9mbGRbJ25hbWUnXTsKICAgICAgICAgICAgJG9iai0+YWxpYXMgPSAkY3VzdG9tX2ZsZFsnYWxpYXMnXTsKICAgICAgICAgICAgJG9iai0+ZWRpdHZpZXcgPSAkY3VzdG9tX2ZsZFsnZWRpdHZpZXcnXTsKICAgICAgICAgICAgJG9iai0+bmFtZSA9ICRpZCAuICRjdXN0b21fZmxkWydhbGlhcyddOwogICAgICAgICAgICAkb2JqLT50eXBlID0gJGN1c3RvbV9mbGRbJ3R5cGUnXTsKICAgICAgICAgICAgJHZhbHVlID0gKGlzc2V0KCRmaWVsZHZhbHNbJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ11dWyd2YWx1ZSddKSA/ICRmaWVsZHZhbHNbJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ11dWyd2YWx1ZSddIDogJycpOwogICAgICAgICAgICAkb2JqLT5pdGVtX2lkID0gJGl0ZW1faWQ7CiAgICAgICAgICAgICRvYmotPnZhbHVlID0gJHZhbHVlOwogICAgICAgICAgICAkb2JqLT5oZWxwID0gJGN1c3RvbV9mbGRbJ2hlbHAnXTsKICAgICAgICAgICAgJG9iai0+ZXh0cmEgPSAkY3VzdG9tX2ZsZFsnZXh0cmEnXTsKICAgICAgICAgICAgJG9iai0+ZmlsdGVyID0gJGlkIC4gJ2ZpbHRlcl8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnX2VxdWFsJzsgICAgICAgICAgICAKICAgICAgICAgICAgc3dpdGNoICgkY3VzdG9tX2ZsZFsndHlwZSddKSB7CiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0Ym94JzoKICAgICAgICAgICAgICAgICAgICAkc2l6ZSA9ICFlbXB0eSgkY3VzdG9tX2ZsZFsnc2l6ZSddKSA/ICRjdXN0b21fZmxkWydzaXplJ10gOiA1MDsKICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnbGlrZSc7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRmcm9udGVuZCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9ICdmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlOwogICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSAoaXNzZXQoJHBhcmFtc1snZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZV0pID8gJHBhcmFtc1snZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZV0gOiAnJyk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCRjdXN0b21fZmxkWydtYXhfbGVuZ3RoJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJG5hbWUsICR2YWx1ZSwgJHNpemUsICRjdXN0b21fZmxkWydtYXhfbGVuZ3RoJ10pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJG5hbWUsICR2YWx1ZSwgJHNpemUpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnbW9kdWxlJzoKCiAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgICRpdGVtcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRjdXN0b21fZmxkWydwYXJhbXMnXSkgJiYgIWVtcHR5KCRjdXN0b21fZmxkWydwYXJhbXMnXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgkbW9kLT5HZXROYW1lKCkgIT0gJGN1c3RvbV9mbGRbJ3BhcmFtcyddWyJtb2R1bGUiXSAmJiAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRjdXN0b21fZmxkWydwYXJhbXMnXVsibW9kdWxlIl0pIE9SICgkbW9kLT5HZXROYW1lKCkgPT0gJGN1c3RvbV9mbGRbJ3BhcmFtcyddWyJtb2R1bGUiXSAmJiAkbW9kdWxlID0gJG1vZCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkY3VzdG9tX2ZsZFsncGFyYW1zJ11bIm1vZHVsZSJdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b21fZmxkWydwYXJhbXMnXVsiaXRlbXMiXSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbW9kdWxlLT5Eb0FjdGlvbignZGVmYXVsdCcsICRpZCwgJGN1c3RvbV9mbGRbJ3BhcmFtcyddLCAnJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXRlbXMgPSBnZW5lcmF0b3JfdG9vbHM6OiRpdGVtczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6b2JqZWN0X3RvX2hhc2goJGl0ZW1zLCAndGl0bGUnLCAnaXRlbV9pZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yX3Rvb2xzOjokaXRlbXMgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRbJ211bHRpcGxlJ10pICYmIGlzX2ludCgkY3VzdG9tX2ZsZFsnbXVsdGlwbGUnXSkgJiYgISRmcm9udGVuZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRbJ3NlbGVjdF9kZWZhdWx0J10pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCRjdXN0b21fZmxkWydzZWxlY3RfZGVmYXVsdCddID0+ICcnKSArICRvcHRpb25zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAkbmFtZSAuICJbXSIsICRvcHRpb25zLCAoIWVtcHR5KCR2YWx1ZSkgPyBleHBsb2RlKCcsJywgJHZhbHVlKSA6IGFycmF5KDAgPT4gJycpKSwgJGN1c3RvbV9mbGRbJ211bHRpcGxlJ10pOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICRuYW1lIC4gIltdIiwgJycpIC4gJG1vZC0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJG5hbWUgLiAiW10iLCAkb3B0aW9ucywgKCFlbXB0eSgkdmFsdWUpID8gZXhwbG9kZSgnLCcsICR2YWx1ZSkgOiBhcnJheSgwID0+ICcnKSksICRjdXN0b21fZmxkWydtdWx0aXBsZSddKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoJHRoaXMtPl9tb2QtPkxhbmcoJ3NlbGVjdF9kZWZhdWx0JykgPT4gJycpICsgJG9wdGlvbnM7CgogICAgICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnZXF1YWwnOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRbJ211bHRpcGxlJ10pICYmIGlzX2ludCgkY3VzdG9tX2ZsZFsnbXVsdGlwbGUnXSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnaW5zZXQnOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRmcm9udGVuZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSAnZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IChpc3NldCgkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSkgPyAkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSA6ICcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpbHRlciA9ICRpZCAuICRuYW1lOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPnZhbHVlID0gJHZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5pdGVtcyA9ICRpdGVtczsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+b3B0aW9ucyA9ICRvcHRpb25zOwogICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJG9wdGlvbnMsIC0xLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICAgICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnNbJHRoaXMtPl9tb2QtPkxhbmcoJ3NlbGVjdF9kZWZhdWx0JyldID0gJyc7CgogICAgICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSAmJiAhZW1wdHkoJGN1c3RvbV9mbGRbJ29wdGlvbnMnXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSAkb3B0aW9ucyArIGFycmF5X2ZsaXAoJGN1c3RvbV9mbGRbJ29wdGlvbnMnXSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnZXF1YWwnOwoKICAgICAgICAgICAgICAgICAgICBpZiAoJGZyb250ZW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJ2ZpbHRlcl8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnXycgLiAkZnJvbnRfZW5kX3R5cGU7CiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IChpc3NldCgkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSkgPyAkcGFyYW1zWydmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlXSA6ICcnKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRvYmotPm9wdGlvbnMgPSAkb3B0aW9uczsKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJG9wdGlvbnMsIC0xLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnZHJvcGRvd25fZnJvbV91ZHQnOgogICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc1skdGhpcy0+X21vZC0+TGFuZygnc2VsZWN0X2RlZmF1bHQnKV0gPSAnJzsKICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc3RtcCA9IFVzZXJUYWdPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+Q2FsbFVzZXJUYWcoJGN1c3RvbV9mbGRbJ3VkdCddLCAkdG1wKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJG9wdGlvbnN0bXApICYmIGVtcHR5KCRvcHRpb25zdG1wKSA9PSBmYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSAkb3B0aW9ucyArICRvcHRpb25zdG1wOwoKCiAgICAgICAgICAgICAgICAgICAgJGZyb250X2VuZF90eXBlID0gJ2VxdWFsJzsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCRmcm9udGVuZCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbmFtZSA9ICdmaWx0ZXJfJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ18nIC4gJGZyb250X2VuZF90eXBlOwogICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSAoaXNzZXQoJHBhcmFtc1snZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZV0pID8gJHBhcmFtc1snZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZV0gOiAnJyk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5vcHRpb25zID0gJG9wdGlvbnM7CiAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJG5hbWUsICRvcHRpb25zLCAtMSwgJHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdkcm9wZG93bmZyb21tb2R1bGUnOgogICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc1skdGhpcy0+X21vZC0+TGFuZygnc2VsZWN0X2RlZmF1bHQnKV0gPSAnc2VsZWN0X2RlZmF1bHQnOwogICAgICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSAmJiAhZW1wdHkoJGN1c3RvbV9mbGRbJ29wdGlvbnMnXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheV9tZXJnZSgkb3B0aW9ucywgYXJyYXlfZmxpcCgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJG9wdGlvbnMsIC0xLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2UnOgogICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc1skdGhpcy0+X21vZC0+TGFuZygnc2VsZWN0X2RlZmF1bHQnKV0gPSAnc2VsZWN0X2RlZmF1bHQnOwogICAgICAgICAgICAgICAgICAgIGlmIChpc19hcnJheSgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSAmJiAhZW1wdHkoJGN1c3RvbV9mbGRbJ29wdGlvbnMnXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSBhcnJheV9tZXJnZSgkb3B0aW9ucywgYXJyYXlfZmxpcCgkY3VzdG9tX2ZsZFsnb3B0aW9ucyddKSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJG9wdGlvbnMsIC0xLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2NvbG9yX3BpY2tlcic6CiAgICAgICAgICAgICAgICAgICAgJHR4dCA9ICcnOwogICAgICAgICAgICAgICAgICAgICR0bXAgPSAnPGlucHV0IHR5cGU9ImNvbG9yIiBkYXRhLWhleD0idHJ1ZSIgbmFtZT0iJXMiIHZhbHVlPSIlcyIvPic7CiAgICAgICAgICAgICAgICAgICAgJHR4dCAuPSBzcHJpbnRmKCR0bXAsICRpZCAuICRuYW1lLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJHR4dDsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdtb2R1bGVfbGluayc6CiAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkY3VzdG9tX2ZsZFsnbGluayddOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2NoZWNrYm94JzoKICAgICAgICAgICAgICAgICAgICAkZnJvbnRfZW5kX3R5cGUgPSAnZXF1YWwnOwogICAgICAgICAgICAgICAgICAgIGlmICgkZnJvbnRlbmQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG5hbWUgPSAnZmlsdGVyXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXSAuICdfJyAuICRmcm9udF9lbmRfdHlwZTsKICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gKGlzc2V0KCRwYXJhbXNbJ2ZpbHRlcl8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnXycgLiAkZnJvbnRfZW5kX3R5cGVdKSA/ICRwYXJhbXNbJ2ZpbHRlcl8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnXycgLiAkZnJvbnRfZW5kX3R5cGVdIDogJycpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJG5hbWUsICcwJykgLiAkbW9kLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJG5hbWUsICcxJywgJHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0YXJlYSc6CiAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkbW9kLT5DcmVhdGVUZXh0QXJlYSgkY3VzdG9tX2ZsZFsnd3lzaXd5ZyddLCAkaWQsICR2YWx1ZSwgJG5hbWUsICcnLCAnJywgJycsICcnLCAkY3VzdG9tX2ZsZFsnY29scyddLCAkY3VzdG9tX2ZsZFsncm93cyddKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdzdGF0aWMnOgogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAndGFiJzoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ3NlbGVjdF9kYXRlJzoKCiAgICAgICAgICAgICAgICAgICAgJHNpemUgPSAhZW1wdHkoJGN1c3RvbV9mbGRbJ3NpemUnXSkgPyAkY3VzdG9tX2ZsZFsnc2l6ZSddIDogMjA7CgogICAgICAgICAgICAgICAgICAgICRzZWxlY3RvciA9ICcjJyAuICRpZCAuIHN0cl9yZXBsYWNlKGFycmF5KCdbJywgJ10nKSwgYXJyYXkoJ1xcXFsnLCAnXFxcXScpLCAkbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgJGRhdGVwaWNrZXIgPSAnCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXsKICAgICQoIicgLiAkc2VsZWN0b3IgLiAnIikuZGF0ZXBpY2tlcih7JyAuICghZW1wdHkoJGN1c3RvbV9mbGRbJ2RhdGVmb3JtYXQnXSkgPyAnZGF0ZUZvcm1hdDogXCcnIC4gaHRtbGVudGl0aWVzKCRjdXN0b21fZmxkWydkYXRlZm9ybWF0J10pIC4gJ1wnJyA6ICcnKSAuICd9KTsKfSk7Cjwvc2NyaXB0Pic7CgogICAgICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJGN1c3RvbV9mbGRbJ21heF9sZW5ndGgnXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmllbGQgPSAkZGF0ZXBpY2tlciAuICRtb2QtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICRuYW1lLCAkdmFsdWUsICRzaXplLCAkY3VzdG9tX2ZsZFsnbWF4X2xlbmd0aCddKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRkYXRlcGlja2VyIC4gJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJG5hbWUsICR2YWx1ZSwgJHNpemUpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAndXBsb2FkX2ZpbGUnOgogICAgICAgICAgICAgICAgICAgICRuYW1lID0gJ2N1c3RvbWZpZWxkXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXTsKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlICE9ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmRlbGV0ZV9maWxlID0gJG1vZC0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdkZWxldGVfY3VzdG9tZmllbGRbJyAuICRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddIC4gJ10nLCAnZGVsZXRlJykgLiAnICcgLiAkdGhpcy0+X21vZC0+TGFuZygnZGVsZXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpbGVfbG9jYXRpb24gPSBnZW5lcmF0b3JfdG9vbHM6OmZpbGVfbG9jYXRpb24oJG1vZCwgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpbGVwYXRoX2xvY2F0aW9uID0gZ2VuZXJhdG9yX3Rvb2xzOjpmaWxlcGF0aF9sb2NhdGlvbigkbW9kLCBhcnJheSgnaXRlbV9pZCcgPT4gJGl0ZW1faWQpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+aXNfaW1hZ2UgPSBnZXRJbWFnZVNpemUoY21zX2pvaW5fcGF0aChnZW5lcmF0b3JfdG9vbHM6OmZpbGVwYXRoX2xvY2F0aW9uKCRtb2QsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCkpLCAkdmFsdWUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+ZmlsZW5hbWUgPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkb2JqLT5maWVsZCA9ICRtb2QtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsICRuYW1lKTsKCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnc2VsZWN0X2ZpbGUnOgogICAgICAgICAgICAgICAgICAgICRwID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJGN1c3RvbV9mbGRbJ2RpciddKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc19kaXIoJHApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXMgPSBAbWtkaXIoJHApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJGltYWdlcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgJGltYWdlc1skdGhpcy0+X21vZC0+TGFuZygnc2VsZWN0X2RlZmF1bHQnKV0gPSAnc2VsZWN0X2RlZmF1bHQnOwoKICAgICAgICAgICAgICAgICAgICAkYWxsb3dlZCA9ICghZW1wdHkoJGN1c3RvbV9mbGRbJ2FsbG93J10pID8gJGN1c3RvbV9mbGRbJ2FsbG93J10gOiBhcnJheSgpKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRhbGxvd2VkKSA9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGhhbmRsZSA9IG9wZW5kaXIoJHApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGhhbmRsZSkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRmaWxlICE9ICcuJyAmJiAkZmlsZSAhPSAnLi4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhZ2VuZXJhdG9yX3Rvb2xzOjpoYXNfcHJlZml4KCRmaWxlLCAkY3VzdG9tX2ZsZFsnZXhjbHVkZV9wcmVmaXgnXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV4dCA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGUsICcuJyksIDEpKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbl9hcnJheSgkZXh0LCAkYWxsb3dlZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbWFnZXNbJGZpbGVdID0gJGZpbGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VkaXIoJGhhbmRsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICRuYW1lLCAkaW1hZ2VzLCAtMSwgJHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCgogICAgICAgICAgICAgICAgY2FzZSAnZmlsZV9waWNrZXInOgogICAgICAgICAgICAgICAgICAgICRjdXN0b21tb2R1bGVwYXJhbXMgPSAoIWVtcHR5KCRjdXN0b21fZmxkWydwYXJhbXMnXSkgPyAkY3VzdG9tX2ZsZFsncGFyYW1zJ10gOiBhcnJheSgpKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRjdXN0b21tb2R1bGVwYXJhbXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dCRmlsZVBpY2tlcicpOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tbW9kdWxlcGFyYW1zWyJkaXIiXSA9IGdlbmVyYXRvcl90b29sczo6ZmlsZXBpY2tlcl9sb2NhdGlvbigkbW9kKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbW1vZHVsZXBhcmFtc1sibW9kZSJdID0gJ2Jyb3dzZXInOwogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tbW9kdWxlcGFyYW1zWyJtZWRpYV90eXBlIl0gPSAnZmlsZSc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkY3VzdG9tbW9kdWxlcGFyYW1zWyJtb2R1bGUiXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCRjdXN0b21tb2R1bGVwYXJhbXNbIm1vZHVsZSJdKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy8nZGlyJyA9PiBnZW5lcmF0b3JfdG9vbHM6OmZpbGVwaWNrZXJfbG9jYXRpb24oJG1vZCkgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGlmICgkbW9kdWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkbW9kdWxlLT5HZXROYW1lKCkgPT0gJ0dCRmlsZVBpY2tlcicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPmZpZWxkID0gJG1vZHVsZS0+Q3JlYXRlRmlsZVBpY2tlcklucHV0KCRtb2QsICRpZCwgJG5hbWUsICR2YWx1ZSwgJGN1c3RvbW1vZHVsZXBhcmFtcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGN1c3RvbV9mbGRzX29ialskb2JqLT5hbGlhc10gPSAkb2JqOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRjdXN0b21fZmxkc19vYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHByb2Nlc3MoYXJyYXkgJiRjb3VudGpvaW5zLCBhcnJheSAmJGpvaW5zLCBhcnJheSAmJHdoZXJlLCBhcnJheSAmJHBhcmFtYXJyYXkpIHsKICAgICAgICAKICAgIH0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_items.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9pdGVtcyB7CgogICAgcHJpdmF0ZSAkX21vZCA9IG51bGw7CiAgICBwcml2YXRlICRfcmF3ZGF0YSA9IGFycmF5KCk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRtb2QpIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldGRhdGEoJGtleSkgewogICAgICAgICRyZXMgPSBudWxsOwogICAgICAgIGlmIChpc3NldCgkdGhpcy0+X3Jhd2RhdGFbJGtleV0pKSB7CiAgICAgICAgICAgICRyZXMgPSAkdGhpcy0+X3Jhd2RhdGFbJGtleV07CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRkYXRhKCRrZXksICR2YWx1ZSkgewogICAgICAgICR0aGlzLT5fcmF3ZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3BhcmFtc19mcm9tX2FycmF5KCRyb3cpIHsKCiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgIGZvcmVhY2ggKCRyb3cgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyRrZXldID0gJHZhbHVlOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRfaXRlbV9wb3NpdGlvbigpIHsKCiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBtYXgocG9zaXRpb24pICsgMSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScpOwoKICAgICAgICBpZiAoJHBvc2l0aW9uID09IG51bGwpIHsKICAgICAgICAgICAgJHBvc2l0aW9uID0gMTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRwb3NpdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpIHsKCiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0pKSB7CiAgICAgICAgICAgIC8vIGZpbmQgcG9zaXRpb24gYmVmb3JlIGluc2VydGluZyBuZXcgaXRlbQogICAgICAgICAgICAkcG9zaXRpb24gPSAkdGhpcy0+X2dldF9pdGVtX3Bvc2l0aW9uKCk7CiAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsicG9zaXRpb24iXSA9ICRwb3NpdGlvbjsKCiAgICAgICAgICAgIC8vIGluc2VydCBpdGVtCiAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gKHRpdGxlLCBhbGlhcywgdXJsLCByZWN1cnNpdmUsIGNhdGVnb3J5X2lkLCBwb3NpdGlvbiwgYWN0aXZlLCBpdGVtX2RhdGUsIGl0ZW1fZGF0ZV9lbmQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlICkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/ICwgPywgPywgIE5PVygpLCBOT1coKSknOwogICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbInRpdGxlIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbImFsaWFzIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbInVybCJdLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJyZWN1cnNpdmUiXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsiY2F0ZWdvcnlfaWQiXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsicG9zaXRpb24iXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsiYWN0aXZlIl0sCiAgICAgICAgICAgICAgICB0cmltKCRkYi0+REJUaW1lU3RhbXAoJHRoaXMtPl9yYXdkYXRhWyJkYXRlIl0pLCAiJyIpLAogICAgICAgICAgICAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKCR0aGlzLT5fcmF3ZGF0YVsiZGF0ZV9lbmQiXSksICInIikpKTsKICAgICAgICAgICAgaWYgKCEkcmVzdWx0KQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CgogICAgICAgICAgICAvLyBwb3B1bGF0ZSAkaXRlbV9pZCBmb3IgbmV3bHkgaW5zZXJ0ZWQgaXRlbQogICAgICAgICAgICAkaXRlbV9pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CiAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsiaXRlbV9pZCJdID0gJGl0ZW1faWQ7CiAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsidXBkYXRlIl0gPSBmYWxzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyB1cGRhdGUgaXRlbQogICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBTRVQgdGl0bGUgPSA/LCBhbGlhcyA9ID8sIHVybCA9ID8sIHJlY3Vyc2l2ZSA9ID8sIGNhdGVnb3J5X2lkID0gPywgYWN0aXZlID0gPywgaXRlbV9kYXRlPSA/LCBpdGVtX2RhdGVfZW5kPSA/IFdIRVJFIGl0ZW1faWQgPSA/JzsKICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJ0aXRsZSJdLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJhbGlhcyJdLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJ1cmwiXSwKICAgICAgICAgICAgICAgICR0aGlzLT5fcmF3ZGF0YVsicmVjdXJzaXZlIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbImNhdGVnb3J5X2lkIl0sCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbImFjdGl2ZSJdLAogICAgICAgICAgICAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKCR0aGlzLT5fcmF3ZGF0YVsiZGF0ZSJdKSwgIiciKSwKICAgICAgICAgICAgICAgIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkdGhpcy0+X3Jhd2RhdGFbImRhdGVfZW5kIl0pLCAiJyIpLAogICAgICAgICAgICAgICAgJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0pKTsKICAgICAgICAgICAgaWYgKCEkcmVzdWx0KQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CgogICAgICAgICAgICAkdGhpcy0+X3Jhd2RhdGFbInVwZGF0ZSJdID0gdHJ1ZTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5fc2F2ZV9jdXN0b21fZmllbGRzKCk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBfc2F2ZV9jdXN0b21fZmllbGRzKCkgewoKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+X3Jhd2RhdGFbImN1c3RvbWZpZWxkIl0pIHx8ICFpc3NldCgkdGhpcy0+X3Jhd2RhdGFbIml0ZW1faWQiXSkpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAKCgogICAgICAgIGlmIChpc3NldCgkdGhpcy0+X3Jhd2RhdGFbImN1c3RvbWZpZWxkIl0pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5fcmF3ZGF0YVsiY3VzdG9tZmllbGQiXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7CgogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCR2YWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGltcGxvZGUoJywnLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gJyc7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgcm93IGV4aXN0cyB0byBkZXRlcm1pbmUgd2hldGhlciB0byBpbnNlcnQgb3IgdXBkYXRlCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIHZhbHVlIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsKICAgICAgICAgICAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCR0aGlzLT5fcmF3ZGF0YVsiaXRlbV9pZCJdLCAkZmxkaWQpKTsKCgogICAgICAgICAgICAgICAgLy8gcm93IGRvZXMgbm90IGV4aXN0CiAgICAgICAgICAgICAgICBpZiAoJHRtcCA9PSAiIikgewogICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaW5zZXJ0IHJvdyBpZiBmaWVsZCB2YWx1ZSBpcyBub3QgZW1wdHkKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlICE9ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIChpdGVtX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUpIFZBTFVFUyAoPywgPywgPyknOwogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0sICRmbGRpZCwgJHZhbHVlKSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvLyByb3cgYWxyZWFkeSBleGlzdHMKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgLy8gZGVsZXRlIHJvdyBpZiBmaWVsZCB2YWx1ZSBpcyBlbXB0eQogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gIiIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+X3Jhd2RhdGFbIml0ZW1faWQiXSwgJGZsZGlkKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSByb3cKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgU0VUIHZhbHVlID0gPyBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR2YWx1ZSwgJHRoaXMtPl9yYXdkYXRhWyJpdGVtX2lkIl0sICRmbGRpZCkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoISRyZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_item_gallery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KLyogQ1JFQVRFIFRBQkxFIGBjbXNfbW9kdWxlX2dhbGVyaWFfaW1hZ2VzYCAoCiAgYGltYWdlX2lkYCBJTlQoMTApIE5VTEwgQVVUT19JTkNSRU1FTlQsCiAgYGZpbGVuYW1lYCBWQVJDSEFSKDI1NSkgTlVMTCBERUZBVUxUIE5VTEwsCiAgYHBvc2lpdG9uYCBJTlQgTlVMTCBERUZBVUxUIE5VTEwsCiAgUFJJTUFSWSBLRVkgKGBpbWFnZV9pZGApCiAgKQogIENPTExBVEU9J3V0ZjhfZ2VuZXJhbF9jaScKICBFTkdJTkU9TXlJU0FNOyAqLwoKY2xhc3MgZ2VuZXJhdG9yX2l0ZW1fZ2FsbGVyeSB7CgogICAgcHJpdmF0ZSAkX2RpcjsKICAgIHByaXZhdGUgJF9tb2Q7CiAgICBwcml2YXRlICRfaXRlbV9pZDsKICAgIHByaXZhdGUgJF9kYjsKICAgIHByaXZhdGUgJF9zbWFydHk7CiAgICBwcml2YXRlICRfY29uZmlnOwogICAgcHJpdmF0ZSAkX2V4dGVuc2lvbnMgPSAnanBnLGdpZixwbmcnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbW9kLCAkaXRlbV9pZCkgewoKICAgICAgICAkdGhpcy0+X2RiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkdGhpcy0+X3NtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICR0aGlzLT5fY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5faXRlbV9pZCA9ICRpdGVtX2lkOwoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgogICAgICAgICRyb3cgPSBhcnJheSgpOwogICAgICAgICRyb3dbJ2l0ZW1faWQnXSA9ICRpdGVtX2lkOwogICAgICAgICR0aGlzLT5fZGlyID0gZ2VuZXJhdG9yX3Rvb2xzOjppbWFnZXBhdGhfbG9jYXRpb24oJHRoaXMtPl9tb2QsICRyb3cpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkX2ZpbGVzKCkgewoKICAgICAgICAkdGhpcy0+X2NsZWFuX3VwKCk7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqICBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X21vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyBXSEVSRSBpdGVtX2lkID0gPyAgT1JERVIgQlkgcG9zaXRpb24gJyAuICR0aGlzLT5fbW9kLT5HZXRQcmVmZXJlbmNlKCdnYWxsZXJ5X3NvcnRvcmRlcicpOwogICAgICAgICRxcGFybXMgPSBhcnJheSgpOwogICAgICAgICRxcGFybXNbXSA9ICR0aGlzLT5faXRlbV9pZDsKCiAgICAgICAgJGZpbGVzID0gJHRoaXMtPl9kYi0+R2V0QWxsKCRxdWVyeSwgJHFwYXJtcyk7CiAgICAgICAgaWYgKCRmaWxlcykgewogICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGtleSA9PiAkZmlsZSkgewogICAgICAgICAgICAgICAgJGZpbGVzWyRrZXldWyJmaWxlX2xvY2F0aW9uIl0gPSBnZW5lcmF0b3JfdG9vbHM6OmltYWdlX2xvY2F0aW9uKCR0aGlzLT5fbW9kLCAkZmlsZSk7CgogICAgICAgICAgICAgICAgLy8gY2F0ZWdvcnkgZmllbGRzCiAgICAgICAgICAgICAgICAkZmllbGRkZWZzID0gZ2VuZXJhdG9yX2ZpZWxkczo6Z2V0X3Byb2Nlc3NlZF9maWVsZHNfdmFsdWVzKCR0aGlzLT5fbW9kLCAkZmlsZVsnaW1hZ2VfaWQnXSwgJ2dhbGxlcmllcycpOwogICAgICAgICAgICAgICAgJGZpbGVzWyRrZXldWydmaWVsZHMnXSA9ICRmaWVsZGRlZnM7CgogICAgICAgICAgICAgICAgJGZpZWxkZGVmcyA9IGdlbmVyYXRvcl9maWVsZHM6OmdldF9wcm9jZXNzZWRfZmllbGRzX3ZhbHVlcygkdGhpcy0+X21vZCwgJGZpbGVbJ2ltYWdlX2lkJ10sICdnYWxsZXJpZXMnLCAnZmllbGRkZWZfaWQnKTsKICAgICAgICAgICAgICAgICRmaWxlc1ska2V5XVsnZmllbGRzYnlpZCddID0gJGZpZWxkZGVmczsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJGZpbGVzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfaW1hZ2UoJGltYWdlX2lkKSB7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBmaWxlbmFtZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X21vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyBXSEVSRSBpbWFnZV9pZCA9Pyc7CiAgICAgICAgJGZpbGVuYW1lID0gJHRoaXMtPl9kYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGltYWdlX2lkKSk7CiAgICAgICAgZWNobyAndGVzdCc7CiAgICAgICAgaWYgKCEkZmlsZW5hbWUpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB1bmxpbmsoY21zX2pvaW5fcGF0aCgkdGhpcy0+X2RpciwgJGZpbGVuYW1lKSk7CiAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X21vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyBXSEVSRSBpbWFnZV9pZCA9Pyc7CiAgICAgICAgJHRoaXMtPl9kYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpbWFnZV9pZCkpOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gX2NsZWFuX3VwKCkgewoKICAgICAgICBjZ2VfZGlyOjpta2RpcnIoJHRoaXMtPl9kaXIpOwogICAgICAgICRmaWxlcyA9IGNnZV9kaXI6OmdldF9maWxlX2xpc3QoJHRoaXMtPl9kaXIsICR0aGlzLT5fZXh0ZW5zaW9ucyk7CgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgTUFYKHBvc2l0aW9uKSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X21vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyBXSEVSRSBpdGVtX2lkID0gPyc7CiAgICAgICAgJG1heF9wb3NpdGlvbiA9ICR0aGlzLT5fZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCR0aGlzLT5faXRlbV9pZCkpOwogICAgICAgIGlmICghJG1heF9wb3NpdGlvbikKICAgICAgICAgICAgJG1heF9wb3NpdGlvbiA9IDE7CgogICAgICAgIGlmIChlbXB0eSgkZmlsZXMpID09IGZhbHNlKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZW5hbWUpIHsKICAgICAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgZmlsZW5hbWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9tb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pbWFnZXMgV0hFUkUgaXRlbV9pZCA9ID8gYW5kIGZpbGVuYW1lID0gPyc7CiAgICAgICAgICAgICAgICAkaXMgPSAkdGhpcy0+X2RiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+X2l0ZW1faWQsICRmaWxlbmFtZSkpOwogICAgICAgICAgICAgICAgaWYgKCRpcykKICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaW1hZ2VzIChpdGVtX2lkLCBmaWxlbmFtZSwgcG9zaXRpb24pIFZBTFVFUyAoPyw/LD8pJzsKICAgICAgICAgICAgICAgICRtYXhfcG9zaXRpb24rKzsKICAgICAgICAgICAgICAgICR0aGlzLT5fZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+X2l0ZW1faWQsICRmaWxlbmFtZSwgJG1heF9wb3NpdGlvbikpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_opts.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl9vcHRzIHsKCiAgICBwdWJsaWMgc3RhdGljICRmaWVsZGRlZnM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaW5pdF9hZG1pbigkbW9kKSB7CgogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICAkaW1hZ2VzX3NpemVfYWRtaW4gPSB0cmltKCRtb2QtPkdldFByZWZlcmVuY2UoJ2ltYWdlc19zaXplX2FkbWluJykpOwoKICAgICAgICBpZiAoc3RycG9zKCRpbWFnZXNfc2l6ZV9hZG1pbiwgJ3gnKSAhPT0gRkFMU0UpIHsKICAgICAgICAgICAgJGltYWdlc19zaXplX2FkbWluX2FycmF5ID0gZXhwbG9kZSgneCcsICRpbWFnZXNfc2l6ZV9hZG1pbik7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCcsICRpbWFnZXNfc2l6ZV9hZG1pbl9hcnJheVswXSk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHQnLCAkaW1hZ2VzX3NpemVfYWRtaW5fYXJyYXlbMV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCcsIDIwMCk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHQnLCAwKTsKICAgICAgICB9CiAgICAgICAgLy8gcGFyYW1ldGVycyB0aGF0IGNhbiBiZSBjYWxsZWQgaW4gdGhlIG1vZHVsZSB0YWcKICAgICAgICAkbW9kLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsICdkZWZhdWx0JywgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9hY3Rpb24nKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeScsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2NhdGVnb3J5JykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignc29ydGJ5JywgJ2NyZWF0ZV9kYXRlJywgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9zb3J0YnknKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWx0ZW1wbGF0ZScsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignc3VtbWFyeXRlbXBsYXRlJywgJycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fc3VtbWFyeXRlbXBsYXRlJykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignY2F0ZWdvcnl0ZW1wbGF0ZScsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2NhdGVnb3J5dGVtcGxhdGUnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJ0ZW1wbGF0ZScsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2ZpbHRlcnRlbXBsYXRlJykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignZGV0YWlscGFnZScsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2RldGFpbHBhZ2UnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdpdGVtX2lkJywgMCwgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9pdGVtJykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcigncGFnZWxpbWl0JywgMCwgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9wYWdlbGltaXQnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0b3JkZXInLCAnZGVzYycsICRtb2QtPkxhbmcoJ2hlbHBfcGFyYW1fc29ydG9yZGVyJykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignaW5saW5lJywgMCwgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9pbmxpbmUnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdvbmVyb3cnLCAnJywgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9vbmVyb3cnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdhbGxyb3cnLCAnJywgJG1vZC0+TGFuZygnaGVscF9wYXJhbV9hbGxyb3cnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdvbmVjb3VudCcsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX29uZWNvdW50JykpOwogICAgICAgIC8vJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdpdGVtX2RhdGVfZnJvbV90bycsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2l0ZW1fZGF0ZV9mcm9tX3RvJykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignZGF0ZV9zdGFydCcsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2RhdGVfc3RhcnQnKSk7CiAgICAgICAgJG1vZC0+Q3JlYXRlUGFyYW1ldGVyKCdkYXRlX2VuZCcsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2RhdGVfZW5kJykpOwogICAgICAgICRtb2QtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyXycsICcnLCAkbW9kLT5MYW5nKCdoZWxwX3BhcmFtX2ZpbHRlcicpKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGluaXQoJG1vZCkgewoKICAgICAgICAkbW9kLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwogICAgICAgICRtb2QtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwoKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlJywgQ0xFQU5fSU5UKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbGltaXQnLCBDTEVBTl9JTlQpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2NhdGVnb3J5X2lkJywgQ0xFQU5fSU5UKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXRlZ29yeScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydG9yZGVyJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0YnknLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2NhdGVnb3J5dGVtcGxhdGUnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnl0ZW1wbGF0ZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlsdGVtcGxhdGUnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2l0ZW1faWQnLCBDTEVBTl9JTlQpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2lubGluZScsIENMRUFOX0lOVCk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnc3VibWl0JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdqdW5rJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdvbmVyb3cnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2FsbHJvdycsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnb25lY291bnQnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2l0ZW1zJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdpdGVtX2RhdGVfZnJvbV90bycsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnaXRlbWxpc3QnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2RhdGVfc3RhcnQnLCBDTEVBTl9TVFJJTkcpOwogICAgICAgICRtb2QtPlNldFBhcmFtZXRlclR5cGUoJ2RhdGVfZW5kJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdjZF9vcmlncGFnZScsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnbm9jYWNoZScsIENMRUFOX0lOVCk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZSgnY2FjaGVfa2V5JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKCdwcmV2aWV3JywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUCAuICcvZmlsdGVyXyovJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUCAuICcvZGF0ZWZyb20qLycsIENMRUFOX1NUUklORyk7CiAgICAgICAgJG1vZC0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAgLiAnL2RhdGV0byovJywgQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkbW9kLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUCAuICcvJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ18qLycsIENMRUFOX1NUUklORyk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbml0X3N0YXRpY19yb3V0ZXMoJG1vZCkgewoKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICAgICBpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV91cmxfZWRpdCcpKSB7CiAgICAgICAgICAgIC8vIGN1c3RvbSB1cmwgc3VwcG9ydAogICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGl0ZW1faWQsdXJsIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGFjdGl2ZSA9IDEgQU5EIHVybCAhPSBcJ1wnJzsKICAgICAgICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR0bXApKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdG1wIGFzICRvbmUpIHsKICAgICAgICAgICAgICAgICAgICBzZWxmOjpyZWdpc3Rlcl9zdGF0aWNfcm91dGUoJG1vZCwgJG9uZVsndXJsJ10sICRvbmVbJ2l0ZW1faWQnXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRkZWZhdWx0X2RldGFpbHBhZ2UgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X3JldHVybmlkJyk7CgogICAgICAgICRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnLycgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbW9kLT5HZXROYW1lKCksIHRydWUpKSAuICdcL1tjQ11cLyg/UDxjYXRlZ29yeV9pZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KVwvKD9QPGNhdGVnb3J5dGVtcGxhdGU+WzAtOV0rPykkLycsICRtb2QtPkdldE5hbWUoKSwgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKSk7CiAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICAgICAgICAkcm91dGUgPSBuZXcgQ21zUm91dGUoJy8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsIG11bmdlX3N0cmluZ190b191cmwoJG1vZC0+R2V0TmFtZSgpLCB0cnVlKSkgLiAnXC9bY0NdXC8oP1A8Y2F0ZWdvcnlfaWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsICRtb2QtPkdldE5hbWUoKSwgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKSk7CiAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICAgICAgICAkcm91dGUgPSBuZXcgQ21zUm91dGUoJy8nIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsIG11bmdlX3N0cmluZ190b191cmwoJG1vZC0+R2V0TmFtZSgpLCB0cnVlKSkgLiAnXC9bY0NdXC8oP1A8Y2F0ZWdvcnlfaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcsICdyZXR1cm5pZCcgPT4gJGRlZmF1bHRfZGV0YWlscGFnZSkpOwogICAgICAgIGNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CiAgICAgICAgJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRtb2QtPkdldE5hbWUoKSwgdHJ1ZSkpIC4gJ1wvW2NDXVwvKD9QPGNhdGVnb3J5X2lkPlswLTldKykkLycsICRtb2QtPkdldE5hbWUoKSwgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnLCAncmV0dXJuaWQnID0+ICRkZWZhdWx0X2RldGFpbHBhZ2UpKTsKICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwoKICAgICAgICAkZGVmYXVsdF9kZXRhaWxwYWdlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kZXRhaWxfcmV0dXJuaWQnKTsKCiAgICAgICAgJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRtb2QtPkdldE5hbWUoKSwgdHJ1ZSkpIC4gJ1wvKD9QPGl0ZW1faWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPylcLyg/UDxkZXRhaWx0ZW1wbGF0ZT5bMC05XSs/KSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJykpOwogICAgICAgIGNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CiAgICAgICAgJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRtb2QtPkdldE5hbWUoKSwgdHJ1ZSkpIC4gJ1wvKD9QPGl0ZW1faWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsICRtb2QtPkdldE5hbWUoKSwgYXJyYXkoJ2FjdGlvbicgPT4gJ2RldGFpbCcpKTsKICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwogICAgICAgICRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnLycgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbW9kLT5HZXROYW1lKCksIHRydWUpKSAuICdcLyg/UDxpdGVtX2lkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsICRtb2QtPkdldE5hbWUoKSwgYXJyYXkoJ2FjdGlvbicgPT4gJ2RldGFpbCcsICdyZXR1cm5pZCcgPT4gJGRlZmF1bHRfZGV0YWlscGFnZSkpOwogICAgICAgIGNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CiAgICAgICAgJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRtb2QtPkdldE5hbWUoKSwgdHJ1ZSkpIC4gJ1wvKD9QPGl0ZW1faWQ+WzAtOV0rKSQvJywgJG1vZC0+R2V0TmFtZSgpLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJywgJ3JldHVybmlkJyA9PiAkZGVmYXVsdF9kZXRhaWxwYWdlKSk7CiAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJlZ2lzdGVyX3N0YXRpY19yb3V0ZSgkbW9kLCAkdXJsLCAkaXRlbV9pZCkgewogICAgICAgIC8vIGFkZCBzdGF0aWMgdXJsCiAgICAgICAgJGRldGFpbHBhZ2UgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RldGFpbF9yZXR1cm5pZCcsIC0xKTsKICAgICAgICBpZiAoJGRldGFpbHBhZ2UgPT0gLTEpIHsKICAgICAgICAgICAgJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgICAgICAgICAkZGV0YWlscGFnZSA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpOwogICAgICAgIH0KICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6ZGVsX3N0YXRpYygnJywgJG1vZC0+R2V0TmFtZSgpLCAkaXRlbV9pZCk7CiAgICAgICAgaWYgKCR1cmwgIT0gJycpIHsKICAgICAgICAgICAgJHBhcm1zID0gYXJyYXkoJ2FjdGlvbicgPT4gJ2RldGFpbCcsICdyZXR1cm5pZCcgPT4gJGRldGFpbHBhZ2UsCiAgICAgICAgICAgICAgICAnaXRlbV9pZCcgPT4gJGl0ZW1faWQpOwogICAgICAgICAgICAkcm91dGUgPSBDbXNSb3V0ZTo6bmV3X2J1aWxkZXIoJHVybCwgJG1vZC0+R2V0TmFtZSgpLCAkaXRlbV9pZCwgJHBhcm1zLCBUUlVFKTsKICAgICAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfbW9kdWxlKCRuYW1lKSB7CiAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnTW9kdWxlR2VuZXJhdG9yJyk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICByZXR1cm4gJGRiLT5HZXRSb3coJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZ2VuZXJhdG9yIFdIRVJFIG1vZHVsZV9uYW1lID0gPycsIGFycmF5KCRuYW1lKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGUoJG5hbWUpIHsKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgIHJldHVybiAkZGItPkV4ZWN1dGUoJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvciBXSEVSRSBtb2R1bGVfbmFtZSA9ID8nLCBhcnJheSgkbmFtZSkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdXBkYXRlYXR0YWNoKCRuYW1lLCAkYXR0YWNoKSB7CiAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnTW9kdWxlR2VuZXJhdG9yJyk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICByZXR1cm4gJGRiLT5FeGVjdXRlKCdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZ2VuZXJhdG9yIFNFVCBhdHRhY2ggPSA/LCBtb2RpZmllZF9kYXRlID0gTk9XKCkgV0hFUkUgbW9kdWxlX25hbWUgPSA/JywgYXJyYXkoJGF0dGFjaCwgJG5hbWUpKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVwZGF0ZWRhdGUoJG5hbWUpIHsKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgIHJldHVybiAkZGItPkV4ZWN1dGUoJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9nZW5lcmF0b3IgU0VUIG1vZGlmaWVkX2RhdGUgPSBOT1coKSBXSEVSRSBtb2R1bGVfbmFtZSA9ID8nLCBhcnJheSgkbmFtZSkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaW5zZXJ0KCRuYW1lLCAkYXR0YWNoID0gJycpIHsKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgIHJldHVybiAkZGItPkV4ZWN1dGUoJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvciAobW9kdWxlX25hbWUsYXR0YWNoLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sTk9XKCksTk9XKCkpJywgYXJyYXkoJG5hbWUsICRhdHRhY2gpKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9tb2R1bGVzX2xpc3QoKSB7CiAgICAgICAgcmV0dXJuIGV4dGVuZGVkX3Rvb2xzX29wdHM6OnRvX2hhc2goc2VsZjo6Z2V0X21vZHVsZXMoKSwgJ21vZHVsZV9uYW1lJywgJ2lkJyk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfbW9kdWxlcygpIHsKICAgICAgICAkaXRlbXMgPSBhcnJheSgpOwogICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ01vZHVsZUdlbmVyYXRvcicpOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJGl0ZW1zID0gJGRiLT5HZXRBcnJheSgnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9nZW5lcmF0b3InKTsKICAgICAgICByZXR1cm4gJGl0ZW1zOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2F0dGFjaF9tb2R1bGVzKCRhdHRhY2htb2R1bGVzKSB7CiAgICAgICAgJGl0ZW1zID0gYXJyYXkoKTsKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICRpdGVtcyA9ICRkYi0+R2V0QXJyYXkoJ1NFTEVDVCBpZCxtb2R1bGVfbmFtZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvciBXSEVSRSBGSU5EX0lOX1NFVChpZCw/KSA+IDAnLCBhcnJheSgkYXR0YWNobW9kdWxlcykpOwogICAgICAgIGlmICghJGl0ZW1zKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRpdGVtcyA9IGV4dGVuZGVkX3Rvb2xzX29wdHM6OnRvX2hhc2goJGl0ZW1zLCAnbW9kdWxlX25hbWUnLCAnaWQnKTsKICAgICAgICAkbW9kdWxlcyA9IGFycmF5X2tleXMoJGl0ZW1zKTsKCiAgICAgICAgcmV0dXJuIGltcGxvZGUoJywgJywgJG1vZHVsZXMpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmlsbF9pdGVtX2Zyb21fZm9ybXBhcmFtcygkbW9kLCBhcnJheSAmJHJvdywgJHBhcmFtcykgewogICAgICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgc3dpdGNoICgka2V5KSB7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICRyb3dbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIGdldCBjYXRlZ29yeSBwYXJhbXMKICAgICAgICAkY2F0ZWdvcnkgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jYXRlZ29yeSgkbW9kLCAkcm93WyJjYXRlZ29yeSJdKTsKICAgICAgICAkcm93WyJjYXRlZ29yeV9uYW1lIl0gPSAkY2F0ZWdvcnlbImNhdGVnb3J5X25hbWUiXTsKICAgICAgICAkcm93WyJjYXRlZ29yeV9hbGlhcyJdID0gJGNhdGVnb3J5WyJjYXRlZ29yeV9hbGlhcyJdOwogICAgICAgICRyb3dbJ2ZpbGVfbG9jYXRpb24nXSA9IGdlbmVyYXRvcl90b29sczo6ZmlsZV9sb2NhdGlvbigkbW9kLCAkcm93KTsKCiAgICAgICAgCiAgICAgICAgLy8gZ2V0IGN1c3RvbSBmaWVsZHMKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsKICAgICAgICAgICAgc2VsZjo6JGZpZWxkZGVmcyA9ICRmaWVsZGRlZnMgPSBnZW5lcmF0b3JfZmllbGRzOjpnZXRfcHJvY2Vzc2VkX2ZpZWxkc192YWx1ZXMoJG1vZCwgJHJvd1siaXRlbV9pZCJdKTsgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBmb3JlYWNoIChzZWxmOjokZmllbGRkZWZzIGFzICRmaWVsZCkgewogICAgICAgICAgICAgICAgc2VsZjo6JGZpZWxkZGVmc1skZmllbGRbImZpZWxkZGVmX2lkIl1dID0gJGZpZWxkOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10gYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoc2VsZjo6JGZpZWxkZGVmc1ska2V5XSkpCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgIHNlbGY6OiRmaWVsZGRlZnNbc2VsZjo6JGZpZWxkZGVmc1ska2V5XVsiYWxpYXMiXV1bInZhbHVlIl0gPSBpbXBsb2RlKCcsJywgJHZhbHVlKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgc2VsZjo6JGZpZWxkZGVmc1tzZWxmOjokZmllbGRkZWZzWyRrZXldWyJhbGlhcyJdXVsidmFsdWUiXSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHVuc2V0KHNlbGY6OiRmaWVsZGRlZnNbJGtleV0pOwogICAgICAgICAgICB9CiAgICAgICAgfSAgICAgICAgICAgCiAgICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGVHZW5lcmF0b3IgZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogRGVzY3JpcHRpb24gb2YgY2xhc3MKICoKICogQGF1dGhvciBAa3V6bWFueQogKi8KCmNsYXNzIGdlbmVyYXRvcl90b29scyB7CgogICAgcHJpdmF0ZSBzdGF0aWMgJHNlYXJjaF9kYXRlX2VuZCA9IG51bGw7CiAgICBwdWJsaWMgc3RhdGljICRpdGVtcyA9IG51bGw7CiAgICBwdWJsaWMgc3RhdGljICRmaWVsZHNfYmxvY2tsaXN0ID0gYXJyYXkoJ2l0ZW1faWQnLCAnY2F0ZWdvcnlfaWQnLCAndGl0bGUnLCAnYWxpYXMnLCAndXJsJywgJ3Bvc2l0aW9uJywgJ2FjdGl2ZScsICdpdGVtX2RhdGUnLCAnY3JlYXRlX2RhdGUnLCAnbW9kaWZpZWRfZGF0ZScsICdjYXRlZ29yeV9pZCcsICdjYXRlZ29yeV9uYW1lJywgJ2NhdGVnb3J5X2FsaWFzJyk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkX2RlZnMoJG1vZCwgJHR5cGUgPSBudWxsLCAkZmlsdGVyX2Zyb250ZW5kID0gbnVsbCwgJGZpbHRlcl9hZG1pbiA9IG51bGwsICRzZWN0aW9uID0gJ2l0ZW1zJykgewogICAgICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBmaWVsZGRlZl9pZCwgbmFtZSwgYWxpYXMsIGhlbHAsIHR5cGUsIHBvc2l0aW9uLCByZXF1aXJlZCwgc2VhcmNoYWJsZSwgZXh0cmEsIGVkaXR2aWV3LCBmaWx0ZXJfZnJvbnRlbmQsIGZpbHRlcl9hZG1pbiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnOwogICAgICAgICRxdWVyeSAuPSAiIFdIRVJFIHNlY3Rpb24gPSA/ICI7CiAgICAgICAgJHBhcm1zW10gPSAkc2VjdGlvbjsKCiAgICAgICAgaWYgKCR0eXBlKSB7CiAgICAgICAgICAgICRxdWVyeSAuPSAiIEFORCB0eXBlICA9ID8gICI7CiAgICAgICAgICAgICRwYXJtc1tdID0gJHR5cGU7CiAgICAgICAgfQogICAgICAgIGlmICgkZmlsdGVyX2Zyb250ZW5kKSB7CiAgICAgICAgICAgICRxdWVyeSAuPSAiIEFORCBmaWx0ZXJfZnJvbnRlbmQgID0gPyAgIjsKICAgICAgICAgICAgJHBhcm1zW10gPSAkZmlsdGVyX2Zyb250ZW5kOwogICAgICAgIH0KICAgICAgICBpZiAoJGZpbHRlcl9hZG1pbikgewogICAgICAgICAgICAkcXVlcnkgLj0gIiBBTkQgZmlsdGVyX2FkbWluICA9ID8gICI7CiAgICAgICAgICAgICRwYXJtc1tdID0gJGZpbHRlcl9hZG1pbjsKICAgICAgICB9CiAgICAgICAgJHF1ZXJ5IC49ICIgIE9SREVSIEJZIHBvc2l0aW9uIjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkdldEFsbCgkcXVlcnksICRwYXJtcyk7CiAgICAgICAgcmV0dXJuICRkYnJlc3VsdDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZF92YWwoJG1vZCwgJGl0ZW1faWQsICRmaWVsZF9hbGlhcykgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCB2YWx1ZSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsICc7CiAgICAgICAgJHF1ZXJ5IC49ICIgV0hFUkUgIGl0ZW1faWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8iOwogICAgICAgICR2YWx1ZSA9ICRkYi0+R2V0T25lKCRxdWVyeSwgJHBhcm1zKTsKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEKICAgICAqIEByZXR1cm4gdGltZXN0YW1wIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHByb2Nlc3NfZmlsdGVyX2RhdGUoJGRhdGUpIHsKICAgICAgICAkZGF0ZV9mcm9tID0gJyc7CiAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKCRkYXRlKSkgewogICAgICAgICAgICBjYXNlICJub3ciOgogICAgICAgICAgICAgICAgJGRhdGVfZnJvbSA9IHRpbWUoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJGRhdGVfYXJyYXkgPSBleHBsb2RlKCc6JywgJGRhdGUpOwogICAgICAgICAgICAgICAgaWYgKGNvdW50KCRkYXRlX2FycmF5KSA9PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgJGRhdGVfdGltZSA9IHN0cnRvdGltZSgiKyIgLiAkZGF0ZV9hcnJheVswXSAuICIgZGF5Iik7CiAgICAgICAgICAgICAgICAgICAgJGRhdGVfZnJvbSA9IG1rdGltZSgkZGF0ZV9hcnJheVsxXSwgMCwgMCwgZGF0ZSgibSIsICRkYXRlX3RpbWUpLCBkYXRlKCJkIiwgJGRhdGVfdGltZSksIGRhdGUoIlkiLCAkZGF0ZV90aW1lKSk7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoY291bnQoJGRhdGVfYXJyYXkpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0ZV9mcm9tID0gc3RydG90aW1lKCIrIiAuICRkYXRlX2FycmF5WzBdIC4gIiBob3VycyIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZGF0ZV9mcm9tOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEKICAgICAqIEByZXR1cm4gdGltZXN0YW1wIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHByb2Nlc3NfZmlsdGVyX2RhdGVfcmVjdXJzaXZlKCRkYXRlKSB7CiAgICAgICAgJGRhdGVfZnJvbSA9ICcnOwogICAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkZGF0ZSkpIHsKICAgICAgICAgICAgY2FzZSAibm93IjoKICAgICAgICAgICAgICAgICRkYXRlX2Zyb20gPSAiZS52YWx1ZSA9ID8gQU5EIGRhdGVfZm9ybWF0KGMuaXRlbV9kYXRlLCclSDolaTolcycpID4gPyI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICRkYXRlX2FycmF5ID0gZXhwbG9kZSgnOicsICRkYXRlKTsKICAgICAgICAgICAgICAgIGlmIChjb3VudCgkZGF0ZV9hcnJheSkgPT0gMikgewogICAgICAgICAgICAgICAgICAgICRkYXRlX3RpbWUgPSBzdHJ0b3RpbWUoIisiIC4gJGRhdGVfYXJyYXlbMF0gLiAiIGRheSIpOwogICAgICAgICAgICAgICAgICAgICRkYXRlX2Zyb20gPSBta3RpbWUoJGRhdGVfYXJyYXlbMV0sIDAsIDAsIGRhdGUoIm0iLCAkZGF0ZV90aW1lKSwgZGF0ZSgiZCIsICRkYXRlX3RpbWUpLCBkYXRlKCJZIiwgJGRhdGVfdGltZSkpOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKGNvdW50KCRkYXRlX2FycmF5KSA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgJGRhdGVfZnJvbSA9IHN0cnRvdGltZSgiKyIgLiAkZGF0ZV9hcnJheVswXSAuICIgaG91cnMiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGRhdGVfZnJvbTsKICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyAkX2NhdGVnb3JpZXMgPSBhcnJheSgpOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3J5KCRtb2QsICRjYXRlZ29yeV9pZCkgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgaWYgKCFpc3NldChzZWxmOjokX2NhdGVnb3JpZXNbJGNhdGVnb3J5X2lkXSkpIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyI7CiAgICAgICAgICAgICRjYXRlZ29yeSA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGNhdGVnb3J5X2lkKSk7CiAgICAgICAgICAgIHNlbGY6OiRfY2F0ZWdvcmllc1skY2F0ZWdvcnlbImNhdGVnb3J5X2lkIl1dID0gJGNhdGVnb3J5OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHNlbGY6OiRfY2F0ZWdvcmllc1skY2F0ZWdvcnlfaWRdOwogICAgfQoKICAgIC8qKgogICAgICogZ2V0IGNhdGVnb3J5IGxpc3QKICAgICAqIEBwYXJhbSBvYmplY3QgJG1vZAogICAgICogQHJldHVybiBhcnJheSAKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcnlfbGlzdCgkbW9kLCAkd2hlcmUgPSBhcnJheSgpLCAkcGFyYW1hcnJheSA9IGFycmF5KCksICRmaWVsZCA9ICdsb25nX25hbWUnKSB7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkY2F0ZWdvcnlsaXN0ID0gYXJyYXkoKTsKCiAgICAgICAgJGNhdGVnb3J5bGlzdFskbW9kLT5MYW5nKCdhbGxjYXRlZ29yaWVzJyldID0gJyc7CgogICAgICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfY2F0ZWdvcmllcyAiOwoKICAgICAgICBpZiAoZW1wdHkoJHdoZXJlKSA9PSBmYWxzZSkgewogICAgICAgICAgICAkcXVlcnkgPSAkcXVlcnkgLiAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZSk7CiAgICAgICAgfQoKICAgICAgICAkcXVlcnkgLj0iIE9SREVSIEJZIGhpZXJhcmNoeV9wb3NpdGlvbiI7CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHBhcmFtYXJyYXkpOwogICAgICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewogICAgICAgICAgICBpZiAoJGZpZWxkID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkY2F0ZWdvcnlsaXN0W10gPSAkcm93OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGNhdGVnb3J5bGlzdFskcm93WyRmaWVsZF1dID0gJHJvd1skZmllbGRdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkY2F0ZWdvcnlsaXN0OwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3JpZXMoJG1vZCwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkID0gLTEpIHsKCiAgICAgICAgJGdDbXMgPSBjbXNtcygpOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJGRlcHRoID0gMTsKCiAgICAgICAgJGlubGluZSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlfaW5saW5lJywgZmFsc2UpOwoKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snaW5saW5lJ10pKQogICAgICAgICAgICAkaW5saW5lID0gJHBhcmFtc1snaW5saW5lJ107CgogICAgICAgICRkZWZhdWx0X2RldGFpbHBhZ2UgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X3JldHVybmlkJywgJycpOwogICAgICAgICRkZXRhaWxwYWdlID0gJGRlZmF1bHRfZGV0YWlscGFnZTsKICAgICAgICAkZGV0YWlscGFnZSA9IGV4dGVuZGVkX3Rvb2xzX29wdHM6OmRldGFpbHBhZ2UoJHBhcmFtcywgJGRldGFpbHBhZ2UpOwoKLy8gc29ydCBvcmRlcgogICAgICAgICRzb3J0b3JkZXIgPSAnQVNDJzsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pKSB7CiAgICAgICAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkcGFyYW1zWydzb3J0b3JkZXInXSkpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ2FzYyc6CiAgICAgICAgICAgICAgICBjYXNlICdkZXNjJzoKICAgICAgICAgICAgICAgICAgICAkc29ydG9yZGVyID0gJHBhcmFtc1snc29ydG9yZGVyJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRxdWVyeSA9ICcKCQlTRUxFQ1QgY2F0ZWdvcnlfaWQsIGNhdGVnb3J5X25hbWUsIGNhdGVnb3J5X2FsaWFzLCBwYXJlbnRfaWQsIGhpZXJhcmNoeSwgaGllcmFyY2h5X3Bvc2l0aW9uLCBsb25nX25hbWUKCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcyAKCQlXSEVSRSAxIAoJJzsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkgJiYgJHBhcmFtc1snY2F0ZWdvcnknXSAhPSAnJykgewogICAgICAgICAgICAkY2F0ZWdvcmllcyA9IGV4cGxvZGUoJywnLCAkcGFyYW1zWydjYXRlZ29yeSddKTsKICAgICAgICAgICAgJHF1ZXJ5IC49ICcgQU5EICgnOwogICAgICAgICAgICAkY291bnQgPSAwOwogICAgICAgICAgICBmb3JlYWNoICgkY2F0ZWdvcmllcyBhcyAkb25lY2F0KSB7CiAgICAgICAgICAgICAgICBpZiAoJGNvdW50ID4gMCkgewogICAgICAgICAgICAgICAgICAgICRxdWVyeSAuPSAnIE9SICc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoc3RycG9zKCRvbmVjYXQsICd8JykgIT09IEZBTFNFIHx8IHN0cnBvcygkb25lY2F0LCAnKicpICE9PSBGQUxTRSkKICAgICAgICAgICAgICAgICAgICAkcXVlcnkgLj0gInVwcGVyKGxvbmdfbmFtZSkgbGlrZSB1cHBlcignIiAuIHRyaW0oc3RyX3JlcGxhY2UoJyonLCAnJScsICRvbmVjYXQpKSAuICInKSI7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5IC49ICJjYXRlZ29yeV9uYW1lID0gJyIgLiB0cmltKCRvbmVjYXQpIC4gIiciOwogICAgICAgICAgICAgICAgJGNvdW50Kys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHF1ZXJ5IC49ICcpICc7CiAgICAgICAgfQogICAgICAgICRxdWVyeSAuPSAnIE9SREVSIGJ5IGhpZXJhcmNoeV9wb3NpdGlvbiAnIC4gJHNvcnRvcmRlcjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgICAkcm93Y291bnRlciA9IDA7CgogICAgICAgICRmaWVsZGVmcyA9ICcnOyB7CiAgICAgICAgICAgICR0bXAgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZHMoJG1vZCwgZmFsc2UsICdjYXRlZ29yaWVzJyk7CgogICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHRtcCkpIHsKICAgICAgICAgICAgICAgICRmaWVsZGRlZnMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKyspIHsKICAgICAgICAgICAgICAgICAgICAkb2JqID0gJHRtcFskaV07CiAgICAgICAgICAgICAgICAgICAgJGZpZWxkZGVmc1skb2JqLT5hbGlhc10gPSAkb2JqOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgJHEyID0gIlNFTEVDVCBDT1VOVChpdGVtX2lkKSBhcyBjbnQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gV0hFUkUgY2F0ZWdvcnlfaWQ9PyI7CiAgICAgICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydzaG93YXJjaGl2ZSddKSAmJiAkcGFyYW1zWydzaG93YXJjaGl2ZSddID09IHRydWUpIHsKICAgICAgICAgICAgICAgICRxMiAuPSAiIEFORCAoaXRlbV9kYXRlIDwgIiAuICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSAuICIpICI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHEyIC49ICcgQU5EIGFjdGl2ZSA9IFwnMVwnJzsKCiAgICAgICAgICAgICRkYnJlczIgPSAkZGItPkV4ZWN1dGUoJHEyLCBhcnJheSgkcm93WydjYXRlZ29yeV9pZCddKSk7CiAgICAgICAgICAgICRjb3VudCA9ICRkYnJlczItPkZldGNoUm93KCk7CiAgICAgICAgICAgICRyb3dbJ2luZGV4J10gPSAkcm93Y291bnRlcisrOwogICAgICAgICAgICAkcm93Wydjb3VudCddID0gJGNvdW50WydjbnQnXTsKICAgICAgICAgICAgJHJvd1sncHJldmRlcHRoJ10gPSAkZGVwdGg7CiAgICAgICAgICAgICRkZXB0aCA9IGNvdW50KGV4cGxvZGUoJy4nLCAkcm93WydoaWVyYXJjaHlfcG9zaXRpb24nXSkpOwogICAgICAgICAgICAkcm93WydkZXB0aCddID0gJGRlcHRoOwoKCgogICAgICAgICAgICAkcHJldHR5dXJsID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJldHR5X3VybCgkdGhpcywgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJlZml4KCRtb2QpIC4gJy9jJywgJHJvd1snY2F0ZWdvcnlfaWQnXSwgJHJvd1snY2F0ZWdvcnlfYWxpYXMnXSwgKCRkZWZhdWx0X2RldGFpbHBhZ2UgPT0gLTEgJiYgIWlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6ICcnKSwgJGNhdGVnb3J5dGVtcGxhdGUpOwogICAgICAgICAgICAkcm93Wyd1cmwnXSA9ICRtb2QtPkNyZWF0ZUZyb250ZW5kTGluaygkaWQsICRyZXR1cm5pZCwgJ2RlZmF1bHQnLCAnJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddLCAnY2F0ZWdvcnl0ZW1wbGF0ZScgPT4gJGNhdGVnb3J5dGVtcGxhdGUpLCAnJywgdHJ1ZSwgaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pID8gMSA6IDAsICcnLCBmYWxzZSwgJHByZXR0eXVybCk7CiAgICAgICAgICAgICRyb3dbIml0ZW1faWQiXSA9ICRyb3dbImNhdGVnb3J5X2lkIl07CiAgICAgICAgICAgICRyb3dbJ2ZpbGVfbG9jYXRpb24nXSA9IGdlbmVyYXRvcl90b29sczo6ZmlsZV9sb2NhdGlvbigkbW9kLCAkcm93KTsKCiAgICAgICAgICAgIC8vIGFkZCBjdXN0b20gZmllbGRzCiAgICAgICAgICAgICRmaWVsZGRlZnMgPSBnZW5lcmF0b3JfZmllbGRzOjpnZXRfcHJvY2Vzc2VkX2ZpZWxkc192YWx1ZXMoJG1vZCwgJHJvd1snY2F0ZWdvcnlfaWQnXSwgJ2NhdGVnb3JpZXMnKTsKICAgICAgICAgICAgJGZpZWxkcyA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRmaWVsZGRlZnMgYXMgJG9uZWRlZikgewogICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRvbmVkZWZbImFsaWFzIl0pID09IGZhbHNlICYmIGluX2FycmF5KCRvbmVkZWZbImFsaWFzIl0sIGdlbmVyYXRvcl90b29sczo6JGZpZWxkc19ibG9ja2xpc3QpID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgJHJvd1skb25lZGVmWyJhbGlhcyJdXSA9ICRvbmVkZWZbInZhbHVlIl07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHJvd1snZmllbGRzJ10gPSAkZmllbGRkZWZzOwoKCiAgICAgICAgICAgICRpdGVtc1tdID0gJHJvdzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRpdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIGdldCBpdGVtCiAgICAgKiBAcGFyYW0gb2JqZWN0ICRtb2QKICAgICAqIEBwYXJhbSBpbnQgJGl0ZW1faWQKICAgICAqIEByZXR1cm4gYXJyYXkgCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2l0ZW1zKCRtb2QpIHsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICRzb3J0b3JkZXIgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXJfJyAuICRtb2QtPkdldFByZWZlcmVuY2UoJ21vZGUnKSwgJ2Rlc2MnKTsKICAgICAgICAkc29ydGJ5ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5XycgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdtb2RlJyksICdwb3NpdGlvbicpOwogICAgICAgICRpdGVtcyA9ICRkYi0+R2V0QWxsKCdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBPUkRFUiBCWSAnIC4gJHNvcnRvcmRlciAuICcgJyAuICRzb3J0YnksIGFycmF5KCRpdGVtX2lkKSk7CiAgICAgICAgcmV0dXJuICRpdGVtczsKICAgIH0KCiAgICAvKioKICAgICAqIGdldCBpdGVtCiAgICAgKiBAcGFyYW0gb2JqZWN0ICRtb2QKICAgICAqIEBwYXJhbSBpbnQgJGl0ZW1faWQKICAgICAqIEByZXR1cm4gYXJyYXkgCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2l0ZW0oJG1vZCwgJGl0ZW1faWQpIHsKICAgICAgICAkZGF0YSA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCRtb2QtPkdldE5hbWUoKSAuIF9fRlVOQ1RJT05fXyAuICRpdGVtX2lkKTsKICAgICAgICBpZiAoJGRhdGEpCiAgICAgICAgICAgIHJldHVybiAkZGF0YTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkdmFsdWUgPSAkZGItPkdldFJvdygnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgaXRlbV9pZCA9ID8nLCBhcnJheSgkaXRlbV9pZCkpOwogICAgICAgIGNtc191dGlsczo6c2V0X2FwcF9kYXRhKCRtb2QtPkdldE5hbWUoKSAuIF9fRlVOQ1RJT05fXyAuICRpdGVtX2lkLCAkdmFsdWUpOwoKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIC8qKgogICAgICogZ2V0IGl0ZW0KICAgICAqIEBwYXJhbSBvYmplY3QgJG1vZAogICAgICogQHBhcmFtIGludCAkaW1hZ2VfaWQKICAgICAqIEByZXR1cm4gYXJyYXkgCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ltYWdlKCRtb2QsICRpbWFnZV9pZCkgewogICAgICAgICRkYXRhID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJG1vZC0+R2V0TmFtZSgpIC4gX19GVU5DVElPTl9fIC4gJGltYWdlX2lkKTsKICAgICAgICBpZiAoJGRhdGEpCiAgICAgICAgICAgIHJldHVybiAkZGF0YTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkdmFsdWUgPSAkZGItPkdldFJvdygnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcyBXSEVSRSBpbWFnZV9pZCA9ID8nLCBhcnJheSgkaW1hZ2VfaWQpKTsKICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YSgkbW9kLT5HZXROYW1lKCkgLiBfX0ZVTkNUSU9OX18gLiAkaW1hZ2VfaWQsICR2YWx1ZSk7CgogICAgICAgIHJldHVybiAkdmFsdWU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc2VhcmNoYWJsZV9kYXRlX2VuZCgpIHsKICAgICAgICByZXR1cm4gc2VsZjo6JHNlYXJjaF9kYXRlX2VuZDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9zZWFyY2hhYmxlX3RleHQoJG1vZCwgJGl0ZW1faWQpIHsKCiAgICAgICAgJHJlc3VsdHMgPSBhcnJheSgpOwoKICAgICAgICAkaXRlbSA9IHNlbGY6OmdldF9pdGVtKCRtb2QsICRpdGVtX2lkKTsKCiAgICAgICAgaWYgKCRpdGVtWydhY3RpdmUnXSAhPSAxKQogICAgICAgICAgICByZXR1cm4gYXJyYXkoKTsKCiAgICAgICAgJHJlc3VsdHNbXSA9ICRpdGVtWyd0aXRsZSddOwogICAgICAgICRyZXN1bHRzW10gPSAkaXRlbVsnYWxpYXMnXTsKCi8vIGRhdGUgZW5kIGZvciBzZWFyY2ggcmVzdWx0cwogICAgICAgIHNlbGY6OiRzZWFyY2hfZGF0ZV9lbmQgPSBudWxsOwogICAgICAgIGlmICgkbW9kLT5HZXRQcmVmZXJlbmNlKCdzZWFyY2hfZGF0ZV9lbmQnKSkgewogICAgICAgICAgICAkaXRlbSA9IHNlbGY6OmdldF9pdGVtKCRtb2QsICRpdGVtX2lkKTsKICAgICAgICAgICAgc2VsZjo6JHNlYXJjaF9kYXRlX2VuZCA9IHN0cnRvdGltZSgkaXRlbVsiaXRlbV9kYXRlX2VuZCJdKTsKICAgICAgICB9CgogICAgICAgICRkZWZzID0gZ2VuZXJhdG9yX2ZpZWxkczo6Z2V0X3Byb2Nlc3NlZF9maWVsZHNfdmFsdWVzKCRtb2QsICRpdGVtX2lkKTsKCiAgICAgICAgZm9yZWFjaCAoJGRlZnMgYXMgJG9uZWRlZikgewoKLy8gc2tpcAogICAgICAgICAgICBpZiAoISRvbmVkZWZbInNlYXJjaGFibGUiXSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKLy9zZXJhY2hhYmxlIC0gdGV4dGJveCwgdGV4dGFyZWEsIGRyb3Bkb3duCiAgICAgICAgICAgIHN3aXRjaCAoJG9uZWRlZlsidHlwZSJdKSB7CiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0Ym94JzoKICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJG9uZWRlZlsidmFsdWUiXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdHNbXSA9ICRvbmVkZWZbInZhbHVlIl07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBpbXBsb2RlKCcgJywgJHJlc3VsdHMpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2VhcmNoX3JlaW5kZXgoJG1vZCwgJG1vZHVsZSkgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSB3aGVyZSBhY3RpdmUgPSAxJzsKICAgICAgICAkaXRlbXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSwgYXJyYXkoKSk7CgogICAgICAgIGlmICghJGl0ZW1zKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRpdGVtcyBhcyAkaXRlbSkgewogICAgICAgICAgICAkbW9kdWxlLT5BZGRXb3JkcygkbW9kLT5HZXROYW1lKCksICRpdGVtWyJpdGVtX2lkIl0sICdpdGVtJywgc2VsZjo6Z2V0X3NlYXJjaGFibGVfdGV4dCgkbW9kLCAkaXRlbVsiaXRlbV9pZCJdKSwgc2VsZjo6Z2V0X3NlYXJjaGFibGVfZGF0ZV9lbmQoKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NlYXJjaF9yZXN1bHQoJG1vZCwgJHJldHVybmlkLCAkaXRlbV9pZCwgJGF0dHIgPSAnJykgewogICAgICAgICRyZXN1bHQgPSBhcnJheSgpOwoKICAgICAgICBpZiAoJGF0dHIgIT0gJ2l0ZW0nKQogICAgICAgICAgICByZXR1cm4gJHJlc3VsdDsKCiAgICAgICAgJGRldGFpbHRlbXBsYXRlID0gJyc7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbImRldGFpbHRlbXBsYXRlIl0pKQogICAgICAgICAgICAkZGV0YWlsdGVtcGFsdGUgPSAkcGFyYW1zWyJkZXRhaWx0ZW1wbGF0ZSJdOwoKICAgICAgICAkaW5saW5lID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCAwKTsKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pKQogICAgICAgICAgICAkZGV0YWlsdGVtcGFsdGUgPSAkcGFyYW1zWyJpbmxpbmUiXTsKCiAgICAgICAgLyogaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgMCkpIHsKICAgICAgICAgICRyZXR1cm5pZCA9ICcnOwogICAgICAgICAgfSAqLwoKCiAgICAgICAgJHJvdyA9IHNlbGY6OmdldF9pdGVtKCRtb2QsICRpdGVtX2lkKTsKICAgICAgICBpZiAoJHJvdykgewoKLy8wIHBvc2l0aW9uIGlzIHRoZSBwcmVmaXggZGlzcGxheWVkIGluIHRoZSBsaXN0IHJlc3VsdHMuCiAgICAgICAgICAgICRyZXN1bHRbMF0gPSAkbW9kLT5HZXRGcmllbmRseU5hbWUoKTsKCi8vMSBwb3NpdGlvbiBpcyB0aGUgdGl0bGUKICAgICAgICAgICAgJHJlc3VsdFsxXSA9ICRyb3dbJ3RpdGxlJ107CgovLzIgcG9zaXRpb24gaXMgdGhlIFVSTCB0byB0aGUgdGl0bGUuCgogICAgICAgICAgICBpZiAoZW1wdHkoJHJvd1sidXJsIl0pID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkcHJldHR5dXJsID0gJHJvd1sidXJsIl07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcHJldHR5dXJsID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJldHR5X3VybCgkbW9kLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmVmaXgoJG1vZCksICRyb3dbJ2l0ZW1faWQnXSwgJHJvd1snYWxpYXMnXSwgaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSA/ICRkZXRhaWxwYWdlIDogJHJldHVybmlkLCAkZGV0YWlsdGVtcGxhdGUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcmVzdWx0WzJdID0gJG1vZC0+Q3JlYXRlRnJvbnRlbmRMaW5rKCdjbnRudDAxJywgJHJldHVybmlkLCAnZGV0YWlsJywgJycsIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10sICdkZXRhaWx0ZW1wbGF0ZScgPT4gJGRldGFpbHRlbXBsYXRlKSwgJycsIHRydWUsICRpbmxpbmUsICcnLCBmYWxzZSwgJHByZXR0eXVybCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJvdXRlKCRtb2QsICRmaWxlbmFtZSkgewogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJHBhdGhpbmZvID0gcGF0aGluZm8oJGZpbGVuYW1lKTsKICAgICAgICAkZmlsYW5lYW0gPSAkcGF0aGluZm9bImJhc2VuYW1lIl07CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdnZW5lcmF0b3JfdGVtcGxhdGVzJywgY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ01vZHVsZUxpYicsICd0ZW1wbGF0ZXMnKSk7CiAgICAgICAgcmV0dXJuIGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdNb2R1bGVMaWInLCAkcGF0aGluZm9bImJhc2VuYW1lIl0pOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGV0YWlscGFnZSgmJHBhcmFtcywgJGRldGFpbHBhZ2UpIHsKCiAgICAgICAgJGdjbXMgPSBjbXNtcygpOwogICAgICAgIHJldHVybiAkZGV0YWlscGFnZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZV9wYXJlbnRfZHJvcGRvd24oJG1vZCwgJGlkLCAkY2F0aWQgPSAtMSwgJHNlbGVjdGVkdmFsdWUgPSAtMSkgewogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgICRsb25nbmFtZSA9ICcnOwoKICAgICAgICAkaXRlbXNbJygnIC4gJG1vZC0+TGFuZygnbm9uZScpIC4gJyknXSA9ICctMSc7CgogICAgICAgICRxdWVyeSA9ICJTRUxFQ1QgaGllcmFyY2h5LCBsb25nX25hbWUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCiAgICAgICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CiAgICAgICAgICAgICRsb25nbmFtZSA9ICRyb3dbJ2hpZXJhcmNoeSddIC4gJyUnOwogICAgICAgIH0KICAgICAgICAkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLCBoaWVyYXJjaHksIGxvbmdfbmFtZSBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfY2F0ZWdvcmllcyBXSEVSRSBoaWVyYXJjaHkgbm90IGxpa2UgPyBPUkRFUiBieSBoaWVyYXJjaHkiOwogICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRsb25nbmFtZSkpOwogICAgICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewogICAgICAgICAgICAkaXRlbXNbJHJvd1snbG9uZ19uYW1lJ11dID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAncGFyZW50JywgJGl0ZW1zLCAtMSwgJHNlbGVjdGVkdmFsdWUpOwogICAgfQoKICAgIC8qKgogICAgICogIAogICAgICogQHBhcmFtIG9iamVjdCAkbW9kIAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCRtb2QpIHsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLHBhcmVudF9pZCBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfY2F0ZWdvcmllcyBPUkRFUiBCWSBwb3NpdGlvbiwgY2F0ZWdvcnlfaWQiOwogICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAgICRjb3VudGVyID0gYXJyYXkoKTsKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gIiI7CiAgICAgICAgICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjIgPSAiIjsKICAgICAgICAgICAgJHBvc2l0aW9uID0gIiI7CiAgICAgICAgICAgICRjdXJyZW50X2xvbmdfbmFtZSA9ICIiOwogICAgICAgICAgICAkY29udGVudF9pZCA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CiAgICAgICAgICAgICRjdXJyZW50X3BhcmVudF9pZCA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CiAgICAgICAgICAgICRjb3VudCA9IDA7CiAgICAgICAgICAgICRjb3VudGVyWyRyb3dbJ3BhcmVudF9pZCddXSsrOwogICAgICAgICAgICAkcG9zaXRpb24gPSAkY291bnRlclskcm93WydwYXJlbnRfaWQnXV07CgogICAgICAgICAgICB3aGlsZSAoJGN1cnJlbnRfcGFyZW50X2lkID4gLTEpIHsKICAgICAgICAgICAgICAgICRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfaWQsIGNhdGVnb3J5X25hbWUsIHBhcmVudF9pZCwgcG9zaXRpb24gRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IjsKICAgICAgICAgICAgICAgICRyb3cyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY3VycmVudF9wYXJlbnRfaWQpKTsKICAgICAgICAgICAgICAgIGlmICgkcm93MikgewogICAgICAgICAgICAgICAgICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN0cl9wYWQoJHJvdzJbJ2NhdGVnb3J5X2lkJ10sIDUsICcwJywgU1RSX1BBRF9MRUZUKSAuICIuIiAuICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjsKICAgICAgICAgICAgICAgICAgICAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24yID0gc3RyX3BhZCgkcm93MlsncG9zaXRpb24nXSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpIC4gIi4iIC4gJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uMjsKICAgICAgICAgICAgICAgICAgICAkY3VycmVudF9sb25nX25hbWUgPSAkcm93MlsnY2F0ZWdvcnlfbmFtZSddIC4gJyB8ICcgLiAkY3VycmVudF9sb25nX25hbWU7CiAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvdzJbJ3BhcmVudF9pZCddOwogICAgICAgICAgICAgICAgICAgICRjb3VudCsrOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkY3VycmVudF9wYXJlbnRfaWQgPSAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgoKCgogICAgICAgICAgICBpZiAoc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbikgPiAwKSB7CiAgICAgICAgICAgICAgICAkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24gPSBzdWJzdHIoJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uLCAwLCBzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uKSAtIDEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjIpID4gMCkgewogICAgICAgICAgICAgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uMiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24yLCAwLCBzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uMikgLSAxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHN0cmxlbigkY3VycmVudF9sb25nX25hbWUpID4gMCkgewogICAgICAgICAgICAgICAgJGN1cnJlbnRfbG9uZ19uYW1lID0gc3Vic3RyKCRjdXJyZW50X2xvbmdfbmFtZSwgMCwgc3RybGVuKCRjdXJyZW50X2xvbmdfbmFtZSkgLSAzKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgU0VUIGhpZXJhcmNoeSA9ID8sIHBvc2l0aW9uID0gPywgaGllcmFyY2h5X3Bvc2l0aW9uID0gPywgbG9uZ19uYW1lID0gPyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8iOwoKICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uLCAkcG9zaXRpb24sICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbjIsICRjdXJyZW50X2xvbmdfbmFtZSwgJGNvbnRlbnRfaWQpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBIYW5kbGUgdXBsb2FkCiAgICAgKiBAcGFyYW0gbWl4ZWQgJGl0ZW1pZCBUaGUgaXRlbSBJRCwgdXNlZCB0byBmb3JtIHRoZSB1cGxvYWQgZGlyZWN0b3J5IG5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpZWxkbmFtZSBUaGUgdXBsb2FkIGZpZWxkIG5hbWUsIGZvciBleGFtcGxlLCBtMV9jdXN0b21maWVsZF8xCiAgICAgKiBAcGFyYW0gc3RyaW5nICYkZXJyb3IgSG9sZHMgYW55IGVycm9ycyB0aGF0IG1heSBvY2N1cgogICAgICogQHBhcmFtIGFycmF5ICRhbGxvdyBBbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucwogICAgICogQHJldHVybiBib29sfHN0cmluZyBSZXR1cm5zIGZpbGVuYW1lIG9uIHN1Y2Nlc3NmdWwgdXBsb2FkIG9yIGZhbHNlIG9uIGZhaWx1cmUKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBoYW5kbGVfdXBsb2FkKCRtb2QsICRpdGVtaWQsICRmaWVsZG5hbWUsICYkZXJyb3IsICRhbGxvdyA9IGFycmF5KCkpIHsKCgogICAgICAgICRhbGxvdyA9ICghZW1wdHkoJGFsbG93KSA/ICRhbGxvdyA6IGFycmF5KCdqcGcnLCAnZ2lmJywgJ3BuZycpKTsKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJHAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAnXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSk7CgogICAgICAgIGlmICghaXNfZGlyKCRwKSkgewogICAgICAgICAgICAkcmVzID0gQG1rZGlyKCRwKTsKCiAgICAgICAgICAgIGlmICgkcmVzID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbWtkaXInLCAkcCk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRwID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJ18nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCksICdpZCcgLiAkaXRlbWlkKTsKCiAgICAgICAgaWYgKCFpc19kaXIoJHApKSB7CiAgICAgICAgICAgIGlmIChAbWtkaXIoJHApID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfbWtkaXInLCAkcCk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgkX0ZJTEVTWyRmaWVsZG5hbWVdWydzaXplJ10gPiAkY29uZmlnWydtYXhfdXBsb2FkX3NpemUnXSkgewogICAgICAgICAgICAkZXJyb3IgPSAkbW9kLT5MYW5nKCdlcnJvcl9maWxlc2l6ZScpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkX0ZJTEVTWyRmaWVsZG5hbWVdWyduYW1lJ10pOwogICAgICAgICRkZXN0ID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJ18nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCksICdpZCcgLiAkaXRlbWlkLCAkZmlsZW5hbWUpOwogICAgICAgICRleHQgPSBzdHJ0b2xvd2VyKHN1YnN0cihzdHJyY2hyKCRmaWxlbmFtZSwgJy4nKSwgMSkpOwoKICAgICAgICBpZiAoIWluX2FycmF5KCRleHQsICRhbGxvdykpIHsKICAgICAgICAgICAgJGVycm9yID0gJG1vZC0+TGFuZygnZXJyb3JfaW52YWxpZGZpbGV0eXBlJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGlmIChAY21zX21vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyRmaWVsZG5hbWVdWyd0bXBfbmFtZSddLCAkZGVzdCkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICRlcnJvciA9ICRtb2QtPkxhbmcoJ2Vycm9yX21vdmVmaWxlJywgJGRlc3QpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGZpbGVuYW1lOwogICAgfQoKICAgIC8qKgogICAgICoKICAgICAqIEBwYXJhbSBvYmplY3QgJG1vZHVsZQogICAgICogQHBhcmFtIGJvb2xlYW4gJGZyb250ZW5kCiAgICAgKiBAcmV0dXJuIHR5cGUgCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkcygkbW9kdWxlLCAkZnJvbnRlbmQgPSB0cnVlLCAkc2VjdGlvbiA9ICdpdGVtcycpIHsKCiAgICAgICAgJHF1ZXJ5YXJyYXkgPSBhcnJheSgpOwogICAgICAgICRwYXJtc2FycmF5ID0gYXJyYXkoKTsKCiAgICAgICAgJHZhbHVlID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJG1vZHVsZS0+R2V0TmFtZSgpIC4gX19GVU5DVElPTl9fIC4gJHNlY3Rpb24pOwogICAgICAgIGlmICgkdmFsdWUpCiAgICAgICAgICAgIHJldHVybiAkdmFsdWU7CgogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2R1bGUtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZic7CgogICAgICAgICRxdWVyeWFycmF5W10gPSAnIHNlY3Rpb24gPSA/JzsKICAgICAgICAkcGFybXNhcnJheVtdID0gJHNlY3Rpb247CgoKICAgICAgICBpZiAoJGZyb250ZW5kID09IHRydWUpIHsKICAgICAgICAgICAgJHF1ZXJ5YXJyYXlbXSA9ICcgZnJvbnRlbmQgPSA/JzsKICAgICAgICAgICAgJHBhcm1zYXJyYXlbXSA9IDE7CiAgICAgICAgfQovLyBXSEVSRQogICAgICAgICRxdWVyeSAuPSAoIGVtcHR5KCRxdWVyeWFycmF5KSA9PSBmYWxzZSA/ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJHF1ZXJ5YXJyYXkpIDogJycgKTsKCiAgICAgICAgJHZhbHVlID0gJGRiLT5HZXRBcnJheSgkcXVlcnksICRwYXJtc2FycmF5KTsKICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YSgkbW9kdWxlLT5HZXROYW1lKCkgLiBfX0ZVTkNUSU9OX18gLiAkc2VjdGlvbiwgJHZhbHVlKTsKCiAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGltYWdlX2xvY2F0aW9uKCRtb2R1bGUsICRyb3cpIHsKCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgICAgICRyZWxfcGF0aCA9ICdfJyAuICRtb2R1bGUtPl9HZXRNb2R1bGVBbGlhcygpIC4gJy9pZCcgLiAkcm93WydpdGVtX2lkJ10gLiAnL2dhbGxlcnknOwogICAgICAgIGNnZV9kaXI6Om1rZGlycihjbXNfam9pbl9wYXRoKCRjb25maWdbInVwbG9hZHNfcGF0aCJdLCAkcmVsX3BhdGgpKTsKICAgICAgICAkdmFsdWUgPSAkY29uZmlnWyd1cGxvYWRzX3VybCddIC4gJy8nIC4gJHJlbF9wYXRoOwogICAgICAgIHJldHVybiAkdmFsdWU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbWFnZXBhdGhfbG9jYXRpb24oJG1vZHVsZSwgJHJvdykgewoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJHJlbF9wYXRoID0gY21zX2pvaW5fcGF0aCgnXycgLiAkbW9kdWxlLT5fR2V0TW9kdWxlQWxpYXMoKSwgJ2lkJyAuICRyb3dbJ2l0ZW1faWQnXSwgJ2dhbGxlcnknKTsKICAgICAgICBjZ2VfZGlyOjpta2RpcnIoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJ1cGxvYWRzX3BhdGgiXSwgJHJlbF9wYXRoKSk7CiAgICAgICAgJHZhbHVlID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHJlbF9wYXRoKTsKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmlsZV9sb2NhdGlvbigkbW9kdWxlLCAkcm93KSB7CgogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICAkcmVsX3BhdGggPSAnXycgLiAkbW9kdWxlLT5fR2V0TW9kdWxlQWxpYXMoKSAuICcvaWQnIC4gJHJvd1snaXRlbV9pZCddOwogICAgICAgIGNnZV9kaXI6Om1rZGlycihjbXNfam9pbl9wYXRoKCRjb25maWdbInVwbG9hZHNfcGF0aCJdLCAkcmVsX3BhdGgpKTsKICAgICAgICAkdmFsdWUgPSAkY29uZmlnWyd1cGxvYWRzX3VybCddIC4gJy8nIC4gJHJlbF9wYXRoOwogICAgICAgIHJldHVybiAkdmFsdWU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmaWxlcGlja2VyX2xvY2F0aW9uKCRtb2R1bGUpIHsKCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgICAgICRyZWxfcGF0aCA9ICdfJyAuICRtb2R1bGUtPl9HZXRNb2R1bGVBbGlhcygpIC4gJy9maWxlcGlja2VyLyc7CiAgICAgICAgY2dlX2Rpcjo6bWtkaXJyKGNtc19qb2luX3BhdGgoJGNvbmZpZ1sidXBsb2Fkc19wYXRoIl0sICRyZWxfcGF0aCkpOwogICAgICAgICR2YWx1ZSA9ICRyZWxfcGF0aDsKICAgICAgICByZXR1cm4gJHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmlsZXBhdGhfbG9jYXRpb24oJG1vZHVsZSwgJHJvdykgewoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgJHJlbF9wYXRoID0gY21zX2pvaW5fcGF0aCgnXycgLiAkbW9kdWxlLT5fR2V0TW9kdWxlQWxpYXMoKSwgJ2lkJyAuICRyb3dbJ2l0ZW1faWQnXSk7CiAgICAgICAgY2dlX2Rpcjo6bWtkaXJyKGNtc19qb2luX3BhdGgoJGNvbmZpZ1sidXBsb2Fkc19wYXRoIl0sICRyZWxfcGF0aCkpOwogICAgICAgICR2YWx1ZSA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sICRyZWxfcGF0aCk7CiAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNoZWNrX3JvdygkbW9kLCAkZmllbGRpZCwgJGZpZWxkdmFsdWUpIHsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgQS5pdGVtX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIEEnOwogICAgICAgICRxdWVyeSAuPSAnIExFRlQgSk9JTiAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQSBPTiBBLml0ZW1faWQgPSBGVkEuaXRlbV9pZCBBTkQgRlZBLmZpZWxkZGVmX2lkID0gPyAnOwogICAgICAgICRxdWVyeSAuPSAnIFdIRVJFIEEuYWN0aXZlID0gMSBBTkQgRlZBLnZhbHVlID0gPyAnOwogICAgICAgIHJldHVybiAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRmaWVsZGlkLCAkZmllbGR2YWx1ZSkpOwogICAgfQoKICAgIC8qKgogICAgICogSGFzIFByZWZpeAogICAgICogQHBhcmFtIHN0cmluZyAkc3RyaW5nIFRoZSBzdHJpbmcgaW4gcXVlc3Rpb24KICAgICAqIEBwYXJhbSBhcnJheSAkcHJlZml4IEFycmF5IG9mIHByZWZpeGVzIHRvIG1hdGNoIGFnYWluc3QKICAgICAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIHRydWUgaWYgcHJlZml4IGlzIGZvdW5kLCBvciBmYWxzZSBvdGhlcndpc2UKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBoYXNfcHJlZml4KCRzdHJpbmcsICRwcmVmaXhlcykgewogICAgICAgIGlmICghaXNfc3RyaW5nKCRzdHJpbmcpKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgaWYgKCFpc19hcnJheSgkcHJlZml4ZXMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRwcmVmaXhlcyBhcyAkcHJlZml4KSB7CiAgICAgICAgICAgIGlmIChzdHJwb3MoJHN0cmluZywgJHByZWZpeCkgPT09IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IEV4Y2x1ZGUgUHJlZml4CiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhcnJheSBvZiBwcmVmaXhlcyB0byBleGNsdWRlIGlmIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV9leGNsdWRlX3ByZWZpeCgkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBkaXJbdGh1bWJfXQovLyBkaXJbdGh1bWJfLG5vdG1lXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15leGNsdWRlX3ByZWZpeFxbKFteLF0rKCxbXixdKykqKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiBleHBsb2RlKCcsJywgJG1hdGNoZXNbMV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IEV4dHJhOiBEaXJlY3RvcnkKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBzdHJpbmcgUmV0dXJucyB0aGUgZGlyZWN0b3J5IGlmIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV9kaXIoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gZGlyW3BhdGgvdG8vZGlyXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15kaXJcWyguKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJG1hdGNoZXNbMV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IEFsbG93ZWQgRmlsZSBFeHRlbnNpb25zCiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucyBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfYWxsb3coJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybiBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBhbGxvd1twZGYsZ2lmLHBuZyxqcGVnLGpwZ10KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9eYWxsb3dcWyguKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZXhwbG9kZSgnLCcsICRtYXRjaGVzWzFdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IERhdGUgRm9ybWF0CiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gc3RyaW5nIFJldHVybnMgZGF0ZSBmb3JtYXQgdG8gYmUgdXNlZCB3aXRoIHRoZSBqcXVlcnkKICAgICAqIGRhdGVwaWNrZXIgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX2RhdGVfZm9ybWF0KCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIGRhdGVmb3JtYXRbZGQvbW0veXldCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXmRhdGVmb3JtYXRcWyguKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJG1hdGNoZXNbMV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IFJvdwogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIGludCBSZXR1cm5zIG1heGltdW0gbGVuZ3RoIGlmIHNwZWNpZmllZAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV9yb3dzKCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBtYXhfbGVuZ3RoWzIwXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15yb3dzXFsoWzAtOV0rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAoaW50KSAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogUm93CiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgbWF4aW11bSBsZW5ndGggaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX2NvbHMoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gbWF4X2xlbmd0aFsyMF0KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9eY29sc1xbKFswLTldKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGludCkgJG1hdGNoZXNbMV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IE1heCBMZW5ndGgKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBpbnQgUmV0dXJucyBtYXhpbXVtIGxlbmd0aCBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfbWF4X2xlbmd0aCgkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBtYXhfbGVuZ3RoWzIwXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL15tYXhfbGVuZ3RoXFsoWzAtOV0rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAoaW50KSAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogU2l6ZQogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIGludCBSZXR1cm5zIHNpemUgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX3NpemUoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gc2l6ZVsyMF0KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9ec2l6ZVxbKFswLTldKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGludCkgJG1hdGNoZXNbMV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IE11bHRpcGxlCiAgICAgKiBAcGFyYW0gYXJyYXkgJGluc3RydWN0aW9ucyBJbnN0cnVjdGlvbnMKICAgICAqIEByZXR1cm4gaW50IFJldHVybnMgc2l6ZSBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfbXVsdGlwbGUoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gc2l6ZVsyMF0KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9ebXVsdGlwbGVcWyhbMC05XSspXF0kL2knLCAkaW5zdHJ1Y3Rpb24sICRtYXRjaGVzKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIChpbnQpICRtYXRjaGVzWzFdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IEV4dHJhOiBTZWxlY3QgZGVmYXVsdAogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIGludCBSZXR1cm5zIHNpemUgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX3NlbGVjdGRlZmF1bHQoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gc2l6ZVsyMF0KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9ec2VsZWN0X2RlZmF1bHRcWyguKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJG1hdGNoZXNbMV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IFdZU0lXWUcKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBib29sIFJldHVybnMgdHJ1ZSBpZiBXWVNJV1lHIGlzIHRvIGJlIGVuYWJsZWQsIG9yIGZhbHNlIG90aGVyd2lzZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9leHRyYV93eXNpd3lnKCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIHd5c2l3eWdbMV0KLy8gd3lzaXd5Z1swXQovLyB3eXNpd3lnW3RydWVdCi8vIHd5c2l3eWdbZmFsc2VdCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXnd5c2l3eWdcWyguKylcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICBpZiAoJG1hdGNoZXNbMV0gPT0gJ3RydWUnIHx8ICRtYXRjaGVzWzFdID09ICcxJykgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IE1vZHVsZSBwYXJhbXMKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIG9wdGlvbnMgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX21vZHVsZXBhcmFtcygkaW5zdHJ1Y3Rpb25zKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICAkcGFyYW1zID0gYXJyYXkoKTsKCiAgICAgICAgZm9yZWFjaCAoJGluc3RydWN0aW9ucyBhcyAkaW5zdHJ1Y3Rpb24pIHsKLy8gb3B0aW9uc1thcHBsZT1BcHBsZV0KLy8gb3B0aW9uc1thcHBsZT1BcHBsZSxiYW5hbmE9QmFuYW5hXQogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnL14oLispXFsoW14sXSs9W14sXSsoLFteLF0rPVteLF0rKSopXF0kL2knLCAkaW5zdHJ1Y3Rpb24sICRtYXRjaGVzKSkgewoKICAgICAgICAgICAgICAgICRwYXJhbXNbIm1vZHVsZSJdID0gJG1hdGNoZXNbMV07CgogICAgICAgICAgICAgICAgZm9yZWFjaCAoZXhwbG9kZSgnLCcsICRtYXRjaGVzWzJdKSBhcyAkcGFpcikgewogICAgICAgICAgICAgICAgICAgICRrZXlfdmFsID0gZXhwbG9kZSgnPScsICRwYWlyKTsKICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWyRrZXlfdmFsWzBdXSA9ICRrZXlfdmFsWzFdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgcmV0dXJuICRwYXJhbXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IFVEVAogICAgICogQHBhcmFtIGFycmF5ICRpbnN0cnVjdGlvbnMgSW5zdHJ1Y3Rpb25zCiAgICAgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2Ygb3B0aW9ucyBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0cmFfbW9kdWxldWR0KCRpbnN0cnVjdGlvbnMpIHsKICAgICAgICBpZiAoIWlzX2FycmF5KCRpbnN0cnVjdGlvbnMpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7CiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXnVkdFxbKC4rKVxdJC9pJywgJGluc3RydWN0aW9uLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCBFeHRyYTogTW9kdWxlIE9wdGlvbnMKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIG9wdGlvbnMgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX21vZHVsZW9wdGlvbnMoJGluc3RydWN0aW9ucywgJG1vZCkgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7Ci8vIHtjbXNfbW9kdWxlfQogICAgICAgICAgICAkbW9kdWxlY29udGVudCA9ICRpbnN0cnVjdGlvbjsKICAgICAgICAgICAgZm9yZWFjaCAoZXhwbG9kZSgnLCcsICRtb2R1bGVjb250ZW50KSBhcyAkcGFpcikgewogICAgICAgICAgICAgICAgaWYgKCEkcGFpcikKICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICRrZXlfdmFsID0gZXhwbG9kZSgnPScsICRwYWlyKTsKICAgICAgICAgICAgICAgICRvcHRpb25zWyRrZXlfdmFsWzBdXSA9ICRrZXlfdmFsWzFdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghZW1wdHkoJG9wdGlvbnMpKQogICAgICAgICAgICByZXR1cm4gJG9wdGlvbnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IFBhZ2UKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIG9wdGlvbnMgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX3BhZ2UoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwogICAgICAgICRzZXR0aW5ncyA9IGFycmF5KCk7CgogICAgICAgIGZvcmVhY2ggKCRpbnN0cnVjdGlvbnMgYXMgJGluc3RydWN0aW9uKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkbW9kdWxlY29udGVudCkpIHsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKGV4cGxvZGUoJywnLCAkbW9kdWxlY29udGVudCkgYXMgJHBhaXIpIHsKICAgICAgICAgICAgICAgICAgICAka2V5X3ZhbCA9IGV4cGxvZGUoJz0nLCAkcGFpcik7CiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICgka2V5X3ZhbFswXSkgewogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJjaGlsZHJlbm9mIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXR0aW5nc1siY2hpbGRyZW5vZiJdID0gJGtleV92YWxbMV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAic3RhcnRfcGFnZSI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2V0dGluZ3NbInN0YXJ0X3BhZ2UiXSA9ICRrZXlfdmFsWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgJHBhZ2VzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+R2V0QWxsQ29udGVudCgpOwogICAgICAgICRhcnJheSA9IGFycmF5KCk7CgogICAgICAgIGlmIChpc3NldCgkc2V0dGluZ3NbJ2NoaWxkcmVub2YnXSkpIHsKICAgICAgICAgICAgJGNoaWxkcmVub2YgPSBleHRlbmRlZF90b29sc19vcHRzOjpnZXRfcGFnZV9pZF9mcm9tX2FsaWFzKCRzZXR0aW5nc1snY2hpbGRyZW5vZiddKTsKICAgICAgICB9CgogICAgICAgIGlmIChpc3NldCgkc2V0dGluZ3NbJ3N0YXJ0X3BhZ2UnXSkpIHsKICAgICAgICAgICAgJHN0YXJ0X3BhZ2UgPSBleHRlbmRlZF90b29sc19vcHRzOjpnZXRfcGFnZV9pZF9mcm9tX2FsaWFzKCRzZXR0aW5nc1snc3RhcnRfcGFnZSddKTsKICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRwYWdlcyBhcyAkcGFnZSkgewogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgKCFpc3NldCgkc3RhcnRfcGFnZSkgJiYgIWlzc2V0KCRjaGlsZHJlbm9mKSkKICAgICAgICAgICAgICAgICAgICB8fAogICAgICAgICAgICAgICAgICAgIChpc3NldCgkY2hpbGRyZW5vZikgJiYgKCRwYWdlLT5QYXJlbnRJZCgpID09ICRjaGlsZHJlbm9mKSkgLy8gTGlzdCBvZiBhbGwgY2hpbGRyZW5zCiAgICAgICAgICAgICAgICAgICAgfHwKICAgICAgICAgICAgICAgICAgICAoaXNzZXQoJHN0YXJ0X3BhZ2UpICYmIChzdHJwb3MoJHBhZ2UtPklkSGllcmFyY2h5KCksICRzdGFydF9wYWdlIC4gJy4nKSA9PT0gMCkpIC8vIExpc3Qgb2YgYWxsIGRlc2NlbmRhbnRzCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgJG9wdGlvbnNbJHBhZ2UtPklkKCldID0gJHBhZ2UtPkhpZXJhcmNoeSgpIC4gJy4gLSAnIC4gJHBhZ2UtPk5hbWUoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCgogICAgICAgIGlmICghZW1wdHkoJG9wdGlvbnMpKQogICAgICAgICAgICByZXR1cm4gJG9wdGlvbnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgRXh0cmE6IE9wdGlvbnMKICAgICAqIEBwYXJhbSBhcnJheSAkaW5zdHJ1Y3Rpb25zIEluc3RydWN0aW9ucwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIG9wdGlvbnMgaWYgc3BlY2lmaWVkCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2V4dHJhX29wdGlvbnMoJGluc3RydWN0aW9ucykgewogICAgICAgIGlmICghaXNfYXJyYXkoJGluc3RydWN0aW9ucykpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkaW5zdHJ1Y3Rpb25zIGFzICRpbnN0cnVjdGlvbikgewovLyBvcHRpb25zW2FwcGxlPUFwcGxlXQovLyBvcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdCiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXm9wdGlvbnNcWyhbXixdKz1bXixdKygsW14sXSs9W14sXSspKilcXSQvaScsICRpbnN0cnVjdGlvbiwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoIChleHBsb2RlKCcsJywgJG1hdGNoZXNbMV0pIGFzICRwYWlyKSB7CiAgICAgICAgICAgICAgICAgICAgJGtleV92YWwgPSBleHBsb2RlKCc9JywgJHBhaXIpOwogICAgICAgICAgICAgICAgICAgICRvcHRpb25zWyRrZXlfdmFsWzBdXSA9ICRrZXlfdmFsWzFdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoIWVtcHR5KCRvcHRpb25zKSkKICAgICAgICAgICAgcmV0dXJuICRvcHRpb25zOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IEV4dHJhCiAgICAgKiBAcGFyYW0gc3RyaW5nICRleHRyYQogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIGluc3RydWN0aW9ucyBpZiBzcGVjaWZpZWQKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0X2V4dHJhKCRleHRyYSwgJG1vZCA9IG51bGwpIHsKICAgICAgICBpZiAoIWlzX3N0cmluZygkZXh0cmEpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRleHRyYSA9IHRyaW0oJGV4dHJhKTsKCiAgICAgICAgaWYgKCRtb2QgIT0gbnVsbCAmJiBpc19vYmplY3QoJG1vZCkpCiAgICAgICAgICAgICRleHRyYSA9ICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRleHRyYSk7CgoKICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJGluc3RydWN0aW9ucyA9IGV4cGxvZGUoJzsnLCB0cmltKCRleHRyYSwgJzsnKSk7CiAgICAgICAgaWYgKCFlbXB0eSgkaW5zdHJ1Y3Rpb25zKSkKICAgICAgICAgICAgcmV0dXJuICRpbnN0cnVjdGlvbnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBJcyB2YWxpZCBhbGlhcwogICAgICogQHBhcmFtIHN0cmluZyAkYWxpYXMKICAgICAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIHRydWUgaWYgc3RyaW5nIGluIHF1ZXN0aW9uIGlzIGEgdmFsaWQgYWxpYXMsIG9yCiAgICAgKiBmYWxzZSBvdGhlcndpc2UKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc192YWxpZF9hbGlhcygkYWxpYXMpIHsKICAgICAgICBpZiAoIWlzX3N0cmluZygkYWxpYXMpKQogICAgICAgICAgICByZXR1cm47CgovLyBjaGVjayBhbGlhcwovLyBodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2xhbmd1YWdlLnZhcmlhYmxlcy5iYXNpY3MucGhwCiAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9eW2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWjAtOV9ceDdmLVx4ZmZdKiQvJywgJGFsaWFzKSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2VuZXJhdGUgYWxpYXMKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUgVGhlIHN0cmluZyB0aGF0IHRoZSBhbGlhcyB3aWxsIGJlIGdlbmVyYXRlZCBmcm9tCiAgICAgKiBAcmV0dXJuIHN0cmluZyBSZXR1cm5zIHRoZSBhbGlhcwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdlbmVyYXRlX2FsaWFzKCRuYW1lKSB7CiAgICAgICAgaWYgKCFpc19zdHJpbmcoJG5hbWUpKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgICRhbGlhcyA9ICRuYW1lOwoKLy8gcmVwbGFjZSBtdWx0aXBsZSBzcGFjZXMgd2l0aCBzaW5nbGUgdW5kZXJzY29yZQogICAgICAgICRhbGlhcyA9IHByZWdfcmVwbGFjZSgnLyArLycsICdfJywgJGFsaWFzKTsKCi8vIGxlYXZlIGFscGhhYmV0aWMgY2hhcmFjdGVycyBhbmQgdW5zY29yZXMsCi8vIHJlcGxhY2UgZXZlcnl0aGluZyBlbHNlIHdpdGggYW4gdW5kZXJzY29yZQogICAgICAgICRhbGlhcyA9IHByZWdfcmVwbGFjZSgnL1teYS16QS1aX10vJywgJ18nLCAkYWxpYXMpOwoKLy8gcmVwbGFjZSBtdWx0aXBsZSB1bmRlcnNjb3JlcyB3aXRoIHNpbmdsZSB1bmRlcnNjb3JlCiAgICAgICAgJGFsaWFzID0gcHJlZ19yZXBsYWNlKCcvXysvJywgJ18nLCAkYWxpYXMpOwoKLy8gY29udmVydCB0byBsb3dlcmNhc2UKICAgICAgICAkYWxpYXMgPSBzdHJ0b2xvd2VyKCRhbGlhcyk7CgovLyByZW1vdmUgdW5kZXJzY29yZSBmcm9tIHN0YXJ0IGFuZCBlbmQKICAgICAgICAkYWxpYXMgPSB0cmltKCRhbGlhcywgJ18nKTsKCiAgICAgICAgcmV0dXJuICRhbGlhczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBmaWVsZCB0eXBlcwogICAgICogQHJldHVybiBhcnJheSBSZXR1cm5zIGFuIGFycmF5IG9mIGZpZWxkIHR5cGVzCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkX3R5cGVzKCkgewoKICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsKCiAgICAgICAgJHR5cGVzID0gYXJyYXkoCiAgICAgICAgICAgICd0ZXh0Ym94JyA9PiAkbW9kdWxlLT5MYW5nKCd0ZXh0Ym94JyksCiAgICAgICAgICAgICdjaGVja2JveCcgPT4gJG1vZHVsZS0+TGFuZygnY2hlY2tib3gnKSwKICAgICAgICAgICAgJ3RleHRhcmVhJyA9PiAkbW9kdWxlLT5MYW5nKCd0ZXh0YXJlYScpLAogICAgICAgICAgICAnc2VsZWN0X2RhdGUnID0+ICRtb2R1bGUtPkxhbmcoJ3NlbGVjdF9kYXRlJyksCiAgICAgICAgICAgICd1cGxvYWRfZmlsZScgPT4gJG1vZHVsZS0+TGFuZygndXBsb2FkX2ZpbGUnKSwKICAgICAgICAgICAgJ3NlbGVjdF9maWxlJyA9PiAkbW9kdWxlLT5MYW5nKCdzZWxlY3RfZmlsZScpLAogICAgICAgICAgICAnZmlsZV9waWNrZXInID0+ICRtb2R1bGUtPkxhbmcoJ2ZpbGVfcGlja2VyJyksCiAgICAgICAgICAgICdkcm9wZG93bicgPT4gJG1vZHVsZS0+TGFuZygnZHJvcGRvd24nKSwKICAgICAgICAgICAgJ2Ryb3Bkb3duX2Zyb21fdWR0JyA9PiAkbW9kdWxlLT5MYW5nKCdkcm9wZG93bl9mcm9tX3VkdCcpLAogICAgICAgICAgICAnZHJvcGRvd25mcm9tbW9kdWxlJyA9PiAkbW9kdWxlLT5MYW5nKCdkcm9wZG93bmZyb21tb2R1bGUnKSwKICAgICAgICAgICAgJ21vZHVsZScgPT4gJG1vZHVsZS0+TGFuZygnbW9kdWxlJyksCiAgICAgICAgICAgICdtb2R1bGVfbGluaycgPT4gJG1vZHVsZS0+TGFuZygnbW9kdWxlX2xpbmsnKSwKICAgICAgICAgICAgJ3BhZ2UnID0+ICRtb2R1bGUtPkxhbmcoJ3BhZ2UnKSwKICAgICAgICAgICAgJ2NvbG9yX3BpY2tlcicgPT4gJG1vZHVsZS0+TGFuZygnY29sb3JfcGlja2VyJyksCiAgICAgICAgICAgICdzdGF0aWMnID0+ICRtb2R1bGUtPkxhbmcoJ3N0YXRpYycpLAogICAgICAgICAgICAndGFiJyA9PiAkbW9kdWxlLT5MYW5nKCd0YWInKQogICAgICAgICk7CgogICAgICAgIHJldHVybiAkdHlwZXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgZmllbGQgc2VjdGlvbnMKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBvZiBmaWVsZCBzZWN0aW9ucwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZF9zZWN0aW9ucygpIHsKCiAgICAgICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnTW9kdWxlR2VuZXJhdG9yJyk7CgogICAgICAgICRzZWN0aW9ucyA9IGFycmF5KAogICAgICAgICAgICAnaXRlbXMnID0+ICRtb2R1bGUtPkxhbmcoJ2l0ZW1zJyksCiAgICAgICAgICAgICdjYXRlZ29yaWVzJyA9PiAkbW9kdWxlLT5MYW5nKCdjYXRlZ29yaWVzJyksCiAgICAgICAgICAgICdnYWxsZXJpZXMnID0+ICRtb2R1bGUtPkxhbmcoJ2dhbGxlcmllcycpCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRzZWN0aW9uczsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9wcmVmaXgoJG1vZCkgewogICAgICAgIHJldHVybiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbW9kLT5HZXROYW1lKCksIHRydWUpKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9wcmV0dHlfdXJsKCRtb2QsICRwcmVmaXgsICRpdGVtX2lkLCAkYWxpYXMsICRyZXR1cm5pZCA9IG51bGwsICRkZXRhaWx0ZW1wbGF0ZSA9IG51bGwpIHsKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICAgICAkcGFybXMgPSBhcnJheSgpOwoKICAgICAgICAkcGFybXNbXSA9ICRwcmVmaXg7CiAgICAgICAgJHBhcm1zW10gPSAkaXRlbV9pZDsKICAgICAgICBpZiAoJHJldHVybmlkKQogICAgICAgICAgICAkcGFybXNbXSA9ICRyZXR1cm5pZDsKICAgICAgICBpZiAoJGFsaWFzKQogICAgICAgICAgICAkcGFybXNbXSA9ICRhbGlhczsKICAgICAgICBpZiAoJGRldGFpbHRlbXBsYXRlICE9IG51bGwpCiAgICAgICAgICAgICRwYXJtc1tdID0gJGRldGFpbHRlbXBsYXRlOwoKICAgICAgICByZXR1cm4gaW1wbG9kZSgnLycsICRwYXJtcyk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcHJpdmF0ZV9jYXRlZ29yaWVzKCRtb2QpIHsKCiAgICAgICAgJGNhdGVnb3J5bG9uZ25hbWVsaXN0ID0gYXJyYXkoKTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0REIoKTsKICAgICAgICAkdXNlcm9wcyA9IGNtc21zKCktPkdldFVzZXJPcGVyYXRpb25zKCk7CgogICAgICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7CiAgICAgICAgJHVzZXJfaWQgPSAkdXNlcmlkOwogICAgICAgICRhZG1pbnVzZXIgPSAoJHVzZXJvcHMtPlVzZXJJbkdyb3VwKCR1c2VyaWQsIDEpIHx8ICR1c2VyaWQgPT0gMSk7Ci8vbWxlIHN1cHBvcnQKICAgICAgICBpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgndXNlcmdyb3VwX2RlcGVuZGVuY2UnKSAmJiAhJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hbGxfY2F0ZWdvcnlfdmlzYmlsZScpKSB7CgogICAgICAgICAgICBpZiAoJGFkbWludXNlciAhPSAxKSB7CgoKICAgICAgICAgICAgICAgICRxdWVyeSA9ICJTRUxFQ1QgZ3JvdXBfaWQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gInVzZXJfZ3JvdXBzIHdoZXJlIHVzZXJfaWQ9PyI7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHVzZXJfaWQpKTsKICAgICAgICAgICAgICAgIGlmICgkcmVzdWx0KSB7CiAgICAgICAgICAgICAgICAgICAgJGdyb3VwcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgJHdoZXJlc3RhdGVtZW50ID0gYXJyYXkoKTsKCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlc3RhdGVtZW50IFtdID0gIiB1c2VyZ3JvdXAgPSA/ICI7CiAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXNhcnJheVtdID0gJHJvd1siZ3JvdXBfaWQiXTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnKCAnIC4gaW1wbG9kZSgnIE9SICcsICR3aGVyZXN0YXRlbWVudCkgLiAnKSc7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGNhdGVnb3J5bGlzdCA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2NhdGVnb3J5X2xpc3QoJG1vZCwgJHdoZXJlLCAkcGFyYW1zYXJyYXkpOwogICAgICAgICAgICAgICAgJGNhdGVnb3J5bG9uZ25hbWVsaXN0ID0gYXJyYXlfc2xpY2UoJGNhdGVnb3J5bGlzdCwgMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRjYXRlZ29yeWxvbmduYW1lbGlzdDsKICAgIH0KCiAgICAvKioKICAgICAqIERlbGV0ZSBpdGVtCiAgICAgKiBAcGFyYW0gb2JqZWN0ICRtb2QKICAgICAqIEBwYXJhbSBpbnQgJGl0ZW1faWQgCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGVsZXRlX2l0ZW0oJG1vZCwgJGl0ZW1faWQpIHsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCi8vIGdldCBkZXRhaWxzCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFdIRVJFIGl0ZW1faWQgPSA/JzsKICAgICAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCkpOwogICAgICAgIGlmICghJHJvdykKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgICAgICAkZGlyID0gc2VsZjo6ZmlsZXBhdGhfbG9jYXRpb24oJG1vZCwgJHJvdyk7CiAgICAgICAgaWYgKGlzX2RpcigkZGlyKSkgewogICAgICAgICAgICBjZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoJGRpcik7CiAgICAgICAgfQoKLy8gZGVsZXRlIGl0ZW0KICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFdIRVJFIGl0ZW1faWQgPSA/JzsKICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCkpOwoKLy8gZGVsZXRlIGZpZWxkIHZhbHVlcwogICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGl0ZW1faWQgPSA/JzsKICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCkpOwoKLy8gZGVsZXRlIGZpZWxkIHZhbHVlcwogICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW1fZXh0cmEgV0hFUkUgaXRlbV9pZCA9ID8nOwogICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkKSk7CgogICAgICAgIC8vVXBkYXRlIHNlYXJjaCBpbmRleAogICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NlYXJjaCcpOwogICAgICAgIGlmICgkbW9kdWxlICE9IEZBTFNFKSB7CiAgICAgICAgICAgICRtb2R1bGUtPkRlbGV0ZVdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJGl0ZW1faWQsICdpdGVtJyk7CiAgICAgICAgfQogICAgICAgIEAkbW9kLT5TZW5kRXZlbnQoJ0l0ZW1EZWxldGVkJywgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkKSk7CiAgICB9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.generator_upgrade_proccess.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cjw/cGhwCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogTW9kdWxlR2VuZXJhdG9yIGZvciBDTVMgTWFkZSBTaW1wbGUgKEBrdXptYW55KQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLyoqCiAqIERlc2NyaXB0aW9uIG9mIGNsYXNzCiAqCiAqIEBhdXRob3IgQGt1em1hbnkKICovCgpjbGFzcyBnZW5lcmF0b3JfdXBncmFkZV9wcm9jY2VzcyB7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY29weV9maWxlcygkbW9iamVjdCwgJGZpbGVzID0gYXJyYXkoKSwgJGluaXQgPSBmYWxzZSkgewoKICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgaWYgKGVtcHR5KCRmaWxlcykgPT0gZmFsc2UpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgICAgICAgICAkZnJvbSA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdNb2R1bGVMaWInLCAnc291cmNlJywgJ01vZHVsZUV4YW1wbGUnLCAkZmlsZSk7CiAgICAgICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRmaWxlKTsKICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCRpbml0ID09IHRydWUpIHsKICAgICAgICAgICAgJGZpbGUgPSAnTW9kdWxlRXhhbXBsZS5tb2R1bGUucGhwJzsKICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOwogICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRtb2JqZWN0LT5HZXROYW1lKCkgLiAnLm1vZHVsZS5waHAnKTsKICAgICAgICAgICAgY29weSgkZnJvbSwgJHRvKTsKCiAgICAgICAgICAgIC8vICByZXdyaXRlIG1vZHVsZSBjb250ZW50CiAgICAgICAgICAgICRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0byk7CiAgICAgICAgICAgIGlmICgkZGF0YSkgewogICAgICAgICAgICAgICAgJGRhdGEgPSBzdHJfcmVwbGFjZSgnTW9kdWxlRXhhbXBsZScsICRtb2JqZWN0LT5HZXROYW1lKCksICRkYXRhKTsKICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR0bywgJGRhdGEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZGllKCRtb2JqZWN0LT5MYW5nKCdlcnJvcl9yZXBsYWNlX3N0cmluZycpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL21lZGlhY2VudGVyLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCi8vIGNyZWF0ZSBpdGVtIHRhYmxlCgokZmllbGRzID0gJwogICAgaWQgSSBLRVkgQVVUTywKICAgIG1vZHVsZV9uYW1lIEMoMjU1KSwKCWF0dGFjaCBDKDI1NSksCiAgICBjcmVhdGVfZGF0ZSAnIC4gQ01TX0FET0RCX0RUIC4gJywKCW1vZGlmaWVkX2RhdGUgJyAuIENNU19BRE9EQl9EVCAuICcKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvcicsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgojIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbWVkaWFjZW50ZXIvDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCg0KJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KDQovLyBkcm9wIHRhYmxlcw0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2dlbmVyYXRvcicpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/PD9waHANCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOw0KJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KDQpzd2l0Y2ggKCRvbGR2ZXJzaW9uKSB7DQogICAgY2FzZSAnMS4wJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICdyZWN1cnNpdmUgQygyNTUpJyk7DQogICAgICAgICAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nLCAnaXRlbV9kYXRlX2VuZCAnIC4gQ01TX0FET0RCX0RUKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgICAgICAgICAgICAgICAkZmllbGRzID0gJw0KICAgIGl0ZW1faWQgSSBLRVkgTk9UIG51bGwsDQogICAgdmFsdWUgSSBLRVkgTk9UIG51bGwNCic7DQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9leHRyYScsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7DQogICAgICAgICAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMS4xJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcycsICd1c2VyZ3JvdXAgSScpOw0KICAgICAgICAgICAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiAgICAgICAgICAgICAgICAkbW9iamVjdC0+Q3JlYXRlUGVybWlzc2lvbigkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2FsbF9jYXRlZ29yeV92aXNiaWxlJywgJG1vYmplY3QtPkxhbmcoJ2FsbF9jYXRlZ29yeV92aXNiaWxlJykpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMS4yJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCg0KICAgICAgICAgICAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTChjbXNfZGJfcHJlZml4KCkgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3VybCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICd1cmwnKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjMnOg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KICAgICAgICAgICAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzJywgJ2V4dHJhMiBYJyk7DQogICAgICAgICAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5TZXRQcmVmZXJlbmNlKCdjYXRlZ29yeV9leHRyYTJfbGFiZWwnLCAkbW9iamVjdC0+TGFuZygnZXh0cmEnKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjQnOg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnSXRlbUFkZGVkJyk7DQogICAgICAgICAgICAgICAgJG1vYmplY3QtPkNyZWF0ZUV2ZW50KCdJdGVtRWRpdGVkJyk7DQogICAgICAgICAgICAgICAgJG1vYmplY3QtPkNyZWF0ZUV2ZW50KCdJdGVtRGVsZXRlZCcpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnQ2F0ZWdvcnlBZGRlZCcpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnQ2F0ZWdvcnlFZGl0ZWQnKTsNCiAgICAgICAgICAgICAgICAkbW9iamVjdC0+Q3JlYXRlRXZlbnQoJ0NhdGVnb3J5RGVsZXRlZCcpOw0KICAgICAgICAgICAgICAgICRtb2JqZWN0LT5DcmVhdGVFdmVudCgnSXRlbXNSZW9yZGVyZWQnKTsNCiAgICAgICAgICAgICAgICAkbW9iamVjdC0+Q3JlYXRlRXZlbnQoJ0NhdGVnb3JpZXNSZW9yZGVyZWQnKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIGNhc2UgJzEuNSc6DQogICAgICAgICRtb2R1bGVzID0gZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGVzKCk7DQogICAgICAgIGZvcmVhY2ggKCRtb2R1bGVzIGFzICRtb2R1bGUpIHsNCiAgICAgICAgICAgICRtb2JqZWN0ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGVbIm1vZHVsZV9uYW1lIl0pOw0KICAgICAgICAgICAgaWYgKCRtb2JqZWN0KSB7DQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJywgJ2VkaXR2aWV3IEkoMSknKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjYnOg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KICAgICAgICAgICAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZicsICdmaWx0ZXJfZnJvbnRlbmQgSSgxKScpOw0KICAgICAgICAgICAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnLCAnZmlsdGVyX2FkbWluIEkoMSknKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcxLjguMSc6DQogICAgICAgICRtb2R1bGVzID0gZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGVzKCk7DQoNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkcG9zaXRpb24gPSAwOw0KDQogICAgICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCdBTFRFUiBUQUJMRSBgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllc2AgIENIQU5HRSBDT0xVTU4gYGNhdGVnb3J5X2lkYCBgY2F0ZWdvcnlfaWRgIElOVCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQgRklSU1QnKTsNCg0KDQogICAgICAgICAgICAgICAgLy8gY29weSBuZXcgZmlsZXMNCiAgICAgICAgICAgICAgICAkZmlsZSA9ICdhY3Rpb24uYWRtaW5fZmllbGRzLnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGZpbGUpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQogICAgICAgICAgICAgICAgJGZpbGUgPSAnZnVuY3Rpb24uYWRtaW5fZmllbGRkZWZ0YWJfY2F0ZWdvcmllcy5waHAnOw0KICAgICAgICAgICAgICAgICRmcm9tID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ01vZHVsZUxpYicsICdzb3VyY2UnLCAnTW9kdWxlRXhhbXBsZScsICRmaWxlKTsNCiAgICAgICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRmaWxlKTsNCiAgICAgICAgICAgICAgICBjb3B5KCRmcm9tLCAkdG8pOw0KICAgICAgICAgICAgICAgICRmaWxlID0gJ2FjdGlvbi5hZG1pbl9vcmRlcmNhdGVnb3J5LnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGZpbGUpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQoNCiAgICAgICAgICAgICAgICAkZmlsZSA9ICdNb2R1bGVFeGFtcGxlLm1vZHVsZS5waHAnOw0KICAgICAgICAgICAgICAgICRmcm9tID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ01vZHVsZUxpYicsICdzb3VyY2UnLCAnTW9kdWxlRXhhbXBsZScsICRmaWxlKTsNCiAgICAgICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRtb2JqZWN0LT5HZXROYW1lKCkgLiAnLm1vZHVsZS5waHAnKTsNCiAgICAgICAgICAgICAgICBjb3B5KCRmcm9tLCAkdG8pOw0KDQogICAgICAgICAgICAgICAgLy8gIHJld3JpdGUgbW9kdWxlIGNvbnRlbnQNCiAgICAgICAgICAgICAgICAkZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkdG8pOw0KICAgICAgICAgICAgICAgIGlmICgkZGF0YSkgew0KICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN0cl9yZXBsYWNlKCdNb2R1bGVFeGFtcGxlJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGRhdGEpOw0KICAgICAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkdG8sICRkYXRhKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBkaWUoJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcGxhY2Vfc3RyaW5nJykpOw0KICAgICAgICAgICAgICAgIH0NCg0KDQoNCiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgZGF0YWJhc2UNCiAgICAgICAgICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnLCAnc2VjdGlvbiAgQygxMCknKTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBzZWN0aW9uID0gIml0ZW1zIiAnOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgpKTsNCg0KDQogICAgICAgICAgICAgICAgJGNhdGVnb3JpZXMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9jYXRlZ29yeV9saXN0KCRtb2JqZWN0LCBhcnJheSgpLCBhcnJheSgpLCBmYWxzZSk7DQoNCiAgICAgICAgICAgICAgICBpZiAoZW1wdHkoJGNhdGVnb3JpZXMpID09IGZhbHNlKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgJGhlbHAgPSAnJzsNCiAgICAgICAgICAgICAgICAgICAgJHR5cGUgPSAndGV4dGJveCc7DQogICAgICAgICAgICAgICAgICAgICRyZXF1aXJlZCA9IDA7DQogICAgICAgICAgICAgICAgICAgICRlZGl0dmlldyA9IDA7DQogICAgICAgICAgICAgICAgICAgICRmcm9udGVuZCA9IDE7DQogICAgICAgICAgICAgICAgICAgICRmaWx0ZXJfZnJvbnRlbmQgPSAwOw0KICAgICAgICAgICAgICAgICAgICAkYWRtaW5fYWRtaW4gPSAwOw0KICAgICAgICAgICAgICAgICAgICAkc2VhcmNoYWJsZSA9IDA7DQogICAgICAgICAgICAgICAgICAgICRleHRyYSA9ICcnOw0KICAgICAgICAgICAgICAgICAgICAkc2VjdGlvbiA9ICdjYXRlZ29yaWVzJzsNCg0KDQoNCiAgICAgICAgICAgICAgICAgICAgJGV4dHJhMSA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAkZXh0cmEyID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRjYXRlZ29yaWVzIGFzICRjYXRlZ29yeSkgew0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGNhdGVnb3J5WyJleHRyYSJdKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGV4dHJhMSA9PSBmYWxzZSkgew0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJG1vYmplY3QtPkdldFByZWZlcmVuY2UoJ2NhdGVnb3J5X2V4dHJhX2xhYmVsJywgJG1vYmplY3QtPkxhbmcoJ2V4dHJhJykpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxpYXMgPSAnZXh0cmEnOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiAobmFtZSwgYWxpYXMsIGhlbHAsIHR5cGUsIHBvc2l0aW9uLCByZXF1aXJlZCwgZnJvbnRlbmQsIGVkaXR2aWV3LCBmaWx0ZXJfZnJvbnRlbmQsIGZpbHRlcl9hZG1pbiwgc2VhcmNoYWJsZSwgZXh0cmEsIHNlY3Rpb24pIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPyknOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5hbWUsICRhbGlhcywgJGhlbHAsICR0eXBlLCAkcG9zaXRpb24rKywgJHJlcXVpcmVkLCAkZnJvbnRlbmQsICRlZGl0dmlldywgJGZpbHRlcl9mcm9udGVuZCwgJGFkbWluX2FkbWluLCAkc2VhcmNoYWJsZSwgJGV4dHJhLCAkc2VjdGlvbikpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXh0cmExaWQgPSAkZGItPkluc2VydF9JRCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXh0cmExID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGVnb3J5WyJjYXRlZ29yeV9pZCJdLCAkZXh0cmExaWQsICRjYXRlZ29yeVsiZXh0cmEiXSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjYXRlZ29yeVsiZXh0cmEyIl0pIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXh0cmEyID09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuYW1lID0gJG1vYmplY3QtPkdldFByZWZlcmVuY2UoJ2NhdGVnb3J5X2V4dHJhMl9sYWJlbCcsICRtb2JqZWN0LT5MYW5nKCdleHRyYScpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsaWFzID0gJ2V4dHJhMic7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIChuYW1lLCBhbGlhcywgaGVscCwgdHlwZSwgcG9zaXRpb24sIHJlcXVpcmVkLCBmcm9udGVuZCwgZWRpdHZpZXcsIGZpbHRlcl9mcm9udGVuZCwgZmlsdGVyX2FkbWluLCBzZWFyY2hhYmxlLCBleHRyYSwgc2VjdGlvbikgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/KSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmFtZSwgJGFsaWFzLCAkaGVscCwgJHR5cGUsICRwb3NpdGlvbisrLCAkcmVxdWlyZWQsICRmcm9udGVuZCwgJGVkaXR2aWV3LCAkZmlsdGVyX2Zyb250ZW5kLCAkYWRtaW5fYWRtaW4sICRzZWFyY2hhYmxlLCAkZXh0cmEsICRzZWN0aW9uKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRleHRyYTJpZCA9ICRkYi0+SW5zZXJ0X0lEKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRleHRyYTIgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vYmplY3QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNhdGVnb3J5WyJjYXRlZ29yeV9pZCJdLCAkZXh0cmEyaWQsICRjYXRlZ29yeVsiZXh0cmEyIl0pKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIGNhc2UgJzEuOS4yJzoNCg0KICAgICAgICAkbW9kdWxlcyA9IGdlbmVyYXRvcl9vcHRzOjpnZXRfbW9kdWxlcygpOw0KDQogICAgICAgIGZvcmVhY2ggKCRtb2R1bGVzIGFzICRtb2R1bGUpIHsNCiAgICAgICAgICAgICRtb2JqZWN0ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGVbIm1vZHVsZV9uYW1lIl0pOw0KICAgICAgICAgICAgaWYgKCRtb2JqZWN0KSB7DQoNCg0KICAgICAgICAgICAgICAgICRmaWVsZHMgPSAnDQogICAgIGBpbWFnZV9pZGAgaW50KDEwKSBJIEtFWSBBVVRPLA0KICBgaXRlbV9pZGAgaW50KDEwKSBERUZBVUxUIE5VTEwsDQogIGBmaWxlbmFtZWAgdmFyY2hhcigyNTUpIERFRkFVTFQgTlVMTCwNCiAgYHBvc2l0aW9uYCBpbnQoMTApIERFRkFVTFQNCic7DQogICAgICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2JqZWN0LT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaW1hZ2VzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiAgICAgICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgICAgICAgICAgICAgICAvLyBjb3B5IG5ldyBmaWxlcw0KICAgICAgICAgICAgICAgICRmaWxlID0gJ2FjdGlvbi5hZG1pbl9pbWFnZXNidWxrYWN0aW9uLnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGZpbGUpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQogICAgICAgICAgICAgICAgJGZpbGUgPSAnYWN0aW9uLmFkbWluX21vdmVpbWFnZXMucGhwJzsNCiAgICAgICAgICAgICAgICAkZnJvbSA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdNb2R1bGVMaWInLCAnc291cmNlJywgJ01vZHVsZUV4YW1wbGUnLCAkZmlsZSk7DQogICAgICAgICAgICAgICAgJHRvID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAkbW9iamVjdC0+R2V0TmFtZSgpLCAkZmlsZSk7DQogICAgICAgICAgICAgICAgY29weSgkZnJvbSwgJHRvKTsNCg0KICAgICAgICAgICAgICAgICRmaWxlID0gJ01vZHVsZUV4YW1wbGUubW9kdWxlLnBocCc7DQogICAgICAgICAgICAgICAgJGZyb20gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJywgJGZpbGUpOw0KICAgICAgICAgICAgICAgICR0byA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJG1vYmplY3QtPkdldE5hbWUoKSAuICcubW9kdWxlLnBocCcpOw0KICAgICAgICAgICAgICAgIGNvcHkoJGZyb20sICR0byk7DQoNCiAgICAgICAgICAgICAgICAvLyAgcmV3cml0ZSBtb2R1bGUgY29udGVudA0KICAgICAgICAgICAgICAgICRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0byk7DQogICAgICAgICAgICAgICAgaWYgKCRkYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICRkYXRhID0gc3RyX3JlcGxhY2UoJ01vZHVsZUV4YW1wbGUnLCAkbW9iamVjdC0+R2V0TmFtZSgpLCAkZGF0YSk7DQogICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR0bywgJGRhdGEpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGRpZSgkdGhpcy0+TGFuZygnZXJyb3JfcmVwbGFjZV9zdHJpbmcnKSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMi4xJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkZmlsZSA9ICdNb2R1bGVFeGFtcGxlLm1vZHVsZS5waHAnOw0KICAgICAgICAgICAgICAgICRmcm9tID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ01vZHVsZUxpYicsICdzb3VyY2UnLCAnTW9kdWxlRXhhbXBsZScsICRmaWxlKTsNCiAgICAgICAgICAgICAgICAkdG8gPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICRtb2JqZWN0LT5HZXROYW1lKCksICRtb2JqZWN0LT5HZXROYW1lKCkgLiAnLm1vZHVsZS5waHAnKTsNCiAgICAgICAgICAgICAgICBjb3B5KCRmcm9tLCAkdG8pOw0KDQogICAgICAgICAgICAgICAgLy8gIHJld3JpdGUgbW9kdWxlIGNvbnRlbnQNCiAgICAgICAgICAgICAgICAkZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkdG8pOw0KICAgICAgICAgICAgICAgIGlmICgkZGF0YSkgew0KICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN0cl9yZXBsYWNlKCdNb2R1bGVFeGFtcGxlJywgJG1vYmplY3QtPkdldE5hbWUoKSwgJGRhdGEpOw0KICAgICAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkdG8sICRkYXRhKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBkaWUoJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcGxhY2Vfc3RyaW5nJykpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIGNhc2UgJzIuMi4xJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCg0KICAgICAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9iamVjdCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdWxlWyJtb2R1bGVfbmFtZSJdKTsNCiAgICAgICAgICAgIGlmICgkbW9iamVjdCkgew0KDQogICAgICAgICAgICAgICAgJGZpbGVzID0gYXJyYXkoKTsNCiAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICdhY3Rpb24uYWRtaW5fcHJlZnMucGhwJzsNCiAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICdmdW5jdGlvbi5hZG1pbl9tb2RldGFiLnBocCc7DQogICAgICAgICAgICAgICAgJGZpbGVzW10gPSAnZnVuY3Rpb24uYWRtaW5fb3B0aW9uZWRpdGluZ3RhYi5waHAnOw0KICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ2Z1bmN0aW9uLmFkbWluX29wdGlvbnNlYXJjaHRhYi5waHAnOw0KICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ2Z1bmN0aW9uLmFkbWluX29wdGlvbnNlYXJjaHRhYi5waHAnOw0KICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ2Z1bmN0aW9uLmFkbWluX29wdGlvbnRhYi5waHAnOw0KICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ3RlbXBsYXRlcy9vcHRpb25zZWFyY2h0YWIudHBsJzsNCiAgICAgICAgICAgICAgICAkZmlsZXNbXSA9ICd0ZW1wbGF0ZXMvb3B0aW9uZWRpdGluZ3RhYi50cGwnOw0KICAgICAgICAgICAgICAgICRmaWxlc1tdID0gJ3RlbXBsYXRlcy9tb2RldGFiLnRwbCc7DQogICAgICAgICAgICAgICAgZ2VuZXJhdG9yX3VwZ3JhZGVfcHJvY2Nlc3M6OmNvcHlfZmlsZXMoJG1vYmplY3QsICRmaWxlcywgdHJ1ZSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICBjYXNlICcyLjIuNCc6DQogICAgICAgICRtb2R1bGVzID0gZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGVzKCk7DQoNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAkZmlsZXMgPSBhcnJheSgpOw0KICAgICAgICAgICAgICAgIGdlbmVyYXRvcl91cGdyYWRlX3Byb2NjZXNzOjpjb3B5X2ZpbGVzKCRtb2JqZWN0LCAkZmlsZXMsIHRydWUpOw0KICAgICAgICAgICAgICAgICRvbGQgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInVwbG9hZHNfcGF0aCJdLCAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkpOw0KICAgICAgICAgICAgICAgICRuZXcgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInVwbG9hZHNfcGF0aCJdLCAnXycgLiAkbW9iamVjdC0+X0dldE1vZHVsZUFsaWFzKCkpOw0KICAgICAgICAgICAgICAgIGlmIChpc19kaXIoJG9sZCkgJiYgaXNfZGlyKCRuZXcpKQ0KICAgICAgICAgICAgICAgICAgICBjZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoJG5ldyk7DQogICAgICAgICAgICAgICAgcmVuYW1lKCRvbGQsICRuZXcpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgY2FzZSAnMi4zJzoNCiAgICAgICAgJG1vZHVsZXMgPSBnZW5lcmF0b3Jfb3B0czo6Z2V0X21vZHVsZXMoKTsNCiAgICAgICAgZm9yZWFjaCAoJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KICAgICAgICAgICAgJG1vYmplY3QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZVsibW9kdWxlX25hbWUiXSk7DQogICAgICAgICAgICBpZiAoJG1vYmplY3QpIHsNCiAgICAgICAgICAgICAgICAvL3JlbW92ZSBhbGwgdW5uZWNlc3NhcnkgZmlsZXMNCiAgICAgICAgICAgICAgICAkZGVzdCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sicm9vdF9wYXRoIl0sICdtb2R1bGVzJywgJG1vYmplY3QtPkdldE5hbWUoKSk7DQogICAgICAgICAgICAgICAgJHRlbXBsYXRlcyA9IGNtc19qb2luX3BhdGgoJGRlc3QsICd0ZW1wbGF0ZXMnKTsNCiAgICAgICAgICAgICAgICBjZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoJHRlbXBsYXRlcyk7DQogICAgICAgICAgICAgICAgQHVubGluaygkdGVtcGxhdGVzKTsNCiAgICAgICAgICAgICAgICAkZmlsZXMgPSBjZ2VfZGlyOjpmaWxlX2xpc3RfcmVnZXhwKCRkZXN0LCAncGhwJyk7DQogICAgICAgICAgICAgICAgaWYgKCRmaWxlcykgew0KICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEB1bmxpbmsoY21zX2pvaW5fcGF0aCgkZGVzdCwgJGZpbGUpKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAvLyBjb3B5ICoubW9kdWxlIGZpbGVzDQogICAgICAgICAgICAgICAgJGZpbGVzID0gYXJyYXkoKTsNCiAgICAgICAgICAgICAgICBnZW5lcmF0b3JfdXBncmFkZV9wcm9jY2Vzczo6Y29weV9maWxlcygkbW9iamVjdCwgJGZpbGVzLCB0cnVlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIGNhc2UgJzIuMy4xJzoNCiAgICAgICAgJGRlc3QgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3NvdXJjZScsICdNb2R1bGVFeGFtcGxlJyk7DQogICAgICAgICR0ZW1wbGF0ZXMgPSBjbXNfam9pbl9wYXRoKCRkZXN0LCAndGVtcGxhdGVzJyk7DQogICAgICAgIGNnZV9kaXI6OnJlY3Vyc2l2ZV9ybWRpcigkdGVtcGxhdGVzKTsNCiAgICAgICAgQHJlbmFtZSgkZGVzdCAuICcvTW9kdWxlRXhhbXBsZS5tb2R1bGUucGhwJywgJGRlc3QgLiAnL01vZHVsZUV4YW1wbGUubW9kdWxlLnRtcCcpOw0KICAgICAgICAkZmlsZXMgPSBjZ2VfZGlyOjpmaWxlX2xpc3RfcmVnZXhwKCRkZXN0LCAncGhwJyk7DQogICAgICAgIGlmICgkZmlsZXMpIHsNCiAgICAgICAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkgew0KICAgICAgICAgICAgICAgIEB1bmxpbmsoY21zX2pvaW5fcGF0aCgkZGVzdCwgJGZpbGUpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBAcmVuYW1lKCRkZXN0IC4gJy9Nb2R1bGVFeGFtcGxlLm1vZHVsZS50bXAnLCAkZGVzdCAuICcvTW9kdWxlRXhhbXBsZS5tb2R1bGUucGhwJyk7DQogICAgICAgICRjdXJyZW50X3ZlcnNpb24gPSAiMi4zLjIiOw0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleGenerator.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTW9kdWxlOiBNb2R1bGUgR2VuZXJhdG9yZm9yIENNUyBNYWRlIFNpbXBsZSAoQGt1em1hbnkpDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvbWVkaWFjZW50ZXIvDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQpkZWZpbmUoJ0dFTkVSQVRPUl9NT0RMSUJfUEFUSCcsIGNtc19qb2luX3BhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicsICdNb2R1bGVMaWInKSk7DQoNCmNsYXNzIE1vZHVsZUdlbmVyYXRvciBleHRlbmRzIENHRXh0ZW5zaW9ucyB7DQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICBDb25zdHJ1Y3Rvcg0KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7DQogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2dlbmVyYXRvcl90ZW1wbGF0ZXMnLCBjbXNfam9pbl9wYXRoKCRjb25maWdbInJvb3RfcGF0aCJdLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnTW9kdWxlTGliJywgJ3RlbXBsYXRlcycpKTsNCiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOw0KICAgIH0NCg0KICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgU2V0UGFyYW1ldGVycw0KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkgew0KICAgICAgICAvLyBub3RoaW5nDQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKSB7DQogICAgICAgIGlmICh2ZXJzaW9uX2NvbXBhcmUoQ01TX1ZFUlNJT04sICcxLjEwJykgPCAwKQ0KICAgICAgICAgICAgJHRoaXMtPkluaXRpYWxpemVGcm9udGVuZCgpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpIHsNCiAgICAgICAgLy8gbm90aGluZw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBBbGxvd1NtYXJ0eUNhY2hpbmcoKSB7DQogICAgICAgIHJldHVybiBUUlVFOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7DQogICAgICAgIHJldHVybiBUUlVFOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIExhenlMb2FkQWRtaW4oKSB7DQogICAgICAgIHJldHVybiBUUlVFOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXROYW1lKCkgew0KICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsNCiAgICAgICAgcmV0dXJuICcyLjMuMic7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKSB7DQogICAgICAgIHJldHVybiBGQUxTRTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVscCgpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsNCiAgICAgICAgcmV0dXJuICdAa3V6bWFueSc7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgew0KICAgICAgICByZXR1cm4gJ3pkZW5vQGt1em1hbnkuYml6JzsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgew0KICAgICAgICByZXR1cm4gZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX2ZpbGVfXykgLiAnL2NoYW5nZWxvZy5pbmMnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkgew0KICAgICAgICByZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucycgPT4gJzEuMzEnLCAnRXh0ZW5kZWRUb29scycgPT4gJzEuMy4zJywgJ0NHU21hcnRJbWFnZScgPT4gJzEuOS41Jyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgew0KICAgICAgICByZXR1cm4gIjEuMTEuMyI7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24oJGV2ZW50bmFtZSkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2luZm9fJyAuICRldmVudG5hbWUpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRFdmVudEhlbHAoJGV2ZW50bmFtZSkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJyAuICRldmVudG5hbWUpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgew0KICAgICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gQ2hlY2tBY2Nlc3MoJHBlcm0gPSAnMScpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHBlcm0pOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBNb2RQcm9jZXNzVGVtcGxhdGUoJHRwbF9uYW1lKSB7DQogICAgICAgICRvayA9IChzdHJwb3MoJHRwbF9uYW1lLCAnLi4nKSA9PT0gZmFsc2UpOw0KICAgICAgICBpZiAoISRvaykNCiAgICAgICAgICAgIHJldHVybjsNCg0KICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAgICAgJHJlc3VsdCA9ICcnOw0KDQogICAgICAgICRvbGRjYWNoZSA9ICRzbWFydHktPmNhY2hpbmc7DQogICAgICAgICRzbWFydHktPmNhY2hpbmcgPSAkdGhpcy0+Y2FuX2NhY2hlX291dHB1dCgpID8gU21hcnR5OjpDQUNISU5HX0xJRkVUSU1FX0NVUlJFTlQgOiBTbWFydHk6OkNBQ0hJTkdfT0ZGOw0KDQogICAgICAgICRmaWxlcyA9IGFycmF5KCk7DQogICAgICAgICRmaWxlc1tdID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZV9jdXN0b20nLCAkdGhpcy0+R2V0TmFtZSgpLCAndGVtcGxhdGVzJywgJHRwbF9uYW1lKTsNCiAgICAgICAgJGZpbGVzW10gPSBjbXNfam9pbl9wYXRoKEdFTkVSQVRPUl9NT0RMSUJfUEFUSCwgJ3RlbXBsYXRlcycsICR0cGxfbmFtZSk7DQoNCiAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7DQoNCiAgICAgICAgICAgIGlmIChpc19yZWFkYWJsZSgkZmlsZSkpIHsNCiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJHNtYXJ0eS0+ZmV0Y2goJGZpbGUpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgJHNtYXJ0eS0+Y2FjaGluZyA9ICRvbGRjYWNoZTsNCg0KICAgICAgICByZXR1cm4gJHJlc3VsdDsNCiAgICB9DQoNCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_approveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCmlmICghaXNzZXQoJHBhcmFtc1snYXBwcm92ZSddKSB8fCAhaXNzZXQoJHBhcmFtc1snaXRlbV9pZCddKSkgew0KICAgIGRpZSgnbWlzc2luZyBwYXJhbWV0ZXIsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4nKTsNCn0NCg0KJGl0ZW1faWQgPSAoaW50KSAkcGFyYW1zWydpdGVtX2lkJ107DQokYWN0aXZlID0gKGJvb2wpICRwYXJhbXNbJ2FwcHJvdmUnXTsNCg0KJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBhY3RpdmUgPSA/IFdIRVJFIGl0ZW1faWQgPSA/JzsNCiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhY3RpdmUsICRpdGVtX2lkKSk7DQoNCiRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7DQppZiAoaXNfb2JqZWN0KCRzZWFyY2gpKSB7DQogICAgaWYgKCRhY3RpdmUpIHsNCiAgICAgICAgJHNlYXJjaC0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW1faWQsICdpdGVtJyk7DQogICAgfSBlbHNlIHsNCg0KICAgICAgJHNlYXJjaC0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW1faWQsICdpdGVtJywgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfc2VhcmNoYWJsZV90ZXh0KCR0aGlzLCAkaXRlbV9pZCksIGdlbmVyYXRvcl90b29sczo6Z2V0X3NlYXJjaGFibGVfZGF0ZV9lbmQoKSk7DQogICAgfQ0KfQ0KDQpAJHRoaXMtPlNlbmRFdmVudCgnSXRlbUVkaXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCwgJ2FjdGl2ZScgPT4gJGFjdGl2ZSkpOw0KDQovLyBhbGwgZG9uZQ0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpdGVtdGFiJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_bulkaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpCiAgICByZXR1cm47CgokdGhpcy0+U2V0Q3VycmVudFRhYignaXRlbXRhYicpOwoKCmlmIChpc3NldCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBjb3VudCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBpc3NldCgkcGFyYW1zWydidWxrYWN0aW9uJ10pKSB7CiAgICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKTsgJGkrKykgewogICAgICAgICRwYXJhbXNbJ211bHRpc2VsZWN0J11bJGldID0gKGludCkgJHBhcmFtc1snbXVsdGlzZWxlY3QnXVskaV07CiAgICB9CgogICAgc3dpdGNoICgkcGFyYW1zWydidWxrYWN0aW9uJ10pIHsKICAgICAgICBjYXNlICdkZWxldGUnOgogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydtdWx0aXNlbGVjdCddIGFzICRpdGVtX2lkKSB7CiAgICAgICAgICAgICAgICAkcmVzID0gZ2VuZXJhdG9yX3Rvb2xzOjpkZWxldGVfaXRlbSgkdGhpcywgKGludCkgJGl0ZW1faWQpOwogICAgICAgICAgICAgICAgQCR0aGlzLT5TZW5kRXZlbnQoJ0l0ZW1EZWxldGVkJywgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnc2V0YWN0aXZlJzogewogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBhY3RpdmUgPSA/LCBtb2RpZmllZF9kYXRlID0gTk9XKCkgV0hFUkUgaXRlbV9pZCBJTiAoJzsKICAgICAgICAgICAgICAgICRxdWVyeSAuPSBpbXBsb2RlKCcsJywgJHBhcmFtc1snbXVsdGlzZWxlY3QnXSkgLiAnKSc7CiAgICAgICAgICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoMSkpOwogICAgICAgICAgICAgICAgJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU2VhcmNoJyk7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydtdWx0aXNlbGVjdCddIGFzICRpdGVtX2lkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRzZWFyY2ggIT0gRkFMU0UpCiAgICAgICAgICAgICAgICAgICAgICAgICRzZWFyY2gtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtX2lkLCAnaXRlbScsIGdlbmVyYXRvcl90b29sczo6Z2V0X3NlYXJjaGFibGVfdGV4dCgkdGhpcywgJGl0ZW1faWQpLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9zZWFyY2hhYmxlX2RhdGVfZW5kKCkpOwogICAgICAgICAgICAgICAgICAgIEAkdGhpcy0+U2VuZEV2ZW50KCdJdGVtRWRpdGVkJywgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkLCAnYWN0aXZlJyA9PiAxKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnc2V0aW5hY3RpdmUnOiB7CiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gU0VUIGFjdGl2ZSA9ID8sIG1vZGlmaWVkX2RhdGUgPSBOT1coKSBXSEVSRSBpdGVtX2lkIElOICgnOwogICAgICAgICAgICAgICAgJHF1ZXJ5IC49IGltcGxvZGUoJywnLCAkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAuICcpJzsKICAgICAgICAgICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgwKSk7CiAgICAgICAgICAgICAgICAvL1VwZGF0ZSBzZWFyY2ggaW5kZXgKICAgICAgICAgICAgICAgICRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NlYXJjaCcpOwogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snbXVsdGlzZWxlY3QnXSBhcyAkaXRlbV9pZCkgewogICAgICAgICAgICAgICAgICAgIGlmICgkc2VhcmNoICE9IEZBTFNFKQogICAgICAgICAgICAgICAgICAgICAgICAkc2VhcmNoLT5EZWxldGVXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaXRlbV9pZCwgJ2l0ZW0nKTsKICAgICAgICAgICAgICAgICAgICBAJHRoaXMtPlNlbmRFdmVudCgnSXRlbUVkaXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCwgJ2FjdGl2ZScgPT4gMCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgfQp9CgokdGhpcy0+U2V0bWVzc2FnZSgkdGhpcy0+TGFuZygnb3BlcmF0aW9uX2NvbXBsZXRlJykpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKQogICAgZXhpdDsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yaWVzJykpCiAgICByZXR1cm47CgoKJGNhdGlkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydjYXRpZCddKSkgewogICAgJGNhdGlkID0gJHBhcmFtc1snY2F0aWQnXTsKfQoKLy8gR2V0IHRoZSBjYXRlZ29yeSBkZXRhaWxzCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycuJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzCiAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGNhdGlkKSk7CgovL1Jlc2V0IGFsbCBjYXRlZ29yaWVzIHVzaW5nIHRoaXMgcGFyZW50IHRvIGhhdmUgbm8gcGFyZW50ICgtMSkKJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nLiR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcyBTRVQgcGFyZW50X2lkPT8sIG1vZGlmaWVkX2RhdGU9JyAuICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSAuICcgV0hFUkUgcGFyZW50X2lkPT8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgtMSwgJGNhdGlkKSk7CgovL05vdyByZW1vdmUgdGhlIGNhdGVnb3J5CiRxdWVyeSA9ICJERUxFVEUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iLiR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfY2F0ZWdvcmllcyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCi8vQW5kIHJlbW92ZSBpdCBmcm9tIGFueSBhcnRpY2xlcwokcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIuJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpLiJfaXRlbSBTRVQgY2F0ZWdvcnlfaWQgPSAtMSBXSEVSRSBjYXRlZ29yeV9pZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCkAkdGhpcy0+U2VuZEV2ZW50KCdDYXRlZ29yeURlbGV0ZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRjYXRpZCwgJ25hbWUnID0+ICRyb3dbJ2NhdGVnb3J5X25hbWUnXSkpOwoKZ2VuZXJhdG9yX3Rvb2xzOjp1cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygkdGhpcyk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICdjYXRlZ29yeXRhYicsICRwYXJhbXMpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deletefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KJGZpZWxkZGVmX2lkID0gJyc7DQoNCmlmIChpc3NldCgkcGFyYW1zWydmaWVsZGRlZl9pZCddKSkgew0KICAgICRmaWVsZGRlZl9pZCA9IChpbnQpICRwYXJhbXNbJ2ZpZWxkZGVmX2lkJ107DQp9DQoNCmlmIChlbXB0eSgkZmllbGRkZWZfaWQpKSB7DQogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlbXB0eV9wYXJhbScpKTsNCiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICcnLCBhcnJheSgpLCAnYWRtaW5fZmllbGRzJyk7DQp9DQoNCi8vIGdldCBkZXRhaWxzDQokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOw0KJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGZpZWxkZGVmX2lkKSk7DQoNCi8vIGRlbGV0ZSBmaWVsZCBkZWZpbml0aW9ucw0KJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmllbGRkZWZfaWQpKTsNCg0KLy8gZGVsZXRlIGZpZWxkIHZhbHVlcw0KJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmllbGRkZWZfaWQpKTsNCg0KDQovLyBhbGwgZG9uZQ0KJHRoaXMtPlNldG1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2RlbGV0ZWQnKSk7DQokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICRyb3dbInNlY3Rpb24iXSwgYXJyYXkoKSwgJ2FkbWluX2ZpZWxkcycpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deleteimage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCiRpdGVtX2lkID0gJyc7DQokaW1hZ2VfaWQgPSAnJzsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkpIHsNCiAgICAkaXRlbV9pZCA9IChpbnQpICRwYXJhbXNbJ2l0ZW1faWQnXTsNCn0NCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2ltYWdlX2lkJ10pKSB7DQogICAgJGltYWdlX2lkID0gKGludCkgJHBhcmFtc1snaW1hZ2VfaWQnXTsNCn0NCg0KaWYgKGVtcHR5KCRpdGVtX2lkKSB8fCBlbXB0eSgkaW1hZ2VfaWQpKSB7DQogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlbXB0eV9wYXJhbScpKTsNCiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICdkZWZhdWxhY3Rpb24nLCAkcGFyYW1zKTsNCn0NCg0KJHJvdyA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2l0ZW0oJHRoaXMsICRpdGVtX2lkKTsNCiRpbWFnZSA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2ltYWdlKCR0aGlzLCAkaW1hZ2VfaWQpOw0KJGltYWdlcGF0aCA9IGdlbmVyYXRvcl90b29sczo6aW1hZ2VwYXRoX2xvY2F0aW9uKCR0aGlzLCAkcm93KTsNCg0KJGRlbGV0ZSA9IHVubGluayhjbXNfam9pbl9wYXRoKCRpbWFnZXBhdGgsICRpbWFnZVsnZmlsZW5hbWUnXSkpOw0KaWYgKCEkZGVsZXRlKSB7DQogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdpbWFnZV9ub3RfZGVsZXRlZCcpKTsNCn0gZWxzZSB7DQogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2ltYWdlX2RlbGV0ZWQnKSk7DQp9DQoNCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2VkaXRpdGVtJywgJHBhcmFtcyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deleteitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCiRpdGVtX2lkID0gJyc7DQoNCmlmIChpc3NldCgkcGFyYW1zWydpdGVtX2lkJ10pKSB7DQogICAgJGl0ZW1faWQgPSAoaW50KSAkcGFyYW1zWydpdGVtX2lkJ107DQp9DQoNCmlmIChlbXB0eSgkaXRlbV9pZCkpIHsNCiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2VtcHR5X3BhcmFtJykpOw0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2RlZmF1bGFjdGlvbicsICRwYXJhbXMpOw0KfQ0KDQpnZW5lcmF0b3JfdG9vbHM6OmRlbGV0ZV9pdGVtKCR0aGlzLCAkaXRlbV9pZCk7DQoNCiR0aGlzLT5TZXRtZXNzYWdlKCR0aGlzLT5MYW5nKCdkZWxldGVkJykpOw0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZGVmYXVsdGFkbWluJywgJHBhcmFtcyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgcmV0dXJuOw0KDQokdHBsX2lkID0gJyc7DQoNCmlmIChpc3NldCgkcGFyYW1zWyd0cGxfaWQnXSkpIHsNCgkkdHBsX2lkID0gKGludCkkcGFyYW1zWyd0cGxfaWQnXTsNCn0NCg0KLy8gZ2V0IGRldGFpbHMNCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3RlbXBsYXRlIFdIRVJFIHRwbF9pZCA9ID8nOw0KJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJHRwbF9pZCkpOw0KDQovLyBkZWxldGUgcmVjb3JkDQokcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUgV0hFUkUgdHBsX2lkID0gPyc7DQokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdHBsX2lkKSk7DQoNCi8vIGFsbCBkb25lDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRldGFiJywgJ21lc3NhZ2UnID0+ICdkZWxldGVkJykpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yaWVzJykpCiAgICByZXR1cm47CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICdjYXRlZ29yeXRhYicpOwp9CgokaXRlbV9pZCA9ICRjYXRpZCA9IG51bGw7CmlmIChpc3NldCgkcGFyYW1zWydjYXRpZCddKSkgewogICAgJGl0ZW1faWQgPSAkY2F0aWQgPSAkcGFyYW1zWydjYXRpZCddOwp9CgokcGFyZW50aWQgPSAnLTEnOwppZiAoaXNzZXQoJHBhcmFtc1sncGFyZW50J10pKSB7CiAgICAkcGFyZW50aWQgPSAkcGFyYW1zWydwYXJlbnQnXTsKfQoKJG9yaWduYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydvcmlnbmFtZSddKSkgewogICAgJG9yaWduYW1lID0gJHBhcmFtc1snb3JpZ25hbWUnXTsKfQoKJGFsaWFzID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydhbGlhcyddKSkgewogICAgJGFsaWFzID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWydhbGlhcyddLCB0cnVlKTsKfQoKCiR1c2VyZ3JvdXAgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZXJncm91cCddKSkgewogICAgJHVzZXJncm91cCA9ICRwYXJhbXNbJ3VzZXJncm91cCddOwp9CgovLyBnZXQgdGhlIGN1c3RvbSBmaWVsZHMKJGZpbHRlcnMgPSBuZXcgZ2VuZXJhdG9yX2ZpbHRlcnMoJGlkLCAkdGhpcywgJ2FkbWluJyk7CiR0bXAgPSBnZW5lcmF0b3JfZmllbGRzOjpnZXRfZmllbGRzX2Zvcl9maWx0ZXJzKCR0aGlzLCBhcnJheSgpLCAnY2F0ZWdvcmllcycpOwokY3VzdG9tX2ZsZHMgPSAkZmlsdGVycy0+cHJvY2Vzc19jdXN0b21fZmllbGRzKGFycmF5KCksICR0bXApOwoKJG5hbWUgPSAnJzsKJGVycm9ycyA9IGFycmF5KCk7CmlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKSB7CiAgICAkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKICAgIGlmICgkbmFtZSA9PSAnJykgewogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub25hbWVnaXZlbicpKTsKICAgIH0KCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsKICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydjdXN0b21maWVsZCddIGFzICRmbGRpZCA9PiAkdmFsdWUpIHsKCiAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gJ3NlbGVjdF9kZWZhdWx0JykgewogICAgICAgICAgICAgICAgJHBhcmFtc1snY3VzdG9tZmllbGQnXVskZmxkaWRdID0gJyc7CiAgICAgICAgICAgICAgICAkdmFsdWUgPSAnJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gcmVxdWlyZWQgZmllbGRzCiAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gJycgJiYgJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ3JlcXVpcmVkJ10gJiYgKCRjdXN0b21fZmxkc1skZmxkaWRdWydlZGl0dmlldyddICYmIGlzc2V0KCRwYXJhbXNbIml0ZW1faWQiXSkpKSB7CiAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygncmVxdWlyZWRfZmllbGRfZW1wdHknKSAuICcgKCcgLiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbmFtZSddIC4gJyknOwogICAgICAgICAgICAgICAgYnJlYWs7IC8vIG9ubHkgZGlzcGxheSBvbmUgZXJyb3IgbWVzc2FnZSBhdCBhIHRpbWUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gbWF4IGxlbmd0aAogICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ21heF9sZW5ndGgnXSkgJiYgbWJfc3RybGVuKCR2YWx1ZSkgPiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbWF4X2xlbmd0aCddKSB7CiAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygndG9vX2xvbmcnKSAuICcgKCcgLiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbmFtZSddIC4gJyknOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIG9wdGlvbnMKICAgICAgICAgICAgaWYgKCR2YWx1ZSAhPSAnJyAmJiBpc3NldCgkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnb3B0aW9ucyddKSAmJiAhYXJyYXlfa2V5X2V4aXN0cygkdmFsdWUsICRjdXN0b21fZmxkc1skZmxkaWRdWydvcHRpb25zJ10pKSB7CiAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnaW52YWxpZCcpIC4gJyAoJyAuICRjdXN0b21fZmxkc1skZmxkaWRdWyduYW1lJ10gLiAnKSc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLyBkaXNwbGF5IGVycm9ycyBpZiB0aGVyZSBhcmUgYW55CiAgICBpZiAoIWVtcHR5KCRlcnJvcnMpKSB7CiAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgIH0gZWxzZSB7CgogICAgICAgIGlmICgkY2F0aWQgIT0gbnVsbCkgewogICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgU0VUIGNhdGVnb3J5X25hbWUgPSA/LGNhdGVnb3J5X2FsaWFzID0gPywgdXNlcmdyb3VwID0gPywgcGFyZW50X2lkID0gPywgbW9kaWZpZWRfZGF0ZSA9ICcgLiAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkgLiAnIFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiAgICAgICAgICAgICRwYXJtcyA9IGFycmF5KCRuYW1lLCAkYWxpYXMsICR1c2VyZ3JvdXAsICRwYXJlbnRpZCk7CiAgICAgICAgICAgICRwYXJtc1tdID0gJGNhdGlkOwogICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcGFybXMpOwogICAgICAgICAgICBAJHRoaXMtPlNlbmRFdmVudCgnQ2F0ZWdvcnlFZGl0ZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRjYXRpZCwgJ25hbWUnID0+ICRuYW1lKSk7CiAgICAgICAgICAgICRycGFybXMgPSBhcnJheSgndGFiX21lc3NhZ2UnID0+ICdjYXRlZ29yeXVwZGF0ZWQnKTsKICAgICAgICAgICAgZ2VuZXJhdG9yX3Rvb2xzOjp1cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygkdGhpcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRpbWUgPSAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSk7CiAgICAgICAgICAgICRwb3NpdGlvbiA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgTUFYKHBvc2l0aW9uKSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgV0hFUkUgcGFyZW50X2lkID0gPycsIGFycmF5KGludHZhbCgkcGFyZW50aWQpKSk7ICAgICAgICAgICAgCiAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzIChjYXRlZ29yeV9pZCwgY2F0ZWdvcnlfbmFtZSwgY2F0ZWdvcnlfYWxpYXMsIHVzZXJncm91cCwgcGFyZW50X2lkLCBwb3NpdGlvbiwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sPyw/LD8sJyAuICR0aW1lIC4gJywnIC4gJHRpbWUgLiAnKSc7CiAgICAgICAgICAgICRwYXJtcyA9IGFycmF5KCRjYXRpZCwgJG5hbWUsICRhbGlhcywgJHVzZXJncm91cCwgaW50dmFsKCRwYXJlbnRpZCksICRwb3NpdGlvbik7CiAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksICRwYXJtcyk7CiAgICAgICAgICAgICRjYXRpZCA9ICRpdGVtX2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKICAgICAgICAgICAgQCR0aGlzLT5TZW5kRXZlbnQoJ0NhdGVnb3J5QWRkZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRjYXRpZCwgJ25hbWUnID0+ICRuYW1lKSk7CiAgICAgICAgICAgICRycGFybXMgPSBhcnJheSgndGFiX21lc3NhZ2UnID0+ICdjYXRlZ29yeWFkZGVkJyk7CiAgICAgICAgICAgIGdlbmVyYXRvcl90b29sczo6dXBkYXRlX2hpZXJhcmNoeV9wb3NpdGlvbnMoJHRoaXMpOwogICAgICAgICAgICBnZW5lcmF0b3JfdG9vbHM6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCR0aGlzKTsKICAgICAgICB9CiAgICAgICAgLy8gaGFuZGxlIHVwbG9hZGluZyBvZiBmaWxlIGZpZWxkcwogICAgICAgIGZvcmVhY2ggKCRjdXN0b21fZmxkcyBhcyAkY3VzdG9tX2ZsZCkgewogICAgICAgICAgICBpZiAoJGN1c3RvbV9mbGRbJ3R5cGUnXSAhPSAndXBsb2FkX2ZpbGUnKQogICAgICAgICAgICAgICAgY29udGludWU7CgogICAgICAgICAgICAkZWxlbSA9ICRpZCAuICdjdXN0b21maWVsZF8nIC4gJGN1c3RvbV9mbGRbJ2ZpZWxkZGVmX2lkJ107CiAgICAgICAgICAgIC8vICRlbGVtIGxvb2tzIGxpa2UgbTFfY3VzdG9tZmllbGRfMQogICAgICAgICAgICAvLyBjaGVjayBpZiBmaWxlIHdhcyB1cGxvYWRlZCBmb3IgdGhpcyBmaWVsZAogICAgICAgICAgICBpZiAoaXNzZXQoJF9GSUxFU1skZWxlbV0pICYmICRfRklMRVNbJGVsZW1dWyduYW1lJ10gIT0gJycpIHsKCiAgICAgICAgICAgICAgICBpZiAoJF9GSUxFU1skZWxlbV1bJ2Vycm9yJ10gIT0gMCB8fCAkX0ZJTEVTWyRlbGVtXVsndG1wX25hbWUnXSA9PSAnJykgewogICAgICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91cGxvYWQnKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gZ2VuZXJhdG9yX3Rvb2xzOjpoYW5kbGVfdXBsb2FkKCR0aGlzLCAkaXRlbV9pZCwgJGVsZW0sICRlcnJvciwgJGN1c3RvbV9mbGRbJ2FsbG93J10sICRyb3cpOwogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9ICRlcnJvcjsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3B1bGF0ZSAkcGFyYW1zWydjdXN0b21maWVsZCddCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgd291bGQgaG9sZCB0aGUgdXBsb2FkZWQgZmlsZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBpbnNlcnRlZCBpbnRvIHRoZSBkYXRhYmFzZSBiZWxvdwogICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydjdXN0b21maWVsZCddWyRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddXSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gaGFuZGxlIGluc2VydGluZyBjdXN0b20gZmllbGRzIGludG8gZGF0YWJhc2UKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7CgogICAgICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCR2YWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9IGltcGxvZGUoJywnLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gJyc7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgcm93IGV4aXN0cyB0byBkZXRlcm1pbmUgd2hldGhlciB0byBpbnNlcnQgb3IgdXBkYXRlCiAgICAgICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIHZhbHVlIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiAgICAgICAgICAgICAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZsZGlkKSk7CiAgICAgICAgICAgICAgICAvLyByb3cgZG9lcyBub3QgZXhpc3QKICAgICAgICAgICAgICAgIGlmICgkdG1wID09ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpbnNlcnQgcm93IGlmIGZpZWxkIHZhbHVlIGlzIG5vdCBlbXB0eQogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgIT0gIiIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIChpdGVtX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUpIFZBTFVFUyAoPywgPywgPyknOwogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQsICRmbGRpZCwgJHZhbHVlKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8vIHJvdyBhbHJlYWR5IGV4aXN0cwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBkZWxldGUgcm93IGlmIGZpZWxkIHZhbHVlIGlzIGVtcHR5CiAgICAgICAgICAgICAgICAgICAgaWYgKCR2YWx1ZSA9PSAiIikgewogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZsZGlkKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSByb3cKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFNFVCB2YWx1ZSA9ID8gV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdmFsdWUsICRpdGVtX2lkLCAkZmxkaWQpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIGRlbGV0ZSB2YWx1ZSBmcm9tIGZpbGUgZmllbGQKICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2RlbGV0ZV9jdXN0b21maWVsZCddKSkgewogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydkZWxldGVfY3VzdG9tZmllbGQnXSBhcyAkayA9PiAkdikgewogICAgICAgICAgICAgICAgaWYgKCR2ICE9ICdkZWxldGUnKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBza2lwIGlmIG5vdCBkZWxldGluZyBhbnl0aGluZwoKICAgICAgICAgICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsKICAgICAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkLCAkaykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnY2F0ZWdvcnl0YWInLCAkcnBhcm1zKTsKICAgIH0KfSBlbHNlIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjYXRpZCkpOwoKICAgIGlmICgkcm93KSB7CiAgICAgICAgJG5hbWUgPSAkcm93WydjYXRlZ29yeV9uYW1lJ107CiAgICAgICAgJGFsaWFzID0gJHJvd1snY2F0ZWdvcnlfYWxpYXMnXTsKICAgICAgICAkdXNlcmdyb3VwID0gJHJvd1sndXNlcmdyb3VwJ107CiAgICAgICAgJHBhcmVudGlkID0gJHJvd1sncGFyZW50X2lkJ107CiAgICB9Cn0KCgojRGlzcGxheSB0ZW1wbGF0ZQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FsaWFzdGV4dCcsICR0aGlzLT5MYW5nKCdhbGlhcycpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDIwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGFsaWFzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbGlhcycsICRhbGlhcywgMjAsIDI1NSkpOwoKJGdyb3Vwb3BzID0gY21zbXMoKS0+R2V0R3JvdXBPcGVyYXRpb25zKCk7CiRncm91cGxpc3QgPSAkZ3JvdXBvcHMtPkxvYWRHcm91cHMoKTsKJHVzZXJncm91cHMgPSBleHRlbmRlZF90b29sc19vcHRzOjpvYmplY3RfdG9faGFzaCgkZ3JvdXBsaXN0LCAnbmFtZScsICdpZCcpOwoKJHVzZXJncm91cHMgPSBhcnJheV9tZXJnZShhcnJheShsYW5nKCdub25lJykgPT4gJycpLCAkdXNlcmdyb3Vwcyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXR1c2VyZ3JvdXAnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd1c2VyZ3JvdXAnLCAkdXNlcmdyb3VwcywgLTEsICR1c2VyZ3JvdXApKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigncGFyZW50ZHJvcGRvd24nLCBnZW5lcmF0b3JfdG9vbHM6OmNyZWF0ZV9wYXJlbnRfZHJvcGRvd24oJHRoaXMsICRpZCwgJGNhdGlkLCAkcGFyZW50aWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnY2F0aWQnLCAkY2F0aWQpIC4KICAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnb3JpZ25hbWUnLCAkbmFtZSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BhcmVudHRleHQnLCBsYW5nKCdwYXJlbnQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcmdyb3VwdGV4dCcsIGxhbmcoJ2dyb3VwJykpOwoKJGN1c3RvbV9mbGRzX29iaiA9ICRmaWx0ZXJzLT5nZW5lcmF0ZSgkaXRlbV9pZCwgJHBhcmFtcyk7CmlmIChpc3NldCgkY3VzdG9tX2ZsZHNfb2JqKSAmJiBjb3VudCgkY3VzdG9tX2ZsZHNfb2JqKSA+IDApIHsKICAgICRzbWFydHktPmFzc2lnbignY3VzdG9tX2ZpZWxkZGVmJywgJGN1c3RvbV9mbGRzX29iaik7Cn0KCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnZWRpdGNhdGVnb3J5LnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCiRmaWVsZGRlZl9pZCA9IG51bGw7DQokbmFtZSA9ICcnOw0KJGFsaWFzID0gJyc7DQokaGVscCA9ICcnOw0KJHR5cGUgPSAnJzsNCiRyZXF1aXJlZCA9IDA7DQokZWRpdHZpZXcgPSAwOw0KJGFkbWluX2FkbWluID0gMDsNCiRleHRyYSA9ICcnOw0KJHNlY3Rpb24gPSAnaXRlbXMnOw0KJGVycm9ycyA9IGFycmF5KCk7DQoNCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsNCiAgICAkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnRhYicpOw0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgKGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyAkcGFyYW1zWydzZWN0aW9uJ10gOiAkc2VjdGlvbiksIGFycmF5KCksICdhZG1pbl9maWVsZHMnKTsNCn0NCg0KLy8gaWYgJHBhcmFtc1snZmllbGRkZWZfaWQnXSBpcyBzdXBwbGllZCBhbmQgZXhpc3RzLCBwb3B1bGF0ZSB3aXRoIHZhbHVlcyBmcm9tIGRhdGFiYXNlDQoNCmlmIChpc3NldCgkcGFyYW1zWydmaWVsZGRlZl9pZCddKSkgew0KICAgICRmaWVsZGRlZl9pZCA9IChpbnQpICRwYXJhbXNbJ2ZpZWxkZGVmX2lkJ107DQogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkZmllbGRkZWZfaWQpKTsNCg0KICAgIGlmICgkcm93KSB7DQogICAgICAgICRuYW1lID0gJHJvd1snbmFtZSddOw0KICAgICAgICAkYWxpYXMgPSAkcm93WydhbGlhcyddOw0KICAgICAgICAkaGVscCA9ICRyb3dbJ2hlbHAnXTsNCiAgICAgICAgJHR5cGUgPSAkcm93Wyd0eXBlJ107DQogICAgICAgICRyZXF1aXJlZCA9ICRyb3dbJ3JlcXVpcmVkJ107DQogICAgICAgICRlZGl0dmlldyA9ICRyb3dbJ2VkaXR2aWV3J107DQogICAgICAgICRleHRyYSA9ICRyb3dbJ2V4dHJhJ107DQogICAgICAgICRzZWN0aW9uID0gJHJvd1snc2VjdGlvbiddOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRmaWVsZGRlZl9pZCA9IG51bGw7DQogICAgfQ0KfQ0KDQovLyBoYW5kbGUgc3VibWl0IG9yIGFwcGx5DQppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKSB7DQogICAgJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107DQogICAgJGFsaWFzID0gJHBhcmFtc1snYWxpYXMnXTsNCiAgICAkaGVscCA9ICRwYXJhbXNbJ2hlbHAnXTsNCiAgICAkdHlwZSA9ICRwYXJhbXNbJ3R5cGUnXTsNCiAgICAkcmVxdWlyZWQgPSAoaXNzZXQoJHBhcmFtc1sncmVxdWlyZWQnXSkgPyAxIDogMCk7DQogICAgJGVkaXR2aWV3ID0gKGlzc2V0KCRwYXJhbXNbJ2VkaXR2aWV3J10pID8gMSA6IDApOw0KICAgICRleHRyYSA9ICRwYXJhbXNbJ2V4dHJhJ107DQogICAgJHNlY3Rpb24gPSAkcGFyYW1zWydzZWN0aW9uJ107DQoNCg0KICAgIC8vIGNoZWNrIG5hbWUNCiAgICBpZiAoJG5hbWUgPT0gJycpIHsNCiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmX25hbWVfZW1wdHknKTsNCiAgICB9DQoNCiAgICBpZiAoaXNzZXQoJGZpZWxkZGVmX2lkKSkgew0KICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgbmFtZSA9ID8gQU5EIGZpZWxkZGVmX2lkICE9ID8nOw0KICAgICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkbmFtZSwgJGZpZWxkZGVmX2lkKSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBmaWVsZGRlZl9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFdIRVJFIG5hbWUgPSA/JzsNCiAgICAgICAgJGV4aXN0cyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJG5hbWUpKTsNCiAgICB9DQoNCiAgICBpZiAoJGV4aXN0cykgew0KICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZmllbGRkZWZfbmFtZV9leGlzdHMnKTsNCiAgICB9DQoNCiAgICAvLyBnZW5lcmF0ZSBhbGlhcyBpZiBub3Qgc3VwcGxpZWQNCiAgICBpZiAoJGFsaWFzID09ICcnKSB7DQogICAgICAgICRhbGlhcyA9IGdlbmVyYXRvcl90b29sczo6Z2VuZXJhdGVfYWxpYXMoJG5hbWUpOw0KICAgIH0NCg0KICAgIC8vIGNoZWNrIGFsaWFzDQogICAgaWYgKCFnZW5lcmF0b3JfdG9vbHM6OmlzX3ZhbGlkX2FsaWFzKCRhbGlhcykpIHsNCiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2FsaWFzX2ludmFsaWQnKTsNCiAgICB9DQoNCiAgICBpZiAoZW1wdHkoJGVycm9ycykpIHsNCiAgICAgICAgLy8gdXBkYXRlDQogICAgICAgIGlmIChpc3NldCgkZmllbGRkZWZfaWQpKSB7DQogICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBuYW1lID0gPywgYWxpYXMgPSA/LCBoZWxwID0gPywgdHlwZSA9ID8sIHJlcXVpcmVkID0gPywgZWRpdHZpZXcgPSA/LCBleHRyYSA9ID8sIHNlY3Rpb24gPSA/IFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5hbWUsICRhbGlhcywgJGhlbHAsICR0eXBlLCAkcmVxdWlyZWQsICRlZGl0dmlldywgJGV4dHJhLCAkc2VjdGlvbiwgJGZpZWxkZGVmX2lkKSk7DQogICAgICAgICAgICBpZiAoISRyZXN1bHQpDQogICAgICAgICAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgICAgICAgICAgLy8gaW5zZXJ0DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkcG9zaXRpb24gPSAkZGItPkdldE9uZSgnU0VMRUNUIG1heChwb3NpdGlvbikgKyAxIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnKTsNCg0KICAgICAgICAgICAgaWYgKCRwb3NpdGlvbiA9PSBudWxsKSB7DQogICAgICAgICAgICAgICAgJHBvc2l0aW9uID0gMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIChuYW1lLCBhbGlhcywgaGVscCwgdHlwZSwgcG9zaXRpb24sIHJlcXVpcmVkLCBlZGl0dmlldywgZXh0cmEsIHNlY3Rpb24pIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPyknOw0KICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuYW1lLCAkYWxpYXMsICRoZWxwLCAkdHlwZSwgJHBvc2l0aW9uLCAkcmVxdWlyZWQsICRlZGl0dmlldywgJGV4dHJhLCAkc2VjdGlvbikpOw0KICAgICAgICAgICAgaWYgKCEkcmVzdWx0KQ0KICAgICAgICAgICAgICAgIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoNCiAgICAgICAgICAgIC8vIHBvcHVsYXRlICRmaWVsZGRlZl9pZCBmb3IgbmV3bHkgaW5zZXJ0ZWQgaXRlbQ0KICAgICAgICAgICAgJGZpZWxkZGVmX2lkID0gJGRiLT5JbnNlcnRfSUQoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICghaXNzZXQoJHBhcmFtc1snYXBwbHknXSkpIHsNCiAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgJHNlY3Rpb24sIGFycmF5KCksICdhZG1pbl9maWVsZHMnKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCdjaGFuZ2Vzc2F2ZWQnKSk7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCi8vIGRpc3BsYXkgZXJyb3JzIGlmIHRoZXJlIGFyZSBhbnkNCmlmICghZW1wdHkoJGVycm9ycykpIHsNCiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgKGlzc2V0KCRmaWVsZGRlZl9pZCkgPyAkdGhpcy0+TGFuZygnZWRpdGZpZWxkZGVmJykgOiAkdGhpcy0+TGFuZygnYWRkZmllbGRkZWYnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiRzbWFydHktPmFzc2lnbignbmFtZXRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDIwLCAyNTUpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdhbGlhcycsICR0aGlzLT5MYW5nKCdhbGlhcycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxpYXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsaWFzJywgJGFsaWFzLCAyMCwgMjU1KSk7DQoNCiRzbWFydHktPmFzc2lnbignaGVscHRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfaGVscCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRoZWxwJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoZWxwJywgJGhlbHAsIDEwMCwgMjU1KSk7DQoNCiRzbWFydHktPmFzc2lnbigndHlwZXRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfdHlwZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXR0eXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndHlwZScsIGFycmF5X2ZsaXAoZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfdHlwZXMoJHRoaXMpKSwgLTEsICR0eXBlKSk7DQoNCiRzbWFydHktPmFzc2lnbigndXNlcnZpZXd0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmX3JlcXVpcmVkJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91c2VydmlldycsICR0aGlzLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ3JlcXVpcmVkJywgMSwgJHJlcXVpcmVkKSk7DQoNCiRzbWFydHktPmFzc2lnbignZWRpdHZpZXdfdGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl9lZGl0dmlldycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZWRpdHZpZXcnLCAkdGhpcy0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICdlZGl0dmlldycsIDEsICRlZGl0dmlldykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2V4dHJhJywgJHRoaXMtPkxhbmcoJ2V4dHJhJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9leHRyYScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZXh0cmEnLCAkZXh0cmEsIDEwMCwgMjU1KSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc2VjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3NlY3Rpb24nLCBhcnJheV9mbGlwKGdlbmVyYXRvcl90b29sczo6Z2V0X2ZpZWxkX3NlY3Rpb25zKCR0aGlzKSksIC0xLCAkc2VjdGlvbikpOw0KDQppZiAoaXNzZXQoJGZpZWxkZGVmX2lkKSkgew0KICAgICRzbWFydHktPmFzc2lnbignZmllbGRkZWZfaWQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZmllbGRkZWZfaWQnLCAkZmllbGRkZWZfaWQpKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbignYXBwbHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnYXBwbHknLCBsYW5nKCdhcHBseScpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOw0KDQplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2VkaXRmaWVsZGRlZi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_editimage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCiRpdGVtX2lkID0gJyc7DQokaW1hZ2VfaWQgPSAnJzsNCiRlcnJvciA9IGZhbHNlOw0KDQppZiAoaXNzZXQoJHBhcmFtc1snaXRlbV9pZCddKSkgew0KICAgICRpdGVtX2lkID0gKGludCkgJHBhcmFtc1snaXRlbV9pZCddOw0KfQ0KDQppZiAoaXNzZXQoJHBhcmFtc1snaW1hZ2VfaWQnXSkpIHsNCiAgICAkaW1hZ2VfaWQgPSAoaW50KSAkcGFyYW1zWydpbWFnZV9pZCddOw0KfQ0KDQokcm93ID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfaXRlbSgkdGhpcywgJGl0ZW1faWQpOw0KJGltYWdlID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfaW1hZ2UoJHRoaXMsICRpbWFnZV9pZCk7DQoNCmlmIChlbXB0eSgkaXRlbV9pZCkgfHwgZW1wdHkoJGltYWdlX2lkKSkgew0KICAgICRlcnJvciA9IHRydWU7DQogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlbXB0eV9wYXJhbScpKTsNCn0NCmlmICghaXNzZXQoJGltYWdlWydmaWxlbmFtZSddKSkgew0KICAgICRlcnJvciA9IHRydWU7DQogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdpbWFnZV9ub3RfZm91bmQnKSk7DQp9DQppZiAoJGVycm9yID09IHRydWUpIHsNCiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICcnLCAkcGFyYW1zLCAnZGVmYXVsdGFjdGlvbicpOw0KfQ0KDQokaW1hZ2VzcmMgPSBnZW5lcmF0b3JfdG9vbHM6OmltYWdlX2xvY2F0aW9uKCR0aGlzLCAkcm93KSAuICcvJyAuICRpbWFnZVsnZmlsZW5hbWUnXTsNCg0KJGVycm9ycyA9IGFycmF5KCk7DQokcmV0dXJuaWQgPSAnJzsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgew0KICAgICRwYXJtcyA9IGFycmF5KCk7DQogICAgJHBhcm1zWydpdGVtX2lkJ10gPSAkcGFyYW1zWydpdGVtX2lkJ107DQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZ2FsbGVyeScsICRwYXJtcywgJ2FkbWluX2VkaXRpdGVtJyk7DQp9DQoNCi8vIGdldCB0aGUgY3VzdG9tIGZpZWxkcw0KJGZpbHRlcnMgPSBuZXcgZ2VuZXJhdG9yX2ZpbHRlcnMoJGlkLCAkdGhpcywgJ2FkbWluJyk7DQokdG1wID0gZ2VuZXJhdG9yX2ZpZWxkczo6Z2V0X2ZpZWxkc19mb3JfZmlsdGVycygkdGhpcywgYXJyYXkoKSwgJ2dhbGxlcmllcycpOw0KJGN1c3RvbV9mbGRzID0gJGZpbHRlcnMtPnByb2Nlc3NfY3VzdG9tX2ZpZWxkcyhhcnJheSgpLCAkdG1wKTsNCg0KDQppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKSB7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10pKSB7DQogICAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10gYXMgJGZsZGlkID0+ICR2YWx1ZSkgew0KDQogICAgICAgICAgICBpZiAoJHZhbHVlID09ICdzZWxlY3RfZGVmYXVsdCcpIHsNCiAgICAgICAgICAgICAgICAkcGFyYW1zWydjdXN0b21maWVsZCddWyRmbGRpZF0gPSAnJzsNCiAgICAgICAgICAgICAgICAkdmFsdWUgPSAnJzsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gcmVxdWlyZWQgZmllbGRzDQogICAgICAgICAgICBpZiAoJHZhbHVlID09ICcnICYmICRjdXN0b21fZmxkc1skZmxkaWRdWydyZXF1aXJlZCddICYmICgkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnZWRpdHZpZXcnXSAmJiBpc3NldCgkcGFyYW1zWyJpbWFnZV9pZCJdKSkpIHsNCiAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygncmVxdWlyZWRfZmllbGRfZW1wdHknKSAuICcgKCcgLiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbmFtZSddIC4gJyknOw0KICAgICAgICAgICAgICAgIGJyZWFrOyAvLyBvbmx5IGRpc3BsYXkgb25lIGVycm9yIG1lc3NhZ2UgYXQgYSB0aW1lDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vIG1heCBsZW5ndGgNCiAgICAgICAgICAgIGlmIChpc3NldCgkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbWF4X2xlbmd0aCddKSAmJiBtYl9zdHJsZW4oJHZhbHVlKSA+ICRjdXN0b21fZmxkc1skZmxkaWRdWydtYXhfbGVuZ3RoJ10pIHsNCiAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygndG9vX2xvbmcnKSAuICcgKCcgLiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbmFtZSddIC4gJyknOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBvcHRpb25zDQogICAgICAgICAgICBpZiAoJHZhbHVlICE9ICcnICYmIGlzc2V0KCRjdXN0b21fZmxkc1skZmxkaWRdWydvcHRpb25zJ10pICYmICFhcnJheV9rZXlfZXhpc3RzKCR2YWx1ZSwgJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ29wdGlvbnMnXSkpIHsNCiAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnaW52YWxpZCcpIC4gJyAoJyAuICRjdXN0b21fZmxkc1skZmxkaWRdWyduYW1lJ10gLiAnKSc7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCi8vIGhhbmRsZSB1cGxvYWRpbmcgb2YgZmlsZSBmaWVsZHMNCiAgICBmb3JlYWNoICgkY3VzdG9tX2ZsZHMgYXMgJGN1c3RvbV9mbGQpIHsNCiAgICAgICAgaWYgKCRjdXN0b21fZmxkWyd0eXBlJ10gIT0gJ3VwbG9hZF9maWxlJykNCiAgICAgICAgICAgIGNvbnRpbnVlOw0KDQogICAgICAgICRlbGVtID0gJGlkIC4gJ2N1c3RvbWZpZWxkXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXTsNCiAgICAgICAgLy8gJGVsZW0gbG9va3MgbGlrZSBtMV9jdXN0b21maWVsZF8xDQogICAgICAgIC8vIGNoZWNrIGlmIGZpbGUgd2FzIHVwbG9hZGVkIGZvciB0aGlzIGZpZWxkDQogICAgICAgIGlmIChpc3NldCgkX0ZJTEVTWyRlbGVtXSkgJiYgJF9GSUxFU1skZWxlbV1bJ25hbWUnXSAhPSAnJykgew0KDQogICAgICAgICAgICBpZiAoJF9GSUxFU1skZWxlbV1bJ2Vycm9yJ10gIT0gMCB8fCAkX0ZJTEVTWyRlbGVtXVsndG1wX25hbWUnXSA9PSAnJykgew0KICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91cGxvYWQnKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHZhbHVlID0gZ2VuZXJhdG9yX3Rvb2xzOjpoYW5kbGVfdXBsb2FkKCR0aGlzLCAkaXRlbV9pZCwgJGVsZW0sICRlcnJvciwgJGN1c3RvbV9mbGRbJ2FsbG93J10sICRyb3cpOw0KICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9ICRlcnJvcjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAvLyBwb3B1bGF0ZSAkcGFyYW1zWydjdXN0b21maWVsZCddDQogICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgd291bGQgaG9sZCB0aGUgdXBsb2FkZWQgZmlsZW5hbWUNCiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBpbnNlcnRlZCBpbnRvIHRoZSBkYXRhYmFzZSBiZWxvdw0KICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydjdXN0b21maWVsZCddWyRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddXSA9ICR2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgLy8gaGFuZGxlIGluc2VydGluZyBjdXN0b20gZmllbGRzIGludG8gZGF0YWJhc2UNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsNCiAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7DQoNCiAgICAgICAgICAgIGlmIChpc19hcnJheSgkdmFsdWUpKSB7DQogICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkdmFsdWUpKQ0KICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSBpbXBsb2RlKCcsJywgJHZhbHVlKTsNCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9ICcnOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBjaGVjayBpZiByb3cgZXhpc3RzIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGluc2VydCBvciB1cGRhdGUNCiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgdmFsdWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRpbWFnZV9pZCwgJGZsZGlkKSk7DQogICAgICAgICAgICAvLyByb3cgZG9lcyBub3QgZXhpc3QNCiAgICAgICAgICAgIGlmICgkdG1wID09ICIiKSB7DQogICAgICAgICAgICAgICAgLy8gb25seSBpbnNlcnQgcm93IGlmIGZpZWxkIHZhbHVlIGlzIG5vdCBlbXB0eQ0KICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgIT0gIiIpIHsNCiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIChpdGVtX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUpIFZBTFVFUyAoPywgPywgPyknOw0KICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGltYWdlX2lkLCAkZmxkaWQsICR2YWx1ZSkpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAvLyByb3cgYWxyZWFkeSBleGlzdHMNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgLy8gZGVsZXRlIHJvdyBpZiBmaWVsZCB2YWx1ZSBpcyBlbXB0eQ0KICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gIiIpIHsNCiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGl0ZW1faWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGltYWdlX2lkLCAkZmxkaWQpKTsNCiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIHJvdw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgU0VUIHZhbHVlID0gPyBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR2YWx1ZSwgJGltYWdlX2lkLCAkZmxkaWQpKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCi8vIGRlbGV0ZSB2YWx1ZSBmcm9tIGZpbGUgZmllbGQNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2RlbGV0ZV9jdXN0b21maWVsZCddKSkgew0KICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydkZWxldGVfY3VzdG9tZmllbGQnXSBhcyAkayA9PiAkdikgew0KICAgICAgICAgICAgaWYgKCR2ICE9ICdkZWxldGUnKQ0KICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBza2lwIGlmIG5vdCBkZWxldGluZyBhbnl0aGluZw0KDQogICAgICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaW1hZ2VfaWQsICRrKSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAkcGFybXMgPSBhcnJheSgpOw0KICAgICRwYXJtc1snaXRlbV9pZCddID0gJGl0ZW1faWQ7DQogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZ2FsbGVyeScsICRwYXJtcywgJ2FkbWluX2VkaXRpdGVtJyk7DQp9DQoNCg0KI0Rpc3BsYXkgdGVtcGxhdGUNCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0aW1hZ2UnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSwgJycsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCwgJ2ltYWdlX2lkJyA9PiAkaW1hZ2VfaWQpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7DQoNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtJywgJHJvdyk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ltYWdlJywgJGltYWdlKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW1hZ2VzcmMnLCAkaW1hZ2VzcmMpOw0KDQokY3VzdG9tX2ZsZHNfb2JqID0gJGZpbHRlcnMtPmdlbmVyYXRlKCRpbWFnZV9pZCwgJHBhcmFtcyk7DQoNCmlmIChpc3NldCgkY3VzdG9tX2ZsZHNfb2JqKSAmJiBjb3VudCgkY3VzdG9tX2ZsZHNfb2JqKSA+IDApIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9maWVsZGRlZicsICRjdXN0b21fZmxkc19vYmopOw0KfQ0KDQplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2VkaXRpbWFnZS50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_edititem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCg0KJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCg0KJGVycm9ycyA9IGFycmF5KCk7DQokaXRlbV9pZCA9IG51bGw7DQokdGl0bGUgPSAnJzsNCiRhbGlhcyA9ICcnOw0KJHVybCA9ICcnOw0KJGFjdGl2ZSA9IDE7DQokdXNlZGNhdGVnb3J5ID0gJyc7DQokZGF0ZSA9IHRpbWUoKTsNCiRkYXRlX2VuZCA9IG51bGw7DQokcmVjdXJfd2Vla2RheXMgPSBhcnJheSgpOw0KJHJlY3VyX3BlcmlvZCA9IG51bGw7DQokcmVjdXJzaXZlID0gJyc7DQokaW5saW5lID0gJyc7DQokZGV0YWlscGFnZSA9ICcnOw0KJHJldHVybmlkID0gJyc7DQokZmllbGRzX3ZpZXdhYmxlID0gYXJyYXkoKTsNCiRmaWVsZF9uYW1lcyA9IGFycmF5KCk7DQokZmllbGRfbW9kdWxlcyA9IGFycmF5KCk7DQokZmllbGRfaW1hZ2VzID0gYXJyYXkoKTsNCiRjdXN0b21fZmllbGRzID0gJyc7DQoNCg0KaWYgKGVtcHR5KCR0bXApKQ0KICAgICR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VzdG9tX2ZpZWxkc19nYWxsZXJ5X2RlZmF1bHQnKTsNCmlmICghZW1wdHkoJHRtcCkpDQogICAgJGN1c3RvbV9maWVsZHNfZ2FsbGVyeSA9IGV4cGxvZGUoJywnLCAkdG1wKTsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgew0KICAgICRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2l0ZW10YWInKTsNCiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsNCn0NCg0KDQovLyBmaWVsZHMgdmlldw0KJGFsbF9maWVsZHMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZHMoJHRoaXMsIGZhbHNlLCAnZ2FsbGVyaWVzJyk7DQppZiAoaXNfYXJyYXkoJGFsbF9maWVsZHMpKSB7DQogICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGFsbF9maWVsZHMpOyAkaSsrKSB7DQogICAgICAgIHN3aXRjaCAoJGFsbF9maWVsZHNbJGldWyd0eXBlJ10pIHsNCiAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ3N0YXRpYyc6DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICd0YWInOg0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAkZmllbGRzX3ZpZXdhYmxlWyRhbGxfZmllbGRzWyRpXVsnZmllbGRkZWZfaWQnXV0gPSAkYWxsX2ZpZWxkc1skaV1bJ25hbWUnXTsNCiAgICAgICAgICAgICAgICAkZmllbGRfbmFtZXNbJGFsbF9maWVsZHNbJGldWydmaWVsZGRlZl9pZCddXSA9ICRhbGxfZmllbGRzWyRpXVsnYWxpYXMnXTsNCg0KICAgICAgICAgICAgICAgIC8vIGlmIG1vZHVsZSwgZ2V0IG1vZHVsZSBmdW5jDQogICAgICAgICAgICAgICAgaWYgKCRhbGxfZmllbGRzWyRpXVsndHlwZSddID09ICJtb2R1bGUiKSB7DQogICAgICAgICAgICAgICAgICAgICRpbnN0cnVjdGlvbnMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYSgkYWxsX2ZpZWxkc1skaV1bJ2V4dHJhJ10pOw0KICAgICAgICAgICAgICAgICAgICAkY3VzdG9tbW9kdWxlcGFyYW1zID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbW9kdWxlcGFyYW1zKCRpbnN0cnVjdGlvbnMpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGN1c3RvbW1vZHVsZXBhcmFtcykgJiYgIWVtcHR5KCRjdXN0b21tb2R1bGVwYXJhbXMpICYmIGNtc191dGlsczo6Z2V0X21vZHVsZSgkY3VzdG9tbW9kdWxlcGFyYW1zWyJtb2R1bGUiXSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRmaWVsZF9tb2R1bGVzWyRhbGxfZmllbGRzWyRpXVsnZmllbGRkZWZfaWQnXV0gPSAkY3VzdG9tbW9kdWxlcGFyYW1zWyJtb2R1bGUiXTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAvLyBpZiBtb2R1bGUsIGdldCBtb2R1bGUgZnVuYw0KICAgICAgICAgICAgICAgIGlmICgkYWxsX2ZpZWxkc1skaV1bJ3R5cGUnXSA9PSAidXBsb2FkX2ZpbGUiKSB7DQogICAgICAgICAgICAgICAgICAgICRmaWVsZF9pbWFnZXNbJGFsbF9maWVsZHNbJGldWydmaWVsZGRlZl9pZCddXSA9IDE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChjb3VudCgkZmllbGRzX3ZpZXdhYmxlKSAmJiBpc3NldCgkY3VzdG9tX2ZpZWxkc19nYWxsZXJ5KSAmJiAgaXNfYXJyYXkoJGN1c3RvbV9maWVsZHNfZ2FsbGVyeSkpIHsNCiAgICAgICAgLy8gbm93IHRyaW0gZG93biB0aGUgY3VzdG9tIGZpZWxkcw0KICAgICAgICAvLyB0byBtYWtlIHN1cmUgdGhhdCBzb21ldGhpbmcgaGFzbid0IGJlZW4gZGVsZXRlZC4NCiAgICAgICAgJHRtcCA9IGFycmF5KCk7DQogICAgICAgIGZvcmVhY2ggKCRjdXN0b21fZmllbGRzX2dhbGxlcnkgYXMgJGZpZCkgew0KICAgICAgICAgICAgaWYgKGluX2FycmF5KCRmaWQsIGFycmF5X2tleXMoJGZpZWxkc192aWV3YWJsZSkpKSB7DQogICAgICAgICAgICAgICAgJHRtcFtdID0gJGZpZDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICAkY3VzdG9tX2ZpZWxkc19nYWxsZXJ5ID0gJHRtcDsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkY3VzdG9tX2ZpZWxkc19nYWxsZXJ5ID0gYXJyYXkoKTsNCiAgICB9DQp9DQokYWxsX2ZpZWxkcyA9IGNnZV9hcnJheTo6dG9faGFzaCgkYWxsX2ZpZWxkcywgJ25hbWUnKTsNCmlmIChjb3VudCgkZmllbGRzX3ZpZXdhYmxlKSkgew0KICAgICRzbWFydHktPmFzc2lnbignZmllbGRzX3ZpZXdhYmxlJywgJGZpZWxkc192aWV3YWJsZSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZF9uYW1lcycsICRmaWVsZF9uYW1lcyk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZF9tb2R1bGVzJywgJGZpZWxkX21vZHVsZXMpOw0KICAgICRzbWFydHktPmFzc2lnbignZmllbGRfaW1hZ2VzJywgJGZpZWxkX2ltYWdlcyk7DQp9DQoNCiRzbWFydHktPmFzc2lnbignY3VzdG9tX2ZpZWxkc19nYWxsZXJ5JywgJGN1c3RvbV9maWVsZHNfZ2FsbGVyeSk7DQoNCi8vIGlmICRwYXJhbXNbJ2l0ZW1faWQnXSBpcyBzdXBwbGllZCBhbmQgZXhpc3RzLCBwb3B1bGF0ZSB3aXRoIHZhbHVlcyBmcm9tIGRhdGFiYXNlDQppZiAoaXNzZXQoJHBhcmFtc1snaXRlbV9pZCddKSkgew0KICAgICRpdGVtX2lkID0gKGludCkgJHBhcmFtc1snaXRlbV9pZCddOw0KICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgaXRlbV9pZCA9ID8nOw0KICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCkpOw0KICAgIGlmICghJHJlc3VsdCkNCiAgICAgICAgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCg0KICAgIGlmICgkcmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDApIHsNCiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ25vc3VjaGlkJywgYXJyYXkoJGl0ZW1faWQpKTsNCiAgICAgICAgJGl0ZW1faWQgPSBudWxsOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRyb3cgPSAkcmVzdWx0LT5GZXRjaFJvdygpOw0KICAgICAgICAkdGl0bGUgPSAkcm93Wyd0aXRsZSddOw0KICAgICAgICAkYWxpYXMgPSAkcm93WydhbGlhcyddOw0KICAgICAgICAkZGF0ZSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkcm93WydpdGVtX2RhdGUnXSk7DQogICAgICAgICRkYXRlX2VuZCA9ICRkYi0+VW5peFRpbWVTdGFtcCgkcm93WydpdGVtX2RhdGVfZW5kJ10pOw0KICAgICAgICAkdXJsID0gJHJvd1sndXJsJ107DQogICAgICAgICRyZWN1cnNpdmUgPSAkcm93WydyZWN1cnNpdmUnXTsNCiAgICAgICAgJGFjdGl2ZSA9ICRyb3dbJ2FjdGl2ZSddOw0KICAgICAgICAkdXNlZGNhdGVnb3J5ID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsNCg0KICAgICAgICAvL2V4dHJhIG9wdGlvbnMgbG9hZA0KICAgICAgICAkcmVjdXJfd2Vla2RheXMgPSAkcmVjdXJzaXZlX29wdGlvbiA9ICRkYi0+R2V0Q29sKCdTRUxFQ1QgdmFsdWUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2V4dHJhIFdIRVJFIGl0ZW1faWQgPSA/JywgYXJyYXkoJGl0ZW1faWQpKTsNCiAgICB9DQp9DQoNCi8vIGdldCBjYXRlZ29yeSBsaXN0DQokd2hlcmUgPSBhcnJheSgpOw0KJHBhcmFtc2FycmF5ID0gYXJyYXkoKTsNCiRjYXRlZ29yeWxvbmduYW1lbGlzdCA9IGdlbmVyYXRvcl90b29sczo6Z2V0X3ByaXZhdGVfY2F0ZWdvcmllcygkdGhpcyk7DQppZiAoZW1wdHkoJGNhdGVnb3J5bG9uZ25hbWVsaXN0KSA9PSBmYWxzZSkgew0KDQogICAgJHdoZXJlc3RhdGVtZW50ID0gYXJyYXkoKTsNCiAgICBmb3JlYWNoICgkY2F0ZWdvcnlsb25nbmFtZWxpc3QgYXMgJGxvbm5hbWUpIHsNCiAgICAgICAgJHdoZXJlc3RhdGVtZW50W10gPSAnbG9uZ19uYW1lIExJS0UgID8nOw0KICAgICAgICAkcGFyYW1zYXJyYXlbXSA9ICRsb25uYW1lIC4gJyUnOw0KICAgIH0NCiAgICAkd2hlcmVbXSA9ICcoJyAuIGltcGxvZGUoJyBPUiAnLCAkd2hlcmVzdGF0ZW1lbnQpIC4gJyknOw0KfQ0KJGNhdGVnb3J5bGlzdCA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2NhdGVnb3J5X2xpc3QoJHRoaXMsICR3aGVyZSwgJHBhcmFtc2FycmF5LCBmYWxzZSk7DQokY2F0ZWdvcnlsaXN0ID0gYXJyYXlfc2xpY2UoJGNhdGVnb3J5bGlzdCwgMSk7DQokY2F0ZWdvcnlsaXN0ID0gZXh0ZW5kZWRfdG9vbHNfb3B0czo6dG9faGFzaCgkY2F0ZWdvcnlsaXN0LCAnbG9uZ19uYW1lJywgJ2NhdGVnb3J5X2lkJyk7DQoNCi8vIGdldCB0aGUgY3VzdG9tIGZpZWxkcw0KJGZpbHRlcnMgPSBuZXcgZ2VuZXJhdG9yX2ZpbHRlcnMoJGlkLCAkdGhpcywgJ2FkbWluJyk7DQokY3VzdG9tX2ZsZHMgPSAkZmlsdGVycy0+cHJvY2Vzc19jdXN0b21fZmllbGRzKCk7DQoNCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLy8gaGFuZGxlIHN1Ym1pdCBvciBhcHBseQ0KaWYgKGlzc2V0KCRwYXJhbXNbJ3ByZXZpZXcnXSkpIHsNCiAgICAvLyBzYXZlIGRhdGEgZm9yIHByZXZpZXcuDQogICAgdW5zZXQoJHBhcmFtc1snYXBwbHknXSk7DQogICAgdW5zZXQoJHBhcmFtc1sncHJldmlldyddKTsNCiAgICB1bnNldCgkcGFyYW1zWydzdWJtaXQnXSk7DQogICAgdW5zZXQoJHBhcmFtc1snY2FuY2VsJ10pOw0KICAgIHVuc2V0KCRwYXJhbXNbJ2FqYXgnXSk7DQogICAgdW5zZXQoJHBhcmFtc1snY29weSddKTsNCg0KICAgICR0bXBmbmFtZSA9IHRlbXBuYW0oVE1QX0NBQ0hFX0xPQ0FUSU9OLCAkdGhpcy0+R2V0TmFtZSgpIC4gJ19wcmV2aWV3Jyk7DQogICAgZmlsZV9wdXRfY29udGVudHMoJHRtcGZuYW1lLCBzZXJpYWxpemUoJHBhcmFtcykpOw0KDQogICAgJGRldGFpbF9yZXR1cm5pZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RldGFpbF9yZXR1cm5pZCcsIC0xKTsNCiAgICBpZiAoJGRldGFpbF9yZXR1cm5pZCA8PSAwKSB7DQogICAgICAgIC8vIG5vdyBnZXQgdGhlIGRlZmF1bHQgY29udGVudCBpZC4NCiAgICAgICAgJGRldGFpbF9yZXR1cm5pZCA9IENvbnRlbnRPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+R2V0RGVmYXVsdENvbnRlbnQoKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3ByZXZpZXdwYWdlJ10pICYmIChpbnQpICRwYXJhbXNbJ3ByZXZpZXdwYWdlJ10gPiAwKSB7DQogICAgICAgICRkZXRhaWxfcmV0dXJuaWQgPSAoaW50KSAkcGFyYW1zWydwcmV2aWV3cGFnZSddOw0KICAgIH0NCg0KICAgICRfU0VTU0lPTlsnaXRlbV9wcmV2aWV3J10gPSBhcnJheSgnZm5hbWUnID0+IGJhc2VuYW1lKCR0bXBmbmFtZSksICdjaGVja3N1bScgPT4gbWQ1X2ZpbGUoJHRtcGZuYW1lKSk7DQogICAgJHRwYXJtcyA9IGFycmF5KCdwcmV2aWV3JyA9PiBtZDUoc2VyaWFsaXplKCRfU0VTU0lPTlsnaXRlbV9wcmV2aWV3J10pKSk7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKSB7DQogICAgICAgICR0cGFybXNbJ2RldGFpbHRlbXBsYXRlJ10gPSB0cmltKCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pOw0KICAgIH0NCiAgICAkdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJ19wcmV2aWV3XycsICdkZXRhaWwnLCAkZGV0YWlsX3JldHVybmlkLCAkdHBhcm1zLCBUUlVFKTsNCg0KICAgICRyZXNwb25zZSA9ICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4nOw0KICAgICRyZXNwb25zZSAuPSAnPEVkaXRBcnRpY2xlPic7DQogICAgaWYgKGlzc2V0KCRlcnJvcikgJiYgJGVycm9yICE9ICcnKSB7DQogICAgICAgICRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPkVycm9yPC9SZXNwb25zZT4nOw0KICAgICAgICAkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycgLiAkZXJyb3IgLiAnXV0+PC9EZXRhaWxzPic7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+U3VjY2VzczwvUmVzcG9uc2U+JzsNCiAgICAgICAgJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnIC4gJHVybCAuICddXT48L0RldGFpbHM+JzsNCiAgICB9DQogICAgJHJlc3BvbnNlIC49ICc8L0VkaXRBcnRpY2xlPic7DQoNCiAgICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7DQogICAgZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsNCiAgICAgICAgb2JfZW5kX2NsZWFuKCk7DQogICAgfQ0KICAgIGhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L3htbCcpOw0KICAgIGVjaG8gJHJlc3BvbnNlOw0KICAgIGV4aXQ7DQp9IGVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSB8fCBpc3NldCgkcGFyYW1zWydjb3B5J10pKSB7DQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1siY29weSJdKSkgew0KICAgICAgICAkaXRlbV9pZCA9IG51bGw7DQogICAgfQ0KDQogICAgJHRpdGxlID0gJHBhcmFtc1sndGl0bGUnXTsNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snZGF0ZV9Nb250aCddKSkgew0KICAgICAgICAkZGF0ZSA9IG1rdGltZSgkcGFyYW1zWydkYXRlX0hvdXInXSwgJHBhcmFtc1snZGF0ZV9NaW51dGUnXSwgJHBhcmFtc1snZGF0ZV9TZWNvbmQnXSwgJHBhcmFtc1snZGF0ZV9Nb250aCddLCAkcGFyYW1zWydkYXRlX0RheSddLCAkcGFyYW1zWydkYXRlX1llYXInXSk7DQogICAgfQ0KICAgIGlmIChpc3NldCgkcGFyYW1zWydkYXRlX2VuZF9Nb250aCddKSkgew0KICAgICAgICAkZGF0ZV9lbmQgPSBta3RpbWUoJHBhcmFtc1snZGF0ZV9lbmRfSG91ciddLCAkcGFyYW1zWydkYXRlX2VuZF9NaW51dGUnXSwgJHBhcmFtc1snZGF0ZV9lbmRfU2Vjb25kJ10sICRwYXJhbXNbJ2RhdGVfZW5kX01vbnRoJ10sICRwYXJhbXNbJ2RhdGVfZW5kX0RheSddLCAkcGFyYW1zWydkYXRlX2VuZF9ZZWFyJ10pOw0KICAgIH0NCg0KDQogICAgaWYgKGlzc2V0KCRwYXJhbXNbInJlY3VyX3BlcmlvZCJdKSkgew0KICAgICAgICAkcmVjdXJzaXZlID0gJHBhcmFtc1sicmVjdXJfcGVyaW9kIl07DQogICAgfQ0KDQoNCiAgICAvKiBhbGlhcyBjcmVhdGUgKi8NCiAgICBpZiAoISRpdGVtX2lkIHx8ICgkaXRlbV9pZCAmJiAhaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkpKQ0KICAgICAgICAkYWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ3RpdGxlJ10sIHRydWUpOw0KICAgIGVsc2VpZiAoIWlzc2V0KCRwYXJhbXNbImFsaWFzIl0pICYmICRpdGVtX2lkKQ0KICAgICAgICAkYWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ3RpdGxlJ10sIHRydWUpOw0KICAgIGVsc2VpZiAoaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkpDQogICAgICAgICRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1snYWxpYXMnXSwgdHJ1ZSk7DQogICAgZWxzZQ0KICAgICAgICAkYWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ3RpdGxlJ10sIHRydWUpOw0KDQogICAgaWYgKGlzc2V0KCRwYXJhbXNbInVybCJdKSkNCiAgICAgICAgJHVybCA9ICRwYXJhbXNbInVybCJdOw0KDQoNCiAgICAkYWN0aXZlID0gKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZSddKSA/IDEgOiAwKTsNCiAgICAkdXNlZGNhdGVnb3J5ID0gKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5J10pID8gJHBhcmFtc1snY2F0ZWdvcnknXSA6ICcnKTsNCg0KICAgIC8vIGNoZWNrIHRpdGxlDQogICAgaWYgKCR0aXRsZSA9PSAnJyAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV90aXRsZV9lZGl0JykpIHsNCiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2l0ZW1fdGl0bGVfZW1wdHknKTsNCg0KICAgICAgICAvLyBjaGVjayBjdXN0b20gZmllbGRzLi4uIHRoZXNlIGxvb2sgbGlrZSBtMV9jdXN0b21maWVsZFs1XQ0KICAgIH0gZWxzZWlmIChpc3NldCgkcGFyYW1zWydjdXN0b21maWVsZCddKSkgew0KICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydjdXN0b21maWVsZCddIGFzICRmbGRpZCA9PiAkdmFsdWUpIHsNCg0KICAgICAgICAgICAgaWYgKCR2YWx1ZSA9PSAnc2VsZWN0X2RlZmF1bHQnKSB7DQogICAgICAgICAgICAgICAgJHBhcmFtc1snY3VzdG9tZmllbGQnXVskZmxkaWRdID0gJyc7DQogICAgICAgICAgICAgICAgJHZhbHVlID0gJyc7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vIHJlcXVpcmVkIGZpZWxkcw0KICAgICAgICAgICAgaWYgKCR2YWx1ZSA9PSAnJyAmJiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsncmVxdWlyZWQnXSkgew0KICAgICAgICAgICAgICAgIGlmICgkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnZWRpdHZpZXcnXSAmJiAhaXNzZXQoJHBhcmFtc1siaXRlbV9pZCJdKSkNCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5JykgLiAnICgnIC4gJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ25hbWUnXSAuICcpJzsNCiAgICAgICAgICAgICAgICBicmVhazsgLy8gb25seSBkaXNwbGF5IG9uZSBlcnJvciBtZXNzYWdlIGF0IGEgdGltZQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBtYXggbGVuZ3RoDQogICAgICAgICAgICBpZiAoaXNzZXQoJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ21heF9sZW5ndGgnXSkgJiYgbWJfc3RybGVuKCR2YWx1ZSkgPiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbWF4X2xlbmd0aCddKSB7DQogICAgICAgICAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ3Rvb19sb25nJykgLiAnICgnIC4gJGN1c3RvbV9mbGRzWyRmbGRpZF1bJ25hbWUnXSAuICcpJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gb3B0aW9ucw0KICAgICAgICAgICAgaWYgKCR2YWx1ZSAhPSAnJyAmJiBpc3NldCgkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnb3B0aW9ucyddKSAmJiAhYXJyYXlfa2V5X2V4aXN0cygkdmFsdWUsICRjdXN0b21fZmxkc1skZmxkaWRdWydvcHRpb25zJ10pKSB7DQogICAgICAgICAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2ludmFsaWQnKSAuICcgKCcgLiAkY3VzdG9tX2ZsZHNbJGZsZGlkXVsnbmFtZSddIC4gJyknOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgaWYgKGVtcHR5KCRlcnJvcnMpICYmICR1cmwgIT0gJycpIHsNCiAgICAgICAgLy8gY2hlY2sgZm9yIHN0YXJ0aW5nIG9yIGVuZGluZyBzbGFzaGVzDQogICAgICAgIGlmIChzdGFydHN3aXRoKCR1cmwsICcvJykgfHwgZW5kc3dpdGgoJHVybCwgJy8nKSkgew0KICAgICAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1cmwnKTsNCiAgICAgICAgfQ0KDQogICAgICAgICR1cmwgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCR1cmwsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgLyogaWYgKGVtcHR5KCRlcnJvcnMpKSB7DQogICAgICAgICAgLy8gY2hlY2sgZm9yIGludmFsaWQgY2hhcnMuDQogICAgICAgICAgJHRyYW5zbGF0ZWQgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCR1cmwsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgICBpZiAoc3RydG9sb3dlcigkdHJhbnNsYXRlZCkgIT0gc3RydG9sb3dlcigkdXJsKSkgew0KICAgICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkdXJsJyk7DQogICAgICAgICAgfQ0KICAgICAgICAgIH0gKi8NCiAgICAgICAgaWYgKGVtcHR5KCRlcnJvcnMpKSB7DQogICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhpcyB1cmwgaXNuJ3QgdGFrZW4uDQogICAgICAgICAgICAkdXJsID0gdHJpbSgkdXJsLCAiIC9cdFxyXG5cMFx4MDgiKTsNCiAgICAgICAgICAgIGNtc19yb3V0ZV9tYW5hZ2VyOjpsb2FkX3JvdXRlcygpOw0KICAgICAgICAgICAgJHJvdXRlID0gY21zX3JvdXRlX21hbmFnZXI6OmZpbmRfbWF0Y2goJHVybCk7DQogICAgICAgICAgICBpZiAoJHJvdXRlKSB7DQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRpdGVtX2lkKSkgew0KICAgICAgICAgICAgICAgICAgICAkZGZsdHMgPSAkcm91dGUtPmdldF9kZWZhdWx0cygpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoJHJvdXRlLT5pc19jb250ZW50KCkgfHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcm91dGUtPmdldF9kZXN0KCkgIT0gJHRoaXMtPkdldE5hbWUoKSB8fA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpc3NldCgkZGZsdHNbJ2l0ZW1faWQnXSkgfHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGZsdHNbJ2l0ZW1faWQnXSAhPSAkaXRlbV9pZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2UncmUgYWRkaW5nIGFuIGFydGljbGUsIG5vdCBlZGl0aW5nLi4uIGFueSBtYXRjaGluZyByb3V0ZSBpcyBiYWQuDQogICAgICAgICAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHVybCcpOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgLy8kZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHVybCcpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgLy8gdGl0bGUgYW5kIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHZhbHVlcywgbGV0J3MgY29udGludWUNCiAgICBpZiAoZW1wdHkoJGVycm9ycykpIHsNCiAgICAgICAgLy8gayBvciB1cGRhdGUgdGFibGUgaXRlbXMNCiAgICAgICAgaWYgKCFpc3NldCgkaXRlbV9pZCkpIHsNCiAgICAgICAgICAgIC8vIGZpbmQgcG9zaXRpb24gYmVmb3JlIGluc2VydGluZyBuZXcgaXRlbQ0KICAgICAgICAgICAgJHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBtYXgocG9zaXRpb24pICsgMSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nKTsNCg0KICAgICAgICAgICAgaWYgKCRwb3NpdGlvbiA9PSBudWxsKSB7DQogICAgICAgICAgICAgICAgJHBvc2l0aW9uID0gMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gaW5zZXJ0IGl0ZW0NCiAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtICh0aXRsZSwgYWxpYXMsIHVybCwgcmVjdXJzaXZlLCBjYXRlZ29yeV9pZCwgcG9zaXRpb24sIGFjdGl2ZSwgaXRlbV9kYXRlLCBpdGVtX2RhdGVfZW5kLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSApIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPyAsID8sID8sICBOT1coKSwgTk9XKCkpJzsNCiAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGl0bGUsICRhbGlhcywgJHVybCwgJHJlY3Vyc2l2ZSwgJHVzZWRjYXRlZ29yeSwgJHBvc2l0aW9uLCAkYWN0aXZlLCB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGUpLCAiJyIpLCB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfZW5kKSwgIiciKSkpOw0KICAgICAgICAgICAgaWYgKCEkcmVzdWx0KQ0KICAgICAgICAgICAgICAgIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoNCiAgICAgICAgICAgIC8vIHBvcHVsYXRlICRpdGVtX2lkIGZvciBuZXdseSBpbnNlcnRlZCBpdGVtDQogICAgICAgICAgICAkaXRlbV9pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7DQogICAgICAgICAgICAkdXBkYXRlID0gZmFsc2U7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAvLyB1cGRhdGUgaXRlbQ0KICAgICAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCB0aXRsZSA9ID8sIGFsaWFzID0gPywgdXJsID0gPywgcmVjdXJzaXZlID0gPywgY2F0ZWdvcnlfaWQgPSA/LCBhY3RpdmUgPSA/LCBpdGVtX2RhdGU9ID8sIGl0ZW1fZGF0ZV9lbmQ9ID8gV0hFUkUgaXRlbV9pZCA9ID8nOw0KICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aXRsZSwgJGFsaWFzLCAkdXJsLCAkcmVjdXJzaXZlLCAkdXNlZGNhdGVnb3J5LCAkYWN0aXZlLCB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGUpLCAiJyIpLCB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfZW5kKSwgIiciKSwgJGl0ZW1faWQpKTsNCiAgICAgICAgICAgIGlmICghJHJlc3VsdCkNCiAgICAgICAgICAgICAgICBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KDQogICAgICAgICAgICAkdXBkYXRlID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIGNyZWF0ZSByZWN1cnNpdmUgc2V0dGluZ3MNCiAgICAgICAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWN1cnNpdmUnKSAmJiAkcmVjdXJzaXZlID09ICdkYWlseScpIHsNCiAgICAgICAgICAgIGlmIChpc3NldCgkcGFyYW1zWyJyZWN1cl93ZWVrZGF5cyJdKSAmJiBpc19hcnJheSgkcGFyYW1zWyJyZWN1cl93ZWVrZGF5cyJdKSkgew0KICAgICAgICAgICAgICAgICRyZWN1cl93ZWVrZGF5cyA9ICRwYXJhbXNbInJlY3VyX3dlZWtkYXlzIl07DQogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW1fZXh0cmEgV0hFUkUgaXRlbV9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkKSk7DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHJlY3VyX3dlZWtkYXlzIGFzICRkYXkpIHsNCiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW1fZXh0cmEgKGl0ZW1faWQsdmFsdWUpIFZBTFVFUyAoPyw/KSc7DQogICAgICAgICAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkLCAkZGF5KSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLy8gaGFuZGxlIHVwbG9hZGluZyBvZiBmaWxlIGZpZWxkcw0KICAgICAgICBpZiAoZW1wdHkoJGN1c3RvbV9mbGRzKSA9PSBmYWxzZSkgew0KICAgICAgICAgICAgZm9yZWFjaCAoJGN1c3RvbV9mbGRzIGFzICRjdXN0b21fZmxkKSB7DQogICAgICAgICAgICAgICAgaWYgKCRjdXN0b21fZmxkWyd0eXBlJ10gIT0gJ3VwbG9hZF9maWxlJykgew0KICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgICAgICRlbGVtID0gJGlkIC4gJ2N1c3RvbWZpZWxkXycgLiAkY3VzdG9tX2ZsZFsnZmllbGRkZWZfaWQnXTsNCiAgICAgICAgICAgICAgICAvLyAkZWxlbSBsb29rcyBsaWtlIG0xX2N1c3RvbWZpZWxkXzENCiAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBmaWxlIHdhcyB1cGxvYWRlZCBmb3IgdGhpcyBmaWVsZA0KICAgICAgICAgICAgICAgIGlmIChpc3NldCgkX0ZJTEVTWyRlbGVtXSkgJiYgJF9GSUxFU1skZWxlbV1bJ25hbWUnXSAhPSAnJykgew0KDQogICAgICAgICAgICAgICAgICAgIGlmICgkX0ZJTEVTWyRlbGVtXVsnZXJyb3InXSAhPSAwIHx8ICRfRklMRVNbJGVsZW1dWyd0bXBfbmFtZSddID09ICcnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXBsb2FkJyk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSBnZW5lcmF0b3JfdG9vbHM6OmhhbmRsZV91cGxvYWQoJHRoaXMsICRpdGVtX2lkLCAkZWxlbSwgJGVycm9yLCAkY3VzdG9tX2ZsZFsnYWxsb3cnXSk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVycm9yc1tdID0gJGVycm9yOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3B1bGF0ZSAkcGFyYW1zWydjdXN0b21maWVsZCddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyB3b3VsZCBob2xkIHRoZSB1cGxvYWRlZCBmaWxlbmFtZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgaW5zZXJ0ZWQgaW50byB0aGUgZGF0YWJhc2UgYmVsb3cNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydjdXN0b21maWVsZCddWyRjdXN0b21fZmxkWydmaWVsZGRlZl9pZCddXSA9ICR2YWx1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC8vIGhhbmRsZSBpbnNlcnRpbmcgY3VzdG9tIGZpZWxkcyBpbnRvIGRhdGFiYXNlDQogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydjdXN0b21maWVsZCddKSkgew0KICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snY3VzdG9tZmllbGQnXSBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCR2YWx1ZSkpDQogICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSBpbXBsb2RlKCcsJywgJHZhbHVlKTsNCiAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gJyc7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgcm93IGV4aXN0cyB0byBkZXRlcm1pbmUgd2hldGhlciB0byBpbnNlcnQgb3IgdXBkYXRlDQogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCB2YWx1ZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGl0ZW1faWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkLCAkZmxkaWQpKTsNCg0KDQogICAgICAgICAgICAgICAgLy8gcm93IGRvZXMgbm90IGV4aXN0DQogICAgICAgICAgICAgICAgaWYgKCR0bXAgPT0gIiIpIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpbnNlcnQgcm93IGlmIGZpZWxkIHZhbHVlIGlzIG5vdCBlbXB0eQ0KICAgICAgICAgICAgICAgICAgICBpZiAoJHZhbHVlICE9ICIiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgKGl0ZW1faWQsIGZpZWxkZGVmX2lkLCB2YWx1ZSkgVkFMVUVTICg/LCA/LCA/KSc7DQogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQsICRmbGRpZCwgJHZhbHVlKSk7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAvLyByb3cgYWxyZWFkeSBleGlzdHMNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAvLyBkZWxldGUgcm93IGlmIGZpZWxkIHZhbHVlIGlzIGVtcHR5DQogICAgICAgICAgICAgICAgICAgIGlmICgkdmFsdWUgPT0gIiIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZsZGlkKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgcm93DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFNFVCB2YWx1ZSA9ID8gV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHZhbHVlLCAkaXRlbV9pZCwgJGZsZGlkKSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBpZiAoISRyZXN1bHQpDQogICAgICAgICAgICAgICAgICAgIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgLy8gZGVsZXRlIHZhbHVlIGZyb20gZmlsZSBmaWVsZA0KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2RlbGV0ZV9jdXN0b21maWVsZCddKSkgew0KICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ10gYXMgJGsgPT4gJHYpIHsNCiAgICAgICAgICAgICAgICBpZiAoJHYgIT0gJ2RlbGV0ZScpDQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBza2lwIGlmIG5vdCBkZWxldGluZyBhbnl0aGluZw0KDQogICAgICAgICAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGl0ZW1faWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtX2lkLCAkaykpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLy8gYWRkaXRpb25hbCBjaGVjayBpcyBuZWVkZWQgc2luY2UgZmlsZSB1cGxvYWQgY291bGQgaGF2ZSBwcm9kdWNlZCBlcnJvcnMNCiAgICAgICAgaWYgKGVtcHR5KCRlcnJvcnMpKSB7DQogICAgICAgICAgICAvLyBzaG93IHNhdmVkIG1lc3NhZ2UNCg0KICAgICAgICAgICAgaWYgKCR1cGRhdGUpIHsNCiAgICAgICAgICAgICAgICBAJHRoaXMtPlNlbmRFdmVudCgnSXRlbUVkaXRlZCcsIGFycmF5KCdpdGVtX2lkJyA9PiAkaXRlbV9pZCwgJ2NhdGVnb3J5X2lkJyA9PiAkdXNlZGNhdGVnb3J5LCAndGl0bGUnID0+ICR0aXRsZSwgJ2FjdGl2ZScgPT4gJGFjdGl2ZSwgJ2l0ZW1fZGF0ZScgPT4gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlKSwgIiciKSwgJ2l0ZW1fZGF0ZV9lbmQnID0+IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV9lbmQpKSwgJ3JlY3Vyc2l2ZScgPT4gJHJlY3Vyc2l2ZSkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBAJHRoaXMtPlNlbmRFdmVudCgnSXRlbUFkZGVkJywgYXJyYXkoJ2l0ZW1faWQnID0+ICRpdGVtX2lkLCAnY2F0ZWdvcnlfaWQnID0+ICR1c2VkY2F0ZWdvcnksICd0aXRsZScgPT4gJHRpdGxlLCAnYWN0aXZlJyA9PiAkYWN0aXZlLCAnaXRlbV9kYXRlJyA9PiB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGUpLCAiJyIpLCAnaXRlbV9kYXRlX2VuZCcgPT4gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2VuZCkpLCAncmVjdXJzaXZlJyA9PiAkcmVjdXJzaXZlKSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vIGFkZCBzdGF0aWMgdXJsDQogICAgICAgICAgICBnZW5lcmF0b3Jfb3B0czo6cmVnaXN0ZXJfc3RhdGljX3JvdXRlKCR0aGlzLCAkdXJsLCAkaXRlbV9pZCk7DQoNCiAgICAgICAgICAgIGlmICghaXNzZXQoJHBhcmFtc1snYXBwbHknXSkpIHsNCiAgICAgICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2l0ZW10YWInLCAnbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoJ2NoYW5nZXNzYXZlZCcpKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHRoaXN1bGUgPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7DQogICAgICAgICAgICBpZiAoaXNfb2JqZWN0KCR0aGlzdWxlKSkgew0KICAgICAgICAgICAgICAgIGlmICgkYWN0aXZlICE9IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXN1bGUtPkRlbGV0ZVdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtX2lkLCAnaXRlbScpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICR0aGlzdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaXRlbV9pZCwgJ2l0ZW0nLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9zZWFyY2hhYmxlX3RleHQoJHRoaXMsICRpdGVtX2lkKSwgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfc2VhcmNoYWJsZV9kYXRlX2VuZCgpKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQp9IC8vIGVuZCBzdWJtaXQgb3IgYXBwbHkNCg0KDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCg0KLy8gZGlzcGxheSBlcnJvcnMgaWYgdGhlcmUgYXJlIGFueQ0KaWYgKCFlbXB0eSgkZXJyb3JzKSkgew0KICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7DQp9DQoNCi8vIGhpZGRlbiB2YWx1ZSByZXF1aXJlZCB3aGVuIGVkaXRpbmcgYW4gZXhpc3RpbmcgaXRlbQ0KaWYgKGlzc2V0KCRpdGVtX2lkKSkgew0KICAgICRzbWFydHktPmFzc2lnbignaXRlbV9pZCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdpdGVtX2lkJywgJGl0ZW1faWQpKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsIChpc3NldCgkaXRlbV9pZCkgPyAkdGhpcy0+TGFuZygnZWRpdCcpIDogJHRoaXMtPkxhbmcoJ2FkZCcpKSAuICcgJyAuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJywgJycpKTsNCiRzbWFydHktPmFzc2lnbignZm9ybWlkJywgJGlkKTsNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90aXRsZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJywgJycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdGl0bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlJywgJHRpdGxlLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hbGlhcycsICR0aGlzLT5MYW5nKCdhbGlhcycpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxpYXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FsaWFzJywgJGFsaWFzLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91cmwnLCAkdGhpcy0+TGFuZygndXJsJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91cmwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3VybCcsICR1cmwsIDUwKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2NhdGVnb3J5JywgJHRoaXMtPkxhbmcoJ2NhdGVnb3J5JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYXRlZ29yeScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2NhdGVnb3J5JywgJGNhdGVnb3J5bGlzdCwgLTEsICR1c2VkY2F0ZWdvcnkpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWN0aXZlJywgJHRoaXMtPkxhbmcoJ2FjdGl2ZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWN0aXZlJywgJHRoaXMtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAnYWN0aXZlJywgMSwgJGFjdGl2ZSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kYXRlJywgJHRoaXMtPkxhbmcoJ2RhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RhdGUnLCAkZGF0ZSk7DQokc21hcnR5LT5hc3NpZ24oJ2RhdGVwcmVmaXgnLCAkaWQgLiAnZGF0ZV8nKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGF0ZV9lbmQnLCAkdGhpcy0+TGFuZygncHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignZGF0ZWVuZCcsICRkYXRlX2VuZCk7DQokc21hcnR5LT5hc3NpZ24oJ2RhdGVlbmRwcmVmaXgnLCAkaWQgLiAnZGF0ZV9lbmRfJyk7DQoNCiRzbWFydHktPmFzc2lnbigncmVjdXJzaXZlJywgJHJlY3Vyc2l2ZSk7DQokc21hcnR5LT5hc3NpZ24oJ3JlY3VyX29wdGlvbnMnLCBhcnJheSgNCiAgICAkdGhpcy0+TGFuZygnbm9uZScpID0+ICcnLA0KICAgICR0aGlzLT5MYW5nKCdkYWlseScpID0+ICdkYWlseScpKTsNCg0KJHdlZWtkYXlzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ3N1bmRheScpID0+ICcwJywNCiAgICAkdGhpcy0+TGFuZygnbW9uZGF5JykgPT4gJzEnLA0KICAgICR0aGlzLT5MYW5nKCd0dWVzZGF5JykgPT4gJzInLA0KICAgICR0aGlzLT5MYW5nKCd3ZWRuZXNkYXknKSA9PiAnMycsDQogICAgJHRoaXMtPkxhbmcoJ3RodXJzZGF5JykgPT4gJzQnLA0KICAgICR0aGlzLT5MYW5nKCdmcmlkYXknKSA9PiAnNScsDQogICAgJHRoaXMtPkxhbmcoJ3NhdHVyZGF5JykgPT4gJzYnKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF93ZWVrZGF5cycsICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAncmVjdXJfd2Vla2RheXNbXScsICR3ZWVrZGF5cywgZW1wdHkoJHJlY3VyX3dlZWtkYXlzKSA/IGFycmF5KCkgOiAkcmVjdXJfd2Vla2RheXMsIDcpKTsNCg0KDQoNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2FwcGx5JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsNCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29weV9hZG1pbicpKQ0KICAgICRzbWFydHktPmFzc2lnbignY29weScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjb3B5JywgbGFuZygnY29weScpLCAnJywgJycsICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpKTsNCg0KDQoNCiRjdXN0b21fZmxkc19vYmogPSAkZmlsdGVycy0+Z2VuZXJhdGUoJGl0ZW1faWQsICRwYXJhbXMpOw0KDQppZiAoaXNzZXQoJGN1c3RvbV9mbGRzX29iaikgJiYgY291bnQoJGN1c3RvbV9mbGRzX29iaikgPiAwKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXN0b21fZmllbGRkZWYnLCAkY3VzdG9tX2ZsZHNfb2JqKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCAkdGhpcyk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfYXJ0aWNsZScsICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2FydGljbGUnLCAkdGhpcy0+TGFuZygnYXJ0aWNsZScpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9oZWFkZXJzJywgJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpKTsNCiRzbWFydHktPmFzc2lnbignZW5kX3RhYl9oZWFkZXJzJywgJHRoaXMtPkVuZFRhYkhlYWRlcnMoKSk7DQoNCiRzbWFydHktPmFzc2lnbignZW5kX3RhYl9jb250ZW50JywgJHRoaXMtPkVuZFRhYkNvbnRlbnQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9jb250ZW50JywgJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpKTsNCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGFiX2FydGljbGUnLCAkdGhpcy0+U3RhcnRUYWIoJ2FydGljbGUnLCAkcGFyYW1zKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZF90YWJfYXJ0aWNsZScsICR0aGlzLT5FbmRUYWIoKSk7DQoNCi8vIHRhYiBzdHVmZi4NCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJldmlld19hZG1pbicpKSB7DQogICAgJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfcHJldmlldycsICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ByZXZpZXcnLCAkdGhpcy0+TGFuZygncHJldmlldycpKSk7DQoNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3RhYl9wcmV2aWV3JywgJHRoaXMtPlN0YXJ0VGFiKCdwcmV2aWV3JywgJHBhcmFtcykpOw0KICAgICRzbWFydHktPmFzc2lnbignZW5kX3RhYl9wcmV2aWV3JywgJHRoaXMtPkVuZFRhYigpKTsNCg0KICAgICRzbWFydHktPmFzc2lnbignd2FybmluZ19wcmV2aWV3JywgJHRoaXMtPkxhbmcoJ3dhcm5pbmdfcHJldmlldycpKTsNCiAgICAkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2aWV3X3JldHVybmlkJywgJGNvbnRlbnRvcHMtPkNyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCcnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kZXRhaWxfcmV0dXJuaWQnLCAtMSksICdwcmV2aWV3X3JldHVybmlkJykpOw0KICAgIHsNCiAgICAgICAgJHRtcCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7DQogICAgICAgICR0bXAyID0gYXJyYXkoKTsNCiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKyspIHsNCiAgICAgICAgICAgIGlmIChzdGFydHN3aXRoKCR0bXBbJGldLCAnZGV0YWlsX3RlbXBsYXRlJykpIHsNCiAgICAgICAgICAgICAgICAkeCA9IHN1YnN0cigkdG1wWyRpXSwgMTUpOw0KICAgICAgICAgICAgICAgICR0bXAyWyR4XSA9ICR4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbF90ZW1wbGF0ZScsICR0aGlzLT5MYW5nKCdkZXRhaWxfdGVtcGxhdGUnKSk7DQogICAgICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X2RldGFpbF9wYWdlJywgJHRoaXMtPkxhbmcoJ2RldGFpbF9wYWdlJykpOw0KICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2RldGFpbF90ZW1wbGF0ZXMnLCAkdG1wMik7DQogICAgICAgICRzbWFydHktPmFzc2lnbignY3VyX2RldGFpbF90ZW1wbGF0ZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X2RldGFpbF90ZW1wbGF0ZScpKTsNCiAgICB9DQp9DQoNCiRkZXRhaWxfcmV0dXJuaWQgPSAkZGVmYXVsdF9kZXRhaWxwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgLTEpOw0KJGRldGFpbHRlbXBsYXRlID0gJyc7DQokYWRtaW50aGVtZSA9ICR0aGVtZU9iamVjdCA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOw0KDQppZiAoaXNzZXQoJHJvdykpIHsNCiAgICBpZiAoZW1wdHkoJHJvd1sidXJsIl0pID09IGZhbHNlKSB7DQogICAgICAgICRwcmV0dHl1cmwgPSAkcm93WyJ1cmwiXTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkcHJldHR5dXJsID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJldHR5X3VybCgkdGhpcywgZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJlZml4KCR0aGlzKSwgJHJvd1snaXRlbV9pZCddLCAkcm93WydhbGlhcyddLCAoJGRlZmF1bHRfZGV0YWlscGFnZSA9PSAtMSAmJiAhaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSA/ICRkZXRhaWxwYWdlIDogKGlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6ICcnICkpLCAkZGV0YWlsdGVtcGxhdGUpOw0KICAgIH0NCiAgICAkcHJldmlld19saW5rID0gJHRoaXMtPkNyZWF0ZUZyb250ZW5kTGluaygkaWQsICRkZXRhaWxfcmV0dXJuaWQsICdkZXRhaWwnLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3ZpZXcuZ2lmJyksIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10sICdkZXRhaWx0ZW1wbGF0ZScgPT4gJGRldGFpbHRlbXBsYXRlKSwgJycsIGZhbHNlLCAkaW5saW5lLCAndGFyZ2V0PSJfYmxhbmsiJywgZmFsc2UsICRwcmV0dHl1cmwpOw0KICAgICRzbWFydHktPmFzc2lnbigncHJldmlld192aWV3JywgJHByZXZpZXdfbGluayk7DQp9DQoNCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGFzX2dhbGxlcnknKSkgew0KDQogICAgJHAgPSBnZW5lcmF0b3JfdG9vbHM6OmltYWdlcGF0aF9sb2NhdGlvbigkdGhpcywgJHJvdyk7DQogICAgY2dlX2Rpcjo6bWtkaXJyKCRwKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2dhbGxlcnlfcGF0aCcsICRwKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3JlZGlyZWN0X3VybCcsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRpdGVtJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ2NnX2FjdGl2ZXRhYicgPT4gJ2dhbGxlcnknLCAnaXRlbV9pZCcgPT4gJGl0ZW1faWQpLCAnJywgdHJ1ZSkpOw0KDQogICAgJGl0ZW1fZ2FsbGVyeSA9IG5ldyBnZW5lcmF0b3JfaXRlbV9nYWxsZXJ5KCR0aGlzLCAkaXRlbV9pZCk7DQogICAgJGZpbGVzID0gJGl0ZW1fZ2FsbGVyeS0+bG9hZF9maWxlcygpOw0KICAgIGlmIChlbXB0eSgkZmlsZXMpID09IGZhbHNlKSB7DQogICAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAka2V5ID0+ICRmaWxlKSB7DQoNCiAgICAgICAgICAgICRmaWxlc1ska2V5XVsiaW1hZ2VfbG9jYXRpb24iXSA9IGdlbmVyYXRvcl90b29sczo6aW1hZ2VfbG9jYXRpb24oJHRoaXMsICRyb3cpOw0KICAgICAgICAgICAgJGZpbGVzWyRrZXldWyJpbWFnZXBhdGhfbG9jYXRpb24iXSA9IGdlbmVyYXRvcl90b29sczo6aW1hZ2VwYXRoX2xvY2F0aW9uKCR0aGlzLCAkcm93KTsNCiAgICAgICAgICAgICRmaWxlc1ska2V5XVsiZGVsZXRlbGluayJdID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRlaW1hZ2UnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10sICdpbWFnZV9pZCcgPT4gJGZpbGVbJ2ltYWdlX2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsNCiAgICAgICAgICAgICRmaWxlc1ska2V5XVsiZWRpdGxpbmsiXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRpbWFnZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddLCAnaW1hZ2VfaWQnID0+ICRmaWxlWydpbWFnZV9pZCddKSk7DQogICAgICAgIH0NCiAgICB9DQogICAgJHNtYXJ0eS0+YXNzaWduKCdnYWxsZXJ5JywgJGZpbGVzKTsNCn0NCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdlZGl0aXRlbS50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_editoption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KaWYgKCFpc3NldCgkcGFyYW1zWyJ0YWIiXSkpIHsNCiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2VtcHR5X3BhcmFtJykpOw0KICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgJycsIGFycmF5KCksICdhZG1pbl9wcmVmcycpOw0KfQ0KDQppZiAoJHBhcmFtc1sidGFiIl0gPT0gIm1vZGUiKSB7DQoNCiAgICAkcHJlZnMgPSBhcnJheSgpOw0KDQogICAgJHByZWZzW10gPSAic3VtbWFyeV9wYWdlbGltaXQiOw0KICAgICRwcmVmc1tdID0gIm1vZGUiOw0KDQogICAgaWYgKCRwYXJhbXNbJ21vZGUnXSA9PSAnYWR2YW5jZWQnKSB7DQogICAgICAgICRwcmVmc1tdID0gInNvcnRvcmRlcl9hZHZhbmNlZCI7DQogICAgICAgICRwcmVmc1tdID0gInNvcnRieV9hZHZhbmNlZCI7DQogICAgfQ0KICAgIGlmICgkcGFyYW1zWydtb2RlJ10gPT0gJ3NpbXBsZScpIHsNCiAgICAgICAgJHByZWZzW10gPSAic29ydG9yZGVyX3NpbXBsZSI7DQogICAgICAgICRwcmVmc1tdID0gInNvcnRieV9zaW1wbGUiOw0KICAgIH0NCg0KICAgIGV4dGVuZGVkX3Rvb2xzX29wdHM6OnNldF9wcmVmZXJlbmNlcygkcHJlZnMsICRwYXJhbXMsICR0aGlzKTsNCn0gZWxzZSBpZiAoJHBhcmFtc1sidGFiIl0gPT0gIm9wdGlvbmVkaXRpbmd0YWIiKSB7DQoNCiAgICAkcHJlZnMgPSBhcnJheSgpOw0KICAgICRwcmVmc1tdID0gImhhc19nYWxsZXJ5IjsNCiAgICAkcHJlZnNbXSA9ICJnYWxsZXJ5X3NvcnRvcmRlciI7DQogICAgJHByZWZzW10gPSAicHJldmlld19hZG1pbiI7DQogICAgJHByZWZzW10gPSAiY29weV9hZG1pbiI7DQogICAgJHByZWZzW10gPSAiaXRlbV90aXRsZV9lZGl0IjsNCiAgICAkcHJlZnNbXSA9ICJpdGVtX2RhdGVfZWRpdCI7DQogICAgJHByZWZzW10gPSAiaXRlbV9kYXRlX2VuZF9lZGl0IjsNCiAgICAkcHJlZnNbXSA9ICJpdGVtX2NhdGVnb3J5X2VkaXQiOw0KICAgICRwcmVmc1tdID0gInJlY3Vyc2l2ZSI7DQogICAgJHByZWZzW10gPSAiaXRlbV9hbGlhc19lZGl0IjsNCiAgICAkcHJlZnNbXSA9ICJpdGVtX3VybF9lZGl0IjsNCg0KICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdjdXN0b21fZmllbGRzX2dhbGxlcnlfZGVmYXVsdCcpOw0KICAgIGlmIChpc3NldCgkcGFyYW1zWyJjdXN0b21fZmllbGRzX2dhbGxlcnlfZGVmYXVsdCJdKSkNCiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1c3RvbV9maWVsZHNfZ2FsbGVyeV9kZWZhdWx0JywgaW1wbG9kZSgnLCcsICRwYXJhbXNbImN1c3RvbV9maWVsZHNfZ2FsbGVyeV9kZWZhdWx0Il0pKTsNCg0KICAgIGV4dGVuZGVkX3Rvb2xzX29wdHM6OnNldF9wcmVmZXJlbmNlcygkcHJlZnMsICRwYXJhbXMsICR0aGlzKTsNCn0gZWxzZSBpZiAoJHBhcmFtc1sidGFiIl0gPT0gIm9wdGlvbnNlYXJjaHRhYiIpIHsNCg0KICAgICRwcmVmcyA9IGFycmF5KCk7DQogICAgJHByZWZzW10gPSAic2VhcmNoX2RhdGVfZW5kIjsNCiAgICAkcHJlZnNbXSA9ICJzZWFyY2hhYmxlIjsNCiAgICBleHRlbmRlZF90b29sc19vcHRzOjpzZXRfcHJlZmVyZW5jZXMoJHByZWZzLCAkcGFyYW1zLCAkdGhpcyk7DQoNCiAgICAvLyBzZXQgYWRtaW4gZmlsdGVycw0KICAgIGlmIChpc3NldCgkcGFyYW1zWydzZWFyY2hfY3VzdG9tX2ZpZWxkcyddKSkgew0KICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBzZWFyY2hhYmxlPT8gV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgZm9yZWFjaCAoJHBhcmFtc1snc2VhcmNoX2N1c3RvbV9maWVsZHMnXSBhcyAkZmllbGRkZWZfaWQgPT4gJGN1c3RvbV9maWVsZCkgew0KICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGN1c3RvbV9maWVsZCwgJGZpZWxkZGVmX2lkKSk7DQogICAgICAgIH0NCiAgICB9DQogICAgDQogICAgDQp9IGVsc2UgaWYgKCRwYXJhbXNbInRhYiJdID09ICJvcHRpb250YWIiKSB7DQoNCiAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnY3VzdG9tX2ZpZWxkc19kZWZhdWx0Jyk7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbImN1c3RvbV9maWVsZHNfZGVmYXVsdCJdKSkNCiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1c3RvbV9maWVsZHNfZGVmYXVsdCcsIGltcGxvZGUoJywnLCAkcGFyYW1zWyJjdXN0b21fZmllbGRzX2RlZmF1bHQiXSkpOw0KDQogICAgJHByZWZzID0gYXJyYXkoKTsNCiAgICAkcHJlZnNbXSA9ICJmcmllbmRseW5hbWUiOw0KICAgICRwcmVmc1tdID0gIml0ZW1fdGl0bGUiOw0KICAgICRwcmVmc1tdID0gIml0ZW1fc2luZ3VsYXIiOw0KICAgICRwcmVmc1tdID0gIml0ZW1fcGx1cmFsIjsNCiAgICAkcHJlZnNbXSA9ICJ1cmxfcHJlZml4IjsNCiAgICAkcHJlZnNbXSA9ICJkaXNwbGF5X2lubGluZSI7DQogICAgJHByZWZzW10gPSAidXNlcmdyb3VwX2RlcGVuZGVuY2UiOw0KICAgICRwcmVmc1tdID0gIml0ZW1fZGV0YWlsX3JldHVybmlkIjsNCiAgICAkcHJlZnNbXSA9ICJpdGVtX2NhdGVnb3J5X3JldHVybmlkIjsNCiAgICAkcHJlZnNbXSA9ICJpbWFnZXNfc2l6ZV9hZG1pbiI7DQogICAgJHByZWZzW10gPSAiaGFzX2FkbWluIjsNCiAgICAkcHJlZnNbXSA9ICJmaWx0ZXIiOw0KICAgICRwcmVmc1tdID0gImZpbHRlcl9jYXRlZ29yaWVzIjsNCiAgICAkcHJlZnNbXSA9ICJmaWx0ZXJfZGF0ZSI7DQoNCiAgICAvLyBzZXQgYWRtaW4gZmlsdGVycw0KICAgIGlmIChpc3NldCgkcGFyYW1zWydmaWx0ZXJfY3VzdG9tX2ZpZWxkcyddKSkgew0KICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBmaWx0ZXJfYWRtaW49PyBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICBmb3JlYWNoICgkcGFyYW1zWydmaWx0ZXJfY3VzdG9tX2ZpZWxkcyddIGFzICRmaWVsZGRlZl9pZCA9PiAkY3VzdG9tX2ZpZWxkKSB7DQogICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3VzdG9tX2ZpZWxkLCAkZmllbGRkZWZfaWQpKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGV4dGVuZGVkX3Rvb2xzX29wdHM6OnNldF9wcmVmZXJlbmNlcygkcHJlZnMsICRwYXJhbXMsICR0aGlzKTsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAkcGFyYW1zWyJ0YWIiXSwgYXJyYXkoKSwgJ2FkbWluX3ByZWZzJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkNCglyZXR1cm47DQoNCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsNCgkkcGFyYW1zID0gYXJyYXkoDQoJCSdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGV0YWInDQoJKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsNCn0NCg0KJHRwbF9pZCAgICAgICA9IG51bGw7DQokdGVtcGxhdGVuYW1lID0gJyc7DQokdGVtcGxhdGV0ZXh0ID0gJyc7DQokZXJyb3JzICAgICAgID0gYXJyYXkoKTsNCg0KLy8gaWYgJHBhcmFtc1sndHBsX2lkJ10gaXMgc3VwcGxpZWQgYW5kIGV4aXN0cywgcG9wdWxhdGUgd2l0aCB2YWx1ZXMgZnJvbSBkYXRhYmFzZQ0KaWYgKGlzc2V0KCRwYXJhbXNbJ3RwbF9pZCddKSkgew0KCSR0cGxfaWQgPSAoaW50KSAkcGFyYW1zWyd0cGxfaWQnXTsNCgkkcXVlcnkgID0gJ1NFTEVDVCBuYW1lLCBjb250ZW50IEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUgV0hFUkUgdHBsX2lkID0gPyc7DQoJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KA0KCQkkdHBsX2lkDQoJKSk7DQoJDQoJaWYgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsNCgkJJHRlbXBsYXRlbmFtZSA9ICRyb3dbJ25hbWUnXTsNCgkJJHRlbXBsYXRldGV4dCA9ICRyb3dbJ2NvbnRlbnQnXTsNCgl9DQp9DQoNCi8vIGhhbmRsZSBzdWJtaXQgb3IgYXBwbHkNCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkpIHsNCgkkdGVtcGxhdGVuYW1lID0gJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddOw0KCSR0ZW1wbGF0ZXRleHQgPSAkcGFyYW1zWyd0ZW1wbGF0ZV90ZXh0J107DQoJaWYgKCFpc3NldCgkdHBsX2lkKSkgew0KCQkkdGVtcGxhdGV0eXBlID0gJHBhcmFtc1sndGVtcGxhdGVfdHlwZSddOw0KCX0NCgkNCglpZiAoJHRlbXBsYXRlbmFtZSA9PSAnJykgew0KCQkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygndGVtcGxhdGVfbmFtZV9lbXB0eScpOw0KCX0NCgkNCglpZiAoZW1wdHkoJGVycm9ycykpIHsNCgkJaWYgKGlzc2V0KCR0cGxfaWQpKSB7DQoJCQkkcXVlcnkgID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ190ZW1wbGF0ZSBTRVQgbmFtZSA9ID8sIGNvbnRlbnQ9PyBXSEVSRSB0cGxfaWQgPSA/JzsNCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgNCgkJCQkkdGVtcGxhdGVuYW1lLA0KCQkJCSR0ZW1wbGF0ZXRleHQsDQoJCQkJJHRwbF9pZA0KCQkJKSk7DQoJCQlpZiAoISRyZXN1bHQpDQoJCQkJZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCgkJfSBlbHNlIHsNCgkJCSRxdWVyeSAgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUgKG5hbWUsIGNvbnRlbnQsIHR5cGUpIFZBTFVFUyAoPywgPywgPyknOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KA0KCQkJCSR0ZW1wbGF0ZW5hbWUsDQoJCQkJJHRlbXBsYXRldGV4dCwNCgkJCQkkdGVtcGxhdGV0eXBlDQoJCQkpKTsNCgkJCWlmICghJHJlc3VsdCkNCgkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KCQkJDQoJCQkvLyBwb3B1bGF0ZSAkdHBsX2lkIGZvciBuZXdseSBpbnNlcnRlZCBpdGVtDQoJCQkkdHBsX2lkID0gJGRiLT5JbnNlcnRfSUQoKTsNCgkJfQ0KCQkNCgkJaWYgKCFpc3NldCgkcGFyYW1zWydhcHBseSddKSkgew0KCQkJJHBhcmFtcyA9IGFycmF5KA0KCQkJCSd0YWJfbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcsDQoJCQkJJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXRhYicNCgkJCSk7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQl9IGVsc2Ugew0KCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoJ2NoYW5nZXNzYXZlZCcpKTsNCgkJfQ0KCX0NCn0NCg0KLy8gZGlzcGxheSBlcnJvcnMgaWYgdGhlcmUgYXJlIGFueQ0KaWYgKCFlbXB0eSgkZXJyb3JzKSkgew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7DQp9DQoNCmlmIChpc3NldCgkdHBsX2lkKSkgew0KCSRzbWFydHktPmFzc2lnbignaWRmaWVsZCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0cGxfaWQnLCAkdHBsX2lkKSk7DQp9DQoNCiRzbWFydHktPmFzc2lnbigndGl0bGUnLCAoaXNzZXQoJHRwbF9pZCkgPyAkdGhpcy0+TGFuZygnZWRpdHRlbXBsYXRlJykgOiBzcHJpbnRmKCR0aGlzLT5MYW5nKCdhZGR0ZW1wbGF0ZScpLCB1Y2ZpcnN0KCRwYXJhbXNbJ3R5cGUnXSkpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdHRlbXBsYXRlJywgJHJldHVybmlkKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygndGVtcGxhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICR0ZW1wbGF0ZXRleHQsICd0ZW1wbGF0ZV90ZXh0JykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9uYW1lJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlX25hbWUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RlbXBsYXRlX25hbWUnLCAkdGVtcGxhdGVuYW1lLCA0MCkpOw0KDQppZiAoIWlzc2V0KCR0cGxfaWQpKSB7DQoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90eXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RlbXBsYXRlX3R5cGUnLCAkcGFyYW1zWyd0eXBlJ10pKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbignYXBwbHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnYXBwbHknLCBsYW5nKCdhcHBseScpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOw0KDQplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZS50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_fields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmVjaG8gJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+JyAuCiAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2JhY2snKSwgJ2ljb25zL3N5c3RlbS9iYWNrLmdpZicsIGFycmF5KCksICcnLCAnJywgZmFsc2UpIC4gJzwvZGl2Pjxici8+JzsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgewogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdpdGVtcycsICR0aGlzLT5MYW5nKCdpdGVtcycpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcmllcycsICR0aGlzLT5MYW5nKCdjYXRlZ29yaWVzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdnYWxsZXJpZXMnLCAkdGhpcy0+TGFuZygnZ2FsbGVyaWVzJykpOwp9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignaXRlbXMnLCAkcGFyYW1zKTsKICAgIGluY2x1ZGUgR0VORVJBVE9SX01PRExJQl9QQVRIIC4gJy9mdW5jdGlvbi5hZG1pbl9maWVsZGRlZnRhYi5waHAnOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycsICRwYXJhbXMpOwogICAgaW5jbHVkZSBHRU5FUkFUT1JfTU9ETElCX1BBVEggLiAnL2Z1bmN0aW9uLmFkbWluX2ZpZWxkZGVmdGFiX2NhdGVnb3JpZXMucGhwJzsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2dhbGxlcmllcycsICRwYXJhbXMpOwogICAgaW5jbHVkZSBHRU5FUkFUT1JfTU9ETElCX1BBVEggLiAnL2Z1bmN0aW9uLmFkbWluX2ZpZWxkZGVmdGFiX2dhbGxlcmllcy5waHAnOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_imagesbulkaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpCiAgICByZXR1cm47CgokdGhpcy0+U2V0Q3VycmVudFRhYignZ2FsbGVyeScpOwoKaWYgKCFpc3NldCgkcGFyYW1zWyJpdGVtX2lkIl0pKQogICAgcmV0dXJuOwoKJGl0ZW1faWQgPSAkcGFyYW1zWyJpdGVtX2lkIl07CgokaXRlbV9nYWxsZXJ5ID0gbmV3IGdlbmVyYXRvcl9pdGVtX2dhbGxlcnkoJHRoaXMsICRpdGVtX2lkKTsKCmlmIChpc3NldCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBpc19hcnJheSgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSAmJiBjb3VudCgkcGFyYW1zWydtdWx0aXNlbGVjdCddKSkgewogICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHBhcmFtc1snbXVsdGlzZWxlY3QnXSk7ICRpKyspIHsKICAgICAgICAkcGFyYW1zWydtdWx0aXNlbGVjdCddWyRpXSA9IChpbnQpICRwYXJhbXNbJ211bHRpc2VsZWN0J11bJGldOwogICAgfQoKICAgIGZvcmVhY2ggKCRwYXJhbXNbJ211bHRpc2VsZWN0J10gYXMgJGltYWdlX2lkKSB7CiAgICAgICAgJHJlcyA9ICRpdGVtX2dhbGxlcnktPmRlbGV0ZV9pbWFnZSgkaW1hZ2VfaWQpOwogICAgICAgIAogICAgfQp9CiR0aGlzLT5TZXRtZXNzYWdlKCR0aGlzLT5MYW5nKCdvcGVyYXRpb25fY29tcGxldGUnKSk7CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2dhbGxlcnknLCBhcnJheSgnaXRlbV9pZCcgPT4gJGl0ZW1faWQpLCAnYWRtaW5fZWRpdGl0ZW0nKTsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_movefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KJGRhdGEgPSB0cmltKHRyaW0oJHBhcmFtc1snc2VyaWFsZGF0YSddKSwgJywnKTsNCiRkYXRhID0gZXhwbG9kZSgnLCcsICRkYXRhKTsNCg0KJHNvcnRpbmcgPSAxOw0KZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrKSB7DQogICAgJGl0ZW1faWQgPSAkZGF0YVskaV07DQogICAgaWYgKCEkaXRlbV9pZCkNCiAgICAgICAgY29udGludWU7DQogICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBTRVQgcG9zaXRpb24gPSA/IFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHNvcnRpbmcrKywgJGl0ZW1faWQpKTsNCiAgICANCn0NCg0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAkcGFyYW1zWyJzZWN0aW9uIl0sIGFycmF5KCksICdhZG1pbl9maWVsZHMnKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_moveimages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCiRkYXRhID0gdHJpbSh0cmltKCRwYXJhbXNbJ3NlcmlhbGRhdGEnXSksICcsJyk7DQppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2dhbGxlcnlfc29ydG9yZGVyJykgPT0gJ2Rlc2MnKSB7DQogICAgJGRhdGEgPSBhcnJheV9yZXZlcnNlKGV4cGxvZGUoJywnLCAkZGF0YSkpOw0KfSBlbHNlIHsNCiAgICAkZGF0YSA9IChleHBsb2RlKCcsJywgJGRhdGEpKTsNCn0NCiRpdGVtcyA9IGFycmF5KCk7DQokc29ydGluZyA9IDA7DQpmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkZGF0YSk7ICRpKyspIHsNCiAgICAkaW1hZ2VfaWQgPSAkZGF0YVskaV07DQogICAgaWYgKCEkaW1hZ2VfaWQpDQogICAgICAgIGNvbnRpbnVlOw0KDQogICAgJHNvcnRpbmcrKzsNCg0KICAgICRpbWFnZV9pZF9vbGQgPSAkaXRlbXNbJHNvcnRpbmddOw0KDQogICAgaWYgKCRpbWFnZV9pZCA9PSAkaW1hZ2VfaWRfb2xkKQ0KICAgICAgICBjb250aW51ZTsNCg0KICAgICRpdGVtID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfaW1hZ2UoJHRoaXMsICRpbWFnZV9pZCk7DQogICAgJGl0ZW1zWyRpdGVtWyJwb3NpdGlvbiJdXSA9ICRpdGVtWyJpbWFnZV9pZCJdOw0KfQ0KDQprc29ydCgkaXRlbXMpOw0KJGl0ZW1zMiA9IGFycmF5KCk7DQpmb3JlYWNoICgkaXRlbXMgYXMgJGtleSA9PiAkaXRlbSkgew0KICAgICRpdGVtczJbXSA9ICRrZXk7DQp9DQoNCg0KJGluZGV4ID0gMDsNCiRuZXdfc29ydGluZyA9IGFycmF5KCk7DQpmb3JlYWNoICgkZGF0YSBhcyAka2V5ID0+ICRkKSB7DQogICAgJG5ld19zb3J0aW5nWyRpdGVtczJbJGtleV1dID0gJGQ7DQp9DQoNCmZvcmVhY2ggKCRuZXdfc29ydGluZyBhcyAka2V5ID0+ICRpbWFnZV9pZCkgew0KICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaW1hZ2VzIFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgaW1hZ2VfaWQgPSA/JzsNCiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgka2V5LCAkaW1hZ2VfaWQpKTsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZ2FsbGVyeScsIGFycmF5KCdpdGVtX2lkJyA9PiAkcGFyYW1zWyJpdGVtX2lkIl0pLCAnYWRtaW5fZWRpdGl0ZW0nKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_moveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCiRkYXRhID0gdHJpbSh0cmltKCRwYXJhbXNbJ3NlcmlhbGRhdGEnXSksICcsJyk7DQppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvcnRvcmRlcl9zaW1wbGUnLCAnZGVzYycpID09ICdkZXNjJykgew0KICAgICRkYXRhID0gYXJyYXlfcmV2ZXJzZShleHBsb2RlKCcsJywgJGRhdGEpKTsNCn0gZWxzZSB7DQogICAgJGRhdGEgPSAoZXhwbG9kZSgnLCcsICRkYXRhKSk7DQp9DQoNCg0KDQokaXRlbXMgPSBhcnJheSgpOw0KJHNvcnRpbmcgPSAxOw0KZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrKSB7DQogICAgJGl0ZW1faWQgPSAkZGF0YVskaV07DQogICAgaWYgKCEkaXRlbV9pZCkNCiAgICAgICAgY29udGludWU7DQoNCiAgICAkc29ydGluZysrOw0KDQogICAgDQogICAgJGl0ZW1faWRfb2xkID0gaXNzZXQoJGl0ZW1zWyRzb3J0aW5nXSkgPyAkaXRlbXNbJHNvcnRpbmddIDogbnVsbCA7DQoNCiAgICBpZiAoJGl0ZW1faWQgPT0gJGl0ZW1faWRfb2xkKQ0KICAgICAgICBjb250aW51ZTsNCg0KICAgICRpdGVtID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfaXRlbSgkdGhpcywgJGl0ZW1faWQpOw0KICAgICRpdGVtc1skaXRlbVsicG9zaXRpb24iXV0gPSAkaXRlbVsiaXRlbV9pZCJdOw0KfQ0KDQprc29ydCgkaXRlbXMpOw0KJGl0ZW1zMiA9IGFycmF5KCk7DQpmb3JlYWNoICgkaXRlbXMgYXMgJGtleSA9PiAkaXRlbSkgew0KICAgICRpdGVtczJbXSA9ICRrZXk7DQp9DQoNCg0KJGluZGV4ID0gMDsNCiRuZXdfc29ydGluZyA9IGFycmF5KCk7DQpmb3JlYWNoICgkZGF0YSBhcyAka2V5ID0+ICRkKSB7DQogICAgJG5ld19zb3J0aW5nWyRpdGVtczJbJGtleV1dID0gJGQ7DQp9DQoNCmZvcmVhY2ggKCRuZXdfc29ydGluZyBhcyAka2V5ID0+ICRpdGVtX2lkKSB7DQogICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgaXRlbV9pZCA9ID8nOw0KICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRrZXksICRpdGVtX2lkKSk7DQogICAgQCR0aGlzLT5TZW5kRXZlbnQoJ0l0ZW1FZGl0ZWQnLCBhcnJheSgnaXRlbV9pZCcgPT4gJGl0ZW1faWQpKTsNCn0NCg0KDQoNCkAkdGhpcy0+U2VuZEV2ZW50KCdJdGVtc1Jlb3JkZXJlZCcsIGFycmF5KCkpOw0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnaXRlbXRhYicpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_ordercategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBVcGxvYWRzIC09IGFsbG93IHVzZXJzIHRvIHVwbG9hZCBzdHVmZiwgYSBwc2V1ZG8gZmlsZSBtYW5hZ2VyIiBtb2R1bGUKIyBBdXRob3I6IFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fb3JkZXJjYXRlZ29yeV9kbycsICRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCgokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeV9wb3NpdGlvbiI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCiRyb3djbGFzcyA9ICdyb3cxJzsKd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CiAgICAkb25lcm93ID0gY2dlX2FycmF5Ojp0b19vYmplY3QoJHJvdyk7CiAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKfQokc21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKJHNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwoKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdvcmRlcmNhdGVnb3J5LnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_ordercategory_do.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBVcGxvYWRzIC09IGFsbG93IHVzZXJzIHRvIHVwbG9hZCBzdHVmZiwgYSBwc2V1ZG8gZmlsZSBtYW5hZ2VyIiBtb2R1bGUKIyBBdXRob3I6IFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3JpZXMnKSkKICAgIHJldHVybjsKCgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pIHx8ICFpc3NldCgkX1BPU1RbJ2RhdGEnXSkpIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2NhdGVnb3J5dGFiJyk7Cn0KCmlmIChpc3NldCgkX1BPU1RbJ2RhdGEnXSkpIHsKICAgIAogICAgZnVuY3Rpb24gb3JkZXJjb250ZW50X2dldF9ub2RlX3JlYygkc3RyLCAkcHJlZml4ID0gJ2NhdGVnb3J5XycpIHsKICAgICAgICAkZ0NtcyA9IGNtc21zKCk7CiAgICAgICAgJHRyZWUgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoKICAgICAgICBpZiAoIWlzX251bWVyaWMoJHN0cikgJiYgc3RhcnRzd2l0aCgkc3RyLCAkcHJlZml4KSkgewogICAgICAgICAgICAkc3RyID0gc3Vic3RyKCRzdHIsIHN0cmxlbigkcHJlZml4KSk7CiAgICAgICAgfQoKICAgICAgICAkaWQgPSAoaW50KSAkc3RyOwogICAgICAgICR0bXAgPSAkdHJlZS0+ZmluZF9ieV90YWcoJ2lkJywgJGlkKTsKICAgICAgICAkY29udGVudCA9ICcnOwogICAgICAgIGlmICgkdG1wKSB7CiAgICAgICAgICAgICRjb250ZW50ID0gJHRtcC0+Z2V0Q29udGVudCgpOwogICAgICAgICAgICBpZiAoJGNvbnRlbnQpIHsKICAgICAgICAgICAgICAgICRyZWMgPSBhcmF5KCk7CiAgICAgICAgICAgICAgICAkcmVjWydpZCddID0gKGludCkgJHN0cjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBvcmRlcmNvbnRlbnRfY3JlYXRlX2ZsYXRsaXN0KCR0cmVlLCAkcGFyZW50X2lkID0gLTEpIHsKICAgICAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAgICAgJG9yZGVyID0gMTsKICAgICAgICBmb3JlYWNoICgkdHJlZSBhcyAmJG5vZGUpIHsKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCRub2RlKSAmJiBjb3VudCgkbm9kZSkgPT0gMikgewogICAgICAgICAgICAgICAgJHBpZCA9IHN1YnN0cigkbm9kZVswXSwgc3RybGVuKCdjYXRlZ29yeV8nKSk7CiAgICAgICAgICAgICAgICAkZGF0YVtdID0gYXJyYXkoJ2lkJyA9PiAkcGlkLCAncGFyZW50X2lkJyA9PiAkcGFyZW50X2lkLCAnb3JkZXInID0+ICRvcmRlcik7CiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJG5vZGVbMV0pICYmIGlzX2FycmF5KCRub2RlWzFdKSkgewogICAgICAgICAgICAgICAgICAgICRkYXRhID0gYXJyYXlfbWVyZ2UoJGRhdGEsIG9yZGVyY29udGVudF9jcmVhdGVfZmxhdGxpc3QoJG5vZGVbMV0sICRwaWQpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRwaWQgPSBzdWJzdHIoJG5vZGUsIHN0cmxlbignY2F0ZWdvcnlfJykpOwogICAgICAgICAgICAgICAgJGRhdGFbXSA9IGFycmF5KCdpZCcgPT4gJHBpZCwgJ3BhcmVudF9pZCcgPT4gJHBhcmVudF9pZCwgJ29yZGVyJyA9PiAkb3JkZXIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRvcmRlcisrOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgJGRhdGEgPSBqc29uX2RlY29kZSgkX1BPU1RbJ2RhdGEnXSk7CgoKICAgIC8vIHN0ZXAgMSwgY3JlYXRlIGEgZmxhdCBsaXN0IG9mIHRoZSBjb250ZW50IGl0ZW1zLCBhbmQgdGhlaXIgbmV3IG9yZGVycywgYW5kIG5ldyBwYXJlbnRzLgogICAgJGRhdGEgPSBvcmRlcmNvbnRlbnRfY3JlYXRlX2ZsYXRsaXN0KCRkYXRhKTsKCgoKICAgIC8vIHN0ZXAgMi4gbWVyZ2UgaW4gb2xkIG9yZGVycywgYW5kIG9sZCBwYXJlbnRzLgogICAgJGdDbXMgPSBjbXNtcygpOwogICAgJGRhdGEyID0gYXJyYXkoKTsKCiAgICAvLyBhbGwgY2F0ZWdvcmllcwogICAgJHF1ZXJ5ID0gIlNFTEVDVCBjYXRlZ29yeV9pZCxwYXJlbnRfaWQscG9zaXRpb24gRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeV9wb3NpdGlvbiI7CiAgICAkY2F0ZWdvcmllcyA9ICRkYi0+R2V0QWxsKCRxdWVyeSk7CiAgICAkY2F0X2FycmF5ID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRjYXRlZ29yaWVzIGFzICRjYXRlZ29yeSkgewogICAgICAgICRjYXRfYXJyYXlbJGNhdGVnb3J5WyJjYXRlZ29yeV9pZCJdXSA9IGFycmF5KCRjYXRlZ29yeVsicGFyZW50X2lkIl0sJGNhdGVnb3J5WyJwb3NpdGlvbiJdKTsKICAgIH0KCgogICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrKSB7CiAgICAgICAgJHJlYyA9ICYgJGRhdGFbJGldOwogICAgICAgICRvbGRfY2F0ZWdvcnkgPSAkY2F0X2FycmF5WyRyZWNbJ2lkJ11dOwogICAgICAgIGlmICgkb2xkX2NhdGVnb3J5KSB7CiAgICAgICAgICAgICRyZWNbJ29sZF9wYXJlbnQnXSA9ICRvbGRfY2F0ZWdvcnlbMF07CiAgICAgICAgICAgICRyZWNbJ29sZF9vcmRlciddID0gJG9sZF9jYXRlZ29yeVsxXTsKCiAgICAgICAgICAgIGlmICgoJHJlY1snb2xkX3BhcmVudCddICE9ICRyZWNbJ3BhcmVudF9pZCddKSB8fAogICAgICAgICAgICAgICAgICAgICRyZWNbJ29sZF9vcmRlciddICE9ICRyZWNbJ29yZGVyJ10pIHsKICAgICAgICAgICAgICAgICRkYXRhMltdID0gJHJlYzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAKICAgIC8vIGRvIHRoZSB1cGRhdGVzCiAgICBpZiAoY291bnQoJGRhdGEyKSA+IDApIHsKICAgICAgICAkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgY29udGVudCBTRVQgcG9zaXRpb24gPSA/LCBwYXJlbnRfaWQgPSA/IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEyKTsgJGkrKykgewogICAgICAgICAgICAkcmVjID0gJiAkZGF0YTJbJGldOwogICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcmVjWydvcmRlciddLCAkcmVjWydwYXJlbnRfaWQnXSwgJHJlY1snaWQnXSkpOwogICAgICAgICAgICBAJHRoaXMtPlNlbmRFdmVudCgnQ2F0ZWdvcnlFZGl0ZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRyZWNbJ2lkJ10pKTsKICAgICAgICB9CiAgICAgICAgZ2VuZXJhdG9yX3Rvb2xzOjp1cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygkdGhpcyk7CiAgICAgICAgQCR0aGlzLT5TZW5kRXZlbnQoJ0NhdGVnb3J5UmVvcmRlcmVkJywgYXJyYXkoKSk7CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gbGFuZygnbm90aGluZ3RvZG8nKTsKICAgICAgICByZXR1cm47CiAgICB9Cn0KCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4nIC4NCiAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2JhY2snKSwgJ2ljb25zL3N5c3RlbS9iYWNrLmdpZicsIGFycmF5KCksICcnLCAnJywgZmFsc2UpIC4gJzwvZGl2Pjxici8+JzsNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7DQoNCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSB7DQogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdtb2RlJywgJHRoaXMtPkxhbmcoJ21vZGUnKSk7DQogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdvcHRpb250YWInLCAkdGhpcy0+TGFuZygnZ2VuZXJhbCcpKTsNCiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbmVkaXRpbmd0YWInLCAkdGhpcy0+TGFuZygnZWRpdGluZycpKTsNCiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnNlYXJjaHRhYicsICR0aGlzLT5MYW5nKCdzZWFyY2gnKSk7DQp9DQoNCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KDQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgew0KDQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ21vZGUnLCAkcGFyYW1zKTsNCiAgICBpbmNsdWRlIEdFTkVSQVRPUl9NT0RMSUJfUEFUSCAuICcvZnVuY3Rpb24uYWRtaW5fbW9kZXRhYi5waHAnOw0KICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOw0KICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdvcHRpb250YWInLCAkcGFyYW1zKTsNCiAgICBpbmNsdWRlIEdFTkVSQVRPUl9NT0RMSUJfUEFUSCAuICcvZnVuY3Rpb24uYWRtaW5fb3B0aW9udGFiLnBocCc7DQogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7DQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ29wdGlvbmVkaXRpbmd0YWInLCAkcGFyYW1zKTsNCiAgICBpbmNsdWRlIEdFTkVSQVRPUl9NT0RMSUJfUEFUSCAuICcvZnVuY3Rpb24uYWRtaW5fb3B0aW9uZWRpdGluZ3RhYi5waHAnOw0KICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOw0KICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdvcHRpb25zZWFyY2h0YWInLCAkcGFyYW1zKTsNCiAgICBpbmNsdWRlIEdFTkVSQVRPUl9NT0RMSUJfUEFUSCAuICcvZnVuY3Rpb24uYWRtaW5fb3B0aW9uc2VhcmNodGFiLnBocCc7DQogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQoNCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_search_reindex.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU2VhcmNoJyk7DQppZiAoJHNlYXJjaCAhPSBGQUxTRSkgew0KICAgICR0aGlzLT5TZWFyY2hSZWluZGV4KCRzZWFyY2gpOw0KfQ0KDQokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICdvcHRpb250YWInKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.admin_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBVcGxvYWRzIC09IGFsbG93IHVzZXJzIHRvIHVwbG9hZCBzdHVmZiwgYSBwc2V1ZG8gZmlsZSBtYW5hZ2VyIiBtb2R1bGUKIyBBdXRob3I6IFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4nIC4KICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYmFjaycpLCAnaWNvbnMvc3lzdGVtL2JhY2suZ2lmJywgYXJyYXkoKSwgJycsICcnLCBmYWxzZSkgLiAnPC9kaXY+PGJyLz4nOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykpIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcnlfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnY2F0ZWdvcnlfdGVtcGxhdGUnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3N1bW1hcnlfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnc3VtbWFyeV90ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGV0YWlsX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2RldGFpbF90ZW1wbGF0ZScpKTsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZmlsdGVyX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2ZpbHRlcl90ZW1wbGF0ZScpKTsKICAgIC8vZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkZWZhdWx0X3RlbXBsYXRlcycsICR0aGlzLT5MYW5nKCdkZWZhdWx0X3RlbXBsYXRlcycpKTsKfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpKSB7CiAgICAvLyB0aGUgY2F0ZWdvcnkgdGVtcGxhdGUgdGFiCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcnlfdGVtcGxhdGUnKTsKICAgIGVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCAkcmV0dXJuaWQsICdjYXRlZ29yeV90ZW1wbGF0ZScsICdkZWZhdWx0X2NhdGVnb3J5X3RlbXBsYXRlJywgJ2NhdGVnb3J5X3RlbXBsYXRlJywgJ2N1cnJlbnRfY2F0ZWdvcnlfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnYWRkZWRpdF9jYXRlZ29yeV90ZW1wbGF0ZScpLCAnYWRtaW5fdGVtcGxhdGVzJywgJ2FkbWluX3RlbXBsYXRlcycpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgLy8gdGhlIHN1bW1hcnkgdGVtcGxhdGUgdGFiCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigic3VtbWFyeV90ZW1wbGF0ZSIpOwogICAgZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsICRyZXR1cm5pZCwgJ3N1bW1hcnlfdGVtcGxhdGUnLCAnZGVmYXVsdF9zdW1tYXJ5X3RlbXBsYXRlJywgJ3N1bW1hcnlfdGVtcGxhdGUnLCAnY3VycmVudF9zdW1tYXJ5X3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZScpLCAnYWRtaW5fdGVtcGxhdGVzJywgJ2FkbWluX3RlbXBsYXRlcycpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgLy8gdGhlIGRldGFpbCB0ZW1wbGF0ZSB0YWIKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJkZXRhaWxfdGVtcGxhdGUiKTsKICAgIGVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCAkcmV0dXJuaWQsICdkZXRhaWxfdGVtcGxhdGUnLCAnZGVmYXVsdF9kZXRhaWxfdGVtcGxhdGUnLCAnZGV0YWlsX3RlbXBsYXRlJywgJ2N1cnJlbnRfZGV0YWlsX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJyksICdhZG1pbl90ZW1wbGF0ZXMnLCAnYWRtaW5fdGVtcGxhdGVzJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgICAvLyB0aGUgZmlsdGVyIHRlbXBsYXRlIHRhYgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoImZpbHRlcl90ZW1wbGF0ZSIpOwogICAgZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsICRyZXR1cm5pZCwgJ2ZpbHRlcl90ZW1wbGF0ZScsICdkZWZhdWx0X2ZpbHRlcl90ZW1wbGF0ZScsICdmaWx0ZXJfdGVtcGxhdGUnLCAnY3VycmVudF9maWx0ZXJfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygnYWRkZWRpdF9maWx0ZXJfdGVtcGxhdGUnKSwgJ2FkbWluX3RlbXBsYXRlcycsICdhZG1pbl90ZW1wbGF0ZXMnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKCiAgICAvLyB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMgdGFiCiAgICAvKiBlY2hvICR0aGlzLT5TdGFydFRhYignZGVmYXVsdF90ZW1wbGF0ZXMnKTsKCiAgICAgIGVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsICRpZCwgJHJldHVybmlkLCAnY2F0ZWdvcnlfc3lzZGVmYXVsdCcsICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLCAkdGhpcy0+TGFuZygndGl0bGVfY2F0ZWdvcnlfc3lzZGVmYXVsdCcpLCAnb3JpZ19jYXRlZ29yeV90ZW1wbGF0ZS50cGwnLCAkdGhpcy0+TGFuZygnaW5mb19zeXNkZWZhdWx0JykpOwogICAgICBlY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCAkaWQsICRyZXR1cm5pZCwgJ3N1bW1hcnlfc3lzZGVmYXVsdCcsICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLCAkdGhpcy0+TGFuZygndGl0bGVfc3VtbWFyeV9zeXNkZWZhdWx0JyksICdvcmlnX3N1bW1hcnlfdGVtcGxhdGUudHBsJywgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGVmYXVsdCcpKTsKICAgICAgZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywgJGlkLCAkcmV0dXJuaWQsICdkZXRhaWxfc3lzZGVmYXVsdCcsICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLCAkdGhpcy0+TGFuZygndGl0bGVfZGV0YWlsX3N5c2RlZmF1bHQnKSwgJ29yaWdfZGV0YWlsX3RlbXBsYXRlLnRwbCcsICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHQnKSk7CgoKICAgICAgZWNobyAnPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDogODAlOyI+PC9kaXY+JzsKCiAgICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOyAqLwp9CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCi8vIHRlbXBsYXRlCiR0aGV0ZW1wbGF0ZSA9ICdjYXRlZ29yeV90ZW1wbGF0ZScgLiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9jYXRlZ29yeV90ZW1wbGF0ZScpOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnl0ZW1wbGF0ZSddKSkKICAgICR0aGV0ZW1wbGF0ZSA9ICdjYXRlZ29yeV90ZW1wbGF0ZScgLiAkcGFyYW1zWydjYXRlZ29yeXRlbXBsYXRlJ107CgokY2FjaGVfaWQgPSAnYycgLiAkdGhpcy0+R2V0TmFtZSgpIC4gbWQ1KHNlcmlhbGl6ZSgkcGFyYW1zKSk7CiRjb21waWxlX2lkID0gJyc7CgppZiAoISRzbWFydHktPmlzQ2FjaGVkKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGV0ZW1wbGF0ZSksICRjYWNoZV9pZCwgJGNvbXBpbGVfaWQpKSB7CgogICAgJGl0ZW1zID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfY2F0ZWdvcmllcygkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoKICAgIC8vIHJldHVybiBmaXJzdCByb3cKICAgIGlmIChpc3NldCgkcGFyYW1zWyJvbmVyb3ciXSkpIHsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1sib25lcm93Il0sIChpc3NldCgkaXRlbXNbMF0pID8gJGl0ZW1zWzBdIDogJycpKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy9yZXR1cm4gIGFsbCByZXN1bHRzCiAgICBpZiAoaXNzZXQoJHBhcmFtc1siYWxscm93Il0pKSB7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFsbHJvdyJdLCAkaXRlbXMpOwogICAgICAgIHJldHVybjsKICAgIH0KCgojRGlzcGxheSB0ZW1wbGF0ZQogICAgJHNtYXJ0eS0+YXNzaWduKCdjb3VudCcsIGNvdW50KCRpdGVtcykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjYXRzJywgJGl0ZW1zKTsKfQoKCmVjaG8gJHNtYXJ0eS0+ZmV0Y2goJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJHRoZXRlbXBsYXRlKSwgJGNhY2hlX2lkLCAkY29tcGlsZV9pZCk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KI0JFR0lOX0xJQ0VOU0UNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogICBAa3V6bWFueSAoa3V6bWFueS5iaXopDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiNFTkRfTElDRU5TRQ0KDQokZmllbGRkZWZzID0gJyc7DQokdG1wID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRzKCR0aGlzLCBmYWxzZSk7DQoNCmlmIChpc19hcnJheSgkdG1wKSkgew0KICAgICRmaWVsZGRlZnMgPSBhcnJheSgpOw0KICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrKSB7DQogICAgICAgICRvYmogPSBjZ2VfYXJyYXk6OnRvX29iamVjdCgkdG1wWyRpXSk7DQogICAgICAgICRmaWVsZGRlZnNbJG9iai0+YWxpYXNdID0gJG9iajsNCiAgICB9DQp9DQoNCg0KDQokcXVlcnkgPSAnJzsNCiRxdWVyeTIgPSAnJzsNCiRjb3VudCA9ICcnOw0KJHBhZ2UgPSAnJzsNCiRzdGFydGVsZW1lbnQgPSAnJzsNCiRsaW1pdCA9IDk5OTk5Ow0KJGl0ZW1saXN0ID0gJyc7DQokc29ydHR5cGUgPSAnJzsNCiRjb3VudGpvaW5zID0gYXJyYXkoKTsNCiRqb2lucyA9IGFycmF5KCk7DQokc29ydGZpZWxkID0gMTsNCnVuc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKTsNCiRpbmxpbmUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCBmYWxzZSk7DQokZGVmYXVsdF9kZXRhaWxwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGV0YWlsX3JldHVybmlkJywgJycpOw0KJGRldGFpbHBhZ2UgPSAkZGVmYXVsdF9kZXRhaWxwYWdlOw0KaWYgKCFpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pICYmIGlzc2V0KCRwYXJhbXNbInJldHVybmlkIl0pKQ0KICAgICRwYXJhbXNbImRldGFpbHBhZ2UiXSA9ICRwYXJhbXNbInJldHVybmlkIl07DQokZGV0YWlscGFnZSA9IGV4dGVuZGVkX3Rvb2xzX29wdHM6OmRldGFpbHBhZ2UoJHBhcmFtcywgJGRldGFpbHBhZ2UpOw0KaWYgKCRkZXRhaWxwYWdlID09ICRkZWZhdWx0X2RldGFpbHBhZ2UpDQogICAgdW5zZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKTsNCg0KJGRldGFpbHRlbXBsYXRlID0gJyc7DQokZmlsdGVycyA9IGFycmF5KCk7DQokZmllbGRzID0gYXJyYXkoKTsNCiRmaWVsZHMyID0gYXJyYXkoKTsNCiRkYXRlX3RvID0gJyc7DQokZGF0ZV9mcm9tID0gJyc7DQokY2F0ZWdvcnlfaWQgPSAtMTsNCiRwYXJhbWFycmF5dG1wID0gYXJyYXkoKTsNCiRncm91cGJ5ID0gJyc7DQoNCg0KLy8gdGVtcGxhdGUNCiR0aGV0ZW1wbGF0ZSA9ICdzdW1tYXJ5X3RlbXBsYXRlJyAuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X3N1bW1hcnlfdGVtcGxhdGUnKTsNCmlmIChpc3NldCgkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXSkpIHsNCiAgICAkdGhldGVtcGxhdGUgPSAnc3VtbWFyeV90ZW1wbGF0ZScgLiAkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXTsNCn0NCg0KLy8gdGVtcGxhdGUNCmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSkNCiAgICAkZGV0YWlsdGVtcGxhdGUgPSAkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOw0KDQokY2FjaGVfaWQgPSAncycgLiAkdGhpcy0+R2V0TmFtZSgpIC4gbWQ1KHNlcmlhbGl6ZSgkcGFyYW1zKSk7DQokY29tcGlsZV9pZCA9ICcnOw0KDQppZiAoISRzbWFydHktPmlzQ2FjaGVkKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGV0ZW1wbGF0ZSksICRjYWNoZV9pZCwgJGNvbXBpbGVfaWQpKSB7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSkgew0KICAgICAgICAkaW5saW5lID0gJHBhcmFtc1snaW5saW5lJ107DQogICAgfQ0KDQoNCi8vIGRhdGUgZnJvbQ0KICAgIGlmIChpc3NldCgkcGFyYW1zWydkYXRlZnJvbSddKSkgew0KICAgICAgICAkZGF0ZV9mcm9tID0gJHBhcmFtc1snZGF0ZWZyb20nXTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGVmcm9tTW9udGgnXSkpIHsNCiAgICAgICAgJGRhdGVfZnJvbSA9IG1rdGltZSgwLCAwLCAwLCAkcGFyYW1zWydkYXRlZnJvbU1vbnRoJ10sICRwYXJhbXNbJ2RhdGVmcm9tRGF5J10sICRwYXJhbXNbJ2RhdGVmcm9tWWVhciddKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGV0byddKSkgew0KICAgICAgICAkZGF0ZV90byA9ICRwYXJhbXNbJ2RhdGV0byddOw0KICAgIH0NCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snZGF0ZXRvTW9udGgnXSkpIHsNCiAgICAgICAgJGRhdGVfdG8gPSBta3RpbWUoMjMsIDU5LCA1OSwgJHBhcmFtc1snZGF0ZXRvTW9udGgnXSwgJHBhcmFtc1snZGF0ZXRvRGF5J10sICRwYXJhbXNbJ2RhdGV0b1llYXInXSk7DQogICAgfQ0KDQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2l0ZW1fZGF0ZV9mcm9tX3RvJ10pKSB7DQogICAgICAgICRkYXRlX2Zyb21fdG8gPSBleHBsb2RlKCd8JywgJHBhcmFtc1snaXRlbV9kYXRlX2Zyb21fdG8nXSk7DQogICAgICAgIGlmIChjb3VudCgkZGF0ZV9mcm9tX3RvKSA9PSAyKSB7DQogICAgICAgICAgICAkZGF0ZV9mcm9tID0gZ2VuZXJhdG9yX3Rvb2xzOjpwcm9jZXNzX2ZpbHRlcl9kYXRlKCRkYXRlX2Zyb21fdG9bMF0pOw0KICAgICAgICAgICAgJGRhdGVfdG8gPSBnZW5lcmF0b3JfdG9vbHM6OnByb2Nlc3NfZmlsdGVyX2RhdGUoJGRhdGVfZnJvbV90b1sxXSk7DQogICAgICAgIH0NCiAgICB9DQoNCi8vY2F0ZWdvcnkgaWQNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1siY2F0ZWdvcnlfaWQiXSkpIHsNCiAgICAgICAgJGNhdGVnb3J5X2lkID0gaW50dmFsKCRwYXJhbXNbImNhdGVnb3J5X2lkIl0pOw0KICAgIH0NCg0KDQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2l0ZW1saXN0J10pKSB7DQogICAgICAgICRpdGVtbGlzdCA9ICRwYXJhbXNbJ2l0ZW1saXN0J107DQogICAgICAgIHVuc2V0KCRwYXJhbXNbJ2l0ZW1saXN0J10pOw0KICAgICAgICBpZiAoIWlzX2FycmF5KCRpdGVtbGlzdCkpIHsNCiAgICAgICAgICAgICRpdGVtbGlzdCA9IGV4cGxvZGUoJywnLCAkaXRlbWxpc3QpOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmICghKGlzX2FycmF5KCRpdGVtbGlzdCkgJiYgY291bnQoJGl0ZW1saXN0KSA+IDApKSB7DQogICAgICAgIC8vIHdlIGRvbid0IGhhdmUgYW4gZXhwbGljaXQgcHJvZHVjdCBsaXN0LCBzbyBnb3R0YSBidWlsZCBhIHF1ZXJ5DQogICAgICAgIC8vIGZyb20gb3RoZXIgcGFyYW1ldGVycw0KICAgICAgICAkc29ydG9yZGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvcnRvcmRlcl8nIC4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21vZGUnKSwgJ2Rlc2MnKTsNCiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3NvcnRvcmRlciddKSkgew0KICAgICAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRvcmRlciddKSkgew0KICAgICAgICAgICAgICAgIGNhc2UgJ2FzYyc6DQogICAgICAgICAgICAgICAgY2FzZSAnZGVzYyc6DQogICAgICAgICAgICAgICAgICAgICRzb3J0b3JkZXIgPSAkcGFyYW1zWydzb3J0b3JkZXInXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICRzb3J0YnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5XycgLiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kZScpLCAncG9zaXRpb24nKTsNCiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3NvcnRieSddKSkgew0KICAgICAgICAgICAgJHRtcCA9IHN0cnRvbG93ZXIodHJpbSgkcGFyYW1zWydzb3J0YnknXSkpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJHRtcCA9ICRzb3J0Ynk7DQogICAgICAgIH0NCiAgICAgICAgc3dpdGNoICgkdG1wKSB7DQogICAgICAgICAgICBjYXNlICdpZCc6DQogICAgICAgICAgICAgICAgJHNvcnRieSA9ICdpZCc7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICdpdGVtX2RhdGUnOg0KICAgICAgICAgICAgICAgICRzb3J0YnkgPSAnaXRlbV9kYXRlJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ3Bvc2l0aW9uJzoNCiAgICAgICAgICAgICAgICAkc29ydGJ5ID0gJ3Bvc2l0aW9uJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ3RpdGxlJzoNCiAgICAgICAgICAgICAgICAkc29ydGJ5ID0gJ3RpdGxlJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ2NyZWF0ZWQnOg0KICAgICAgICAgICAgICAgICRzb3J0YnkgPSAnY3JlYXRlX2RhdGUnOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAnbW9kaWZpZWQnOg0KICAgICAgICAgICAgICAgICRzb3J0YnkgPSAnbW9kaWZpZWRfZGF0ZSc7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICdyYW5kb20nOg0KICAgICAgICAgICAgICAgICRzb3J0YnkgPSAnUkFORCgpJzsNCiAgICAgICAgICAgICAgICAkc29ydG9yZGVyID0gJyc7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgIGlmIChzdGFydHN3aXRoKCR0bXAsICdmOicpKSB7DQogICAgICAgICAgICAgICAgICAgICRmaWVsZG5hbWUgPSBzdWJzdHIoJHRtcCwgc3RybGVuKCdmOicpKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRmaWVsZGRlZnNbJGZpZWxkbmFtZV0pKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkZmllbGRpZCA9ICRmaWVsZGRlZnNbJGZpZWxkbmFtZV0tPmZpZWxkZGVmX2lkOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFzID0gJ0ZWJyAuICRzb3J0ZmllbGQrKzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZHZhbCB7JGFzfSBPTiBjLml0ZW1faWQgPSB7JGFzfS5pdGVtX2lkIEFORCAkYXMuZmllbGRkZWZfaWQgPSAneyRmaWVsZGlkfSciOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHNvcnRieSA9ICJ7JGFzfS52YWx1ZSI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoJHNvcnRieSA9PSAncmFuZG9tJykgew0KICAgICAgICAgICAgJHNvcnRieSA9ICdSQU5EKCknOw0KICAgICAgICAgICAgJHNvcnRvcmRlciA9ICcnOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3NvcnR0eXBlJ10pKSB7DQogICAgICAgICAgICAkdG1wID0gdHJpbSgkcGFyYW1zWydzb3J0dHlwZSddKTsNCiAgICAgICAgICAgICR0bXAgPSBzdHJ0b3VwcGVyKCR0bXApOw0KICAgICAgICAgICAgc3dpdGNoICgkdG1wKSB7DQogICAgICAgICAgICAgICAgY2FzZSAnU1RSSU5HJzoNCiAgICAgICAgICAgICAgICAgICAgJHNvcnR0eXBlID0gJyc7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgJ1NJR05FRCc6DQogICAgICAgICAgICAgICAgY2FzZSAnVU5TSUdORUQnOg0KICAgICAgICAgICAgICAgICAgICAkc29ydHR5cGUgPSAkdG1wOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICRsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5X3BhZ2VsaW1pdF8nIC4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21vZGUnKSwgMTAwMDApOw0KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1sncGFnZWxpbWl0J10pICYmICRwYXJhbXNbJ3BhZ2VsaW1pdCddID4gMCkgew0KICAgICAgICAgICAgJGxpbWl0ID0gKGludCkgJHBhcmFtc1sncGFnZWxpbWl0J107DQogICAgICAgIH0NCg0KICAgICAgICAkbGltaXQgPSBtYXgoJGxpbWl0LCAxKTsNCiAgICAgICAgJGxpbWl0ID0gbWluKCRsaW1pdCwgMTAwMDApOw0KDQoNCiAgICAgICAgJHBhZ2UgPSAxOw0KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1sncGFnZSddKSkgew0KICAgICAgICAgICAgJHBhZ2UgPSAoaW50KSAkcGFyYW1zWydwYWdlJ107DQogICAgICAgICAgICBpZiAoJHBhZ2UgPCAxKQ0KICAgICAgICAgICAgICAgICRwYWdlID0gMTsNCiAgICAgICAgfQ0KICAgICAgICAkc3RhcnRlbGVtZW50ID0gKCRwYWdlIC0gMSkgKiAkbGltaXQ7DQoNCiAgICAgICAgJGNhdGVnb3J5ID0gJyc7DQogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSkgew0KICAgICAgICAgICAgJGNhdGVnb3J5ID0gdHJpbSgkcGFyYW1zWydjYXRlZ29yeSddKTsNCiAgICAgICAgfQ0KICAgICAgICAkY2F0ZWdvcnlpZCA9IC0xMDA7DQogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yeWlkJ10pKSB7DQogICAgICAgICAgICAkY2F0ZWdvcnlpZCA9IChpbnQpICRwYXJhbXNbJ2NhdGVnb3J5aWQnXTsNCiAgICAgICAgfQ0KDQogICAgICAgICRmaWVsZGlkID0gLTEwMDsNCiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2ZpZWxkaWQnXSkpIHsNCiAgICAgICAgICAgICRmaWVsZGlkID0gKGludCkgJHBhcmFtc1snZmllbGRpZCddOw0KICAgICAgICB9DQogICAgICAgICRmaWVsZHZhbCA9ICcnOw0KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1snZmllbGR2YWwnXSkpIHsNCiAgICAgICAgICAgICRmaWVsZHZhbCA9IHRyaW0oJHBhcmFtc1snZmllbGR2YWwnXSk7DQogICAgICAgIH0NCg0KLy8NCi8vIEJ1aWxkIHRoZSBxdWVyaWVzDQovLw0KICAgICAgICAkaXRlbXNhcnJheSA9IGFycmF5KCk7DQogICAgICAgICRlbnRyeWFycmF5ID0gYXJyYXkoKTsNCiAgICAgICAgJHBhcmFtYXJyYXkgPSBhcnJheSgpOw0KICAgICAgICAkcGFyYW1hcnJheTIgPSBhcnJheSgpOw0KICAgICAgICAkd2hlcmUgPSBhcnJheSgpOw0KICAgICAgICAkd2hlcmUyID0gYXJyYXkoKTsNCiAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCBjLiosPEZJRUxEUz4gRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9pdGVtIGMiOw0KICAgICAgICAkcXVlcnkyID0gIlNFTEVDVCBjb3VudCgqKSBhcyBjb3VudCw8RklFTERTPiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gYyI7DQogICAgICAgICR3aGVyZVtdID0gJ2MuYWN0aXZlID0gPyc7DQogICAgICAgICRwYXJhbWFycmF5W10gPSAxOw0KDQogICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgY2EgT04gY2EuY2F0ZWdvcnlfaWQgPSBjLmNhdGVnb3J5X2lkJzsNCiAgICAgICAgJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgY2EgT04gY2EuY2F0ZWdvcnlfaWQgPSBjLmNhdGVnb3J5X2lkJzsNCiAgICAgICAgJGZpZWxkc1tdID0gJ2NhLmNhdGVnb3J5X25hbWUnOw0KDQoNCiAgICAgICAgaWYgKCRjYXRlZ29yeV9pZCA+IDApIHsNCiAgICAgICAgICAgICR3aGVyZVtdID0gJ2NhLmNhdGVnb3J5X2lkID0gPyc7DQogICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGNhdGVnb3J5X2lkOw0KICAgICAgICB9IGVsc2UgaWYgKGVtcHR5KCRjYXRlZ29yeSkgPT0gZmFsc2UpIHsNCiAgICAgICAgICAgICRjYXRlZ29yeSA9IGNtc19odG1sX2VudGl0eV9kZWNvZGUoJGNhdGVnb3J5KTsNCiAgICAgICAgICAgICRjYXRlZ29yaWVzID0gZXhwbG9kZSgnLCcsICRjYXRlZ29yeSk7DQoNCg0KDQogICAgICAgICAgICAkcXVlcnl0bXAgPSAiICgiOw0KICAgICAgICAgICAgJGNvdW50ID0gMDsNCiAgICAgICAgICAgIGZvcmVhY2ggKCRjYXRlZ29yaWVzIGFzICRvbmVjYXQpIHsNCiAgICAgICAgICAgICAgICBpZiAoJGNvdW50ID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAkcXVlcnl0bXAgLj0gJyBPUiAnOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoc3RycG9zKCRvbmVjYXQsICd8JykgIT09IEZBTFNFIHx8IHN0cnBvcygkb25lY2F0LCAnKicpICE9PSBGQUxTRSkgew0KICAgICAgICAgICAgICAgICAgICAkdG1wID0gJGRiLT5xc3RyKHRyaW0oc3RyX3JlcGxhY2UoJyonLCAnJScsIHN0cl9yZXBsYWNlKCInIiwgJ18nLCAkb25lY2F0KSkpKTsNCiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5dG1wIC49ICJ1cHBlcihjYS5sb25nX25hbWUpIGxpa2UgdXBwZXIoeyR0bXB9KSI7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgJHRtcCA9ICRkYi0+cXN0cih0cmltKHN0cl9yZXBsYWNlKCInIiwgJ18nLCAkb25lY2F0KSkpOw0KICAgICAgICAgICAgICAgICAgICAkcXVlcnl0bXAgLj0gImNhLmNhdGVnb3J5X25hbWUgPSB7JHRtcH0iOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkY291bnQrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRxdWVyeXRtcCAuPSAiKSI7DQoNCiAgICAgICAgICAgICR3aGVyZVtdID0gJHF1ZXJ5dG1wOw0KICAgICAgICB9DQoNCg0KDQoNCi8vIGZpbHRlcnMNCiAgICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAka2V5ID0+ICRwYXJhbSkgew0KICAgICAgICAgICAgaWYgKHN0YXJ0c3dpdGgoJGtleSwgJ2ZpbHRlcl8nKSkgew0KICAgICAgICAgICAgICAgICRmaWx0ZXJfa2V5cyA9IGV4cGxvZGUoJ18nLCAka2V5KTsNCiAgICAgICAgICAgICAgICBpZiAoY291bnQoJGZpbHRlcl9rZXlzKSA9PSAzKSB7DQogICAgICAgICAgICAgICAgICAgICRmaWVsZGlkID0gJGZpbHRlcl9rZXlzWzFdOw0KICAgICAgICAgICAgICAgICAgICAkZmlsdGVyID0gJGZpbHRlcl9rZXlzWzJdOw0KICAgICAgICAgICAgICAgICAgICAkZmllbGR2YWwgPSAkcGFyYW07DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkZmllbGRpZCkgJiYgaXNzZXQoJGZpZWxkdmFsKSAmJiAkZmllbGR2YWwgIT0gIiIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnR2YWwoJGZpZWxkaWQpID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBnYXRoZXJpbmcgJy4kdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkuJyB0aGF0IGhhdmUgYSBjZXJ0YWluIGZpZWxkIGlkLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZmlsdGVyID09ICdudWxsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgYSBjYXNlIHdoZW4gYSBmaWVsZCBpcyBub3Qgc2V0IGZvciBhIHByb2R1Y3QuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICcoRlZBJyAuICRmaWVsZGlkIC4gJy52YWx1ZSBJUyBOVUxMKSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8kcGFyYW1hcnJheVtdID0gJGZpZWxkaWQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdub3RudWxsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgYSBjYXNlIHdoZW4gYSBmaWVsZCBpcyBub3Qgc2V0IGZvciBhIHByb2R1Y3QuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICcoRlZBJyAuICRmaWVsZGlkIC4gJy52YWx1ZSAhPSBcJ1wnKSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2luJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgYSBjYXNlIHdoZW4gYSBmaWVsZCBpcyBub3Qgc2V0IGZvciBhIHByb2R1Y3QuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlIElOICgnIC4gJGRiLT5xc3RyKCRmaWVsZHZhbCkgLiAnKSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGRpZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2luc2V0Jykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYW5kbGUgYSBjYXNlIHdoZW4gYSBmaWVsZCBpcyBub3Qgc2V0IGZvciBhIHByb2R1Y3QuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICcgRklORF9JTl9TRVQoJyAuICRkYi0+cXN0cigkZmllbGR2YWwpIC4gJywgIEZWQScgLiAkZmllbGRpZCAuICcudmFsdWUpID4gMCc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2xlc3MnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19udW1lcmljKCRmaWVsZGlkKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGltaXQgcmVzdWx0cyB0byBhbGwgb2YgdGhlIGl0ZW1zIHRoYXQgaGF2ZSB0aGlzIGZpZWxkIHZhbHVlLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvdW50am9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnRlZBJyAuICRmaWVsZGlkIC4gJy52YWx1ZSA8ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgJGZpZWxkaWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnIGMuJyAuICRmaWVsZGlkIC4gJyAgPCA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyRwYXJhbWFycmF5W10gPSAkZmllbGRpZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9ICRmaWVsZHZhbDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2xlc3NlcXVhbCcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGltaXQgcmVzdWx0cyB0byBhbGwgb2YgdGhlIGl0ZW1zIHRoYXQgaGF2ZSB0aGlzIGZpZWxkIHZhbHVlLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY291bnRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnRlZBJyAuICRmaWVsZGlkIC4gJy52YWx1ZSA8ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHBhcmFtYXJyYXlbXSA9ICRmaWVsZGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnZ3JlYXRlcicpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX251bWVyaWMoJGZpZWxkaWQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW1pdCByZXN1bHRzIHRvIGFsbCBvZiB0aGUgaXRlbXMgdGhhdCBoYXZlIHRoaXMgZmllbGQgdmFsdWUuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY291bnRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlIDwgPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICcgYy4nIC4gJGZpZWxkaWQgLiAnICA+ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHBhcmFtYXJyYXlbXSA9ICRmaWVsZGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnZ3JlYXRlcmVxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW1pdCByZXN1bHRzIHRvIGFsbCBvZiB0aGUgaXRlbXMgdGhhdCBoYXZlIHRoaXMgZmllbGQgdmFsdWUuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlIDwgPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8kcGFyYW1hcnJheVtdID0gJGZpZWxkaWQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdsaWtlJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW1pdCByZXN1bHRzIHRvIGFsbCBvZiB0aGUgaXRlbXMgdGhhdCBoYXZlIHRoaXMgZmllbGQgdmFsdWUuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlIExJS0UgPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksICRmaWVsZGlkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9ICclJyAuICRmaWVsZHZhbCAuICclJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ25vdGVxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW1pdCByZXN1bHRzIHRvIGFsbCBvZiB0aGUgaXRlbXMgdGhhdCBoYXZlIHRoaXMgZmllbGQgdmFsdWUuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb3VudGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIEZWQScgLiAkZmllbGRpZCAuICcgT04gYy5pdGVtX2lkID0gRlZBJyAuICRmaWVsZGlkIC4gJy5pdGVtX2lkIEFORCBGVkEnIC4gJGZpZWxkaWQgLiAnLmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdGVkEnIC4gJGZpZWxkaWQgLiAnLnZhbHVlICE9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHBhcmFtYXJyYXlbXSA9ICRmaWVsZGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnZXF1YWwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbWl0IHJlc3VsdHMgdG8gYWxsIG9mIHRoZSBpdGVtcyB0aGF0IGhhdmUgdGhpcyBmaWVsZCB2YWx1ZS4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkY291bnRqb2lucywgY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBGVkEnIC4gJGZpZWxkaWQgLiAnIE9OIGMuaXRlbV9pZCA9IEZWQScgLiAkZmllbGRpZCAuICcuaXRlbV9pZCBBTkQgRlZBJyAuICRmaWVsZGlkIC4gJy5maWVsZGRlZl9pZCA9ID8nKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkam9pbnMsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgRlZBJyAuICRmaWVsZGlkIC4gJyBPTiBjLml0ZW1faWQgPSBGVkEnIC4gJGZpZWxkaWQgLiAnLml0ZW1faWQgQU5EIEZWQScgLiAkZmllbGRpZCAuICcuZmllbGRkZWZfaWQgPSA/Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ0ZWQScgLiAkZmllbGRpZCAuICcudmFsdWUgPSA/JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgJGZpZWxkaWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmIChpc19zdHJpbmcoJGZpZWxkaWQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZpZWxkaWQgPSBzdHJfaXJlcGxhY2UoYXJyYXkoJ0lkJywgJ0RhdGVFbmQnLCAnRGF0ZScpLCBhcnJheSgnX2lkJywgJ19kYXRlX2VuZCcsICdfZGF0ZScpLCAkZmllbGRpZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRmaWx0ZXIgPT0gJ251bGwnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ2MuJyAuICRmaWVsZGlkIC4gJyBJUyBOVUxMKSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdub3RudWxsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdjLicgLiAkZmllbGRpZCAuICcgSVMgTlVMTCknOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnaW4nKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydHN3aXRoKCRmaWVsZHZhbCwgJywnKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWVsZHZhbCA9IHN1YnN0cigkZmllbGR2YWwsIDEpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdjLicgLiAkZmllbGRpZCAuICcgSU4gKCcgLiAkZmllbGR2YWwgLiAnKSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdpbnNldCcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0c3dpdGgoJGZpZWxkdmFsLCAnLCcpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZpZWxkdmFsID0gc3Vic3RyKCRmaWVsZHZhbCwgMSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJyBGSU5EX0lOX1NFVCgnIC4gJGRiLT5xc3RyKCRmaWVsZHZhbCkgLiAnLCBjLicgLiAkZmllbGRpZCAuICcpID4gMCc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdsaWtlJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICcgYy4nIC4gJGZpZWxkaWQgLiAnICBMSUtFICIlJyAuICRmaWVsZGlkIC4gJyUiJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ2xlc3MnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gJ2MuJyAuICRmaWVsZGlkIC4gJyA8ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnbGVzc2VxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdjLicgLiAkZmllbGRpZCAuICcgPD0gID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnZ3JlYXRlcicpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnYy4nIC4gJGZpZWxkaWQgLiAnID4gID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnZ3JlYXRlcmVxdWFsJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICdjLicgLiAkZmllbGRpZCAuICcgPj0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdlcXVhbCcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnYy4nIC4gJGZpZWxkaWQgLiAnID0gPyc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSAkZmllbGR2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkZmlsdGVyID09ICdub3RlcXVhbCcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAnYy4nIC4gJGZpZWxkaWQgLiAnICE9ID8nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gJGZpZWxkdmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQoNCi8vIHJlY3VyDQogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydpdGVtX2RhdGVfZnJvbV90byddKSkgew0KDQogICAgICAgICAgICBpZiAoJGRhdGVfZnJvbSAmJiAkZGF0ZV90bykgew0KDQogICAgICAgICAgICAgICAgJGRheXMgPSByb3VuZCgoJGRhdGVfdG8gLSAkZGF0ZV9mcm9tKSAvICgzNjAwICogMjQpKTsNCg0KICAgICAgICAgICAgICAgIGlmICgkZGF5cyA+IDYpIHsNCiAgICAgICAgICAgICAgICAgICAgJHdoZXJlW10gPSAiKChjLml0ZW1fZGF0ZSAgPiA/IEFORCBjLml0ZW1fZGF0ZSAgPCA/IEFORCAoYy5yZWN1cnNpdmUgPSAnJyBPUiBjLnJlY3Vyc2l2ZSBJUyBOVUxMKSkNCk9SIChjLnJlY3Vyc2l2ZSA9ICdkYWlseScgKSkiOw0KICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2Zyb20pLCAiJyIpOw0KICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX3RvKSwgIiciKTsNCiAgICAgICAgICAgICAgICAgICAgJGZpZWxkc1tdID0gImUudmFsdWUiOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICR3aGVyZVtdID0gIigoYy5pdGVtX2RhdGUgID4gPyBBTkQgYy5pdGVtX2RhdGUgIDwgPyBBTkQgKGMucmVjdXJzaXZlID0gJycgT1IgYy5yZWN1cnNpdmUgSVMgTlVMTCkpDQogICAgICAgICAgICAgICAgICBPUiAoYy5yZWN1cnNpdmUgPSAnZGFpbHknICANCkFORCAoKA0KDQpJRig/Pj8sDQpJRihlLnZhbHVlID49ID8gT1IgZSAudmFsdWUgPD0gPywxLDApDQosSUYoZS52YWx1ZSA+PSA/IEFORCBlIC52YWx1ZSA8PSA/LDEsMCkNCikgDQoNCkFORCBJRihlLnZhbHVlID0gPywgSUYoREFURV9GT1JNQVQoYy5pdGVtX2RhdGUsJyVIOiVpJykgPiA/LDEsMCksMSkgDQpBTkQgSUYoZS52YWx1ZSA9ID8sIElGKERBVEVfRk9STUFUKGMuaXRlbV9kYXRlLCclSDolaScpIDwgPywxLDApLDEpKQ0KKSAgICAgICAgICAgICAgICAgIA0KKSkiOw0KICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2Zyb20pLCAiJyIpOw0KICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX3RvKSwgIiciKTsNCg0KICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gZGF0ZSgndycsICRkYXRlX2Zyb20pOw0KICAgICAgICAgICAgICAgICAgICAkcGFyYW1hcnJheVtdID0gZGF0ZSgndycsICRkYXRlX3RvKTsNCiAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ3cnLCAkZGF0ZV9mcm9tKTsNCiAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ3cnLCAkZGF0ZV90byk7DQogICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSBkYXRlKCd3JywgJGRhdGVfZnJvbSk7DQogICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSBkYXRlKCd3JywgJGRhdGVfdG8pOw0KDQogICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSBkYXRlKCd3JywgJGRhdGVfZnJvbSk7DQogICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSBkYXRlKCdIOmknLCAkZGF0ZV9mcm9tKTsNCiAgICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IGRhdGUoJ3cnLCAkZGF0ZV90byk7DQogICAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSBkYXRlKCdIOmknLCAkZGF0ZV90byk7DQogICAgICAgICAgICAgICAgfQ0KDQoNCiAgICAgICAgICAgICAgICAkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9leHRyYSBlIE9OIGUuaXRlbV9pZCA9IGMuaXRlbV9pZCc7DQogICAgICAgICAgICAgICAgJGNvdW50am9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9leHRyYSBlIE9OIGUuaXRlbV9pZCA9IGMuaXRlbV9pZCc7DQoNCiAgICAgICAgICAgICAgICAvLyRmaWVsZHNbXSA9ICJJRihjLnJlY3Vyc2l2ZSA9ICcnIE9SIGMucmVjdXJzaXZlIElTIE5VTEwsIGRhdGVfZm9ybWF0KGMuaXRlbV9kYXRlLCAnJVktJW0tJWQgJUg6JWknKSwgQ09OQ0FUKGRhdGVfZm9ybWF0KE5PVygpICsgSU5URVJWQUwgKGUudmFsdWUtPykgREFZLCAnJVktJW0tJWQnKSwnICcsZGF0ZV9mb3JtYXQoYy5pdGVtX2RhdGUsJyVIOiVpJykpKSBBUyBkYXRlX291dCwgZS52YWx1ZSI7DQogICAgICAgICAgICAgICAgLy9hcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCBkYXRlKCd3JywgdGltZSgpKSk7DQogICAgICAgICAgICAgICAgJGZpZWxkc1tdID0gImUudmFsdWUsQ09OQ0FUKGRhdGVfZm9ybWF0KD8gKyBJTlRFUlZBTCBJRihlLnZhbHVlIDwgPywgKDctPykgKyBlLnZhbHVlLCBlLnZhbHVlLT8pIERBWSwnJVktJW0tJWQnKSwnICcsZGF0ZV9mb3JtYXQoYy5pdGVtX2RhdGUsJyVIOiVpJykpIGFzIGRhdGVfb3V0IjsNCg0KICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksIGRhdGUoJ3cnLCAkZGF0ZV9mcm9tKSk7DQogICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkcGFyYW1hcnJheSwgZGF0ZSgndycsICRkYXRlX2Zyb20pKTsNCiAgICAgICAgICAgICAgICBhcnJheV91bnNoaWZ0KCRwYXJhbWFycmF5LCBkYXRlKCd3JywgJGRhdGVfZnJvbSkpOw0KICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJHBhcmFtYXJyYXksIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV9mcm9tKSwgIiciKSk7DQoNCiAgICAgICAgICAgICAgICAvKiAkd2hlcmUyW10gPSAnZGF0ZV9vdXQgID4gPyBBTkQgZGF0ZV9vdXQgPCA/JzsNCiAgICAgICAgICAgICAgICAgICRwYXJhbWFycmF5MltdID0gdHJpbSgkZGItPkRCVGltZVN0YW1wKCRkYXRlX2Zyb20pLCAiJyIpOw0KICAgICAgICAgICAgICAgICAgJHBhcmFtYXJyYXkyW10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfdG8pLCAiJyIpOyAqLw0KDQogICAgICAgICAgICAgICAgJHNvcnRieSA9ICdkYXRlX291dCc7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkZ3JvdXBieSA9ICcgR1JPVVAgQlkgYy5hY3RpdmUgJzsNCiAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgaWYgKCRkYXRlX2Zyb20pIHsNCiAgICAgICAgICAgICAgICAkd2hlcmVbXSA9ICIgYy5pdGVtX2RhdGUgID4gPyI7DQogICAgICAgICAgICAgICAgJHBhcmFtYXJyYXlbXSA9IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV9mcm9tKSwgIiciKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCRkYXRlX3RvKSB7DQogICAgICAgICAgICAgICAgJHdoZXJlW10gPSAiIGMuaXRlbV9kYXRlICA8ID8iOw0KICAgICAgICAgICAgICAgICRwYXJhbWFycmF5W10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfdG8pLCAiJyIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1siZGF0ZV9zdGFydCJdKSkgew0KDQogICAgICAgICAgICAkd2hlcmVbXSA9ICIgYy5pdGVtX2RhdGUgPCBOT1coKSI7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtc1siZGF0ZV9lbmQiXSkpIHsNCiAgICAgICAgICAgICR3aGVyZVtdID0gIiBjLml0ZW1fZGF0ZV9lbmQgPiBOT1coKSI7DQogICAgICAgIH0NCg0KDQogICAgICAgICRxdWVyeSA9IHN0cl9yZXBsYWNlKCc8RklFTERTPicsIGltcGxvZGUoJywnLCAkZmllbGRzKSwgJHF1ZXJ5KTsNCiAgICAgICAgJHF1ZXJ5MiA9IHN0cl9yZXBsYWNlKCc8RklFTERTPicsIGltcGxvZGUoJywnLCAkZmllbGRzKSwgJHF1ZXJ5Mik7DQoNCiAgICAgICAgaWYgKGNvdW50KCRqb2lucykpIHsNCiAgICAgICAgICAgICRxdWVyeSAuPSAnIExFRlQgSk9JTiAnIC4gaW1wbG9kZSgnIExFRlQgSk9JTiAnLCAkam9pbnMpOw0KICAgICAgICB9DQogICAgICAgIGlmIChjb3VudCgkY291bnRqb2lucykpIHsNCiAgICAgICAgICAgICRxdWVyeTIgLj0gJyBMRUZUIEpPSU4gJyAuIGltcGxvZGUoJyBMRUZUIEpPSU4gJywgJGNvdW50am9pbnMpOw0KICAgICAgICB9DQogICAgICAgICRxdWVyeSA9ICRxdWVyeSAuICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJHdoZXJlKTsNCiAgICAgICAgJHF1ZXJ5MiA9ICRxdWVyeTIgLiAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZSk7DQoNCiAgICAgICAgaWYgKCFlbXB0eSgkd2hlcmUyKSkgew0KICAgICAgICAgICAgJHF1ZXJ5ID0gJyBTRUxFQ1QgKiBGUk9NICgnIC4gJHF1ZXJ5IC4gJykgdCc7DQogICAgICAgICAgICAkcXVlcnkyID0gJyBTRUxFQ1QgKiBGUk9NICgnIC4gJHF1ZXJ5IC4gJykgdCc7DQogICAgICAgICAgICAkcXVlcnkgPSAkcXVlcnkgLiAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZTIpOw0KICAgICAgICAgICAgJHF1ZXJ5MiA9ICRxdWVyeTIgLiAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZTIpOw0KICAgICAgICB9DQoNCiAgICAgICAgJHBhcmFtYXJyYXkgPSBhcnJheV9tZXJnZSgkcGFyYW1hcnJheSwgJHBhcmFtYXJyYXkyKTsNCg0KDQoNCg0KICAgICAgICBpZiAoJHNvcnR0eXBlID09ICcnKSB7DQogICAgICAgICAgICAkcXVlcnkgLj0gIiBPUkRFUiBCWSAiIC4gJHNvcnRieSAuICIgIiAuICRzb3J0b3JkZXI7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSBDQVNUKCcgLiAkc29ydGJ5IC4gJyBBUyAnIC4gJHNvcnR0eXBlIC4gJykgJyAuICRzb3J0b3JkZXI7DQogICAgICAgIH0NCg0KDQovLyBFeGVjdXRlIHRoZSBRdWVyaWVzDQogICAgICAgICR0bXBfaWQgPSAnYycgLiBtZDUoJHRoaXMtPkdldE5hbWUoKSAuICRxdWVyeTIgLiBzZXJpYWxpemUoJHBhcmFtcykgLiBzZXJpYWxpemUoJHBhcmFtYXJyYXkpIC4gJHJldHVybmlkKTsNCiAgICAgICAgJGNvdW50ID0gY21zX3V0aWxzOjpnZXRfYXBwX2RhdGEoJHRtcF9pZCk7DQogICAgICAgIGlmICghJGNvdW50KSB7DQogICAgICAgICAgICBpZiAoJGdyb3VwYnkpDQogICAgICAgICAgICAgICAgJHF1ZXJ5MiAuPSAkZ3JvdXBieTsNCiAgICAgICAgICAgICRjb3VudCA9ICRkYi0+R2V0T25lKCRxdWVyeTIgLiAnIEdST1VQIEJZIGNhLmNyZWF0ZV9kYXRlJywgJHBhcmFtYXJyYXkpOw0KICAgICAgICAgICAgLy9lY2hvICRkYi0+c3FsOw0KICAgICAgICAgICAgLy8gcmV0dXJuIGZpcnN0IHJvdw0KICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbIm9uZWNvdW50Il0pKSB7DQogICAgICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbIm9uZWNvdW50Il0sICRjb3VudCk7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YSgkdG1wX2lkLCAkY291bnQpOw0KICAgICAgICB9DQoNCi8vJHRtcF9pZCA9IG1kNSgkdGhpcy0+R2V0TmFtZSgpIC4gbWQ1KCRxdWVyeSkgLiBpbXBsb2RlKCdfJywgJHBhcmFtYXJyYXkpIC4gaW1wbG9kZSgnXycsICRwYXJhbXMpIC4gJGxpbWl0IC4gJHN0YXJ0ZWxlbWVudCAuICdyZXN1bHRzJyk7DQogICAgICAgICR0bXBfaWQgPSAnbScgLiBtZDUoJHRoaXMtPkdldE5hbWUoKSAuICRxdWVyeSAuIHNlcmlhbGl6ZSgkcGFyYW1zKSAuIHNlcmlhbGl6ZSgkcGFyYW1hcnJheSkgLiAkcmV0dXJuaWQpOw0KICAgICAgICAkZGJyZXN1bHQgPSBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YSgkdG1wX2lkKTsNCiAgICAgICAgaWYgKCEkZGJyZXN1bHQpIHsNCiAgICAgICAgICAgICRwYXJhbWFycmF5ID0gYXJyYXlfbWVyZ2UoJHBhcmFtYXJyYXl0bXAsICRwYXJhbWFycmF5KTsNCiAgICAgICAgICAgICRxdWVyeSAuPSAnIExJTUlUICcgLiAkc3RhcnRlbGVtZW50IC4gJywnIC4gJGxpbWl0Ow0KICAgICAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5HZXRBbGwoJHF1ZXJ5LCAkcGFyYW1hcnJheSk7DQogICAgICAgICAgICBjbXNfdXRpbHM6OnNldF9hcHBfZGF0YSgkdG1wX2lkLCAkZGJyZXN1bHQpOw0KICAgICAgICB9DQogICAgfQ0KDQovLyBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBwYWdlcw0KICAgICRucGFnZXMgPSBpbnR2YWwoJGNvdW50IC8gJGxpbWl0KTsNCiAgICBpZiAoJGNvdW50ICUgJGxpbWl0ICE9IDApDQogICAgICAgICRucGFnZXMrKzsNCg0KICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KICAgIGlmICgkZGJyZXN1bHQpIHsNCiAgICAgICAgZm9yZWFjaCAoJGRicmVzdWx0IGFzICRyb3cpIHsNCiAgICAgICAgICAgICRvbmVyb3cgPSBjZ2VfYXJyYXk6OnRvX29iamVjdCgkcm93KTsNCg0KICAgICAgICAgICAgJGR0cGFnZSA9ICgkZGVmYXVsdF9kZXRhaWxwYWdlID09IC0xICYmICFpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pID8gJGRldGFpbHBhZ2UgOiAoaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSA/ICRkZXRhaWxwYWdlIDogJGRlZmF1bHRfZGV0YWlscGFnZSApKTsNCiAgICAgICAgICAgIGlmIChlbXB0eSgkcm93WyJ1cmwiXSkgPT0gZmFsc2UpIHsNCiAgICAgICAgICAgICAgICAkcHJldHR5dXJsID0gJHJvd1sidXJsIl07DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICRwcmV0dHl1cmwgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmV0dHlfdXJsKCR0aGlzLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmVmaXgoJHRoaXMpLCAkcm93WydpdGVtX2lkJ10sICRyb3dbJ2FsaWFzJ10sICRkdHBhZ2UsICRkZXRhaWx0ZW1wbGF0ZSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRvbmVyb3ctPnVybCA9ICRvbmVyb3ctPmxpbmsgPSAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJGR0cGFnZSwgJ2RldGFpbCcsICcnLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddLCAnZGV0YWlsdGVtcGxhdGUnID0+ICRkZXRhaWx0ZW1wbGF0ZSksICcnLCB0cnVlLCAkaW5saW5lLCAnJywgZmFsc2UsICRwcmV0dHl1cmwpOw0KICAgICAgICAgICAgJG9uZXJvdy0+ZmlsZV9sb2NhdGlvbiA9IGdlbmVyYXRvcl90b29sczo6ZmlsZV9sb2NhdGlvbigkdGhpcywgJHJvdyk7DQoNCiAgICAgICAgICAgICRpbWFnZXMgPSAnJzsNCiAgICAgICAgICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGFzX2dhbGxlcnknKSkgew0KICAgICAgICAgICAgICAgICRpdGVtX2dhbGxlcnkgPSBuZXcgZ2VuZXJhdG9yX2l0ZW1fZ2FsbGVyeSgkdGhpcywgJHJvd1siaXRlbV9pZCJdKTsNCiAgICAgICAgICAgICAgICAkaW1hZ2VzID0gJGl0ZW1fZ2FsbGVyeS0+bG9hZF9maWxlcygpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJG9uZXJvdy0+aW1hZ2VzID0gJGltYWdlczsNCg0KDQogICAgICAgICAgICAvLyBhZGQgY3VzdG9tIGZpZWxkcw0KICAgICAgICAgICAgJGZpZWxkZGVmcyA9IGdlbmVyYXRvcl9maWVsZHM6OmdldF9wcm9jZXNzZWRfZmllbGRzX3ZhbHVlcygkdGhpcywgJHJvd1snaXRlbV9pZCddKTsNCiAgICAgICAgICAgIGdlbmVyYXRvcl9maWVsZHM6OmFsaWFzX3RvX29iamVjdCgkZmllbGRkZWZzLCAkb25lcm93KTsNCiAgICAgICAgICAgICRvbmVyb3ctPmZpZWxkcyA9ICRmaWVsZGRlZnM7DQogICAgICAgICAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsNCiAgICAgICAgICAgICRpdGVtc2FycmF5W10gPSAkcm93Ow0KICAgICAgICB9DQogICAgfQ0KDQoNCg0KLy8gcmV0dXJuIGZpcnN0IHJvdw0KICAgIGlmIChpc3NldCgkcGFyYW1zWyJvbmVyb3ciXSkpIHsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbIm9uZXJvdyJdLCAoaXNzZXQoJGVudHJ5YXJyYXlbMF0pID8gJGVudHJ5YXJyYXlbMF0gOiAnJykpOw0KICAgICAgICByZXR1cm47DQogICAgfQ0KICAgIC8vcmV0dXJuICBhbGwgcmVzdWx0cw0KICAgIGlmIChpc3NldCgkcGFyYW1zWyJhbGxyb3ciXSkpIHsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFsbHJvdyJdLCAkZW50cnlhcnJheSk7DQogICAgICAgIHJldHVybjsNCiAgICB9DQoNCi8vIHJldHVybiBpdGVtcyBmb3IgbW9kdWxlDQogICAgaWYgKGlzc2V0KCRwYXJhbXNbIml0ZW1zIl0pICYmICRwYXJhbXNbIml0ZW1zIl0gPT0gdHJ1ZSkgew0KICAgICAgICBnZW5lcmF0b3JfdG9vbHM6OiRpdGVtcyA9ICRlbnRyeWFycmF5Ow0KICAgICAgICByZXR1cm47DQogICAgfQ0KDQovLw0KLy8gR2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQ0KLy8NCg0KICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgaWYgKCRrZXkgPT0gJ21hY3QnIHx8ICRrZXkgPT0gJ2FjdGlvbicpDQogICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdwYXJhbV8nIC4gJGtleSwgJHZhbHVlKTsNCiAgICB9DQoNCiAgICAkc21hcnR5LT5hc3NpZ24oJ21vZHVsZXVybCcsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICd0ZXN0JywgJHBhcmFtcywgJycsIHRydWUpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOw0KICAgICRzbWFydHktPmFzc2lnbigndG90YWxjb3VudCcsICRjb3VudCk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOw0KICAgICRzbWFydHktPmFzc2lnbignaXRlbW9ucGFnZScsICgoJHBhZ2UgLSAxKSAqICRsaW1pdCkgKyBjb3VudCgkZW50cnlhcnJheSkpOw0KICAgICRzbWFydHktPmFzc2lnbigncGFnZXRleHQnLCAkdGhpcy0+TGFuZygncGFnZScpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ29mdGV4dCcsICR0aGlzLT5MYW5nKCdvZicpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsICRucGFnZXMpOw0KICAgICRzbWFydHktPmFzc2lnbignY3VycGFnZScsICRwYWdlKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3BhZ2VudW1iZXInLCAkcGFnZSk7DQogICAgaWYgKCRwYWdlID09IDEpIHsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdGxpbmsnLCAkdGhpcy0+TGFuZygnZmlyc3RwYWdlJykpOw0KICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZsaW5rJywgJHRoaXMtPkxhbmcoJ3ByZXZwYWdlJykpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRwYXJtcyA9ICRwYXJhbXM7DQogICAgICAgICRwYXJtc1sncGFnZSddID0gMTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnZmlyc3RwYWdlJyksICRwYXJtcywgJycsIGZhbHNlLCAkaW5saW5lKSk7DQogICAgICAgICRzbWFydHktPmFzc2lnbignZmlyc3R1cmwnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnZmlyc3RwYWdlJyksICRwYXJtcywgJycsIHRydWUsICRpbmxpbmUpKTsNCiAgICAgICAgJHBhcm1zWydwYWdlJ10gPSAkcGFnZSAtIDE7DQogICAgICAgICRzbWFydHktPmFzc2lnbigncHJldmxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygncHJldnBhZ2UnKSwgJHBhcm1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2dXJsJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ3ByZXZwYWdlJyksICRwYXJtcywgJycsIHRydWUsICRpbmxpbmUpKTsNCiAgICB9DQogICAgaWYgKCRwYWdlID09ICRucGFnZXMpIHsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdsYXN0bGluaycsICR0aGlzLT5MYW5nKCdsYXN0cGFnZScpKTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0bGluaycsICR0aGlzLT5MYW5nKCduZXh0cGFnZScpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkcGFybXMgPSAkcGFyYW1zOw0KICAgICAgICAkcGFybXNbJ3BhZ2UnXSA9ICRucGFnZXM7DQogICAgICAgICRzbWFydHktPmFzc2lnbignbGFzdGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnbGFzdHBhZ2UnKSwgJHBhcm1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdsYXN0dXJsJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJyksICRwYXJtcywgJycsIHRydWUsICRpbmxpbmUpKTsNCiAgICAgICAgJHBhcm1zWydwYWdlJ10gPSAkcGFnZSArIDE7DQogICAgICAgICRzbWFydHktPmFzc2lnbignbmV4dGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnbmV4dHBhZ2UnKSwgJHBhcm1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0dXJsJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ25leHRwYWdlJyksICRwYXJtcywgJycsIHRydWUsICRpbmxpbmUpKTsNCiAgICB9DQp9DQovLw0KLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUNCi8vDQoNCmVjaG8gJHNtYXJ0eS0+ZmV0Y2goJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJHRoZXRlbXBsYXRlKSwgJGNhY2hlX2lkLCAkY29tcGlsZV9pZCk7DQoNCiMNCiMgRU9GDQojDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQovLyB0b3AgbmF2DQplY2hvICc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgZmxvYXQ6cmlnaHQ7IHdpZHRoOiA0MCU7Ij4nOw0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSkgew0KDQogICAgZWNobyAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwgJ2FkbWluX2ZpZWxkcycsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmcycpLCAnaWNvbnMvdG9wZmlsZXMvc2l0ZWFkbWluLmdpZicsIGFycmF5KCksICcnLCAnJywgZmFsc2UpOw0KICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsICdhZG1pbl90ZW1wbGF0ZXMnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCd0ZW1wbGF0ZXMnKSwgJ2ljb25zL3RvcGZpbGVzL3RlbXBsYXRlLmdpZicsIGFycmF5KCksICcnLCAnJywgZmFsc2UpOw0KfQ0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHsNCiAgICBlY2hvICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCAnYWRtaW5fcHJlZnMnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdvcHRpb25zJyksICdpY29ucy90b3BmaWxlcy9wcmVmZXJlbmNlcy5naWYnLCBhcnJheSgpLCAnJywgJycsIGZhbHNlKTsNCn0NCmVjaG8gJzwvZGl2Pic7DQoNCiR0aGlzdWxlID0gZ2VuZXJhdG9yX29wdHM6OmdldF9tb2R1bGUoJHRoaXMtPkdldE5hbWUoKSk7DQokYXR0YWNoID0gZ2VuZXJhdG9yX29wdHM6OmdldF9hdHRhY2hfbW9kdWxlcygkdGhpc3VsZVsiYXR0YWNoIl0pOw0KaWYgKCRhdHRhY2gpIHsNCiAgICAkYXR0YWNobW9kdWxlcyA9IGV4cGxvZGUoJywnLCAkYXR0YWNoKTsNCiAgICBlY2hvICc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgZmxvYXQ6bGVmdDsgd2lkdGg6IDUwJTsiPic7DQogICAgZm9yZWFjaCAoJGF0dGFjaG1vZHVsZXMgYXMgJGF0dGFjaG1vZHVsZSkgew0KICAgICAgICAkdGhpc3VsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSh0cmltKCRhdHRhY2htb2R1bGUpKTsNCiAgICAgICAgaWYgKCR0aGlzdWxlKSB7DQogICAgICAgICAgICBlY2hvICR0aGlzdWxlLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkdGhpc3VsZS0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJyksICdpY29ucy9zeXN0ZW0vZXhwYW5kLmdpZicsIGFycmF5KCksICcnLCAnJywgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KICAgIGVjaG8gJzwvZGl2Pic7DQp9DQoNCg0KZWNobyAnPGJyIHN0eWxlPSJjbGVhcjpib3RoIiAvPic7DQoNCmlmIChpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pKSB7DQogICAgZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoJHBhcmFtc1snbWVzc2FnZSddKSk7DQp9DQoNCmlmIChpc3NldCgkcGFyYW1zWydlcnJvcnMnXSkgJiYgY291bnQoJHBhcmFtc1snZXJyb3JzJ10pKSB7DQogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkcGFyYW1zWydlcnJvcnMnXSk7DQp9DQoNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7DQplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2l0ZW10YWInLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9wbHVyYWwnLCAnJykpOw0KDQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yaWVzJykpIHsNCiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhdGVnb3J5dGFiJywgJHRoaXMtPkxhbmcoJ2NhdGVnb3JpZXMnKSk7DQp9DQoNCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KDQplY2hvICR0aGlzLT5TdGFydFRhYignaXRlbXRhYicsICRwYXJhbXMpOw0KaW5jbHVkZSBHRU5FUkFUT1JfTU9ETElCX1BBVEggLiAnL2Z1bmN0aW9uLmFkbWluX2l0ZW10YWIucGhwJzsNCmVjaG8gJHRoaXMtPkVuZFRhYigpOw0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcmllcycpKSB7DQogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NhdGVnb3J5dGFiJywgJHBhcmFtcyk7DQogICAgaW5jbHVkZSBHRU5FUkFUT1JfTU9ETElCX1BBVEggLiAnL2Z1bmN0aW9uLmFkbWluX2NhdGVnb3J5dGFiLnBocCc7DQogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQoNCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRpdGVtID0gJyc7DQokaW5saW5lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlfaW5saW5lJywgZmFsc2UpOw0KDQovLyBkbyBub3RoaW5nDQppZiAoIWlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkgJiYgJGlkICE9ICdfcHJldmlld18nKQ0KICAgIHJldHVybjsNCiRkZWZhdWx0X2RldGFpbHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kZXRhaWxfcmV0dXJuaWQnLCAnJyk7DQokZGV0YWlscGFnZSA9IGV4dGVuZGVkX3Rvb2xzX29wdHM6OmRldGFpbHBhZ2UoJHBhcmFtcywgJGRlZmF1bHRfZGV0YWlscGFnZSk7DQppZiAoJGRldGFpbHBhZ2UgPT0gJGRlZmF1bHRfZGV0YWlscGFnZSkNCiAgICB1bnNldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOw0KDQoNCi8vIHRlbXBsYXRlDQokZGV0YWlsdGVtcGxhdGUgPSAkdGhldGVtcGxhdGUgPSAnZGV0YWlsX3RlbXBsYXRlJyAuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X2RldGFpbF90ZW1wbGF0ZScpOw0KaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pICYmICFlbXB0eSgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSkgew0KICAgICRkZXRhaWx0ZW1wbGF0ZSA9ICR0aGV0ZW1wbGF0ZSA9ICdkZXRhaWxfdGVtcGxhdGUnIC4gJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXTsNCn0NCiRpdGVtX2lkID0gJHBhcmFtc1snaXRlbV9pZCddOw0KJGNhY2hlX2lkID0gJ2QnIC4gJHRoaXMtPkdldE5hbWUoKSAuIG1kNShzZXJpYWxpemUoJHBhcmFtcykpOw0KJGNvbXBpbGVfaWQgPSAnZCcgLiAkaXRlbV9pZDsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSkgew0KICAgICRpbmxpbmUgPSAkcGFyYW1zWydpbmxpbmUnXTsNCn0NCg0KaWYgKCRpZCA9PSAnX3ByZXZpZXdfJyAmJiBpc3NldCgkX1NFU1NJT05bJ2l0ZW1fcHJldmlldyddKSAmJiBpc3NldCgkcGFyYW1zWydwcmV2aWV3J10pKSB7DQogICAgLy8gc2VlIGlmIG91ciBkYXRhIG1hdGNoZXMuDQogICAgaWYgKG1kNShzZXJpYWxpemUoJF9TRVNTSU9OWydpdGVtX3ByZXZpZXcnXSkpID09ICRwYXJhbXNbJ3ByZXZpZXcnXSkgew0KICAgICAgICAkZm5hbWUgPSBUTVBfQ0FDSEVfTE9DQVRJT04gLiAnLycgLiAkX1NFU1NJT05bJ2l0ZW1fcHJldmlldyddWydmbmFtZSddOw0KICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGZuYW1lKSAmJiAobWQ1X2ZpbGUoJGZuYW1lKSA9PSAkX1NFU1NJT05bJ2l0ZW1fcHJldmlldyddWydjaGVja3N1bSddKSkgew0KICAgICAgICAgICAgJHJvdyA9ICRwYXJhbXMgPSB1bnNlcmlhbGl6ZShmaWxlX2dldF9jb250ZW50cygkZm5hbWUpKTsNCiAgICAgICAgICAgIGdlbmVyYXRvcl9vcHRzOjpmaWxsX2l0ZW1fZnJvbV9mb3JtcGFyYW1zKCR0aGlzLCAkcm93LCAkcGFyYW1zKTsNCiAgICAgICAgICAgICRpdGVtID0gY2dlX2FycmF5Ojp0b19vYmplY3QoJHJvdyk7DQogICAgICAgICAgICBnZW5lcmF0b3JfZmllbGRzOjphbGlhc190b19vYmplY3QoZ2VuZXJhdG9yX29wdHM6OiRmaWVsZGRlZnMsICRpdGVtKTsNCiAgICAgICAgfQ0KICAgIH0NCn0gZWxzZSB7DQoNCiAgICBpZiAoISRzbWFydHktPmlzQ2FjaGVkKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCRkZXRhaWx0ZW1wbGF0ZSksICRjYWNoZV9pZCwgJGNvbXBpbGVfaWQpKSB7DQovLyBTRUxFQ1QgRlJPTQ0KICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIEEuKiwgQi5jYXRlZ29yeV9pZCwgQi5jYXRlZ29yeV9uYW1lLCBCLmNhdGVnb3J5X2FsaWFzIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBBJzsNCi8vIExFRlQgSk9JTg0KICAgICAgICAkcXVlcnkgLj0gJyBMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcmllcyBCIE9OIEEuY2F0ZWdvcnlfaWQgPSBCLmNhdGVnb3J5X2lkJzsNCi8vIFdIRVJFDQogICAgICAgICRxdWVyeSAuPSAnIFdIRVJFIEEuYWN0aXZlID0gMSBBTkQgaXRlbV9pZCA9ID8gTElNSVQgMSc7DQogICAgICAgICR0bXBfaWQgPSAnZCcgLiBtZDUoJHRoaXMtPkdldE5hbWUoKSAuICRxdWVyeSAuIHNlcmlhbGl6ZSgkcGFyYW1zKSAuICRyZXR1cm5pZCk7DQogICAgICAgICRyb3cgPSBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YSgkdG1wX2lkKTsNCiAgICB9DQogICAgaWYgKCEkcm93KSB7DQogICAgICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2l0ZW1faWQnXSkpOw0KDQogICAgICAgIGNtc191dGlsczo6c2V0X2FwcF9kYXRhKCR0bXBfaWQsICRyb3cpOw0KICAgIH0NCiAgICBpZiAoISRyb3cpIHsNCiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbIm9uZXJvdyJdKSkgew0KICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbIm9uZXJvdyJdLCAnJyk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuOw0KICAgIH0NCg0KICAgICRpdGVtID0gY2dlX2FycmF5Ojp0b19vYmplY3QoJHJvdyk7DQogICAgJGl0ZW0tPmZpbGVfbG9jYXRpb24gPSBnZW5lcmF0b3JfdG9vbHM6OmZpbGVfbG9jYXRpb24oJHRoaXMsICRyb3cpOw0KDQovLyBpdGVtIGZpZWxkcw0KICAgICRmaWVsZGRlZnMgPSBnZW5lcmF0b3JfZmllbGRzOjpnZXRfcHJvY2Vzc2VkX2ZpZWxkc192YWx1ZXMoJHRoaXMsICRyb3dbJ2l0ZW1faWQnXSk7DQogICAgZ2VuZXJhdG9yX2ZpZWxkczo6YWxpYXNfdG9fb2JqZWN0KCRmaWVsZGRlZnMsICRpdGVtKTsNCg0KICAgICRpdGVtLT5maWVsZHMgPSAkZmllbGRkZWZzOw0KICAgICRpdGVtLT5maWVsZGRlZnMgPSAkZmllbGRkZWZzOw0KDQovLyBjYXRlZ29yeSBmaWVsZHMNCiAgICAkZmllbGRkZWZzID0gZ2VuZXJhdG9yX2ZpZWxkczo6Z2V0X3Byb2Nlc3NlZF9maWVsZHNfdmFsdWVzKCR0aGlzLCAkcm93WydpdGVtX2lkJ10sICdjYXRlZ29yaWVzJyk7DQogICAgZ2VuZXJhdG9yX2ZpZWxkczo6YWxpYXNfdG9fb2JqZWN0KCRmaWVsZGRlZnMsICRpdGVtKTsNCiAgICAkaXRlbS0+Y2F0ZWdvcnlmaWVsZHMgPSAkZmllbGRkZWZzOw0KICAgICRpdGVtLT5jYXRlZ29yeWZpZWxkZGVmcyA9ICRmaWVsZGRlZnM7DQoNCiAgICAkZHRwYWdlID0gKCRkZWZhdWx0X2RldGFpbHBhZ2UgPT0gLTEgJiYgIWlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6IChpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pID8gJGRldGFpbHBhZ2UgOiAkZGVmYXVsdF9kZXRhaWxwYWdlICkpOw0KICAgIGlmIChlbXB0eSgkcm93WyJ1cmwiXSkgPT0gZmFsc2UpIHsNCiAgICAgICAgJHByZXR0eXVybCA9ICRyb3dbInVybCJdOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRwcmV0dHl1cmwgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmV0dHlfdXJsKCR0aGlzLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmVmaXgoJHRoaXMpLCAkcm93WydpdGVtX2lkJ10sICRyb3dbJ2FsaWFzJ10sICRkdHBhZ2UsICRkZXRhaWx0ZW1wbGF0ZSk7DQogICAgfQ0KDQogICAgJGltYWdlcyA9ICcnOw0KICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGFzX2dhbGxlcnknKSkgew0KICAgICAgICAkaXRlbV9nYWxsZXJ5ID0gbmV3IGdlbmVyYXRvcl9pdGVtX2dhbGxlcnkoJHRoaXMsICRyb3dbIml0ZW1faWQiXSk7DQogICAgICAgICRpbWFnZXMgPSAkaXRlbV9nYWxsZXJ5LT5sb2FkX2ZpbGVzKCk7DQogICAgfQ0KDQogICAgJGl0ZW0tPmltYWdlcyA9ICRpbWFnZXM7DQoNCg0KICAgICRpdGVtLT51cmwgPSAkaXRlbS0+bGluayA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkZHRwYWdlLCAnZGV0YWlsJywgJycsIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10sICdkZXRhaWx0ZW1wbGF0ZScgPT4gJGRldGFpbHRlbXBsYXRlKSwgJycsIHRydWUsICRpbmxpbmUsICcnLCBmYWxzZSwgJHByZXR0eXVybCk7DQogICAgJGl0ZW0tPnVybGNsZWFuID0gJGl0ZW0tPmxpbmtjbGVhbiA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkZHRwYWdlLCAnZGV0YWlsJywgJycsIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10sICdkZXRhaWx0ZW1wbGF0ZScgPT4gJycpLCAnJywgdHJ1ZSwgJGlubGluZSwgJycsIGZhbHNlLCAkcHJldHR5dXJsKTsNCg0KICAgICRwcmV0dHl1cmwgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmV0dHlfdXJsKCR0aGlzLCBnZW5lcmF0b3JfdG9vbHM6OmdldF9wcmVmaXgoJHRoaXMpIC4gJy9jJywgJHJvd1snY2F0ZWdvcnlfaWQnXSwgJHJvd1snY2F0ZWdvcnlfYWxpYXMnXSwgKCRkZWZhdWx0X2RldGFpbHBhZ2UgPT0gLTEgJiYgIWlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkgPyAkZGV0YWlscGFnZSA6ICcnKSwgJGNhdGVnb3J5dGVtcGxhdGUpOw0KICAgICRpdGVtLT5jYXRlZ29yeV9saW5rID0gJGl0ZW0tPmNhdGVnb3J5X3VybCA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdkZWZhdWx0JywgJycsIGFycmF5KCdjYXRlZ29yeV9pZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXSwgJ2NhdGVnb3J5dGVtcGxhdGUnID0+ICRjYXRlZ29yeXRlbXBsYXRlKSwgJycsIHRydWUsIGlzc2V0KCRwYXJhbXNbImlubGluZSJdKSA/IDEgOiAwLCAnJywgZmFsc2UsICRwcmV0dHl1cmwpOw0KDQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1sib25lcm93Il0pKSB7DQogICAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWyJvbmVyb3ciXSwgJGl0ZW0pOw0KICAgICAgICByZXR1cm47DQogICAgfQ0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW0nLCAkaXRlbSk7DQovLw0KLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUNCi8vDQoNCmVjaG8gJHNtYXJ0eS0+ZmV0Y2goJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJGRldGFpbHRlbXBsYXRlKSwgJGNhY2hlX2lkLCAkY29tcGlsZV9pZCk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.fesubmit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Ci8vIG5vdGhpbmcKPz4K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/action.filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLy8gU2V0dXANCi8vDQokcGFnZWxpbWl0cyA9IGFycmF5KCcyJyA9PiAyLCAnNScgPT4gNSwgJzI1JyA9PiAyNSwgJzEwMCcgPT4gMTAwLCAnNTAwJyA9PiA1MDApOw0KJHNvcnRpdGVtcyA9IGFycmF5KCk7DQokc29ydGl0ZW1zWyR0aGlzLT5MYW5nKCdkYXRlJyldID0gJ2l0ZW1fZGF0ZSc7DQokc29ydGl0ZW1zWyR0aGlzLT5MYW5nKCdjcmVhdGVkZGF0ZScpXSA9ICdjcmVhdGVfZGF0ZSc7DQokc29ydGl0ZW1zWyR0aGlzLT5MYW5nKCdtb2RpZmllZGRhdGUnKV0gPSAnbW9kaWZpZWRfZGF0ZSc7DQokc29ydG9yZGVycyA9IGFycmF5KCk7DQokc29ydG9yZGVyc1skdGhpcy0+TGFuZygnYXNjZW5kaW5nJyldID0gJ2FzYyc7DQokc29ydG9yZGVyc1skdGhpcy0+TGFuZygnZGVzY2VuZGluZycpXSA9ICdkZXNjJzsNCiRpbmxpbmUgPSBpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgPyAkcGFyYW1zWyJpbmxpbmUiXSA6IDA7DQoNCiRoaWVyYXJjaHkgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaGllcmFyY2h5JywgJycpOw0KJGNoaWxkcmVuID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NoaWxkcmVuJywgMCk7DQokcGFnZWxpbWl0ID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3BhZ2VsaW1pdCcsIDI1KTsNCiRzb3J0YnkgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfc29ydGJ5JywgJ2l0ZW1fZGF0ZScpOw0KJHNvcnRvcmRlciA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19zb3J0b3JkZXInLCAnZGVzYycpOw0KJGRhdGVfZnJvbSA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kYXRlX2Zyb20nLCB0aW1lKCkgLSAoMzYwMCAqIDI0ICogNykpOw0KJGRhdGVfdG8gPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGF0ZV90bycsIHRpbWUoKSk7DQoNCg0KJGNhdGVnb3J5bGlzdCA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2NhdGVnb3J5X2xpc3QoJHRoaXMpOw0KaWYgKCRpbmxpbmUpIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsICdmaWx0ZXInLCAkcmV0dXJuaWQsIGFycmF5KCksICRpbmxpbmUsICdHRVQnKSk7DQp9IGVsc2Ugew0KICAgICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsIGFycmF5KCksICRpbmxpbmUsICdHRVQnKSk7DQp9DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaGllcmFyY2h5JywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnaW5wdXRfaGllcmFyY2h5JywgJGNhdGVnb3J5bGlzdCwgLTEsICRoaWVyYXJjaHkpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfY2hpbGRyZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwgJ2lucHV0X2NoaWxkcmVuJywgJGNoaWxkcmVuKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NvcnRieScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X3NvcnRieScsICRzb3J0aXRlbXMsIC0xLCAkc29ydGJ5KSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NvcnRvcmRlcicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X3NvcnRvcmRlcicsICRzb3J0b3JkZXJzLCAtMSwgJHNvcnRvcmRlcikpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpbnB1dF9wYWdlbGltaXQnLCAkcGFnZWxpbWl0cywgLTEsICRwYWdlbGltaXQpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdkYXRlX2Zyb20nLCAkZGF0ZV9mcm9tKTsNCiRzbWFydHktPmFzc2lnbignZGF0ZV90bycsICRkYXRlX3RvKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7DQoNCi8vIGN1c3RvbSBmaWVsZHMNCiRmaWVsZHNfZm9yX2ZpbHRlciA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2ZpZWxkX2RlZnMoJHRoaXMsIG51bGwsIDEsIG51bGwpOw0KJGN1c3RvbV9mbGRzID0gYXJyYXkoMSk7DQokY3VzdG9tX2ZpZWxkc192YWx1ZXMgPSBhcnJheSgpOw0KZm9yZWFjaCAoJGZpZWxkc19mb3JfZmlsdGVyIGFzICRyb3cpIHsNCiAgICAkY3VzdG9tX2ZsZHNbJHJvd1snZmllbGRkZWZfaWQnXV0gPSAkcm93Ow0KICAgICRjdXN0b21fZmllbGRzX3ZhbHVlc1skcm93WydmaWVsZGRlZl9pZCddXSA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY3VzdG9tZmllbGRzJyAuICRyb3dbJ2ZpZWxkZGVmX2lkJ10sICcnKTsNCn0NCg0KDQovLyBnZXQgdGhlIGN1c3RvbSBmaWVsZHMNCiRmaWx0ZXJzID0gbmV3IGdlbmVyYXRvcl9maWx0ZXJzKCRpZCwgJHRoaXMsICdhZG1pbicpOw0KJGN1c3RvbV9mbGRzID0gJGZpbHRlcnMtPnByb2Nlc3NfY3VzdG9tX2ZpZWxkcyhhcnJheSgpLCAkY3VzdG9tX2ZsZHMpOw0KJGN1c3RvbV9mbGRzX29iaiA9ICRmaWx0ZXJzLT5nZW5lcmF0ZSgkaXRlbV9pZCwgJHBhcmFtcywgJGN1c3RvbV9maWVsZHNfdmFsdWVzLCAxKTsNCmlmIChpc3NldCgkY3VzdG9tX2ZsZHNfb2JqKSAmJiBjb3VudCgkY3VzdG9tX2ZsZHNfb2JqKSA+IDApIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9maWVsZGRlZicsICRjdXN0b21fZmxkc19vYmopOw0KfQ0KDQovLyBzbWFydHkgcGFyYW1zDQpmb3JlYWNoICgkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlKSB7DQogICAgaWYgKCRrZXkgPT0gJ21hY3QnIHx8ICRrZXkgPT0gJ2FjdGlvbicpDQogICAgICAgIGNvbnRpbnVlOw0KICAgICRzbWFydHktPmFzc2lnbigncGFyYW1fJyAuICRrZXksICR2YWx1ZSk7DQp9DQoNCg0KLy8gdGVtcGxhdGUNCiR0aGV0ZW1wbGF0ZSA9ICdmaWx0ZXJfdGVtcGxhdGUnIC4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfZmlsdGVyX3RlbXBsYXRlJyk7DQppZiAoaXNzZXQoJHBhcmFtc1snZmlsdGVydGVtcGxhdGUnXSkpIHsNCiAgICAkdGhldGVtcGxhdGUgPSAnZmlsdGVyX3RlbXBsYXRlJyAuICRwYXJhbXNbJ2ZpbHRlcnRlbXBsYXRlJ107DQp9DQoNCi8vDQovLyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQ0KLy8NCg0Kb2Jfc3RhcnQoKTsNCiR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdCcsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsNCiRvdXRwdXQgPSBvYl9nZXRfY29udGVudHMoKTsNCm9iX2VuZF9jbGVhbigpOw0KJHNtYXJ0eS0+YXNzaWduKCdyZXN1bHRzJywgJG91dHB1dCk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGhldGVtcGxhdGUpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_categorytab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgoKI1B1dCB0b2dldGhlciBhIGxpc3Qgb2YgY3VycmVudCBjYXRlZ29yaWVzLi4uCiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3JpZXMgT1JERVIgQlkgaGllcmFyY2h5X3Bvc2l0aW9uIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cgokcm93Y2xhc3MgPSAncm93MSc7Cgp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCiAgICAkZGVwdGggPSBjb3VudChwcmVnX3NwbGl0KCcvXC4vJywgJHJvd1snaGllcmFyY2h5J10pKTsKCiAgICAkb25lcm93LT5pZCA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CiAgICAkb25lcm93LT5uYW1lID0gc3RyX3JlcGVhdCgnJm5ic3A7Jmd0OyZuYnNwOycsICRkZXB0aCAtIDEpIC4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkcm93WydjYXRlZ29yeV9uYW1lJ10sIGFycmF5KCdjYXRpZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXSkpOwoKICAgICRvbmVyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCBjbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdjYXRpZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXSkpOwogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLCBjbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnY2F0aWQnID0+ICRyb3dbJ2NhdGVnb3J5X2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsKCiAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCiAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCiAgICAoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgojU2V0dXAgbGlua3MKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncmVvcmRlcicsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX29yZGVyY2F0ZWdvcnknLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdyZW9yZGVyJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygnY2F0ZWdvcnknKSk7CiNEaXNwbGF5IHRlbXBsYXRlCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnY2F0ZWdvcnlsaXN0LnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_fielddeftab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7DQoNCg0KDQovLyBnZXQgZmllbGQgZGVmaW5pdGlvbnMgaW4gdXNlDQokdG1wID0gJGRiLT5HZXRBcnJheSgnU0VMRUNUIERJU1RJTkNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwnKTsNCiR1c2VkZmllbGRkZWZzID0gYXJyYXkoKTsNCg0KaWYgKGlzX2FycmF5KCR0bXApKSB7DQogICAgZm9yZWFjaCAoJHRtcCBhcyAkcm93KSB7DQogICAgICAgICR1c2VkZmllbGRkZWZzW10gPSAkcm93WydmaWVsZGRlZl9pZCddOw0KICAgIH0NCn0NCg0KJGZpZWxkcyA9IGdlbmVyYXRvcl90b29sczo6Z2V0X2ZpZWxkX2RlZnMoJHRoaXMpOw0KJHJvd2NsYXNzID0gJ3JvdzEnOw0KJGVudHJ5YXJyYXkgPSBhcnJheSgpOw0KDQppZiAoaXNfYXJyYXkoJGZpZWxkcykgJiYgY291bnQoJGZpZWxkcykgPiAwKSB7ICAgIA0KICAgIGZvcmVhY2ggKCRmaWVsZHMgYXMgJHJvdykgew0KICAgICAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7DQogICAgICAgIA0KICAgICAgICAkb25lcm93LT5pZCA9ICRyb3dbJ2ZpZWxkZGVmX2lkJ107DQogICAgICAgICRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkcm93WydmaWVsZGRlZl9pZCddKSk7DQogICAgICAgICRvbmVyb3ctPmFsaWFzID0gJHJvd1snYWxpYXMnXTsNCiAgICAgICAgJG9uZXJvdy0+dHlwZSA9ICR0aGlzLT5MYW5nKCRyb3dbJ3R5cGUnXSk7DQogICAgICAgICRvbmVyb3ctPnJlcXVpcmVkID0gJHJvd1sncmVxdWlyZWQnXTsNCiAgICAgICAgJG9uZXJvdy0+ZWRpdHZpZXcgPSAkcm93WydlZGl0dmlldyddOw0KICAgICAgICAkb25lcm93LT5wb3NpdGlvbiA9ICRyb3dbJ3Bvc2l0aW9uJ107DQoNCiAgICAgICAgLy8gbW92ZSB1cA0KICAgICAgICBpZiAoJG9uZXJvdy0+cG9zaXRpb24gPiAxKSB7DQogICAgICAgICAgICAkb25lcm93LT51cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9tb3ZlZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy11LmdpZicsICR0aGlzLT5MYW5nKCd1cCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdmaWVsZGRlZl9pZCcgPT4gJHJvd1snZmllbGRkZWZfaWQnXSwgJ2RpcicgPT4gJ3VwJykpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJG9uZXJvdy0+dXBsaW5rID0gJyc7DQogICAgICAgIH0NCg0KICAgICAgICAkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+ICRyb3dbJ2ZpZWxkZGVmX2lkJ10pKTsNCg0KICAgICAgICAvLyBvbmx5IGRpc3BsYXkgZGVsZXRlIGZpZWxkIGRlZmluaXRpb24gbGluayBpZiBmaWVsZCBkZWZpbml0aW9uIGlzIG5vdCBpbiB1c2UNCiAgICAgICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICcnOw0KICAgICAgICBpZiAoIWluX2FycmF5KCRyb3dbJ2ZpZWxkZGVmX2lkJ10sICR1c2VkZmllbGRkZWZzKSkgew0KICAgICAgICAgICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZWZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+ICRyb3dbJ2ZpZWxkZGVmX2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsNCiAgICAgICAgfQ0KDQogICAgICAgICRlbnRyeWFycmF5W10gPSAkb25lcm93Ow0KICAgICAgICAkcm93Y2xhc3MgPSAoJHJvd2NsYXNzID09ICdyb3cxJyA/ICdyb3cyJyA6ICdyb3cxJyk7DQogICAgfQ0KfQ0KDQokc21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsNCiRzbWFydHktPmFzc2lnbignYWxpYXMnLCAkdGhpcy0+TGFuZygnYWxpYXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7DQokc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGZpZWxkZGVmJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuICcgJyAuICR0aGlzLT5MYW5nKCdhZGRmaWVsZGRlZicpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkdGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZicpKTsNCiRzbWFydHktPmFzc2lnbigndHlwZXRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfdHlwZScpKTsNCiRzbWFydHktPmFzc2lnbignbWF4bGVuZ3RodGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl9tYXhfbGVuZ3RoJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdyZXF1aXJlZHRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfcmVxdWlyZWQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VkaXR2aWV3dGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl9lZGl0dmlldycpKTsNCiRzbWFydHktPmFzc2lnbignc2VjdGlvbicsICdpdGVtcycpOw0KDQoNCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnZmllbGRkZWZ0YWIudHBsJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_fielddeftab_categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7DQoNCg0KLy8gZ2V0IGZpZWxkIGRlZmluaXRpb25zIGluIHVzZQ0KJHRtcCA9ICRkYi0+R2V0QXJyYXkoJ1NFTEVDVCBESVNUSU5DVCBmaWVsZGRlZl9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJyk7DQokdXNlZGZpZWxkZGVmcyA9IGFycmF5KCk7DQoNCmlmIChpc19hcnJheSgkdG1wKSkgew0KICAgIGZvcmVhY2ggKCR0bXAgYXMgJHJvdykgew0KICAgICAgICAkdXNlZGZpZWxkZGVmc1tdID0gJHJvd1snZmllbGRkZWZfaWQnXTsNCiAgICB9DQp9DQoNCi8vJHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBtYXgocG9zaXRpb24pIGFzIG1heF9wb3NpdGlvbiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJyk7DQokZmllbGRzID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfZGVmcygkdGhpcywgbnVsbCwgbnVsbCwgbnVsbCwgJ2NhdGVnb3JpZXMnKTsNCiRyb3djbGFzcyA9ICdyb3cxJzsNCiRlbnRyeWFycmF5ID0gYXJyYXkoKTsNCg0KaWYgKGlzX2FycmF5KCRmaWVsZHMpICYmIGNvdW50KCRmaWVsZHMpID4gMCkgeyAgICANCiAgICBmb3JlYWNoICgkZmllbGRzIGFzICRyb3cpIHsNCiAgICAgICAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOw0KICAgICAgICAkb25lcm93LT5pZCA9ICRyb3dbJ2ZpZWxkZGVmX2lkJ107DQogICAgICAgICRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkcm93WydmaWVsZGRlZl9pZCddKSk7DQogICAgICAgICRvbmVyb3ctPmFsaWFzID0gJHJvd1snYWxpYXMnXTsNCiAgICAgICAgJG9uZXJvdy0+dHlwZSA9ICR0aGlzLT5MYW5nKCRyb3dbJ3R5cGUnXSk7DQogICAgICAgICRvbmVyb3ctPnJlcXVpcmVkID0gJHJvd1sncmVxdWlyZWQnXTsNCiAgICAgICAgJG9uZXJvdy0+ZnJvbnRlbmQgPSAkcm93Wydmcm9udGVuZCddOw0KICAgICAgICAkb25lcm93LT5lZGl0dmlldyA9ICRyb3dbJ2VkaXR2aWV3J107DQogICAgICAgICRvbmVyb3ctPmZpbHRlcl9mcm9udGVuZCA9ICRyb3dbJ2ZpbHRlcl9mcm9udGVuZCddOw0KICAgICAgICAkb25lcm93LT5maWx0ZXJfYWRtaW4gPSAkcm93WydmaWx0ZXJfYWRtaW4nXTsNCiAgICAgICAgJG9uZXJvdy0+c2VhcmNoYWJsZSA9ICRyb3dbJ3NlYXJjaGFibGUnXTsNCiAgICAgICAgJG9uZXJvdy0+cG9zaXRpb24gPSAkcm93Wydwb3NpdGlvbiddOw0KDQogICAgICAgIC8vIG1vdmUgdXANCiAgICAgICAgaWYgKCRvbmVyb3ctPnBvc2l0aW9uID4gMSkgew0KICAgICAgICAgICAgJG9uZXJvdy0+dXBsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fbW92ZWZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYnLCAkdGhpcy0+TGFuZygndXAnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+ICRyb3dbJ2ZpZWxkZGVmX2lkJ10sICdkaXInID0+ICd1cCcpKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRvbmVyb3ctPnVwbGluayA9ICcnOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gbW92ZSBkb3duDQogICAgICAgIC8qIGlmICgkcG9zaXRpb24gPiAkb25lcm93LT5wb3NpdGlvbikgew0KICAgICAgICAgICRvbmVyb3ctPmRvd25saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fbW92ZWZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctZC5naWYnLCAkdGhpcy0+TGFuZygnZG93bicpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdmaWVsZGRlZl9pZCcgPT4kcm93WydmaWVsZGRlZl9pZCddLCAnZGlyJyA9Pidkb3duJykpOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgJG9uZXJvdy0+ZG93bmxpbmsgPSAnJzsNCiAgICAgICAgICB9ICovDQoNCiAgICAgICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkcm93WydmaWVsZGRlZl9pZCddKSk7DQoNCiAgICAgICAgLy8gb25seSBkaXNwbGF5IGRlbGV0ZSBmaWVsZCBkZWZpbml0aW9uIGxpbmsgaWYgZmllbGQgZGVmaW5pdGlvbiBpcyBub3QgaW4gdXNlDQogICAgICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAnJzsNCiAgICAgICAgaWYgKCFpbl9hcnJheSgkcm93WydmaWVsZGRlZl9pZCddLCAkdXNlZGZpZWxkZGVmcykpIHsNCiAgICAgICAgICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9kZWxldGVmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkcm93WydmaWVsZGRlZl9pZCddKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7DQogICAgICAgIH0NCg0KICAgICAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsNCiAgICAgICAgJHJvd2NsYXNzID0gKCRyb3djbGFzcyA9PSAncm93MScgPyAncm93MicgOiAncm93MScpOw0KICAgIH0NCn0NCg0KJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7DQokc21hcnR5LT5hc3NpZ24oJ2FsaWFzJywgJHRoaXMtPkxhbmcoJ2FsaWFzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdhZGRmaWVsZGRlZicpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiAnICcgLiAkdGhpcy0+TGFuZygnYWRkZmllbGRkZWYnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWYnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3R5cGV0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmX3R5cGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ21heGxlbmd0aHRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfbWF4X2xlbmd0aCcpKTsNCiRzbWFydHktPmFzc2lnbigncmVxdWlyZWR0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmX3JlcXVpcmVkJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdzZWFyY2hhYmxldGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl9zZWFyY2hhYmxlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdmcm9udGVuZHRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfZnJvbnRlbmQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VkaXR2aWV3dGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl9lZGl0dmlldycpKTsNCiRzbWFydHktPmFzc2lnbignZmlsdGVyX2Zyb250ZW5kdGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl9maWx0ZXJfZnJvbnRlbmQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9hZG1pbnRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfZmlsdGVyX2FkbWluJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdzZWN0aW9uJywgJ2NhdGVnb3JpZXMnKTsNCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdmaWVsZGRlZnRhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_fielddeftab_galleries.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7DQoNCg0KLy8gZ2V0IGZpZWxkIGRlZmluaXRpb25zIGluIHVzZQ0KJHRtcCA9ICRkYi0+R2V0QXJyYXkoJ1NFTEVDVCBESVNUSU5DVCBmaWVsZGRlZl9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJyk7DQokdXNlZGZpZWxkZGVmcyA9IGFycmF5KCk7DQoNCmlmIChpc19hcnJheSgkdG1wKSkgew0KICAgIGZvcmVhY2ggKCR0bXAgYXMgJHJvdykgew0KICAgICAgICAkdXNlZGZpZWxkZGVmc1tdID0gJHJvd1snZmllbGRkZWZfaWQnXTsNCiAgICB9DQp9DQoNCi8vJHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBtYXgocG9zaXRpb24pIGFzIG1heF9wb3NpdGlvbiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJyk7DQokZmllbGRzID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfZGVmcygkdGhpcywgbnVsbCwgbnVsbCwgbnVsbCwgJ2dhbGxlcmllcycpOw0KJHJvd2NsYXNzID0gJ3JvdzEnOw0KJGVudHJ5YXJyYXkgPSBhcnJheSgpOw0KDQppZiAoaXNfYXJyYXkoJGZpZWxkcykgJiYgY291bnQoJGZpZWxkcykgPiAwKSB7DQogICAgZm9yZWFjaCAoJGZpZWxkcyBhcyAkcm93KSB7DQogICAgICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsNCiAgICAgICAgJG9uZXJvdy0+aWQgPSAkcm93WydmaWVsZGRlZl9pZCddOw0KICAgICAgICAkb25lcm93LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAkcm93WyduYW1lJ10sIGFycmF5KCdmaWVsZGRlZl9pZCcgPT4gJHJvd1snZmllbGRkZWZfaWQnXSkpOw0KICAgICAgICAkb25lcm93LT5hbGlhcyA9ICRyb3dbJ2FsaWFzJ107DQogICAgICAgICRvbmVyb3ctPnR5cGUgPSAkdGhpcy0+TGFuZygkcm93Wyd0eXBlJ10pOw0KICAgICAgICAkb25lcm93LT5yZXF1aXJlZCA9ICRyb3dbJ3JlcXVpcmVkJ107DQogICAgICAgICRvbmVyb3ctPmZyb250ZW5kID0gJHJvd1snZnJvbnRlbmQnXTsNCiAgICAgICAgJG9uZXJvdy0+ZWRpdHZpZXcgPSAkcm93WydlZGl0dmlldyddOw0KICAgICAgICAkb25lcm93LT5maWx0ZXJfZnJvbnRlbmQgPSAkcm93WydmaWx0ZXJfZnJvbnRlbmQnXTsNCiAgICAgICAgJG9uZXJvdy0+ZmlsdGVyX2FkbWluID0gJHJvd1snZmlsdGVyX2FkbWluJ107DQogICAgICAgICRvbmVyb3ctPnNlYXJjaGFibGUgPSAkcm93WydzZWFyY2hhYmxlJ107DQogICAgICAgICRvbmVyb3ctPnBvc2l0aW9uID0gJHJvd1sncG9zaXRpb24nXTsNCg0KICAgICAgICAvLyBtb3ZlIHVwDQogICAgICAgIGlmICgkb25lcm93LT5wb3NpdGlvbiA+IDEpIHsNCiAgICAgICAgICAgICRvbmVyb3ctPnVwbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX21vdmVmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2Fycm93LXUuZ2lmJywgJHRoaXMtPkxhbmcoJ3VwJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkcm93WydmaWVsZGRlZl9pZCddLCAnZGlyJyA9PiAndXAnKSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkb25lcm93LT51cGxpbmsgPSAnJzsNCiAgICAgICAgfQ0KDQogICAgICAgICRvbmVyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdmaWVsZGRlZl9pZCcgPT4gJHJvd1snZmllbGRkZWZfaWQnXSkpOw0KDQogICAgICAgIC8vIG9ubHkgZGlzcGxheSBkZWxldGUgZmllbGQgZGVmaW5pdGlvbiBsaW5rIGlmIGZpZWxkIGRlZmluaXRpb24gaXMgbm90IGluIHVzZQ0KICAgICAgICAkb25lcm93LT5kZWxldGVsaW5rID0gJyc7DQogICAgICAgIGlmICghaW5fYXJyYXkoJHJvd1snZmllbGRkZWZfaWQnXSwgJHVzZWRmaWVsZGRlZnMpKSB7DQogICAgICAgICAgICAkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRlZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdmaWVsZGRlZl9pZCcgPT4gJHJvd1snZmllbGRkZWZfaWQnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOw0KICAgICAgICB9DQoNCiAgICAgICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7DQogICAgICAgICRyb3djbGFzcyA9ICgkcm93Y2xhc3MgPT0gJ3JvdzEnID8gJ3JvdzInIDogJ3JvdzEnKTsNCiAgICB9DQp9DQoNCiRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhbGlhcycsICR0aGlzLT5MYW5nKCdhbGlhcycpKTsNCiRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsNCiRzbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygnYWRkZmllbGRkZWYnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4gJyAnIC4gJHRoaXMtPkxhbmcoJ2FkZGZpZWxkZGVmJykpKTsNCiRzbWFydHktPmFzc2lnbignZmllbGR0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0eXBldGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl90eXBlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdtYXhsZW5ndGh0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmX21heF9sZW5ndGgnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3JlcXVpcmVkdGV4dCcsICR0aGlzLT5MYW5nKCdmaWVsZGRlZl9yZXF1aXJlZCcpKTsNCiRzbWFydHktPmFzc2lnbignc2VhcmNoYWJsZXRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfc2VhcmNoYWJsZScpKTsNCiRzbWFydHktPmFzc2lnbignZnJvbnRlbmR0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmX2Zyb250ZW5kJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdlZGl0dmlld3RleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfZWRpdHZpZXcnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9mcm9udGVuZHRleHQnLCAkdGhpcy0+TGFuZygnZmllbGRkZWZfZmlsdGVyX2Zyb250ZW5kJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJfYWRtaW50ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmX2ZpbHRlcl9hZG1pbicpKTsNCiRzbWFydHktPmFzc2lnbignc2VjdGlvbicsICdnYWxsZXJpZXMnKTsNCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdmaWVsZGRlZnRhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_itemtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkNCiAgICByZXR1cm47DQoNCiR3aGVyZSA9IGFycmF5KCk7DQokY2F0ZWdvcnlsb25nbmFtZWxpc3QgPSBhcnJheSgpOw0KJHBhcmFtc2FycmF5ID0gYXJyYXkoKTsNCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7DQoNCiRzbWFydHktPmFzc2lnbignbW9kdWxlJywgJHRoaXMpOw0KDQokc3RhcnRfY2F0ZWdvcnkgPSAnJzsNCg0KJGNhdGVnb3J5bG9uZ25hbWVsaXN0ID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfcHJpdmF0ZV9jYXRlZ29yaWVzKCR0aGlzKTsNCg0KLy8NCi8vIFNldHVwDQovLw0KJHBhZ2VsaW1pdHMgPSBhcnJheSgnMicgPT4gMiwgJzUnID0+IDUsICcyNScgPT4gMjUsICcxMDAnID0+IDEwMCwgJzUwMCcgPT4gNTAwKTsNCiRzb3J0aXRlbXMgPSBhcnJheSgpOw0KJHNvcnRpdGVtc1skdGhpcy0+TGFuZygnZGF0ZScpXSA9ICdpdGVtX2RhdGUnOw0KJHNvcnRpdGVtc1skdGhpcy0+TGFuZygnY3JlYXRlZGRhdGUnKV0gPSAnY3JlYXRlX2RhdGUnOw0KJHNvcnRpdGVtc1skdGhpcy0+TGFuZygnbW9kaWZpZWRkYXRlJyldID0gJ21vZGlmaWVkX2RhdGUnOw0KJHNvcnRvcmRlcnMgPSBhcnJheSgpOw0KJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ2FzY2VuZGluZycpXSA9ICdhc2MnOw0KJHNvcnRvcmRlcnNbJHRoaXMtPkxhbmcoJ2Rlc2NlbmRpbmcnKV0gPSAnZGVzYyc7DQokdWlkID0gZ2V0X3VzZXJpZChmYWxzZSk7DQokaGllcmFyY2h5ID0gJyc7DQokY2hpbGRyZW4gPSAwOw0KJHBhZ2VsaW1pdCA9IDI1Ow0KJHNvcnRieSA9ICdjcmVhdGVfZGF0ZSc7DQokc29ydG9yZGVyID0gJ2Rlc2MnOw0KJHBhZ2VudW1iZXIgPSAxOw0KJGZpZWxkc192aWV3YWJsZSA9IGFycmF5KCk7DQokZmllbGRfbmFtZXMgPSBhcnJheSgpOw0KJGZpZWxkX21vZHVsZXMgPSBhcnJheSgpOw0KJGZpZWxkX2ltYWdlcyA9IGFycmF5KCk7DQokY3VzdG9tX2ZpZWxkcyA9ICcnOw0KJGRhdGVfdG8gPSB0aW1lKCk7DQoNCmlmICghJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGF0ZV9lZGl0JykpDQogICAgdW5zZXQoJHNvcnRpdGVtc1skdGhpcy0+TGFuZygnZGF0ZScpXSk7DQoNCg0KLy8gY3VzdG9tIGZpZWxkcw0KJGZpZWxkc19mb3JfZmlsdGVyID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfZGVmcygkdGhpcywgbnVsbCwgbnVsbCwgbnVsbCk7DQokY3VzdG9tX2ZsZHMgPSBhcnJheSgxKTsNCiRjdXN0b21fZmllbGRzX3ZhbHVlcyA9IGFycmF5KCk7DQokZmllbGRkZWZzID0gYXJyYXkoKTsNCmlmIChlbXB0eSgkZmllbGRzX2Zvcl9maWx0ZXIpID09IGZhbHNlKSB7DQogICAgZm9yZWFjaCAoJGZpZWxkc19mb3JfZmlsdGVyIGFzICRyb3cpIHsNCiAgICAgICAgaWYgKCRyb3dbImZpbHRlcl9hZG1pbiJdKSB7DQogICAgICAgICAgICAkY3VzdG9tX2ZsZHNbJHJvd1snZmllbGRkZWZfaWQnXV0gPSAkcm93Ow0KICAgICAgICAgICAgJGN1c3RvbV9maWVsZHNfdmFsdWVzWyRyb3dbJ2ZpZWxkZGVmX2lkJ11dID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jdXN0b21maWVsZHMnIC4gJHJvd1snZmllbGRkZWZfaWQnXSwgJycpOw0KICAgICAgICB9DQogICAgICAgICRmaWVsZGRlZnNbJHJvd1snYWxpYXMnXV0gPSBjZ2VfYXJyYXk6OnRvX29iamVjdCgkcm93KTsNCiAgICAgICAgJHNvcnRpdGVtc1skcm93WyduYW1lJ11dID0gJ2Y6JyAuICRyb3dbJ2FsaWFzJ107DQogICAgfQ0KfQ0KDQovLw0KLy8gR2V0IHByZWZlcmVuY2VzDQovLw0KJGhpZXJhcmNoeSA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaGllcmFyY2h5JywgJycpOw0KJGNoaWxkcmVuID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jaGlsZHJlbicsIDApOw0KJHBhZ2VsaW1pdCA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfcGFnZWxpbWl0JywgMjUpOw0KJHNvcnRieSA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfc29ydGJ5JywgJ2l0ZW1fZGF0ZScpOw0KJHNvcnRvcmRlciA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfc29ydG9yZGVyJywgJ2Rlc2MnKTsNCiRkYXRlX2Zyb20gPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RhdGVfZnJvbScsIHRpbWUoKSAtICgzNjAwICogMjQgKiA3KSk7DQokZGF0ZV90byA9IGdldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGF0ZV90bycsIHRpbWUoKSArICgzNjAwICogMjQgKiA3KSk7DQoNCg0KDQppZiAoZW1wdHkoJHRtcCkpDQogICAgJHRtcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21fZmllbGRzX2RlZmF1bHQnKTsNCmlmICghZW1wdHkoJHRtcCkpDQogICAgJGN1c3RvbV9maWVsZHMgPSBleHBsb2RlKCcsJywgJHRtcCk7DQoNCi8vDQovLyBIYW5kbGUgR2V0IHBhcmFtZXRlcnMNCi8vDQppZiAoaXNzZXQoJHBhcmFtc1sncGFnZW51bWJlciddKSkgew0KICAgICRwYWdlbnVtYmVyID0gKGludCkgJHBhcmFtc1sncGFnZW51bWJlciddOw0KfQ0KDQovLw0KLy8gSGFuZGxlIGZvcm0gc3VibWl0DQovLw0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgew0KDQogICAgaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtb2RlJykgIT0gInNpbXBsZSIpIHsNCiAgICAgICAgJHBhZ2VsaW1pdCA9IChpbnQpICRwYXJhbXNbJ2lucHV0X3BhZ2VsaW1pdCddOw0KICAgICAgICAkc29ydGJ5ID0gdHJpbSgkcGFyYW1zWydpbnB1dF9zb3J0YnknXSk7DQogICAgICAgICRzb3J0b3JkZXIgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3NvcnRvcmRlciddKTsNCiAgICAgICAgLy8gc3RvcmUgdGhlbSBhcyB1c2VyIHByZWZlcmVuY2VzDQogICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2hpbGRyZW4nLCAkY2hpbGRyZW4pOw0KICAgICAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3BhZ2VsaW1pdCcsICRwYWdlbGltaXQpOw0KICAgICAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3NvcnRieScsICRzb3J0YnkpOw0KICAgICAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3NvcnRvcmRlcicsICRzb3J0b3JkZXIpOw0KICAgIH0NCg0KICAgIGlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmlsdGVyX2NhdGVnb3JpZXMnKSkgew0KICAgICAgICAkY2hpbGRyZW4gPSAoaW50KSAkcGFyYW1zWydpbnB1dF9jaGlsZHJlbiddOw0KICAgICAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX19jaGlsZHJlbicsICRjaGlsZHJlbik7DQogICAgICAgICRoaWVyYXJjaHkgPSB0cmltKCRwYXJhbXNbJ2hpZXJhcmNoeSddKTsNCiAgICAgICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19oaWVyYXJjaHknLCAkaGllcmFyY2h5KTsNCiAgICB9DQoNCiAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZpbHRlcl9kYXRlJykpIHsNCiAgICAgICAgJGRhdGVfZnJvbSA9IG1rdGltZSgwLCAwLCAwLCAkcGFyYW1zWydkYXRlZnJvbU1vbnRoJ10sICRwYXJhbXNbJ2RhdGVmcm9tRGF5J10sICRwYXJhbXNbJ2RhdGVmcm9tWWVhciddKTsNCiAgICAgICAgJGRhdGVfdG8gPSBta3RpbWUoMjMsIDU5LCA1OSwgJHBhcmFtc1snZGF0ZXRvTW9udGgnXSwgJHBhcmFtc1snZGF0ZXRvRGF5J10sICRwYXJhbXNbJ2RhdGV0b1llYXInXSk7DQogICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGF0ZV9mcm9tJywgJGRhdGVfZnJvbSk7DQogICAgICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGF0ZV90bycsICRkYXRlX3RvKTsNCiAgICB9DQoNCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snY3VzdG9tZmllbGQnXSkpIHsNCiAgICAgICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jdXN0b21fZmllbGRzJywgaW1wbG9kZSgnLCcsICRjdXN0b21fZmllbGRzKSk7DQogICAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10gYXMgJGZsZGlkID0+ICR2YWx1ZSkgew0KICAgICAgICAgICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jdXN0b21maWVsZHMnIC4gJGZsZGlkLCAkdmFsdWUpOw0KICAgICAgICAgICAgJGN1c3RvbV9maWVsZHNfdmFsdWVzWyRmbGRpZF0gPSAkdmFsdWU7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCg0KLy8gaWYgc2ltcGxlIG1vZGUsIHJlc2V0IGFsbCBwcmVmcw0KaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtb2RlJykgPT0gInNpbXBsZSIpIHsNCiAgICAkc29ydG9yZGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvcnRvcmRlcl9zaW1wbGUnLCAnZGVzYycpOw0KICAgICRzb3J0YnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5X3NpbXBsZScsICdwb3NpdGlvbicpOw0KICAgICRwYWdlbGltaXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZWxpbWl0X3NpbXBsZScsIDEwMDApOw0KfQ0KLy8gZ2V0IGNhdGVnb3J5IGxpc3QNCiR3aGVyZSA9IGFycmF5KCk7DQokcGFyYW1zYXJyYXkgPSBhcnJheSgpOw0KaWYgKGVtcHR5KCRjYXRlZ29yeWxvbmduYW1lbGlzdCkgPT0gZmFsc2UpIHsNCg0KICAgICR3aGVyZXN0YXRlbWVudCA9IGFycmF5KCk7DQogICAgZm9yZWFjaCAoJGNhdGVnb3J5bG9uZ25hbWVsaXN0IGFzICRsb25uYW1lKSB7DQogICAgICAgICR3aGVyZXN0YXRlbWVudFtdID0gJ2xvbmdfbmFtZSBMSUtFICA/JzsNCiAgICAgICAgJHBhcmFtc2FycmF5W10gPSAkbG9ubmFtZSAuICcgJSc7DQogICAgfQ0KICAgICR3aGVyZVtdID0gJygnIC4gaW1wbG9kZSgnIE9SICcsICR3aGVyZXN0YXRlbWVudCkgLiAnKSc7DQp9DQokY2F0ZWdvcnlsaXN0ID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfY2F0ZWdvcnlfbGlzdCgkdGhpcywgJHdoZXJlLCAkcGFyYW1zYXJyYXkpOw0KDQovLyBmaWVsZHMgdmlldw0KJGFsbF9maWVsZHMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZHMoJHRoaXMsIGZhbHNlKTsNCg0KDQppZiAoaXNfYXJyYXkoJGFsbF9maWVsZHMpKSB7DQogICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGFsbF9maWVsZHMpOyAkaSsrKSB7DQogICAgICAgIHN3aXRjaCAoJGFsbF9maWVsZHNbJGldWyd0eXBlJ10pIHsNCiAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ3N0YXRpYyc6DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICd0YWInOg0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAkZmllbGRzX3ZpZXdhYmxlWyRhbGxfZmllbGRzWyRpXVsnZmllbGRkZWZfaWQnXV0gPSAkYWxsX2ZpZWxkc1skaV1bJ25hbWUnXTsNCiAgICAgICAgICAgICAgICAkZmllbGRfbmFtZXNbJGFsbF9maWVsZHNbJGldWydmaWVsZGRlZl9pZCddXSA9ICRhbGxfZmllbGRzWyRpXVsnYWxpYXMnXTsNCg0KICAgICAgICAgICAgICAgIC8vIGlmIG1vZHVsZSwgZ2V0IG1vZHVsZSBmdW5jDQogICAgICAgICAgICAgICAgaWYgKCRhbGxfZmllbGRzWyRpXVsndHlwZSddID09ICJtb2R1bGUiKSB7DQogICAgICAgICAgICAgICAgICAgICRpbnN0cnVjdGlvbnMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9leHRyYSgkYWxsX2ZpZWxkc1skaV1bJ2V4dHJhJ10pOw0KICAgICAgICAgICAgICAgICAgICAkY3VzdG9tbW9kdWxlcGFyYW1zID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZXh0cmFfbW9kdWxlcGFyYW1zKCRpbnN0cnVjdGlvbnMpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGN1c3RvbW1vZHVsZXBhcmFtcykgJiYgIWVtcHR5KCRjdXN0b21tb2R1bGVwYXJhbXMpICYmIGNtc191dGlsczo6Z2V0X21vZHVsZSgkY3VzdG9tbW9kdWxlcGFyYW1zWyJtb2R1bGUiXSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRmaWVsZF9tb2R1bGVzWyRhbGxfZmllbGRzWyRpXVsnZmllbGRkZWZfaWQnXV0gPSAkY3VzdG9tbW9kdWxlcGFyYW1zWyJtb2R1bGUiXTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAvLyBpZiBtb2R1bGUsIGdldCBtb2R1bGUgZnVuYw0KICAgICAgICAgICAgICAgIGlmICgkYWxsX2ZpZWxkc1skaV1bJ3R5cGUnXSA9PSAidXBsb2FkX2ZpbGUiKSB7DQogICAgICAgICAgICAgICAgICAgICRmaWVsZF9pbWFnZXNbJGFsbF9maWVsZHNbJGldWydmaWVsZGRlZl9pZCddXSA9IDE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChjb3VudCgkZmllbGRzX3ZpZXdhYmxlKSAmJiBpc19hcnJheSgkY3VzdG9tX2ZpZWxkcykpIHsNCiAgICAgICAgLy8gbm93IHRyaW0gZG93biB0aGUgY3VzdG9tIGZpZWxkcw0KICAgICAgICAvLyB0byBtYWtlIHN1cmUgdGhhdCBzb21ldGhpbmcgaGFzbid0IGJlZW4gZGVsZXRlZC4NCiAgICAgICAgJHRtcCA9IGFycmF5KCk7DQogICAgICAgIGZvcmVhY2ggKCRjdXN0b21fZmllbGRzIGFzICRmaWQpIHsNCiAgICAgICAgICAgIGlmIChpbl9hcnJheSgkZmlkLCBhcnJheV9rZXlzKCRmaWVsZHNfdmlld2FibGUpKSkgew0KICAgICAgICAgICAgICAgICR0bXBbXSA9ICRmaWQ7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgJGN1c3RvbV9maWVsZHMgPSAkdG1wOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRjdXN0b21fZmllbGRzID0gYXJyYXkoKTsNCiAgICB9DQp9DQokYWxsX2ZpZWxkcyA9IGNnZV9hcnJheTo6dG9faGFzaCgkYWxsX2ZpZWxkcywgJ25hbWUnKTsNCmlmIChjb3VudCgkZmllbGRzX3ZpZXdhYmxlKSkgew0KICAgICRzbWFydHktPmFzc2lnbignZmllbGRzX3ZpZXdhYmxlJywgJGZpZWxkc192aWV3YWJsZSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZF9uYW1lcycsICRmaWVsZF9uYW1lcyk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZF9tb2R1bGVzJywgJGZpZWxkX21vZHVsZXMpOw0KICAgICRzbWFydHktPmFzc2lnbignZmllbGRfaW1hZ2VzJywgJGZpZWxkX2ltYWdlcyk7DQp9DQoNCiRzbWFydHktPmFzc2lnbignY3VzdG9tX2ZpZWxkcycsICRjdXN0b21fZmllbGRzKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RlZmF1bHRhZG1pbicpKTsNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9oaWVyYXJjaHknLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdoaWVyYXJjaHknLCAkY2F0ZWdvcnlsaXN0LCAtMSwgJGhpZXJhcmNoeSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NoaWxkcmVuJywgJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsICdpbnB1dF9jaGlsZHJlbicsICRjaGlsZHJlbikpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0YnknLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpbnB1dF9zb3J0YnknLCAkc29ydGl0ZW1zLCAtMSwgJHNvcnRieSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0b3JkZXInLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpbnB1dF9zb3J0b3JkZXInLCAkc29ydG9yZGVycywgLTEsICRzb3J0b3JkZXIpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfcGFnZWxpbWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnaW5wdXRfcGFnZWxpbWl0JywgJHBhZ2VsaW1pdHMsIC0xLCAkcGFnZWxpbWl0KSk7DQoNCi8vDQovLyBCdWlsZCB0aGUgcXVlcnkNCi8vDQokZmllbGRzID0gYXJyYXkoKTsNCiRmaWVsZHNbXSA9ICdBLionOw0KJGZpZWxkc1tdID0gJ0IubG9uZ19uYW1lJzsNCiRwcmVmaXgxID0gIlNFTEVDVCA8RklFTERTPiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2l0ZW0gQSAiOw0KJHByZWZpeDIgPSAiU0VMRUNUIENPVU5UKEEuaXRlbV9pZCkgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9pdGVtIEEgIjsNCiR3aGVyZSA9IGFycmF5KCk7DQokam9pbnMgPSBhcnJheSgpOw0KJHFwYXJtcyA9IGFycmF5KCk7DQoNCmlmIChpc19hcnJheSgkY3VzdG9tX2ZpZWxkcykgJiYgY291bnQoJGN1c3RvbV9maWVsZHMpICYmIGNvdW50KCRmaWVsZHNfdmlld2FibGUpKSB7DQogICAgZm9yICgkaiA9IDA7ICRqIDwgY291bnQoJGN1c3RvbV9maWVsZHMpOyAkaisrKSB7DQogICAgICAgICRmaWQgPSAkY3VzdG9tX2ZpZWxkc1skal07DQogICAgICAgICRmaWVsZHNbXSA9ICJGdnskan0udmFsdWUgQVMgJ0ZsZF9feyRmaWVsZF9uYW1lc1skZmlkXX0nIjsNCiAgICAgICAgJGpvaW5zW10gPSAnTEVGVCBPVVRFUiBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkdmFsIEZ2eyRqfQ0KICAgICAgICAgICAgICAgICAgICBPTiBGdnskan0uaXRlbV9pZCA9IEEuaXRlbV9pZCBBTkQgRnZ7JGp9LmZpZWxkZGVmX2lkID0gPyI7DQogICAgICAgICRxcGFybXNbXSA9ICRjdXN0b21fZmllbGRzWyRqXTsNCiAgICB9DQp9DQoNCg0KJGpvaW5zW10gPSAnTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3JpZXMgQiANCiAgICAgICAgICAgICAgICAgIE9OIEEuY2F0ZWdvcnlfaWQgPSBCLmNhdGVnb3J5X2lkJzsNCg0KaWYgKCFlbXB0eSgkaGllcmFyY2h5KSkgew0KDQogICAgJHdoZXJlW10gPSAnQi5sb25nX25hbWUgTElLRSA/JzsNCiAgICBpZiAoJGNoaWxkcmVuKSB7DQogICAgICAgICRxcGFybXNbXSA9ICRoaWVyYXJjaHkgLiAnJSc7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHFwYXJtc1tdID0gJGhpZXJhcmNoeTsNCiAgICB9DQp9IGVsc2VpZiAoZW1wdHkoJGNhdGVnb3J5bG9uZ25hbWVsaXN0KSA9PSBmYWxzZSkgew0KICAgIGZvcmVhY2ggKCRjYXRlZ29yeWxvbmduYW1lbGlzdCBhcyAkbG9uZ25hbWUpIHsNCiAgICAgICAgJHdoZXJlW10gPSAnQi5sb25nX25hbWUgTElLRSA/JzsNCiAgICAgICAgJHFwYXJtc1tdID0gJGxvbmduYW1lIC4gJyUnOw0KICAgIH0NCn0NCg0KaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmaWx0ZXJfZGF0ZScpICYmICRkYXRlX2Zyb20gJiYgJGRhdGVfdG8pIHsNCiAgICAkd2hlcmVbXSA9ICIgQS5pdGVtX2RhdGUgID4gPyBhbmQgQS5pdGVtX2RhdGUgIDwgPyAiOw0KICAgICRxcGFybXNbXSA9IHRyaW0oJGRiLT5EQlRpbWVTdGFtcCgkZGF0ZV9mcm9tKSwgIiciKTsNCiAgICAkcXBhcm1zW10gPSB0cmltKCRkYi0+REJUaW1lU3RhbXAoJGRhdGVfdG8pLCAiJyIpOw0KfQ0KDQovLyBwcm9jY2VzIHZhbHVlcyBmcm9tIHBhcmFtcw0KaWYgKCRjdXN0b21fZmllbGRzX3ZhbHVlcykgew0KICAgIGZvcmVhY2ggKCRjdXN0b21fZmllbGRzX3ZhbHVlcyBhcyAkZmxkaWQgPT4gJHZhbHVlKSB7DQogICAgICAgIGlmIChlbXB0eSgkdmFsdWUpKQ0KICAgICAgICAgICAgY29udGludWU7DQoNCiAgICAgICAgJGogPSAnYycgLiAkZmxkaWQ7DQogICAgICAgICRqb2luc1tdID0gJ0xFRlQgT1VURVIgSk9JTiAnIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZHZhbCBGdnskan0NCiAgICAgICAgICAgICAgICAgICAgT04gRnZ7JGp9Lml0ZW1faWQgPSBBLml0ZW1faWQgQU5EIEZ2eyRqfS5maWVsZGRlZl9pZCA9ID8iOw0KICAgICAgICAvL2FycmF5X3Vuc2hpZnQoJHFwYXJtcywgJGZsZGlkKTsNCiAgICAgICAgJHFwYXJtc1tdID0gJGZsZGlkOw0KICAgICAgICAkd2hlcmVbXSA9ICcgRnYnIC4gJGogLiAnLnZhbHVlICA9ID8nOw0KICAgICAgICAkcXBhcm1zW10gPSAkdmFsdWU7DQogICAgfQ0KfQ0KDQoNCi8vIGhhbmRsZSBmdW5reSBjdXN0b20gZmllbGQgc29ydCBvcmRlcnMNCmlmIChzdGFydHN3aXRoKCRzb3J0YnksICdmOicpKSB7DQogICAgJGZpZWxkbmFtZSA9IHN1YnN0cigkc29ydGJ5LCBzdHJsZW4oJ2Y6JykpOw0KICAgIGlmIChpc3NldCgkZmllbGRkZWZzWyRmaWVsZG5hbWVdKSkgew0KICAgICAgICAkZmlkID0gJGZpZWxkZGVmc1skZmllbGRuYW1lXS0+ZmllbGRkZWZfaWQ7DQogICAgICAgICRqb2luc1tdID0gJ0xFRlQgSk9JTiAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBmdg0KICAgICAgICAgICAgICAgICAgT04gZnYuaXRlbV9pZCA9IEEuaXRlbV9pZCc7DQogICAgICAgICR3aGVyZVtdID0gJ2Z2LmZpZWxkZGVmX2lkID0gPyc7DQogICAgICAgICRxcGFybXNbXSA9ICRmaWQ7DQogICAgICAgICRvcmRlciA9ICIgT1JERVIgQlkgZnYudmFsdWUgJHNvcnRvcmRlciI7DQogICAgfQ0KfSBlbHNlIHsNCiAgICAkb3JkZXIgPSAiIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7DQp9DQoNCiRzdHIgPSBpbXBsb2RlKCcgJywgJGpvaW5zKTsNCmlmIChjb3VudCgkd2hlcmUpKSB7DQogICAgJHN0ciAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR3aGVyZSk7DQp9DQokcXVlcnkxID0gc3RyX3JlcGxhY2UoJzxGSUVMRFM+JywgaW1wbG9kZSgnLCcsICRmaWVsZHMpLCAkcHJlZml4MSkgLiAkc3RyIC4gJG9yZGVyOw0KJHF1ZXJ5MiA9ICRwcmVmaXgyIC4gJHN0cjsNCg0KLy8NCi8vIFNldHVwIHN0YXJ0IGVsZW1lbnQsIGFuZCBjb3VudCBwYWdlcw0KLy8NCiR0b3RhbGNvdW50ID0gJGRiLT5HZXRPbmUoJHF1ZXJ5MiwgJHFwYXJtcyk7DQokcGFnZWNvdW50ID0gKGludCkgKCR0b3RhbGNvdW50IC8gJHBhZ2VsaW1pdCk7DQppZiAoKCR0b3RhbGNvdW50ICUgJHBhZ2VsaW1pdCkgIT0gMCkNCiAgICAkcGFnZWNvdW50Kys7DQokc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyIC0gMSkgKiAkcGFnZWxpbWl0Ow0KDQovLw0KLy8gQmVnaW4gdGhlIG91dHB1dA0KLy8NCiRzbWFydHktPmFzc2lnbigncGFnZW51bWJlcicsICRwYWdlbnVtYmVyKTsNCiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywgJHBhZ2Vjb3VudCk7DQokc21hcnR5LT5hc3NpZ24oJ3RvdGFscm93cycsICR0b3RhbGNvdW50KTsNCmlmICgkcGFnZW51bWJlciA+IDEpIHsNCiAgICAkcGFybXMgPSBhcnJheSgncGFnZW51bWJlcicgPT4gMSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcm1zKSk7DQogICAgJHBhcm1zID0gYXJyYXkoJ3BhZ2VudW1iZXInID0+ICRwYWdlbnVtYmVyIC0gMSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2cGFnZV91cmwnLCAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFybXMpKTsNCn0NCmlmICgkcGFnZW51bWJlciA8ICRwYWdlY291bnQpIHsNCiAgICAkcGFybXMgPSBhcnJheSgncGFnZW51bWJlcicgPT4gJHBhZ2VudW1iZXIgKyAxKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlX3VybCcsICR0aGlzLT5DcmVhdGVVUkwoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJtcykpOw0KICAgICRwYXJtcyA9IGFycmF5KCdwYWdlbnVtYmVyJyA9PiAkcGFnZWNvdW50KTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlX3VybCcsICR0aGlzLT5DcmVhdGVVUkwoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJtcykpOw0KfQ0KDQokcG9zaXRpb24gPSAkZGItPkdldE9uZSgnU0VMRUNUIG1heChwb3NpdGlvbikgYXMgbWF4X3Bvc2l0aW9uIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScpOw0KDQokZW50cnlhcnJheSA9IGFycmF5KCk7DQokZGJyZXN1bHQgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeTEsICRwYWdlbGltaXQsICRzdGFydGVsZW1lbnQsICRxcGFybXMpOw0KLy9lY2hvICRkYi0+c3FsOw0Kd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7DQogICAgJG9uZXJvdyA9IGNnZV9hcnJheTo6dG9fb2JqZWN0KCRyb3cpOw0KDQogICAgLy8gbW92ZSB1cA0KICAgIGlmICgkcm93Wydwb3NpdGlvbiddID4gMSkgew0KICAgICAgICAkb25lcm93LT51cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9tb3ZlaXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2Fycm93LXUuZ2lmJywgJHRoaXMtPkxhbmcoJ3VwJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXSwgJ2RpcicgPT4gJ3VwJykpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRvbmVyb3ctPnVwbGluayA9ICcnOw0KICAgIH0NCg0KICAgIC8vIG1vdmUgZG93bg0KICAgIGlmICgkcG9zaXRpb24gPiAkcm93Wydwb3NpdGlvbiddKSB7DQogICAgICAgICRvbmVyb3ctPmRvd25saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fbW92ZWl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZicsICR0aGlzLT5MYW5nKCdkb3duJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXSwgJ2RpcicgPT4gJ2Rvd24nKSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJG9uZXJvdy0+ZG93bmxpbmsgPSAnJzsNCiAgICB9DQoNCiAgICAvLyBhcHByb3ZlDQogICAgaWYgKCRyb3dbJ2FjdGl2ZSddKSB7DQogICAgICAgICRvbmVyb3ctPmFwcHJvdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlaXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPkxhbmcoJ3JldmVydCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdhcHByb3ZlJyA9PiAwLCAnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddKSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJG9uZXJvdy0+YXBwcm92ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ2FwcHJvdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnYXBwcm92ZScgPT4gMSwgJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXSkpOw0KICAgIH0NCg0KICAgICRvbmVyb3ctPmVkaXRfdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICRyb3dbJ3RpdGxlJ10sIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10pLCAnJywgdHJ1ZSk7DQogICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnaXRlbV9pZCcgPT4gJHJvd1snaXRlbV9pZCddKSk7DQogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZWl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsNCiAgICAkb25lcm93LT5maWxlX2xvY2F0aW9uID0gZ2VuZXJhdG9yX3Rvb2xzOjpmaWxlX2xvY2F0aW9uKCR0aGlzLCAkcm93KTsNCiAgICAkb25lcm93LT5maWxlcGF0aF9sb2NhdGlvbiA9IGdlbmVyYXRvcl90b29sczo6ZmlsZXBhdGhfbG9jYXRpb24oJHRoaXMsICRyb3cpOw0KDQogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7DQp9DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2RhdGVfZnJvbScsICRkYXRlX2Zyb20pOw0KJHNtYXJ0eS0+YXNzaWduKCdkYXRlX3RvJywgJGRhdGVfdG8pOw0KDQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdhZGQnKSAuICcgJyAuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJywgJycpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiAnICcgLiAkdGhpcy0+TGFuZygnYWRkJykgLiAnICcgLiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpZHRleHQnLCAkdGhpcy0+TGFuZygnaWQnKSk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQyJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9idWxrYWN0aW9uJywgJHJldHVybmlkKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQyJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQokYnVsa2FjdGlvbnMgPSBhcnJheSgpOw0KJGJ1bGthY3Rpb25zWydkZWxldGUnXSA9ICR0aGlzLT5MYW5nKCdkZWxldGUnKTsNCiRidWxrYWN0aW9uc1snc2V0aW5hY3RpdmUnXSA9ICR0aGlzLT5MYW5nKCdzZXRkcmFmdCcpOw0KJGJ1bGthY3Rpb25zWydzZXRhY3RpdmUnXSA9ICR0aGlzLT5MYW5nKCdzZXRwdWJsaXNoZWQnKTsNCiRzbWFydHktPmFzc2lnbignYnVsa2FjdGlvbnMnLCAkYnVsa2FjdGlvbnMpOw0KDQovLyBnZXQgdGhlIGN1c3RvbSBmaWVsZHMNCiRmaWx0ZXJzID0gbmV3IGdlbmVyYXRvcl9maWx0ZXJzKCRpZCwgJHRoaXMsICdhZG1pbicpOw0KJGN1c3RvbV9mbGRzID0gJGZpbHRlcnMtPnByb2Nlc3NfY3VzdG9tX2ZpZWxkcyhhcnJheSgpLCAkY3VzdG9tX2ZsZHMpOw0KJGN1c3RvbV9mbGRzX29iaiA9ICRmaWx0ZXJzLT5nZW5lcmF0ZShudWxsLCAkcGFyYW1zLCAkY3VzdG9tX2ZpZWxkc192YWx1ZXMpOw0KaWYgKGlzc2V0KCRjdXN0b21fZmxkc19vYmopICYmIGNvdW50KCRjdXN0b21fZmxkc19vYmopID4gMCkgew0KICAgICRzbWFydHktPmFzc2lnbignY3VzdG9tX2ZpZWxkZGVmJywgJGN1c3RvbV9mbGRzX29iaik7DQp9DQplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2l0ZW10YWIudHBsJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_modetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KDQovLyRzb3J0aXRlbXMgPSBhcnJheSgpOw0KJHNvcnRpdGVtcyA9IGFycmF5KCk7DQokc29ydGl0ZW1zWyR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJyldID0gJ3RpdGxlJzsNCiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ2RhdGUnKV0gPSAnaXRlbV9kYXRlJzsNCiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ2NyZWF0ZWRkYXRlJyldID0gJ2NyZWF0ZV9kYXRlJzsNCiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ21vZGlmaWVkZGF0ZScpXSA9ICdtb2RpZmllZF9kYXRlJzsNCg0KLy8gY3VzdG9tIGZpZWxkcw0KJGZpZWxkc19mb3JfZmlsdGVyID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRfZGVmcygkdGhpcywgbnVsbCwgbnVsbCwgbnVsbCk7DQokY3VzdG9tX2ZsZHMgPSBhcnJheSgpOw0KJGN1c3RvbV9maWVsZHNfdmFsdWVzID0gYXJyYXkoKTsNCiRmaWVsZGRlZnMgPSBhcnJheSgpOw0KaWYgKGVtcHR5KCRmaWVsZHNfZm9yX2ZpbHRlcikgPT0gZmFsc2UpIHsNCiAgICBmb3JlYWNoICgkZmllbGRzX2Zvcl9maWx0ZXIgYXMgJHJvdykgew0KICAgICAgICAkc29ydGl0ZW1zWyRyb3dbJ25hbWUnXV0gPSAnZjonIC4gJHJvd1snYWxpYXMnXTsNCiAgICB9DQp9DQoNCiRzb3J0b3JkZXJzID0gYXJyYXkoKTsNCiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdhc2NlbmRpbmcnKV0gPSAnYXNjJzsNCiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdkZXNjZW5kaW5nJyldID0gJ2Rlc2MnOw0KJHRoaXNlcyA9IGFycmF5KCk7DQokdGhpc2VzWyR0aGlzLT5MYW5nKCdzaW1wbGUnKV0gPSAnc2ltcGxlJzsNCiR0aGlzZXNbJHRoaXMtPkxhbmcoJ2FkdmFuY2VkJyldID0gJ2FkdmFuY2VkJzsNCg0KJHNvcnRvcmRlcl9hZHZhbmNlZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXJfYWR2YW5jZWQnLCAnZGVzYycpOw0KJHNvcnRieV9hZHZhbmNlZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb3J0YnlfYWR2YW5jZWQnLCAnY3JlYXRlX2RhdGUnKTsNCg0KJHNvcnRvcmRlcl9zaW1wbGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyX3NpbXBsZScsICdkZXNjJyk7DQokc29ydGJ5X3NpbXBsZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb3J0Ynlfc2ltcGxlJywgJ3Bvc2l0aW9uJyk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9tb2RlJywgJHRoaXMtPkxhbmcoJ21vZGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hZHZhbmNlZCcsICR0aGlzLT5MYW5nKCdhZHZhbmNlZCcpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NpbXBsZScsICR0aGlzLT5MYW5nKCdzaW1wbGUnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfc29ydGluZycsICR0aGlzLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdW1tYXJ5X3NvcnRpbmdfYWR2YW5jZWQnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdzb3J0YnlfYWR2YW5jZWQnLCAkc29ydGl0ZW1zLCAtMSwgJHNvcnRieV9hZHZhbmNlZCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zdW1tYXJ5X3NvcnRvcmRlcicsICR0aGlzLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0b3JkZXInKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1bW1hcnlfc29ydG9yZGVyX2FkdmFuY2VkJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnc29ydG9yZGVyX2FkdmFuY2VkJywgJHNvcnRvcmRlcnMsIC0xLCAkc29ydG9yZGVyX2FkdmFuY2VkKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfcGFnZWxpbWl0JywgJHRoaXMtPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeV9wYWdlbGltaXRfYWR2YW5jZWQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3N1bW1hcnlfcGFnZWxpbWl0X2FkdmFuY2VkJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N1bW1hcnlfcGFnZWxpbWl0X2FkdmFuY2VkJywgMjUpLCA1LCA1KSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfc29ydGluZycsICR0aGlzLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdW1tYXJ5X3NvcnRpbmdfc2ltcGxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzb3J0Ynlfc2ltcGxlJywgJ3Bvc2l0aW9uJywgNTAsIDI1NSwgJ2Rpc2FibGVkPSJkaXNhYmxlZCInKQ0KKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc3VtbWFyeV9zb3J0b3JkZXInLCAkdGhpcy0+TGFuZygncHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1bW1hcnlfc29ydG9yZGVyX3NpbXBsZScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3NvcnRvcmRlcl9zaW1wbGUnLCAkc29ydG9yZGVycywgLTEsICRzb3J0b3JkZXJfc2ltcGxlKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnlfcGFnZWxpbWl0JywgJHRoaXMtPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeV9wYWdlbGltaXRfc2ltcGxlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzdW1tYXJ5X3BhZ2VsaW1pdF9zaW1wbGUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeV9wYWdlbGltaXRfc2ltcGxlJywgMjUpLCA1LCA1LCAnZGlzYWJsZWQ9ImRpc2FibGVkIicpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tb2RlJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnbW9kZScsICR0aGlzZXMsIC0xLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kZScsICdhZHZhbmNlZCcpKSk7DQoNCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdtb2RldGFiLnRwbCcpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_optioneditingtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2RlZmF1bHRfYWN0aW9uX3BhcmFtcycsICR0aGlzLT5MYW5nKCdwcm9tcHRfZGVmYXVsdF9hY3Rpb25fcGFyYW1zJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZWZhdWx0X2FjdGlvbl9wYXJhbXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2RlZmF1bHRfYWN0aW9uX3BhcmFtcycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2FjdGlvbl9wYXJhbXMnLCAnJyksIDUwKSk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaXRlbV90aXRsZV9lZGl0JywgJHRoaXMtPkxhbmcoJ3Byb21wdF9pdGVtX3RpdGxlX2VkaXQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fdGl0bGVfZWRpdCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2l0ZW1fdGl0bGVfZWRpdCcsIDEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlX2VkaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX2FsaWFzX2VkaXQnLCAkdGhpcy0+TGFuZygncHJvbXB0X2l0ZW1fYWxpYXNfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9hbGlhc19lZGl0JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaXRlbV9hbGlhc19lZGl0JywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fYWxpYXNfZWRpdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2l0ZW1fdXJsX2VkaXQnLCAkdGhpcy0+TGFuZygncHJvbXB0X2l0ZW1fdXJsX2VkaXQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fdXJsX2VkaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtX3VybF9lZGl0JywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdXJsX2VkaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX2RhdGVfZWRpdCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfaXRlbV9kYXRlX2VkaXQnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fZGF0ZV9lZGl0JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaXRlbV9kYXRlX2VkaXQnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kYXRlX2VkaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX2RhdGVfZW5kX2VkaXQnLCAkdGhpcy0+TGFuZygncHJvbXB0X2l0ZW1fZGF0ZV9lbmRfZWRpdCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9kYXRlX2VuZF9lZGl0JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaXRlbV9kYXRlX2VuZF9lZGl0JywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGF0ZV9lbmRfZWRpdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2l0ZW1fY2F0ZWdvcnlfZWRpdCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfaXRlbV9jYXRlZ29yeV9lZGl0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX2NhdGVnb3J5X2VkaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtX2NhdGVnb3J5X2VkaXQnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9jYXRlZ29yeV9lZGl0JywgMCkpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVjdXJzaXZlJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9yZWN1cnNpdmUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlY3Vyc2l2ZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3JlY3Vyc2l2ZScsIDEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWN1cnNpdmUnLCAwKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hhc19nYWxsZXJ5JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaGFzX2dhbGxlcnknLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGFzX2dhbGxlcnknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9nYWxsZXJ5X3NvcnRvcmRlcicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2dhbGxlcnlfc29ydG9yZGVyJywgJHNvcnRvcmRlcnMsIC0xLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZ2FsbGVyeV9zb3J0b3JkZXInLCAnZGVzYycpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2N1c3RvbV9maWVsZHNfZ2FsbGVyeV9kZWZhdWx0JywgJHRoaXMtPkxhbmcoJ3Byb21wdF9jdXN0b21fZmllbGRzX2RlZmF1bHRfYWRtaW4nKSk7DQokc21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9maWVsZHNfZ2FsbGVyeV9kZWZhdWx0JywgZXhwbG9kZSgnLCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21fZmllbGRzX2dhbGxlcnlfZGVmYXVsdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfcHJldmlld19hZG1pbicsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3ByZXZpZXdfYWRtaW4nLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJldmlld19hZG1pbicpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NvcHlfYWRtaW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdjb3B5X2FkbWluJywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvcHlfYWRtaW4nKSkpOw0KDQoNCiRhbGxfZmllbGRzID0gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfZmllbGRzKCR0aGlzLCBmYWxzZSwgJ2dhbGxlcmllcycpOw0KJGZpZWxkc192aWV3YWJsZSAgPSBhcnJheSgpOw0KaWYgKGlzX2FycmF5KCRhbGxfZmllbGRzKSkgew0KICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRhbGxfZmllbGRzKTsgJGkrKykgew0KICAgICAgICBzd2l0Y2ggKCRhbGxfZmllbGRzWyRpXVsndHlwZSddKSB7DQogICAgICAgICAgICBjYXNlICd0ZXh0YXJlYSc6DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICdzdGF0aWMnOg0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAndGFiJzoNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgJGZpZWxkc192aWV3YWJsZVskYWxsX2ZpZWxkc1skaV1bJ2ZpZWxkZGVmX2lkJ11dID0gJGFsbF9maWVsZHNbJGldWyduYW1lJ107DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKGlzc2V0KCRjdXN0b21fZmllbGRzKSAmJiBjb3VudCgkZmllbGRzX3ZpZXdhYmxlKSAmJiBpc19hcnJheSgkY3VzdG9tX2ZpZWxkcykpIHsNCiAgICAgICAgLy8gbm93IHRyaW0gZG93biB0aGUgY3VzdG9tIGZpZWxkcw0KICAgICAgICAvLyB0byBtYWtlIHN1cmUgdGhhdCBzb21ldGhpbmcgaGFzbid0IGJlZW4gZGVsZXRlZC4NCiAgICAgICAgJHRtcCA9IGFycmF5KCk7DQogICAgICAgIGZvcmVhY2ggKCRjdXN0b21fZmllbGRzIGFzICRmaWQpIHsNCiAgICAgICAgICAgIGlmIChpbl9hcnJheSgkZmlkLCBhcnJheV9rZXlzKCRmaWVsZHNfdmlld2FibGUpKSkgew0KICAgICAgICAgICAgICAgICR0bXBbXSA9ICRmaWQ7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgJGN1c3RvbV9maWVsZHMgPSAkdG1wOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRjdXN0b21fZmllbGRzID0gYXJyYXkoKTsNCiAgICB9DQp9DQoNCg0KDQppZiAoaXNzZXQoJGZpZWxkc192aWV3YWJsZSkgJiYgY291bnQoJGZpZWxkc192aWV3YWJsZSkpIHsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkc19nYWxsZXJ5X3ZpZXdhYmxlJywgJGZpZWxkc192aWV3YWJsZSk7DQp9DQoNCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnb3B0aW9uZWRpdGluZ3RhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_optionsearchtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc2VhcmNoYWJsZScsICR0aGlzLT5MYW5nKCdwcm9tcHRfc2VhcmNoYWJsZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfc2VhcmNoYWJsZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3NlYXJjaGFibGUnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoYWJsZScpKSk7DQoNCiRzbWFydHktPmFzc2lnbignc2VhcmNoYWJsZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWFyY2hhYmxlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdzZWFyY2hhYmxlX2xpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9zZWFyY2hfcmVpbmRleCcsICRyZXR1cm5pZCwgJycsIGFycmF5KCksICcnLCB0cnVlKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NlYXJjaF9kYXRlX2VuZCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfc2VhcmNoX2RhdGVfZW5kJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zZWFyY2hfZGF0ZV9lbmQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdzZWFyY2hfZGF0ZV9lbmQnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoX2RhdGVfZW5kJykpKTsNCg0KJGZpZWxkcyA9IGdlbmVyYXRvcl9maWVsZHM6OmdldF9maWVsZF9kZWZzKCR0aGlzKTsNCiRzZWFyY2hfY3VzdG9tX2ZpZWxkcyA9IGFycmF5KCk7DQppZiAoZW1wdHkoJGZpZWxkcykgPT0gZmFsc2UpIHsNCiAgICBmb3JlYWNoICgkZmllbGRzIGFzICRmaWVsZCkgew0KICAgICAgICAkc2VhcmNoX2N1c3RvbV9maWVsZHNbJGZpZWxkWyduYW1lJ11dID0NCiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnc2VhcmNoX2N1c3RvbV9maWVsZHNbJyAuICRmaWVsZFsnZmllbGRkZWZfaWQnXSAuICddJywgMCkNCiAgICAgICAgICAgICAgICAuICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3NlYXJjaF9jdXN0b21fZmllbGRzWycgLiAkZmllbGRbJ2ZpZWxkZGVmX2lkJ10gLiAnXScsIDEsICRmaWVsZFsnc2VhcmNoYWJsZSddKTsNCiAgICB9DQp9DQokc21hcnR5LT5hc3NpZ24oJ3NlYXJjaF9jdXN0b21fZmllbGRzJywgJHNlYXJjaF9jdXN0b21fZmllbGRzKTsNCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdvcHRpb25zZWFyY2h0YWIudHBsJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_optiontab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRvcHRpb24nLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZnJpZW5kbHluYW1lJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9mcmllbmRseW5hbWUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZyaWVuZGx5bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZnJpZW5kbHluYW1lJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsICcnKSwgNTApKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaXRlbV90aXRsZScsICR0aGlzLT5MYW5nKCdwcm9tcHRfaXRlbV90aXRsZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV90aXRsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXRlbV90aXRsZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJywgJycpLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX3Npbmd1bGFyJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9pdGVtX3Npbmd1bGFyJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX3Npbmd1bGFyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpdGVtX3Npbmd1bGFyJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLCAnJyksIDUwKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2l0ZW1fcGx1cmFsJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9pdGVtX3BsdXJhbCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9wbHVyYWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2l0ZW1fcGx1cmFsJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJycpLCA1MCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91cmxfcHJlZml4JywgJHRoaXMtPkxhbmcoJ3Byb21wdF91cmxfcHJlZml4JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91cmxfcHJlZml4JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd1cmxfcHJlZml4JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VybF9wcmVmaXgnLCAnJyksIDUwKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2Rpc3BsYXlfaW5saW5lJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9kaXNwbGF5X2lubGluZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZGlzcGxheV9pbmxpbmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdkaXNwbGF5X2lubGluZScsIDEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5X2lubGluZScpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VzZXJncm91cF9kZXBlbmRlbmNlJywgJHRoaXMtPkxhbmcoJ3Byb21wdF91c2VyZ3JvdXBfZGVwZW5kZW5jZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlcmdyb3VwX2RlcGVuZGVuY2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd1c2VyZ3JvdXBfZGVwZW5kZW5jZScsIDEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VyZ3JvdXBfZGVwZW5kZW5jZScpKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2hhc19hZG1pbicsICR0aGlzLT5MYW5nKCdwcm9tcHRfaGFzX2FkbWluJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9oYXNfYWRtaW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdoYXNfYWRtaW4nLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGFzX2FkbWluJykpKTsNCg0KDQokY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2l0ZW1fZGV0YWlsX3JldHVybmlkJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9pdGVtX2RldGFpbF9yZXR1cm5pZCcpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9kZXRhaWxfcmV0dXJuaWQnLCAkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RldGFpbF9yZXR1cm5pZCcsIC0xKSwgJGlkIC4gJ2l0ZW1fZGV0YWlsX3JldHVybmlkJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pdGVtX2NhdGVnb3J5X3JldHVybmlkJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9pdGVtX2NhdGVnb3J5X3JldHVybmlkJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX2NhdGVnb3J5X3JldHVybmlkJywgJGNvbnRlbnRvcHMtPkNyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCcnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9jYXRlZ29yeV9yZXR1cm5pZCcsIC0xKSwgJGlkIC4gJ2l0ZW1fY2F0ZWdvcnlfcmV0dXJuaWQnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2N1c3RvbV9maWVsZHNfZGVmYXVsdCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfY3VzdG9tX2ZpZWxkc19kZWZhdWx0X2FkbWluJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdjdXN0b21fZmllbGRzX2RlZmF1bHQnLCBleHBsb2RlKCcsJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1c3RvbV9maWVsZHNfZGVmYXVsdCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZmlsdGVyJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZmlsdGVyJywgMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZpbHRlcicpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9jYXRlZ29yaWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZmlsdGVyX2NhdGVnb3JpZXMnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmlsdGVyX2NhdGVnb3JpZXMnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9maWx0ZXJfZGF0ZScsICR0aGlzLT5MYW5nKCdwcm9tcHRfZmlsdGVyX2RhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpbHRlcl9kYXRlJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZmlsdGVyX2RhdGUnLCAxLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmlsdGVyX2RhdGUnKSkpOw0KDQokZmllbGRzID0gZ2VuZXJhdG9yX2ZpZWxkczo6Z2V0X2ZpZWxkX2RlZnMoJHRoaXMpOw0KJGZpbHRlcl9jdXN0b21fZmllbGRzID0gYXJyYXkoKTsNCmlmIChlbXB0eSgkZmllbGRzKSA9PSBmYWxzZSkgew0KICAgIGZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKSB7DQogICAgICAgICRmaWx0ZXJfY3VzdG9tX2ZpZWxkc1skZmllbGRbJ25hbWUnXV0gPQ0KICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdmaWx0ZXJfY3VzdG9tX2ZpZWxkc1snIC4gJGZpZWxkWydmaWVsZGRlZl9pZCddIC4gJ10nLCAwKQ0KICAgICAgICAgICAgICAgIC4gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZmlsdGVyX2N1c3RvbV9maWVsZHNbJyAuICRmaWVsZFsnZmllbGRkZWZfaWQnXSAuICddJywgMSwgJGZpZWxkWydmaWx0ZXJfYWRtaW4nXSk7DQogICAgfQ0KfQ0KJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJfY3VzdG9tX2ZpZWxkcycsICRmaWx0ZXJfY3VzdG9tX2ZpZWxkcyk7DQoNCg0KJGFsbF9maWVsZHMgPSBnZW5lcmF0b3JfdG9vbHM6OmdldF9maWVsZHMoJHRoaXMsIGZhbHNlKTsNCmlmIChpc19hcnJheSgkYWxsX2ZpZWxkcykpIHsNCiAgICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkYWxsX2ZpZWxkcyk7ICRpKyspIHsNCiAgICAgICAgc3dpdGNoICgkYWxsX2ZpZWxkc1skaV1bJ3R5cGUnXSkgew0KICAgICAgICAgICAgY2FzZSAndGV4dGFyZWEnOg0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAnc3RhdGljJzoNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ3RhYic6DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICRmaWVsZHNfdmlld2FibGVbJGFsbF9maWVsZHNbJGldWydmaWVsZGRlZl9pZCddXSA9ICRhbGxfZmllbGRzWyRpXVsnbmFtZSddOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChpc3NldCgkY3VzdG9tX2ZpZWxkcykgJiYgY291bnQoJGZpZWxkc192aWV3YWJsZSkgJiYgaXNfYXJyYXkoJGN1c3RvbV9maWVsZHMpKSB7DQogICAgICAgIC8vIG5vdyB0cmltIGRvd24gdGhlIGN1c3RvbSBmaWVsZHMNCiAgICAgICAgLy8gdG8gbWFrZSBzdXJlIHRoYXQgc29tZXRoaW5nIGhhc24ndCBiZWVuIGRlbGV0ZWQuDQogICAgICAgICR0bXAgPSBhcnJheSgpOw0KICAgICAgICBmb3JlYWNoICgkY3VzdG9tX2ZpZWxkcyBhcyAkZmlkKSB7DQogICAgICAgICAgICBpZiAoaW5fYXJyYXkoJGZpZCwgYXJyYXlfa2V5cygkZmllbGRzX3ZpZXdhYmxlKSkpIHsNCiAgICAgICAgICAgICAgICAkdG1wW10gPSAkZmlkOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICRjdXN0b21fZmllbGRzID0gJHRtcDsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkY3VzdG9tX2ZpZWxkcyA9IGFycmF5KCk7DQogICAgfQ0KfQ0KaWYgKGlzc2V0KCRmaWVsZHNfdmlld2FibGUpICYmIGNvdW50KCRmaWVsZHNfdmlld2FibGUpKQ0KICAgICRzbWFydHktPmFzc2lnbignZmllbGRzX3ZpZXdhYmxlJywgJGZpZWxkc192aWV3YWJsZSk7DQoNCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdvcHRpb250YWIudHBsJyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/function.admin_templatetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQ0KICAgIHJldHVybjsNCiRhZG1pbnRoZW1lID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7DQoNCiRxdWVyeSA9ICdTRUxFQ1QgdHBsX2lkLCBuYW1lLCBjb250ZW50LCB0eXBlIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfdGVtcGxhdGUnOw0KJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KJGl0ZW1zID0gQXJyYXkoKTsNCiRyb3djbGFzcyA9ICdyb3cxJzsNCg0Kd2hpbGUgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsNCiAgICAkdG1wID0gbmV3IFN0ZENsYXNzKCk7DQogICAgJHRtcC0+bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJHJvd1snbmFtZSddLCBhcnJheSgndHBsX2lkJyA9PiAkcm93Wyd0cGxfaWQnXSkpOw0KICAgICR0bXAtPmRlbGV0ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZXRlbXBsYXRlJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgndHBsX2lkJyA9PiAkcm93Wyd0cGxfaWQnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOw0KICAgICR0bXAtPmVkaXQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3RwbF9pZCcgPT4gJHJvd1sndHBsX2lkJ10pKTsNCiAgICAkdG1wLT5yb3djbGFzcyA9ICRyb3djbGFzczsNCg0KICAgICRpID0gaXNzZXQoJGl0ZW1zWyRyb3dbJ3R5cGUnXV0pID8gY291bnQoJGl0ZW1zWyRyb3dbJ3R5cGUnXV0pIDogMDsNCiAgICAkaXRlbXNbJHJvd1sndHlwZSddXVskaV0gPSAkdG1wOw0KDQogICAgJHJvd2NsYXNzID0gKCRyb3djbGFzcyA9PSAncm93MScgPyAncm93MicgOiAncm93MScpOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRpdGVtcykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRpdGVtcyk7DQokc21hcnR5LT5hc3NpZ24oJ2RldGFpbHRlbXBsYXRlcycsICR0aGlzLT5MYW5nKCdkZXRhaWx0ZW1wbGF0ZXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1bW1hcnl0ZW1wbGF0ZXMnLCAkdGhpcy0+TGFuZygnc3VtbWFyeXRlbXBsYXRlcycpKTsNCiRzbWFydHktPmFzc2lnbignaGVhZGVyX25hbWUnLCAkdGhpcy0+TGFuZygndGVtcGxhdGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2FkZGRldGFpbGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZHRlbXBsYXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuICcgJyAuIHNwcmludGYoJHRoaXMtPkxhbmcoJ2FkZHRlbXBsYXRlJyksICdEZXRhaWwnKSwgYXJyYXkoJ3R5cGUnID0+ICdkZXRhaWwnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZGRzdW1tYXJ5bGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygnYWRkdGVtcGxhdGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4gJyAnIC4gc3ByaW50ZigkdGhpcy0+TGFuZygnYWRkdGVtcGxhdGUnKSwgJ1N1bW1hcnknKSwgYXJyYXkoJ3R5cGUnID0+ICdzdW1tYXJ5JykpKTsNCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZXRhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KJGRpciA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgZGlybmFtZShfX0ZJTEVfXykpOw0KJGRlZmF1bHRfbGFuZyA9IHN0cl9yZXBsYWNlKCdNb2R1bGVMaWInIC4gRElSRUNUT1JZX1NFUEFSQVRPUiwgJycsIF9fRklMRV9fKTsNCiRjdXJyX2xhbmcgPSBzdHJfcmVwbGFjZSgnZW5fVVMucGhwJywgJ2V4dCcgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gY21zX2N1cnJlbnRfbGFuZ3VhZ2UoKSAuICcucGhwJywgJGRlZmF1bHRfbGFuZyk7DQppbmNsdWRlKCRkZWZhdWx0X2xhbmcpOw0KaWYgKGZpbGVfZXhpc3RzKCRjdXJyX2xhbmcpKSB7DQogICAgaW5jbHVkZSgkY3Vycl9sYW5nICk7DQp9DQoNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJG1vZHVsZV9uYW1lIC4gJyBoYXMgc3VjY2Vzc2Z1bGx5IGJlZW4gaW5zdGFsbGVkJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAkbW9kdWxlX25hbWUgLiAnIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiB1bmluc3RhbGxlZCc7DQokbGFuZ1skbW9kdWxlX2FsaWFzIC4gJ19tb2RpZnlfaXRlbSddID0gJG1vZHVsZV9uYW1lIC4gJzogTW9kaWZ5IEl0ZW1zJzsNCiRsYW5nWyRtb2R1bGVfYWxpYXMgLiAnX21vZGlmeV9jYXRlZ29yaWVzJ10gPSAkbW9kdWxlX25hbWUgLiAnOiBNb2RpZnkgQ2F0ZWdvcmllcyc7DQokbGFuZ1skbW9kdWxlX2FsaWFzIC4gJ19tb2RpZnlfb3B0aW9uJ10gPSAkbW9kdWxlX25hbWUgLiAnOiBNb2RpZnkgT3B0aW9ucyc7DQokbGFuZ1skbW9kdWxlX2FsaWFzIC4gJ19hbGxfY2F0ZWdvcnlfdmlzYmlsZSddID0gJG1vZHVsZV9uYW1lIC4gJzogYWxsIGNhdGVnb3J5IHZpc2libGUnOw0KJGxhbmdbJ2NoYW5nZWxvZyddID0gJyAnOw0KDQojIyBwZXJtcw0KJGxhbmdbJ21vZGlmeV9pdGVtJ10gPSAkbW9kdWxlX25hbWUgLiAnOiBtb2RpZnkgaXRlbSc7DQokbGFuZ1snbW9kaWZ5X29wdGlvbiddID0gJG1vZHVsZV9uYW1lIC4gJzogbW9kaWZ5IG9wdGlvbic7DQokbGFuZ1snbW9kaWZ5X2NhdGVnb3JpZXMnXSA9ICRtb2R1bGVfbmFtZSAuICc6IG1vZGlmeSBjYXRlZ29yaWVzJzsNCiRsYW5nWydhbGxfY2F0ZWdvcnlfdmlzYmlsZSddID0gJG1vZHVsZV9uYW1lIC4gJzogYWxsIGNhdGVnb3J5IHZpc2libGUnOw0KDQoNCi8vIG1vZHVsZSBoZWxwDQokbGFuZ1snaGVscCddID0gPDw8RU9UDQo8ZGl2IGlkPSJwYWdlX3RhYnMiPiAgICAgDQogIDxkaXYgaWQ9ImdlbmVyYWwiPg0KICAgIEdlbmVyYWwgSW5mbyAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJ1c2FnZSI+DQogICAgVXNhZ2UgICANCiAgPC9kaXY+ICAgICANCiAgPGRpdiBpZD0icGVybWlzc2lvbnMiPg0KICAgIFBlcm1pc3Npb25zICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9ImZpZWxkIj4NCiAgICBGaWVsZCBEZWZpbml0aW9ucyAgIA0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJjYXRlZ29yaWVzIj4NCiAgICBDYXRlZ29yaWVzICAgDQogIDwvZGl2PiAgICAgDQogIDxkaXYgaWQ9ImV4YW1wbGVzIj4NCiAgICBFeGFtcGxlcyAgIA0KICA8L2Rpdj4gICAgIA0KPC9kaXY+ICAgDQo8ZGl2IGNsYXNzPSJjbGVhcmIiPiAgDQo8L2Rpdj4NCjxkaXYgaWQ9InBhZ2VfY29udGVudCI+ICANCiAgPGRpdiBpZD0iZ2VuZXJhbF9jIj4JDQoNCjxoMz5HZW5lcmFsIEluZm88L2gzPgkJDQogICAgPHA+U2ltcGx5IHB1dCwgTW9kdWxlICBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4gWW91IGNvdWxkIG1ha2UgYSBzaW1wbGUgRkFRIG9yIFRlc3RpbW9uaWFscyBmZWF0dXJlIHdpdGggdGhpcyBtb2R1bGUuIFRoZSB3ZWIgZGV2ZWxvcGVyIGRlZmluZXMgZmllbGRzIHRvIGNvbnN0cmFpbiB3aGF0IGRhdGEgdGhlIGNsaWVudCBjYW4gZW50ZXIuIEEgbnVtYmVyIG9mIGZpZWxkIHR5cGVzIGNhbiBiZSBzcGVjaWZpZWQgLSB0ZXh0IGlucHV0LCBjaGVja2JveCwgdGV4dCBhcmVhLCBzZWxlY3QgZGF0ZSwgdXBsb2FkIGZpbGUsIHNlbGVjdCBmaWxlLCBkcm9wZG93biAtIGFuZCBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBjYW4gYmUgc2V0IGZvciBlYWNoIHR5cGUsIGZvciBleGFtcGxlLCBpbnB1dCBmaWVsZCBzaXplLCBtYXggbGVuZ3RoLCBXWVNJV1lHIGVkaXRvciwgcG9zc2libGUgZHJvcCBkb3duIHZhbHVlcywgcG9zc2libGUgZmlsZSBleHRlbnNpb25zLCBkaXJlY3RvcnkgcGF0aHMgZm9yIGZpbGUgc2VsZWN0aW9ucywgZGF0ZSBmb3JtYXRzLCBldGMuDQogICAgPC9wPg0KDQoNCjxoMz5BYm91dCBBdXRob3I8L2gzPg0KPHA+WmRlbm8gS3V6bWFueTxiciAvPiA8YnIgLz4NCiAgICA8c3Ryb25nPlBlcnNvbmFsOjwvc3Ryb25nPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8va3V6bWFueS5iaXovP3V0bV9zb3VyY2U9Y21zbXMlMkJtb2R1bGUmdXRtX21lZGl1bT1saW5rJnV0bV9jYW1wYWlnbj11cmx3YXRjaGRvZyI+a3V6bWFueS5iaXo8L2E+PGJyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9tYWRlc2ltcGxlLnNrLz91dG1fc291cmNlPWNtc21zJTJCbW9kdWxlJnV0bV9tZWRpdW09bGluayZ1dG1fY2FtcGFpZ249dXJsd2F0Y2hkb2ciPm1hZGVzaW1wbGUuc2s8L2E+PGJyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9rdXptYW55Ij50d2l0dGVyPC9hPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vYWJvdXQubWUva3V6bWFueSI+YWJvdXQubWU8L2E+PGJyPjxiciAvPg0KPHN0cm9uZz5EbyBuaWNlIHRoaW5nIHdpdGggbWU8L3N0cm9uZz48YnIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vY21zbWFkZXNpbXBsZS5zay9vdXRzb3VyY2luZy8/dXRtX3NvdXJjZT1jbXNtcyUyQm1vZHVsZSZ1dG1fbWVkaXVtPWxpbmsmdXRtX2NhbXBhaWduPXVybHdhdGNoZG9nIj5DTVMgTWFkZSBTaW1wbGUgb3V0c291cmNpbmc8L2E+PGJyPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgPC9kaXY+CQ0KICA8ZGl2IGlkPSJ1c2FnZV9jIj4JCQ0KICAgIDxoMz5Vc2FnZTwvaDM+CQkJDQogICAgICA8cD5Zb3UgY2FuIGNvbmZpZ3VyZSB7JG1vZHVsZV9uYW1lfSBoZXJlOiBDb250ZW50ID4geyRtb2R1bGVfbmFtZX0NCiAgICAgIDwvcD4JCQkNCiAgICA8cD5QbGFjZSB0aGlzIHRhZyBpbiB5b3VyIHBhZ2U6PGJyIC8+CQ0KICAgIHt7JG1vZHVsZV9uYW1lfX0NCiAgICA8L3A+CQkNCiAgICA8ZGl2PgkJCQ0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPg0KICAgICAgICBBZnRlciBpbnN0YWxsaW5nIHRoZSBtb2R1bGUgdGhlIG5leHQgdGhpbmcgdG8gZG8gaXMgc2V0IHRoZSBvcHRpb25zLiAgCQkJCQ0KICAgICAgICA8b2w+CQkJCQkNCiAgICAgICAgICA8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgaW4gdGhlIG1lbnUgY2hhbmdlIHRoZSAnTW9kdWxlIEZyaWVuZGx5IE5hbWUnLg0KICAgICAgICAgIDwvbGk+CQkJCQkNCiAgICAgICAgICA8bGk+VG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBpdGVtIHRhYiBjaGFuZ2UgdGhlICdJdGVtIFBsdXJhbCcuDQogICAgICAgICAgPC9saT4JCQkJDQogICAgICAgIDwvb2w+CQkNCiAgICAgIDwvZGl2Pg0KICAgICAgPGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4JCQ0KICAgIDwvZGl2PgkJDQogICAgPGRpdj4NCiAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4NCiAgICAgICAgTmV4dCAtIHNldCB0aGUgRmllbGQgRGVmaW5pdGlvbnMuIA0KICAgICAgICA8b2w+DQogICAgICAgICAgPGxpPkNob29zZSBmcm9tICdUZXh0IElucHV0JywgJ0NoZWNrYm94JywgJ1RleHQgQXJlYScsICdTZWxlY3QgRGF0ZScsICdVcGxvYWQgRmlsZScsICdTZWxlY3QgRmlsZScgJiAnRHJvcGRvd24nLg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpPkZvciBlYWNoIGZpZWxkIGRlZmluaXRpb24sIHlvdSBjYW4gc3BlY2lmeSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBpbiB0aGUgJ2V4dHJhJyBmaWVsZC4gU2VlIHRoZSAnRmllbGQgRGVmaW5pdGlvbnMnIHRhYiBmb3IgYSBsaXN0Lg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpPkVhY2ggaXRlbSBpbiBlYWNoIGxpc3QgaGFzIHRocmVlIGRlZmF1bHQgZmllbGRzLiBBbGwgRmllbGQgRGVmaW5pdGlvbnMgc2V0IGhlcmUgYXJlIGFkZGl0aW9uYWwgdG8gdGhlbS4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICA8L29sPg0KICAgICAgPC9kaXY+PGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4NCiAgICA8L2Rpdj4NCiAgICAgICAgPGRpdj4NCiAgICAgIA0KICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPg0KICAgICAgICBOb3cgd2UgbW92ZSBvbiB0byB0aGUgSXRlbSBsaXN0IGl0c2VsZi4gSW4gdGhpcyBleGFtcGxlIGl0IHNheXMgJ0FkZCBCb3gnLCB0aGlzIHdhcyByZW5hbWVkIGluIHRoZSAnT3B0aW9ucycgdGFiLiANCiAgICAgICAgPG9sPg0KICAgICAgICAgIDxsaT5UaGUgZmlyc3QgZmllbGQgaXMgdGhlIGRlZmF1bHQgJ1RpdGxlJyBmaWVsZC4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT5UaGUgJ0NhdGVnb3J5JyBkcm9wZG93biBpcyBhbHNvIGEgZGVmYXVsdCBmaWVsZCwgYW5kIGlmIHVuY2hhbmdlZCwgd2lsbCBiZSBzZXQgdG8gJ0dlbmVyYWwnLg0KICAgICAgICAgIDwvbGk+DQogICAgICAgICAgPGxpPlRoZSB0aGlyZCBkZWZhdWx0IGZpZWxkIGlzIHRoZSBjaGVja2JveCBjYWxsZWQgJ0FjdGl2ZScuIFRoaXMgYWxsb3dzIHlvdSB0byB0b2dnbGUgYSBsaXN0IGVudHJ5IHdpdGhvdXQgZGVsZXRpbmcgaXQuDQogICAgICAgICAgPC9saT4NCiAgICAgICAgPC9vbD4NCiAgICAgIDwvZGl2PjxiciBzdHlsZT0iY2xlYXI6Ym90aDsiIC8+DQogICAgPC9kaXY+DQogICAgPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDsiIC8+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJwZXJtaXNzaW9uc19jIj48aDM+UGVybWlzc2lvbnM8L2gzPg0KICAgIDxwPllvdSBjYW4gc3BlY2lmeSB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zIHVuZGVyIFVzZXJzICYgR3JvdXBzID4gR3JvdXAgUGVybWlzc2lvbnMNCiAgICA8L3A+DQogICAgPHVsPg0KICAgICAgPGxpPnskbW9kdWxlX25hbWV9OiBtb2RpZnkgSXRlbXMNCiAgICAgIDwvbGk+DQogICAgICA8bGk+eyRtb2R1bGVfbmFtZX06IG1vZGlmeSBDYXRlZ29yaWVzDQogICAgICA8L2xpPg0KICAgICAgPGxpPnskbW9kdWxlX25hbWV9OiBtb2RpZnkgT3B0aW9ucw0KICAgICAgPC9saT4NCiAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogYWxsIGNhdGVnb3J5IHZpc2libGUNCiAgICAgIDwvbGk+DQogICAgPC91bD4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImZpZWxkX2MiPjxoMz5GaWVsZCBEZWZpbml0aW9uczwvaDM+DQogICAgPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgY29uZmlndXJlIGFyZSB5b3VyIGZpZWxkIGRlZmluaXRpb25zLg0KICAgIDwvcD4NCiAgICA8cD5Gb3IgZWFjaCBmaWVsZCBkZWZpbml0aW9uLCB5b3UgY2FuIHNwZWNpZnkgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgaW4gdGhlICJleHRyYSIgZmllbGQuDQogICAgPC9wPg0KICAgIDx1bD4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+c2l6ZVsyMF0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFRleHQgSW5wdXQsIFNlbGVjdCBEYXRlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+bWF4X2xlbmd0aFsyMF0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFRleHQgSW5wdXQsIFRleHQgQXJlYSwgU2VsZWN0IERhdGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+d3lzaXd5Z1sxXQ0KICAgICAgICA8L2NvZGU+PGJyIC8+DQogICAgICAgIFBvc3NpYmxlIHZhbHVlOiAxfDB8dHJ1ZXxmYWxzZTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFRleHQgQXJlYQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPnVkdFt1ZHRfbmFtZV0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogc3RyaW5nPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogZHJvcGRvd25fZnJvbV91ZHQNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5vcHRpb25zW2FwcGxlPUFwcGxlLGJhbmFuYT1CYW5hbmFdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IGtleT12YWx1ZSwuLi4gPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogRHJvcGRvd24NCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5Nb2R1bGVuYW1lW2FjdGlvbj1kZWZhdWx0LHNvcnRieT10aXRsZSxzb3J0b3JkZXI9ZGVzY10NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogZXZlcnl0aGluZyB5b3UgdXNlZCBpbiBtb2R1bGUNCiAgICAgICAgPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogTW9kdWxlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+bXVsdGlwbGVbNV0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogaW50ZWdlcjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IE1vZHVsZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5HQkZpbGVQaWNrZXJbbW9kZT1icm93c2VyLGRpcj1pbWFnZXMsYWxsb3c9anBnLGdpZl0NCiAgICAgICAgPC9jb2RlPjxiciAvPiAgICAgICAgDQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogZmlsZXBpY2tlciAobmVlZCBHQkZpbGVQaWNrZXIgbW9kdWxlIGluc3RhbGxlZCkNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+YWxsb3dbcGRmLGdpZixwbmcsanBlZyxqcGddDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IGV4dGVuc2lvbiwuLi4gKGtlZXAgbG93ZXJjYXNlKTxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFVwbG9hZCBGaWxlLCBTZWxlY3QgRmlsZQ0KICAgICAgPC9wPiAgICANCiAgICAgIDwvbGk+ICAgIA0KICAgICAgPGxpPiAgICAgICAgDQogICAgICA8cD5JbnN0cnVjdGlvbjogDQogICAgICAgIDxjb2RlPmRpclsvcGF0aC90by9kaXJdDQogICAgICAgIDwvY29kZT48YnIgLz4NCiAgICAgICAgUG9zc2libGUgdmFsdWU6IERpcmVjdG9yeSBwYXRoIHRoYXQgd2lsbCBiZSBhcHBlbmRlZCB0byANCiAgICAgICAgPGNvZGU+XCRjb25maWdbJ3VwbG9hZHNfcGF0aCddDQogICAgICAgIDwvY29kZT4uIE5vIHNsYXNoIGF0IHRoZSBlbmQuPGJyIC8+DQogICAgICAgIEFwcGxpY2FibGUgdG8gZmllbGQgdHlwZTogU2VsZWN0IEZpbGUNCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPiAgICANCiAgICAgIDxsaT4gICAgICAgIA0KICAgICAgPHA+SW5zdHJ1Y3Rpb246IA0KICAgICAgICA8Y29kZT5leGNsdWRlX3ByZWZpeFt0aHVtYl8sZm9vX10NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogcHJlZml4LC4uLjxiciAvPg0KICAgICAgICBBcHBsaWNhYmxlIHRvIGZpZWxkIHR5cGU6IFNlbGVjdCBGaWxlDQogICAgICA8L3A+ICAgIA0KICAgICAgPC9saT4gICAgDQogICAgICA8bGk+ICAgICAgICANCiAgICAgIDxwPkluc3RydWN0aW9uOiANCiAgICAgICAgPGNvZGU+ZGF0ZWZvcm1hdFtkZC9tbS95eV0NCiAgICAgICAgPC9jb2RlPjxiciAvPg0KICAgICAgICBQb3NzaWJsZSB2YWx1ZTogRGF0ZSBmb3JtYXQgdXNlZCBieSB0aGUganF1ZXJ5IGRhdGVwaWNrZXI8YnIgLz4NCiAgICAgICAgQXBwbGljYWJsZSB0byBmaWVsZCB0eXBlOiBUZXh0IEFyZWENCiAgICAgIDwvcD4gICAgDQogICAgICA8L2xpPg0KICAgIDwvdWw+DQogICAgPHA+WW91IGNhbiBzcGVjaWZ5IG11bHRpcGxlIGluc3RydWN0aW9ucyBzZXBhcmF0ZWQgYnkgYSBzZW1pY29sb24gKCANCiAgICAgIDxjb2RlPjsNCiAgICAgIDwvY29kZT4gKSwgZm9yIGV4YW1wbGU6DQogICAgPC9wPg0KICAgIDxwPg0KICAgICAgPGNvZGU+YWxsb3dbcGRmXTtkaXJbL2RvY3MvcGRmXQ0KICAgICAgPC9jb2RlPg0KICAgIDwvcD4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImNhdGVnb3JpZXNfYyI+DQogICAgPGgzPkNhdGVnb3JpZXM8L2gzPg0KICAgIDxwPllvdSBjYW4gdXNlIGhpZXJhcmNoeSBjYXRlZ29yaWVzIHdpdGggZWFjaCBpdGVtLg0KICAgIDwvcD4NCiAgICA8cD5FeGFtcGxlOiB7TW9kdWxlTmFtZSBjYXRlZ29yeT0iQ2F0cyoifSAtIHZpZXcgZWFjaCBpdGVtIGZyb20gY2F0ZWdvcnkgQ2F0cyBhbmQgaGlzIGNoaWxkcmVuPC9wPg0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iZXhhbXBsZXNfYyI+DQogICAgPGgzPkV4YW1wbGVzPC9oMz4NCiAgICA8cD57TW9kdWxlTmFtZSBmaWx0ZXJfMV9lcXVhbD0xIGRhdGVfc3RhcnQ9MSBkYXRlX2VuZD0xfTwvcD4NCiAgICA8dWw+DQogICAgPGxpPnZhbHVlIGZyb20gY3VzdG9tIGZpZWxkaWQgd2l0aCBpZCAxID0gMTwvbGk+DQogICAgPGxpPmRhdGUgc3RhcnQgIDwgTk9XPC9saT4NCiAgICA8bGk+ZW5kIGRhdGUgID4gTk9XPC9saT4NCiAgICA8L3VsPg0KICAgIDxiciAvPg0KICAgIDxwPntNb2R1bGVOYW1lIGZpbHRlcl9pdGVtSWRfaW5zZXQ9JzEsMiwzJ308L3A+DQogICAgPHVsPg0KICAgIDxsaT5pdGVtX2lkIGlzIGluIHNldCAoMSwyLDMpPC9saT4NCiAgICA8L3VsPg0KICAgIDxiciAvPg0KICAgIDxwPntNb2R1bGVOYW1lICBhbGxyb3c9Iml0ZW1zIn08L3A+DQogICAgPHVsPg0KICAgIDxsaT5zZXQgYWxsIHJlc3VsdCB0byBzbWFydHkgdmFyIFwkaXRlbXM8L2xpPiAgICANCiAgICA8L3VsPg0KICAgIDxiciAvPg0KICAgIDxwPntNb2R1bGVOYW1lIGFjdGlvbj0iZGV0YWlsIiBpdGVtX2lkPTEgIG9uZXJvdz0iaXRlbSJ9PC9wPg0KICAgIDx1bD4NCiAgICA8bGk+ZGV0YWlsIGZyb20gaXRlbSB3aXRoIGlkIDE8L2xpPiAgICANCiAgICA8bGk+c2V0IHJlc3VsdCB0byBzbWFydHkgdmFyIFwkaXRlbTwvbGk+ICAgIA0KICAgIDwvdWw+DQogICAgPHA+e01vZHVsZU5hbWUgaXRlbV9kYXRlX2Zyb21fdG89Im5vd3w2IiBkYXRlX3N0YXJ0PTF9PC9wPg0KICAgIDx1bD4NCiAgICA8bGk+dmlldyBmb3IgcmVjdXJzaXZlIGl0ZW1zIGxpa2UgZXZlbnRzLCBjYWxlbmRhcnMgZXRjLjwvbGk+DQogICAgPGxpPm5lZWQgYWxsb3dlZCBzdGFydF9kYXRlIGFuZCByZWN1cnNpdmUgZnJvbSBlZGl0aW5nIG9wdGlvbiB0YWI8L2xpPiAgICANCiAgICA8bGk+aXRlbV9kYXRlX2Zyb21fdG8gY29udGFpbnMgMiBwYXJhbWV0ZXJzIHdpdGggfCBzZXBhcmF0b3IgPGJyIC8+DQogICAgZmlyc3QgaXMgIGRhdGVfc3RhcnQgPGJyIC8+DQogICAgc2Vjb25kIGlzICBkYXRlX3N0YXJ0IDxiciAvPg0KICAgIGJvdGggcGFyYW1ldGVyIGNhbiBoYXMgdmFsdWVzOiBub3csIGludGVnZXIgKG5vdyArIHggZGF5cykgb3IgMiB2YWx1ZXMgd2l0aCA6IHNlcGFyYXRvciAobm93ICsgMyBkYXlzICsgNCBob3VyKSANCjwvbGk+ICAgIA0KICAgIDxsaT5zZXQgcmVzdWx0IHRvIHNtYXJ0eSB2YXIgXCRpdGVtPC9saT4gICAgDQogICAgPC91bD4NCiAgPC9kaXY+DQo8L2Rpdj4NCkVPVDsNCiRsYW5nWydoZWxwX3BhcmFtX2FjdGlvbiddID0gPDw8RU9UDQonT3ZlcnJpZGUgdGhlIGRlZmF1bHQgYWN0aW9uLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KPGxpPiZxdW90O2RlZmF1bHQmcXVvdDsgLSB0byBkaXNwbGF5IHRoZSBzdW1tYXJ5IHZpZXcuPC9saT4NCjxsaT4mcXVvdDtkZXRhaWwmcXVvdDsgLSB0byBkaXNwbGF5IGEgc3BlY2lmaWVkIGVudHJ5IGluIGRldGFpbCBtb2RlLjwvbGk+DQo8bGk+JnF1b3Q7Y2F0ZWdvcmllcyZxdW90OyAtIHRvIGRpc3BsYXkgdGhlIGNhdGVnb3JpZXM8L2xpPg0KPGxpPiZxdW90O2ZpbHRlciZxdW90OyAtIGZpbHRlciBmb3IgaXRlbXM8L2xpPg0KPC91bD4NCkVPVDsNCiRsYW5nWydoZWxwX3BhcmFtX2NhdGVnb3J5X2lkJ10gPSAnU3BlY2lmeSB0aGUgY2F0ZWdvcnkgaWQgdG8gZGlzcGxheSBpdGVtcyBvbmx5IGZyb20gdGhpcyBjYXRlZ29yeS4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnknXSA9ICdTcGVjaWZ5IHRoZSBjYXRlZ29yeSBhbGlhcyB0byBkaXNwbGF5IGl0ZW1zIG9ubHkgZnJvbSB0aGlzIGNhdGVnb3J5Lic7DQokbGFuZ1snaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoZSBkZXRhaWwgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlLic7DQokbGFuZ1snaGVscF9wYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGUgc3VtbWFyeSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UnOw0KJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnl0ZW1wbGF0ZSddID0gJ1RoZSBjYXRlZ29yeSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UnOw0KJGxhbmdbJ2hlbHBfcGFyYW1fZmlsdGVydGVtcGxhdGUnXSA9ICdUaGUgZmlsdGVyIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSc7DQokbGFuZ1snaGVscF9wYXJhbV9zb3J0YnknXSA9ICdZb3UgY2FuIG9yZGVyIGJ5IGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IGl0ZW1faWQsIHRpdGxlLCBpdGVtX2RhdGUsIG1vZGlmaWVkLCByYW5kb20sIGY6ZmllbGRhbGlhcy4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnUGFnZSBsaW1pdCBmb3IgcGFnaW5hdGlvbic7DQokbGFuZ1snaGVscF9wYXJhbV9zb3J0b3JkZXInXSA9ICdPcmRlciBmbyAgZGVmYXVsdCBhY3Rpb24nOw0KJGxhbmdbJ2hlbHBfcGFyYW1faW5saW5lJ10gPSAnSW5saW5lJzsNCiRsYW5nWydoZWxwX3BhcmFtX29uZXJvdyddID0gJ1NldCByZXN1bHQgYXJyYXkgdG8gc21hcnR5LiBGb3IgZGVmYXVsdCBhbmQgZGV0YWlsIGFjdGlvbic7DQokbGFuZ1snaGVscF9wYXJhbV9hbGxyb3cnXSA9ICdTZXQgcmVzdWx0cyBhcnJheSB0byBzbWFydHkuIEZvciBkZWZhdWx0IGFjdGlvbic7DQokbGFuZ1snaGVscF9wYXJhbV9vbmVjb3VudCddID0gJ1NldCBjb3VudCByZXN1bHQgdG8gc21hcnR5LiBGb3IgZGVmYXVsdCBhY3Rpb24nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fZGF0ZV9zdGFydCddID0gJ0FsbG93IHVzaW5nIGRhdGVfZW5kIGZvciBwdWJsaWMgaXRlbXMnOw0KJGxhbmdbJ2hlbHBfcGFyYW1fZGF0ZV9lbmQnXSA9ICdJdGVtcyBleHBpcmF0aW9uJzsNCiRsYW5nWydoZWxwX3BhcmFtX2ZpbHRlciddID0gJ0ZpbHRlciBmb3IgcmVzdWx0cy4gWW91IGNhbiB1c2UgZmlsdGVyX0ZJRUxESURfQ09ORElUSU9OIGZvciBmaWVsZHMgb3IgZmlsdGVyX1BSRUZfQ09ORElUSU9OIGZvciBpdGVtIGNvbHMuPGJyIC8+DQpDb25kaXRpb24gZm9yIEZJRUxEUyAoZXRjOiBmaWVsZF8xX2VxdWFsPVwnYXBwbGVcJyk6PGJyICAvPg0KPHVsPg0KPGxpPm51bGw8L2xpPg0KPGxpPm5vdG51bGw8L2xpPg0KPGxpPmluPC9saT4NCjxsaT5pbnNldDwvbGk+DQo8bGk+aW5zZXQ8L2xpPg0KPGxpPmxlc3M8L2xpPg0KPGxpPmxlc3NlcXVhbDwvbGk+DQo8bGk+Z3JlYXRlcjwvbGk+DQo8bGk+Z3JlYXRlcmVxdWFsPC9saT4NCjxsaT5saWtlPC9saT4NCjxsaT5ub3RlcXVhbDwvbGk+DQo8bGk+ZXF1YWw8L2xpPg0KPC91bD4NCkNvbmRpdGlvbiBmb3IgaXRlbSBjb2xzIC0gaXRlbUlkLCBpdGVtRGF0ZUVuZCwgaXRlbURhdGUsIGFsaWFzLCB1cmwgICAoZXRjOiBmaWVsZF9pdGVtRGF0ZUVuZF9lcXVhbD1cJzIwMTEtMDEtMDEgMDA6MDA6MDBcJyk6PGJyICAvPg0KPHVsPg0KPGxpPm51bGw8L2xpPg0KPGxpPm5vdG51bGw8L2xpPg0KPGxpPmluPC9saT4NCjxsaT5pbnNldDwvbGk+DQo8bGk+bGlrZTwvbGk+DQo8bGk+bGVzczwvbGk+DQo8bGk+bGVzc2VxdWFsPC9saT4NCjxsaT5ncmVhdGVyPC9saT4NCjxsaT5ncmVhdGVyZXF1YWw8L2xpPg0KPGxpPm5vdGVxdWFsPC9saT4NCjxsaT5lcXVhbDwvbGk+DQo8L3VsPg0KJzsNCg0KJGxhbmdbJ2hlbHBfcGFyYW1fZGV0YWlscGFnZSddID0gJ1BhZ2UgdG8gZGlzcGxheSBpdGVtIGRldGFpbHMgaW4uIE11c3QgYmUgYSBwYWdlIGFsaWFzLiBVc2VkIHRvIGFsbG93IGRldGFpbHMgdG8gYmUgZGlzcGxheWVkIGluIGEgZGlmZmVyZW50IHBhZ2UgdGhhbiBzdW1tYXJ5Lic7DQokbGFuZ1snaGVscF9wYXJhbV9pdGVtJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBhcHBsaWNhYmxlIHRvIHRoZSBkZXRhaWwgdmlldy4gSXQgYWxsb3dzIHNwZWNpZnlpbmcgd2hpY2ggaXRlbSB0byBkaXNwbGF5IGluIGRldGFpbCBtb2RlLiBNdXN0IGJlIGFuIGl0ZW0gYWxpYXMuJzsNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7DQoNCg0KLy8gY3JlYXRlIGl0ZW0gdGFibGUNCg0KJGZpZWxkcyA9ICcNCiAgICBpdGVtX2lkIEkgS0VZIEFVVE8sDQoJY2F0ZWdvcnlfaWQgSSwNCiAgICB0aXRsZSBDKDI1NSksDQoJYWxpYXMgQygyNTUpLA0KCXVybCBDKDI1NSksDQoJcmVjdXJzaXZlIEMoNTApLA0KICAgIHBvc2l0aW9uIEksDQogICAgYWN0aXZlIEkoMSksDQogICAgaXRlbV9kYXRlICcgLiBDTVNfQURPREJfRFQgLiAnLA0KICAgIGl0ZW1fZGF0ZV9lbmQgJyAuIENNU19BRE9EQl9EVCAuICcsDQogICAgY3JlYXRlX2RhdGUgJyAuIENNU19BRE9EQl9EVCAuICcsDQoJbW9kaWZpZWRfZGF0ZSAnIC4gQ01TX0FET0RCX0RUIC4gJw0KJzsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTChjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3VybCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbScsICd1cmwnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTChjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5X2lkJywgY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJywgJ2NhdGVnb3J5X2lkJyk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCg0KLy8gY3JlYXRlIGNhdGVnb3J5IHRhYmxlDQokZmllbGRzID0gIg0KCWNhdGVnb3J5X2lkIEkgS0VZIEFVVE8sDQoJY2F0ZWdvcnlfbmFtZSBDKDI1NSksDQoJY2F0ZWdvcnlfYWxpYXMgQygyNTUpLA0KCXBhcmVudF9pZCBJLA0KCWhpZXJhcmNoeSBDKDI1NSksDQogICAgICAgIHBvc2l0aW9uIEksDQogICAgICAgIGhpZXJhcmNoeV9wb3NpdGlvbiBDKDI1NSksDQoJbG9uZ19uYW1lIFgsDQogICAgICAgIHVzZXJncm91cCBJLA0KCWNyZWF0ZV9kYXRlIFQsDQoJbW9kaWZpZWRfZGF0ZSBUDQoiOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yaWVzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KDQovLyBjcmVhdGUgZmllbGRkZWYgdGFibGUNCg0KJGZpZWxkcyA9ICcNCiAgICBmaWVsZGRlZl9pZCBJIEtFWSBBVVRPLA0KICAgIG5hbWUgQygyNTUpLA0KICAgIGFsaWFzIEMoMjU1KSwNCiAgICBoZWxwIEMoMjU1KSwNCiAgICB0eXBlIEMoNTApLA0KICAgIHNlY3Rpb24gQygxMCksDQogICAgcG9zaXRpb24gSSwNCiAgICByZXF1aXJlZCBJKDEpLA0KICAgIGVkaXR2aWV3IEkoMSksDQogICAgZmlsdGVyX2Zyb250ZW5kIEkoMSksDQogICAgZmlsdGVyX2FkbWluIEkoMSksDQogICAgc2VhcmNoYWJsZSBJKDEpLA0KICAgIGV4dHJhIEMoMjU1KQ0KJzsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQovLyBjcmVhdGUgZmllbGR2YWwgdGFibGUNCg0KJGZpZWxkcyA9ICcNCiAgICBpdGVtX2lkIEkgS0VZIE5PVCBudWxsLA0KICAgIGZpZWxkZGVmX2lkIEkgS0VZIE5PVCBudWxsLA0KICAgIHZhbHVlIFgNCic7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gY3JlYXRlIGl0ZW0gZXh0cmEgdGFibGUNCg0KJGZpZWxkcyA9ICcNCiAgICBpdGVtX2lkIEkgS0VZIE5PVCBudWxsLA0KICAgIHZhbHVlIEkgS0VZIE5PVCBudWxsLA0KJzsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9leHRyYScsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiRmaWVsZHMgPSAnDQogICAgYGltYWdlX2lkYCBpbnQoMTApIEkgS0VZIEFVVE8sDQogIGBpdGVtX2lkYCBpbnQoMTApIERFRkFVTFQgTlVMTCwNCiAgYGZpbGVuYW1lYCB2YXJjaGFyKDI1NSkgREVGQVVMVCBOVUxMLA0KICBgcG9zaXRpb25gIGludCgxMCkgREVGQVVMVCBOVUxMDQonOw0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaW1hZ2VzJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KLy8gY2F0ZWdvcnkgdGVtcGxhdGUNCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksICd0ZW1wbGF0ZXMnLCAnb3JpZ19jYXRlZ29yeV90ZW1wbGF0ZS50cGwnKTsNCmlmIChmaWxlX2V4aXN0cygkZm4pKSB7DQogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jYXRlZ29yeV90ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7DQogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yeV90ZW1wbGF0ZVNhbXBsZScsICR0ZW1wbGF0ZSk7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfY2F0ZWdvcnlfdGVtcGxhdGUnLCAnU2FtcGxlJyk7DQp9DQoNCi8vIHN1bW1hcnkgdGVtcGxhdGUNCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksICd0ZW1wbGF0ZXMnLCAnb3JpZ19zdW1tYXJ5X3RlbXBsYXRlLnRwbCcpOw0KaWYgKGZpbGVfZXhpc3RzKCRmbikpIHsNCiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnLCAkdGVtcGxhdGUpOw0KICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc3VtbWFyeV90ZW1wbGF0ZVNhbXBsZScsICR0ZW1wbGF0ZSk7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfc3VtbWFyeV90ZW1wbGF0ZScsICdTYW1wbGUnKTsNCn0NCg0KLy8gZGV0YWlsIHRlbXBsYXRlDQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAndGVtcGxhdGVzJywgJ29yaWdfZGV0YWlsX3RlbXBsYXRlLnRwbCcpOw0KaWYgKGZpbGVfZXhpc3RzKCRmbikpIHsNCiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7DQogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfdGVtcGxhdGVTYW1wbGUnLCAkdGVtcGxhdGUpOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2RldGFpbF90ZW1wbGF0ZScsICdTYW1wbGUnKTsNCn0NCg0KLy8gZmlsdGVyIHRlbXBsYXRlDQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAndGVtcGxhdGVzJywgJ29yaWdfZmlsdGVyX3RlbXBsYXRlLnRwbCcpOw0KaWYgKGZpbGVfZXhpc3RzKCRmbikpIHsNCiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2ZpbHRlcl90ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7DQogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdmaWx0ZXJfdGVtcGxhdGVTYW1wbGUnLCAkdGVtcGxhdGUpOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2ZpbHRlcl90ZW1wbGF0ZScsICdTYW1wbGUnKTsNCn0NCg0KDQovLyBzZXQgcHJlZmVyZW5jZXMNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGhpcy0+R2V0TmFtZSgpLCB0cnVlKSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJywgJHRoaXMtPkdldE5hbWUoKSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICR0aGlzLT5MYW5nKCdpdGVtJykpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJHRoaXMtPkxhbmcoJ2l0ZW1zJykpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLCAkdGhpcy0+TGFuZygnaXRlbV90aXRsZScpKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlX2VkaXQnLCAxKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X2VkaXQnLCAxKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZWN1cnNpdmUnLCAwKTsNCg0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ21vZGUnLCAnYWR2YW5jZWQnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXJfYWR2YW5jZWQnLCAnZGVzYycpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvcnRieV9hZHZhbmNlZCcsICdjcmVhdGVfZGF0ZScpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N1bW1hcnlfcGFnZWxpbWl0X2FkdmFuY2VkJywgMjUpOw0KDQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyX3NpbXBsZScsICdkZXNjJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc29ydGJ5X3NpbXBsZScsICdwb3NpdGlvbicpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N1bW1hcnlfcGFnZWxpbWl0X3NpbXBsZScsIDEwMDAwKTsNCg0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2hhc19hZG1pbicsIDEpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlYXJjaGFibGUnLCAxKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZXNfc2l6ZV9hZG1pbicsICcyMDB4Jyk7DQoNCiR0aGlzLT5DcmVhdGVFdmVudCgnSXRlbUFkZGVkJyk7DQokdGhpcy0+Q3JlYXRlRXZlbnQoJ0l0ZW1FZGl0ZWQnKTsNCiR0aGlzLT5DcmVhdGVFdmVudCgnSXRlbURlbGV0ZWQnKTsNCiR0aGlzLT5DcmVhdGVFdmVudCgnQ2F0ZWdvcnlBZGRlZCcpOw0KJHRoaXMtPkNyZWF0ZUV2ZW50KCdDYXRlZ29yeUVkaXRlZCcpOw0KJHRoaXMtPkNyZWF0ZUV2ZW50KCdDYXRlZ29yeURlbGV0ZWQnKTsNCiR0aGlzLT5DcmVhdGVFdmVudCgnSXRlbXNSZW9yZGVyZWQnKTsNCiR0aGlzLT5DcmVhdGVFdmVudCgnQ2F0ZWdvcmllc1Jlb3JkZXJlZCcpOw0KDQovLyBzZXQgcGVybWlzc2lvbnMNCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nLCAkdGhpcy0+TGFuZygnbW9kaWZ5X2l0ZW0nKSk7DQokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yaWVzJywgJHRoaXMtPkxhbmcoJ21vZGlmeV9jYXRlZ29yaWVzJykpOw0KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hbGxfY2F0ZWdvcnlfdmlzYmlsZScsICR0aGlzLT5MYW5nKCdhbGxfY2F0ZWdvcnlfdmlzYmlsZScpKTsNCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicsICR0aGlzLT5MYW5nKCdtb2RpZnlfb3B0aW9uJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQoNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0KLy8gZHJvcCB0YWJsZXMNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJyk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZicpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknKTsgLy8gdGhlIG9ubHkgZ29vZCBjYXQgaXMgYSBkZWFkIGNhdA0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ltYWdlcycpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQovLyByZW1vdmUgcHJlZmVyZW5jZXMNCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7DQoNCi8vIHJlbW92ZSBwZXJtaXNzaW9ucw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpOw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcmllcycpOw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hbGxfY2F0ZWdvcnlfdmlzYmlsZScpOw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/PD9waHANCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOw0KJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KDQpzd2l0Y2ggKCRvbGR2ZXJzaW9uKSB7DQogICAgY2FzZSAnMS4wJzoNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyogLS0tIGRvIG5vdCBlZGl0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLyogVG8gbWFrZSB0aGlzIG1vZHVsZSBlYXN5IHRvIGR1cGxpY2F0ZSwgdGhlIG1vZHVsZSBuYW1lIGFuZCBtb2R1bGUgYWxpYXMNCiAqIGlzIHRha2VuIGZyb20gdGhlIG1vZHVsZSBkaXJlY3RvcnkgbmFtZSB0aGF0IHRoaXMgbGFuZyBmaWxlIGlzIGNvbnRhaW5lZC4NCiAqIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGUgbW9kdWxlIG9iamVjdCBjYW5ub3QgYmUgYWNjZXNzZWQgd2l0aG91dA0KICogVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBtb2R1bGUgb2JqZWN0IGNhbm5vdCBiZSBhY2Nlc3NlZCB3aXRob3V0DQogKiBrbm93aW5nIGl0cyBuYW1lLg0KICovDQokY29uZmlnPWNtc21zKCktPkdldENvbmZpZygpOw0KJGRpciA9IHN0cl9yZXBsYWNlKCdcXCcgLCAnLycsIGRpcm5hbWUoX19GSUxFX18pKTsNCnByZWdfbWF0Y2goJy9cL21vZHVsZXNcLyguKylcLy8nLCAkZGlyLCAkbWF0Y2hlcyk7DQokbW9kdWxlX25hbWUgPSAkbWF0Y2hlc1sxXTsNCiRtb2R1bGVfYWxpYXMgPSBzdHJ0b2xvd2VyKCRtYXRjaGVzWzFdKTsNCiRyb290dXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXTsNCmluY2x1ZGUoY21zX2pvaW5fcGF0aCgkY29uZmlnWyJyb290X3BhdGgiXSwnbW9kdWxlcycsJ01vZHVsZUdlbmVyYXRvcicsJ01vZHVsZUxpYicsJ2xhbmcnLCdlbl9VUy5waHAnKSk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/source/ModuleExample/ModuleExample.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoNCg0KICBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQogIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQogIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KICBDby1NYWludGFpbmVyOiBKb25hdGhhbiBTY2htaWQsIDxoaUBqb25hdGhhbnNjaG1pZC5kZT4NCg0KICBMaXN0SXQgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUNCiAgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQ0KICBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4NCg0KICBXaGVuIGR1cGxpY2F0aW5nIHRoaXMgbW9kdWxlIGNoYW5nZSB0aGUgJ0xpc3RJdCcgYmVsb3cgdG8gdGhlIG5ldyBtb2R1bGUNCiAgbmFtZSwgZS5nLiBOZXdOYW1lLiBGb2xsb3cgdGhlIENNU01TIG1vZHVsZSBuYW1pbmcgY29udmVudGlvbnMsIGEteiB3aXRoIG5vDQogIHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgb3Igc3BhY2VzLiBBbHNvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGlzIGZpbGUgdG8gbWF0Y2gNCiAgLSBOZXdOYW1lLm1vZHVsZS5waHAuIEZpbmFsbHkgY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBMaXN0SXQgZm9sZGVyIHRvIHRoZQ0KICBzYW1lIE5ld05hbWUNCg0KICovDQoNCmNsYXNzIE1vZHVsZUV4YW1wbGUgZXh0ZW5kcyBNb2R1bGVHZW5lcmF0b3Igew0KDQogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KICAgICAgICBzcGxfYXV0b2xvYWRfcmVnaXN0ZXIoYXJyYXkoJiR0aGlzLCAnX2F1dG9sb2FkZXInKSk7DQogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsNCiAgICB9DQoNCiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgIyBJbnRlcm5hbCBhdXRvbG9hZGVyDQogICAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCg0KICAgIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gX2F1dG9sb2FkZXIoJGNsYXNzbmFtZSkgew0KICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQogICAgICAgICRmbiA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10sICdtb2R1bGVzJywgJ01vZHVsZUdlbmVyYXRvcicpIC4gIi9saWIvY2xhc3MueyRjbGFzc25hbWV9LnBocCI7DQogICAgICAgIGlmIChmaWxlX2V4aXN0cygkZm4pKSB7DQogICAgICAgICAgICByZXF1aXJlX29uY2UoJGZuKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXROYW1lKCkgew0KICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7DQogICAgICAgIHJldHVybiBwYXJlbnQ6OkdldFZlcnNpb24oKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVscCgpIHsNCiAgICAgICAgcmV0dXJuIHBhcmVudDo6R2V0SGVscCgpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3IoKSB7DQogICAgICAgIHJldHVybiBwYXJlbnQ6OkdldEF1dGhvcigpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsNCiAgICAgICAgcmV0dXJuIHBhcmVudDo6R2V0QXV0aG9yRW1haWwoKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgew0KICAgICAgICByZXR1cm4gcGFyZW50OjpHZXRDaGFuZ2VMb2coKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsNCg0KICAgICAgICAkdGhpcy0+SW5pdGlhbGl6ZUFkbWluKCk7DQogICAgICAgICR0aGlzLT5Jbml0aWFsaXplRnJvbnRlbmQoKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsNCiAgICAgICAgcmV0dXJuIFRSVUU7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpIHsNCg0KICAgICAgICAvLyBhdXRvIGxvYWQgZm9yIGdlbmVyYXRvcl9vcHRzDQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAgICAgJGdlbmVyYXRvcl9vcHRzID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ2xpYicsICdjbGFzcy5nZW5lcmF0b3Jfb3B0cy5waHAnKTsNCiAgICAgICAgcmVxdWlyZV9vbmNlKCRnZW5lcmF0b3Jfb3B0cyk7DQoNCiAgICAgICAgZ2VuZXJhdG9yX29wdHM6OmluaXRfYWRtaW4oJHRoaXMpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKSB7DQoNCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgICAgICAkZ2VuZXJhdG9yX29wdHMgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAnbW9kdWxlcycsICdNb2R1bGVHZW5lcmF0b3InLCAnbGliJywgJ2NsYXNzLmdlbmVyYXRvcl9vcHRzLnBocCcpOw0KICAgICAgICByZXF1aXJlX29uY2UoJGdlbmVyYXRvcl9vcHRzKTsNCg0KICAgICAgICBnZW5lcmF0b3Jfb3B0czo6aW5pdCgkdGhpcyk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEFsbG93U21hcnR5Q2FjaGluZygpIHsNCiAgICAgICAgcmV0dXJuIFRSVUU7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7DQogICAgICAgIHJldHVybiBUUlVFOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgew0KICAgICAgICByZXR1cm4gVFJVRTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbigkZXZlbnRuYW1lKSB7DQogICAgICAgIHJldHVybiBwYXJlbnQ6OkdldEV2ZW50RGVzY3JpcHRpb24oJGV2ZW50bmFtZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgew0KICAgICAgICByZXR1cm4gcGFyZW50OjpJc1BsdWdpbk1vZHVsZSgpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIERvQWN0aW9uIC0gZGVmYXVsdCBhZGQgZGVmYXVsdCBwYXJhbXMNCiAgICAgKiBAcGFyYW0gdHlwZSAkbmFtZQ0KICAgICAqIEBwYXJhbSB0eXBlICRpZA0KICAgICAqIEBwYXJhbSB0eXBlICRwYXJhbXMNCiAgICAgKiBAcGFyYW0gdHlwZSAkcmV0dXJuaWQgDQogICAgICovDQogICAgcHVibGljIGZ1bmN0aW9uIERvQWN0aW9uKCRuYW1lLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCA9ICcnKSB7DQogICAgICAgIGdsb2JhbCAkQ01TX0FETUlOX1BBR0U7DQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KICAgICAgICANCiAgICAgICAgcGFyZW50OjpEb0FjdGlvbigkbmFtZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOw0KDQogICAgICAgIHN3aXRjaCAoJG5hbWUpIHsNCiAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgLy8gZml4IDQgc21hcnR5IHNlY3VyaXR5IHdpZHRoIHRlbXBsYXRlcyBmb2xkZXINCiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJENNU19BRE1JTl9QQUdFKSAmJiAkQ01TX0FETUlOX1BBR0UgPT0gMSkgew0KICAgICAgICAgICAgICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQogICAgICAgICAgICAgICAgICAgICR0ZW1wbGF0ZWRpciA9IEdFTkVSQVRPUl9NT0RMSUJfUEFUSDsNCg0KICAgICAgICAgICAgICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAgICAgICAgICAgICAgICRzbWFydHktPnNldFRlbXBsYXRlRGlyKCR0ZW1wbGF0ZWRpcik7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy9pbmNsdWRlIGZyYW1ld29yayANCiAgICAgICAgICAgICAgICAkZmlsZW5hbWUgPSBjbXNfam9pbl9wYXRoKEdFTkVSQVRPUl9NT0RMSUJfUEFUSCwgJ2FjdGlvbi4nIC4gJG5hbWUgLiAnLnBocCcpOw0KICAgICAgICAgICAgICAgIGlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSB7DQogICAgICAgICAgICAgICAgICAgIGluY2x1ZGUoJGZpbGVuYW1lKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdoYXNfYWRtaW4nLCBmYWxzZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsNCiAgICAgICAgcmV0dXJuICdjb250ZW50JzsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIHBhcmVudDo6R2V0QWRtaW5EZXNjcmlwdGlvbigpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkgew0KICAgICAgICByZXR1cm4gcGFyZW50OjpHZXREZXBlbmRlbmNpZXMoKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7DQogICAgICAgIHJldHVybiBwYXJlbnQ6Ok1pbmltdW1DTVNWZXJzaW9uKCk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgew0KICAgICAgICByZXR1cm4gcGFyZW50OjpJbnN0YWxsUG9zdE1lc3NhZ2UoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsNCiAgICAgICAgcmV0dXJuIHBhcmVudDo6VW5pbnN0YWxsUG9zdE1lc3NhZ2UoKTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiAgZ2V0IG1vZHVsZSBhbGlhcw0KICAgICAqIEByZXR1cm4gdHlwZSANCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gX0dldE1vZHVsZUFsaWFzKCkgew0KICAgICAgICAkdmFsdWUgPSBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YShnZXRfY2xhc3MoKSAuIF9fRlVOQ1RJT05fXyk7DQogICAgICAgIGlmICgkdmFsdWUpDQogICAgICAgICAgICByZXR1cm4gJHZhbHVlOw0KDQogICAgICAgICR2YWx1ZSA9IHN0cnRvbG93ZXIoJHRoaXMtPkdldE5hbWUoKSk7DQogICAgICAgIGNtc191dGlsczo6c2V0X2FwcF9kYXRhKGdldF9jbGFzcygpIC4gX19GVU5DVElPTl9fLCAkdmFsdWUpOw0KICAgICAgICByZXR1cm4gJHZhbHVlOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIdG1sKCkgew0KICAgICAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdNb2R1bGVHZW5lcmF0b3InKTsNCiAgICAgICAgJG91dHB1dCA9ICc8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJyAuICRtb2R1bGUtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvanMvbUNvbG9yUGlja2VyLm1pbi5qcyI+PC9zY3JpcHQ+JzsNCg0KICAgICAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2hhc19nYWxsZXJ5JykpIHsNCiAgICAgICAgICAgICRvdXRwdXQgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9icC55YWhvb2FwaXMuY29tLzIuNC4yMS9icm93c2VycGx1cy1taW4uanMiPjwvc2NyaXB0Pic7DQogICAgICAgICAgICAkcGx1cGxvYWRfbGlicyA9IGFycmF5KCdwbHVwbG9hZC5qcycsICdwbHVwbG9hZC5nZWFycy5qcycsICdwbHVwbG9hZC5zaWx2ZXJsaWdodC5qcycsICdwbHVwbG9hZC5mbGFzaC5qcycsICdwbHVwbG9hZC5icm93c2VycGx1cy5qcycsICdwbHVwbG9hZC5odG1sNC5qcycsICdwbHVwbG9hZC5odG1sNS5qcycpOw0KICAgICAgICAgICAgZm9yZWFjaCAoJHBsdXBsb2FkX2xpYnMgYXMgJHBsdXBsb2FkX2xpYikgew0KICAgICAgICAgICAgICAgICRmbiA9ICRtb2R1bGUtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvanMvcGx1cGxvYWQvJyAuICRwbHVwbG9hZF9saWI7DQogICAgICAgICAgICAgICAgJG91dHB1dCAuPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJyAuICRmbiAuICciPjwvc2NyaXB0PicgLiAiXG4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJG91dHB1dCAuPSAnPCEtLSA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgIHNyYz0iaHR0cDovL2dldGZpcmVidWcuY29tL3JlbGVhc2VzL2xpdGUvMS4yL2ZpcmVidWctbGl0ZS1jb21wcmVzc2VkLmpzIj48L3NjcmlwdD4gLS0+JzsNCiAgICAgICAgfQ0KDQogICAgICAgICRmbiA9ICRtb2R1bGUtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvanMvanF1ZXJ5LnRhYmxlZG5kXzBfNS5qcyc7DQogICAgICAgICRvdXRwdXQgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicgLiAkZm4gLiAnIj48L3NjcmlwdD4nIC4gIlxuIjsNCg0KICAgICAgICByZXR1cm4gJG91dHB1dDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gU2VhcmNoUmVzdWx0V2l0aFBhcmFtcygkcmV0dXJuaWQsICRpdGVtX2lkLCAkYXR0ciA9ICcnLCAkcGFyYW1zID0gJycpIHsNCiAgICAgICAgaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoYWJsZScpKQ0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICByZXR1cm4gZ2VuZXJhdG9yX3Rvb2xzOjpnZXRfc2VhcmNoX3Jlc3VsdCgkdGhpcywgJHJldHVybmlkLCAkaXRlbV9pZCwgJGF0dHIsICRwYXJhbXMpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCRtb2R1bGUpIHsNCiAgICAgICAgaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VhcmNoYWJsZScpKQ0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICByZXR1cm4gZ2VuZXJhdG9yX3Rvb2xzOjpzZWFyY2hfcmVpbmRleCgkdGhpcywgJG1vZHVsZSk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIENyZWF0ZVN0YXRpY1JvdXRlcygpIHsNCg0KICAgICAgICAvLyBhdXRvIGxvYWQgZm9yIGdlbmVyYXRvcl9vcHRzDQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAgICAgJGdlbmVyYXRvcl9vcHRzID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZXMnLCAnTW9kdWxlR2VuZXJhdG9yJywgJ2xpYicsICdjbGFzcy5nZW5lcmF0b3Jfb3B0cy5waHAnKTsNCiAgICAgICAgcmVxdWlyZV9vbmNlKCRnZW5lcmF0b3Jfb3B0cyk7DQogICAgICAgIGdlbmVyYXRvcl9vcHRzOjppbml0X3N0YXRpY19yb3V0ZXMoJHRoaXMpOw0KICAgIH0NCg0KICAgIC8vIGluc3RhbGwNCiAgICBwdWJsaWMgZnVuY3Rpb24gSW5zdGFsbCgpIHsNCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7DQoNCiAgICAgICAgJHJlc3BvbnNlID0gRkFMU0U7DQoNCiAgICAgICAgJGZpbGVuYW1lID0gR0VORVJBVE9SX01PRExJQl9QQVRIIC4gJy9tZXRob2QuaW5zdGFsbC5waHAnOw0KICAgICAgICBpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgew0KDQogICAgICAgICAgICAkcmVzID0gaW5jbHVkZSgkZmlsZW5hbWUpOw0KICAgICAgICAgICAgaWYgKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSB7DQogICAgICAgICAgICAgICAgJHJlc3BvbnNlID0gRkFMU0U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICRyZXNwb25zZSA9ICRyZXM7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KDQogICAgICAgIHJldHVybiAkcmVzcG9uc2U7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIFVwZ3JhZGUoJG9sZHZlcnNpb24sICRuZXd2ZXJzaW9uKSB7DQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KDQogICAgICAgICRyZXNwb25zZSA9IEZBTFNFOw0KDQogICAgICAgICRmaWxlbmFtZSA9IEdFTkVSQVRPUl9NT0RMSUJfUEFUSCAuICcvbWV0aG9kLnVwZ3JhZGUucGhwJzsNCiAgICAgICAgaWYgKEBpc19maWxlKCRmaWxlbmFtZSkpIHsNCg0KICAgICAgICAgICAgJHJlcyA9IGluY2x1ZGUoJGZpbGVuYW1lKTsNCiAgICAgICAgICAgIGlmICgkcmVzID09IDEgfHwgJHJlcyA9PSAnJykNCiAgICAgICAgICAgICAgICAkcmVzcG9uc2UgPSBUUlVFOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkcmVzcG9uc2U7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbCgpIHsNCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7DQoNCiAgICAgICAgJHJlc3BvbnNlID0gRkFMU0U7DQoNCiAgICAgICAgJGZpbGVuYW1lID0gR0VORVJBVE9SX01PRExJQl9QQVRIIC4gJy9tZXRob2QudW5pbnN0YWxsLnBocCc7DQogICAgICAgIGlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSB7DQoNCiAgICAgICAgICAgICRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7DQogICAgICAgICAgICBpZiAoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpIHsNCiAgICAgICAgICAgICAgICAkcmVzcG9uc2UgPSBGQUxTRTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHJlc3BvbnNlID0gJHJlczsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkcmVzcG9uc2U7DQogICAgfQ0KDQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ModuleLib/templates/categorylist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJPHRoZWFkPgoJCTx0cj4KCQkJPHRoPnskY2F0ZWdvcnl0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua317aWYgJGl0ZW1jb3VudCA+IDB9IC8geyRyZW9yZGVyfXsvaWZ9PC9wPjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/categorytab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCiAgICA8dGhlYWQ+DQogICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0aD57JHRpdGxlfTwvdGg+DQogICAgICAgICAgICA8dGg+eyRhbGlhc308L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgPC90cj4NCiAgICA8L3RoZWFkPg0KICAgIDx0Ym9keT4NCntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9DQogICAgICAgIDx0ciBjbGFzcz0ieyRlbnRyeS5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS5yb3djbGFzc30nOyI+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5saW5rfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5hbGlhc308L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnkudXBsaW5rfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS5kb3dubGlua308L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnkuZWRpdGxpbmt9PC90ZD4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5LmRlbGV0ZX08L3RkPg0KICAgICAgICA8L3RyPg0Key9mb3JlYWNofQ0KICAgIDwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0NCg0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L2Rpdj4NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Im1vZHVsZSIgdmFsdWU9JG1vZH0KCnskc3RhcnRmb3JtfQoKeyRtb2R1bGUtPlN0YXJ0VGFiSGVhZGVycygpfQp7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yeScsICRtb2R1bGUtPkxhbmcoJ2NhdGVnb3J5JykpfQoKe2lmIGlzc2V0KCRjdXN0b21fZmllbGRkZWYpfQogICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkZGVmIGl0ZW09J2ZpZWxkJ30KICAgICAgICB7aWYgJGZpZWxkLT50eXBlID09ICd0YWInfQogICAgICAgICAgICB7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCRmaWVsZC0+YWxpYXMsICRmaWVsZC0+bGFiZWwpfQogICAgICAgIHsvaWZ9ICAgICAgICAgICAgCiAgICB7L2ZvcmVhY2h9ICAgICAgICAgICAgCnsvaWZ9ICAgICAgICAgICAgCnskbW9kdWxlLT5FbmRUYWJIZWFkZXJzKCl9Cgp7JG1vZHVsZS0+U3RhcnRUYWJDb250ZW50KCl9CnskbW9kdWxlLT5TdGFydFRhYignY2F0ZWdvcnknKX0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG5hbWV0ZXh0fTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzdGV4dH06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGFsaWFzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcGFyZW50dGV4dH06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwYXJlbnRkcm9wZG93bn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHVzZXJncm91cHRleHR9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR1c2VyZ3JvdXB9PC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkY3VzdG9tX2ZpZWxkZGVmKX0KICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZGRlZiBpdGVtPSdmaWVsZCd9CiAgICAgICAge2lmICRmaWVsZC0+dHlwZSA9PSAndGFiJ30KICAgICAgICAgICAgeyRtb2R1bGUtPkVuZFRhYigpfQogICAgICAgICAgICB7JG1vZHVsZS0+U3RhcnRUYWIoJGZpZWxkLT5hbGlhcyl9IAogICAgICAgIHtlbHNlaWYgKCFpc3NldCgkaXRlbV9pZCkgJiYgISRmaWVsZC0+ZWRpdHZpZXcpIHx8IGlzc2V0KCRpdGVtX2lkKX0KICAgICAgICAgICAge2lmICRmaWVsZC0+ZmllbGR9CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZC0+cHJvbXB0fTo8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgICAgICAgICAge2lmICFlbXB0eSgkZmllbGQtPmhlbHApfSh7JGZpZWxkLT5oZWxwfSk8YnIgLz57L2lmfQogICAgICAgICAgICAgICAgICAgIHskZmllbGQtPmZpZWxkfQogICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZmllbGQtPmZpbGVuYW1lKX08YnIgLz4KICAgICAgICAgICAgICAgICAgICB7Y2FwdHVyZSBhc3NpZ249InNyYyJ9eyRmaWVsZC0+ZmlsZV9sb2NhdGlvbn0veyRmaWVsZC0+ZmlsZW5hbWV9ey9jYXB0dXJlfSAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAge2NhcHR1cmUgYXNzaWduPSJzcmNwYXRoIn17JGZpZWxkLT5maWxlcGF0aF9sb2NhdGlvbn0veyRmaWVsZC0+ZmlsZW5hbWV9ey9jYXB0dXJlfSAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAge2lmICRmaWVsZC0+aXNfaW1hZ2V9CiAgICAgICAgICAgICAgICAgICAge2lmICRpbWFnZV9zaXplX2FkbWluX3dpZHRoICYmICRpbWFnZV9zaXplX2FkbWluX2hlaWdodH0KICAgICAgICAgICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aHxyZXBsYWNlOiJgJHJvb3RfdXJsYCI6JycgYWx0PSRmaWxlLT5maWxlbmFtZSBmaWx0ZXJfY3JvcHRvZml0PSJgJGltYWdlX3NpemVfYWRtaW5fd2lkdGhgLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIAogICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5fd2lkdGh9CiAgICAgICAgICAgICAgICAgICAgICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGh8cmVwbGFjZToiYCRyb290X3VybGAiOicnIGFsdD0kZmlsZS0+ZmlsZW5hbWUgZmlsdGVyX3Jlc2l6ZT0idyxgJGltYWdlX3NpemVfYWRtaW5fd2lkdGhgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIAogICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0fQogICAgICAgICAgICAgICAgICAgICAgICB7Y21zX21vZHVsZSBtb2R1bGU9IkNHU21hcnRJbWFnZSIgc3JjPSRzcmNwYXRofHJlcGxhY2U6ImAkcm9vdF91cmxgIjonJyBhbHQ9JGZpbGUtPmZpbGVuYW1lIGZpbHRlcl9yZXNpemU9ImgsYCRpbWFnZV9zaXplX2FkbWluX2hlaWdodGAiIHN0eWxlPSJtYXJnaW46NXB4IDA7In0gICAgCiAgICAgICAgICAgICAgICAgICAgey9pZn0KICAgICAgICAgICAgICAgIHsvaWZ9CiAgICAgICAgICAgICAgICA8YnIgLz4KICAgICAgICAgICAgICAgIHskZmllbGQtPmRlbGV0ZV9maWxlfSB7JGZpZWxkLT5maWxlbmFtZX08YnIgLz4KICAgICAgICAgICAgey9pZn0KICAgICAgICA8L3A+CiAgICA8L2Rpdj4KCntlbHNlfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH08L3A+CiAgICAgICAge2lmICRmaWVsZC0+ZXh0cmF9CiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgeyRmaWVsZC0+ZXh0cmF9CiAgICAgICAgICAgIDwvcD4KICAgICAgICB7L2lmfQogICAgPC9kaXY+CnsvaWZ9CnsvaWZ9CnsvZm9yZWFjaH0Key9pZn0KeyRtb2R1bGUtPkVuZFRhYigpfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRoaWRkZW59eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRlbmRmb3JtfQoK]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGV9PC9oMz4NCnskc3RhcnRmb3JtfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG5hbWV0ZXh0fTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRhbGlhc306PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxpYXN9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRoZWxwdGV4dH06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRoZWxwfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdHlwZXRleHR9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dHlwZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHVzZXJ2aWV3dGV4dH06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXNlcnZpZXd9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRlZGl0dmlld190ZXh0fTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lZGl0dmlld308L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGV4dHJhfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9leHRyYX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc2VjdGlvbicpfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zZWN0aW9ufTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCjxwIGNsYXNzPSJwYWdlaW5wdXQiPntpZiBpc3NldCgkZmllbGRkZWZfaWQpfXskZmllbGRkZWZfaWR9ey9pZn17JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fTwvcD4NCjwvZGl2Pg0KeyRlbmRmb3JtfQ0K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/editimage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Im1vZHVsZSIgdmFsdWU9JG1vZH0KCgoKCnskc3RhcnRmb3JtfQoKeyRtb2R1bGUtPlN0YXJ0VGFiSGVhZGVycygpfQp7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCdpbWFnZScsICRtb2R1bGUtPkxhbmcoJ2ltYWdlJykpfQoKe2lmIGlzc2V0KCRjdXN0b21fZmllbGRkZWYpfQogICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkZGVmIGl0ZW09J2ZpZWxkJ30KICAgICAgICB7aWYgJGZpZWxkLT50eXBlID09ICd0YWInfQogICAgICAgICAgICB7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCRmaWVsZC0+YWxpYXMsICRmaWVsZC0+bGFiZWwpfQogICAgICAgIHsvaWZ9ICAgICAgICAgICAgCiAgICB7L2ZvcmVhY2h9ICAgICAgICAgICAgCnsvaWZ9ICAgICAgICAgICAgCnskbW9kdWxlLT5FbmRUYWJIZWFkZXJzKCl9Cgp7JG1vZHVsZS0+U3RhcnRUYWJDb250ZW50KCl9CnskbW9kdWxlLT5TdGFydFRhYignY2F0ZWdvcnknKX0KCntpZiBpc3NldCgkaW1hZ2VzcmMpICYmICRpbWFnZXNyY30KICAgIHtpZiAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCAmJiAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHR9ICAgICAgICAKICAgICAgICB7Y21zX21vZHVsZSBtb2R1bGU9IkNHU21hcnRJbWFnZSIgc3JjPSRpbWFnZXNyYyBhbHQ9JycgZmlsdGVyX2Nyb3B0b2ZpdD0iYCRpbWFnZV9zaXplX2FkbWluX3dpZHRoYCxgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0YCIgc3R5bGU9Im1hcmdpbjo1cHggMDsifSAgICAKICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5fd2lkdGh9CiAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSdDR1NtYXJ0SW1hZ2UnIHNyYz0kaW1hZ2VzcmMgYWx0PScnIGZpbHRlcl9yZXNpemU9IncsYCRpbWFnZV9zaXplX2FkbWluX3dpZHRoYCIgc3R5bGU9Im1hcmdpbjo1cHggMDsifSAgICAKICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0fQogICAgICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JGltYWdlc3JjIGFsdD0nJyBmaWx0ZXJfcmVzaXplPSJoLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIAogICAgey9pZn0KICAgIHthc3NpZ24gdmFyPSdpbWFnZXNpemUnIHZhbHVlPSRpbWFnZXNyY3xAZ2V0aW1hZ2VzaXplfQogICAgPGJyIC8+CiAgICA8c3Ryb25nPnskbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJyl9PC9zdHJvbmc+OiB7JGl0ZW0udGl0bGV9IDxiciAvPgogICAgPHN0cm9uZz57JG1vZHVsZS0+TGFuZygnaW1hZ2Vfb3JpZ19zaXplJyl9PC9zdHJvbmc+OiB7JGltYWdlc2l6ZS4wfXh7JGltYWdlc2l6ZS4xfXB4CnsvaWZ9Cgp7aWYgaXNzZXQoJGN1c3RvbV9maWVsZGRlZil9CiAgICB7Zm9yZWFjaCBmcm9tPSRjdXN0b21fZmllbGRkZWYgaXRlbT0nZmllbGQnfQogICAgICAgIHtpZiAkZmllbGQtPnR5cGUgPT0gJ3RhYid9CiAgICAgICAgICAgIHskbW9kdWxlLT5FbmRUYWIoKX0KICAgICAgICAgICAgeyRtb2R1bGUtPlN0YXJ0VGFiKCRmaWVsZC0+YWxpYXMpfSAKICAgICAgICB7ZWxzZWlmICghaXNzZXQoJGl0ZW1faWQpICYmICEkZmllbGQtPmVkaXR2aWV3KSB8fCBpc3NldCgkaXRlbV9pZCl9CiAgICAgICAgICAgIHtpZiAkZmllbGQtPmZpZWxkfQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH06PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICAgICAgICAgIHtpZiAhZW1wdHkoJGZpZWxkLT5oZWxwKX0oeyRmaWVsZC0+aGVscH0pPGJyIC8+ey9pZn0KICAgICAgICAgICAgICAgICAgICB7JGZpZWxkLT5maWVsZH0KICAgICAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGZpZWxkLT5maWxlbmFtZSl9PGJyIC8+CiAgICAgICAgICAgICAgICAgICAge2NhcHR1cmUgYXNzaWduPSJzcmMifXskZmllbGQtPmZpbGVfbG9jYXRpb259L3skZmllbGQtPmZpbGVuYW1lfXsvY2FwdHVyZX0gICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHtjYXB0dXJlIGFzc2lnbj0ic3JjcGF0aCJ9eyRmaWVsZC0+ZmlsZXBhdGhfbG9jYXRpb259L3skZmllbGQtPmZpbGVuYW1lfXsvY2FwdHVyZX0gICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHtpZiAkZmllbGQtPmlzX2ltYWdlfQogICAgICAgICAgICAgICAgICAgIHtpZiAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCAmJiAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHR9CiAgICAgICAgICAgICAgICAgICAgICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGh8cmVwbGFjZToiYCRyb290X3VybGAiOicnIGFsdD0kZmlsZS0+ZmlsZW5hbWUgZmlsdGVyX2Nyb3B0b2ZpdD0iYCRpbWFnZV9zaXplX2FkbWluX3dpZHRoYCxgJGltYWdlX3NpemVfYWRtaW5faGVpZ2h0YCIgc3R5bGU9Im1hcmdpbjo1cHggMDsifSAgICAKICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmICRpbWFnZV9zaXplX2FkbWluX3dpZHRofQogICAgICAgICAgICAgICAgICAgICAgICB7Y21zX21vZHVsZSBtb2R1bGU9IkNHU21hcnRJbWFnZSIgc3JjPSRzcmNwYXRofHJlcGxhY2U6ImAkcm9vdF91cmxgIjonJyBhbHQ9JGZpbGUtPmZpbGVuYW1lIGZpbHRlcl9yZXNpemU9IncsYCRpbWFnZV9zaXplX2FkbWluX3dpZHRoYCIgc3R5bGU9Im1hcmdpbjo1cHggMDsifSAgICAKICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmICRpbWFnZV9zaXplX2FkbWluX2hlaWdodH0KICAgICAgICAgICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aHxyZXBsYWNlOiJgJHJvb3RfdXJsYCI6JycgYWx0PSRmaWxlLT5maWxlbmFtZSBmaWx0ZXJfcmVzaXplPSJoLGAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHRgIiBzdHlsZT0ibWFyZ2luOjVweCAwOyJ9ICAgIAogICAgICAgICAgICAgICAgICAgIHsvaWZ9CiAgICAgICAgICAgICAgICB7L2lmfQogICAgICAgICAgICAgICAgPGJyIC8+CiAgICAgICAgICAgICAgICB7JGZpZWxkLT5kZWxldGVfZmlsZX0geyRmaWVsZC0+ZmlsZW5hbWV9PGJyIC8+CiAgICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgp7ZWxzZX0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkLT5wcm9tcHR9PC9wPgogICAgICAgIHtpZiAkZmllbGQtPmV4dHJhfQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4gICAgICAgICAgICAKICAgICAgICAgICAgICAgIHskZmllbGQtPmV4dHJhfQogICAgICAgICAgICA8L3A+CiAgICAgICAgey9pZn0KICAgIDwvZGl2Pgp7L2lmfQp7L2lmfQp7L2ZvcmVhY2h9CnsvaWZ9CnskbW9kdWxlLT5FbmRUYWIoKX0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskaGlkZGVufXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0KCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/edititem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Im1vZHVsZSIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJvbGRhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQoNCntsaXRlcmFsfQ0KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAgICAgIC5zY3JvbGxhYmxlIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgICAgICAgICB3aWR0aDogOTAlOw0KICAgICAgICB9DQoNCiAgICA8L3N0eWxlPg0KDQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAkLmZuLm1Db2xvclBpY2tlci5pbml0LnJlcGxhY2UgPSBmYWxzZTsNCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KDQogICAgICAgICAgJCgnI2l0ZW1saXN0JykudGFibGVEbkQoKTsNCiAgICAgICQoJyNnYWxsZXJ5Zm9ybSBmb3JtJykuc3VibWl0KGZ1bmN0aW9uKCl7DQogICAgICAgIHZhciBkYXRhID0gbmV3IEFycmF5Ow0KICAgICAgICAkKCd0YWJsZSNpdGVtbGlzdCB0cicpLmVhY2goZnVuY3Rpb24oaSx0cil7DQogICAgICAgICAgZGF0YS5wdXNoKCQodHIpLmF0dHIoJ2lkJykpOw0KICAgICAgICB9KTsNCiAgICAgICAgZGF0YSA9IGRhdGEuam9pbignLCcpOw0KICAgICAgICAkKCcjc2VyaWFsZGF0YScpLnZhbChkYXRhKTsNCiAgICAgIH0pOw0KICANCiAgIA0KICAgJCgnaW5wdXRbdHlwZT1jb2xvcl0nKS5tQ29sb3JQaWNrZXIoe2ltYWdlRm9sZGVyOicuLi9tb2R1bGVzL01vZHVsZUdlbmVyYXRvci9pbWFnZXMvJ30pOw0KICAgIH0pOw0KDQogICAgPC9zY3JpcHQ+DQp7L2xpdGVyYWx9DQoNCg0Ke2xpdGVyYWx9DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIGZ1bmN0aW9uIHRvZ2dsZURpc3BsYXkoZWxlbSkNCiAgICB7DQogICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtKTsNCiAgICAgIHZhciB0eHQgPSBlbC5zdHlsZS5kaXNwbGF5Ow0KICAgICAgaWYoIHR4dCA9PSAnbm9uZScgKQ0KICAgICAgICB7DQogICAgICAgICAgdHh0ID0gJ2Jsb2NrJzsNCiAgICAgICAgfQ0KICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgdHh0ID0gJ25vbmUnOw0KICAgICAgICB9DQogICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gdHh0Ow0KICAgIH0NCg0KICAgIDwvc2NyaXB0Pg0Key9saXRlcmFsfQ0KDQo8aDM+eyR0aXRsZX08L2gzPg0KPGRpdiBpZD0iY2FzZSI+DQp7JHN0YXJ0Zm9ybX0NCg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntpZiBpc3NldCgkaXRlbV9pZCl9eyRpdGVtX2lkfXsvaWZ9eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX0ge2lmIGlzc2V0KCRjb3B5KX17JGNvcHl9ey9pZn17aWYgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgncHJldmlld19hZG1pbicpfTxzcGFuIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjVweDsiPnskcHJldmlld192aWV3fTwvc3Bhbj57L2lmfTwvcD4NCjwvZGl2Pg0KDQoNCnskbW9kdWxlLT5TdGFydFRhYkhlYWRlcnMoKX0NCnskbW9kdWxlLT5TZXRUYWJIZWFkZXIoJ2FydGljbGUnLCAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJykpfQ0Ke2lmIGlzc2V0KCRjdXN0b21fZmllbGRkZWYpfQ0KICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZGRlZiBpdGVtPSdmaWVsZCd9DQogICAgICAgIHtpZiAkZmllbGQtPnR5cGUgPT0gJ3RhYid9DQogICAgICAgICAgICB7JG1vZHVsZS0+U2V0VGFiSGVhZGVyKCRmaWVsZC0+YWxpYXMsICRmaWVsZC0+bGFiZWwpfQ0KICAgICAgICB7L2lmfSAgICAgICAgICAgIA0KICAgIHsvZm9yZWFjaH0gICAgICAgICAgICANCnsvaWZ9ICAgICAgIA0Ke2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2hhc19nYWxsZXJ5JykgJiYgaXNzZXQoJGl0ZW1faWQpfXskbW9kdWxlLT5TZXRUYWJIZWFkZXIoJ2dhbGxlcnknLCAkbW9kdWxlLT5MYW5nKCdnYWxsZXJ5JykpfXsvaWZ9DQp7aWYgaXNzZXQoJHRhYmhlYWRlcl9wcmV2aWV3KX17JHRhYmhlYWRlcl9wcmV2aWV3fXsvaWZ9DQp7JG1vZHVsZS0+RW5kVGFiSGVhZGVycygpfQ0KDQp7JG1vZHVsZS0+U3RhcnRUYWJDb250ZW50KCl9DQp7JG1vZHVsZS0+U3RhcnRUYWIoJ2FydGljbGUnKX0NCg0KDQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hY3RpdmV9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FjdGl2ZX08L3A+DQo8L2Rpdj4NCg0KDQp7aWYgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV90aXRsZV9lZGl0Jyl9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRwcm9tcHRfdGl0bGV9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90aXRsZX08L3A+DQogICAgPC9kaXY+DQp7L2lmfQ0KDQp7aWYgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9hbGlhc19lZGl0Jyl9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hbGlhc306PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsaWFzfTwvcD4NCiAgICA8L2Rpdj4NCnsvaWZ9DQoNCntpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3VybF9lZGl0Jyl9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91cmx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91cmx9PC9wPg0KICAgIDwvZGl2Pg0Key9pZn0NCg0Ke2lmICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fY2F0ZWdvcnlfZWRpdCcpfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY2F0ZWdvcnl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jYXRlZ29yeX08L3A+DQogICAgPC9kaXY+DQp7L2lmfQ0KDQp7aWYgJG1vZC0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kYXRlX2VkaXQnKX0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2RhdGV9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSRkYXRlcHJlZml4IHRpbWU9JGRhdGUgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzE1In0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSRkYXRlcHJlZml4IHRpbWU9JGRhdGV9PC9wPg0KICAgIDwvZGl2Pg0Key9pZn0NCg0Ke2lmICRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGF0ZV9lbmRfZWRpdCcpfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZGF0ZV9lbmR9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSRkYXRlZW5kcHJlZml4IHRpbWU9JGRhdGVlbmQgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzE1In0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSRkYXRlZW5kcHJlZml4IHRpbWU9JGRhdGVlbmR9PC9wPg0KICAgIDwvZGl2Pg0Key9pZn0NCg0Ke2lmICRtb2QtPkdldFByZWZlcmVuY2UoJ3JlY3Vyc2l2ZScpfQ0KDQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVjdXJfcGVyaW9kJyl9OjwvcD4NCiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1ldmVudF9yZWN1cl9wZXJpb2R7L2NhcHR1cmV9DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgIDxzZWxlY3QgaWQ9InJlY3VycGVyaW9kIiBzdGFydF90YWJfaGVhZGVyc3RhYWN0aXZlPSJ7JGFjdGlvbmlkfXJlY3VyX3BlcmlvZCIgb25jbGljaz0iaGFuZGxlRHJvcGRvd24oKTsiPg0KICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kcmVjdXJfb3B0aW9ucyBrZXk9a2V5IGl0ZW09dmFsdWV9DQogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ieyR2YWx1ZX0iIHtpZiAkdmFsdWUgPT0gJHJlY3Vyc2l2ZX1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+eyRrZXl9PC9vcHRpb24+ICAgDQogICAgICAgICAgICB7L2ZvcmVhY2h9DQogICAgICAgIDwvc2VsZWN0Pg0KICAgIDwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIGlkPSJyZWN1cl93ZWVrbHkiPiAgDQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnd2Vla2RheXMnKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfd2Vla2RheXN9PC9wPg0KPC9kaXY+DQoNCnsvaWZ9DQoNCntpZiBpc3NldCgkY3VzdG9tX2ZpZWxkZGVmKX0NCiAgICB7Zm9yZWFjaCBmcm9tPSRjdXN0b21fZmllbGRkZWYgaXRlbT0nZmllbGQnfQ0KICAgICAgICB7aWYgJGZpZWxkLT50eXBlID09ICd0YWInfQ0KICAgICAgICAgICAgeyRtb2R1bGUtPkVuZFRhYigpfQ0KICAgICAgICAgICAgeyRtb2R1bGUtPlN0YXJ0VGFiKCRmaWVsZC0+YWxpYXMpfSAgICAgICAgICAgICAgICANCiAgICAgICAge2Vsc2VpZiAoIWlzc2V0KCRpdGVtX2lkKSAmJiAhJGZpZWxkLT5lZGl0dmlldykgfHwgaXNzZXQoJGl0ZW1faWQpfQ0KICAgICAgICAgICAge2lmICRmaWVsZC0+ZmllbGR9DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkLT5wcm9tcHR9OjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgICAgICAgICAgICAgIHtpZiAhZW1wdHkoJGZpZWxkLT5oZWxwKX0oeyRmaWVsZC0+aGVscH0pPGJyIC8+ey9pZn0NCiAgICAgICAgICAgICAgICAgICAgeyRmaWVsZC0+ZmllbGR9DQogICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZmllbGQtPmZpbGVuYW1lKX08YnIgLz4NCiAgICAgICAgICAgICAgICAgICAge2NhcHR1cmUgYXNzaWduPSJzcmMifXskZmllbGQtPmZpbGVfbG9jYXRpb259L3skZmllbGQtPmZpbGVuYW1lfXsvY2FwdHVyZX0gICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICB7Y2FwdHVyZSBhc3NpZ249InNyY3BhdGgifXskZmllbGQtPmZpbGVwYXRoX2xvY2F0aW9ufS97JGZpZWxkLT5maWxlbmFtZX17L2NhcHR1cmV9ICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAge2lmICRmaWVsZC0+aXNfaW1hZ2V9DQogICAgICAgICAgICAgICAgICAgIHtpZiAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCAmJiAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHR9DQogICAgICAgICAgICAgICAgICAgICAgICB7Y21zX21vZHVsZSBtb2R1bGU9IkNHU21hcnRJbWFnZSIgc3JjPSRzcmNwYXRofHJlcGxhY2U6ImAkcm9vdF91cmxgIjonJyBhbHQ9JGZpbGUtPmZpbGVuYW1lIGZpbHRlcl9jcm9wdG9maXQ9ImAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aGAsYCRpbWFnZV9zaXplX2FkbWluX2hlaWdodGAiIHN0eWxlPSJtYXJnaW46NXB4IDA7In0gICAgDQogICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5fd2lkdGh9DQogICAgICAgICAgICAgICAgICAgICAgICB7Y21zX21vZHVsZSBtb2R1bGU9IkNHU21hcnRJbWFnZSIgc3JjPSRzcmNwYXRofHJlcGxhY2U6ImAkcm9vdF91cmxgIjonJyBhbHQ9JGZpbGUtPmZpbGVuYW1lIGZpbHRlcl9yZXNpemU9IncsYCRpbWFnZV9zaXplX2FkbWluX3dpZHRoYCIgc3R5bGU9Im1hcmdpbjo1cHggMDsifSAgICANCiAgICAgICAgICAgICAgICAgICAge2Vsc2VpZiAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHR9DQogICAgICAgICAgICAgICAgICAgICAgICB7Y21zX21vZHVsZSBtb2R1bGU9IkNHU21hcnRJbWFnZSIgc3JjPSRzcmNwYXRofHJlcGxhY2U6ImAkcm9vdF91cmxgIjonJyBhbHQ9JGZpbGUtPmZpbGVuYW1lIGZpbHRlcl9yZXNpemU9ImgsYCRpbWFnZV9zaXplX2FkbWluX2hlaWdodGAiIHN0eWxlPSJtYXJnaW46NXB4IDA7In0gICAgDQogICAgICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICAgICAgey9pZn0NCiAgICAgICAgICAgICAgICA8YnIgLz4NCiAgICAgICAgICAgICAgICB7JGZpZWxkLT5kZWxldGVfZmlsZX0geyRmaWVsZC0+ZmlsZW5hbWV9PGJyIC8+DQogICAgICAgICAgICB7L2lmfQ0KICAgICAgICA8L3A+DQogICAgPC9kaXY+DQp7ZWxzZX0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH08L3A+DQogICAgICAgIHtpZiAkZmllbGQtPmV4dHJhfQ0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+ICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgeyRmaWVsZC0+ZXh0cmF9DQogICAgICAgICAgICA8L3A+DQogICAgICAgIHsvaWZ9DQogICAgPC9kaXY+DQp7L2lmfQ0Key9pZn0NCnsvZm9yZWFjaH0NCnsvaWZ9DQp7KjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQo8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCjxwIGNsYXNzPSJwYWdlaW5wdXQiPntpZiBpc3NldCgkaXRlbV9pZCl9eyRpdGVtX2lkfXsvaWZ9eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX0ge2lmIGlzc2V0KCRjb3B5KX17JGNvcHl9ey9pZn17aWYgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgncHJldmlld19hZG1pbicpfTxzcGFuIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjVweDsiPnskcHJldmlld192aWV3fTwvc3Bhbj57L2lmfTwvcD4NCjwvZGl2Pip9DQp7JG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCgpfQ0KeyRtb2R1bGUtPkVuZFRhYigpfQ0KDQp7aWYgaXNzZXQoJHN0YXJ0X3RhYl9wcmV2aWV3KX0NCg0KICAgIHskc3RhcnRfdGFiX3ByZXZpZXd9DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQ0KICAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCiAgICAvKiAgalF1ZXJ5KCdpbnB1dFtuYW1lPW0xX2FwcGx5XScpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgICAgIGlmKCB0eXBlb2YgdGlueU1DRSAhPSAndW5kZWZpbmVkJykgdGlueU1DRS50cmlnZ2VyU2F2ZSgpOw0KICAgICAgICB2YXIgZGF0YSA9IGpRdWVyeSgnZm9ybScpLmZpbmQoJ2lucHV0Om5vdChbdHlwZT1zdWJtaXRdKSwgc2VsZWN0LCB0ZXh0YXJlYScpLnNlcmlhbGl6ZUFycmF5KCk7DQogICAgICAgIGRhdGEucHVzaCh7J25hbWUnOiAnbTFfYWpheCcsICd2YWx1ZSc6IDF9KTsNCiAgICAgICAgZGF0YS5wdXNoKHsnbmFtZSc6ICdtMV9hcHBseScsICd2YWx1ZSc6IDF9KTsNCiAgICAgICAgZGF0YS5wdXNoKHsnbmFtZSc6ICdzaG93dGVtcGxhdGUnLCAndmFsdWUnOiAnZmFsc2UnfSk7DQogICAgICAgIHZhciB1cmwgPSBqUXVlcnkoJ2Zvcm0nKS5hdHRyKCdhY3Rpb24nKTsNCiAgICAgICAgalF1ZXJ5LnBvc3QodXJsLGRhdGEsZnVuY3Rpb24ocmVzdWx0ZGF0YSx0ZXh0KXsNCiAgICAgICAgICB2YXIgcmVzcCA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdSZXNwb25zZScpLnRleHQoKTsNCiAgICAgICAgICB2YXIgZGV0YWlscyA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdEZXRhaWxzJykudGV4dCgpOw0KICAgICAgICAgIHZhciBodG1sU2hvdyA9ICcnOw0KICAgICAgICAgIGlmKCByZXNwID09ICdTdWNjZXNzJyAmJiBkZXRhaWxzICE9ICcnICkNCiAgICAgICAgICB7DQogICAgICAgICAgICAgaHRtbFNob3cgPSAnPGRpdiBjbGFzcz0icGFnZW1jb250YWluZXIiPjxwIGNsYXNzPSJwYWdlbWVzc2FnZSI+JytkZXRhaWxzKyc8XC9wPjxcL2Rpdj4nOw0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlDQogICAgICAgICAgew0KICAgICAgICAgICAgIGh0bWxTaG93ID0gJzxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+PHVsIGNsYXNzPSJwYWdlZXJyb3IiPic7DQogICAgICAgICAgICAgaHRtbFNob3cgKz0gZGV0YWlsczsNCiAgICAgICAgICAgICBodG1sU2hvdyArPSAnPFwvdWw+PFwvZGl2Pic7DQogICAgICAgICAgfQ0KICAgICAgICAgIGpRdWVyeSgnI2VkaXRhcnRpY2xlX3Jlc3VsdCcpLmh0bWwoaHRtbFNob3cpOw0KICAgICAgICB9LCd4bWwnKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgfSk7Ki8NCg0KDQogICAgICBmdW5jdGlvbiBnZW5lcmF0b3JfZG9wcmV2aWV3KCkNCiAgICAgIHsNCiAgICAgICAgaWYoIHR5cGVvZiB0aW55TUNFICE9ICd1bmRlZmluZWQnKSB0aW55TUNFLnRyaWdnZXJTYXZlKCk7DQogICAgICAgIHZhciBkYXRhID0galF1ZXJ5KCcjY2FzZSBmb3JtOmZpcnN0JykuZmluZCgnaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLCBpbnB1dDpjaGVja2JveCwgaW5wdXQ6cmFkaW8sIHNlbGVjdCwgdGV4dGFyZWEnKS5zZXJpYWxpemVBcnJheSgpOw0KICAgICAgICBkYXRhLnB1c2goeyduYW1lJzogJ20xX2FqYXgnLCAndmFsdWUnOiAxfSk7DQogICAgICAgIGRhdGEucHVzaCh7J25hbWUnOiAnbTFfcHJldmlldycsICd2YWx1ZSc6IDF9KTsNCiAgICAgICAgZGF0YS5wdXNoKHsnbmFtZSc6ICdzaG93dGVtcGxhdGUnLCAndmFsdWUnOiAnZmFsc2UnfSk7DQogICAgICAgIGRhdGEucHVzaCh7J25hbWUnOiAnbTFfcHJldmlld3BhZ2UnLCAndmFsdWUnOiBqUXVlcnkoJyNwcmV2aWV3X3JldHVybmlkJykudmFsKCl9KTsNCiAgICAgICAgZGF0YS5wdXNoKHsnbmFtZSc6ICdtMV9kZXRhaWx0ZW1wbGF0ZScsICd2YWx1ZSc6IGpRdWVyeSgnI3ByZXZpZXdfdGVtcGxhdGUnKS52YWwoKX0pOw0KICAgICAgICB2YXIgdXJsID0galF1ZXJ5KCcjY2FzZSBmb3JtOmZpcnN0JykuYXR0cignYWN0aW9uJyk7DQogICAgICAgIGpRdWVyeS5nZXQodXJsLGRhdGEsZnVuY3Rpb24ocmVzdWx0ZGF0YSx0ZXh0KXsNCiAgICAgICAgICB2YXIgcmVzcCA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdSZXNwb25zZScpLnRleHQoKTsNCiAgICAgICAgICB2YXIgZGV0YWlscyA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdEZXRhaWxzJykudGV4dCgpOw0KICAgICAgICAgIHZhciBodG1sU2hvdyA9ICcnOw0KICAgICAgICAgIGlmKCByZXNwID09ICdTdWNjZXNzJyAmJiBkZXRhaWxzICE9ICcnICkNCiAgICAgICAgICB7DQogICAgICAgICAgICAgLy8gcHJldmlldyB3b3JrZWQuLi4gbm93IHRoZSBkZXRhaWxzIHNob3VsZCBjb250YWluIHRoZSB1cmwNCiAgICAgICAgICAgICBkZXRhaWxzID0gZGV0YWlscy5yZXBsYWNlKC9hbXA7L2csJycpOw0KICAgICAgICAgICAgIGpRdWVyeSgnI3ByZXZpZXdmcmFtZScpLmF0dHIoJ3NyYycsZGV0YWlscyk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICB7DQogICAgICAgICAgICAgaWYoIGRldGFpbHMgPT0gJycgKSBkZXRhaWxzID0gJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnOw0KDQogICAgICAgICAgICAgLy8gcHJldmlldyBzYXZlIGRpZCBub3Qgd29yay4NCiAgICAgICAgICAgICBodG1sU2hvdyA9ICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPjx1bCBjbGFzcz0icGFnZWVycm9yIj4nOw0KICAgICAgICAgICAgIGh0bWxTaG93ICs9IGRldGFpbHM7DQogICAgICAgICAgICAgaHRtbFNob3cgKz0gJzxcL3VsPjxcL2Rpdj4nOw0KICAgICAgICAgICAgIGpRdWVyeSgnI2VkaXRhcnRpY2xlX3Jlc3VsdCcpLmh0bWwoaHRtbFNob3cpOw0KICAgICAgICAgIH0NCiAgICAgICAgfSwneG1sJyk7DQogICAgICB9DQoNCiAgICAgIGpRdWVyeSgnI3ByZXZpZXcnKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgICAgIGdlbmVyYXRvcl9kb3ByZXZpZXcoKQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9KTsNCg0KICAgICAgalF1ZXJ5KCcjcHJldmlld19yZXR1cm5pZCwjcHJldmlld190ZW1wbGF0ZScpLmNoYW5nZShmdW5jdGlvbigpew0KICAgICAgICBnZW5lcmF0b3JfZG9wcmV2aWV3KCk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0pOw0KICAgIH0pOw0KICAgICAgICB7L2xpdGVyYWx9PC9zY3JpcHQ+DQoNCiAgICAgICAgeyogZGlzcGxheSBhIHdhcm5pbmcgKn0NCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZXdhcm5pbmciPnskd2FybmluZ19wcmV2aWV3fTwvZGl2Pg0KICAgICAgICA8ZmllbGRzZXQ+DQoNCiAgICAgICAgICAgIDxsYWJlbCBmb3I9InByZXZpZXdfdGVtcGxhdGUiPnskcHJvbXB0X2RldGFpbF90ZW1wbGF0ZX06PC9sYWJlbD4mbmJzcDsNCiAgICAgICAgICAgIDxzZWxlY3QgaWQ9InByZXZpZXdfdGVtcGxhdGUiIG5hbWU9InByZXZpZXdfdGVtcGxhdGUiPg0KICAgICAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZGV0YWlsX3RlbXBsYXRlcyBzZWxlY3RlZD0kY3VyX2RldGFpbF90ZW1wbGF0ZX0NCiAgICAgICAgICAgIDwvc2VsZWN0PiZuYnNwOw0KDQogICAgICAgICAgICA8bGFiZWwgZm9yPSJwcmV2aWV3X3JldHVybmlkIj57JHByb21wdF9kZXRhaWxfcGFnZX06PC9sYWJlbD4mbmJzcDsNCiAgICAgICAgICAgIHskcHJldmlld19yZXR1cm5pZH0NCiAgICAgICAgPC9maWVsZHNldD4NCiAgICAgICAgPGJyLz4NCiAgICAgICAgPGlmcmFtZSBpZD0icHJldmlld2ZyYW1lIiBzdHlsZT0iaGVpZ2h0OiA4MDBweDsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyBvdmVyZmxvdzogYXV0bzsiIHNyYz0iIj48L2lmcmFtZT4NCiAgICAgICAgeyRlbmRfdGFiX3ByZXZpZXd9DQogICAgICAgIHsvaWZ9DQoNCiAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdoYXNfZ2FsbGVyeScpICYmIGlzc2V0KCRpdGVtX2lkKX0NCg0KICAgICAgICAgICAgICAgIHskbW9kdWxlLT5TdGFydFRhYignZ2FsbGVyeScpfSAgICAgICAgICAgICAgDQoNCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmaWxlbGlzdCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxhIGlkPSJwaWNrZmlsZXMiIGhyZWY9ImphdmFzY3JpcHQ6OyI+eyRtb2R1bGUtPkxhbmcoJ2FkZF9maWxlcycpfTwvYT4gDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgIHtsaXRlcmFsfQ0KDQogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAkKGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgdXBsb2FkZXIgPSBuZXcgcGx1cGxvYWQuVXBsb2FkZXIoew0KICAgICAgICAgICAgICAgIHJ1bnRpbWVzIDogJ2dlYXJzLGh0bWw1LGZsYXNoLHNpbHZlcmxpZ2h0LGJyb3dzZXJwbHVzJywNCiAgICAgICAgICAgICAgICBicm93c2VfYnV0dG9uIDogJ3BpY2tmaWxlcycsDQogICAgICAgICAgICAgICAgY29udGFpbmVyIDogJ2NvbnRhaW5lcicsDQogICAgICAgICAgICAgICAgbWF4X2ZpbGVfc2l6ZSA6ICcxMG1iJywNCiAgICAgICAgICAgICAgICB1cmwgOiAnLi4vbW9kdWxlcy9Nb2R1bGVHZW5lcmF0b3IvanMvcGx1cGxvYWQvdXBsb2FkLnBocD9nYWxsZXJ5X3BhdGg9ey9saXRlcmFsfXskZ2FsbGVyeV9wYXRofHVybGVuY29kZX17bGl0ZXJhbH0nLA0KICAgICAgICAgICAgICAgIGZsYXNoX3N3Zl91cmwgOiAnLi4vbW9kdWxlcy9Nb2R1bGVHZW5lcmF0b3IvanMvcGx1cGxvYWQvcGx1cGxvYWQuZmxhc2guc3dmJywNCiAgICAgICAgICAgICAgICBzaWx2ZXJsaWdodF94YXBfdXJsIDogJy4uL21vZHVsZXMvTW9kdWxlR2VuZXJhdG9yL2pzL3BsdXBsb2FkL3BsdXBsb2FkLnNpbHZlcmxpZ2h0LnhhcCcsDQogICAgICAgICAgICAgICAgZmlsdGVycyA6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZSA6ICJJbWFnZSBmaWxlcyIsIGV4dGVuc2lvbnMgOiAianBnLGdpZixwbmcifQ0KICAgICAgICAgICAgICAgIF0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdXBsb2FkZXIuYmluZCgnSW5pdCcsIGZ1bmN0aW9uKHVwLCBwYXJhbXMpIHsNCiAgICAgICAgICAgICAgICAvLyQoJyNmaWxlbGlzdCcpLmh0bWwoIjxkaXY+Q3VycmVudCBydW50aW1lOiAiICsgcGFyYW1zLnJ1bnRpbWUgKyAiPC9kaXY+Iik7DQogICAgICAgIH0pOw0KDQogICAgICAgICQoJyN1cGxvYWRmaWxlcycpLmNsaWNrKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB1cGxvYWRlci5zdGFydCgpOw0KICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdXBsb2FkZXIuaW5pdCgpOw0KDQogICAgICAgIHVwbG9hZGVyLmJpbmQoJ0ZpbGVzQWRkZWQnLCBmdW5jdGlvbih1cCwgZmlsZXMpIHsNCiAgICAgICAgICAgICAgICAkLmVhY2goZmlsZXMsIGZ1bmN0aW9uKGksIGZpbGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNmaWxlbGlzdCcpLmFwcGVuZCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgaWQ9IicgKyBmaWxlLmlkICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSArICcgKCcgKyBwbHVwbG9hZC5mb3JtYXRTaXplKGZpbGUuc2l6ZSkgKyAnKSA8Yj48L2I+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+Jyk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIHVwLnJlZnJlc2goKTsgLy8gUmVwb3NpdGlvbiBGbGFzaC9TaWx2ZXJsaWdodA0KICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZGVyLnN0YXJ0KCk7DQogICAgICAgIH0pOw0KDQogICAgICAgIHVwbG9hZGVyLmJpbmQoJ1VwbG9hZFByb2dyZXNzJywgZnVuY3Rpb24odXAsIGZpbGUpIHsNCiAgICAgICAgICAgICAgICAkKCcjJyArIGZpbGUuaWQgKyAiIGIiKS5odG1sKGZpbGUucGVyY2VudCArICIlIik7DQogICAgICAgIH0pOw0KDQogICAgICAgIHVwbG9hZGVyLmJpbmQoJ0Vycm9yJywgZnVuY3Rpb24odXAsIGVycikgew0KICAgICAgICAgICAgICAgICQoJyNmaWxlbGlzdCcpLmFwcGVuZCgiPGRpdj5FcnJvcjogIiArIGVyci5jb2RlICsNCiAgICAgICAgICAgICAgICAgICAgICAgICIsIE1lc3NhZ2U6ICIgKyBlcnIubWVzc2FnZSArDQogICAgICAgICAgICAgICAgICAgICAgICAoZXJyLmZpbGUgPyAiLCBGaWxlOiAiICsgZXJyLmZpbGUubmFtZSA6ICIiKSArDQogICAgICAgICAgICAgICAgICAgICAgICAiPC9kaXY+Ig0KICAgICAgICAgICAgICAgICk7DQoNCiAgICAgICAgICAgICAgICB1cC5yZWZyZXNoKCk7IC8vIFJlcG9zaXRpb24gRmxhc2gvU2lsdmVybGlnaHQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdXBsb2FkZXIuYmluZCgnRmlsZVVwbG9hZGVkJywgZnVuY3Rpb24odXAsIGZpbGUpIHsNCiAgICAgICAgICAgICAgICAkKCcjJyArIGZpbGUuaWQgKyAiIGIiKS5odG1sKCIxMDAlIik7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICBpZiggKHVwbG9hZGVyLnRvdGFsLnVwbG9hZGVkICkgPT0gdXBsb2FkZXIuZmlsZXMubGVuZ3RoKQ0KICAgICAgICAgew0KICAgICAgICB3aW5kb3cubG9jYXRpb24gPSAney9saXRlcmFsfXskcmVkaXJlY3RfdXJsfHJlcGxhY2U6JyZhbXA7JzonJid9e2xpdGVyYWx9JzsNCiAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICANCiAgICAgICAgICAgIA0KfSk7DQogICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgIHsvbGl0ZXJhbH0NCiAgICAgICAgICAgICAgICB7JGVuZGZvcm19DQo8L2Rpdj4NCiAgICAgICAgICAgICAgICB7aWYgJGdhbGxlcnl8QGNvdW50fQ0KDQoNCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJnYWxsZXJ5Zm9ybSI+ICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIHskbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQoJG9sZGFjdGlvbmlkLCAnYWRtaW5fbW92ZWltYWdlcycpfQ0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJzZXJpYWxkYXRhIiB0eXBlPSJoaWRkZW4iIG5hbWU9Inskb2xkYWN0aW9uaWR9c2VyaWFsZGF0YSIgdmFsdWU9IiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgeyRpdGVtX2lkfQ0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJzYXZlX2l0ZW1zIiB0eXBlPSJzdWJtaXQiIG5hbWU9Inskb2xkYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2R1bGUtPkxhbmcoJ3NhdmVfb3JkZXInKX0iLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIHskbW9kdWxlLT5DcmVhdGVGb3JtRW5kKCl9DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIHsvaWZ9DQoNCiAgICAgICAgICAgICAgICB7aWYgJGdhbGxlcnl8QGNvdW50fQ0KICAgICAgICAgICAgICAgICAgICB7JG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0KCRvbGRhY3Rpb25pZCwgJ2FkbWluX2ltYWdlc2J1bGthY3Rpb24nKX0NCiAgICAgICAgICAgICAgICAgICAgeyRpdGVtX2lkfQ0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogNDAlOyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1ib3R0b206IDFlbTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9ImJ1bGthY3Rpb25fc3VibWl0IiBuYW1lPSJ7JG9sZGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kdWxlLT5MYW5nKCdkZWxldGVfc2VsZWN0ZWQnKX0iLz4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiIGlkPSJpdGVtbGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggPnskbW9kdWxlLT5MYW5nKCdmaWxlbmFtZScpfTwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkY3VzdG9tX2ZpZWxkc19nYWxsZXJ5KX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZHNfZ2FsbGVyeSBpdGVtPSdmaWQnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57JGZpZWxkc192aWV3YWJsZS4kZmlkfTwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2ZvcmVhY2h9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSIge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjUwcHg7IiBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDo1MHB4OyIgY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6NTBweDsiICBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4gICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kZ2FsbGVyeSBpdGVtPSdnYWwnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgIGlkPSJ7JGdhbC5pbWFnZV9pZH0iIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57JGdhbC5maWxlbmFtZX08L3RkPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGN1c3RvbV9maWVsZHNfZ2FsbGVyeSl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkc19nYWxsZXJ5IGl0ZW09J2ZpZCd9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthc3NpZ24gdmFyPSd0bXByZXMnIHZhbHVlPSRnYWwuZmllbGRzYnlpZC4kZmlkLnZhbHVlfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGZpZWxkX21vZHVsZXMuJGZpZCl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lmIGlzc2V0KCR0bXByZXMpICYmICR0bXByZXN9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXB0dXJlIGFzc2lnbj0idG1wbW9kdWxlIn17bGl0ZXJhbH17Y21zX21vZHVsZXsvbGl0ZXJhbH0gbW9kdWxlPSJ7JGZpZWxkX21vZHVsZXMuJGZpZH0iICBhbGxyb3c9InRtcHJvd3MiIGZpbHRlcl9pdGVtSWRfaW49InskdG1wcmVzfSJ7bGl0ZXJhbH19ey9saXRlcmFsfXsvY2FwdHVyZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkdG1wbW9kdWxlKX0gICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZXZhbCB2YXI9JHRtcG1vZHVsZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpZiAkdG1wcm93c30NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kdG1wcm93cyBpdGVtPSd0bXByb3cnIG5hbWU9Im1vZHVsZSJ9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHskdG1wcm93LT50aXRsZX17aWYgJHNtYXJ0eS5mb3JlYWNoLm1vZHVsZS5sYXN0PT1mYWxzZX0sey9pZn0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2ZvcmVhY2h9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Fzc2lnbiB2YXI9InRtcHJvd3MiIHZhbHVlPSIifQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Fzc2lnbiB2YXI9InRtcG1vZHVsZSIgdmFsdWU9IiJ9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtlbHNlaWYgaXNzZXQoJGZpZWxkX2ltYWdlcy4kZmlkKSAmJiAkdG1wcmVzfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwdHVyZSBhc3NpZ249InNyYyJ9eyRlbnRyeS0+ZmlsZV9sb2NhdGlvbn0veyR0bXByZXN9ey9jYXB0dXJlfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXB0dXJlIGFzc2lnbj0ic3JjcGF0aCJ9eyRlbnRyeS0+ZmlsZXBhdGhfbG9jYXRpb259L3skdG1wcmVzfXsvY2FwdHVyZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aWYgJHNyY3BhdGh8QGdldGltYWdlc2l6ZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aCAgZmlsdGVyX3Jlc2l6ZT0iaCw1MCIgc3R5bGU9Im1hcmdpbjo1cHggMDsifSAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ieyRlbnRyeS0+ZmlsZV9sb2NhdGlvbn0veyR0bXByZXN9Ij57JHRtcHJlc308L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn0NCiAgICAgICAgICAgICAgICAgICAgICAgIHtlbHNlfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHskdG1wcmVzfQ0KICAgICAgICAgICAgICAgICAgICAgICAgey9pZn0NCiAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICB7L2ZvcmVhY2h9DQogICAgICAgICAgICB7L2lmfQ0KDQogICAgICAgICAgICA8dGQ+DQoNCiAgICAgICAgICAgIHtjYXB0dXJlIGFzc2lnbj0ic3JjIn17JGdhbC5pbWFnZV9sb2NhdGlvbn0veyRnYWwuZmlsZW5hbWV9ey9jYXB0dXJlfQ0KICAgICAgICB7Y2FwdHVyZSBhc3NpZ249InNyY3BhdGgifXskZ2FsLmltYWdlcGF0aF9sb2NhdGlvbn0veyRnYWwuZmlsZW5hbWV9ey9jYXB0dXJlfQ0KICAgICAgICB7aWYgJHNyY3BhdGh8QGdldGltYWdlc2l6ZX0NCiAgICAgICAgICAgIHtpZiAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aCAmJiAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHR9DQogICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aCAgc3R5bGU9Im1hcmdpbjo1cHggMDsiIGZpbHRlcl9jcm9wdG9maXQ9ImAkaW1hZ2Vfc2l6ZV9hZG1pbl93aWR0aGAsYCRpbWFnZV9zaXplX2FkbWluX2hlaWdodGAifSAgICANCiAgICAgICAgICAgIHtlbHNlaWYgJGltYWdlX3NpemVfYWRtaW5fd2lkdGh9DQogICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aCAgc3R5bGU9Im1hcmdpbjo1cHggMDsiIGZpbHRlcl9yZXNpemU9IncsYCRpbWFnZV9zaXplX2FkbWluX3dpZHRoYCJ9ICAgIA0KICAgICAgICAgICAge2Vsc2VpZiAkaW1hZ2Vfc2l6ZV9hZG1pbl9oZWlnaHR9DQogICAgICAgICAgICAgICAge2Ntc19tb2R1bGUgbW9kdWxlPSJDR1NtYXJ0SW1hZ2UiIHNyYz0kc3JjcGF0aCAgc3R5bGU9Im1hcmdpbjo1cHggMDsiIGZpbHRlcl9yZXNpemU9ImgsYCRpbWFnZV9zaXplX2FkbWluX2hlaWdodGAifSAgICANCiAgICAgICAgICAgIHsvaWZ9DQogICAgICAgIHtlbHNlfQ0KICAgICAgICAgICAgeyo8YSBocmVmPSJ7JGVudHJ5LT5maWxlX2xvY2F0aW9ufS97JGVudHJ5LT4kdG1wfSI+eyRlbnRyeS0+JHRtcH08L2E+Kn0NCiAgICAgICAgey9pZn0NCiAgICA8L3RkPg0KICAgIDx0ZD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJtdWx0aXNlbGVjdCIgbmFtZT0ieyRvbGRhY3Rpb25pZH1tdWx0aXNlbGVjdFtdIiB2YWx1ZT0ieyRnYWwuaW1hZ2VfaWR9Ij48L3RkPg0KICAgIDx0ZD57JGdhbC5lZGl0bGlua308L3RkPg0KICAgIDx0ZD57JGdhbC5kZWxldGVsaW5rfTwvdGQ+DQo8L3RyPg0Key9mb3JlYWNofSAgICANCjwvdGJvZHk+DQo8L3RhYmxlPg0KeyRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKX0NCnsvaWZ9DQp7JG1vZHVsZS0+RW5kVGFiKCl9DQp7ZWxzZX0NCg0KDQogICAgeyRtb2R1bGUtPkVuZFRhYigpfQ0KDQoNCg0KDQp7L2lmfQ0KDQp7JG1vZHVsZS0+RW5kVGFiQ29udGVudCgpfQ0KDQoNCg0KDQoNCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGV9PC9oMz4NCnskc3RhcnRmb3JtfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiogeyRwcm9tcHRfbmFtZX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbmFtZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntpZiBpc3NldCgkaWRmaWVsZCl9eyRpZGZpZWxkfXsvaWZ9eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX08L3A+DQo8L2Rpdj4NCnskaW5wdXRfdHlwZX0NCnskZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/fielddeftab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9J3RtcG1vZCcgdmFsdWU9JG1vZH0NCntsaXRlcmFsfQ0KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAgICAgIC5zY3JvbGxhYmxlIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgICAgICAgICB3aWR0aDogOTAlOw0KICAgICAgICB9DQoNCiAgICA8L3N0eWxlPg0KDQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQoNCiAgICAgICAgJCgnI2ZpZWxkbGlzdHsvbGl0ZXJhbH17JHNlY3Rpb259e2xpdGVyYWx9JykudGFibGVEbkQoKTsNCiAgICAgICQoJyNmaWVsZHN7L2xpdGVyYWx9eyRzZWN0aW9ufXtsaXRlcmFsfScpLnN1Ym1pdChmdW5jdGlvbigpew0KICAgICAgICB2YXIgZGF0YSA9IG5ldyBBcnJheTsNCiAgICAgICAgJCgndGFibGUjZmllbGRsaXN0ey9saXRlcmFsfXskc2VjdGlvbn17bGl0ZXJhbH0gdHInKS5lYWNoKGZ1bmN0aW9uKGksdHIpew0KICAgICAgICAgIGRhdGEucHVzaCgkKHRyKS5hdHRyKCdpZCcpKTsNCiAgICAgICAgfSk7DQogICAgICAgIGRhdGEgPSBkYXRhLmpvaW4oJywnKTsNCiAgICAgICAgJCgnI2ZzZXJpYWxkYXRhey9saXRlcmFsfXskc2VjdGlvbn17bGl0ZXJhbH0nKS52YWwoZGF0YSk7DQogICAgICB9KTsNCiAgDQogICAgfSk7DQoNCiAgICA8L3NjcmlwdD4NCnsvbGl0ZXJhbH0NCg0KDQoNCntpZiAkaXRlbWNvdW50ID4gMH0NCiAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUgY21zX3NvcnRhYmxlIHRhYmxlc29ydGVyIiBpZD0iZmllbGRsaXN0eyRzZWN0aW9ufSI+DQogICAgICAgIDx0aGVhZD4NCiAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGg+PC90aD4NCiAgICAgICAgICAgICAgICA8dGg+eyRmaWVsZHRleHR9PC90aD4NCiAgICAgICAgICAgICAgICA8dGg+eyRhbGlhc308L3RoPg0KICAgICAgICAgICAgICAgIDx0aD57JHR5cGV0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskcmVxdWlyZWR0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskZWRpdHZpZXd0ZXh0fTwvdGg+DQogICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgPC90cj4NCiAgICAgICAgPC90aGVhZD4NCiAgICAgICAgPHRib2R5Pg0KICAgICAgICAgICAge2lmICRpdGVtc3xAY291bnQgPiAxfQ0KICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0NCiAgICAgICAgICAgICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQ0KICAgICAgICAgICAgICAgIDx0ciBpZD0ieyRlbnRyeS0+aWR9IiBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5pZH08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+YWxpYXN9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnR5cGV9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnJlcXVpcmVkfHRydWVmYWxzZX08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZWRpdHZpZXd8dHJ1ZWZhbHNlfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICB7L2ZvcmVhY2h9DQogICAgICAgICAgICB7L2lmfQ0KICAgICAgICA8L3Rib2R5Pg0KICAgIDwvdGFibGU+DQoNCiAgICA8ZGl2IGlkPSJmaWVsZHN7JHNlY3Rpb259Ij57JHRtcG1vZC0+Q3JlYXRlRm9ybVN0YXJ0KCRhY3Rpb25pZCwgJ2FkbWluX21vdmVmaWVsZGRlZicpfQ0KICAgICAgICA8aW5wdXQgaWQ9ImZzZXJpYWxkYXRheyRzZWN0aW9ufSIgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXNlcmlhbGRhdGEiIHZhbHVlPSIiLz4NCiAgICAgICAgPGlucHV0IGlkPSJzZWN0aW9uIiB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9c2VjdGlvbiIgdmFsdWU9Inskc2VjdGlvbn0iLz4NCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJzYXZlX2ZpZWxkc3skc2VjdGlvbn0iIHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JHRtcG1vZC0+TGFuZygnc2F2ZV9vcmRlcicpfSIvPg0KICAgICAgICAgICAgPC9wPg0KICAgICAgICA8L2Rpdj4gICAgICAgIA0KICAgICAgICB7JHRtcG1vZC0+Q3JlYXRlRm9ybUVuZCgpfTwvZGl2Pg0KDQp7L2lmfQ0KDQoNCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9kaXY+DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/filter.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyo8ZGl2Pg0KeyRmb3Jtc3RhcnR9DQo8ZmllbGRzZXQgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjQ5JTsiPg0KPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsdGVycycpfTombmJzcDs8L2xlZ2VuZD4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2hpZXJhcmNoeScpfTo8L3A+DQogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGllcmFyY2h5fSZuYnNwO3skbW9kLT5MYW5nKCdpbmNsdWRlX2NoaWxkcmVuJyl9IHskaW5wdXRfY2hpbGRyZW59PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0aW5nJyl9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb3J0Ynl9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0b3JkZXInKX06PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NvcnRvcmRlcn08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3BhZ2VfbGltaXQnKX06PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3BhZ2VsaW1pdH08L3A+DQo8L2Rpdj4NCntpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZWRpdCcpfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGF0ZScpfTwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+ICAJDQogIHskbW9kLT5MYW5nKCdmcm9tJyl9DQogIHtjYXB0dXJlIGFzc2lnbj0iaWRmcm9tZGF0ZSJ9eyRtb2QtPkdldEFjdGlvbklkKCl9ZGF0ZWZyb217L2NhcHR1cmV9DQogIHtodG1sX3NlbGVjdF9kYXRlIGZpZWxkX29yZGVyPURNWSBwcmVmaXg9JGlkZnJvbWRhdGUgdGltZT0kZGF0ZV9mcm9tIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisxIn0NCiAgJm5ic3A7DQogIHskbW9kLT5MYW5nKCd0bycpfQ0KICB7Y2FwdHVyZSBhc3NpZ249ImlkdG9kYXRlIn17JG1vZC0+R2V0QWN0aW9uSWQoKX1kYXRldG97L2NhcHR1cmV9DQogIHtodG1sX3NlbGVjdF9kYXRlIGZpZWxkX29yZGVyPURNWSBwcmVmaXg9JGlkdG9kYXRlIHRpbWU9JGRhdGVfdG8gc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzEifQ0KICA8L3A+DQo8L2Rpdj4NCnsvaWZ9DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JG1vZC0+R2V0QWN0aW9uSWQoKX1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ij48L3A+DQo8L2Rpdj4NCg0KPC9maWVsZHNldD4NCg0KeyRmb3JtZW5kfQ0KPC9kaXY+Kn0NCg0KDQoNCg0KPGRpdiBjbGFzcz0iY29udGVudCBkZXN0aW5hdGlvbnMiPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB7JGZvcm1zdGFydH0NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGVnZW5kPkZpbHRlcjwvbGVnZW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RfY29sdW1uIj48c2VsZWN0PjxvcHRpb24+S3JhamluYTwvb3B0aW9uPjxvcHRpb24+MTwvb3B0aW9uPjxvcHRpb24+Mjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RfY29sdW1uIj48c2VsZWN0PjxvcHRpb24+RGVzdGluw6FjaWE8L29wdGlvbj48b3B0aW9uPjE8L29wdGlvbj48b3B0aW9uPjI8L29wdGlvbj48L3NlbGVjdD48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0X2NvbHVtbiI+PHNlbGVjdD48b3B0aW9uPkNoYXJha3RlcmlzdGlrYTwvb3B0aW9uPjxvcHRpb24+MTwvb3B0aW9uPjxvcHRpb24+Mjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+DQogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaHJfZnVsbCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxoMz5ab3puYW0gZGVzdGluw6FjacOtPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzdF9jb2x1bW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkVVUsOTUEE8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgU29vcmksIEJhbGk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVWx1d2F0dSwgQ2F0YW1hcmFuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+TWFuZ2lzLCBUYWl3YW48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQ+QUZSSUtBPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzLCBUYWl3YW48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBVbHV3YXR1LCBDYXRhbWFyYW48L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RfY29sdW1uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoND5BTUVSSUtBPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzIFNvb3JpLCBCYWxpPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzIFRhaXdhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPkFsaWxhIFVsdXdhdHUsIENhdGFtYXJhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPk1hbmdpcywgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVmlsbGFzIFRhaXdhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPkFsaWxhIFVsdXdhdHUsIENhdGFtYXJhbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPk1hbmdpcywgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpYWxpPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0X2NvbHVtbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQ+w4FaSUE8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgU29vcmksIEJhbGk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiI+QWxpbGEgVWx1d2F0dSwgQ2F0YW1hcmFuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkFVU1RSw4FMSUE8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgU29vcmksIEJhbGk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIj5BbGlsYSBWaWxsYXMgVGFpd2FuPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICB7JGZvcm1lbmR9DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/itemtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Im9sZGFjdGlvbmlkIiB2YWx1ZT0kYWN0aW9uaWR9DQoNCntpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtb2RlJykgPT0gInNpbXBsZSJ9DQogICAge2xpdGVyYWx9DQogICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAgICAgICAgICAuc2Nyb2xsYWJsZSB7DQogICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICAgICAgICAgICAgICB3aWR0aDogOTAlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIDwvc3R5bGU+DQoNCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KDQoNCiAgICAgICAgICAgICAgJCgnI2l0ZW1saXN0JykudGFibGVEbkQoKTsNCiAgICAgICAgICAkKCcjc29ydF9pdGVtcyBmb3JtJykuc3VibWl0KGZ1bmN0aW9uKCl7DQogICAgICAgICAgICB2YXIgZGF0YSA9IG5ldyBBcnJheTsNCiAgICAgICAgICAgICQoJ3RhYmxlI2l0ZW1saXN0IHRyJykuZWFjaChmdW5jdGlvbihpLHRyKXsNCiAgICAgICAgICAgICAgZGF0YS5wdXNoKCQodHIpLmF0dHIoJ2lkJykpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBkYXRhID0gZGF0YS5qb2luKCcsJyk7DQogICAgICAgICAgICAkKCcjc2VyaWFsZGF0YScpLnZhbChkYXRhKTsNCiAgICAgICAgICB9KTsNCiAgDQogICAgICAgIH0pOw0KDQogICAgICAgIDwvc2NyaXB0Pg0KICAgIHsvbGl0ZXJhbH0NCnsvaWZ9DQoNCg0KPGRpdiBjbGFzcz0iZm9ybSI+DQogICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2ZpbHRlcicpfQ0KICAgICAgICB7JGZvcm1zdGFydH0gICANCg0KICAgICAgICA8bGVnZW5kPnskbW9kdWxlLT5MYW5nKCdmaWx0ZXJzJyl9OiZuYnNwOzwvbGVnZW5kPg0KDQogICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdmaWx0ZXJfY2F0ZWdvcmllcycpfQ0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kdWxlLT5MYW5nKCdoaWVyYXJjaHknKX06PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGllcmFyY2h5fSZuYnNwO3skbW9kdWxlLT5MYW5nKCdpbmNsdWRlX2NoaWxkcmVuJyl9IHskaW5wdXRfY2hpbGRyZW59PC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIHsvaWZ9DQogICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdtb2RlJykgIT0gInNpbXBsZSJ9DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2R1bGUtPkxhbmcoJ3Byb21wdF9zdW1tYXJ5X3NvcnRpbmcnKX06PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc29ydGJ5fTwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kdWxlLT5MYW5nKCdwcm9tcHRfc3VtbWFyeV9zb3J0b3JkZXInKX06PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc29ydG9yZGVyfTwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kdWxlLT5MYW5nKCdwYWdlX2xpbWl0Jyl9OjwvcD4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3BhZ2VsaW1pdH08L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgey9pZn0NCiAgICAgICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2ZpbHRlcl9kYXRlJyl9DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2R1bGUtPkxhbmcoJ2RhdGUnKX08L3A+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+ICAJDQogICAgICAgICAgICAgICAgICAgIHskbW9kdWxlLT5MYW5nKCdmcm9tJyl9DQogICAgICAgICAgICAgICAge2NhcHR1cmUgYXNzaWduPSJpZGZyb21kYXRlIn17JG1vZHVsZS0+R2V0QWN0aW9uSWQoKX1kYXRlZnJvbXsvY2FwdHVyZX0NCiAgICAgICAgICAgICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBmaWVsZF9vcmRlcj1ETVkgcHJlZml4PSRpZGZyb21kYXRlIHRpbWU9JGRhdGVfZnJvbSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMSJ9DQogICAgICAgICAgICAgICAgJm5ic3A7DQogICAgICAgICAgICAgICAgeyRtb2R1bGUtPkxhbmcoJ3RvJyl9DQogICAgICAgICAgICB7Y2FwdHVyZSBhc3NpZ249ImlkdG9kYXRlIn17JG1vZHVsZS0+R2V0QWN0aW9uSWQoKX1kYXRldG97L2NhcHR1cmV9DQogICAgICAgICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBmaWVsZF9vcmRlcj1ETVkgcHJlZml4PSRpZHRvZGF0ZSB0aW1lPSRkYXRlX3RvIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisxIn0NCiAgICAgICAgPC9wPg0KICAgIDwvZGl2Pg0Key9pZn0NCg0Ke2lmIGlzc2V0KCRjdXN0b21fZmllbGRkZWYpfQ0KICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZGRlZiBpdGVtPSdmaWVsZCd9DQogICAgICAgIHtpZiAkZmllbGQtPmZpZWxkfQ0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH06PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgICAgICAgIHtpZiAhZW1wdHkoJGZpZWxkLT5oZWxwKX0oeyRmaWVsZC0+aGVscH0pPGJyIC8+ey9pZn0NCiAgICAgICAgICAgICAgICB7JGZpZWxkLT5maWVsZH0NCiAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGZpZWxkLT5maWxlbmFtZSl9PGJyIC8+DQogICAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICB7JGZpZWxkLT5kZWxldGVfZmlsZX0geyRmaWVsZC0+ZmlsZW5hbWV9PGJyIC8+DQogICAgICAgICAgICAgICAgey9pZn0NCiAgICAgICAgICAgIDwvcD4NCiAgICAgICAgPC9kaXY+DQoNCiAgICB7ZWxzZX0NCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZC0+cHJvbXB0fTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgey9pZn0NCnsvZm9yZWFjaH0NCnsvaWZ9DQoNCntpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X2VkaXQnLCAwKSB8fCBpc3NldCgkY3VzdG9tX2ZpZWxkZGVmKSB8fCAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdmaWx0ZXJfZGF0ZScpIHx8ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ21vZGUnKSAhPSAic2ltcGxlIn0NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRtb2R1bGUtPkdldEFjdGlvbklkKCl9c3VibWl0IiB2YWx1ZT0ieyRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpfSI+PC9wPg0KICAgIDwvZGl2Pg0Key9pZn0NCg0KPC9maWVsZHNldD4NCnskZm9ybWVuZH0NCnsvaWZ9DQo8L2Rpdj4NCg0KDQo8YnIgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPg0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD48L2Rpdj4NCntpZiAkaXRlbWNvdW50ID4gMH0NCg0KICAgIDxkaXYgaWQ9InByb2R1Y3RsaXN0Ij4NCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQ0KICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KICAgICAgICAgICQoJyNzZWxlY3RfYWxsX2l0ZW1zJykuY2xpY2soZnVuY3Rpb24oKXsNCiAgICAgICAgICAgIHZhciBjaGVja2VkID0gJCh0aGlzKS5hdHRyKCdjaGVja2VkJyk7DQogICAgICAgICAgICAkKCcubXVsdGlzZWxlY3QnKS5hdHRyKCdjaGVja2VkJyxjaGVja2VkID09IHVuZGVmaW5lZCA/IGZhbHNlIDogY2hlY2tlZCk7IA0KICAgICAgICAgIH0pOw0KICAgICAgICAgICQoJyNidWxrYWN0aW9uX3N1Ym1pdCcpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICB2YXIgbGVuID0gJCgnI2l0ZW1saXN0IHRib2R5IGlucHV0OmNoZWNrYm94OmNoZWNrZWQnKS5sZW5ndGg7DQogICAgICAgICAgICBpZiggbGVuID09IDAgKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICBhbGVydCgney9saXRlcmFsfXskbW9kdWxlLT5MYW5nKCdub3RoaW5nX3NlbGVjdGVkJyl9e2xpdGVyYWx9Jyk7DQogICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCiAgICAgICAgICAgIHsvbGl0ZXJhbH08L3NjcmlwdD4NCiAgICAgICAgICAgICAgICB7JGZvcm1zdGFydDJ9DQogICAgICAgICAgICAgICAge2lmIGlzc2V0KCRmaXJzdHBhZ2VfdXJsKX0NCiAgICAgICAgICAgICAgICA8YSBocmVmPSJ7JGZpcnN0cGFnZV91cmx9IiB0aXRsZT0ieyRtb2R1bGUtPkxhbmcoJ2ZpcnN0cGFnZScpfSI+eyRtb2R1bGUtPkxhbmcoJ2ZpcnN0cGFnZScpfTwvYT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSJ7JHByZXZwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZHVsZS0+TGFuZygncHJldnBhZ2UnKX0iPnskbW9kdWxlLT5MYW5nKCdwcmV2cGFnZScpfTwvYT4NCiAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICB7aWYgaXNzZXQoJGZpcnN0cGFnZV91cmwpIHx8IGlzc2V0KCRsYXN0cGFnZV91cmwpfQ0KICAgICAgICAgICAgICAgIHskbW9kdWxlLT5MYW5nKCdwYWdlX29mJywkcGFnZW51bWJlciwkcGFnZWNvdW50KX0NCiAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICB7aWYgaXNzZXQoJGxhc3RwYWdlX3VybCl9DQogICAgICAgICAgICAgICAgPGEgaHJlZj0ieyRuZXh0cGFnZV91cmx9IiB0aXRsZT0ieyRtb2R1bGUtPkxhbmcoJ25leHRwYWdlJyl9Ij57JG1vZHVsZS0+TGFuZygnbmV4dHBhZ2UnKX08L2E+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0ieyRsYXN0cGFnZV91cmx9IiB0aXRsZT0ieyRtb2R1bGUtPkxhbmcoJ2xhc3RwYWdlJyl9Ij57JG1vZHVsZS0+TGFuZygnbGFzdHBhZ2UnKX08L2E+DQogICAgICAgICAgICB7L2lmfQ0KDQoNCiAgICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiIGlkPSJpdGVtbGlzdCI+DQogICAgICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGg+eyRpZHRleHR9PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlX2VkaXQnKX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+eyRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnKX08L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgey9pZn0NCiAgICAgICAgICAgICAgICAgICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1fZGF0ZV9lZGl0JywgMCl9PHRoPnskbW9kdWxlLT5MYW5nKCdkYXRlJyl9PC90aD57L2lmfQ0KICAgICAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZW5kX2VkaXQnLCAwKX08dGg+eyRtb2R1bGUtPkxhbmcoJ2RhdGVfZW5kJyl9PC90aD57L2lmfQ0KICAgICAgICAgICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1fY2F0ZWdvcnlfZWRpdCcsIDApfTx0aD57JG1vZHVsZS0+TGFuZygnY2F0ZWdvcnknKX08L3RoPnsvaWZ9DQoNCiAgICAgICAgICAgIHtpZiBpc3NldCgkY3VzdG9tX2ZpZWxkcyl9DQogICAgICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkcyBpdGVtPSdmaWQnfQ0KICAgICAgICAgICAgICAgICAgICA8dGg+eyRmaWVsZHNfdmlld2FibGUuJGZpZH08L3RoPg0KICAgICAgICAgICAgICAgIHsvZm9yZWFjaH0NCiAgICAgICAgICAgIHsvaWZ9DQoNCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQoNCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiB0aXRsZT0ieyRtb2R1bGUtPkxhbmcoJ3NlbGVjdF9hbGwnKX0iIHZhbHVlPSIxIiBuYW1lPSJzZWxlY3RfYWxsIiBpZD0ic2VsZWN0X2FsbF9pdGVtcyI+PC90aD4NCiAgICAgICAgPC90cj4NCiAgICA8L3RoZWFkPg0KICAgIDx0Ym9keT4NCiAgICAgICAge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0NCiAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9DQogICAgICAgICAgICB7Kjx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+Kn0NCiAgICAgICAgICAgIDx0ciBpZD0ieyRlbnRyeS0+aXRlbV9pZH0iPg0KICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5pdGVtX2lkfTwvdGQ+DQogICAgICAgICAgICAgICAge2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGVfZWRpdCcpfTx0ZD48YSBocmVmPSJ7JGVudHJ5LT5lZGl0X3VybH0iIHRpdGxlPSJ7JG1vZHVsZS0+TGFuZygnZWRpdCcpfSI+eyRlbnRyeS0+dGl0bGV9PC9hPjwvdGQ+DQogICAgICAgICAgICAgICAgey9pZn0NCiAgICAgICAgICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2RhdGVfZWRpdCcsIDApfQkgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPml0ZW1fZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC90ZD57L2lmfQ0KICAgICAgICB7aWYgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbV9kYXRlX2VuZF9lZGl0JywgMCl9CSAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aXRlbV9kYXRlX2VuZHxjbXNfZGF0ZV9mb3JtYXR9PC90ZD57L2lmfQ0KICAgIHtpZiAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtX2NhdGVnb3J5X2VkaXQnLCAwKX0JICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5sb25nX25hbWV9PC90ZD57L2lmfQ0KICAgIHtpZiBpc3NldCgkY3VzdG9tX2ZpZWxkcyl9DQogICAgICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZHMgaXRlbT0nZmlkJ30NCiAgICAgICAgICAgIDx0ZD4gICAgICAgICAgICAgICAgDQogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXtsaXRlcmFsfXt7L2xpdGVyYWx9JGVudHJ5LT5GbGRfX3skZmllbGRfbmFtZXMuJGZpZH17bGl0ZXJhbH19ey9saXRlcmFsfXsvY2FwdHVyZX0NCiAgICB7ZXZhbCB2YXI9JHRtcCBhc3NpZ249InRtcHJlcyJ9ICAgIA0KICAgIHtpZiBpc3NldCgkZmllbGRfbW9kdWxlcy4kZmlkKX0NCiAgICAgICAge2lmIGlzc2V0KCR0bXByZXMpICYmICR0bXByZXN9DQp7Y2FwdHVyZSBhc3NpZ249InRtcG1vZHVsZSJ9e2xpdGVyYWx9e2Ntc19tb2R1bGV7L2xpdGVyYWx9IG1vZHVsZT0ieyRmaWVsZF9tb2R1bGVzLiRmaWR9IiAgYWxscm93PSJ0bXByb3dzIiBmaWx0ZXJfaXRlbUlkX2luPSJ7JHRtcHJlc30ie2xpdGVyYWx9fXsvbGl0ZXJhbH17L2NhcHR1cmV9DQp7L2lmfQ0Ke2lmIGlzc2V0KCR0bXBtb2R1bGUpfSAgICAgICAgDQogICAge2V2YWwgdmFyPSR0bXBtb2R1bGV9DQp7L2lmfQ0Ke2lmICR0bXByb3dzfQ0KICAgIHtmb3JlYWNoIGZyb209JHRtcHJvd3MgaXRlbT0ndG1wcm93JyBuYW1lPSJtb2R1bGUifQ0KICAgIHskdG1wcm93LT50aXRsZX17aWYgJHNtYXJ0eS5mb3JlYWNoLm1vZHVsZS5sYXN0PT1mYWxzZX0sey9pZn0NCnsvZm9yZWFjaH0NCnsvaWZ9DQp7YXNzaWduIHZhcj0idG1wcm93cyIgdmFsdWU9IiJ9DQp7YXNzaWduIHZhcj0idG1wbW9kdWxlIiB2YWx1ZT0iIn0NCntlbHNlaWYgaXNzZXQoJGZpZWxkX2ltYWdlcy4kZmlkKSAmJiAkdG1wcmVzfQ0Ke2NhcHR1cmUgYXNzaWduPSJzcmMifXskZW50cnktPmZpbGVfbG9jYXRpb259L3skdG1wcmVzfXsvY2FwdHVyZX0NCntjYXB0dXJlIGFzc2lnbj0ic3JjcGF0aCJ9eyRlbnRyeS0+ZmlsZXBhdGhfbG9jYXRpb259L3skdG1wcmVzfXsvY2FwdHVyZX0NCntpZiAkc3JjcGF0aHxAZ2V0aW1hZ2VzaXplfQ0KICAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iQ0dTbWFydEltYWdlIiBzcmM9JHNyY3BhdGggIGZpbHRlcl9yZXNpemU9ImgsNTAiIHN0eWxlPSJtYXJnaW46NXB4IDA7In0gICAgDQp7ZWxzZX0NCiAgICA8YSBocmVmPSJ7JGVudHJ5LT5maWxlX2xvY2F0aW9ufS97JHRtcHJlc30iPnskdG1wcmVzfTwvYT4NCnsvaWZ9DQp7ZWxzZX0NCiAgICB7JHRtcHJlc30NCnsvaWZ9DQo8L3RkPg0Key9mb3JlYWNofQ0Key9pZn0NCg0KPHRkPnskZW50cnktPmFwcHJvdmV9PC90ZD4NCg0KPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+DQo8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPg0KPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9Im11bHRpc2VsZWN0IiBuYW1lPSJ7JG9sZGFjdGlvbmlkfW11bHRpc2VsZWN0W10iIHZhbHVlPSJ7JGVudHJ5LT5pdGVtX2lkfSI+PC90ZD4NCjwvdHI+DQp7L2ZvcmVhY2h9DQo8L3Rib2R5Pg0KPC90YWJsZT4NCg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPjwvZGl2Pg0Ke2lmICRpdGVtY291bnQgZ3QgMH0NCiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDQwJTsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tdG9wOiAwLjVlbTsiPg0KICAgICAgICB7JG1vZHVsZS0+TGFuZygnd2l0aF9zZWxlY3RlZCcpfToNCiAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JG9sZGFjdGlvbmlkfWJ1bGthY3Rpb24iPntodG1sX29wdGlvbnMgb3B0aW9ucz0kYnVsa2FjdGlvbnN9PC9zZWxlY3Q+DQogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJidWxrYWN0aW9uX3N1Ym1pdCIgbmFtZT0ieyRvbGRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZHVsZS0+TGFuZygnZ28nKX0iLz4NCiAgICA8L2Rpdj4NCnsvaWZ9DQp7JGZvcm1lbmQyfTwvZGl2Pg0Key9pZn0NCg0Ke2lmICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ21vZGUnKSA9PSAic2ltcGxlIn0NCg0KICAgIDxkaXYgaWQ9InNvcnRfaXRlbXMiPnskbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQoJG9sZGFjdGlvbmlkLCAnYWRtaW5fbW92ZWl0ZW0nKX0NCiAgICAgICAgPGlucHV0IGlkPSJzZXJpYWxkYXRhIiB0eXBlPSJoaWRkZW4iIG5hbWU9Inskb2xkYWN0aW9uaWR9c2VyaWFsZGF0YSIgdmFsdWU9IiIvPg0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9InNhdmVfaXRlbXMiIHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRvbGRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZHVsZS0+TGFuZygnc2F2ZV9vcmRlcicpfSIvPg0KICAgICAgICAgICAgPC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgeyRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKX08L2Rpdj4NCiAgICB7L2lmfQ0KDQoNCjxiciBzdHlsZT0iY2xlYXI6Ym90aCIgLz4=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/modetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQoNCntsaXRlcmFsfQ0KICAgIDxzY3JpcHQgdHlsZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KICAgICQoIiNhZHZhbmNlZCwjc2ltcGxlIikuaGlkZSgpOw0KICAgICQoIiMiKyQoIiNtb2RlIHNlbGVjdCIpLnZhbCgpKS5mYWRlSW4oKTs7DQoNCiAgICAkKCIjbW9kZSBzZWxlY3QiKS5jaGFuZ2UoZnVuY3Rpb24oKXsNCiAgICAkKCIjYWR2YW5jZWQsI3NpbXBsZSIpLmhpZGUoKTsNCiAgICAkKCIjIiskKHRoaXMpLnZhbCgpKS5mYWRlSW4oKTs7DQogICAgfSkNCiAgICB9KQ0KICAgIDwvc2NyaXB0Pg0Key9saXRlcmFsfQ0KDQp7JHN0YXJ0Zm9ybX0NCg0KPGZpZWxkc2V0Pg0KICAgIDxoMz57JHByb21wdF9tb2RlfTwvaDM+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCIgaWQ9Im1vZGUiPnskaW5wdXRfbW9kZX08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0iYWR2YW5jZWQiPg0KICAgICAgICA8cD57JG1vZC0+TGFuZygnYWR2YW5jZWRfbW9kZV9pbmZvJyl9PC9wPg0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zdW1tYXJ5X3NvcnRpbmd9OjwvcD4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc3VtbWFyeV9zb3J0aW5nX2FkdmFuY2VkfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyfTo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlfc29ydG9yZGVyX2FkdmFuY2VkfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfcGFnZWxpbWl0fTo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlfcGFnZWxpbWl0X2FkdmFuY2VkfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0ic2ltcGxlIj4NCiAgICAgICAgPHA+eyRtb2QtPkxhbmcoJ3NpbXBsZV9tb2RlX2luZm8nKX08L3A+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfc29ydGluZ306PC9wPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5X3NvcnRpbmdfc2ltcGxlfTwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnlfc29ydG9yZGVyfTo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlfc29ydG9yZGVyX3NpbXBsZX08L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zdW1tYXJ5X3BhZ2VsaW1pdH06PC9wPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5X3BhZ2VsaW1pdF9zaW1wbGV9PC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyR0bXBhY3Rpb25pZH10YWIiIHZhbHVlPSJtb2RlIiAvPg0KPC9maWVsZHNldD4JDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4NCjwvZGl2PiAgICANCnskZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/optioneditingtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQp7JHN0YXJ0Zm9ybX0NCjxmaWVsZHNldD4NCiAgICA8aDM+eyRtb2QtPkxhbmcoJ2l0ZW1zJyl9PC9oMz4NCg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NvcHlfYWRtaW4nKX06IDwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jb3B5X2FkbWlufSAqeyRtb2QtPkxhbmcoJ25vdGUnKX06IHskbW9kLT5MYW5nKCdjb3B5X2FkbWluX2luZm8nKX08L3A+DQogICAgPC9kaXY+DQoNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcmV2aWV3X2FkbWluJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wcmV2aWV3X2FkbWlufTwvcD4NCiAgICA8L2Rpdj4NCjwvZmllbGRzZXQ+DQo8ZmllbGRzZXQ+DQogICAgPGgzPnskbW9kLT5MYW5nKCdnYWxsZXJ5Jyl9PC9oMz4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdoYXNfZ2FsbGVyeScpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGFzX2dhbGxlcnl9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2dhbGxlcnlfc29ydG9yZGVyJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9nYWxsZXJ5X3NvcnRvcmRlcn08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9jdXN0b21fZmllbGRzX2RlZmF1bHR9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgICAgICA8c2VsZWN0IG5hbWU9InskdG1wYWN0aW9uaWR9Y3VzdG9tX2ZpZWxkc19nYWxsZXJ5X2RlZmF1bHRbXSIgc2l6ZT0iNiIgbXVsdGlwbGU9Im11bHRpcGxlIj4NCiAgICAgICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkc19nYWxsZXJ5X3ZpZXdhYmxlIHNlbGVjdGVkPSRjdXN0b21fZmllbGRzX2dhbGxlcnlfZGVmYXVsdH0NCiAgICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICA8L3A+DQogICAgPC9kaXY+DQo8L2ZpZWxkc2V0Pg0KDQoNCjxmaWVsZHNldD4NCiAgICA8aDM+eyRtb2QtPkxhbmcoJ2VkaXRpbmcnKX08L2gzPg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV90aXRsZV9lZGl0fTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV90aXRsZV9lZGl0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2l0ZW1fYWxpYXNfZWRpdH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fYWxpYXNfZWRpdH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pdGVtX3VybF9lZGl0fTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV91cmxfZWRpdH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pdGVtX2NhdGVnb3J5X2VkaXR9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX2NhdGVnb3J5X2VkaXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV9kYXRlX2VkaXR9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX2RhdGVfZWRpdH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9yZWN1cnNpdmV9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZWN1cnNpdmV9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV9kYXRlX2VuZF9lZGl0fTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV9kYXRlX2VuZF9lZGl0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JHRtcGFjdGlvbmlkfXRhYiIgdmFsdWU9Im9wdGlvbmVkaXRpbmd0YWIiIC8+DQo8L2ZpZWxkc2V0Pg0KPGJyIC8+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4NCjwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/optionsearchtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQp7JHN0YXJ0Zm9ybX0NCg0KPGgzPnskbW9kLT5MYW5nKCdzZWFyY2gnKX08L2gzPg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3NlYXJjaGFibGV9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NlYXJjaGFibGV9PC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc2VhcmNoX2RhdGVfZW5kfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zZWFyY2hfZGF0ZV9lbmR9PC9wPg0KPC9kaXY+DQogICAgPGgzPnskdG1wbW9kLT5MYW5nKCdzZWFyY2hhYmxlX2ZpZWxkcycpfTwvaDM+DQp7Zm9yZWFjaCBmcm9tPSRzZWFyY2hfY3VzdG9tX2ZpZWxkcyBrZXk9J3Byb21wdCcgaXRlbT0naXRlbSd9DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGl0ZW19PC9wPg0KICAgIDwvZGl2Pg0Key9mb3JlYWNofQ0Ke2lmICRzZWFyY2hhYmxlfQ0KICAgIDxmaWVsZHNldD4NCiAgICAgICAgPGgzPnskbW9kLT5MYW5nKCdyZWluZGV4Jyl9PC9oMz4NCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Inskc2VhcmNoYWJsZV9saW5rfSI+eyRtb2QtPkxhbmcoJ3N0YXJ0Jyl9PC9hPg0KICAgICAgICAgICAgPC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2ZpZWxkc2V0Pg0Key9pZn0NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskdG1wYWN0aW9uaWR9dGFiIiB2YWx1ZT0ib3B0aW9uc2VhcmNodGFiIiAvPg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+DQo8L2Rpdj4NCg0KeyRlbmRmb3JtfQ0K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9InRtcG1vZCIgdmFsdWU9JG1vZH0NCnthc3NpZ24gdmFyPSJ0bXBhY3Rpb25pZCIgdmFsdWU9JGFjdGlvbmlkfQ0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCg0KICAgIGlmKCQoJyNmaWx0ZXIgaW5wdXQ6Y2hlY2tib3gnKS5pcygnOmNoZWNrZWQnKSl7DQogICAgJCgnI2ZpbHRlci1jYXNlJykuc2hvdygpOw0KfQ0KJCgnI2ZpbHRlciBpbnB1dDpjaGVja2JveCcpLmNsaWNrKGZ1bmN0aW9uKCl7DQppZigkKHRoaXMpLmlzKCc6Y2hlY2tlZCcpKXsNCiQoJyNmaWx0ZXItY2FzZScpLnNob3coKTsNCn0NCmVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICQoJyNmaWx0ZXItY2FzZScpLmhpZGUoKTsNCiAgICB9DQp9KQ0KfSkNCg0KPC9zY3JpcHQ+DQoNCnskc3RhcnRmb3JtfQ0KPGZpZWxkc2V0Pg0KICAgIDxoMz57JG1vZC0+TGFuZygnZ2xvYmFsJyl9PC9oMz4NCg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXJsX3ByZWZpeH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VybF9wcmVmaXh9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV9kZXRhaWxfcmV0dXJuaWR9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX2RldGFpbF9yZXR1cm5pZH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pdGVtX2NhdGVnb3J5X3JldHVybmlkfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbV9jYXRlZ29yeV9yZXR1cm5pZH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9kaXNwbGF5X2lubGluZX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Rpc3BsYXlfaW5saW5lfTwvcD4NCiAgICA8L2Rpdj4NCjwvZmllbGRzZXQ+DQo8ZmllbGRzZXQ+DQogICAgPGgzPnskbW9kLT5MYW5nKCdhZG1pbl9hcmVhJyl9PC9oMz4NCg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaGFzX2FkbWlufTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGFzX2FkbWlufTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdpbWFnZXNfc2l6ZV9hZG1pbicpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0ieyRtb2QtPkdldFByZWZlcmVuY2UoJ2ltYWdlc19zaXplX2FkbWluJyl9IiBuYW1lPSJ7JHRtcGFjdGlvbmlkfWltYWdlc19zaXplX2FkbWluIiAvPg0KICAgICAgICAgICAgPHNwYW4+ICp7JG1vZC0+TGFuZygnaW1hZ2Vfc2l6ZV9hZG1pbl9pbmZvJyl9PC9zcGFuPg0KICAgICAgICA8L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9mcmllbmRseW5hbWV9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mcmllbmRseW5hbWV9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV90aXRsZX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fdGl0bGV9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV9zaW5ndWxhcn06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fc2luZ3VsYXJ9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaXRlbV9wbHVyYWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX3BsdXJhbH08L3A+DQogICAgPC9kaXY+DQoNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3VzZXJncm91cF9kZXBlbmRlbmNlfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXNlcmdyb3VwX2RlcGVuZGVuY2V9ICp7JHRtcG1vZC0+TGFuZygnaW5mb191c2VyZ3JvdXBfZGVwZW5kZW5jZScpfTwvcD4NCiAgICA8L2Rpdj4NCg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY3VzdG9tX2ZpZWxkc19kZWZhdWx0fTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JHRtcGFjdGlvbmlkfWN1c3RvbV9maWVsZHNfZGVmYXVsdFtdIiBzaXplPSI2IiBtdWx0aXBsZT0ibXVsdGlwbGUiPg0KICAgICAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmllbGRzX3ZpZXdhYmxlIHNlbGVjdGVkPSRjdXN0b21fZmllbGRzX2RlZmF1bHR9DQogICAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgPC9wPg0KICAgIDwvZGl2Pg0KDQogICAgPGgzPnskbW9kLT5MYW5nKCdmaWx0ZXInKX0gPHNwYW4gaWQ9ImZpbHRlciI+eyRpbnB1dF9maWx0ZXJ9PC9zcGFuPiA8L2gzPiAgICANCiAgICA8ZGl2IGlkPSJmaWx0ZXItY2FzZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+DQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdG1wbW9kLT5MYW5nKCdjYXRlZ29yaWVzJyl9OjwvcD4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmlsdGVyX2NhdGVnb3JpZXN9PC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0bXBtb2QtPkxhbmcoJ2RhdGUnKX06PC9wPg0KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWx0ZXJfZGF0ZX08L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRmaWx0ZXJfY3VzdG9tX2ZpZWxkcyBrZXk9J3Byb21wdCcgaXRlbT0naXRlbSd9DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHR9OjwvcD4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGl0ZW19PC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIHsvZm9yZWFjaH0NCiAgICA8L2Rpdj4NCg0KDQogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyR0bXBhY3Rpb25pZH10YWIiIHZhbHVlPSJvcHRpb250YWIiIC8+DQo8L2ZpZWxkc2V0PiAgDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4NCjwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/ordercategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZWNvbnRhaW5lciI+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgogICAgICAgIHtsaXRlcmFsfQogICAgZnVuY3Rpb24gcGFyc2VUcmVlKHVsKXsKICAgICAgICAgICAgdmFyIHRhZ3MgPSBbXTsKICAgICAgICAgICAgdWwuY2hpbGRyZW4oImxpIikuZWFjaChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgIHZhciBzdWJ0cmVlID0JJCh0aGlzKS5jaGlsZHJlbigidWwiKTsKICAgICAgICAgICAgICAgICAgICBpZihzdWJ0cmVlLnNpemUoKSA+IDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzLnB1c2goWyQodGhpcykuYXR0cigiaWQiKSwgcGFyc2VUcmVlKHN1YnRyZWUpXSk7CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFncy5wdXNoKCQodGhpcykuYXR0cigiaWQiKSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gdGFnczsKICAgIH0KCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoKICAgIHZhciBhamF4X3VybCA9ICQoJ2Zvcm0nKS5hdHRyKCdhY3Rpb24nKSsiPyI7CiAgICAkKCdmb3JtIGlucHV0OmhpZGRlbixmb3JtIGlucHV0OnRleHQsZm9ybSBpbnB1dDpzdWJtaXQ6Zmlyc3QnKS5lYWNoKGZ1bmN0aW9uKCl7CiAgICBhamF4X3VybCs9IiYiKyQodGhpcykuYXR0cignbmFtZScpKyI9IiskKHRoaXMpLmF0dHIoJ3ZhbHVlJyk7CiAgICB9KQoKICAgICQoJ3VsLnNvcnRhYmxlJykubmVzdGVkU29ydGFibGUoewkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlTmVzdGluZzogJ25vLW5lc3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0VHlwZTogJ3VsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZVBsYWNlaG9sZGVyU2l6ZTogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU6ICdkaXYnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAnbGknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYlNpemU6IDI1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvbGVyYW5jZTogJ3BvaW50ZXInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvbGVyYW5jZUVsZW1lbnQ6ICc+IGRpdicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgIAogICAgJCgiLnJlb3JkZXItcGFnZXMgZm9ybSIpLnN1Ym1pdChmdW5jdGlvbigpewogICAgICAgIHZhciB0cmVlID0gJC50b0pTT04ocGFyc2VUcmVlKCQoJ3VsLnNvcnRhYmxlJykpKTsKICAgICAgICB2YXIgYWpheF9yZXMgPSBmYWxzZTsKICAgICAgICAkLmFqYXgoewogICAgICAgICAgdHlwZTogJ1BPU1QnLAogICAgICAgICAgdXJsOiAgYWpheF91cmwsCiAgICAgICAgICBkYXRhOiB7ZGF0YTogdHJlZX0sCiAgICAgICAgICBjYWNoZTogZmFsc2UsCiAgICAgICAgICBhc3luYzogZmFsc2UsCiAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKICAgICAgICAgICAgIGFqYXhfcmVzID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gYWpheF9yZXM7CiAgICB9KTsvL2VuZCBzYXZlCgogICAgfSk7Ly9lbmQgcmVhZHkKICAgICAgICB7L2xpdGVyYWx9CiAgICA8L3NjcmlwdD4KICAgIDxkaXYgY2xhc3M9InJlb3JkZXItcGFnZXMiPgogICAgICAgIHskc3RhcnRmb3JtfQogICAgICAgIDx1bCBjbGFzcz0ic29ydGFibGVMaXN0IHNvcnRhYmxlIj4KCiAgICAgICAgICAgIHtpZiAkaXRlbWNvdW50ID4gMH0KICAgICAgICAgICAgICAgIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnkgbmFtZT0iY2F0ZWdvcnlsaXN0In0KCiAgICAgICAgICAgICAgICAgICAge2Fzc2lnbiB2YXI9ImhpZXJhcmNoeWNvdW50IiB2YWx1ZT0iLiJ8ZXhwbG9kZTokaGllcmFyY2h5fQogICAgICAgICAgICAgICAgICAgIHthc3NpZ24gdmFyPSJoaWVyYXJjaHljdXJyZW50Y291bnQiIHZhbHVlPSIuInxleHBsb2RlOiRlbnRyeS0+aGllcmFyY2h5X3Bvc2l0aW9ufQogICAgICAgICAgICAgICAgICAgIHtpZiAkc21hcnR5LmZvcmVhY2guY2F0ZWdvcnlsaXN0LmZpcnN0PT1mYWxzZSAmJiAkcGFyZW50X2lkIT0kZW50cnktPnBhcmVudF9pZCAmJiAkaGllcmFyY2h5Y291bnR8QGNvdW50IDw9ICAkaGllcmFyY2h5Y3VycmVudGNvdW50fEBjb3VudH0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmICRzbWFydHkuZm9yZWFjaC5jYXRlZ29yeWxpc3QuZmlyc3Q9PWZhbHNlICYmICRwYXJlbnRfaWQhPSRlbnRyeS0+cGFyZW50X2lkfQogICAgICAgICAgICAgICAgICAgICAgICAgICAge21hdGggZXF1YXRpb249InggLSB5IiB4PSRoaWVyYXJjaHljb3VudHxAY291bnQgeT0kaGllcmFyY2h5Y3VycmVudGNvdW50fEBjb3VudCBhc3NpZ249InRtcGRlcHRoIn0KICAgICAgICAgICAgICAgICAgICAgICAge3JlcGVhdCBzdHJpbmc9IjwvbGk+PC91bD4iIHRpbWVzPSR0bXBkZXB0aH17ZWxzZX0KICAgICAgICAgICAgICAgICAgICAgICAge2lmICRzbWFydHkuZm9yZWFjaC5jYXRlZ29yeWxpc3QuZmlyc3Q9PWZhbHNlIH08L2xpPnsvaWZ9CiAgICAgICAgICAgICAgICAgICAgey9pZn0KCgogICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iY2F0ZWdvcnlfeyRlbnRyeS0+Y2F0ZWdvcnlfaWR9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwiPjxzcGFuPiZuYnNwOzwvc3Bhbj57JGVudHJ5LT5jYXRlZ29yeV9pZH06Jm5ic3A7eyRlbnRyeS0+Y2F0ZWdvcnlfbmFtZX08ZW0+eyRlbnRyeS0+aGllcmFyY2h5fTwvZW0+PC9kaXY+CgoKCiAgICAgICAgICAgICAgICAgICAgICAgIHthc3NpZ24gdmFyPSJoaWVyYXJjaHkiIHZhbHVlPSRlbnRyeS0+aGllcmFyY2h5X3Bvc2l0aW9ufQogICAgICAgICAgICAgICAgICAgICAgICB7YXNzaWduIHZhcj0icGFyZW50X2lkIiB2YWx1ZT0kZW50cnktPnBhcmVudF9pZH0KICAgICAgICAgICAgICAgICAgICB7L2ZvcmVhY2h9CiAgICAgICAgICAgICAgICB7L2lmfQogICAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CgogICAgICAgIDxkaXYgY2xhc3M9InBhZ29ldmVyZmxvdyI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiBjbGFzcz0iYnV0dG9uIHNhdmUiIHZhbHVlPSJ7J3N1Ym1pdCd8bGFuZ30iLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7J2NhbmNlbCd8bGFuZ30iLz4KICAgICAgICA8L2Rpdj4KICAgICAgICB7JGVuZGZvcm19CjwvZGl2Pgo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_category_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRjb3VudCA+IDB9DQo8dWw+DQp7Zm9yZWFjaCBmcm9tPSRjYXRzIGl0ZW09bm9kZX0NCntpZiAkbm9kZS5kZXB0aCA+ICRub2RlLnByZXZkZXB0aH0NCntyZXBlYXQgc3RyaW5nPSI8dWw+IiB0aW1lcz0kbm9kZS5kZXB0aC0kbm9kZS5wcmV2ZGVwdGh9DQp7ZWxzZWlmICRub2RlLmRlcHRoIDwgJG5vZGUucHJldmRlcHRofQ0Ke3JlcGVhdCBzdHJpbmc9IjwvbGk+PC91bD4iIHRpbWVzPSRub2RlLnByZXZkZXB0aC0kbm9kZS5kZXB0aH0NCjwvbGk+DQp7ZWxzZWlmICRub2RlLmluZGV4ID4gMH08L2xpPg0Key9pZn0NCjxsaT4NCntpZiAkbm9kZS5jb3VudCA+IDB9DQoJPGEgaHJlZj0ieyRub2RlLnVybH0iPnskbm9kZS5jYXRlZ29yeV9uYW1lfTwvYT4gKHskbm9kZS5jb3VudH0pe2Vsc2V9PHNwYW4+eyRub2RlLmNhdGVnb3J5X25hbWV9ICgwKTwvc3Bhbj57L2lmfQ0Key9mb3JlYWNofQ0Ke3JlcGVhdCBzdHJpbmc9IjwvbGk+PC91bD4iIHRpbWVzPSRub2RlLmRlcHRoLTF9PC9saT4NCjwvdWw+DQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0iaXRlbSI+DQogICAgeyp2YWx1ZXMqfQ0KICAgIDxoMiBjbGFzcz0iaXRlbS10aXRsZSI+eyRpdGVtLT50aXRsZX08L2gyPg0KICAgIDxkaXYgY2xhc3M9Iml0ZW0tY2F0ZWdvcnkiPkNhdGVnb3J5OiB7JGl0ZW0tPmNhdGVnb3J5X25hbWV9PC9kaXY+DQogICAgPHA+DQogICAgICAgIERhdGU6IHskaXRlbS0+aXRlbV9kYXRlfQ0KICAgIDwvcD4NCiAgICA8cD4NCiAgICAgICAgRGF0ZSBlbmQ6IHskaXRlbS0+aXRlbV9kYXRlX2VuZH0NCiAgICA8L3A+DQogICAgeypjdXN0b20gZmllbGRzKn0NCiAgICB7aWYgIWVtcHR5KCRpdGVtLT5maWVsZGRlZnMpfQ0KICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtLXByb3BlcnRpZXMiPg0KICAgICAgICAgICAge2ZvcmVhY2ggZnJvbT0kaXRlbS0+ZmllbGRkZWZzIGl0ZW09ZmllbGRkZWZ9DQogICAgICAgICAgICAgICAge2lmICRmaWVsZGRlZi50eXBlID09ICd1cGxvYWRfZmlsZScgfHwgJGZpZWxkZGVmLnR5cGUgPT0gJ3NlbGVjdF9maWxlJ30NCiAgICAgICAgICAgICAgICAgICAgeyRmaWVsZGRlZi5uYW1lfTogPGEgaHJlZj0ieyRpdGVtLT5maWxlX2xvY2F0aW9ufS97JGZpZWxkZGVmLnZhbHVlfSI+eyRmaWVsZGRlZi52YWx1ZX08L2E+PGJyIC8+DQogICAgICAgICAgICAgICAgICAgIHsqQ0dTbWFydEltYWdlIHF1YWxpdHk9OTAgc3JjPSRpdGVtLmZpbGVfbG9jYXRpb258Y2F0OicvJzokZmllbGRkZWYudmFsdWUgcXVhbGl0eT05MCBmaWx0ZXJfcmVzaXplPSd3LDUwMCcgYWx0PSRpdGVtLT50aXRsZSp9ICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICB7ZWxzZX0NCiAgICAgICAgICAgICAgICAgICAgeyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX08YnIgLz4NCiAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgey9mb3JlYWNofQ0KICAgICAgICA8L2Rpdj4NCiAgICB7L2lmfQ0KDQogICAgeypnYWxsZXJ5Kn0NCiAgICB7aWYgJGl0ZW0tPmltYWdlc3xAY291bnR9DQogICAgICAgIDx1bD4NCiAgICAgICAgICAgIHtmb3JlYWNoIGZyb209JGl0ZW0tPmltYWdlcyBpdGVtPSdpbWFnZSd9ICAgICAgICANCiAgICAgICAgICAgICAgICA8bGk+ICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJ7JGltYWdlLmZpbGVfbG9jYXRpb259L3skaW1hZ2UuZmlsZW5hbWV9IiBhbHQ9IiIgLz4NCiAgICAgICAgICAgICAgICAgICAgeypDR1NtYXJ0SW1hZ2UgcXVhbGl0eT05MCBzcmM9JGltYWdlWydmaWxlX2xvY2F0aW9uJ118Y2F0OicvJzokaW1hZ2VbJ2ZpbGVuYW1lJ10gcXVhbGl0eT05MCBmaWx0ZXJfcmVzaXplPSd3LDUwMCcgYWx0PScnKn0NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgey9mb3JlYWNofQ0KICAgICAgICA8L3VsPg0KICAgIHsvaWZ9DQo8L2Rpdj48IS0tIGl0ZW0gLS0+]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_filter_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0iZmlsdGVyIj4gICAgICAgICAgICAgICAgICAgIA0KICAgIHskZm9ybXN0YXJ0fQ0KICAgIDxmaWVsZHNldD4NCiAgICAgICAgICAge2lmIGlzc2V0KCRjdXN0b21fZmllbGRkZWYpfQ0KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRjdXN0b21fZmllbGRkZWYgaXRlbT0nZmllbGQnfQ0KICAgICAgICAgICAge2lmICRmaWVsZC0+ZmllbGR9DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkLT5wcm9tcHR9OjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICAgICAgICAgICAgICAgIHtpZiAhZW1wdHkoJGZpZWxkLT5oZWxwKX0oeyRmaWVsZC0+aGVscH0pPGJyIC8+ey9pZn0NCiAgICAgICAgICAgICAgICAgICAgeyRmaWVsZC0+ZmllbGR9DQogICAgICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZmllbGQtPmZpbGVuYW1lKX08YnIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgeyRmaWVsZC0+ZGVsZXRlX2ZpbGV9IHskZmllbGQtPmZpbGVuYW1lfTxiciAvPg0KICAgICAgICAgICAgICAgICAgICB7L2lmfQ0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgIHtlbHNlfQ0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGQtPnByb21wdH08L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgey9pZn0NCiAgICB7L2ZvcmVhY2h9DQogICAgey9pZn0NCiAgICA8L2ZpZWxkc2V0Pg0KICAgIHskaW5wdXRfc3VibWl0fQ0KICAgIHskZm9ybWVuZH0NCiAgICAgICANCjwvZGl2Pg0KDQp7aWYgaXNzZXQoJHJlc3VsdHMpfQ0KeyRyZXN1bHRzfQ0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtfQ0KPGgyPnskaXRlbS0+dGl0bGV9PC9oMj4NCjxwPnskaXRlbS0+aXRlbV9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+DQp7aWYgJGl0ZW0tPmNhdGVnb3J5X25hbWV9PHA+eyRpdGVtLT5jYXRlZ29yeV9uYW1lfTxwPnsvaWZ9DQp7aWYgIWVtcHR5KCRpdGVtLT5maWVsZHMpfQ0KICAgIDxkaXYgY2xhc3M9Iml0ZW0tcHJvcGVydGllcyI+DQogICAge2ZvcmVhY2ggZnJvbT0kaXRlbS0+ZmllbGRzIGl0ZW09ZmllbGRkZWZ9DQogICAgICAgIHtpZiAkZmllbGRkZWYudHlwZSA9PSAndXBsb2FkX2ZpbGUnIHx8ICRmaWVsZGRlZi50eXBlID09ICdzZWxlY3RfZmlsZSd9DQogICAgICAgICAgICB7JGZpZWxkZGVmLm5hbWV9OiA8YSBocmVmPSJ7JGl0ZW0tPmZpbGVfbG9jYXRpb259L3skZmllbGRkZWYudmFsdWV9Ij57JGZpZWxkZGVmLnZhbHVlfTwvYT48YnIgLz4NCiAgICAgICAge2Vsc2V9DQogICAgICAgICAgICB7JGZpZWxkZGVmLm5hbWV9OiB7JGZpZWxkZGVmLnZhbHVlfTxiciAvPg0KICAgICAgICB7L2lmfQ0KICAgIHsvZm9yZWFjaH0NCiAgICA8L2Rpdj4NCnsvaWZ9DQo8YSBocmVmPSJ7JGl0ZW0tPmxpbmt9Ij57JGl0ZW0tPmxpbmt9PC9hPg0Key9mb3JlYWNofQ0KDQp7aWYgaXNzZXQoJHBhZ2Vjb3VudCkgJiYgJHBhZ2Vjb3VudCBndCAxfQ0KPHA+DQogICAgICAgIHtpZiAkcHJldnVybH08YSBocmVmPSJ7JHByZXZ1cmx9IiBjbGFzcz0icHJldiI+wqs8L2E+Jm5ic3A7ey9pZn0NCiAgICAgICAgPGVtPnskcGFnZW51bWJlcn0gLyB7JHBhZ2Vjb3VudH08L2VtPg0KICAgICAgICB7aWYgJG5leHR1cmx9PGEgaHJlZj0ieyRuZXh0dXJsfSIgY2xhc3M9Im5leHQiPsK7PC9hPiZuYnNwO3svaWZ9DQogICAgPC9wPg0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/ModuleLib/templates/templatetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/e2lmICRpdGVtY291bnQgPiAwfQ0KPGgzPnskc3VtbWFyeXRlbXBsYXRlc308L2gzPg0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCiAgICA8dGhlYWQ+DQogICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0aD57JGhlYWRlcl9uYW1lfTwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgPC90cj4NCiAgICA8L3RoZWFkPg0KICAgIDx0Ym9keT4NCntmb3JlYWNoIGZyb209JGl0ZW1zLnN1bW1hcnkgaXRlbT1lbnRyeX0NCiAgICAgICAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5saW5rfTwvdGQ+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZWRpdH08L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnktPmRlbGV0ZX08L3RkPg0KICAgICAgICA8L3RyPg0Key9mb3JlYWNofQ0KICAgIDwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0NCg0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkc3VtbWFyeWxpbmt9PC9kaXY+DQoNCg0Ke2lmICRpdGVtY291bnQgPiAwfQ0KPGgzPnskZGV0YWlsdGVtcGxhdGVzfTwvaDM+DQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPg0KICAgIDx0aGVhZD4NCiAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRoPnskaGVhZGVyX25hbWV9PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgICA8L3RyPg0KICAgIDwvdGhlYWQ+DQogICAgPHRib2R5Pg0Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMuZGV0YWlsIGl0ZW09ZW50cnl9DQogICAgICAgIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+DQogICAgICAgICAgICA8dGQ+eyRlbnRyeS0+bGlua308L3RkPg0KICAgICAgICAgICAgPHRkPnskZW50cnktPmVkaXR9PC90ZD4NCiAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5kZWxldGV9PC90ZD4NCiAgICAgICAgPC90cj4NCnsvZm9yZWFjaH0NCiAgICA8L3Rib2R5Pg0KPC90YWJsZT4NCnsvaWZ9DQoNCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGRldGFpbGxpbmt9PC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/editmodule.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19IA0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8ZGl2IGNsYXNzPSJwYWdldGV4dCI+DQo8aDM+eyRtb2R1bGVuYW1lfTwvaDM+DQp7JG1vZC0+TGFuZygnYXR0YWNoJyl9OjwvZGl2Pg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KCXskYXR0YWNofQ0KICAgIDwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4NCjwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/generator.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiPg0KICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4NCiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2F0dGFjaCcpfTwvdGg+DQogICAgICAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdjcmVhdGVkYXRlJyl9PC90aD4NCiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ21vZGlmaWVkZGF0ZScpfTwvdGg+DQoNCiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPg0KICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+DQogICAgICAgICAgICA8L3RyPg0KICAgICAgICA8L3RoZWFkPg0KICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICB7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQ0KICAgICAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9DQogICAgICAgICAgICAgICAgeyo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPip9DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aWR9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkZW50cnktPm1vZHVsZWxpbmspICYmICRlbnRyeS0+bW9kdWxlbGlua317JGVudHJ5LT5tb2R1bGVsaW5rfXtlbHNlfTxzdHJvbmc+eyRlbnRyeS0+bW9kdWxlX25hbWV9PC9zdHJvbmc+ey9pZn0NCiAgICAgICAgICAgIDwvdGQ+DQoNCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmF0dGFjaG1vZHVsZXN9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmNyZWF0ZV9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+bW9kaWZpZWRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5yZWdlbmVyYXRlbGlua308L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+e2lmIGlzc2V0KCRlbnRyeS0+bW9kdWxlbGluaykgJiYgJGVudHJ5LT5tb2R1bGVsaW5rfXtlbHNlfXskZW50cnktPmRlbGV0ZWxpbmt9ey9pZn08L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGVudHJ5LT5pbnN0YWxsbGluayl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyRlbnRyeS0+aW5zdGFsbGxpbmt9DQogICAgICAgICAgICAgICAgICAgICAgICB7ZWxzZWlmIGlzc2V0KCRlbnRyeS0+dW5pbnN0YWxsbGluayl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyRlbnRyeS0+dW5pbnN0YWxsbGlua30NCiAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9DQogICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIHsvZm9yZWFjaH0NCiAgICAgICAgPC90Ym9keT4NCiAgICA8L3RhYmxlPg0Key9pZn0gDQo=]]></data>
	</file>
	<file>
	  <filename>/templates/generator_new.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQoNCnskc3RhcnRmb3JtfSANCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPGgzIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NyZWF0ZV9tb2R1bGUnKX08L2gzPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ25hbWUnKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KCXskbmFtZX0NCiAgICA8L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXR0YWNoJyl9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCgl7JGF0dGFjaH0NCiAgICA8L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+DQo8L2Rpdj4NCg0KeyRlbmRmb3JtfQ0K]]></data>
	</file>
</module>
