<?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>Zipper</name>
	<version>0.0.1</version>
  <mincmsversion>1.5.0</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGhlbHBzIG1ha2luZyB6aXAgZmlsZXMgZWFzaWx5LjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRoaXMgbW9kdWxlIHJlcXVpcmVzIFppcEFyY2hpdmUgYW5kIFppcCBleHRlbnNpb24gKHNlZSBkb2M6IGh0dHA6Ly9iZTIucGhwLm5ldC9tYW51YWwvZW4vYm9vay56aXAucGhwKTwvcD4KPGgzPlVzZSBpdCBpbiBmcm9udGVuZDwvaDM+CjxwPlRvIHVzZSBpdCBpbiB0aGUgZnJvbnRlbmQsIHlvdSBoYXZlIHRvIGZvbGxvdyB0aGUgZm9sbG93aW5nIHN0ZXBzOjwvcD4KPGg0PjEuIFByZXBhcmUgdGhlIGxpc3Qgb2YgZmlsZXM8L2g0Pgo8cD5JbnZvcXVlIHRoZSBhY3Rpb24gInByZXBhcmUiICh7WmlwcGVyIGFjdGlvbj0icHJlcGFyZSIgc3RhY2s9Im15c3RhY2siIGZpbGVuYW1lPSIvbXkvcGF0aC9maWxlbmFtZS50eHQifSlmb3IgZWFjaCBmaWxlcyB5b3Ugd2FudCB0byBhZGQgaW4gdGhlIHppcCBmaWxlLiBZb3UgaGF2ZSB0byB1c2UgdGhlIHBhcmFtICJzdGFjayIgd2hpY2ggaXMgdGhlIGdsb2JhbCBuYW1lIG9mIHlvdXIgemlwIGZpbGUgYW5kIHRoZSBwYXJhbSAiZmlsZW5hbWUiIChhYnNvbHV0ZSBvciBmcm9tIHRoZSB1cGxvYWRzIHBhdGggb3IgZnJvbSB0aGUgcm9vdCBwYXRoKS4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBhcmFtICJwYXRoIiAod2l0aCBzdGFydGluZyBhbmQgZW5kaW5nICIvIikuPC9wPgo8aDQ+Mi4gQnVpbGQgdGhlIGZpbGU8L2g0Pgo8cD5XaGVuIHlvdSBhcmUgcmVhZHksIGNhbGwgdGhlIGRlZmF1bHQgYWN0aW9uICh7WmlwcGVyIHN0YWNrPSJteXN0YWNrIn0pLiBJdCByZXR1cm4gdGhlIGZpbGVuYW1lIGluIGNhc2Ugb2Ygc3VjY2Vzcy4gWW91IGNhbiBzcGVjaWZ5IGEgZGVzaXJlZCBmaWxlbmFtZSBmb3IgdGhlIHppcCB3aXRoIHRoZSBwYXJhbSAiZmlsZW5hbWUiLjwvcD4KPGgzPkhvdyB0byB1c2UgaXQgZnJvbSBhbm90aGVyIG1vZHVsZSA/IChJbiB0aGUgY29kZSBpdHNlbGYuLi4pPC9oMz4KPHA+WW91IGNhbiB1c2UgdGhlIGZ1bmN0aW9uIFppcEFycmF5KGFycmF5ICRmaWxlcywgJGZpbGVuYW1lID0gIiIpLiBUaGUgJGZpbGVzIGFycmF5IG11c3QgYmUgYSByZWxhdGlvbmFsIDJkIGFycmF5LiBLZXlzIGFyZSB0aGUgcGF0aCBhbmQgdmFsdWUgYXJlIHRoZSBzeXN0ZW0gZmlsZW5hbWVzLjwvcD4KPHA+WW91IGNhbiBhbHNvIHVzZSB0aGUgZGlyVG9BcnJheSgkZGlyZWN0b3J5LCAkcmVjdXJzaXZlID0gdHJ1ZSwgJHBhdGggPSAiLyIpIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBmaWxlcyBhcnJheSBmcm9tIGFuIGV4aXN0aW5nIGRpcmVjdG9yeS48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMCwgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxhIGhyZWY9Im1haWx0bzpqY2NAbW9ycmlzLWNoYXBtYW4uY29tIj4mbHQ7amNjQG1vcnJpcy1jaGFwbWFuLmNvbSZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=</help>
	<about>PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2pjY0Btb3JyaXMtY2hhcG1hbi5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMC4wLjE8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CjxsaT5WZXJzaW9uIDAuMC4xIC0gMjggSnVuZSAyMDEwLiBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD48YnIgLz4=</about>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgWmlwcGVyICJkZWZhdWx0IiBhY3Rpb24KCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCmlmKGlzc2V0KCRwYXJhbXNbJ3N0YWNrJ10pKQp7CQoJZ2xvYmFsICRaaXBwZXJfU3RhY2tzOwoJJGZpbGVzID0gJFppcHBlcl9TdGFja3NbJHBhcmFtc1snc3RhY2snXV07CgkkZmlsZW5hbWUgPSBpc3NldCgkcGFyYW1zWydmaWxlbmFtZSddKT8kcGFyYW1zWydmaWxlbmFtZSddOiR0aGlzLT5HZXROYW1lKCkgLiAnLScuIHRpbWUoKSAuICcuemlwJzsKCSR6aXBfZmlsZSA9ICR0aGlzLT56aXBBcnJheSgkZmlsZXMsICRmaWxlbmFtZSk7CgkKCWVjaG8gJHRoaXMtPmdldFVwbG9hZHNVcmwoKSAuICcvJyAuICRmaWxlbmFtZTsKfQplbHNlCnsKCWVjaG8gJzxwPicgLiAkdGhpcy0+bGFuZygnZGVmaW5lX3N0YWNrJykgLiAnPC9wPic7Cn0KCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKLyogLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KCiAgIENvZGUgZm9yIFppcHBlciAiZGVmYXVsdGFkbWluIiBhZG1pbiBhY3Rpb24KICAgCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCmlmICghY2xhc3NfZXhpc3RzKCdaaXBBcmNoaXZlJykpCnsKCWVjaG8gJzxwPicgLiAkdGhpcy0+bGFuZygnemlwYXJjaGl2ZV9ub3Rmb3VuZCcpIC4gJzwvcD4nOwoJZXhpdDsKfQoKJHppcHBlcl9wYXRoID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ppcHBlcl9wYXRoJyk7CmlmICghaXNfZGlyKCR6aXBwZXJfcGF0aCkpCnsKCQlta2RpcigkemlwcGVyX3BhdGgsIDA3NzcsIHRydWUpOwp9CgokZmlsZV90b196aXAgPSBaaXBwZXI6OmRpclRvQXJyYXkoZGlybmFtZShfX0ZJTEVfXyksIHRydWUsICcvJyAuICAkdGhpcy0+R2V0TmFtZSgpICAuJy8nKTsKJGZpbGVuYW1lID0gJHRoaXMtPkdldE5hbWUoKSAuICctJy4gJHRoaXMtPkdldFZlcnNpb24oKSAuICcuemlwJzsKJHppcF9maWxlID0gJHRoaXMtPnppcEFycmF5KCRmaWxlX3RvX3ppcCwgJGZpbGVuYW1lKTsKCj8+CjxwPjw/cGhwIGVjaG8gJHRoaXMtPmxhbmcoJ21vZHVsZV9pc193b3JraW5nJykgPz48L3A+CjxwPjxhIGhyZWY9Ijw/cGhwIGVjaG8gJHRoaXMtPmdldFVwbG9hZHNVcmwoKSAuICcvJyAuICRmaWxlbmFtZTsgPz4iIHRhcmdldD0iX25ldyI+PD9waHAgZWNobyAkdGhpcy0+bGFuZygnZG93bmxvYWRfbW9kdWxlJyk7ID8+PC9hPjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/action.prepare.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgWmlwcGVyICJkZWZhdWx0IiBhY3Rpb24KCiAgIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCiAgIAogICBUeXBpY2FsbHksIHRoaXMgd2lsbCBkaXNwbGF5IHNvbWV0aGluZyBmcm9tIGEgdGVtcGxhdGUKICAgb3IgZG8gc29tZSBvdGhlciB0YXNrLgogICAKKi8KCmlmKGlzc2V0KCRwYXJhbXNbJ3N0YWNrJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2ZpbGVuYW1lJ10pKQp7CgkkcGF0aCA9IGlzc2V0KCRwYXJhbXNbJ3BhdGgnXSk/JHBhcmFtc1sncGF0aCddOicvJzsJCgkkcGF0aCA9IHN0cl9yZXBsYWNlKCcvLycsICcvJywgJy8nIC4gJHBhdGggLiAnLycpOwoJJHBhdGggPSBzdHJfcmVwbGFjZSgnLy8nLCAnLycsICRwYXRoKTsKCQoJZ2xvYmFsICRaaXBwZXJfU3RhY2tzOwoJJFppcHBlcl9TdGFja3NbJHBhcmFtc1snc3RhY2snXV1bJHBhdGhdID0gJHBhcmFtc1snZmlsZW5hbWUnXTsKCQp9CmVsc2UKewoJZWNobyAnPHA+JyAuICR0aGlzLT5sYW5nKCdkZWZpbmVfc3RhY2tfYW5kX2ZpbGVuYW1lJykgLiAnPC9wPic7Cn0KCgo/Pg==]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1ppcHBlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Bvc3QgSW5zdGFsbCBNZXNzYWdlLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnUG9zdCBVbmluc3RhbGwgTWVzc2FnZSwgZS5nLiwgIkN1cnNlcyEgRm9pbGVkIEFnYWluISInOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gQXJlIHlvdSBzdXJlCnlvdSB3YW50IHRvIHVuc2luc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBoZWxwcyBtYWtpbmcgemlwIGZpbGVzIGVhc2lseS4nOwoKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmRbJ2FkbWluX3RpdGxlJ10gPSAnWmlwcGVyIEFkbWluIFBhbmVsJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICcnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUG9zdCBJbnN0YWxsIE1lc3NhZ2UsIChlLmcuLCBCZSBzdXJlIHRvIHNldCAiIiBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhKSc7CgoKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMC4wLjEgLSAyOCBKdW5lIDIwMTAuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGhlbHBzIG1ha2luZyB6aXAgZmlsZXMgZWFzaWx5LjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRoaXMgbW9kdWxlIHJlcXVpcmVzIFppcEFyY2hpdmUgYW5kIFppcCBleHRlbnNpb24gKHNlZSBkb2M6IGh0dHA6Ly9iZTIucGhwLm5ldC9tYW51YWwvZW4vYm9vay56aXAucGhwKTwvcD4KPGgzPlVzZSBpdCBpbiBmcm9udGVuZDwvaDM+CjxwPlRvIHVzZSBpdCBpbiB0aGUgZnJvbnRlbmQsIHlvdSBoYXZlIHRvIGZvbGxvdyB0aGUgZm9sbG93aW5nIHN0ZXBzOjwvcD4KPGg0PjEuIFByZXBhcmUgdGhlIGxpc3Qgb2YgZmlsZXM8L2g0Pgo8cD5JbnZvcXVlIHRoZSBhY3Rpb24gInByZXBhcmUiICh7WmlwcGVyIGFjdGlvbj0icHJlcGFyZSIgc3RhY2s9Im15c3RhY2siIGZpbGVuYW1lPSIvbXkvcGF0aC9maWxlbmFtZS50eHQifSlmb3IgZWFjaCBmaWxlcyB5b3Ugd2FudCB0byBhZGQgaW4gdGhlIHppcCBmaWxlLiBZb3UgaGF2ZSB0byB1c2UgdGhlIHBhcmFtICJzdGFjayIgd2hpY2ggaXMgdGhlIGdsb2JhbCBuYW1lIG9mIHlvdXIgemlwIGZpbGUgYW5kIHRoZSBwYXJhbSAiZmlsZW5hbWUiIChhYnNvbHV0ZSBvciBmcm9tIHRoZSB1cGxvYWRzIHBhdGggb3IgZnJvbSB0aGUgcm9vdCBwYXRoKS4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIHBhcmFtICJwYXRoIiAod2l0aCBzdGFydGluZyBhbmQgZW5kaW5nICIvIikuPC9wPgo8aDQ+Mi4gQnVpbGQgdGhlIGZpbGU8L2g0Pgo8cD5XaGVuIHlvdSBhcmUgcmVhZHksIGNhbGwgdGhlIGRlZmF1bHQgYWN0aW9uICh7WmlwcGVyIHN0YWNrPSJteXN0YWNrIn0pLiBJdCByZXR1cm4gdGhlIGZpbGVuYW1lIGluIGNhc2Ugb2Ygc3VjY2Vzcy4gWW91IGNhbiBzcGVjaWZ5IGEgZGVzaXJlZCBmaWxlbmFtZSBmb3IgdGhlIHppcCB3aXRoIHRoZSBwYXJhbSAiZmlsZW5hbWUiLjwvcD4KPGgzPkhvdyB0byB1c2UgaXQgZnJvbSBhbm90aGVyIG1vZHVsZSA/IChJbiB0aGUgY29kZSBpdHNlbGYuLi4pPC9oMz4KPHA+WW91IGNhbiB1c2UgdGhlIGZ1bmN0aW9uIFppcEFycmF5KGFycmF5ICRmaWxlcywgJGZpbGVuYW1lID0gIiIpLiBUaGUgJGZpbGVzIGFycmF5IG11c3QgYmUgYSByZWxhdGlvbmFsIDJkIGFycmF5LiBLZXlzIGFyZSB0aGUgcGF0aCBhbmQgdmFsdWUgYXJlIHRoZSBzeXN0ZW0gZmlsZW5hbWVzLjwvcD4KPHA+WW91IGNhbiBhbHNvIHVzZSB0aGUgZGlyVG9BcnJheSgkZGlyZWN0b3J5LCAkcmVjdXJzaXZlID0gdHJ1ZSwgJHBhdGggPSAiLyIpIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBmaWxlcyBhcnJheSBmcm9tIGFuIGV4aXN0aW5nIGRpcmVjdG9yeS48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMCwgSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxhIGhyZWY9Im1haWx0bzpqY2NAbW9ycmlzLWNoYXBtYW4uY29tIj4mbHQ7amNjQG1vcnJpcy1jaGFwbWFuLmNvbSZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKCiRsYW5nWyd6aXBhcmNoaXZlX25vdGZvdW5kJ10gPSAnVGhpcyBtb2R1bGUgcmVxdWlyZXMgUEhQIFppcEFyY2hpdmUgbGlicmFyeS4gUGxlYXNlIHJlYWQgdGhlIG1vZHVsZSBoZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uLic7CiRsYW5nWydtb2R1bGVfaXNfd29ya2luZyddID0gJ1RoZSBtb2R1bGUgaXMgd29ya2luZy4nOwokbGFuZ1snZG93bmxvYWRfbW9kdWxlJ10gPSAnRG93bmxvYWQgdGhlIHNlbGYgZ2VuZXJhdGVkIG1vZHVsZSB6aXAgZmlsZS4nOwokbGFuZ1snZGVmaW5lX3N0YWNrX2FuZF9maWxlbmFtZSddID0gJ1BsZWFzZSBkZWZpbmUgYXQgbGVhc3QgcGFyYW1zICJTdGFjayIgYW5kICJGaWxlbmFtZSIuJzsKJGxhbmdbJ2RlZmluZV9zdGFjayddID0gJ1BsZWFzZSBkZWZpbmUgYXQgbGVhc3QgcGFyYW0gIlN0YWNrIi4nOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEluc3RhbGwoKQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uCgkgICBhbmQgcHJlcG9wdWxhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsIGRhdGFiYXNlIHNlcXVlbmNlcywKCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLgoJICAgCSAgIAoJICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0CgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQoJICAgCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLgoJICAgU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBJbml0aWFsaXphdGlvbgoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKCQkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkKICAgICAgICAvLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KICAgICAgICAkZmxkcyA9ICIKCQkJaWQgSSBLRVksCgkJCWRlc2NyaXB0aW9uIEMoODApCgkJCSI7CgoJCS8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfemlwcGVyIiwKCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJLy8gY3JlYXRlIGEgc2VxdWVuY2UKCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ppcHBlcl9zZXEiKTsKCQkqLwoJCQoJCS8vIHBlcm1pc3Npb25zCgkJCgkJLy8gcHJlZmVyZW5jZXMKCQkKCQkkY29uZmlnID0mICR0aGlzLT5nZXRDb25maWcoKTsKCQkkemlwcGVyX3BhdGggPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSAuICcvTW9kdWxlcy9aaXBwZXIvJzsKCQlta2RpcigkZGVzdGluYXRpb24sIDA3NzcsIHRydWUpOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd6aXBwZXJfcGF0aCcsICR6aXBwZXJfcGF0aCk7CgoKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoJCQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbCgpCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudAoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQKCSAgIHdvdWxkIGJlIGJlc3QgdG8gbGF5IGludG8gdGhlc2UgaWRpb3RzIHdpdGggYSBjbHVlc3RpY2ssCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUKCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMKCSAgIHRoYXQgYXJlIHNwZWNpZmljIHRvIGl0LgoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJCS8qCgkJLy8gVHlwaWNhbCBEYXRhYmFzZSBSZW1vdmFsCgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQoJCS8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV96aXBwZXIiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCQkvLyByZW1vdmUgdGhlIHNlcXVlbmNlCgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ppcHBlcl9zZXEiICk7CgkJKi8KCQkKCQkvLyByZW1vdmUgdGhlIHBlcm1pc3Npb25zCgkJCgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsKCj8+]]></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[PGgzPnskdGl0bGVfc2VjdGlvbn08L2gzPgo8cD5QbGFjZSB0aGUgY29udGVudHMgb2YgeW91ciBhZG1pbiBwYW5lbCBoZXJlLjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/Zipper.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFppcHBlciAtIFRoaXMgbW9kdWxlIGhlbHBzIG1ha2luZyB6aXAgZmlsZXMgZWFzaWx5LgojIFZlcnNpb246IDAuMC4xLCBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojIFRoaXMgZmlsZSBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgTW9kdWxlTWFrZXIgbW9kdWxlLCB2ZXJzaW9uIDAuMy4xCiMgQ29weXJpZ2h0IChjKSAyMDEwIGJ5IFNhbXVlbCBHb2xkc3RlaW4gKHNqZ0BjbXNtYWRlc2ltcGxlLm9yZykgCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBGb3IgSGVscCBidWlsZGluZyBtb2R1bGVzOgojIC0gUmVhZCB0aGUgRG9jdW1lbnRhdGlvbiBhcyBpdCBiZWNvbWVzIGF2YWlsYWJsZSBhdAojICAgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy8KIyAtIENoZWNrIG91dCB0aGUgU2tlbGV0b24gTW9kdWxlIGZvciBhIGNvbW1lbnRlZCBleGFtcGxlCiMgLSBMb29rIGF0IG90aGVyIG1vZHVsZXMsIGFuZCBsZWFybiBmcm9tIHRoZSBzb3VyY2UKIyAtIENoZWNrIG91dCB0aGUgZm9ydW1zIGF0IGh0dHA6Ly9mb3J1bXMuY21zbWFkZXNpbXBsZS5vcmcKIyAtIENoYXQgd2l0aCBkZXZlbG9wZXJzIG9uIHRoZSAjY21zIElSQyBjaGFubmVsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmNsYXNzIFppcHBlciBleHRlbmRzIENNU01vZHVsZQp7Cgl2YXIgJHppcF9lcnJvcnMgPSBhcnJheSgpOwoKCWZ1bmN0aW9uIEdldE5hbWUoKQl7CQlyZXR1cm4gJ1ppcHBlcic7CX0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCXsJCXJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CX0KCWZ1bmN0aW9uIEdldFZlcnNpb24oKQl7CQlyZXR1cm4gJzAuMC4xJzsJfQoJZnVuY3Rpb24gR2V0SGVscCgpCXsJCXJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwl9CglmdW5jdGlvbiBHZXRBdXRob3IoKQl7CQlyZXR1cm4gJ0plYW4tQ2hyaXN0b3BoZSBDdXZlbGllcic7CX0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkJewkJcmV0dXJuICdqY2NAbW9ycmlzLWNoYXBtYW4uY29tJzsJfQoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkJewkJcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsJfQoJZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQl7CQlyZXR1cm4gdHJ1ZTsJfQoJZnVuY3Rpb24gSGFzQWRtaW4oKQl7CQlyZXR1cm4gdHJ1ZTsJfQoJZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkJewkJcmV0dXJuICdleHRlbnNpb25zJzsJfQoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCXsJCXJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5kZXNjcmlwdGlvbicpOwl9CglmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQl7ICAgICAgICByZXR1cm4gdHJ1ZTsJfQoJZnVuY3Rpb24gQ2hlY2tBY2Nlc3MoJHBlcm0gPSAnJykJCXsJCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCRwZXJtKTsJCX0KCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQl7CQkgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgRGlzcGxheUVycm9yUGFnZSgpCgkgICBUaGlzIGlzIGEgc2ltcGxlIGZ1bmN0aW9uIGZvciBnZW5lcmF0aW5nIGVycm9yIHBhZ2VzLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogICAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKICAgIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CgogICAgICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgICB9CgkKCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldERlcGVuZGVuY2llcygpCgkgICBZb3VyIG1vZHVsZSBtYXkgbmVlZCBhbm90aGVyIG1vZHVsZSB0byBhbHJlYWR5IGJlIGluc3RhbGxlZAoJICAgYmVmb3JlIHlvdSBjYW4gaW5zdGFsbCBpdC4KCSAgIFRoaXMgbWV0aG9kIHJldHVybnMgYSBsaXN0IG9mIHRob3NlIGRlcGVuZGVuY2llcyBhbmQKCSAgIG1pbmltdW0gdmVyc2lvbiBudW1iZXJzIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuCgkgICAKCSAgIEl0IHNob3VsZCByZXR1cm4gYW4gaGFzaCwgZWcuCgkgICByZXR1cm4gYXJyYXkoJ3NvbWVtb2R1bGUnPT4nMS4wJywgJ290aGVybW9kdWxlJz0+JzEuMScpOwoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKCXsKCQlyZXR1cm4gYXJyYXkoKTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgTWluaW11bUNNU1ZlcnNpb24oKQoJICAgWW91ciBtb2R1bGUgbWF5IHJlcXVpcmUgZnVuY3Rpb25zIG9yIG9iamVjdHMgZnJvbQoJICAgYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIENNUyBNYWRlIFNpbXBsZS4KCSAgIEV2ZXIgc2luY2UgdmVyc2lvbiAwLjExLCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggbWluaW11bQoJICAgQ01TIE1TIHZlcnNpb24gaXMgcmVxdWlyZWQgZm9yIHlvdXIgbW9kdWxlLCB3aGljaCB3aWxsCgkgICBwcmV2ZW50IGl0IGZyb20gYmVpbmcgaW5zdGFsbGVkIGJ5IGEgdmVyc2lvbiBvZiBDTVMgdGhhdAoJICAgY2FuJ3QgcnVuIGl0LgoJICAgCgkgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUKCSAgIG1pbmltdW0gdmVyc2lvbiB0aGF0IHRoaXMgbW9kdWxlIHJlcXVpcmVzLgoJICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKCXsKCQlyZXR1cm4gIjEuNS4wIjsKCX0KCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIE1heGltdW1DTVNWZXJzaW9uKCkKCSAgIFlvdSBtYXkgd2FudCB0byBwcmV2ZW50IHBlb3BsZSBmcm9tIHVzaW5nIHlvdXIgbW9kdWxlIGluCgkgICBmdXR1cmUgdmVyc2lvbnMgb2YgQ01TIE1hZGUgU2ltcGxlLCBlc3BlY2lhbGx5IGlmIHlvdQoJICAgdGhpbmsgQVBJIGZlYXR1cmVzIHlvdSB1c2UgbWF5IGNoYW5nZSAtLSBhZnRlciBhbGwsIHlvdQoJICAgbmV2ZXIgcmVhbGx5IGtub3cgaG93IHRoZSBDTVMgTVMgQVBJIGNvdWxkIGV2b2x2ZS4KCSAgIAoJICAgU28sIHRvIHByZXZlbnQgcGVvcGxlIGZyb20gZmxvb2RpbmcgeW91IHdpdGggYnVnIHJlcG9ydHMKCSAgIHdoZW4gYSBuZXcgdmVyc2lvbiBvZiBDTVMgTVMgaXMgcmVsZWFzZWQsIHlvdSBjYW4gc2ltcGx5CgkgICByZXN0cmljdCB0aGUgdmVyc2lvbi4gVGhlbiwgb2YgY291cnNlLCB0aGUgb251cyBpcyBvbiB5b3UKCSAgIHRvIHJlbGVhc2UgYSBuZXcgdmVyc2lvbiBvZiB5b3VyIG1vZHVsZSB3aGVuIGEgbmV3IHZlcnNpb24KCSAgIG9mIHRoZSBDTVMgaXMgcmVsZWFzZWQuLi4KCSAgIAoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlCgkgICBtYXhpbXVtIHZlcnNpb24gdGhhdCB0aGlzIG1vZHVsZSBzdXBwb3J0cy4KCSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qZnVuY3Rpb24gTWF4aW11bUNNU1ZlcnNpb24oKQoJewoJCXJldHVybiAiIjsKCX0KCiovCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKCSAgIEFmdGVyIGluc3RhbGxhdGlvbiwgdGhlcmUgbWF5IGJlIHRoaW5ncyB5b3Ugd2FudCB0bwoJICAgY29tbXVuaWNhdGUgdG8geW91ciBhZG1pbi4gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEKCSAgIHN0cmluZyB3aGljaCB3aWxsIGJlIGRpc3BsYXllZC4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCgkgICBBZnRlciByZW1vdmluZyBhIG1vZHVsZSwgdGhlcmUgbWF5IGJlIHRoaW5ncyB5b3Ugd2FudCB0bwoJICAgY29tbXVuaWNhdGUgdG8geW91ciBhZG1pbi4gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEKCSAgIHN0cmluZyB3aGljaCB3aWxsIGJlIGRpc3BsYXllZC4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKCX0KCgoKCgkvKioKCSAqIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQoJICogVGhpcyBhbGxvd3MgeW91IHRvIGRpc3BsYXkgYSBtZXNzYWdlIGFsb25nIHdpdGggYSBZZXMvTm8gZGlhbG9nIGJveC4gSWYgdGhlIHVzZXIgcmVzcG9uZHMKCSAqIGluIHRoZSBhZmZpcm1hdGl2ZSB0byB5b3VyIG1lc3NhZ2UsIHRoZSB1bmluc3RhbGwgd2lsbCBwcm9jZWVkLiBJZiB0aGV5IHJlc3BvbmQgaW4gdGhlCgkgKiBuZWdhdGl2ZSwgdGhlIHVuaW5zdGFsbCB3aWxsIGJlIGNhbmNlbGVkLiBUaHVzLCB5b3VyIG1lc3NhZ2Ugc2hvdWxkIGJlIG9mIHRoZSBmb3JtCgkgKiAiQWxsIG1vZHVsZSBkYXRhIHdpbGwgYmUgZGVsZXRlZC4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8iCgkgKgoJICogSWYgeW91IGRvbid0IHdhbnQgdGhlIGRpYWxvZywgaGF2ZSB0aGlzIG1ldGhvZCByZXR1cm4gYSBGQUxTRSwgd2hpY2ggd2lsbCBjYXVzZSB0aGUKCSAqIG1vZHVsZSB0byB1bmluc3RhbGwgaW1tZWRpYXRlbHkgaWYgdGhlIHVzZXIgY2xpY2tzIHRoZSAidW5pbnN0YWxsIiBsaW5rLgoJICovCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKCX0KCQoJLy8gWklQUEVSIE1FVEhPRFMKCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkaXJUb0FycmF5KCRkaXJlY3RvcnksICRyZWN1cnNpdmUgPSB0cnVlLCAkcGF0aCA9ICcvJykKCXsKCQkkZGlyID0gc2NhbmRpcigkZGlyZWN0b3J5KTsKCQkkYXJyYXkgPSBhcnJheSgpOwoJCQoJCWZvcmVhY2goJGRpciBhcyAkYXRvbSkKCQl7CgkJCWlmICgkYXRvbSAhPSAnLicgJiYgJGF0b20gIT0gJy4uJykKCQkJewoJCQkJaWYgKGlzX2ZpbGUoJGRpcmVjdG9yeSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkYXRvbSkpCgkJCQl7CgkJCQkJJGFycmF5WyRwYXRoXVtdID0gJGRpcmVjdG9yeSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkYXRvbTsKCQkJCX0KCQkJCWVsc2VpZiAoaXNfZGlyKCRkaXJlY3RvcnkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGF0b20pICYmICRyZWN1cnNpdmUgPT0gdHJ1ZSkKCQkJCXsKCQkJCQkJJGFycmF5ID0gYXJyYXlfbWVyZ2UoJGFycmF5LCBzZWxmOjpkaXJUb0FycmF5KAoJCQkJCQkkZGlyZWN0b3J5IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRhdG9tLCAKCQkJCQkgICRyZWN1cnNpdmUsIAoJCQkJCSAgJHBhdGggLiAkYXRvbSAuIERJUkVDVE9SWV9TRVBBUkFUT1IKCQkJCQkJKSk7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuICRhcnJheTsKCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjaGVja1BhdGgoJGZpbGUpCgl7CgkJLy9mb3JlYWNoICgkZmlsZXMgYXMgJHBhdGggPT4gJGZpbGUpCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBaaXBBcnJheShhcnJheSAkZmlsZXMsICRmaWxlbmFtZSA9ICcnKQoJewoJCWlmICgkZmlsZW5hbWUgPT0gJycpCgkJewoJCQkkZmlsZW5hbWUgPSAnWmlwcGVyLicgLiB0aW1lKCkgIC4gJy56aXAnOwoJCX0JCgkJCgkJJGRlc3RpbmF0aW9uID0gJHRoaXMtPmdldFVwbG9hZHNQYXRoKCkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGVuYW1lOwoJCSRjb25maWcgPSYgJHRoaXMtPmdldENvbmZpZygpOwoJCQkKCQkJCgkJaWYgKGNvdW50KCRmaWxlcykgPiAwKQoJCXsKCQkJCgkJCSR6aXAgPSBuZXcgWmlwQXJjaGl2ZSgpOwoJCQlpZiAoaXNfZmlsZSgkZGVzdGluYXRpb24pKSB1bmxpbmsoJGRlc3RpbmF0aW9uKTsKCQkJCgkJCWlmICgkemlwLT5vcGVuKCRkZXN0aW5hdGlvbiwgWklQQVJDSElWRTo6Q1JFQVRFKSA9PT0gVFJVRSkKCQkJewkJCQkKCQkJCWZvcmVhY2goJGZpbGVzIGFzICRwYXRoID0+ICRzdWJmaWxlcykKCQkJCXsKCQkJCQlmb3JlYWNoICgkc3ViZmlsZXMgYXMgJGZpbGUpCgkJCQkJewoJCQkJCQlpZiAoaXNfZmlsZSgkZmlsZSkpCgkJCQkJCXsKCQkJCQkJCSR6aXAtPmFkZEZpbGUoJGZpbGUsICRwYXRoIC4gYmFzZW5hbWUoJGZpbGUpKTsKCQkJCQkJfQoJCQkJCQllbHNlaWYoaXNfZmlsZSgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSkpCgkJCQkJCXsJCQkJCQkJCgkJCQkJCQkkemlwLT5hZGRGaWxlKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkcGF0aCAuIGJhc2VuYW1lKCRmaWxlKSk7CgkJCQkJCX0KCQkJCQkJZWxzZWlmKGlzX2ZpbGUoJGNvbmZpZ1sncm9vdF9wYXRoJ10gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUpKQoJCQkJCQl7CQkJCQkJCQoJCQkJCQkJJHppcC0+YWRkRmlsZSgkY29uZmlnWydyb290X3BhdGgnXSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJHBhdGggLiBiYXNlbmFtZSgkZmlsZSkpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJJHppcC0+Y2xvc2UoKTsKCQkJfQoJCX0KCQlyZXR1cm4gJGZpbGVuYW1lOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0VXBsb2Fkc1BhdGgoKQoJewoJCQkkY29uZmlnID0mICR0aGlzLT5nZXRDb25maWcoKTsgLy8gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10KCQkJcmV0dXJuICRjb25maWdbJ3VwbG9hZHNfcGF0aCddIC4gJy9Nb2R1bGVzL1ppcHBlcic7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRVcGxvYWRzVXJsKCkKCXsKCQkJJGNvbmZpZyA9JiAkdGhpcy0+Z2V0Q29uZmlnKCk7IC8vICRjb25maWdbJ3VwbG9hZHNfcGF0aCddCgkJCXJldHVybiAkY29uZmlnWyd1cGxvYWRzX3VybCddIC4gJy9Nb2R1bGVzL1ppcHBlcic7Cgl9CgkKfQoKPz4K]]></data>
	</file>
</module>
