<?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>groupdocs_signature</name>
	<version>1.0</version>
  <mincmsversion>1.11.7</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkNvbGxlY3Qgc2lnbmF0dXJlcyBvbmxpbmUgYnkgZW1iZWRkaW5nIGRvY3VtZW50cyBhcyBkaWdpdGFsIGZvcm1zLiBPbmNlIGEgZm9ybSBpcyBlbWJlZGRlZCwgc2lnbmVycyBhcHBseSBhbiBlbGVjdHJvbmljIHNpZ25hdHVyZSwgZGlyZWN0bHkgb25saW5lLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPkFkZCBuZXcgZG9jdW1lbnQgLiBGaWxsIGFsbCBmaWVsZHMuIFlvdSBjb3VsZCBmaW5kIEZvcm0gZW1iZWQgd2hlbiBzaWduYXR1cmUgZG9jdW1lbnQgZnJvbSB5b3VyIEdyb3VwRG9jcyBhY2NvdW50LjwvcD4KPGgzPldoYXQgUGFyYW1ldGVycyBEb2VzIEl0IFRha2U8L2gzPgo8cD5XaWR0aCBhbmQgSGVpZ2h0IGFyZSBmb3Igc2l6ZSBvZiBpZnJhbWUgb24gcGFnZS48L3A+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBHcm91cERvY3MgVGVhbSAmbHQ7c3VwcG9ydEBncm91cGRvY3MuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMS4wIC0gNCBEZWNlbWJlciAyMDEyLiBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[Admin Description]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgZ3JvdXBkb2NzX3NpZ25hdHVyZSAiZGVmYXVsdCIgYWN0aW9uCgogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAKICAgVHlwaWNhbGx5LCB0aGlzIHdpbGwgZGlzcGxheSBzb21ldGhpbmcgZnJvbSBhIHRlbXBsYXRlCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4KICAgCiovCiR0aGlzLT5zbWFydHktPmFzc2lnbigncGFyYW1zJywkcGFyYW1zKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZGlzcGxheS50cGwnKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07Cgokd2hlcmVjbGF1c2UgPSBhcnJheSgpOwoJCQkJCQkKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRuZXciLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0QSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygiYWRkX2RvYyIpKSk7CgkJCiRpdGVtbGlzdCA9ICR0aGlzLT5nZXRfZG9jc19saXN0KGlzc2V0KCR3aGVyZWNsYXVzZSk/JHdoZXJlY2xhdXNlOmFycmF5KCksdHJ1ZSwgJGlkLCAkcmV0dXJuaWQsIGZhbHNlKTsKCQkJCiR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3QpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.editA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkNCgl7DQoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7DQoJfQ0KDQokYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCg0KaWYoaXNzZXQoJHBhcmFtc1siY2FuY2VsIl0pKXsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCgkNCgkNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KDQoJJGl0ZW0tPndpZHRoID0gJHBhcmFtc1sid2lkdGgiXTsNCgkkaXRlbS0+aGVpZ2h0ID0gJHBhcmFtc1siaGVpZ2h0Il07DQoJJGl0ZW0tPmd1aWQgPSAkcGFyYW1zWyJndWlkIl07DQoJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJuYW1lIl07DQoJDQoJDQoJLy8gRklFTERTIFRPIFVQREFURQ0KCSRxdWVyeSA9IChpc3NldCgkaXRlbS0+aWQpPyJVUERBVEUgIjoiSU5TRVJUIElOVE8gIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ3JvdXBkb2NzX3NpZ25hdHVyZV9kb2NzIFNFVA0KCQkJd2lkdGg9PywNCgkJCWhlaWdodD0/LA0KCQkJZ3VpZD0/LA0KCQkJbmFtZT0/IjsNCgkJCQ0KCS8vIFZBTFVFUw0KCSR2YWx1ZXMgPSBhcnJheShhZGRzbGFzaGVzKCRpdGVtLT53aWR0aCksDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT5oZWlnaHQpLA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+Z3VpZCksDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT5uYW1lKSwNCgkJCSk7DQoNCgkJaWYoaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCQkkcXVlcnkgLj0gIiBXSEVSRSBpZD0/OyI7DQoJCQlhcnJheV9wdXNoKCR2YWx1ZXMsJGl0ZW0tPmlkKTsNCgkJfSBlbHNlIHsNCgkJCS8vIE5FVyBJVEVNDQoJCQkNCgkJCS8vIGdldCBhIG5ldyBpZCBmcm9tIHRoZSBzZXF1ZW5jZSB0YWJsZQ0KCQkJJGl0ZW0tPmlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfc2lnbmF0dXJlX2RvY3Nfc2VxIik7DQoJCQ0KCQkJJHF1ZXJ5IC49ICIsIGlkPSIuJGl0ZW0tPmlkOw0KDQoJCX0NCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7CQ0KCQkNCgkJJHJlZGlyZWN0ID0gdHJ1ZTsNCgkJLy9pZihteXNxbF9hZmZlY3RlZF9yb3dzKCkpewkvLyBteXNxbC1vbmx5DQoJCWlmKCRkYi0+QWZmZWN0ZWRfUm93cygpKXsNCgkJCQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsNCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkcGFyYW1zKTsJDQoJCQl9CQ0KCQ0KCS8vIEVORCBPRiBGT1JNIFNVQk1JU1NJT04NCn0NCg0KDQoNCi8qICMjIFBSRVBBUklORyBTTUFSVFkgRUxFTUVOVFMNCkNyZWF0ZUlucHV0VGV4dCA6IChpZCxuYW1lLHZhbHVlLHNpemUsbWF4bGVuZ3RoKQ0KQ3JlYXRlVGV4dEFyZWEgOiAod3lzaXd5ZyxpZCx0ZXh0LG5hbWUpDQpDcmVhdGVJbnB1dFNlbGVjdExpc3QgOiAoaWQsbmFtZSxpdGVtcyxzZWxlY3RlZGl0ZW1zLHNpemUpDQpDcmVhdGVJbnB1dERyb3Bkb3duIDogKGlkLG5hbWUsaXRlbXMsc2luZGV4LHN2YWx1ZSkNCiovDQoNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ3aWR0aF9sYWJlbCIsICR0aGlzLT5MYW5nKCJncm91cGRvY3Nfd2lkdGgiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIndpZHRoX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsIndpZHRoIixpc3NldCgkaXRlbSk/JGl0ZW0tPndpZHRoOiIiLDMwLDEwKSk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiaGVpZ2h0X2xhYmVsIiwgJHRoaXMtPkxhbmcoImdyb3VwZG9jc19oZWlnaHQiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImhlaWdodF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJoZWlnaHQiLGlzc2V0KCRpdGVtKT8kaXRlbS0+aGVpZ2h0OiIiLDMwLDEwKSk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZ3VpZF9sYWJlbCIsICR0aGlzLT5MYW5nKCJncm91cGRvY3NfZ3VpZCIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZ3VpZF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJndWlkIixpc3NldCgkaXRlbSk/JGl0ZW0tPmd1aWQ6IiIsNzUsMjAwMCkpOw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygiZ3JvdXBkb2NzX25hbWUiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwibmFtZSIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5ndWlkOiIiLDc1LDIwMDApKTsNCg0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhcHBseSIsIChpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSk/JHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSk6IiIpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJjYW5jZWwiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpKTsNCg0KDQovLyBESVNQTEFZSU5HDQppZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0QSIsICRyZXR1cm5pZCk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiZWRpdEEudHBsIik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIkFpZCIsICRpdGVtLT5pZCk7DQoJCWlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+cGFyZW50KSkgZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIkFpdGVtX29yZGVyIiwgJGl0ZW0tPml0ZW1fb3JkZXIpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJDQoNCn1lbHNlew0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0QSIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0QS50cGwiKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQp9DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/groupdocs_signature.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IGdyb3VwZG9jc19hc3NlbWJseSAtIEdyb3VwRG9jcyBXb3JkLCBFeGNlbCwgUG93ZXJwb2ludCwgUERGIFZpZXdlciBFbWJlZGRlciBsZXRzIHlvdSBlbWJlZCBzZXZlcmFsIHR5cGVzIG9mIGZpbGVzIGludG8geW91ciBwYWdlLgojIFZlcnNpb246IDEuMCwgR3JvdXBEb2NzIFRlYW0KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMiBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojIFRoaXMgZmlsZSBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgTW9kdWxlTWFrZXIgbW9kdWxlLCB2ZXJzaW9uIDAuMy4yCiMgQ29weXJpZ2h0IChjKSAyMDEyIGJ5IFNhbXVlbCBHb2xkc3RlaW4gKHNqZ0BjbXNtYWRlc2ltcGxlLm9yZykgCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBGb3IgSGVscCBidWlsZGluZyBtb2R1bGVzOgojIC0gUmVhZCB0aGUgRG9jdW1lbnRhdGlvbiBhcyBpdCBiZWNvbWVzIGF2YWlsYWJsZSBhdAojICAgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy8KIyAtIENoZWNrIG91dCB0aGUgU2tlbGV0b24gTW9kdWxlIGZvciBhIGNvbW1lbnRlZCBleGFtcGxlCiMgLSBMb29rIGF0IG90aGVyIG1vZHVsZXMsIGFuZCBsZWFybiBmcm9tIHRoZSBzb3VyY2UKIyAtIENoZWNrIG91dCB0aGUgZm9ydW1zIGF0IGh0dHA6Ly9mb3J1bXMuY21zbWFkZXNpbXBsZS5vcmcKIyAtIENoYXQgd2l0aCBkZXZlbG9wZXJzIG9uIHRoZSAjY21zIElSQyBjaGFubmVsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmNsYXNzIGdyb3VwZG9jc19zaWduYXR1cmUgZXh0ZW5kcyBDTVNNb2R1bGUKewoKCWZ1bmN0aW9uIEdldE5hbWUoKQoJewoJCXJldHVybiAnZ3JvdXBkb2NzX3NpZ25hdHVyZSc7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEZyaWVuZGx5TmFtZSgpCgkgICBUaGlzIGNhbiByZXR1cm4gYW55IHN0cmluZywgcHJlZmVyYWJseSBhIGxvY2FsaXplZCBuYW1lCgkgICBvZiB0aGUgbW9kdWxlLiBUaGlzIGlzIHRoZSBuYW1lIHRoYXQncyBzaG93biBpbiB0aGUKCSAgIEFkbWluIE1lbnVzIGFuZCBzZWN0aW9uIHBhZ2VzIChpZiB0aGUgbW9kdWxlIGhhcyBhbiBhZG1pbgoJICAgY29tcG9uZW50KS4KCSAgIAoJICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKCX0KCgkKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRWZXJzaW9uKCkKCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbnVtYmVyIG9yCgkgICBzb21ldGhpbmcgdGhhdCBtYWtlcyBzZW5zZSBmb3IgZGVzaWduYXRpbmcgYSB2ZXJzaW9uLgoJICAgVGhlIENNUyB3aWxsIHVzZSB0aGlzIHRvIGlkZW50aWZ5IHdoZXRoZXIgb3Igbm90CgkgICB0aGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgdGhlIG1vZHVsZSBpcyBjdXJyZW50LCBhbmQKCSAgIHRoZSBtb2R1bGUgd2lsbCB1c2UgaXQgdG8gZmlndXJlIG91dCBob3cgdG8gdXBncmFkZQoJICAgaXRzZWxmIGlmIHJlcXVlc3RlZC4JICAgCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRWZXJzaW9uKCkKCXsKCQlyZXR1cm4gJzEuMCc7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEhlbHAoKQoJICAgVGhpcyByZXR1cm5zIEhUTUwgaW5mb3JtYXRpb24gb24gdGhlIG1vZHVsZS4KCSAgIFR5cGljYWxseSwgeW91J2xsIHdhbnQgdG8gaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8KCSAgIHVzZSB0aGUgbW9kdWxlLgoJICAgCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0SGVscCgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEF1dGhvcigpCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQoJICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAiQWJvdXQiIGxpbmsuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRBdXRob3IoKQoJewoJCXJldHVybiAnR3JvdXBEb2NzIFRlYW0nOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRBdXRob3JFbWFpbCgpCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQoJICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAiQWJvdXQiIGxpbmsuIEl0IGhlbHBzIHVzZXJzCgkgICBvZiB5b3VyIG1vZHVsZSBnZXQgaW4gdG91Y2ggd2l0aCB5b3UgdG8gc2VuZCBidWcgcmVwb3J0cywKCSAgIHF1ZXN0aW9ucywgY2FzZXMgb2YgYmVlciwgYW5kL29yIGxhcmdlIHN1bXMgb2YgbW9uZXkuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCgl7CgkJcmV0dXJuICdzdXBwb3J0QGdyb3VwZG9jcy5jb20nOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRDaGFuZ2VMb2coKQoJICAgVGhpcyByZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcHJlc2VudGVkIGluIHRoZSBtb2R1bGUKCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgQWJvdXQgbGluay4gSXQgaGVscHMgdXNlcnMKCSAgIGZpZ3VyZSBvdXQgd2hhdCdzIGNoYW5nZWQgYmV0d2VlbiByZWxlYXNlcy4KCSAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIElzUGx1Z2luTW9kdWxlKCkKCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlLCBkZXBlbmRpbmcgdXBvbgoJICAgd2hldGhlciB1c2VycyBjYW4gaW5jbHVkZSB0aGUgbW9kdWxlIGluIGEgcGFnZSBvcgoJICAgdGVtcGxhdGUgdXNpbmcgYSBzbWFydHkgdGFnIG9mIHRoZSBmb3JtCgkgICB7Y21zX21vZHVsZSBtb2R1bGU9J2dyb3VwZG9jc19hc3NlbWJseScgcGFyYW0xPXZhbCBwYXJhbTI9dmFsLi4ufQoJICAgCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3IKCSAgIHRlbXBsYXRlcywgcmV0dXJuICJmYWxzZSIgaGVyZS4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgSGFzQWRtaW4oKQoJICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSwgZGVwZW5kaW5nIG9uCgkgICB3aGV0aGVyIHlvdXIgbW9kdWxlIGFkZHMgYW55dGhpbmcgdG8gdGhlIEFkbWluIGFyZWEgb2YKCSAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEknbGwgYmUgY2FsbGluZwoJICAgdGhlIGFkbWluIHBhcnQgb2YgeW91ciBtb2R1bGUgdGhlICJBZG1pbiBQYW5lbCIgZm9yCgkgICB3YW50IG9mIGEgYmV0dGVyIHRlcm0uCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBIYXNBZG1pbigpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRBZG1pblNlY3Rpb24oKQoJICAgSWYgeW91ciBtb2R1bGUgaGFzIGFuIEFkbWluIFBhbmVsLCB5b3UgY2FuIHNwZWNpZnkKCSAgIHdoaWNoIEFkbWluIFNlY3Rpb24gKG9yIHRvcC1sZXZlbCBBZG1pbiBNZW51KSBpdCBzaG93cwoJICAgdXAgaW4uIFRoaXMgbWV0aG9kIHJldHVybnMgYSBzdHJpbmcgdG8gc3BlY2lmeSB0aGF0CgkgICBzZWN0aW9uLiBWYWxpZCByZXR1cm4gdmFsdWVzIGFyZToKCgkgICBtYWluICAgICAgICAtIHRoZSBNYWluIG1lbnUgdGFiLgoJICAgY29udGVudCAgICAgLSB0aGUgQ29udGVudCBtZW51CgkgICBsYXlvdXQgICAgICAtIHRoZSBMYXlvdXQgbWVudQoJICAgdXNlcnNncm91cHMgLSB0aGUgVXNlcnMgYW5kIEdyb3VwcyBtZW51CgkgICBleHRlbnNpb25zICAtIHRoZSBFeHRlbnNpb25zIG1lbnUgKHRoaXMgaXMgdGhlIGRlZmF1bHQpCgkgICBzaXRlYWRtaW4gICAtIHRoZSBTaXRlIEFkbWluIG1lbnUKCSAgIHZpZXdzaXRlICAgIC0gdGhlIFZpZXcgU2l0ZSBtZW51IHRhYgoJICAgbG9nb3V0ICAgICAgLSB0aGUgTG9nb3V0IG1lbnUgdGFiCgkgICAKCSAgIE5vdGUgdGhhdCBpZiB5b3UgcGxhY2UgeW91ciBtb2R1bGUgaW4gdGhlIG1haW4sCgkgICB2aWV3c2l0ZSwgb3IgbG9nb3V0IHNlY3Rpb25zLCBpdCB3aWxsIHNob3cgdXAgaW4gdGhlCgkgICBtZW51cywgYnV0IHdpbGwgbm90IGJlIHZpc2libGUgaW4gYW55IHRvcC1sZXZlbAoJICAgc2VjdGlvbiBwYWdlcy4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCgl7CgkJcmV0dXJuICdjb250ZW50JzsKCX0KCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEFkbWluRGVzY3JpcHRpb24oKQoJICAgSWYgeW91ciBtb2R1bGUgZG9lcyBoYXZlIGFuIEFkbWluIFBhbmVsLCB5b3UKCSAgIGNhbiBoYXZlIGl0IHJldHVybiBhIGRlc2NyaXB0aW9uIHN0cmluZyB0aGF0IGdldHMgc2hvd24KCSAgIGluIHRoZSBBZG1pbiBTZWN0aW9uIHBhZ2UgdGhhdCBjb250YWlucyB0aGUgbW9kdWxlLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7Cgl9CgoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBWaXNpYmxlVG9BZG1pblVzZXIoKQoJICAgSWYgeW91ciBtb2R1bGUgZG9lcyBoYXZlIGFuIEFkbWluIFBhbmVsLCB5b3UKCSAgIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IGl0J3MgZGlzcGxheWVkIGJ5IHRoZSBib29sZWFuCgkgICB0aGF0IGlzIHJldHVybmVkIGJ5IHRoaXMgbWV0aG9kLiBUaGlzIGlzIHByaW1hcmlseSB1c2VkCgkgICB0byBoaWRlIG1vZHVsZXMgZnJvbSBhZG1pbnMgd2hvIGxhY2sgcGVybWlzc2lvbiB0byB1c2UKCSAgIHRoZW0uCgkgICAKCSAgIFR5cGljYWxseSwgeW91J2xsIHVzZSBzb21lIHBlcm1pc3Npb24gdG8gc2V0IHRoaXMKCSAgIChlLmcuLCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTb21lIFBlcm1pc3Npb24nKTsgKQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKCXsKICAgICAgICByZXR1cm4gdHJ1ZTsKCX0KCQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBDaGVja0FjY2VzcygpCgkgICBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gd2lsbCBjaGVjayBhZ2FpbnN0IHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbiwKCSAgIGFuZCBkaXNwbGF5IGFuIGVycm9yIHBhZ2UgaWYgdGhlIHVzZXIgZG9lc24ndCBoYXZlIGFkZXF1YXRlIHBlcm1pc3Npb25zLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gQ2hlY2tBY2Nlc3MoJHBlcm0gPSAnTW9kaWZ5R3JvdXBEb2NzU2lnbmF0dXJlJykKCQl7CgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHBlcm0pOwoJCX0KCQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIERpc3BsYXlFcnJvclBhZ2UoKQoJICAgVGhpcyBpcyBhIHNpbXBsZSBmdW5jdGlvbiBmb3IgZ2VuZXJhdGluZyBlcnJvciBwYWdlcy4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgIGZ1bmN0aW9uIERpc3BsYXlFcnJvclBhZ2UoJGlkLCAmJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2U9JycpCiAgICB7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9lcnJvcicsICR0aGlzLT5MYW5nKCdlcnJvcicpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwoKICAgICAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKICAgICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwogICAgfQoJCgoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXREZXBlbmRlbmNpZXMoKQoJICAgWW91ciBtb2R1bGUgbWF5IG5lZWQgYW5vdGhlciBtb2R1bGUgdG8gYWxyZWFkeSBiZSBpbnN0YWxsZWQKCSAgIGJlZm9yZSB5b3UgY2FuIGluc3RhbGwgaXQuCgkgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbGlzdCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYW5kCgkgICBtaW5pbXVtIHZlcnNpb24gbnVtYmVycyB0aGF0IHRoaXMgbW9kdWxlIHJlcXVpcmVzLgoJICAgCgkgICBJdCBzaG91bGQgcmV0dXJuIGFuIGhhc2gsIGVnLgoJICAgcmV0dXJuIGFycmF5KCdzb21lbW9kdWxlJz0+JzEuMCcsICdvdGhlcm1vZHVsZSc9PicxLjEnKTsKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCgl7CgkJcmV0dXJuIGFycmF5KCk7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCgkgICBBZnRlciBpbnN0YWxsYXRpb24sIHRoZXJlIG1heSBiZSB0aGluZ3MgeW91IHdhbnQgdG8KCSAgIGNvbW11bmljYXRlIHRvIHlvdXIgYWRtaW4uIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhCgkgICBzdHJpbmcgd2hpY2ggd2lsbCBiZSBkaXNwbGF5ZWQuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJICAgQWZ0ZXIgcmVtb3ZpbmcgYSBtb2R1bGUsIHRoZXJlIG1heSBiZSB0aGluZ3MgeW91IHdhbnQgdG8KCSAgIGNvbW11bmljYXRlIHRvIHlvdXIgYWRtaW4uIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhCgkgICBzdHJpbmcgd2hpY2ggd2lsbCBiZSBkaXNwbGF5ZWQuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7Cgl9CgoKCgoJLyoqCgkgKiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKCSAqIFRoaXMgYWxsb3dzIHlvdSB0byBkaXNwbGF5IGEgbWVzc2FnZSBhbG9uZyB3aXRoIGEgWWVzL05vIGRpYWxvZyBib3guIElmIHRoZSB1c2VyIHJlc3BvbmRzCgkgKiBpbiB0aGUgYWZmaXJtYXRpdmUgdG8geW91ciBtZXNzYWdlLCB0aGUgdW5pbnN0YWxsIHdpbGwgcHJvY2VlZC4gSWYgdGhleSByZXNwb25kIGluIHRoZQoJICogbmVnYXRpdmUsIHRoZSB1bmluc3RhbGwgd2lsbCBiZSBjYW5jZWxlZC4gVGh1cywgeW91ciBtZXNzYWdlIHNob3VsZCBiZSBvZiB0aGUgZm9ybQoJICogIkFsbCBtb2R1bGUgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBtb2R1bGU/IgoJICoKCSAqIElmIHlvdSBkb24ndCB3YW50IHRoZSBkaWFsb2csIGhhdmUgdGhpcyBtZXRob2QgcmV0dXJuIGEgRkFMU0UsIHdoaWNoIHdpbGwgY2F1c2UgdGhlCgkgKiBtb2R1bGUgdG8gdW5pbnN0YWxsIGltbWVkaWF0ZWx5IGlmIHRoZSB1c2VyIGNsaWNrcyB0aGUgInVuaW5zdGFsbCIgbGluay4KCSAqLwoJZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7Cgl9CgkKCWZ1bmN0aW9uIGNvdW50c29tZXRoaW5nKCR0YWJsZW5hbWUsJHdoYXQ9ImlkIiwkd2hlcmU9YXJyYXkoKSwkd2hlcmVzdHJpbmc9ZmFsc2UsJHdoZXJldmFsdWVzPWFycmF5KCksJHBhcmVudD1mYWxzZSl7CgkJLy8gcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgdGFibGUgY29ycmVzcG9uZGluZyB0byBjcml0ZXJpYXMKCQlpZighJHBhcmVudCAmJiBpc3NldCgkd2hlcmVbInBhcmVudCJdKSkJdW5zZXQoJHdoZXJlWyJwYXJlbnQiXSk7CgkJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCWlmKCR3aGVyZXN0cmluZyl7CgkJCSR3aGVyZXN0cmluZyA9ICIgV0hFUkUgIi4kd2hlcmVzdHJpbmc7CgkJfWVsc2V7CgkJCSR3aGVyZXN0cmluZyA9ICIiOwoJCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOwoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpewoJCQkJaWYoJGtleSA9PSAicGFyZW50Iil7CgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiBXSEVSRSAiOiIgQU5EICIpLiJBLnBhcmVudD1CLmlkIEFORCBCLmFsaWFzPT8iOwoJCQkJfWVsc2V7CgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiBXSEVSRSAiOiIgQU5EICIpLiJBLiIuJGtleS4iPT8iOwoJCQkJfQoJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7CgkJCX0KCQl9CgkJJHF1ZXJ5ID0gIlNFTEVDVCBDT1VOVChBLiR3aGF0KSBvdXJjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfIi4kdGhpcy0+R2V0TmFtZSgpLiJfIi4kdGFibGVuYW1lLiIgQSI7CgkJaWYoJHBhcmVudCAmJiBpc3NldCgkd2hhdFsicGFyZW50Il0pKQkkcXVlcnkgLj0gIiwgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV8iLiR0aGlzLT5HZXROYW1lKCkuIl8iLiRwYXJlbnQuIiBCIjsKCQkkcXVlcnkgLj0gJHdoZXJlc3RyaW5nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsKCQlpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpewoJCQlyZXR1cm4gJHJvd1sib3VyY291bnQiXTsKCQl9ZWxzZXsKCQkJcmV0dXJuIDA7CgkJfQoJfQoKCWZ1bmN0aW9uIGdldF9kb2NzX2xpc3QoJHdoZXJlPWFycmF5KCksJGFkbWluPWZhbHNlLCRpZD0iIiwkcmV0dXJuaWQ9IiIsJG9yZGVyPWZhbHNlLCRsaW1pdD0wLCRjdXN0b213aGVyZT1mYWxzZSwkY3VzdG9tdmFsdWVzPWFycmF5KCksJGN1c3RvbW9yZGVyPWZhbHNlKXsKCQlnbG9iYWwgJGdDbXM7CgkJJGxvYWRfbmJjaGlsZHJlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsb2FkX25iY2hpbGRyZW4iLHRydWUpOwoJCWlmKCRhZG1pbikJJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07CgkJaWYoISRvcmRlcikJJG9yZGVyID0gIiI7CgkJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCSRmaWVsZHMgPSBhcnJheSgid2lkdGgiLCJoZWlnaHQiLCJndWlkIiwibmFtZSIpOwoJCQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ3JvdXBkb2NzX3NpZ25hdHVyZV9kb2NzIEE7IjsKCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQkKCQkkaXRlbWxpc3QgPSBhcnJheSgpOwoJCSRpZGxpc3QgPSAiIjsKCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpewoJCQkkaXRlbSA9IG5ldyBzdGRDbGFzcygpOwoJCQkkaXRlbS0+X193aGF0ID0gImRvY3MiOwoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsKCQkJCSRpdGVtLT4ka2V5ID0gJHZhbHVlOwoJCQl9CgkJCSRpdGVtLT53aWR0aCA9IHN0cmlwc2xhc2hlcygkaXRlbS0+d2lkdGgpOwoJCQkkaXRlbS0+aGVpZ2h0ID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5oZWlnaHQpOwoJCQkkaXRlbS0+Z3VpZCA9IHN0cmlwc2xhc2hlcygkaXRlbS0+Z3VpZCk7CgkJCSRpdGVtLT5uYW1lID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5uYW1lKTsKCQkJJGl0ZW0tPmluc2VydFRhZyA9ICd7Y21zX21vZHVsZSBtb2R1bGU9Imdyb3VwZG9jc19zaWduYXR1cmUiIHdpZHRoPSInIC4gJGl0ZW0tPndpZHRoIC4gJyIgaGVpZ2h0PSInIC4gJGl0ZW0tPmhlaWdodCAuICciIGd1aWQ9IicgLiAkaXRlbS0+Z3VpZCAuICcifSc7CgoJCQlhcnJheV9wdXNoKCRpdGVtbGlzdCwkaXRlbSk7CgkJfQoKCQlyZXR1cm4gJGl0ZW1saXN0OwoJfQoJCgkKCQp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dyb3VwRG9jcyBTaWduYXR1cmUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdQb3N0IEluc3RhbGwgTWVzc2FnZS4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1Bvc3QgVW5pbnN0YWxsIE1lc3NhZ2UsIGUuZy4sICJDdXJzZXMhIEZvaWxlZCBBZ2FpbiEiJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IEFyZSB5b3Ugc3VyZQp5b3Ugd2FudCB0byB1bnNpbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQ29sbGVjdCBzaWduYXR1cmVzIG9ubGluZSBieSBlbWJlZGRpbmcgZG9jdW1lbnRzIGFzIGRpZ2l0YWwgZm9ybXMuIE9uY2UgYSBmb3JtIGlzIGVtYmVkZGVkLCBzaWduZXJzIGFwcGx5IGFuIGVsZWN0cm9uaWMgc2lnbmF0dXJlLCBkaXJlY3RseSBvbmxpbmUuJzsKCiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5kWydhZG1pbl90aXRsZSddID0gJ0dyb3VwRG9jcyBTaWduYXR1cmUgQWRtaW4gUGFuZWwnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ0FkbWluIERlc2NyaXB0aW9uJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Bvc3QgSW5zdGFsbCBNZXNzYWdlLCAoZS5nLiwgQmUgc3VyZSB0byBzZXQgIk1vZGlmeUdyb3VwRG9jc1NpZ25hdHVyZSIgcGVybWlzc2lvbnMgdG8gdXNlIHRoaXMgbW9kdWxlISknOwoKCiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDEuMCAtIDQgRGVjZW1iZXIgMjAxMi4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+Q29sbGVjdCBzaWduYXR1cmVzIG9ubGluZSBieSBlbWJlZGRpbmcgZG9jdW1lbnRzIGFzIGRpZ2l0YWwgZm9ybXMuIE9uY2UgYSBmb3JtIGlzIGVtYmVkZGVkLCBzaWduZXJzIGFwcGx5IGFuIGVsZWN0cm9uaWMgc2lnbmF0dXJlLCBkaXJlY3RseSBvbmxpbmUuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+QWRkIG5ldyBkb2N1bWVudCAuIEZpbGwgYWxsIGZpZWxkcy4gWW91IGNvdWxkIGZpbmQgRm9ybSBlbWJlZCB3aGVuIHNpZ25hdHVyZSBkb2N1bWVudCBmcm9tIHlvdXIgR3JvdXBEb2NzIGFjY291bnQuPC9wPgo8aDM+V2hhdCBQYXJhbWV0ZXJzIERvZXMgSXQgVGFrZTwvaDM+CjxwPldpZHRoIGFuZCBIZWlnaHQgYXJlIGZvciBzaXplIG9mIGlmcmFtZSBvbiBwYWdlLjwvcD4nOwoKJGxhbmdbJ2FkZF9kb2MnXSA9ICdBZGQgRG9jdW1lbnQnOwoKJGxhbmdbJ2dyb3VwZG9jc193aWR0aCddID0gJ1dpZHRoJzsKJGxhbmdbJ2dyb3VwZG9jc19oZWlnaHQnXSA9ICdIZWlnaHQnOwokbGFuZ1snZ3JvdXBkb2NzX2d1aWQnXSA9ICdFbWJlZCBmb3JtJzsKJGxhbmdbJ2dyb3VwZG9jc19uYW1lJ10gPSAnTmFtZSc7CgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEluc3RhbGwoKQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uCgkgICBhbmQgcHJlcG9wdWxhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsIGRhdGFiYXNlIHNlcXVlbmNlcywKCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLgoJICAgCSAgIAoJICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0CgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQoJICAgCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLgoJICAgU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBJbml0aWFsaXphdGlvbgoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKCQkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkKICAgICAgICAvLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KICAgICAgICAkZmxkcyA9ICIKCQkJaWQgSSBLRVksCgkJCWRlc2NyaXB0aW9uIEMoODApCgkJCSI7CgoJCS8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ3JvdXBkb2NzX3NpZ25hdHVyZSIsCgkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJCS8vIGNyZWF0ZSBhIHNlcXVlbmNlCgkJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfc2lnbmF0dXJlX3NlcSIpOwoJCSovCgkJCgkJLy8gcGVybWlzc2lvbnMKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTW9kaWZ5IEdyb3VwRG9jc1NpZ25hdHVyZScsJ01vZGlmeSBHcm91cERvY3NTaWduYXR1cmUnKTsKCgkJCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBJbml0aWFsaXphdGlvbgokZGIgPSYgJHRoaXMtPkdldERiKCk7CgokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJCi8vIG15c3FsLXNwZWNpZmljLCBidXQgaWdub3JlZCBieSBvdGhlciBkYXRhYmFzZQokdGFib3B0YXJyYXkgPSBhcnJheSgibXlzcWwiID0+ICJUWVBFPU15SVNBTSIpOwoJCQoKLy8gQ3JlYXRlcyB0aGUgcGxheWVyIHRhYmxlCiRmbGRzID0gIgoJZ3VpZCBDKDY0KSwKCXdpZHRoIEMoMTApLAoJaGVpZ2h0IEMoMTApLAoJaWQgSSBLRVksCgluYW1lIEMoNjQpCgkiOwoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dyb3VwZG9jc19zaWduYXR1cmVfZG9jcyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ3JvdXBkb2NzX3NpZ25hdHVyZV9kb2NzX3NlcSIpOwoJCQoJCQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbCgpCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudAoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQKCSAgIHdvdWxkIGJlIGJlc3QgdG8gbGF5IGludG8gdGhlc2UgaWRpb3RzIHdpdGggYSBjbHVlc3RpY2ssCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUKCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMKCSAgIHRoYXQgYXJlIHNwZWNpZmljIHRvIGl0LgoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBSZW1vdmFsCgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQoJCS8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfc2lnbmF0dXJlIiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJLy8gcmVtb3ZlIHRoZSBzZXF1ZW5jZQoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfc2lnbmF0dXJlX3NlcSIgKTsKCQkqLwoJCQoJCS8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5R3JvdXBEb2NzU2lnbmF0dXJlJyk7CgoJCQoJCS8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwoJCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCgoKCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ3JvdXBkb2NzX3NpZ25hdHVyZV9kb2NzIik7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfc2lnbmF0dXJlX2RvY3Nfc2VxIik7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVwZ3JhZGUoKQoJICAgSWYgeW91ciBtb2R1bGUgdmVyc2lvbiBudW1iZXIgZG9lcyBub3QgbWF0Y2ggdGhlIHZlcnNpb24KCSAgIG51bWJlciBvZiB0aGUgaW5zdGFsbGVkIG1vZHVsZSwgdGhlIENNUyBBZG1pbiB3aWxsIGdpdmUKCSAgIHlvdSBhIGNoYW5jZSB0byB1cGdyYWRlIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIGZ1bmN0aW9uCgkgICB0aGF0IGFjdHVhbGx5IGhhbmRsZXMgdGhlIHVwZ3JhZGUuCgkgICBJZGVhbGx5LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBoYW5kbGUgdXBncmFkZXMgaW5jcmVtZW50YWxseSwKCSAgIHNvIHlvdSBjb3VsZCB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjAuMSB0byAxMC41Ljcgd2l0aAoJICAgYSBzaW5nbGUgY2FsbC4gRm9yIGEgZ3JlYXQgZXhhbXBsZSBvZiB0aGlzLCBzZWUgdGhlIE5ld3MKCSAgIG1vZHVsZSBpbiB0aGUgc3RhbmRhcmQgQ01TIGluc3RhbGwuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwoJCXN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQoJCXsKCQkJY2FzZSAiMS4wIjoKCQkJICAgICBicmVhazsKCQkJY2FzZSAiMS4xIjoKCQkJICAgICBicmVhazsKCQl9CgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRhZGRuZXd9PC9wPgp7aWYgY291bnQoJGl0ZW1saXN0KSA+IDB9CjxkaXYgc3R5bGU9ImNsZWFyOiByaWdodDsiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgo8dGhlYWQ+PHRyPgoJPHRoPklEPC90aD4KCTx0aD5OYW1lPC90aD4KCTx0aD5FbWJlZCBGb3JtPC90aD4KCTx0aD5TaG9ydGNvZGU8L3RoPgo8L3RyPjwvdGhlYWQ+Cjx0Ym9keT4KCntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzIHJlc2V0PXRydWV9Cgl7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPW9uZWl0ZW19CntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzfQoJPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CgkJPHRkPnskb25laXRlbS0+aWR9PC90ZD4KCQk8dGQ+eyRvbmVpdGVtLT5uYW1lfTwvdGQ+CgkJPHRkPnskb25laXRlbS0+Z3VpZH08L3RkPgoJCTx0ZD57JG9uZWl0ZW0tPmluc2VydFRhZ308L3RkPgoJPC90cj4KCXsvZm9yZWFjaH0KCgoKPC90Ym9keT4KPC90YWJsZT4KPC9kaXY+CjxwPnskYWRkbmV3fTwvcD4Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/display.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGlmcmFtZSBzcmM9Imh0dHBzOi8vYXBwcy5ncm91cGRvY3MuY29tL3NpZ25hdHVyZTIvZm9ybXMvc2lnbmVtYmVkL3skcGFyYW1zWydndWlkJ119IiBmcmFtZWJvcmRlcj0iMCIgd2lkdGg9InskcGFyYW1zWyd3aWR0aCddfSIgaGVpZ2h0PSJ7JHBhcmFtc1snaGVpZ2h0J119Ij48L2lmcmFtZT4KCg==]]></data>
	</file>
	<file>
	  <filename>/templates/editA.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGJyLz48YnIvPg0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHdpZHRoX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHdpZHRoX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaGVpZ2h0X2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhlaWdodF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGd1aWRfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZ3VpZF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbmFtZV9pbnB1dH08L3A+DQoJPC9kaXY+DQoJDQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
</module>
