<?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>Snippet</name>
	<version>0.1.0</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[DQo8cD48c3Ryb25nPldoYXQgZG9lcyB0aGlzIGRvPzwvc3Ryb25nPjwvcD4NCjxwPlRoaXMgbW9kdWxlIGlzIGEgcmVwbGFjZW1lbnQgZm9yIHRoZSBHbG9iYWwgQ29udGVudCBCbG9jayB3aGljaCB3YXMgcGhhc2VkIG91dCBvZiB0aGUgY29yZSBmcm9tIHZlcnNpb24gMi4wDQogICAgb2YgQ01TIE1hZGUgU2ltcGxlLiBJbnN0YWxsZWQgb24gYSAxLnggaW5zdGFsbGF0aW9uIGl0IGFsbG93cyBmb3IgaW1wb3J0IG9mIHRoZSBleGlzdGluZyBjb250ZW50YmxvY2tzLCBhbmQNCiAgICB3aWxsIGtlZXAgdGhlbSB3aGVuIHVwZ3JhZGluZyB0byAyLnguIENhbiBvZiBjb3Vyc2UgYmUgaW5zdGFsbGVkIGFuZCB1c2VkIGluIGEgcGxhaW4gMi54IGFzIGl0IGlzLjwvcD4NCjxwPjwvcD4NCjxwPjxzdHJvbmc+SG93IGRvIEkgdXNlIHRoaXM/PC9zdHJvbmc+PC9wPg0KPHA+U2ltcGxlIGFkZCBzb21lIHNuaXBwZXRzIG9uIHRoZSBhZG1pbiBwYWdlLCBhbmQgaW5zZXJ0IHRoZW0gaW50byB5b3VyIGNvbnRlbnQgb3IgdGVtcGxhdGVzIHVzaW5nDQo8YnIvPg0KPHByZT57U25pcHBldCBuYW1lPSdYWCd9PC9wcmU+DQo8YnIvPndoZXJlIFhYIGlzIGVpdGhlciBhIG5hbWUgb3IgdGhlIHNob3J0Y29kZSBvZiBhIHNuaXBwZXQ8L3A+DQo8cD48L3A+DQo8cD48c3Ryb25nPkJ1Z3Mgb3Igc3VnZ2VzdGlvbnM/PC9zdHJvbmc+PC9wPg0KPHA+UGxlYXNlIGZlZWwgZnJlZSB0byByZXBvcnQgYnVncyBpbiB0aGUgRm9yZ2Ugb3Igc3VnZ2VzdCBpbXByb3ZlbWVudHMuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBNb3J0ZW4gUG91bHNlbiAmbHQ7bW9ydGVuQHBvdWxzZW4ub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDAuMS4wPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPg0KICAgIDxsaT4wLjEuMCAtIEluaXRpYWwgcmVsZWFzZTwvbGk+DQo8L3VsPjxiciAvPg==]]></about>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCJjbXNtcyIpKSBleGl0Ow0KDQppZiAoIWlzc2V0KCRwYXJhbXNbIm5hbWUiXSkpIHsNCiAgZWNobyAiU25pcHBldCBuYW1lIG5vdCBwcm92aWRlZCI7DQogIHJldHVybjsNCn0NCg0KJHNuaXBkYj0kdGhpcy0+R2V0U25pcERCKCk7DQoNCiRzbmlwcGV0PSRzbmlwZGItPkdldE9uZVJvdyhhcnJheSgic2hvcnRjb2RlIj0+dHJpbSgkcGFyYW1zWyJuYW1lIl0pKSk7DQppZiAoISRzbmlwcGV0KSB7DQogICRzbmlwcGV0PSRzbmlwZGItPkdldE9uZVJvdyhhcnJheSgibmFtZSI9PnRyaW0oJHBhcmFtc1sibmFtZSJdKSkpOw0KICBpZiAoISRzbmlwcGV0KSB7DQogICAgZWNobyAiU25pcHBldCBbIiAuICRwYXJhbXNbIm5hbWUiXSAuICJdIG5vdCBmb3VuZCI7DQogICAgcmV0dXJuOw0KICB9DQp9DQoNCiRvdXRwdXQ9JHNuaXBwZXRbImNvbnRlbnQiXTsNCg0KaWYgKCRzbmlwcGV0WyJzbWFydHlwcm9jZXNzIl09PSIxIikgew0KICAkb3V0cHV0PSR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkb3V0cHV0KTsNCn0NCg0KZWNobyAkb3V0cHV0Ow0K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCJjbXNtcyIpKSBleGl0Ow0KaWYgKCEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkpIGV4aXQ7DQoNCiRkYj1jbXNtcygpLT5HZXREYigpOw0KJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2h0bWxibG9icyc7DQokZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxdWVyeSk7DQppZiAoJGRicmVzdWx0ICE9PSBmYWxzZSkgew0KICAkY291bnQ9JGRicmVzdWx0LT5SZWNvcmRDb3VudCgpOw0KICBpZiAoJGNvdW50PjApIHsNCiAgICBlY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkY291bnQuICIgb2xkLXN0eWxlIEdDQidzIGZvdW5kLiAiLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnaW1wb3J0JywkcmV0dXJuaWQsIkNsaWNrIGhlcmUgdG8gaW1wb3J0IHRoZW0gaW50byBTbmlwcGV0LW1vZHVsZSIpKTsNCiAgfQ0KfQ0KDQoNCg0KDQokdGFiPSIiOw0KaWYgKGlzc2V0KCRwYXJhbXNbInRhYiJdKSkgJHRhYj0kcGFyYW1zWyJ0YWIiXTsNCmlmIChpc3NldCgkX1JFUVVFU1RbInRhYiJdKSkgJHRhYj0kX1JFUVVFU1RbInRhYiJdOw0KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7DQoNCmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigic25pcHBldHMiLCR0aGlzLT5MYW5nKCJzbmlwcGV0cyIpLCgkdGFiPT0ic25pcHBldHMiKSk7DQplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInNldHRpbmdzIiwkdGhpcy0+TGFuZygic2V0dGluZ3MiKSwoJHRhYj09InNldHRpbmdzIikpOw0KDQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7DQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KZWNobyAkdGhpcy0+U3RhcnRUYWIoInNuaXBwZXRzIik7DQppbmNsdWRlX29uY2UoZGlybmFtZShfX2ZpbGVfXykuIi90YWIuc25pcHBldHMucGhwIik7DQplY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWIoInNldHRpbmdzIik7DQppbmNsdWRlX29uY2UoZGlybmFtZShfX2ZpbGVfXykuIi90YWIuc2V0dGluZ3MucGhwIik7DQplY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0K]]></data>
	</file>
	<file>
	  <filename>/action.editsnippet.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCJjbXNtcyIpKSBleGl0Ow0KaWYgKCEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkpIGV4aXQ7DQoNCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpDQogICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCJ0YWIiPT4ic25pcHBldHMiKSk7DQoNCmlmICghaXNzZXQoJHBhcmFtc1sidG9kbyJdKSkgew0KICBlY2hvICJObyB0b2RvIHBhcmFtIHNldCI7IHJldHVybjsNCn0NCiR0b2RvPSRwYXJhbXNbInRvZG8iXTsNCg0KJHNuaXBkYj0kdGhpcy0+R2V0U25pcERCKCk7DQoNCiRzbmlwaWQ9IiI7DQokc25pcHBldD1hcnJheSgNCiAgIm5hbWUiPT4iIiwNCiAgInNob3J0Y29kZSI9PiIiLA0KICAiZGVzY3JpcHRpb24iPT4iIiwNCiAgImNvbnRlbnQiPT4iIiwNCiAgInd5c2l3eWdhbGxvd2VkIj0+JHRoaXMtPkdldFByZWZlcmVuY2UoInd5c2l3eWdhbGxvd2VkZGVmYXVsdCIsMCksDQogICJzbWFydHByb2Nlc3MiPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgic21hcnRwcm9jZXNzZGVmYXVsdCIsMCkNCik7DQppZiAoJHRvZG8hPSJhZGQiICYmICR0b2RvIT0ibmV3Iikgew0KICBpZiAoIWlzc2V0KCRwYXJhbXNbInNuaXBpZCJdKSkgew0KICAgIGVjaG8gIk5vIHRvZG8gcGFyYW0gc2V0IjsgcmV0dXJuOw0KICB9DQogICRzbmlwaWQ9JHBhcmFtc1sic25pcGlkIl07DQogICRzbmlwcGV0PSRzbmlwZGItPkdldFJvdygkc25pcGlkKTsNCiAgaWYgKCEkc25pcHBldCkgew0KICAgIGVjaG8gIkludmFsaWQgc25pcHBldCBpZCI7IHJldHVybjsNCiAgfQ0KfSBlbHNlIHsNCiAgaWYgKCR0b2RvPT0iYWRkIikgew0KICAgICRzbmlwcGV0PSRwYXJhbXM7DQogIH0NCn0NCnVuc2V0KCRwYXJhbXNbInRvZG8iXSk7DQp1bnNldCgkcGFyYW1zWyJzdWJtaXQiXSk7DQp1bnNldCgkcGFyYW1zWyJhY3Rpb24iXSk7DQp1bnNldCgkcGFyYW1zWyJzbmlwaWQiXSk7DQoNCiRlcnJvcj0iIjsNCg0KLy9lY2hvICRzbmlwaWQ7ZGllKCk7DQpzd2l0Y2ggKCR0b2RvKSB7DQogIGNhc2UgImRlbGV0ZSIgOiB7DQogICAgJHRoaXMtPkRlbGV0ZVNuaXBwZXQoJHNuaXBpZCk7DQoNCiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgidGFiIj0+InNuaXBwZXRzIiwibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+TGFuZygic25pcHBldGRlbGV0ZWQiKSkpOw0KICAgIGJyZWFrOw0KICB9DQogIGNhc2UgImFkZCIgOiB7DQogICAgJGVycm9yPSR0aGlzLT5BZGRTbmlwcGV0KCRwYXJhbXMpOw0KLy9kaWUoKTsNCiAgICBpZiAoJGVycm9yPT0iIikgew0KICAgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoInRhYiI9PiJzbmlwcGV0cyIsIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoInNuaXBwZXRhZGRlZCIpKSk7DQogICAgfQ0KICAgIGJyZWFrOw0KICB9DQoNCiAgY2FzZSAidXBkYXRlIiA6IHsNCiAgICAkZXJyb3I9JHRoaXMtPlVwZGF0ZVNuaXBwZXQoJHNuaXBpZCwgJHBhcmFtcyk7DQogICAgLy9lY2hvICRlcnJvcjtkaWUoKTsNCiAgIC8vIGRpZSgpOw0KICAgIGlmICgkZXJyb3I9PSIiKSB7DQogICAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgidGFiIj0+InNuaXBwZXRzIiwibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+TGFuZygic25pcHBldHVwZGF0ZWQiKSkpOw0KICAgIH0NCiAgICBicmVhazsNCiAgfQ0KfQ0KLyoibmFtZSBDKDEyOCkiLA0KICAgICAgICAgICJzaG9ydGNvZGUgQygzMikiLA0KICAgICAgICAgICJkZXNjcmlwdGlvbiBYIiwNCiAgICAgICAgICAiY29udGVudCBYIiwNCiAgICAgICAgICAiYWN0aXZlIEkiLA0KICAgICAgICAgICJ3eXNpd3lnYWxsb3dlZCBJIiwNCiAgICAgICAgICAic21hcnR5cHJvY2VzcyBJIiwNCiAgICAgICAgICAiY3JlYXRlZCBJIiwNCiAgICAgICAgICAidXBkYXRlZCBJIg0KKi8NCiR0aXRsZT0iIjsNCiRuZXd0b2RvPSR0b2RvOw0Kc3dpdGNoICgkdG9kbykgew0KICBjYXNlICJuZXciIDogJG5ld3RvZG89ImFkZCI7ICR0aXRsZT0iQWRkaW5nIHNuaXBwZXQiOyBicmVhazsNCiAgY2FzZSAiZWRpdCIgOiAkbmV3dG9kbz0idXBkYXRlIjsgJHRpdGxlPSJFZGl0aW5nIHNuaXBwZXQiOyBicmVhazsNCn0NCg0KDQppZiAoJGVycm9yIT0iIikgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3IpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2VkaXRzbmlwcGV0JywkcmV0dXJuaWQsInBvc3QiLCIiLGZhbHNlLCIiLGFycmF5KCJ0b2RvIj0+JG5ld3RvZG8sInNuaXBpZCI9PiRzbmlwaWQpKSk7DQoNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCg0KDQokc21hcnR5LT5hc3NpZ24oJ2NvbnRlbnRpbnB1dCcsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSgoJHNuaXBwZXRbInd5c2l3eWdhbGxvd2VkIl09PSIxIiksICRpZCwgJHNuaXBwZXRbImNvbnRlbnQiXSwgJ2NvbnRlbnQnKSk7DQoNCiRzbWFydHktPmFzc2lnbignbmFtZWlucHV0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJHNuaXBwZXRbIm5hbWUiXSwgODAsIDI1NSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdzaG9ydGNvZGVpbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc2hvcnRjb2RlJywgJHNuaXBwZXRbInNob3J0Y29kZSJdLCAzMiwgMzIpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbmlucHV0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdkZXNjcmlwdGlvbicsICRzbmlwcGV0WyJkZXNjcmlwdGlvbiJdLCA4MCwgMjU1KSk7DQoNCiRzbWFydHktPmFzc2lnbignd3lzaXd5Z2FsbG93ZWRpbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3d5c2l3eWdhbGxvd2VkJywgIjEiLCRzbmlwcGV0WyJ3eXNpd3lnYWxsb3dlZCJdKSk7DQokc21hcnR5LT5hc3NpZ24oJ3NtYXJ0eXByb2Nlc3NpbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3NtYXJ0eXByb2Nlc3MnLCAiMSIsJHNuaXBwZXRbInNtYXJ0eXByb2Nlc3MiXSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KLy8kc21hcnR5LT5hc3NpZ24oJ2FwcGx5JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5JywgbGFuZygnYXBwbHknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigidGl0bGUiLCR0aXRsZSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCJtb2QiLCR0aGlzKTsNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5lZGl0c25pcHBldC50cGwiKTs=]]></data>
	</file>
	<file>
	  <filename>/action.import.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCJjbXNtcyIpKSBleGl0Ow0KaWYgKCEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkpIGV4aXQ7DQokZGI9Y21zbXMoKS0+R2V0RGIoKTsNCmlmIChpc3NldCgkcGFyYW1zWyJpbXBvcnQiXSkpIHsNCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2h0bWxibG9icyc7DQogICRkYnJlc3VsdD0kZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCiAgJGNvdW50PTA7DQogIGlmICgkZGJyZXN1bHQgIT09IGZhbHNlKSB7DQogICAgd2hpbGUgKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsNCiAgICAgLy8gZWNobyAiaGkiOw0KICAgICAgLy8vcHJpbnRfcigkcm93KTsNCiAgICAgICRuZXdkYXRhPWFycmF5KA0KICAgICAgICAibmFtZSI9PiRyb3dbImh0bWxibG9iX25hbWUiXSwNCiAgICAgICAgInNob3J0Y29kZSI9PnN0cl9yZXBsYWNlKGFycmF5KCIgIiksYXJyYXkoIl8iKSwkcm93WyJodG1sYmxvYl9uYW1lIl0pLA0KICAgICAgICAiZGVzY3JpcHRpb24iPT4kcm93WyJkZWNyaXB0aW9uIl0sDQogICAgICAgICJjb250ZW50Ij0+JHJvd1siaHRtbCJdLA0KICAgICAgICAid3lzaXd5Z2FsbG93ZWQiPT4kcm93WyJ1c2Vfd3lzaXd5ZyJdLA0KICAgICAgICAic21hcnR5cHJvY2VzcyI9PiIwIiwNCiAgICAgICAgImNyZWF0ZWQiPT50aW1lKCksDQogICAgICAgICJ1cGRhdGVkIj0+dGltZSgpDQogICAgICApOw0KICAgICAgJGVycm9yPSR0aGlzLT5BZGRTbmlwcGV0KCRuZXdkYXRhKTsNCiAgICAgIGlmICgkZXJyb3I9PSIiKSAkY291bnQrPTE7DQogICAgfQ0KDQogICAgLy9kaWUoKTsNCg0KDQogIH0NCg0KDQoNCg0KDQogICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCJ0YWIiPT4ic25pcHBldHMiLCJtb2R1bGVfbWVzc2FnZSI9PiRjb3VudC4iICIuJHRoaXMtPkxhbmcoInNuaXBwZXRzaW1wb3J0ZWQiKSkpOw0KfQ0KDQoNCg0KJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2h0bWxibG9icyc7DQokZGJyZXN1bHQ9JGRiLT5FeGVjdXRlKCRxdWVyeSk7DQppZiAoJGRicmVzdWx0ICE9PSBmYWxzZSkgew0KICAkY291bnQgPSAkZGJyZXN1bHQtPlJlY29yZENvdW50KCk7DQogIGVjaG8gIk9sZC1zdHlsZSBHQ0Inczo8YnIvPiI7DQogIHdoaWxlICgkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7DQogICAgLy9wcmludF9yKCRyb3cpOw0KICAgIGVjaG8gIiZuYnNwOyZuYnNwOyIuJHJvd1siaHRtbGJsb2JfbmFtZSJdOw0KICAgIGVjaG8gIjxicj4iOw0KICB9DQogIGVjaG8gIjxicj4iOw0KICBlY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnaW1wb3J0JywkcmV0dXJuaWQsIkNsaWNrIGhlcmUgdG8gaW1wb3J0IHRoZXNlIGludG8gU25pcHBldC1tb2R1bGUiLCBhcnJheSgiaW1wb3J0Ij0+MSksICJBcmUgeW91IHN1cmU/Iik7DQogIGVjaG8gIjxici8+QXQgc29tZSBwb2ludCB5b3UgbWF5IGJlIGFibGUgdG8gc2VsZWN0IHdoaWNoLCBidXQgbm90IG5vdy4uLiBidXQgR0NCJ3MgZG91YmxpbmcgZXhpc3RpbmcgbmFtZXMgd2lsbCBub3QgYmUgaW1wb3J0ZWQuLi4iOw0KfSBlbHNlIHsNCiAgZWNobyAic29tdGhpbmcgd2VudCB3cm9uZywgbm90IEdDQidzIGZvdW5kLi4uIjsNCn0=]]></data>
	</file>
	<file>
	  <filename>/class.neodb.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaWYgKCFmdW5jdGlvbl9leGlzdHMoImlzX2Fzc29jIikpIHsNCiAgICBmdW5jdGlvbiBpc19hc3NvYygkYXJyYXkpIHsNCiAgICAgICAgcmV0dXJuIChpc19hcnJheSgkYXJyYXkpICYmIDAgIT09IGNvdW50KGFycmF5X2RpZmZfa2V5KCRhcnJheSwgYXJyYXlfa2V5cyhhcnJheV9rZXlzKCRhcnJheSkpKSkpOw0KICAgIH0NCn0NCmlmICghY2xhc3NfZXhpc3RzKCJOZW9EQiIpKSB7DQogIGNsYXNzIE5lb0RCDQogIHsNCg0KICAgIHZhciAkX2RiID0gZmFsc2U7DQogICAgdmFyICRfdGFibGVuYW1lID0gZmFsc2U7DQogICAgdmFyICRfZmVhdHVyZXMgPSBmYWxzZTsNCiAgICB2YXIgJF9lY2hvZXJyb3JzID0gZmFsc2U7DQogICAgdmFyICRfZWNob3NxbCA9IGZhbHNlOw0KICAgIHZhciAkX2V4cGFuZGNvbHVtbiA9IGZhbHNlOw0KICAgIHZhciAkX2lkZmllbGRuYW1lID0gImlkIjsNCg0KICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCR0YWJsZW5hbWUsICRmZWF0dXJlcyA9IGFycmF5KCkpDQogICAgew0KICAgICAgJHRoaXMtPkluaXRpYWxpemUoJHRhYmxlbmFtZSwgJGZlYXR1cmVzKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBOZW9EYigpDQogICAgew0KICAgICAgaWYgKCR0aGlzLT5fZGIgIT09IGZhbHNlKSByZXR1cm4gJHRoaXMtPl9kYjsNCiAgICAgICR0aGlzLT5fZGIgPSBjbXNtcygpLT5HZXREQigpOw0KICAgICAgcmV0dXJuICR0aGlzLT5fZGI7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gSW5pdGlhbGl6ZSgkdGFibGVuYW1lLCAkZmVhdHVyZXMgPSBhcnJheSgpKQ0KICAgIHsNCiAgICAgICR0aGlzLT5fdGFibGVuYW1lID0gJHRhYmxlbmFtZTsNCiAgICAgICR0aGlzLT5fZmVhdHVyZXMgPSAkZmVhdHVyZXM7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gQ3JlYXRlVGFibGUoJGNvbHVtbnMsICRkb3NlcSA9IHRydWUpDQogICAgew0KICAgICAgJGRiID0gJHRoaXMtPk5lb0RiKCk7DQoNCiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCiAgICAgIC8qJGZsZHMgPSAiDQogICAgICAgIG5ld3NfaWQgSSBLRVksDQogICAgICAgIG5ld3NfY2F0ZWdvcnlfaWQgSSwNCiAgICAgICAgbmV3c190aXRsZSBDKDI1NSksDQogICAgICAgIG5ld3NfZGF0YSBYLA0KICAgICAgICBuZXdzX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsDQogICAgICAgIHN1bW1hcnkgWCwNCiAgICAgICAgc3RhcnRfdGltZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwNCiAgICAgICAgZW5kX3RpbWUgIiAuIENNU19BRE9EQl9EVCAuICIsDQogICAgICAgIHN0YXR1cyBDKDI1KSwNCiAgICAgICAgaWNvbiBDKDI1NSksDQogICAgICAgIGNyZWF0ZV9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiLA0KICAgICAgICBtb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiLA0KICAgICAgICBhdXRob3JfaWQgSSwNCiAgICAgICAgICAgICAgbmV3c19leHRyYSBDKDI1NSksDQogICAgICAgICAgICAgIG5ld3NfdXJsIEMoMjU1KQ0KICAgICAgIjsgLy8gaWNvbiBpcyBubyBsb25nZXIgdXNlZC4NCiAgICAgICovDQogICAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOw0KICAgICAgaWYgKGlzX2FycmF5KCRjb2x1bW5zKSkgew0KICAgICAgICAkY29sdW1ucyA9IGltcGxvZGUoIiwiLCAkY29sdW1ucyk7DQogICAgICB9DQogICAgICAkY29sdW1ucyA9ICR0aGlzLT5faWRmaWVsZG5hbWUgLiAiIEkgS0VZLCAiIC4gJGNvbHVtbnM7DQogICAgICAvL2VjaG8gJGNvbHVtbnM7DQogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUsICRjb2x1bW5zLCAkdGFib3B0YXJyYXkpOw0KICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KICAgICAgaWYgKCRkb3NlcSkgew0KICAgICAgICAkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKSAuICR0aGlzLT5fdGFibGVuYW1lIC4gIl9zZXEiKTsNCiAgICAgIH0NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBEZXN0cm95VGFibGUoKQ0KICAgIHsNCiAgICAgICRkYiA9ICR0aGlzLT5OZW9EYigpOw0KICAgICAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X3RhYmxlbmFtZSk7DQogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgICAkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X3RhYmxlbmFtZSAuICJfc2VxIik7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gRG9lc1RhYmxlRXhpc3QoKQ0KICAgIHsNCiAgICAgICRkYiA9ICR0aGlzLT5OZW9EYigpOw0KICAgICAgJHNxbCA9ICJTRUxFQ1QgKiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X3RhYmxlbmFtZTsNCiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkc3FsKTsNCiAgICAgIGlmICghJGRicmVzdWx0KSByZXR1cm4gZmFsc2U7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBBZGRDb2x1bW4oJGNvbHVtbikNCiAgICB7DQogICAgICAkZGIgPSAkdGhpcy0+TmVvRGIoKTsNCiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUsICRjb2x1bW4vKiJuZXdzX3VybCBDKDI1NSkiKi8pOw0KICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gUmVtb3ZlQ29sdW1uKCRjb2x1bW4pDQogICAgew0KICAgICAgJGRiID0gJHRoaXMtPk5lb0RiKCk7DQogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7DQogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+RHJvcENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X3RhYmxlbmFtZSwgJGNvbHVtbi8qIm5ld3NfdXJsIEMoMjU1KSIqLyk7DQogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQogICAgfQ0KDQoNCiAgICBmdW5jdGlvbiBEb2VzQ29sdW1uRXhpc3QoJGNvbHVtbm5hbWUpDQogICAgew0KICAgICAgJGRiID0gJHRoaXMtPk5lb0RiKCk7DQoNCiAgICAgICRzcWwgPSAiU0VMRUNUICIgLiAkY29sdW1ubmFtZSAuICIgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUgLiAiIFdIRVJFIDE9MSI7DQogICAgICAvLyR2YWx1ZXM9YXJyYXkoJGlkKTsNCiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkc3FsKTsNCiAgICAgIGlmICghJGRicmVzdWx0KSByZXR1cm4gZmFsc2U7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBHZXRRTSgkY291bnQpDQogICAgew0KICAgICAgJHNpZ25zID0gIiI7DQogICAgICBmb3IgKCRpID0gMDsgJGkgPCAkY291bnQ7ICRpKyspIHsNCiAgICAgICAgaWYgKCRzaWducyAhPSAiIikgJHNpZ25zIC49ICIsIjsNCiAgICAgICAgJHNpZ25zIC49ICI/IjsNCiAgICAgIH0NCiAgICAgIHJldHVybiAkc2lnbnM7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gQ29sbGFwc1ZhcnMoJHZhcnMgPSBhcnJheSgpKQ0KICAgIHsNCiAgICAgIHJldHVybiBzZXJpYWxpemUoJHZhcnMpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEV4cGFuZFZhcnMoJHZhciA9ICIiKQ0KICAgIHsNCiAgICAgIHJldHVybiB1bnNlcmlhbGl6ZSgkdmFyKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBFeHBhbmRDb2x1bW4oJHJvdywgJGNvbHVtbikNCiAgICB7DQogICAgICAkdmFycyA9ICR0aGlzLT5FeHBhbmRWYXJzKCRyb3dbJGNvbHVtbl0pOw0KICAgICAgaWYgKGlzX2FycmF5KCR2YXJzKSkgew0KICAgICAgICBmb3JlYWNoICgkdmFycyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAkcm93WyRuYW1lXSA9ICR2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgcmV0dXJuICRyb3c7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gQWRkUm93KCRuZXd2YWx1ZXMsICRwdmFsdWVzID0gYXJyYXkoKSkNCiAgICB7DQogICAgICAvKg0KICAgICAgJGRiPWNtc21zKCktPkdldERiKCk7DQogICAgICAgICAgJG5ld2lkPSRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZGFsYl9iZXN0aWxsaW5nZXJfc2VxIik7DQogICAgICAgICAgJGtleXM9YXJyYXkoDQogICAgICAgICAgICAiaWQiDQogICAgICAgICAgICAsImNyZWF0ZWQiDQogICAgICAgICAgICAsInVwZGF0ZWQiDQogICAgICAgICAgICAsIm5hdm4iDQogICAgICAgICAgICAsImFkcmVzc2UiDQogICAgICAgICAgICAsInBvc3RuciINCiAgICAgICAgICAgICwiYnluYXZuIg0KICAgICAgICAgICAgLCJ0bGYiDQogICAgICAgICAgICAsImVtYWlsIg0KICAgICAgICAgICAgLCJpbmdlbmVtYWlsIg0KICAgICAgICAgICAgLCJueWhlZHNicmV2Ig0KICAgICAgICAgICAgLCJsZXZlcmluZyINCiAgICAgICAgICAgICwicG9zdGRhbm1hcmsiDQogICAgICAgICAgICAsImt5bGxpbmcxIg0KICAgICAgICAgICAgLCJreWxsaW5nMiINCiAgICAgICAgICAgICwia3lsbGluZzMiDQogICAgICAgICAgICAsIm11bGFyZDEiDQogICAgICAgICAgICAsIm11bGFyZDIiDQogICAgICAgICAgICAsIm11bGFyZDMiDQogICAgICAgICAgICAsImxhbmRhbmQxIg0KICAgICAgICAgICAgLCJsYW5kYW5kMiINCiAgICAgICAgICAgICwibGFuZGFuZDMiDQogICAgICAgICAgICAsImJlc2tlZCINCiAgICAgICAgICAgICwiaW50ZXJuYmVza2VkIg0KICAgICAgICAgICAgKTsNCiAgICAgICAgICAkc2lnbnM9IiI7DQogICAgICAgICAgZm9yKCRpPTA7ICRpPGNvdW50KCRrZXlzKTsgJGkrKykgew0KICAgICAgICAgICAgaWYgKCRzaWducyE9IiIpICRzaWducy49IiwiOw0KICAgICAgICAgICAgJHNpZ25zLj0iPyI7DQogICAgICAgICAgfQ0KICAgICAgZWNobyBjb3VudCgka2V5cyk7DQogICAgICAgICAgJHNxbD0iSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kYWxiX2Jlc3RpbGxpbmdlciAoIi5pbXBsb2RlKCIsIiwka2V5cykuIikgVkFMVUVTICgiLiRzaWducy4iKSI7DQoNCg0KICAgICAgICAgICR2YWx1ZXM9YXJyYXkoDQogICAgICAgICAgICAkbmV3aWQsDQogICAgICAgICAgICB0aW1lKCksDQogICAgICAgICAgICB0aW1lKCksDQogICAgICAgICAgICAkcGFyYW1zWyJuYXZuIl0sDQogICAgICAgICAgICAkcGFyYW1zWyJhZHJlc3NlIl0sDQogICAgICAgICAgICAkcGFyYW1zWyJwb3N0bnIiXSwNCiAgICAgICAgICAgICRwYXJhbXNbImJ5bmF2biJdLA0KICAgICAgICAgICAgJHBhcmFtc1sidGxmIl0sDQogICAgICAgICAgICAkcGFyYW1zWyJlbWFpbCJdLA0KICAgICAgICAgICAgJHBhcmFtc1siaW5nZW5lbWFpbCJdLA0KICAgICAgICAgICAgJHBhcmFtc1sibnloZWRzYnJldiJdLA0KICAgICAgICAgICAgJHBhcmFtc1sibGV2ZXJpbmciXSwNCiAgICAgICAgICAgICRwYXJhbXNbInBvc3RkYW5tYXJrIl0sDQogICAgICAgICAgICAkcGFyYW1zWyJreWxsaW5nMSJdLCAgICAgICRwYXJhbXNbImt5bGxpbmcyIl0sICAgICAgJHBhcmFtc1sia3lsbGluZzMiXSwNCiAgICAgICAgICAgICRwYXJhbXNbIm11bGFyZDEiXSwgICAgICAkcGFyYW1zWyJtdWxhcmQyIl0sICAgICAgJHBhcmFtc1sibXVsYXJkMyJdLA0KICAgICAgICAgICAgJHBhcmFtc1sibGFuZGFuZDEiXSwgICAgICAkcGFyYW1zWyJsYW5kYW5kMiJdLCAgICAgICRwYXJhbXNbImxhbmRhbmQzIl0sDQogICAgICAgICAgICAkcGFyYW1zWyJiZXNrZWQiXSwNCiAgICAgICAgICAgICIiIC8vSW50ZXJuYmVza2VkDQogICAgICAgICAgICApOw0KICAgICAgLy9lY2hvIGNvdW50KCR2YWx1ZXMpOw0KICAgICAgICAgICRyZXN1bHQ9JGRiLT5FeGVjdXRlKCRzcWwsJHZhbHVlcyk7DQogICAgICAgICAgaWYgKCEkcmVzdWx0KSB7DQogICAgICAgICAgICBlY2hvICJFcnJvciBpbnNlcnRpbmcgaW50byBkYXRhYmFzZTogIi4kZGItPkVycm9yTXNnKCk7DQogICAgICAgICAgICBlY2hvICRzcWw7ZGllKCk7DQogICAgICAgICAgfQ0KICAgICAgICAgIHJldHVybiAkbmV3aWQ7DQogICAgICAqLw0KDQogICAgICAkZGIgPSAkdGhpcy0+TmVvRGIoKTsNCg0KICAgICAgJG5ld2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X3RhYmxlbmFtZSAuICJfc2VxIik7DQogICAgICAka2V5cyA9IGFycmF5KCR0aGlzLT5faWRmaWVsZG5hbWUpOw0KICAgICAgJHZhbHVlcyA9IGFycmF5KCRuZXdpZCk7DQoNCiAgICAgIGlmIChlbXB0eSgkcHZhbHVlcykpIHsNCg0KICAgICAgICBmb3JlYWNoICgkbmV3dmFsdWVzIGFzICRrZXkgPT4gJHZhbHVlKSB7DQogICAgICAgICAgJGtleXNbXSA9ICRrZXk7DQogICAgICAgICAgJHZhbHVlc1tdID0gJHZhbHVlOw0KICAgICAgICB9DQogICAgICB9IGVsc2Ugew0KICAgICAgICBmb3JlYWNoICgkbmV3dmFsdWVzIGFzICRrZXkpIHsNCiAgICAgICAgICBpZiAoaXNzZXQoJHB2YWx1ZXNbJGtleV0pKSB7DQogICAgICAgICAgICAka2V5c1tdID0gJGtleTsNCiAgICAgICAgICAgICR2YWx1ZXNbXSA9ICRwdmFsdWVzWyRrZXldOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgLy9wcmludF9yKCRrZXlzKTsNCiAgICAgICRzaWducyA9ICR0aGlzLT5HZXRRTShjb3VudCgka2V5cykpOw0KICAgICAgLy8kc3FsPSJTRUxFQ1QgIi4kY29sdW1ubmFtZS4iIEZST00gIi5jbXNfZGJfcHJlZml4KCkuJHRoaXMtPl90YWJsZW5hbWUuIiBXSEVSRSAxPTEiOw0KICAgICAgJHNxbCA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUgLiAiICgiIC4gaW1wbG9kZSgiLCIsICRrZXlzKSAuICIpIFZBTFVFUyAoIiAuICRzaWducyAuICIpIjsNCiAgICAgICR0aGlzLT5UaGlzRWNobygiQWRkUm93LXNxbCIsICJzcWwiLCAkc3FsKTsNCiAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHNxbCwgJHZhbHVlcyk7DQogICAgICBpZiAoISRyZXN1bHQpIHsNCiAgICAgICAgJHRoaXMtPlRoaXNFY2hvKCJBZGRSb3ctZXJyb3IiLCAiZXJyb3IiLCAkZGItPkVycm9yTXNnKCkpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQoNCiAgICAgIHJldHVybiAkbmV3aWQ7IC8vb3IgZmFsc2UNCiAgICB9DQoNCg0KICAgIGZ1bmN0aW9uIF9wcmVwYXJlY3JpdGVyaWEoJGNyaXRlcmlhID0gYXJyYXkoKSwgJHBhcmFtcyA9IGFycmF5KCkpDQogICAgew0KICAgICAgJHJlc3VsdCA9IGFycmF5KCJzcWwiID0+ICIiLCAicGFyYW1zIiA9PiAkcGFyYW1zKTsNCiAgICAgIGlmICghZW1wdHkoJGNyaXRlcmlhKSkgew0KICAgICAgICBpZiAoaXNfYXJyYXkoJGNyaXRlcmlhKSkgew0KICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgpOw0KICAgICAgICAgIGZvcmVhY2ggKCRjcml0ZXJpYSBhcyAka2V5ID0+ICR2YWx1ZSkgew0KICAgICAgICAgICAgaWYgKCRwc3RyaW5nID09ICIiKSB7DQogICAgICAgICAgICAgICRwc3RyaW5nID0gIiBXSEVSRSAiIC4gJGtleSAuICI9PyI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAkcHN0cmluZyAuPSAiIEFORCAiIC4gJGtleSAuICI9PyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAvLyRwc3RyaW5nLj0NCiAgICAgICAgICAgICRwYXJhbXNbXSA9ICR2YWx1ZTsNCiAgICAgICAgICB9DQogICAgICAgICAgJHJlc3VsdFsic3FsIl0gPSAkcHN0cmluZzsNCiAgICAgICAgICAkcmVzdWx0WyJwYXJhbXMiXSA9IGFycmF5X21lcmdlKCRyZXN1bHRbInBhcmFtcyJdLCAkcGFyYW1zKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAkcmVzdWx0WyJzcWwiXSA9ICRjcml0ZXJpYTsNCiAgICAgICAgfQ0KDQogICAgICB9DQogICAgICByZXR1cm4gJHJlc3VsdDsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBfcHJlcGFyZXNvcnRpbmcoJHNvcnRpbmcgPSBhcnJheSgpLCAkcGFyYW1zID0gYXJyYXkoKSkNCiAgICB7DQogICAgICAkcmVzdWx0ID0gYXJyYXkoInNxbCIgPT4gIiIsICJwYXJhbXMiID0+ICRwYXJhbXMpOw0KICAgICAgaWYgKCFlbXB0eSgkc29ydGluZykpIHsNCiAgICAgICAgaWYgKGlzX2FycmF5KCRzb3J0aW5nKSkgew0KICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgpOw0KICAgICAgICAgIGZvcmVhY2ggKCRzb3J0aW5nIGFzICRrZXkpIHsNCiAgICAgICAgICAgIGlmICgkcHN0cmluZyA9PSAiIikgew0KICAgICAgICAgICAgICAkcHN0cmluZyA9ICJPUkRFUiBCWSAiIC4gJGtleTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICRwc3RyaW5nIC49ICIsIiAuICRrZXk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAvLyRwc3RyaW5nLj0NCiAgICAgICAgICAgICRyZXN1bHRbInNxbCJdID0gJHBzdHJpbmc7DQogICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICRyZXN1bHRbInNxbCJdID0gJHNvcnRpbmc7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIFVwZGF0ZVJvdygkaWQsICRuZXd2YWx1ZXMsICRwdmFsdWVzID0gYXJyYXkoKSkNCiAgICB7DQoNCiAgICAgICRkYiA9ICR0aGlzLT5OZW9EYigpOw0KDQogICAgICAkc2V0dGluZ3MgPSBhcnJheSgpOw0KICAgICAgJHZhbHVlcyA9IGFycmF5KCk7DQogICAgICBpZiAoZW1wdHkoJHB2YWx1ZXMpKSB7DQogICAgICAgIGZvcmVhY2ggKCRuZXd2YWx1ZXMgYXMgJGNvbHVtbiA9PiAkbmV3dmFsdWUpIHsNCiAgICAgICAgICAkc2V0dGluZ3NbXSA9ICRjb2x1bW4gLiAiPT8iOw0KICAgICAgICAgICR2YWx1ZXNbXSA9ICRuZXd2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgZm9yZWFjaCAoJG5ld3ZhbHVlcyBhcyAkY29sdW1uKSB7DQogICAgICAgICAgaWYgKGlzc2V0KCRwdmFsdWVzWyRjb2x1bW5dKSkgew0KICAgICAgICAgICAgJHNldHRpbmdzW10gPSAkY29sdW1uIC4gIj0/IjsNCiAgICAgICAgICAgICR2YWx1ZXNbXSA9ICRwdmFsdWVzWyRjb2x1bW5dOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgJHNldHRpbmdzID0gaW1wbG9kZSgiLCIsICRzZXR0aW5ncyk7DQogICAgICAkdmFsdWVzID0gYXJyYXlfbWVyZ2UoJHZhbHVlcywgYXJyYXkoJGlkKSk7DQogICAgICAkc3FsID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUgLiAiIFNFVCAiIC4gJHNldHRpbmdzIC4gIiBXSEVSRSAiIC4gJHRoaXMtPl9pZGZpZWxkbmFtZSAuICI9PyI7DQogICAgICAkdGhpcy0+VGhpc0VjaG8oIlVwZGF0ZVJvdy1zcWwiLCAic3FsIiwgJHNxbCk7DQogICAgICAvL2VjaG8gJHNxbDtkaWUoKTsNCiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkc3FsLCAkdmFsdWVzKTsNCiAgICAgIGlmICghJGRicmVzdWx0KSB7DQogICAgICAgICR0aGlzLT5UaGlzRWNobygiVXBkYXRlUm93LWVycm9yIiwgImVycm9yIiwgJGRiLT5FcnJvck1zZygpKTsNCiAgICAgICAgZGllKCk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICAgIHJldHVybiAkZGJyZXN1bHQ7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gVXBkYXRlUm93cygkbmV3dmFsdWVzLCAkY3JpdGVyaWEgPSAiIiwgJHB2YWx1ZXMgPSBhcnJheSgpKQ0KICAgIHsNCg0KDQogICAgICAkZGIgPSAkdGhpcy0+TmVvRGIoKTsNCg0KICAgICAgJHNldHRpbmdzID0gYXJyYXkoKTsNCiAgICAgICR2YWx1ZXMgPSBhcnJheSgpOw0KDQogICAgICBpZiAoZW1wdHkoJHB2YWx1ZXMpKSB7DQogICAgICAgIGZvcmVhY2ggKCRuZXd2YWx1ZXMgYXMgJGNvbHVtbiA9PiAkbmV3dmFsdWUpIHsNCiAgICAgICAgICAkc2V0dGluZ3NbXSA9ICRjb2x1bW4gLiAiPT8iOw0KICAgICAgICAgICR2YWx1ZXNbXSA9ICRuZXd2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgZm9yZWFjaCAoJG5ld3ZhbHVlcyBhcyAkY29sdW1uKSB7DQogICAgICAgICAgaWYgKGlzc2V0KCRwdmFsdWVzWyRjb2x1bW5dKSkgew0KICAgICAgICAgICAgJHNldHRpbmdzW10gPSAkY29sdW1uIC4gIj0/IjsNCiAgICAgICAgICAgICR2YWx1ZXNbXSA9ICRwdmFsdWVzWyRjb2x1bW5dOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICAvKiAgICBmb3JlYWNoKCRuZXd2YWx1ZXMgYXMgJGNvbHVtbj0+JG5ld3ZhbHVlKSB7DQogICAgICAgICAgICAkc2V0dGluZ3NbXT0kY29sdW1uLiI9PyI7DQogICAgICAgICAgICAkdmFsdWVzW109JG5ld3ZhbHVlOw0KICAgICAgICAgIH0NCiAgICAgICAgICAkc2V0dGluZ3M9aW1wbG9kZSgiLCIsJHNldHRpbmdzKTsNCiAgICAgICovDQoNCiAgICAgICRzcWwgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAkdGhpcy0+X3RhYmxlbmFtZSAuICIgU0VUICIgLiAkc2V0dGluZ3M7DQogICAgICAkcGNyaXQgPSAkdGhpcy0+X3ByZXBhcmVjcml0ZXJpYSgkY3JpdGVyaWEsICR2YWx1ZXMpOw0KDQogICAgICAkdGhpcy0+VGhpc0VjaG8oIlVwZGF0ZVJvd3Mtc3FsIiwgInNxbCIsICRzcWwgLiAkcGNyaXRbInNxbCJdKTsNCiAgICAgIC8vZWNobyAkc3FsLiRwY3JpdFsic3FsIl07cHJpbnRfcigkcGNyaXRbInBhcmFtcyJdKTtkaWUoKTsNCiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkc3FsIC4gJHBjcml0WyJzcWwiXSwgJHBjcml0WyJwYXJhbXMiXSk7DQoNCg0KLy8gICAgJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkc3FsLCR2YWx1ZXMpOw0KICAgICAgaWYgKCEkZGJyZXN1bHQpIHsNCiAgICAgICAgJHRoaXMtPlRoaXNFY2hvKCJVcGRhdGVSb3ctZXJyb3IiLCAiZXJyb3IiLCAkZGItPkVycm9yTXNnKCkpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQogICAgICByZXR1cm4gJGRicmVzdWx0Ow0KICAgIH0NCg0KDQogICAgZnVuY3Rpb24gRGVsZXRlUm93KCRpZCkNCiAgICB7DQogICAgICAkZGIgPSAkdGhpcy0+TmVvRGIoKTsNCg0KICAgICAgJHNxbCA9ICJERUxFVEUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUgLiAiIFdIRVJFICIgLiAkdGhpcy0+X2lkZmllbGRuYW1lIC4gIj0/IjsNCiAgICAgICR2YWx1ZXMgPSBhcnJheSgkaWQpOw0KICAgICAgJHRoaXMtPlRoaXNFY2hvKCJEZWxldGVSb3ctc3FsIiwgInNxbCIsICRzcWwpOw0KICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRzcWwsICR2YWx1ZXMpOw0KICAgICAgLy9pZiAoISRyZXN1bHQpICR0aGlzLT5FcnJvcigiZnVuY3Rpb24gRGVsZXRlRW50aXR5OiBlcnJvciBkZWxldGluZyBlbnRpdHkiLGZhbHNlLGFycmF5KCJpZCI9PiRpZCkpOw0KICAgICAgaWYgKCEkZGJyZXN1bHQpIHsNCiAgICAgICAgJHRoaXMtPlRoaXNFY2hvKCJEZWxldGVSb3ctZXJyb3IiLCAiZXJyb3IiLCAkZGItPkVycm9yTXNnKCkpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQogICAgICByZXR1cm4gJGRicmVzdWx0Ow0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIERlbGV0ZVJvd3MoJGNyaXRlcmlhID0gYXJyYXkoKSkNCiAgICB7DQogICAgICAkZGIgPSAkdGhpcy0+TmVvRGIoKTsNCiAgICAgICRzcWwgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICR0aGlzLT5fdGFibGVuYW1lOw0KICAgICAgJHBjcml0ID0gJHRoaXMtPl9wcmVwYXJlY3JpdGVyaWEoJGNyaXRlcmlhKTsNCg0KICAgICAgJHRoaXMtPlRoaXNFY2hvKCJEZWxldGVSb3dzLXNxbCIsICJzcWwiLCAkc3FsIC4gJHBjcml0WyJzcWwiXSk7DQogICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHNxbCAuICRwY3JpdFsic3FsIl0sICRwY3JpdFsicGFyYW1zIl0pOw0KICAgICAgaWYgKCEkZGJyZXN1bHQpIHsNCiAgICAgICAgJHRoaXMtPlRoaXNFY2hvKCJEZWxldGVSb3dzLWVycm9yIiwgImVycm9yIiwgJGRiLT5FcnJvck1zZygpKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgfQ0KDQogICAgICAvLyR2YWx1ZXM9YXJyYXkoJGlkKTsNCiAgICAgIC8vJGRicmVzdWx0PSRkYi0+RXhlY3V0ZSgkc3FsLCR2YWx1ZXMpOw0KICAgICAgLy9pZiAoISRyZXN1bHQpICR0aGlzLT5FcnJvcigiZnVuY3Rpb24gRGVsZXRlRW50aXR5OiBlcnJvciBkZWxldGluZyBlbnRpdHkiLGZhbHNlLGFycmF5KCJpZCI9PiRpZCkpOw0KICAgICAgcmV0dXJuICRkYnJlc3VsdDsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBHZXRSb3dCeUlEKCRpZCkNCiAgICB7DQogICAgICByZXR1cm4gJHRoaXMtPkdldFJvdygkaWQpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEdldFJvdygkaWQpDQogICAgew0KICAgICAgJGRiID0gJHRoaXMtPk5lb0RiKCk7DQoNCiAgICAgICRzcWwgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUgLiAiIFdIRVJFICIgLiAkdGhpcy0+X2lkZmllbGRuYW1lIC4gIj0/IjsNCiAgICAgICR2YWx1ZXMgPSBhcnJheSgkaWQpOw0KICAgICAgJHRoaXMtPlRoaXNFY2hvKCJHZXRSb3ctc3FsIiwgInNxbCIsICRzcWwpOw0KDQogICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHNxbCwgJHZhbHVlcyk7DQogICAgICBpZiAoISRkYnJlc3VsdCB8fCAoJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDApKSB7DQogICAgICAgICR0aGlzLT5UaGlzRWNobygiR2V0Um93LWVycm9yIiwgImVycm9yIiwgJGRiLT5FcnJvck1zZygpKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgfQ0KICAgICAgJHJlc3VsdCA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsNCiAgICAgIHJldHVybiAkcmVzdWx0Ow0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gR2V0T25lUm93KCRjcml0ZXJpYSA9IGFycmF5KCksICRmYWlsaWZtdWx0aXBsZSA9IGZhbHNlKQ0KICAgIHsNCiAgICAgICRkYiA9ICR0aGlzLT5OZW9EYigpOw0KDQogICAgICAkc3FsID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICR0aGlzLT5fdGFibGVuYW1lIC4gIiAiOw0KICAgICAgLyokcGFyYW1zPWFycmF5KCk7DQogICAgICAkc3RyaW5nPSIiOyovDQoNCiAgICAgICRwY3JpdCA9ICR0aGlzLT5fcHJlcGFyZWNyaXRlcmlhKCRjcml0ZXJpYSk7DQoNCiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkc3FsIC4gJHBjcml0WyJzcWwiXSwgJHBjcml0WyJwYXJhbXMiXSk7DQoNCiAgICAgIGlmICghJGRicmVzdWx0IHx8ICgkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCkpIHsNCiAgICAgICAgJHRoaXMtPlRoaXNFY2hvKCJHZXRPbmVSb3ctZXJyb3IiLCAiZXJyb3IiLCAkZGItPkVycm9yTXNnKCkpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQogICAgICBpZiAoJGZhaWxpZm11bHRpcGxlICYmICgkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAxKSkgew0KICAgICAgICAkdGhpcy0+VGhpc0VjaG8oIk1vcmUgdGhhbiBvbmUgcm93IHJldHVybmVkIiwgImVycm9yIik7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCg0KICAgICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsNCg0KICAgICAgLy9lY2hvIGNvdW50KCRyZXN1bHQpOw0KICAgICAgcmV0dXJuICRyb3c7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gR2V0Um93cygkY3JpdGVyaWEgPSBhcnJheSgpLCAkc29ydGluZyA9IGFycmF5KCkpDQogICAgew0KICAgICAgJGRiID0gJHRoaXMtPk5lb0RiKCk7DQoNCiAgICAgICRzcWwgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUgLiAiICI7DQoNCiAgICAgICRwY3JpdCA9ICR0aGlzLT5fcHJlcGFyZWNyaXRlcmlhKCRjcml0ZXJpYSk7DQogICAgICAkcHNvcnQgPSAkdGhpcy0+X3ByZXBhcmVzb3J0aW5nKCRzb3J0aW5nLCAkcGNyaXRbInBhcmFtcyJdKTsNCg0KICAgICAgJHNxbCA9ICRzcWwgLiAkcGNyaXRbInNxbCJdIC4gIiAiIC4gJHBzb3J0WyJzcWwiXTsNCiAgICAgICR0aGlzLT5UaGlzRWNobygiR2V0Um93QnlJRC1zcWwiLCAic3FsIiwgJHNxbCk7DQogICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHNxbCwgJHBzb3J0WyJwYXJhbXMiXSk7DQoNCg0KICAgICAgaWYgKCEkZGJyZXN1bHQpIHsNCiAgICAgICAgJHRoaXMtPlRoaXNFY2hvKCJHZXRSb3dzLWVycm9yIiwgImVycm9yIiwgJGRiLT5FcnJvck1zZygpKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgfQ0KICAgICAgaWYgKCRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAwKSB7DQogICAgICAgIHJldHVybiBhcnJheSgpOw0KICAgICAgfQ0KICAgICAgJHJlc3VsdCA9IGFycmF5KCk7DQogICAgICB3aGlsZSAoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgew0KICAgICAgICAkcmVzdWx0W10gPSAkcm93Ow0KICAgICAgfQ0KDQogICAgICAvL2VjaG8gY291bnQoJHJlc3VsdCk7DQogICAgICByZXR1cm4gJHJlc3VsdDsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBHZXRSb3dzU1FMKCRzcWwsICRwYXJhbXMgPSBhcnJheSgpKQ0KICAgIHsNCiAgICAgICRkYiA9ICR0aGlzLT5OZW9EYigpOw0KDQogICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHNxbCwgJHBhcmFtcyk7DQoNCiAgICAgIGlmICghJGRicmVzdWx0KSB7DQogICAgICAgICR0aGlzLT5UaGlzRWNobygiR2V0Um93c1NRTC1lcnJvciIsICJlcnJvciIsICRkYi0+RXJyb3JNc2coKSk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICAgIGlmICgkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPT0gMCkgew0KICAgICAgICByZXR1cm4gYXJyYXkoKTsNCiAgICAgIH0NCiAgICAgICRyZXN1bHQgPSBhcnJheSgpOw0KICAgICAgd2hpbGUgKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsNCiAgICAgICAgJHJlc3VsdFtdID0gJHJvdzsNCiAgICAgIH0NCg0KICAgICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KDQoNCiAgICBmdW5jdGlvbiBHZXRPbmVSb3dTUUwoJHNxbCwgJHBhcmFtcyA9IGFycmF5KCksICRmYWlsaWZtdWx0aXBsZSA9IGZhbHNlKQ0KICAgIHsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIFJvd0NvdW50KCRjcml0ZXJpYSA9IGFycmF5KCkpDQogICAgew0KICAgICAgJGRiID0gJHRoaXMtPk5lb0RiKCk7DQoNCiAgICAgICRzcWwgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gJHRoaXMtPl90YWJsZW5hbWUgLiAiICI7DQoNCiAgICAgICRwY3JpdCA9ICR0aGlzLT5fcHJlcGFyZWNyaXRlcmlhKCRjcml0ZXJpYSk7DQoNCiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkc3FsIC4gJHBjcml0WyJzcWwiXSwgJHBjcml0WyJwYXJhbXMiXSk7DQoNCiAgICAgIGlmICghJGRicmVzdWx0KSB7DQogICAgICAgICR0aGlzLT5UaGlzRWNobygiUm93Q291bnQtZXJyb3IiLCAiZXJyb3IiLCAkZGItPkVycm9yTXNnKCkpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQoNCiAgICAgIHJldHVybiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gUm93Q291bnRTUUwoJHNxbCwgJHBhcmFtcyA9IGFycmF5KCkpDQogICAgew0KICAgICAgJGRiID0gJHRoaXMtPk5lb0RiKCk7DQoNCiAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkc3FsLCAkcGFyYW1zKTsNCg0KICAgICAgaWYgKCEkZGJyZXN1bHQpIHsNCiAgICAgICAgJHRoaXMtPlRoaXNFY2hvKCJSb3dDb3VudFNRTC1lcnJvciIsICJlcnJvciIsICRkYi0+RXJyb3JNc2coKSk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCg0KICAgICAgcmV0dXJuICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBFY2hvRXJyb3JzKCRzdGF0ZSA9IHRydWUpDQogICAgew0KICAgICAgJHRoaXMtPl9lY2hvZXJyb3JzID0gJHN0YXRlOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEVjaG9TUUwoJHN0YXRlID0gdHJ1ZSkNCiAgICB7DQogICAgICAkdGhpcy0+X2VjaG9zcWwgPSAkc3RhdGU7DQogICAgfQ0KDQoNCiAgICBmdW5jdGlvbiBUaGlzRWNobygkbWVzc2FnZSwgJHR5cGUgPSAiZXJyb3IiLCAkYWRkaXRpb25hbGVycm9yID0gIiIpDQogICAgew0KICAgICAgc3dpdGNoICgkdHlwZSkgew0KICAgICAgICBjYXNlICJlcnJvciIgOiB7DQogICAgICAgICAgaWYgKCEkdGhpcy0+X2VjaG9lcnJvcnMpIHJldHVybjsNCiAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICBjYXNlICJzcWwiIDogew0KICAgICAgICAgIGlmICghJHRoaXMtPl9lY2hvc3FsKSByZXR1cm47DQogICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIGlmICgkYWRkaXRpb25hbGVycm9yICE9ICIiKSB7DQogICAgICAgICRtZXNzYWdlIC49ICIgJnF1b3Q7IiAuICRhZGRpdGlvbmFsZXJyb3IgLiAiJnF1b3Q7IjsNCiAgICAgIH0NCiAgICAgIGVjaG8gIjxzdHJvbmc+IiAuIF9fRklMRV9fIC4gIjogIiAuICRtZXNzYWdlIC4gIiAoIiAuICR0eXBlIC4gIik8L3N0cm9uZz4iOw0KICAgIH0NCiAgfQ0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTbmlwcGV0cyc7DQokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdFYXNpbHkgYWxsb3dzIGZvciBpbnNlcnRpbmcgc25pcHBldHMgb2YgY29kZS4gV2FzOiBHbG9iYWwgQ29udGVudCBCbG9ja3MnOw0KDQoNCg0KJGxhbmdbJ2FkZHNuaXBwZXQnXT0nQWRkIHNuaXBwZXQnOw0KJGxhbmdbJ3NuaXBwZXRzJ109J1NuaXBwZXRzJzsNCiRsYW5nWydzZXR0aW5ncyddPSdTZXR0aW5ncyc7DQokbGFuZ1snY29uZmlybWRlbGV0ZXNuaXBwZXQnXT0nQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHNuaXBwZXQ/JzsNCiRsYW5nWydkZWxldGVzbmlwcGV0J109J0RlbGV0ZSBzbmlwcGV0JzsNCiRsYW5nWyduYW1lJ109J05hbWUnOw0KJGxhbmdbJ3Nob3J0Y29kZSddPSdTaG9ydGNvZGUnOw0KJGxhbmdbJ2Rlc2NyaXB0aW9uJ109J0Rlc2NyaXB0aW9uJzsNCiRsYW5nWydjb250ZW50J109J0NvbnRlbnQnOw0KJGxhbmdbJ3d5c2l3eWdhbGxvd2VkJ109J1dZU0lXWUcgYWxsb3dlZCc7DQokbGFuZ1snc21hcnR5cHJvY2VzcyddPSdEbyBTbWFydHkgcHJvY2Vzc2luZyc7DQokbGFuZ1snY29kZWV4YW1wbGUnXT0nQ29kZSBleGFtcGxlJzsNCiRsYW5nWydhY3Rpb25zJ109IkFjdGlvbnMiOw0KJGxhbmdbJ2VuYWJsZWQnXT0iRW5hYmxlZCI7DQokbGFuZ1snZGlzYWJsZWQnXT0iRGlzYWJsZWQiOw0KJGxhbmdbJ3NuaXBwZXRkZWxldGVkJ109IlNuaXBwZXQgZGVsZXRlZCI7DQokbGFuZ1snc25pcHBldHVwZGF0ZWQnXT0iU25pcHBldCB1cGRhdGVkIjsNCiRsYW5nWydzbmlwcGV0YWRkZWQnXT0iU25pcHBldCBhZGRlZCI7DQokbGFuZ1snc25pcHBldHNpbXBvcnRlZCddPSIgc25pcHBldHMgaW1wb3J0ZWQiOw0KDQoNCiRsYW5nWyJoZWxwIl09Ig0KPHA+PHN0cm9uZz5XaGF0IGRvZXMgdGhpcyBkbz88L3N0cm9uZz48L3A+DQo8cD5UaGlzIG1vZHVsZSBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgR2xvYmFsIENvbnRlbnQgQmxvY2sgd2hpY2ggd2FzIHBoYXNlZCBvdXQgb2YgdGhlIGNvcmUgZnJvbSB2ZXJzaW9uIDIuMA0KICAgIG9mIENNUyBNYWRlIFNpbXBsZS4gSW5zdGFsbGVkIG9uIGEgMS54IGluc3RhbGxhdGlvbiBpdCBhbGxvd3MgZm9yIGltcG9ydCBvZiB0aGUgZXhpc3RpbmcgY29udGVudGJsb2NrcywgYW5kDQogICAgd2lsbCBrZWVwIHRoZW0gd2hlbiB1cGdyYWRpbmcgdG8gMi54LiBDYW4gb2YgY291cnNlIGJlIGluc3RhbGxlZCBhbmQgdXNlZCBpbiBhIHBsYWluIDIueCBhcyBpdCBpcy48L3A+DQo8cD48L3A+DQo8cD48c3Ryb25nPkhvdyBkbyBJIHVzZSB0aGlzPzwvc3Ryb25nPjwvcD4NCjxwPlNpbXBsZSBhZGQgc29tZSBzbmlwcGV0cyBvbiB0aGUgYWRtaW4gcGFnZSwgYW5kIGluc2VydCB0aGVtIGludG8geW91ciBjb250ZW50IG9yIHRlbXBsYXRlcyB1c2luZw0KPGJyLz4NCjxwcmU+e1NuaXBwZXQgbmFtZT0nWFgnfTwvcHJlPg0KPGJyLz53aGVyZSBYWCBpcyBlaXRoZXIgYSBuYW1lIG9yIHRoZSBzaG9ydGNvZGUgb2YgYSBzbmlwcGV0PC9wPg0KPHA+PC9wPg0KPHA+PHN0cm9uZz5CdWdzIG9yIHN1Z2dlc3Rpb25zPzwvc3Ryb25nPjwvcD4NCjxwPlBsZWFzZSBmZWVsIGZyZWUgdG8gcmVwb3J0IGJ1Z3MgaW4gdGhlIEZvcmdlIG9yIHN1Z2dlc3QgaW1wcm92ZW1lbnRzLjwvcD4NCiI7]]></data>
	</file>
	<file>
	  <filename>/Snippet.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KaW5jbHVkZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pIC4gIi9jbGFzcy5uZW9kYi5waHAiKTsNCg0KY2xhc3MgU25pcHBldCBleHRlbmRzIENNU01vZHVsZQ0Kew0KICB2YXIgJF9zbmlwZGIgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBHZXROYW1lKCkNCiAgew0KICAgIHJldHVybiAnU25pcHBldCc7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQ0KICB7DQogICAgcmV0dXJuICR0aGlzLT5MYW5nKCJmcmllbmRseW5hbWUiKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIEhhc0FkbWluKCkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gdHJ1ZTsgfQ0KICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICcxLjExJzsgfQ0KICBmdW5jdGlvbiBBbGxvd1NtYXJ0eUNhY2hpbmcoKSB7IHJldHVybiBUUlVFOyB9DQogIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7IHJldHVybiBGQUxTRTsgfQ0KICBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgeyByZXR1cm4gRkFMU0U7IH0NCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpDQogIHsNCiAgICByZXR1cm4gJzAuMS4wJzsNCiAgfQ0KDQogIGZ1bmN0aW9uIEdldEhlbHAoKQ0KICB7DQogICAgcmV0dXJuICR0aGlzLT5MYW5nKCJoZWxwIik7DQogIH0NCg0KICBmdW5jdGlvbiBHZXRBdXRob3IoKQ0KICB7DQogICAgcmV0dXJuICdNb3J0ZW4gUG91bHNlbic7DQogIH0NCg0KDQogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkNCiAgew0KICAgIHJldHVybiAnbW9ydGVuQHBvdWxzZW4ub3JnJzsNCiAgfQ0KDQoNCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkNCiAgew0KICAgIHJldHVybiAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdjaGFuZ2Vsb2cudHBsJyk7DQogIH0NCg0KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQ0KICB7DQogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBOZXdzJykgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IENvbnRlbnQnKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsgcmV0dXJuICdjb250ZW50JzsgfQ0KDQogIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpDQogIHsNCiAgICBwYXJlbnQ6OkluaXRpYWxpemVGcm9udGVuZCgpOyAvLyBUT0RPOiBDaGFuZ2UgdGhlIGF1dG9nZW5lcmF0ZWQgc3R1Yg0KICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsNCiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsNCiAgICAvKiR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbGltaXQnLENMRUFOX0lOVCk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Jyb3dzZWNhdCcsQ0xFQU5fSU5UKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2hvd2FsbCcsQ0xFQU5fSU5UKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2hvd2FyY2hpdmUnLENMRUFOX0lOVCk7Ki8NCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbmFtZScsQ0xFQU5fU1RSSU5HKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpDQogIHsNCiAgICBwYXJlbnQ6OkluaXRpYWxpemVBZG1pbigpOyAvLyBUT0RPOiBDaGFuZ2UgdGhlIGF1dG9nZW5lcmF0ZWQgc3R1Yg0KICB9DQoNCiAgZnVuY3Rpb24gR2V0U25pcERCKCkNCiAgew0KICAgIGlmICgkdGhpcy0+X3NuaXBkYiAhPT0gZmFsc2UpIHJldHVybiAkdGhpcy0+X3NuaXBkYjsNCiAgICAkdGhpcy0+X3NuaXBkYiA9IG5ldyBOZW9EQigibW9kdWxlX3NuaXBwZXRfc25pcHMiKTsNCiAgICAkdGhpcy0+X3NuaXBkYi0+RWNob0Vycm9ycyh0cnVlKTsNCiAgICAvLyR0aGlzLT5fZmFrdHVyYWRiLT5Jbml0aWFsaXplKCJmYWt0dXJhZXIiKTsNCiAgICAvLyR0aGlzLT5fc25pcGRiLT5EZXN0cm95VGFibGUoKTsNCiAgICBpZiAoISR0aGlzLT5fc25pcGRiLT5Eb2VzVGFibGVFeGlzdCgpKSB7DQogICAgICAkdGhpcy0+X3NuaXBkYi0+Q3JlYXRlVGFibGUoDQogICAgICAgIGFycmF5KA0KICAgICAgICAgICJuYW1lIEMoMTI4KSIsDQogICAgICAgICAgInNob3J0Y29kZSBDKDMyKSIsDQogICAgICAgICAgImRlc2NyaXB0aW9uIFgiLA0KICAgICAgICAgICJjb250ZW50IFgiLA0KICAgICAgICAgICJhY3RpdmUgSSIsDQogICAgICAgICAgInd5c2l3eWdhbGxvd2VkIEkiLA0KICAgICAgICAgICJzbWFydHlwcm9jZXNzIEkiLA0KICAgICAgICAgICJjcmVhdGVkIEkiLA0KICAgICAgICAgICJ1cGRhdGVkIEkiDQogICAgICAgICkNCiAgICAgICk7DQogICAgICAvKiR0aGlzLT5fc25pcGRiLT5BZGRSb3coDQogICAgICAgIGFycmF5KCkNCiAgICAgICk7Ki8NCiAgICB9DQogICAgLyppZiAoISR0aGlzLT5Eb2VzQ29sdW1uRXhpc3QoImFrdGl2IikpIHsNCiAgICAgICR0aGlzLT5fc2lkZWRiLT5BZGRDb2x1bW4oImFrdGl2IEkiKTsNCiAgICB9DQogICAgaWYgKCEkdGhpcy0+RG9lc0NvbHVtbkV4aXN0KCJmb3Jrb3J0ZWxzZSIpKSB7DQogICAgICAkdGhpcy0+X3NpZGVkYi0+QWRkQ29sdW1uKCJmb3Jrb3J0ZWxzZSBDKDQpIik7DQogICAgfQ0KICAgIGlmICghJHRoaXMtPkRvZXNDb2x1bW5FeGlzdCgidGVhc2VyIikpIHsNCiAgICAgICR0aGlzLT5fc2lkZWRiLT5BZGRDb2x1bW4oInRlYXNlciBDKDI1NSkiKTsNCiAgICB9Ki8NCiAgICByZXR1cm4gJHRoaXMtPl9zbmlwZGI7DQogIH0NCg0KDQogIGZ1bmN0aW9uIERlbGV0ZVNuaXBwZXQoJGlkKSB7DQogICAgJHNuaXBkYj0kdGhpcy0+R2V0U25pcERCKCk7DQogICAgcmV0dXJuICRzbmlwZGItPkRlbGV0ZVJvdygkaWQpOw0KICB9DQoNCiAgZnVuY3Rpb24gQWRkU25pcHBldCgkZGF0YT1hcnJheSgpLCAkaWQ9ZmFsc2UpIHsNCg0KLy9wcmludF9yKCRkYXRhKTtkaWUoKTsNCiAgICAkbmV3c25pcD0kZGF0YTsNCiAgICAkc25pcGRiPSR0aGlzLT5HZXRTbmlwREIoKTsNCg0KICAgIGlmICghaXNzZXQoJG5ld3NuaXBbIm5hbWUiXSkpIHJldHVybiAiTmFtZSBub3Qgc2V0IjsNCiAgICBpZiAodHJpbSgkbmV3c25pcFsibmFtZSJdKT09IiIpIHJldHVybiAiTmFtZSBub3Qgc2V0IjsNCiAgICAkc25pcHM9JHNuaXBkYi0+R2V0Um93cyhhcnJheSgibmFtZSI9PiRuZXdzbmlwWyJuYW1lIl0pKTsNCiAgICAkZXJyb3I9ZmFsc2U7DQogICAgZm9yZWFjaCgkc25pcHMgYXMgJHNuaXApIHsNCiAgICAgIGlmICgkc25pcFsiaWQiXSAhPSAkaWQpIHsNCiAgICAgICAgcmV0dXJuICJOYW1lIGFscmVhZHkgZXhpc3RzIjsNCiAgICAgIH0NCiAgICB9DQoNCiAgICBpZiAoaXNzZXQoJG5ld3NuaXBbInNob3J0Y29kZSJdKSAmJiB0cmltKCRuZXdzbmlwWyJzaG9ydGNvZGUiXSE9IiIpKSB7DQogICAgICAkc25pcHM9JHNuaXBkYi0+R2V0Um93cyhhcnJheSgic2hvcnRjb2RlIj0+JG5ld3NuaXBbInNob3J0Y29kZSJdKSk7DQogICAgICAkZXJyb3I9ZmFsc2U7DQogICAgICBmb3JlYWNoKCRzbmlwcyBhcyAkc25pcCkgew0KICAgICAgICBpZiAoJHNuaXBbInNob3J0Y29kZSJdIT0iIikgew0KICAgICAgICAgIGlmICgkc25pcFsiaWQiXSAhPSAkaWQpIHsNCiAgICAgICAgICAgIHJldHVybiAiU2hvcnRjb2RlIGFscmVhZHkgZXhpc3RzIjsNCiAgICAgICAgICAgIC8vYnJlYWs7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgIC8vIGlmIChjb3VudCgkc25pcHMpPjAgICYmICRpZD09ZmFsc2UpIHJldHVybiAiU2hvcnRjb2RlIGFscmVhZHkgZXhpc3RzIjsNCiAgICB9DQogICAgaWYgKCFpc3NldCgkbmV3c25pcFsiY29udGVudCJdKSkgcmV0dXJuICJDb250ZW50IG5vdCBzZXQiOw0KICAgIGlmICh0cmltKCRuZXdzbmlwWyJjb250ZW50Il0pPT0iIikgcmV0dXJuICJDb250ZW50IG5vdCBzZXQiOw0KICAgIC8vZWNobyAiaGkiO2RpZSgpOw0KDQogICAgaWYgKCFpc3NldCgkbmV3c25pcFsid3lzaXd5Z2FsbG93ZWQiXSkpICRuZXdzbmlwWyJ3eXNpd3lnYWxsb3dlZCJdPSIwIjsNCiAgICBpZiAoIWlzc2V0KCRuZXdzbmlwWyJzbWFydHlwcm9jZXNzIl0pKSAkbmV3c25pcFsic21hcnR5cHJvY2VzcyJdPSIwIjsNCiAgICBpZiAoIWlzc2V0KCRuZXdzbmlwWyJhY3RpdmUiXSkpICRuZXdzbmlwWyJhY3RpdmUiXT0iMSI7DQogICAgaWYgKCRpZCE9PWZhbHNlKSB7DQogICAgICAkbmV3c25pcFsidXBkYXRlZCJdPXRpbWUoKTsNCiAgICAgICRzbmlwZGItPlVwZGF0ZVJvdygkaWQsICRuZXdzbmlwKTsNCiAgICB9IGVsc2Ugew0KICAgICAgJG5ld3NuaXBbImNyZWF0ZWQiXT10aW1lKCk7DQogICAgICAkbmV3c25pcFsidXBkYXRlZCJdPXRpbWUoKTsNCiAgICAgICRzbmlwZGItPkFkZFJvdygkbmV3c25pcCk7DQogICAgfQ0KDQoNCiAgfQ0KDQogIGZ1bmN0aW9uIFVwZGF0ZVNuaXBwZXQoJGlkLCAkZGF0YSkgew0KICAgIC8vcHJpbnRfcigkZGF0YSk7ZGllKCk7DQogICAgcmV0dXJuICR0aGlzLT5BZGRTbmlwcGV0KCRkYXRhLCRpZCk7DQogICAgLyokbmV3c25pcD0kZGF0YTsNCiAgICAkc25pcGRiPSR0aGlzLT5HZXRTbmlwREIoKTsNCiAgICBpZiAoIWlzc2V0KCRuZXdzbmlwWyJuYW1lIl0pKSByZXR1cm4gIk5hbWUgbm90IHNldCI7DQogICAgaWYgKHRyaW0oJG5ld3NuaXBbIm5hbWUiXSk9PSIiKSByZXR1cm4gIk5hbWUgbm90IHNldCI7DQogICAgJHNuaXBzPSRzbmlwZGItPkdldFJvd3MoYXJyYXkoIm5hbWUiPT4kbmV3c25pcFsibmFtZSJdKSk7DQogICAgaWYgKGNvdW50KCRzbmlwcyk+MCkgcmV0dXJuICJOYW1lIGFscmVhZHkgZXhpc3RzIjsNCiAgICBpZiAoaXNzZXQoJG5ld3NuaXBbInNob3J0Y29kZSJdKSkgew0KICAgICAgJHNuaXBzPSRzbmlwZGItPkdldFJvd3MoYXJyYXkoInNob3J0Y29kZSI9PiRuZXdzbmlwWyJzaG9ydGNvZGUiXSkpOw0KICAgICAgaWYgKGNvdW50KCRzbmlwcyk+MCkgcmV0dXJuICJTaG9ydGNvZGUgYWxyZWFkeSBleGlzdHMiOw0KICAgIH0NCiAgICBpZiAoIWlzc2V0KCRuZXdzbmlwWyJjb250ZW50Il0pKSByZXR1cm4gIkNvbnRlbnQgbm90IHNldCI7DQogICAgaWYgKHRyaW0oJG5ld3NuaXBbImNvbnRlbnQiXSk9PSIiKSByZXR1cm4gIkNvbnRlbnQgbm90IHNldCI7DQogICAgJG5ld3NuaXBbInVwZGF0ZWQiXT10aW1lKCk7DQogICAgaWYgKCFpc3NldCgkbmV3c25pcFsid3lzaXd5Z2FsbG93ZWQiXSkpICRuZXdzbmlwWyJ3eXNpd3lnYWxsb3dlZCJdPSIwIjsNCiAgICBpZiAoIWlzc2V0KCRuZXdzbmlwWyJzbWFydHlwcm9jZXNzIl0pKSAkbmV3c25pcFsic21hcnR5cHJvY2VzcyJdPSIwIjsNCiAgICBpZiAoIWlzc2V0KCRuZXdzbmlwWyJhY3RpdmUiXSkpICRuZXdzbmlwWyJhY3RpdmUiXT0iMSI7DQogICAgJHJlc3VsdD0kc25pcGRiLT5VcGRhdGVSb3coJGlkLCAkbmV3c25pcCk7DQogICAgcmV0dXJuICRyZXN1bHQ7DQoqLw0KICB9DQoNCiAgLy9mdW5jdGlvbg0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/tab.settings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCJjbXNtcyIpKSBleGl0Ow0KaWYgKCEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkpIGV4aXQ7DQoNCmVjaG8gIlNvbWV0aGluZyB3aWxsIGdvIGhlcmUuLi4iOw==]]></data>
	</file>
	<file>
	  <filename>/tab.snippets.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghZnVuY3Rpb25fZXhpc3RzKCJjbXNtcyIpKSBleGl0Ow0KaWYgKCEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkpIGV4aXQ7DQoNCg0KDQoNCiRzbmlwZGI9JHRoaXMtPkdldFNuaXBEQigpOw0KJHNuaXBwZXRzPSRzbmlwZGItPkdldFJvd3MoYXJyYXkoKSxhcnJheSgibmFtZSIpKTsNCiRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRkbGluayIsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHNuaXBwZXQnLCAkcmV0dXJuaWQsDQogICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywkdGhpcy0+TGFuZygnYWRkc25pcHBldCcpKS4iICIuDQogICR0aGlzLT5MYW5nKCJhZGRzbmlwcGV0IikNCiAgLCBhcnJheSgidG9kbyI9PiJuZXciKSkNCik7DQoNCg0KDQokc2hvd3NuaXBwZXRzPWFycmF5KCk7DQokcm93Y2xhc3MgPSAncm93MSc7DQovL2VjaG8gY291bnQgKCRzbmlwcGV0cyk7DQppZiAoY291bnQoJHNuaXBwZXRzKT4wKSB7DQogIGZvcmVhY2ggKCRzbmlwcGV0cyBhcyAkc25pcHBldCkgew0KICAgICRzaG93c25pcHBldD0kc25pcHBldDsNCiAgICAkc2hvd3NuaXBwZXRbIm5hbWVsaW5rIl09JHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHNuaXBwZXQnLCAkcmV0dXJuaWQsICRzbmlwcGV0WyduYW1lJ10sIGFycmF5KCd0b2RvJz0+J2VkaXQnLCdzbmlwaWQnPT4kc25pcHBldFsnaWQnXSkpOw0KICAgIGlmICgkc25pcHBldFsid3lzaXd5Z2FsbG93ZWQiXT09IjEiKSB7DQogICAgICAkc2hvd3NuaXBwZXRbInd5c2l3eWdpY29uIl09ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsJHRoaXMtPkxhbmcoJ2VuYWJsZWQnKSk7DQogICAgfSBlbHNlIHsNCiAgICAgICRzaG93c25pcHBldFsid3lzaXd5Z2ljb24iXT0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcoJ2Rpc2FibGVkJykpOw0KICAgIH0NCiAgICBpZiAoJHNuaXBwZXRbInNtYXJ0eXByb2Nlc3MiXT09IjEiKSB7DQogICAgICAkc2hvd3NuaXBwZXRbInNtYXJ0eWljb24iXT0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZygnZW5hYmxlZCcpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgJHNob3dzbmlwcGV0WyJzbWFydHlpY29uIl09ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCR0aGlzLT5MYW5nKCdkaXNhYmxlZCcpKTsNCiAgICB9DQoNCiAgICAkc2hvd3NuaXBwZXRbImNvZGUiXT0ie1NuaXBwZXQgbmFtZT0nIjsNCiAgICBpZiAodHJpbSgkc25pcHBldFsic2hvcnRjb2RlIl0pIT0iIikgew0KICAgICAgJHNob3dzbmlwcGV0WyJjb2RlIl0uPXRyaW0oJHNuaXBwZXRbInNob3J0Y29kZSJdKS4iJ30iOw0KICAgIH0gZWxzZSB7DQogICAgICAkc2hvd3NuaXBwZXRbImNvZGUiXS49dHJpbSgkc25pcHBldFsibmFtZSJdKS4iJ30iOw0KICAgIH0NCg0KICAgICRzaG93c25pcHBldFsiZWRpdGljb24iXT0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdlZGl0c25pcHBldCcsDQogICAgICAkcmV0dXJuaWQsDQogICAgICAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCR0aGlzLT5MYW5nKCdlZGl0JyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgndG9kbyc9PidlZGl0Jywnc25pcGlkJz0+JHNuaXBwZXRbJ2lkJ10pKTsNCiAgICAkc2hvd3NuaXBwZXRbImNvcHlpY29uIl09ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZWRpdHNuaXBwZXQnLA0KICAgICAgJHJldHVybmlkLA0KICAgICAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2NvcHkuZ2lmJywkdGhpcy0+TGFuZygnY29weScpLCcnLCcnLCdzeXN0ZW1pY29uJyksYXJyYXkoJ3RvZG8nPT4nY29weScsJ3NuaXBpZCc9PiRzbmlwcGV0WydpZCddKSk7DQogICAgJHNob3dzbmlwcGV0WyJkZWxldGVpY29uIl09ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZWRpdHNuaXBwZXQnLA0KICAgICAgJHJldHVybmlkLA0KICAgICAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpLGFycmF5KCd0b2RvJz0+J2RlbGV0ZScsJ3NuaXBpZCc9PiRzbmlwcGV0WydpZCddKSwNCiAgICAgICR0aGlzLT5MYW5nKCJjb25maXJtZGVsZXRlc25pcHBldCIpKTsNCg0KICAgICgkcm93Y2xhc3M9PSJyb3cxIj8kcm93Y2xhc3M9InJvdzIiOiRyb3djbGFzcz0icm93MSIpOw0KICAgICRzaG93c25pcHBldHNbXT0kc2hvd3NuaXBwZXQ7DQogIH0NCg0KfQ0KLy9lY2hvIGNvdW50KCRzaG93c25pcHBldHMpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzbmlwcGV0Y291bnQiLGNvdW50KCRzaG93c25pcHBldHMpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigic25pcHBldHMiLCRzaG93c25pcHBldHMpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZigibW9kIiwkdGhpcyk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5zbmlwcGV0cy50cGwiKTs=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admineditsnippet.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8aDM+eyR0aXRsZX08L2gzPg0KPC9kaXY+DQp7JGZvcm1zdGFydH0NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygibmFtZSIpfTwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVpbnB1dH08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCJzaG9ydGNvZGUiKX08L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzaG9ydGNvZGVpbnB1dH08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCJkZXNjcmlwdGlvbiIpfTwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRlc2NyaXB0aW9uaW5wdXR9PC9wPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygiY29udGVudCIpfTwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNvbnRlbnRpbnB1dH08L3A+DQo8L2Rpdj4NCnsqDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoImNvbnRlbnQiKX08L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjb250ZW50aW5wdXR9PC9wPg0KPC9kaXY+DQoqfQ0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoInd5c2l3eWdhbGxvd2VkIil9PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskd3lzaXd5Z2FsbG93ZWRpbnB1dH08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCJzbWFydHlwcm9jZXNzIil9PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc21hcnR5cHJvY2Vzc2lucHV0fTwvcD4NCjwvZGl2Pg0KDQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9e2lmIGlzc2V0KCRhcHBseSl9eyRhcHBseX17L2lmfTwvcD4NCjwvZGl2Pg0KeyRmb3JtZW5kfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/adminsettings.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/adminsnippets.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRhZGRsaW5rfQ0KDQoNCntpZiAkc25pcHBldGNvdW50PjB9DQo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgaWQ9InNuaXBwZXRsaXN0Ij4NCiAgICA8dGhlYWQ+DQogICAgPHRyPg0KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoIm5hbWUiKX08L3RoPg0KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoInNob3J0Y29kZSIpfTwvdGg+DQogICAgICAgIDx0aD57JG1vZC0+TGFuZygiY29kZWV4YW1wbGUiKX08L3RoPg0KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoImRlc2NyaXB0aW9uIil9PC90aD4NCiAgICAgICAgeyo8dGg+eyRjYXRlZ29yeXRleHR9PC90aD4qfQ0KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TGFuZygid3lzaXd5Z2FsbG93ZWQiKX08L3RoPg0KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TGFuZygic21hcnR5cHJvY2VzcyIpfTwvdGg+DQogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskbW9kLT5MYW5nKCJhY3Rpb25zIil9PC90aD4NCiAgICAgICAgeyo8dGggY2xhc3M9InBhZ2VpY29uIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxhbGwiIHZhbHVlPSIxIiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3NlbGVjdGFsbCcpfSIvPjwvdGg+Kn0NCiAgICA8L3RyPg0KICAgIDwvdGhlYWQ+DQogICAgPHRib2R5Pg0Ke2ZvcmVhY2ggZnJvbT0kc25pcHBldHMgaXRlbT1zbmlwcGV0fQ0KICAgIDx0ciBjbGFzcz0ieyRzbmlwcGV0LnJvd2NsYXNzfSI+DQogICAgPHRkPnskc25pcHBldC5uYW1lbGlua308L3RkPg0KICAgIDx0ZD57JHNuaXBwZXQuc2hvcnRjb2RlfTwvdGQ+DQogICAgICAgIDx0ZD57JHNuaXBwZXQuY29kZX08L3RkPg0KICAgIDx0ZD57JHNuaXBwZXQuZGVzY3JpcHRpb259PC90ZD4NCiAgICA8dGQ+eyRzbmlwcGV0Lnd5c2l3eWdpY29ufTwvdGQ+DQogICAgPHRkPnskc25pcHBldC5zbWFydHlpY29ufTwvdGQ+DQogICAgPHRkPg0KICAgICAgICA8dGFibGU+DQogICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgPHRkPnskc25pcHBldC5lZGl0aWNvbn08L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD57JHNuaXBwZXQuY29weWljb259PC90ZD4NCiAgICAgICAgICAgICAgICA8dGQ+eyRzbmlwcGV0LmRlbGV0ZWljb259PC90ZD4NCiAgICAgICAgICAgIDwvdHI+DQogICAgICAgIDwvdGFibGU+DQoNCiAgICA8L3RkPg0KDQoNCjwvdHI+DQoNCiAgICB7L2ZvcmVhY2h9DQogICAgPC90Ym9keT4NCiAgICA8L3RhYmxlPg0KDQoNCnskYWRkbGlua30NCntlbHNlfQ0KICAgIDxici8+Tm8gc25pcHBldHMgZGVmaW5lZA0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/changelog.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPg0KICAgIDxsaT4wLjEuMCAtIEluaXRpYWwgcmVsZWFzZTwvbGk+DQo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
</module>
