<?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_viewer</name>
	<version>1.0</version>
  <mincmsversion>1.11.1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkdyb3VwRG9jcyBXb3JkLCBFeGNlbCwgUG93ZXJwb2ludCwgUERGIFZpZXdlciBFbWJlZGRlciBsZXRzIHlvdSBlbWJlZCBzZXZlcmFsIHR5cGVzIG9mIGZpbGVzIGludG8geW91ciBwYWdlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPkFkZCBuZXcgZG9jdW1lbnQuIEZpbGwgYWxsIGZpZWxkcy4gWW91IGNvdWxkIGZpbmQgR1VJRCB3aGVuIHZpZXdpbmcgZG9jdW1lbnQgZnJvbSB5b3VyIEdyb3VwRG9jcyBhY2NvdW50LjwvcD4KPGgzPldoYXQgUGFyYW1ldGVycyBEb2VzIEl0IFRha2U8L2gzPgo8cD5XaWR0aCBhbmQgSGVpZ2h0IGFyZSBmb3Igc2l6ZSBvZiBpZnJhbWUgb24gcGFnZS48L3A+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBHcm91cERvY3MgVGVhbSAmbHQ7c3VwcG9ydEBncm91cGRvY3MuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMS4wIC0gNCBPY3RvYmVyIDIwMTIuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[Admin Description]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgZ3JvdXBkb2NzX3ZpZXdlciAiZGVmYXVsdCIgYWN0aW9uCgogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAKICAgVHlwaWNhbGx5LCB0aGlzIHdpbGwgZGlzcGxheSBzb21ldGhpbmcgZnJvbSBhIHRlbXBsYXRlCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4KICAgCiovCiR0aGlzLT5zbWFydHktPmFzc2lnbigncGFyYW1zJywkcGFyYW1zKTsgIyDRgtC10LMg0LTQu9GPINC30LDQutGA0YvRgtC40Y8g0YTQvtGA0LzRiwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdkaXNwbGF5LnRwbCcpOyAjINCy0YvQt9C+0LIg0YjQsNCx0LvQvtC90LAgCj8+Cg==]]></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+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCgkNCgkNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCQ0KCSRpdGVtLT53aWR0aCA9ICRwYXJhbXNbIndpZHRoIl07DQoJJGl0ZW0tPmhlaWdodCA9ICRwYXJhbXNbImhlaWdodCJdOw0KCSRpdGVtLT5ndWlkID0gJHBhcmFtc1siZ3VpZCJdOw0KCSRpdGVtLT5uYW1lID0gJHBhcmFtc1sibmFtZSJdOw0KCQ0KCQ0KCS8vIEZJRUxEUyBUTyBVUERBVEUNCgkkcXVlcnkgPSAoaXNzZXQoJGl0ZW0tPmlkKT8iVVBEQVRFICI6IklOU0VSVCBJTlRPICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dyb3VwZG9jc192aWV3ZXJfZG9jcyBTRVQgDQoJCQl3aWR0aD0/LA0KCQkJaGVpZ2h0PT8sDQoJCQlndWlkPT8sDQoJCQluYW1lPT8iOw0KCQkJDQoJLy8gVkFMVUVTDQoJJHZhbHVlcyA9IGFycmF5KGFkZHNsYXNoZXMoJGl0ZW0tPndpZHRoKSwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPmhlaWdodCksDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT5ndWlkKSwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPm5hbWUpLA0KCQkJKTsNCg0KCQlpZihpc3NldCgkaXRlbS0+aWQpKXsNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGlkPT87IjsNCgkJCWFycmF5X3B1c2goJHZhbHVlcywkaXRlbS0+aWQpOw0KCQl9IGVsc2Ugew0KCQkJLy8gTkVXIElURU0NCgkJCQ0KCQkJLy8gZ2V0IGEgbmV3IGlkIGZyb20gdGhlIHNlcXVlbmNlIHRhYmxlDQoJCQkkaXRlbS0+aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dyb3VwZG9jc192aWV3ZXJfZG9jc19zZXEiKTsNCgkJDQoJCQkkcXVlcnkgLj0gIiwgaWQ9Ii4kaXRlbS0+aWQ7DQoNCgkJfQ0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsJDQoJCQ0KCQkkcmVkaXJlY3QgPSB0cnVlOw0KCQkvL2lmKG15c3FsX2FmZmVjdGVkX3Jvd3MoKSl7CS8vIG15c3FsLW9ubHkNCgkJaWYoJGRiLT5BZmZlY3RlZF9Sb3dzKCkpew0KCQkJDQoJCX1lbHNlaWYobXlzcWxfZXJyb3IoKSl7DQoJCQkvLyBkbyBub3QgcmVkaXJlY3QgOg0KCQkJJHJlZGlyZWN0ID0gZmFsc2U7DQoJCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKG15c3FsX2Vycm9yKCkpOw0KCQl9DQoNCgkJLy8gUkVESVJFQ1RJTkcuLi4NCgkJCWlmKCRyZWRpcmVjdCA9PSBmYWxzZSl7DQoJCQl9ZWxzZWlmKGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pKXsNCgkJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsNCgkJCX1lbHNlew0KCQkJCSRwYXJhbXMgPSBhcnJheSgibW9kdWxlX21lc3NhZ2UiID0+ICR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0JDQoJDQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIndpZHRoX2xhYmVsIiwgJHRoaXMtPkxhbmcoImdyb3VwZG9jc193aWR0aCIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigid2lkdGhfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwid2lkdGgiLGlzc2V0KCRpdGVtKT8kaXRlbS0+d2lkdGg6IiIsMzAsMTApKTsNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJoZWlnaHRfbGFiZWwiLCAkdGhpcy0+TGFuZygiZ3JvdXBkb2NzX2hlaWdodCIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiaGVpZ2h0X2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImhlaWdodCIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5oZWlnaHQ6IiIsMzAsMTApKTsNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJndWlkX2xhYmVsIiwgJHRoaXMtPkxhbmcoImdyb3VwZG9jc19ndWlkIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJndWlkX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImd1aWQiLGlzc2V0KCRpdGVtKT8kaXRlbS0+Z3VpZDoiIiw3NSwyMDAwKSk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9sYWJlbCIsICR0aGlzLT5MYW5nKCJncm91cGRvY3NfbmFtZSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJuYW1lIixpc3NldCgkaXRlbSk/JGl0ZW0tPmd1aWQ6IiIsNzUsMjAwMCkpOw0KDQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigic3VibWl0IiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImFwcGx5IiwgKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKT8kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKToiIik7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImNhbmNlbCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkpOw0KDQoNCi8vIERJU1BMQVlJTkcNCmlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKXsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRBIiwgJHJldHVybmlkKTsNCgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0QS50cGwiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiQWlkIiwgJGl0ZW0tPmlkKTsNCgkJaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5wYXJlbnQpKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiQWl0ZW1fb3JkZXIiLCAkaXRlbS0+aXRlbV9vcmRlcik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCg0KfWVsc2V7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRBIiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRBLnRwbCIpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCn0NCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/groupdocs_viewer.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IGdyb3VwZG9jc192aWV3ZXIgLSBHcm91cERvY3MgV29yZCwgRXhjZWwsIFBvd2VycG9pbnQsIFBERiBWaWV3ZXIgRW1iZWRkZXIgbGV0cyB5b3UgZW1iZWQgc2V2ZXJhbCB0eXBlcyBvZiBmaWxlcyBpbnRvIHlvdXIgcGFnZS4KIyBWZXJzaW9uOiAxLjAsIEdyb3VwRG9jcyBUZWFtCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMTIgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIyBUaGlzIGZpbGUgb3JpZ2luYWxseSBjcmVhdGVkIGJ5IE1vZHVsZU1ha2VyIG1vZHVsZSwgdmVyc2lvbiAwLjMuMgojIENvcHlyaWdodCAoYykgMjAxMiBieSBTYW11ZWwgR29sZHN0ZWluIChzamdAY21zbWFkZXNpbXBsZS5vcmcpIAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRm9yIEhlbHAgYnVpbGRpbmcgbW9kdWxlczoKIyAtIFJlYWQgdGhlIERvY3VtZW50YXRpb24gYXMgaXQgYmVjb21lcyBhdmFpbGFibGUgYXQKIyAgIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvCiMgLSBDaGVjayBvdXQgdGhlIFNrZWxldG9uIE1vZHVsZSBmb3IgYSBjb21tZW50ZWQgZXhhbXBsZQojIC0gTG9vayBhdCBvdGhlciBtb2R1bGVzLCBhbmQgbGVhcm4gZnJvbSB0aGUgc291cmNlCiMgLSBDaGVjayBvdXQgdGhlIGZvcnVtcyBhdCBodHRwOi8vZm9ydW1zLmNtc21hZGVzaW1wbGUub3JnCiMgLSBDaGF0IHdpdGggZGV2ZWxvcGVycyBvbiB0aGUgI2NtcyBJUkMgY2hhbm5lbAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjbGFzcyBncm91cGRvY3Nfdmlld2VyIGV4dGVuZHMgQ01TTW9kdWxlCnsKCglmdW5jdGlvbiBHZXROYW1lKCkKCXsKCQlyZXR1cm4gJ2dyb3VwZG9jc192aWV3ZXInOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRGcmllbmRseU5hbWUoKQoJICAgVGhpcyBjYW4gcmV0dXJuIGFueSBzdHJpbmcsIHByZWZlcmFibHkgYSBsb2NhbGl6ZWQgbmFtZQoJICAgb2YgdGhlIG1vZHVsZS4gVGhpcyBpcyB0aGUgbmFtZSB0aGF0J3Mgc2hvd24gaW4gdGhlCgkgICBBZG1pbiBNZW51cyBhbmQgc2VjdGlvbiBwYWdlcyAoaWYgdGhlIG1vZHVsZSBoYXMgYW4gYWRtaW4KCSAgIGNvbXBvbmVudCkuCgkgICAKCSAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7Cgl9CgoJCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0VmVyc2lvbigpCgkgICBUaGlzIGNhbiByZXR1cm4gYW55IHN0cmluZywgcHJlZmVyYWJseSBhIG51bWJlciBvcgoJICAgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgZm9yIGRlc2lnbmF0aW5nIGEgdmVyc2lvbi4KCSAgIFRoZSBDTVMgd2lsbCB1c2UgdGhpcyB0byBpZGVudGlmeSB3aGV0aGVyIG9yIG5vdAoJICAgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUgaXMgY3VycmVudCwgYW5kCgkgICB0aGUgbW9kdWxlIHdpbGwgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgaG93IHRvIHVwZ3JhZGUKCSAgIGl0c2VsZiBpZiByZXF1ZXN0ZWQuCSAgIAoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0VmVyc2lvbigpCgl7CgkJcmV0dXJuICcxLjAnOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRIZWxwKCkKCSAgIFRoaXMgcmV0dXJucyBIVE1MIGluZm9ybWF0aW9uIG9uIHRoZSBtb2R1bGUuCgkgICBUeXBpY2FsbHksIHlvdSdsbCB3YW50IHRvIGluY2x1ZGUgaW5mb3JtYXRpb24gb24gaG93IHRvCgkgICB1c2UgdGhlIG1vZHVsZS4KCSAgIAoJICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldEhlbHAoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRBdXRob3IoKQoJICAgVGhpcyByZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcHJlc2VudGVkIGluIHRoZSBNb2R1bGUKCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0QXV0aG9yKCkKCXsKCQlyZXR1cm4gJ0dyb3VwRG9jcyBUZWFtJzsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0QXV0aG9yRW1haWwoKQoJICAgVGhpcyByZXR1cm5zIGEgc3RyaW5nIHRoYXQgaXMgcHJlc2VudGVkIGluIHRoZSBNb2R1bGUKCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2VycwoJICAgb2YgeW91ciBtb2R1bGUgZ2V0IGluIHRvdWNoIHdpdGggeW91IHRvIHNlbmQgYnVnIHJlcG9ydHMsCgkgICBxdWVzdGlvbnMsIGNhc2VzIG9mIGJlZXIsIGFuZC9vciBsYXJnZSBzdW1zIG9mIG1vbmV5LgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQoJewoJCXJldHVybiAnc3VwcG9ydEBncm91cGRvY3MuY29tJzsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0Q2hhbmdlTG9nKCkKCSAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgbW9kdWxlCgkgICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlIEFib3V0IGxpbmsuIEl0IGhlbHBzIHVzZXJzCgkgICBmaWd1cmUgb3V0IHdoYXQncyBjaGFuZ2VkIGJldHdlZW4gcmVsZWFzZXMuCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBJc1BsdWdpbk1vZHVsZSgpCgkgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciBmYWxzZSwgZGVwZW5kaW5nIHVwb24KCSAgIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3IKCSAgIHRlbXBsYXRlIHVzaW5nIGEgc21hcnR5IHRhZyBvZiB0aGUgZm9ybQoJICAge2Ntc19tb2R1bGUgbW9kdWxlPSdncm91cGRvY3Nfdmlld2VyJyBwYXJhbTE9dmFsIHBhcmFtMj12YWwuLi59CgkgICAKCSAgIElmIHlvdXIgbW9kdWxlIGRvZXMgbm90IGdldCBpbmNsdWRlZCBpbiBwYWdlcyBvcgoJICAgdGVtcGxhdGVzLCByZXR1cm4gImZhbHNlIiBoZXJlLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQoJewoJCXJldHVybiB0cnVlOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBIYXNBZG1pbigpCgkgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBib29sZWFuIHZhbHVlLCBkZXBlbmRpbmcgb24KCSAgIHdoZXRoZXIgeW91ciBtb2R1bGUgYWRkcyBhbnl0aGluZyB0byB0aGUgQWRtaW4gYXJlYSBvZgoJICAgdGhlIHNpdGUuIEZvciB0aGUgcmVzdCBvZiB0aGVzZSBjb21tZW50cywgSSdsbCBiZSBjYWxsaW5nCgkgICB0aGUgYWRtaW4gcGFydCBvZiB5b3VyIG1vZHVsZSB0aGUgIkFkbWluIFBhbmVsIiBmb3IKCSAgIHdhbnQgb2YgYSBiZXR0ZXIgdGVybS4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEhhc0FkbWluKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEFkbWluU2VjdGlvbigpCgkgICBJZiB5b3VyIG1vZHVsZSBoYXMgYW4gQWRtaW4gUGFuZWwsIHlvdSBjYW4gc3BlY2lmeQoJICAgd2hpY2ggQWRtaW4gU2VjdGlvbiAob3IgdG9wLWxldmVsIEFkbWluIE1lbnUpIGl0IHNob3dzCgkgICB1cCBpbi4gVGhpcyBtZXRob2QgcmV0dXJucyBhIHN0cmluZyB0byBzcGVjaWZ5IHRoYXQKCSAgIHNlY3Rpb24uIFZhbGlkIHJldHVybiB2YWx1ZXMgYXJlOgoKCSAgIG1haW4gICAgICAgIC0gdGhlIE1haW4gbWVudSB0YWIuCgkgICBjb250ZW50ICAgICAtIHRoZSBDb250ZW50IG1lbnUKCSAgIGxheW91dCAgICAgIC0gdGhlIExheW91dCBtZW51CgkgICB1c2Vyc2dyb3VwcyAtIHRoZSBVc2VycyBhbmQgR3JvdXBzIG1lbnUKCSAgIGV4dGVuc2lvbnMgIC0gdGhlIEV4dGVuc2lvbnMgbWVudSAodGhpcyBpcyB0aGUgZGVmYXVsdCkKCSAgIHNpdGVhZG1pbiAgIC0gdGhlIFNpdGUgQWRtaW4gbWVudQoJICAgdmlld3NpdGUgICAgLSB0aGUgVmlldyBTaXRlIG1lbnUgdGFiCgkgICBsb2dvdXQgICAgICAtIHRoZSBMb2dvdXQgbWVudSB0YWIKCSAgIAoJICAgTm90ZSB0aGF0IGlmIHlvdSBwbGFjZSB5b3VyIG1vZHVsZSBpbiB0aGUgbWFpbiwKCSAgIHZpZXdzaXRlLCBvciBsb2dvdXQgc2VjdGlvbnMsIGl0IHdpbGwgc2hvdyB1cCBpbiB0aGUKCSAgIG1lbnVzLCBidXQgd2lsbCBub3QgYmUgdmlzaWJsZSBpbiBhbnkgdG9wLWxldmVsCgkgICBzZWN0aW9uIHBhZ2VzLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKCXsKCQlyZXR1cm4gJ2NvbnRlbnQnOwoJfQoKCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIGhhdmUgYW4gQWRtaW4gUGFuZWwsIHlvdQoJICAgY2FuIGhhdmUgaXQgcmV0dXJuIGEgZGVzY3JpcHRpb24gc3RyaW5nIHRoYXQgZ2V0cyBzaG93bgoJICAgaW4gdGhlIEFkbWluIFNlY3Rpb24gcGFnZSB0aGF0IGNvbnRhaW5zIHRoZSBtb2R1bGUuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2FkbWluZGVzY3JpcHRpb24nKTsKCX0KCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFZpc2libGVUb0FkbWluVXNlcigpCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIGhhdmUgYW4gQWRtaW4gUGFuZWwsIHlvdQoJICAgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgaXQncyBkaXNwbGF5ZWQgYnkgdGhlIGJvb2xlYW4KCSAgIHRoYXQgaXMgcmV0dXJuZWQgYnkgdGhpcyBtZXRob2QuIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWQKCSAgIHRvIGhpZGUgbW9kdWxlcyBmcm9tIGFkbWlucyB3aG8gbGFjayBwZXJtaXNzaW9uIHRvIHVzZQoJICAgdGhlbS4KCSAgIAoJICAgVHlwaWNhbGx5LCB5b3UnbGwgdXNlIHNvbWUgcGVybWlzc2lvbiB0byBzZXQgdGhpcwoJICAgKGUuZy4sICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1NvbWUgUGVybWlzc2lvbicpOyApCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQoJewogICAgICAgIHJldHVybiB0cnVlOwoJfQoJCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIENoZWNrQWNjZXNzKCkKCSAgIFRoaXMgd3JhcHBlciBmdW5jdGlvbiB3aWxsIGNoZWNrIGFnYWluc3QgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uLAoJICAgYW5kIGRpc3BsYXkgYW4gZXJyb3IgcGFnZSBpZiB0aGUgdXNlciBkb2Vzbid0IGhhdmUgYWRlcXVhdGUgcGVybWlzc2lvbnMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBDaGVja0FjY2VzcygkcGVybSA9ICdNb2RpZnlHcm91RG9jc1ZpZXdlcicpCgkJewoJCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCRwZXJtKTsKCQl9CgkKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBEaXNwbGF5RXJyb3JQYWdlKCkKCSAgIFRoaXMgaXMgYSBzaW1wbGUgZnVuY3Rpb24gZm9yIGdlbmVyYXRpbmcgZXJyb3IgcGFnZXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgICBmdW5jdGlvbiBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlPScnKQogICAgewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKCiAgICAgICAgLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCiAgICAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICAgIH0KCQoKCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0RGVwZW5kZW5jaWVzKCkKCSAgIFlvdXIgbW9kdWxlIG1heSBuZWVkIGFub3RoZXIgbW9kdWxlIHRvIGFscmVhZHkgYmUgaW5zdGFsbGVkCgkgICBiZWZvcmUgeW91IGNhbiBpbnN0YWxsIGl0LgoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgdGhvc2UgZGVwZW5kZW5jaWVzIGFuZAoJICAgbWluaW11bSB2ZXJzaW9uIG51bWJlcnMgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcy4KCSAgIAoJICAgSXQgc2hvdWxkIHJldHVybiBhbiBoYXNoLCBlZy4KCSAgIHJldHVybiBhcnJheSgnc29tZW1vZHVsZSc9PicxLjAnLCAnb3RoZXJtb2R1bGUnPT4nMS4xJyk7CgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQoJewoJCXJldHVybiBhcnJheSgpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJICAgQWZ0ZXIgaW5zdGFsbGF0aW9uLCB0aGVyZSBtYXkgYmUgdGhpbmdzIHlvdSB3YW50IHRvCgkgICBjb21tdW5pY2F0ZSB0byB5b3VyIGFkbWluLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYQoJICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKCSAgIEFmdGVyIHJlbW92aW5nIGEgbW9kdWxlLCB0aGVyZSBtYXkgYmUgdGhpbmdzIHlvdSB3YW50IHRvCgkgICBjb21tdW5pY2F0ZSB0byB5b3VyIGFkbWluLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYQoJICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwoJfQoKCgoKCS8qKgoJICogVW5pbnN0YWxsUHJlTWVzc2FnZSgpCgkgKiBUaGlzIGFsbG93cyB5b3UgdG8gZGlzcGxheSBhIG1lc3NhZ2UgYWxvbmcgd2l0aCBhIFllcy9ObyBkaWFsb2cgYm94LiBJZiB0aGUgdXNlciByZXNwb25kcwoJICogaW4gdGhlIGFmZmlybWF0aXZlIHRvIHlvdXIgbWVzc2FnZSwgdGhlIHVuaW5zdGFsbCB3aWxsIHByb2NlZWQuIElmIHRoZXkgcmVzcG9uZCBpbiB0aGUKCSAqIG5lZ2F0aXZlLCB0aGUgdW5pbnN0YWxsIHdpbGwgYmUgY2FuY2VsZWQuIFRodXMsIHlvdXIgbWVzc2FnZSBzaG91bGQgYmUgb2YgdGhlIGZvcm0KCSAqICJBbGwgbW9kdWxlIGRhdGEgd2lsbCBiZSBkZWxldGVkLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgbW9kdWxlPyIKCSAqCgkgKiBJZiB5b3UgZG9uJ3Qgd2FudCB0aGUgZGlhbG9nLCBoYXZlIHRoaXMgbWV0aG9kIHJldHVybiBhIEZBTFNFLCB3aGljaCB3aWxsIGNhdXNlIHRoZQoJICogbW9kdWxlIHRvIHVuaW5zdGFsbCBpbW1lZGlhdGVseSBpZiB0aGUgdXNlciBjbGlja3MgdGhlICJ1bmluc3RhbGwiIGxpbmsuCgkgKi8KCWZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwoJfQoJCglmdW5jdGlvbiBjb3VudHNvbWV0aGluZygkdGFibGVuYW1lLCR3aGF0PSJpZCIsJHdoZXJlPWFycmF5KCksJHdoZXJlc3RyaW5nPWZhbHNlLCR3aGVyZXZhbHVlcz1hcnJheSgpLCRwYXJlbnQ9ZmFsc2UpewoJCS8vIHJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBhIHRhYmxlIGNvcnJlc3BvbmRpbmcgdG8gY3JpdGVyaWFzCgkJaWYoISRwYXJlbnQgJiYgaXNzZXQoJHdoZXJlWyJwYXJlbnQiXSkpCXVuc2V0KCR3aGVyZVsicGFyZW50Il0pOwoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQlpZigkd2hlcmVzdHJpbmcpewoJCQkkd2hlcmVzdHJpbmcgPSAiIFdIRVJFICIuJHdoZXJlc3RyaW5nOwoJCX1lbHNlewoJCQkkd2hlcmVzdHJpbmcgPSAiIjsKCQkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsKCQkJZm9yZWFjaCgkd2hlcmUgYXMgJGtleT0+JHZhbHVlKXsKCQkJCWlmKCRrZXkgPT0gInBhcmVudCIpewoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4iQS5wYXJlbnQ9Qi5pZCBBTkQgQi5hbGlhcz0/IjsKCQkJCX1lbHNlewoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4iQS4iLiRrZXkuIj0/IjsKCQkJCX0KCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOwoJCQl9CgkJfQoJCSRxdWVyeSA9ICJTRUxFQ1QgQ09VTlQoQS4kd2hhdCkgb3VyY291bnQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlXyIuJHRoaXMtPkdldE5hbWUoKS4iXyIuJHRhYmxlbmFtZS4iIEEiOwoJCWlmKCRwYXJlbnQgJiYgaXNzZXQoJHdoYXRbInBhcmVudCJdKSkJJHF1ZXJ5IC49ICIsICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfIi4kdGhpcy0+R2V0TmFtZSgpLiJfIi4kcGFyZW50LiIgQiI7CgkJJHF1ZXJ5IC49ICR3aGVyZXN0cmluZzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR3aGVyZXZhbHVlcyk7CgkJaWYgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsKCQkJcmV0dXJuICRyb3dbIm91cmNvdW50Il07CgkJfWVsc2V7CgkJCXJldHVybiAwOwoJCX0KCX0KCglmdW5jdGlvbiBnZXRfZG9jc19saXN0KCR3aGVyZT1hcnJheSgpLCRhZG1pbj1mYWxzZSwkaWQ9IiIsJHJldHVybmlkPSIiLCRvcmRlcj1mYWxzZSwkbGltaXQ9MCwkY3VzdG9td2hlcmU9ZmFsc2UsJGN1c3RvbXZhbHVlcz1hcnJheSgpLCRjdXN0b21vcmRlcj1mYWxzZSl7CgkJZ2xvYmFsICRnQ21zOwoJCSRsb2FkX25iY2hpbGRyZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibG9hZF9uYmNoaWxkcmVuIix0cnVlKTsKCQlpZigkYWRtaW4pCSRhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOwoJCWlmKCEkb3JkZXIpCSRvcmRlciA9ICIiOwoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkZmllbGRzID0gYXJyYXkoIndpZHRoIiwiaGVpZ2h0IiwiZ3VpZCIsIm5hbWUiKTsKCQkKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dyb3VwZG9jc192aWV3ZXJfZG9jcyBBOyI7CgoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQkJCgkJJGl0ZW1saXN0ID0gYXJyYXkoKTsKCQkkaWRsaXN0ID0gIiI7CgkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsKCQkJJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsKCQkJJGl0ZW0tPl9fd2hhdCA9ICJkb2NzIjsKCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7CgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsKCQkJfQoJCQkkaXRlbS0+d2lkdGggPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPndpZHRoKTsKCQkJJGl0ZW0tPmhlaWdodCA9IHN0cmlwc2xhc2hlcygkaXRlbS0+aGVpZ2h0KTsKCQkJJGl0ZW0tPmd1aWQgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmd1aWQpOwoJCQkkaXRlbS0+bmFtZSA9IHN0cmlwc2xhc2hlcygkaXRlbS0+bmFtZSk7CgkJCSRpdGVtLT5pbnNlcnRUYWcgPSAne2Ntc19tb2R1bGUgbW9kdWxlPSJncm91cGRvY3Nfdmlld2VyIiB3aWR0aD0iJyAuICRpdGVtLT53aWR0aCAuICciIGhlaWdodD0iJyAuICRpdGVtLT5oZWlnaHQgLiAnIiBndWlkPSInIC4gJGl0ZW0tPmd1aWQgLiAnIn0nOwoKCQkJYXJyYXlfcHVzaCgkaXRlbWxpc3QsJGl0ZW0pOwoJCX0KCgkJcmV0dXJuICRpdGVtbGlzdDsKCX0KCQoJCgkKfQoKPz4K]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dyb3VwRG9jcyBWaWV3ZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdQb3N0IEluc3RhbGwgTWVzc2FnZS4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1Bvc3QgVW5pbnN0YWxsIE1lc3NhZ2UsIGUuZy4sICJDdXJzZXMhIEZvaWxlZCBBZ2FpbiEiJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IEFyZSB5b3Ugc3VyZQp5b3Ugd2FudCB0byB1bnNpbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnR3JvdXBEb2NzIFdvcmQsIEV4Y2VsLCBQb3dlcnBvaW50LCBQREYgVmlld2VyIEVtYmVkZGVyIGxldHMgeW91IGVtYmVkIHNldmVyYWwgdHlwZXMgb2YgZmlsZXMgaW50byB5b3VyIHBhZ2UuJzsKCiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5kWydhZG1pbl90aXRsZSddID0gJ0dyb3VwRG9jcyBWaWV3ZXIgQWRtaW4gUGFuZWwnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ0FkbWluIERlc2NyaXB0aW9uJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Bvc3QgSW5zdGFsbCBNZXNzYWdlLCAoZS5nLiwgQmUgc3VyZSB0byBzZXQgIk1vZGlmeUdyb3VEb2NzVmlld2VyIiBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhKSc7CgoKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMS4wIC0gNCBPY3RvYmVyIDIwMTIuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkdyb3VwRG9jcyBXb3JkLCBFeGNlbCwgUG93ZXJwb2ludCwgUERGIFZpZXdlciBFbWJlZGRlciBsZXRzIHlvdSBlbWJlZCBzZXZlcmFsIHR5cGVzIG9mIGZpbGVzIGludG8geW91ciBwYWdlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPkFkZCBuZXcgZG9jdW1lbnQuIEZpbGwgYWxsIGZpZWxkcy4gWW91IGNvdWxkIGZpbmQgR1VJRCB3aGVuIHZpZXdpbmcgZG9jdW1lbnQgZnJvbSB5b3VyIEdyb3VwRG9jcyBhY2NvdW50LjwvcD4KPGgzPldoYXQgUGFyYW1ldGVycyBEb2VzIEl0IFRha2U8L2gzPgo8cD5XaWR0aCBhbmQgSGVpZ2h0IGFyZSBmb3Igc2l6ZSBvZiBpZnJhbWUgb24gcGFnZS48L3A+JzsKCiRsYW5nWydhZGRfZG9jJ10gPSAnQWRkIERvY3VtZW50JzsKCiRsYW5nWydncm91cGRvY3Nfd2lkdGgnXSA9ICdXaWR0aCc7CiRsYW5nWydncm91cGRvY3NfaGVpZ2h0J10gPSAnSGVpZ2h0JzsKJGxhbmdbJ2dyb3VwZG9jc19ndWlkJ10gPSAnR1VJRCc7CiRsYW5nWydncm91cGRvY3NfbmFtZSddID0gJ05hbWUnOwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEluc3RhbGwoKQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uCgkgICBhbmQgcHJlcG9wdWxhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsIGRhdGFiYXNlIHNlcXVlbmNlcywKCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLgoJICAgCSAgIAoJICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0CgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQoJICAgCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLgoJICAgU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBJbml0aWFsaXphdGlvbgoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKCQkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkKICAgICAgICAvLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KICAgICAgICAkZmxkcyA9ICIKCQkJaWQgSSBLRVksCgkJCWRlc2NyaXB0aW9uIEMoODApCgkJCSI7CgoJCS8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ3JvdXBkb2NzX3ZpZXdlciIsCgkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJCS8vIGNyZWF0ZSBhIHNlcXVlbmNlCgkJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfdmlld2VyX3NlcSIpOwoJCSovCgkJCgkJLy8gcGVybWlzc2lvbnMKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTW9kaWZ5IEdyb3VEb2NzVmlld2VyJywnTW9kaWZ5IEdyb3VEb2NzVmlld2VyJyk7CgoJCQoJCS8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24KJGRiID0mICR0aGlzLT5HZXREYigpOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCQovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKJHRhYm9wdGFycmF5ID0gYXJyYXkoIm15c3FsIiA9PiAiVFlQRT1NeUlTQU0iKTsKCQkKCi8vIENyZWF0ZXMgdGhlIHBsYXllciB0YWJsZQokZmxkcyA9ICIKCWd1aWQgQyg2NCksCgl3aWR0aCBDKDEwKSwKCWhlaWdodCBDKDEwKSwKCWlkIEkgS0VZLAoJbmFtZSBDKDY0KQoJIjsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfdmlld2VyX2RvY3MiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dyb3VwZG9jc192aWV3ZXJfZG9jc19zZXEiKTsKCQkKCQkKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbCgpCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudAoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQKCSAgIHdvdWxkIGJlIGJlc3QgdG8gbGF5IGludG8gdGhlc2UgaWRpb3RzIHdpdGggYSBjbHVlc3RpY2ssCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUKCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMKCSAgIHRoYXQgYXJlIHNwZWNpZmljIHRvIGl0LgoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBSZW1vdmFsCgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQoJCS8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfdmlld2VyIiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJLy8gcmVtb3ZlIHRoZSBzZXF1ZW5jZQoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfdmlld2VyX3NlcSIgKTsKCQkqLwoJCQoJCS8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5R3JvdURvY3NWaWV3ZXInKTsKCgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKCgoJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9ncm91cGRvY3Nfdmlld2VyX2RvY3MiKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSRkYi0+RHJvcFNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dyb3VwZG9jc192aWV3ZXJfZG9jc19zZXEiKTsKPz4K]]></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+PHRyPgoJPHRoPklEPC90aD4KCTx0aD5OYW1lPC90aD4KCTx0aD5HVUlEPC90aD4KCTx0aD5TaG9ydGNvZGU8L3RoPgo8L3RyPjwvdGhlYWQ+Cjx0Ym9keT4KCntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzIHJlc2V0PXRydWV9Cgl7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPW9uZWl0ZW19CntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzfQoJPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CgkJPHRkPnskb25laXRlbS0+aWR9PC90ZD4KCQk8dGQ+eyRvbmVpdGVtLT5uYW1lfTwvdGQ+CgkJPHRkPnskb25laXRlbS0+Z3VpZH08L3RkPgoJCTx0ZD57JG9uZWl0ZW0tPmluc2VydFRhZ308L3RkPgoJPC90cj4KCXsvZm9yZWFjaH0KCgoKPC90Ym9keT4KPC90YWJsZT4KPC9kaXY+CjxwPnskYWRkbmV3fTwvcD4Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/display.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGlmcmFtZSBzcmM9Imh0dHBzOi8vYXBwcy5ncm91cGRvY3MuY29tL2RvY3VtZW50LXZpZXdlci9lbWJlZC97JHBhcmFtc1snZ3VpZCddfT8mcmVmZXJlcj1jbXNtcy8xLjExLjEiIGZyYW1lYm9yZGVyPSIwIiB3aWR0aD0ieyRwYXJhbXNbJ3dpZHRoJ119IiBoZWlnaHQ9InskcGFyYW1zWydoZWlnaHQnXX0iPjwvaWZyYW1lPgo=]]></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>
