<?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>PaymentMadeSimple</name>
	<version>1.3</version>
  <mincmsversion>1.8.1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIHN1cHBvcnRpbmcgdGhlIHBheW1lbnQgZmxvdyBvZiBjdXN0b21lcnMgYXMgYW4gYWRkaXRpb24gdG8gdGhlIENhcnQgTWFkZSBTaW1wbGUgTW9kdWxlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRoaXMgbW9kdWxlIHdpbGwgbW9zdGx5IHVzZWQgaW4gdGhlIGJhY2sgb2ZmaWNlLiBTaW5jZSBpdCBjb250cm9sZXMgaW5mb3JtYXRpb24gb24gcGF5bWVudHMuIEFmdGVyIGluc3RhbGxpbmcgaXQsIG1ha2Ugc3VyZSB0aGF0IG9uZSBvciBtb3JlIGdhdGV3YXlzIGFyZSAKCXR1cm5lZCBhY3RpdmUuIE9uZSBwYXltZW50IG1ldGhvZCBpcyBzaG93biBhbHdheXMgb24gdGhlIGZyb250IGVuZDogJ21hbnVhbCBwYXltZW50Jy4gTmV4dCB0byB0aGlzIG9ubHkgb25lIG9mIHRoZSBhY3RpdmUgZ2F0ZXdheXMgY2FuIGJlIHNlbGVjdGVkIAoJYnkgdGhlIGN1c3RvbWVyLjxicj4KVG8gY3JlYXRlIHlvdXIgb3duIG5ldyBnYXRld2F5LCBjb3B5IGZpbGUgZ3cuUGF5UGFsLnBocCB0byBmb3IgZXhhbXBsZSBndy5nb2xkcGF5ZGVsdXhlLnBocC4gbWFrZSB0aGUgY2hhbmdlcyBpbiB0aGUgcHJvZ3JhbSBuZWVkZWQgZm9yIHRoZSAnZ29sZHBheSBkZSBsdXhlJwpwYXltZW50IGdhdGV3YXkuIFVzZSB0aGUgbGluayAnUmVmcmVzaCcgdG8gaW5jbHVkZSB0aGUgbmV3bHkgY3JlYXRlZCBnYXRld2F5IGluIHRoZSBiYWNrIGVuZC4gTWFrZSBzdXJlIHRoZSBzdGF0dXMgaXMgYWN0aXZlIGFuZCB0aGUgZ2F0ZXdheSBjYW4gYmUgc2VsZWN0ZWQgb24gdGhlIGZyb250IGVuZCBieSB0aGUgY3VzdG9tZXIuPGJyPgpJZiB0aGUgcmVmcmVzaCBmdW5jdGlvbiBnaXZlcyBhbiBlcnJvciwgdHJ5IGl0IGFnYWluIGFmdGVyIGNoYW5naW5nIHRoZSAnUGFydCBvZiBnYXRld2F5Y29kZS4uJyBpbiB0aGUgT3B0aW9ucyB0YWIuPGJyPgpOb3RlOjxicj4KU2luY2UgeW91IGhhdmUgdGhpcyBzb2Z0d2FyZSBmb3IgZnJlZSwgdGhlIGRldmVsb3BtZW50IHRlYW0gd291bGQgbGlrZSB5b3UgdG8gc2hhcmUgYW55IG5ldyBnYXRld2F5IHRoYXQgeW91IGhhdmUgcHJlcGFyZWQuIFRoZSBnYXRld2F5IGNhbiB0aGVuIGJlIGluY29ycG9yYXRlZCBpbiB0aGUgbmV4dCByZWxlYXNlIG9yIHB1dCB1cCBpbiB0aGUgZm9yZ2Ugc2VwYXJhdGVseS4gU28gbGV0IHRoaXMgbW9kdWxlIGdyb3csIGxpa2UgdGhlIGRldmVsb3BlcnMgb2YgdGhpcyBtb2R1bGUgbGV0IENNU01TIGdyb3chPC9wPgo8cD5Gb3IgUGF5UGFsIGdhdGV3YXkgdXNlcnM6PGJyPklmIHlvdSBoYXZlIHR1cm5lZCBvbiB0byBzZWUgZGV0YWlscyBvZiB0aGUgcGF5bWVudHMgKHNvIG11bHRpcGxlIGl0ZW1zIGluIHBheW1lbnQgb3ZlcnZpZXcgd2l0aGluIFBheVBhbCkgYW5kIHRoZSAKc2hpcHBpbmcgYW1vdW50IGlzIG5vdCB0cmFuc2ZlcnJlZCBpbnRvIFBheVBhbDogVHVybiBvbiBvdmVycmlkZSBwcm9maWxlIGluIHRoZSBzaGlwcGluZyBwYXJ0IHdpdGhpbiBQYXlQYWwuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IER1a2V0b3duJ3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZHVrZXRvd24uZXUiPkR1a2V0b3duIENNUyBtb2R1bGVzPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5PY2Nhc2lvbmFsbHkgdGhlIGF1dGhvciBjYW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgY2FuIGJ1eSB0aGUgYm9vayBmcm9tIER1a2V0b3duLjwvbGk+CjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LTIwMTAsIER1a2V0b3duLiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q2FydE1hZGVTaW1wbGUgPSZndDsgMC4zLjA8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBEdWtldG93bjxiciAvPjxiciAvPlZlcnNpb246IDEuMzxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KCTxsaT5WZXJzaW9uIDEuMyAyMSBOb3ZlbWJlciAyMDEwPGJyPgoJCTx1bD4KCQkJPGxpPkluY2x1ZGVkIG5ldyB0YWJsZSB0byBob2xkIHBheW1lbnQgaW5mb3JtYXRpb24gcmV0cmlldmVkIGZyb20gYmFua3MuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMiAxMiBOb3ZlbWJlciAyMDEwPGJyIC8+CgkJPHVsPgoJCQk8bGk+VHlwbyBpbiBQYXlQYWwgZ2F0ZXdheSBjYXVzZWQgY29ycmVjdCB3b3JraW5nIG9mIHBheW1lbnQgZmxvdyAoYnVnIzogNTQ3MCk7PC9saT4KCQkJPGxpPlR5cG8gaW4gdW5pbnN0YWxsIG1lc3NhZ2U7PC9saT4KCQkJPGxpPkNoYW5nZSBpbiAncmVmcmVzaCcgcHJvY2Vzcywgbm93IGluc2VydHMgcGFyYW1ldGVycyBvZiBnYXRld2F5cyBhcyB3ZWxsOzwvbGk+CgkJCTxsaT5QYXJhbWV0ZXIgY3VycmVuY3kgd2FzIG5vdCBjb3JyZWN0bHkgcGFzc2VkIHRvIFBheVBhbDs8L2xpPgoJCQk8bGk+R2V0IHJpZCBvZiBwdWJsaWMgbWVtYmVyIHZhcmlhYmxlcyBzdWNoIGFzICdnbG9iYWwgJGdDbXMnOzwvbGk+CgkJCTxsaT5NaW5pbXVtIHZlcnNpb24gc2V0IHRvIDEuOC4xIGR1ZSB0byByZW1vdmFsIHB1YmxpYyBtZW1iZXIgdmFyaWFibGVzLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAxLjEgMTIgU2VwdGVtYmVyIDIwMTA8YnI+CgkJPHVsPgoJCQk8bGk+TGFuZ3VhZ2Ugb2YgUGF5UGFsIHNjcmVlbnMgZm9yIGN1c3RvbWVyIGNhbiBub3cgYmUgc2V0IHdpdGggbmV3IHBhcmFtZXRlcjogbGFuZ3VhZ2VfY29kZTs8L2xpPgoJCQk8bGk+QWxsb3cgbW9kdWxlIHRvIHJ1biBpbiAxLjkgZW52aXJvbm1lbnQgb2YgQ01TTVMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMC41IE9jdCAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPk5vICdzb2Z0d2FyZScgZGVwZW5kZW5jaWVzIG9uIENhcnQgYW5kIFNob3AgTWFkZSBTaW1wbGUgYW55bW9yZTs8L2xpPgoJCQk8bGk+TWFrZSBzdXJlIHRoYXQgaWYgTW9kdWxlIENhcnQgTWFkZSBTaW1wbGUgaXMgaW5zdGFsbGVkLCB0aGUgdmVyc2lvbiBzaG91bGQgYmUgYXQgbGVhc3QgMC4yLjUgdG8gd29yayBjb3JyZWN0bHkgd2l0aCBQYXlQYWwuPC9saT4KCQkJPGxpPkl0ZW0gYW5kIGl0cyBhbW91bnQgZm9yIFBheVBhbCBnYXRld2F5IG1vdmVkIHRvIENhcnQgTWFkZSBTaW1wbGUgdG8gb3BlbiBnYXRld2F5IGZvciBvdGhlciBtb2R1bGVzOzwvbGk+CgkJCTxsaT5OZXcgUGF5UGFsIGF0dHJpYnV0ZXM6CgkJCQk8dWw+CgkJCQkJPGxpPmNhcnRzdHlsZTogdG8gaGFuZGxlIG9uZSB0b3RhbCBhbW91bnQgb3IgbXVsdGlwbGUgZGV0YWlsIGxpbmVzIGluIHBheW1lbnQgcmVxdWVzdDs8L2xpPgoJCQkJCTxsaT5jYW5jZWxfcmV0dXJuOiB0aGUgcGFnZSB0byByZXR1cm4gdG8gd2hlbiBwYXltZW50IGlzIGNhbmNlbGVkLiBEdXJpbmcgaW5zdGFsbC91cGdyYWRlIHNldCB0byBob21lIHBhZ2U7PC9saT4KCQkJCQk8bGk+cmV0dXJuOiB0aGUgcGFnZSB0byByZXR1cm4gdG8sIHdoZW4gcGF5bWVudCBpcyBkb25lLiBEdXJpbmcgaW5zdGFsbC91cGdyYWRlIHNldCB0byBob21lIHBhZ2U7PC9saT4KCQkJCQk8bGk+ZGVidWc6IHdpbGwgc2hvdyBhbGwgcHJlcGFyZWQgUGF5UGFsIGZpZWxkcyB3aGVuIHZhbHVlIGlzIHllcyBvciBkaWUuPGJyPgoJCQkJCUlmICd5ZXMnIHByb2Nlc3NpbmcgY29udGludWVzLiBJZiAnZGllJywgYWxsIGZpZWxkcyBhcmUgc2hvd24gYW5kIHByb2Nlc3NpbmcgcGF5bWVudCBzdG9wcy4gTm90IHNldCBkdXJpbmcgaW5zdGFsbC91cGdyYWRlLjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCQk8bGk+U2V0IG1heGltdW0gQ01TTVMgdmVyc2lvbiB0byAxLjYuOSB0byBhdm9pZCB1bmZvcnNlZW4gcHJvYmxlbXMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMC40IDE3IEp1biAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPkVycm9yIHNvbHZlZCBvbiBub3QgYmVpbmcgYWJsZSB0byBwYXkgdmlhIFBheVBhbCAoYnVnIzogMzA3Nik7PC9saT4KCQkJPGxpPkFkZGVkIG5ldyBwcmVmZXJlbmNlIGZvciByZWZyZXNoIGZ1bmN0aW9uIChidWcjOiAzMDY1KS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMS4wLjMgMDIgTWFyIDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+QmV0dGVyIGhhbmRsaW5nIG9mIHBhdGggYW5kIHByb2dyYW0gaW4gcmVmcmVzaCBvZiBnYXRld2F5cyAodGhhbmtzIHRvOiBjb21pY2JydXRlKS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMS4wLjIgMTQgRmViIDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+Tm90IGFsbCBQYXltZW50IE1hZGUgU2ltcGxlIG9iamVjdHMgd2VyZSBjb3JyZWN0bHkgcmVtb3ZlZCBkdXJpbmcgdW5pbnN0YWxsOzwvbGk+CgkJCTxsaT5QYXlQYWwgZ2F0ZXdheSBoYXMgYmVlbiBhbHRlcmVkIGZvciB0aGUgc3VibWl0IHBheW1lbnQgcGFydC4gSXQgbm93IHJlY2VpdmVzIG9yZGVyaGVhZGVyIGluZm8gZnJvbSBDYXJ0TVM7PC9saT4KCQkJPGxpPlJlZnJlc2ggZ2F0ZXdheXMgZnVuY3Rpb25hbGxpdHkgaGFzIGJlZW4gaW1wcm92ZWQuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMC4xIDEgRmViIDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+VGVtcGxhdGVzIGF2YWlsYWJsZSBmb3IgZGV2ZWxvcGVycyB0byByZXRyaWV2ZSB1c2VyIGRhdGEgdGhhdCBjYW4gYmUgcHJvbXB0ZWQuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMC4wIDExIERlYyAyMDA4LiBJbml0aWFsIFJlbGVhc2UuPC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[Payment gateways can be prepared with this module that is used by shop type modules (such as Cart Made Simple)]]></description>
	<requires>
	  <requiredname>CartMadeSimple</requiredname>
	  <requiredversion>0.3.0</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addgateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKZ2xvYmFsICRnQ21zOwokZGIgPSYgJGdDbXMtPkdldERiKCk7CgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnLCBhcnJheSgnTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJykpKTsKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10pKSB7CgkkZGVzY3JpcHRpb24gPSAkcGFyYW1zWydkZXNjcmlwdGlvbiddOwp9CgovLyBXaGVuIGFkZGluZyBhIGdhdGV3YXksIGl0IGlzIG5vdCBzZXQgdG8gYWN0aXZlIGFzIGRlZmF1bHQsIHNpbmNlIHRoZSBhZG1pbiBoYXMgcmVhbGx5IHRoaW5rIGFib3V0IGl0CmlmIChpc3NldCgkcGFyYW1zWydhY3RpdmUnXSkpIHsKCSRhY3RpdmUgPSAkcGFyYW1zWydhY3RpdmUnXTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnZ2F0ZXdheXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgokZ2F0ZXdheV9jb2RlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydnYXRld2F5X2NvZGUnXSkpIHsKCSRnYXRld2F5X2NvZGUgPSAkcGFyYW1zWydnYXRld2F5X2NvZGUnXTsKCWlmICgkZ2F0ZXdheV9jb2RlICE9ICcnKSB7CgkJJGdhdGV3YXlfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nYXRld2F5c19zZXEiKTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ2F0ZXdheXMgKGdhdGV3YXlfaWQsIGdhdGV3YXlfY29kZSwgZGVzY3JpcHRpb24sIGFjdGl2ZSApCgkJCVZBTFVFUyAoPyw/LD8sPyknOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnYXRld2F5X2lkLCAkZ2F0ZXdheV9jb2RlLCAkZGVzY3JpcHRpb24sICRhY3RpdmUpKTsKCgkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnZ2F0ZXdheWFkZGVkJywgJ2FjdGl2ZV90YWInID0+ICdnYXRld2F5cycpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJfQoJZWxzZQoJewoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vZ2F0ZXdheWNvZGVnaXZlbicpKTsKCX0KfQoKLy8gRGlzcGxheSB0ZW1wbGF0ZQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRkZ2F0ZXdheScsICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnd2NvZGV0ZXh0JywgJHRoaXMtPkxhbmcoJ2dhdGV3YXljb2RlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Z3djb2RlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdnYXRld2F5X2NvZGUnLCAkZ2F0ZXdheV9jb2RlLCAxMCwgMTAsICdjbGFzcz0iZGVmYXVsdGZvY3VzIicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnd2Rlc2N0ZXh0JywgJHRoaXMtPkxhbmcoJ2dhdGV3YXlkZXNjcmlwdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGd3ZGVzYycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZGVzY3JpcHRpb24nLCAkZGVzYywgNDAsIDQwKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYWN0aXZldGV4dCcsICR0aGlzLT5MYW5nKCdhY3RpdmUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRhY3RpdmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnYWN0aXZlJywgMSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICcnKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Z2F0ZXdheS50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.addtemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDkgYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3BtcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUGF5bWVudE1hZGVTaW1wbGUnKSkgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJywgYXJyYXkoJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSk7CglyZXR1cm47Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCnsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRlcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCi8vIFZhbGlkYXRlIHRoZSBpbnB1dAokbWVzc2FnZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQp7CgkkdGVtcGxhdGVuYW1lID0gJHBhcmFtc1sndGVtcGxhdGVuYW1lJ107CgkkdGVtcGxhdGUgPSAkcGFyYW1zWyd0ZW1wbGF0ZSddOwoJaWYgKCR0ZW1wbGF0ZW5hbWUgIT0gJycgJiYgJHRlbXBsYXRlICE9ICcnKQoJewoJCSR0aGlzLT5TZXRUZW1wbGF0ZSggJHRlbXBsYXRlbmFtZSwgJHRlbXBsYXRlLCAkdGhpcy0+R2V0TmFtZSgpKTsKCgkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGVhZGRlZCcsICdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJyk7CgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cgl9CgllbHNlCgl7CgkJaWYgKCR0ZW1wbGF0ZW5hbWUgPT0gJycpICRtZXNzYWdlIC49ICR0aGlzLT5MYW5nKCdub3RlbXBsYXRlbmFtZWdpdmVuJyk7CgkJaWYgKCR0ZW1wbGF0ZSA9PSAnJykgewoJCQlpZiAoJG1lc3NhZ2UgIT0gJycpICRtZXNzYWdlIC49ICc8YnI+JzsKCQkJJG1lc3NhZ2UgLj0gJHRoaXMtPkxhbmcoJ25vdGVtcGxhdGVjb250ZW50Z2l2ZW4nKTsKCQl9CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkbWVzc2FnZSk7Cgl9Cn0KCi8vIERpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkZHRlbXBsYXRlJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZW5hbWUnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVuYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGVtcGxhdGVuYW1lJywgJHRlbXBsYXRlbmFtZSwgNDAsIDQwLCAnY2xhc3M9ImRlZmF1bHRmb2N1cyInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlY29udGVudCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkdGVtcGxhdGUsICd0ZW1wbGF0ZScsICcnLCcnLCcnLCcnLDgwLDI1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywgJycpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZS50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiMgTm90aGluZyBuZWVkZWQgaGVyZSwgbWF5YmUgbGF0ZXIKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBQYXltZW50TWFkZVNpbXBsZScpKSB7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKfQoKLy8gQ2hlY2sgaWYgYSBzcGVjaWZpYyB0YWIgaGFzIGJlZW4gcGFzdCBhcyB0aGUgb25lIHRvIHNob3cgZmlyc3QKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmICggRkFMU0UgPT0gZW1wdHkoJHBhcmFtc1snYWN0aXZlX3RhYiddKSApIHsKCSR0YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107Cn0KZWxzZSB7CgkkdGFiID0gJ2dhdGV3YXlzJzsKfQoKIyR0aGlzLT5EaXNwbGF5QWRtaW5OYXYoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdnYXRld2F5cycsJHRoaXMtPkxhbmcoJ2dhdGV3YXlzJyksICgnZ2F0ZXdheXMnID09ICR0YWIpP3RydWU6ZmFsc2UpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3RlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RlbXBsYXRlcycpLCAoJ3RlbXBsYXRlcycgPT0gJHRhYik/dHJ1ZTpmYWxzZSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignb3B0aW9ucycsJHRoaXMtPkxhbmcoJ29wdGlvbnMnKSwgKCdvcHRpb25zJyA9PSAkdGFiKT90cnVlOmZhbHNlKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKLy8gVGhlIGNvbnRlbnQgb2YgdGhlIHRhYnMKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CgovLyAtLS0gU3RhcnQgdGFiIEdhdGV3YXlzIC0tLQplY2hvICR0aGlzLT5TdGFydFRhYignZ2F0ZXdheXMnLCAkcGFyYW1zKTsKJGN1cmdhdGV3YXkgPSAoaXNzZXQoJHBhcmFtc1snY3VyZ2F0ZXdheSddKSA/ICRwYXJhbXNbJ2N1cmdhdGV3YXknXSA6ICcnKTsKJG5ld2dhdGV3YXkgPSAkY3VyZ2F0ZXdheTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXRnYXRld2F5J10pKSB7CgkkbmV3Z2F0ZXdheSA9IChpc3NldCgkcGFyYW1zWyduZXdnYXRld2F5J10pID8gJHBhcmFtc1snbmV3Z2F0ZXdheSddIDogJG5ld2dhdGV3YXkpOwp9CgovLyBDaGVjayBpZiB0aGVyZSBhcmUgbWF5YmUgbmV3IGdhdGV3YXlzIGFkZGVkIG9uY2UgdGhlIHJlZnJlc2ggbGluayBpcyB1c2VkCmlmIChpc3NldCgkcGFyYW1zWydyZWZyZXNoZ2F0ZXdheSddKSkgewoJJGd3Y2hlY2tlZCA9ICR0aGlzLT5DaGVja0dhdGV3YXlzKCk7Cn0KCiRjdXJnYXRld2F5ID0gJG5ld2dhdGV3YXk7CiRsaXN0Z2F0ZXdheSA9IGFycmF5KCk7CiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2dhdGV3YXlzIE9SREVSIEJZIGdhdGV3YXlfY29kZSc7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJHJvd2NsYXNzID0gJ3JvdzEnOwokZW50cnlhcnJheSA9IGFycmF5KCk7Cgp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCnsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCgkkb25lcm93LT5pZCA9ICRyb3dbJ2dhdGV3YXlfaWQnXTsKCSRvbmVyb3ctPmNvZGUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Z2F0ZXdheScsICRyZXR1cm5pZCwgJHJvd1snZ2F0ZXdheV9jb2RlJ10sIGFycmF5KCdnYXRld2F5X2lkJz0+JHJvd1snZ2F0ZXdheV9pZCddKSk7Cgkkb25lcm93LT5kZXNjcmlwdGlvbiA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRnYXRld2F5JywgJHJldHVybmlkLCAkcm93WydkZXNjcmlwdGlvbiddLCBhcnJheSgnZ2F0ZXdheV9pZCc9PiRyb3dbJ2dhdGV3YXlfaWQnXSkpOwoJaWYgKCAkcm93WydhY3RpdmUnXSApCgkJewoJCQkkb25lcm93LT5zdGF0dXNsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoc3RhdHVzJywgJHJldHVybmlkLCAKCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCR0aGlzLT5MYW5nKCdzZXRpbmFjdGl2ZScpLAoJCQkJJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgndGFibGUnPT4nZ2F0ZXdheXMnLCdhY3RpdmUnPT5mYWxzZSwncmVjb3JkX2lkJz0+JHJvd1snZ2F0ZXdheV9pZCddKSk7CgkJfQoJZWxzZQoJCXsKCQkJJG9uZXJvdy0+c3RhdHVzbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnc3dpdGNoc3RhdHVzJywgJHJldHVybmlkLCAKCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZygnc2V0YWN0aXZlJykKCQkJCSwnJywnJywnc3lzdGVtaWNvbicpLGFycmF5KCd0YWJsZSc9PidnYXRld2F5cycsJ2FjdGl2ZSc9PnRydWUsJ3JlY29yZF9pZCc9PiRyb3dbJ2dhdGV3YXlfaWQnXSkpOwoJCX0KCgkvLyBTaG93IHRoZSBpY29ucyBuZWVkZWQgZm9yIGVkaXRpbmcsIGRlbGV0aW5nCgkkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRnYXRld2F5JywgJHJldHVybmlkLAoJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksYXJyYXkoJ2dhdGV3YXlfaWQnPT4kcm93WydnYXRld2F5X2lkJ10pKTsKCSRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVnYXRld2F5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2dhdGV3YXlfaWQnPT4kcm93WydnYXRld2F5X2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZWdhdGV3YXknLCRyb3dbJ2dhdGV3YXlfY29kZSddKSk7CgoJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgoJKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7Cn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKCi8vIFNldHVwIGxpbmtzCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkZ2F0ZXdheWxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRnYXRld2F5JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkZ2F0ZXdheScpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRnYXRld2F5bGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGdhdGV3YXknLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdhZGRnYXRld2F5JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGdhdGV3YXknLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGRnYXRld2F5JyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnYXRld2F5Y29kZXRleHQnLCAkdGhpcy0+TGFuZygnZ2F0ZXdheWNvZGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ2F0ZXdheWRlc2N0ZXh0JywgJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9uJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXR1c3RleHQnLCAkdGhpcy0+TGFuZygnc3RhdHVzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3JlZnJlc2hnYXRld2F5JywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygncmVmcmVzaGdhdGV3YXknKSwgYXJyYXkoJ3JlZnJlc2hnYXRld2F5Jz0+dHJ1ZSksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbGlzdGdhdGV3YXlzLnRwbCcpOwoKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgovLyAtLS0gU3RhcnQgdGFiIFRlbXBsYXRlcyAtLS0KZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3RlbXBsYXRlcycsICRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fbGlzdHRlbXBsYXRlcy5waHAnKTsKCi8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQojZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnRlbXBsYXRlcy50cGwnKTsKCmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKLy8gLS0tIFN0YXJ0IHRhYiBPcHRpb25zIC0tLQplY2hvICR0aGlzLT5TdGFydFRhYignb3B0aW9ucycsICRwYXJhbXMpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3NhdmVfYWRtaW5fcHJlZnMnLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnYXRld2F5Y29kZXBhcnR0ZXh0JywkdGhpcy0+TGFuZygnZ2F0ZXdheWNvZGVwYXJ0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2dhdGV3YXljb2RlcGFydGlucHV0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnZ2F0ZXdheWNvZGVwYXJ0JywKCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdnYXRld2F5Y29kZXBhcnQnLCcxJyksIDEsIDMsICdjbGFzcz0iZGVmYXVsdGZvY3VzIicpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJlZnN1Ym1pdGJ1dHRvbicsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CgovLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbm9wdGlvbnMudHBsJyk7CgplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.deletegateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICBpZiAoaXNzZXQoJG5vZGUpKQogICAgewogICAgCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CiAgICAJaWYgKGlzc2V0KCRjb250ZW50KSkKICAgIAl7CiAgICAJCSRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CiAgICAJfQogICAgfQogIGVsc2UKICB7CiAgCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICAJaWYgKGlzc2V0KCRub2RlKSkKICAJewogIAkJJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CiAgCX0KICB9Cn0KCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJykpIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSk7CglyZXR1cm47Cn0KCiRnYXRld2F5X2lkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydnYXRld2F5X2lkJ10pKSB7CgkkZ2F0ZXdheV9pZCA9ICRwYXJhbXNbJ2dhdGV3YXlfaWQnXTsKfQoKLy8gUmVtb3ZlIHRoZSBnYXRld2F5IChtaWdodCBoYXZlIHRvIGNoZWNrIGlmIGFsbCBwYXltZW50cyBoYXZlIGJlZW4gcmVjZWl2ZWQgZmlyc3QpCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2dhdGV3YXlzIFdIRVJFIGdhdGV3YXlfaWQgPSA/JzsKJHJvdyA9ICRkYi0+R2V0Um93KCAkcXVlcnksIGFycmF5KCRnYXRld2F5X2lkKSApOwppZiAoJHJvdykgewoJLy8gRmlyc3QgZGVsZXRlIGFsbCB0aGUgYXR0cmlidXRlcwoJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyBXSEVSRSBnd2dhdGV3YXlfaWQgPSA/JzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnYXRld2F5X2lkKSApOwoKCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nYXRld2F5cyBXSEVSRSBnYXRld2F5X2lkID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ2F0ZXdheV9pZCkgKTsKfQoKLy8gUmVtb3ZlIHRoZSB0ZW1wbGF0ZSBub3cgaXQgaXMgbm8gbG9uZ2VyIG5lZWRlZAokdGhpcy0+RGVsZXRlVGVtcGxhdGUoICdwbXNfZ2F0ZXdheV8nIC4gJHJvd1snZ2F0ZXdheV9jb2RlJ10sICR0aGlzLT5HZXROYW1lKCkpOwoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnZ2F0ZXdheWRlbGV0ZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2dhdGV3YXlzJyk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.deletegatewayattr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICBpZiAoaXNzZXQoJG5vZGUpKQogICAgewogICAgCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CiAgICAJaWYgKGlzc2V0KCRjb250ZW50KSkKICAgIAl7CiAgICAJCSRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CiAgICAJfQogICAgfQogIGVsc2UKICB7CiAgCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICAJaWYgKGlzc2V0KCRub2RlKSkKICAJewogIAkJJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CiAgCX0KICB9Cn0KCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJykpIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSk7CglyZXR1cm47Cn0KCiRnd2dhdGV3YXlfaWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2d3Z2F0ZXdheV9pZCddKSkgewoJJGd3Z2F0ZXdheV9pZCA9ICRwYXJhbXNbJ2d3Z2F0ZXdheV9pZCddOwp9CiRnd2F0dHJfaWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2d3YXR0cl9pZCddKSkgewoJJGd3YXR0cl9pZCA9ICRwYXJhbXNbJ2d3YXR0cl9pZCddOwp9CgovLyBSZW1vdmUgdGhlIGdhdGV3YXkgYXR0cmlidXJlIChtaWdodCBoYXZlIHRvIGNoZWNrIGlmIGFsbCBwYXltZW50cyBoYXZlIGJlZW4gcmVjZWl2ZWQgZmlyc3QpCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyBXSEVSRSBnd2F0dHJfaWQgPSA/JzsKJHJvdyA9ICRkYi0+R2V0Um93KCAkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQpICk7CmlmICgkcm93KSB7CgkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzIFdIRVJFIGd3YXR0cl9pZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCkgKTsKfQoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnZ2F0ZXdheWF0dHJkZWxldGVkJywgJ2d3Z2F0ZXdheV9pZCcgPT4gJGd3Z2F0ZXdheV9pZCk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0Z2F0ZXdheScsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDkgYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3BtcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUGF5bWVudE1hZGVTaW1wbGUnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJykpKTsKCXJldHVybjsKfQoKJHRlbXBsYXRlbmFtZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVuYW1lJ10pKQp7CgkkdGVtcGxhdGVuYW1lID0gJHBhcmFtc1sndGVtcGxhdGVuYW1lJ107Cn0KCi8vIFJlbW92ZSB0aGUgdGVtcGxhdGUKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCAkdGVtcGxhdGVuYW1lLCAkdGhpcy0+R2V0TmFtZSgpKTsKCiRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ3RlbXBsYXRlZGVsZXRlZCcsICdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJyk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editgateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRkZXRhaWxwYWdlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQogIHsKICAgICRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CiAgICBpZiAoaXNzZXQoJG5vZGUpKQogICAgICB7CgkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CglpZiAoaXNzZXQoJG5vZGUpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkgIH0KICAgICAgfQogIH0KCgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnLCBhcnJheSgnTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJykpKTsKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnZ2F0ZXdheXMnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snZ2F0ZXdheV9pZCddKSkgewoJJGdhdGV3YXlfaWQgPSAkcGFyYW1zWydnYXRld2F5X2lkJ107Cn0KZWxzZSB7CgkvLyBSZXR1cm5lZCBmcm9tIGRlbGV0ZS91cGRhdGUgYXR0cmlidXRlLCB1c2UgZGlmZmVyZW50IHBhcmFtZXRlcgoJJGdhdGV3YXlfaWQgPSAkcGFyYW1zWydnd2dhdGV3YXlfaWQnXTsKfQoKJGRlc2NyaXB0aW9uID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkZXNjcmlwdGlvbiddKSkgewoJJGRlc2NyaXB0aW9uID0gJHBhcmFtc1snZGVzY3JpcHRpb24nXTsKfQoKJGFjdGl2ZSA9IDA7CmlmIChpc3NldCgkcGFyYW1zWydhY3RpdmUnXSkpIHsKCSRhY3RpdmUgPSAkcGFyYW1zWydhY3RpdmUnXTsKfQoKJGdhdGV3YXlfY29kZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZ2F0ZXdheV9jb2RlJ10pIGFuZCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIHsKCSRnYXRld2F5X2NvZGUgPSAkcGFyYW1zWydnYXRld2F5X2NvZGUnXTsKCWlmICgkZ2F0ZXdheV9jb2RlICE9ICcnKSB7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nYXRld2F5cyBTRVQgZ2F0ZXdheV9jb2RlID0gPywgZGVzY3JpcHRpb24gPSA/LCBhY3RpdmUgPSA/IFdIRVJFIGdhdGV3YXlfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ2F0ZXdheV9jb2RlLCAkZGVzY3JpcHRpb24sICRhY3RpdmUsICRnYXRld2F5X2lkKSk7CgoJCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2dhdGV3YXl1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICdnYXRld2F5cycpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJfQoJZWxzZSB7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9nYXRld2F5Y29kZWdpdmVuJykpOwoJfQoJfQplbHNlIHsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2dhdGV3YXlzIFdIRVJFIGdhdGV3YXlfaWQgPSA/JzsKCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRnYXRld2F5X2lkKSk7CgoJaWYgKCRyb3cpIHsKCQkkZ2F0ZXdheV9jb2RlID0gJHJvd1snZ2F0ZXdheV9jb2RlJ107CgkJJGRlc2NyaXB0aW9uID0gJHJvd1snZGVzY3JpcHRpb24nXTsKCQkkYWN0aXZlID0gJHJvd1snYWN0aXZlJ107Cgl9Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignZ2F0ZXdheWNvZGV0ZXh0JywgJHRoaXMtPkxhbmcoJ2dhdGV3YXljb2RlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2dhdGV3YXlkZXNjdGV4dCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGF0dXN0ZXh0JywgJHRoaXMtPkxhbmcoJ3N0YXR1cycpKTsKCi8vIERpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRnYXRld2F5JywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2d3Y29kZXRleHQnLCAkdGhpcy0+TGFuZygnZ2F0ZXdheWNvZGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRnd2NvZGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2dhdGV3YXlfY29kZScsICRnYXRld2F5X2NvZGUsIDIwLCAyMCwgJ2NsYXNzPSJkZWZhdWx0Zm9jdXMiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2d3ZGVzY3RleHQnLCAkdGhpcy0+TGFuZygnZ2F0ZXdheWRlc2NyaXB0aW9uJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Z3dkZXNjJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdkZXNjcmlwdGlvbicsICRkZXNjcmlwdGlvbiwgNDAsIDQwKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignYWN0aXZldGV4dCcsICR0aGlzLT5MYW5nKCdhY3RpdmUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRhY3RpdmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnYWN0aXZlJywgMSwgJGFjdGl2ZSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdnYXRld2F5X2lkJywgJGdhdGV3YXlfaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCi8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgYXR0cmlidXRlcyBhdmFpbGFibGUuIElmIHNvLCBzaG93IHRoZW0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnd2VkaXQnLCAnMCcpOwppZiAoaXNzZXQoJHBhcmFtc1snZ3dwYXJtJ10pIGFuZCBpc3NldCgkcGFyYW1zWydzdWJtaXRhdHRyaWQnXSkpIHsKCSRnd3Bhcm0gPSBzdHJ0b3VwcGVyKCAkcGFyYW1zWydnd3Bhcm0nXSApOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2d3ZGVzY3JpcHRpb24nXSkpIHsKCQkkZ3dkZXNjcmlwdGlvbiA9ICRwYXJhbXNbJ2d3ZGVzY3JpcHRpb24nXTsKCX0KCWlmIChpc3NldCgkcGFyYW1zWydnd3ZhbHVlJ10pKSB7CgkJJGd3dmFsdWUgPSAkcGFyYW1zWydnd3ZhbHVlJ107Cgl9CglpZiAoaXNzZXQoJHBhcmFtc1snZ3dsb2NrZWQnXSkpIHsKCQkkZ3dsb2NrZWQgPSAkcGFyYW1zWydnd2xvY2tlZCddOwoJfQoJaWYgKCRnd3Bhcm0gIT0gJycgYW5kICRnd2Rlc2NyaXB0aW9uICE9ICcnIGFuZCAkZ3d2YWx1ZSAhPSAnJykgewoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyAoZ3dhdHRyX2lkLCBnd2dhdGV3YXlfaWQsIGd3cGFybSwgZ3dkZXNjcmlwdGlvbiwgZ3d2YWx1ZSwgZ3dsb2NrZWQgKQoJCQlWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgkJLy8gSW5pdGlhbGl6ZSBmb3IgbmV4dCBlbnRyeQoJCSRnd3Bhcm0gPSAnJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICcnOwoJCSRnd3ZhbHVlID0gJyc7CgkJJGd3bG9ja2VkID0gMDsKCX0KCWVsc2UgewoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vZ3dhdHRyaWJ1dGVzZ2l2ZW4nKSk7Cgl9Cn0KJHBhcmFtc1snZ3dwYXJtJ10gPSAnJzsKCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyBXSEVSRSBnd2dhdGV3YXlfaWQgPSA/IE9SREVSIEJZIGd3cGFybSc7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnYXRld2F5X2lkKSk7Cgokcm93Y2xhc3MgPSAncm93MSc7CiRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoKCSRvbmVyb3ctPmlkID0gJHJvd1snZ3dhdHRyX2lkJ107CgkvLyBJZiB0aGUgaW5mb3JtYXRpb24gaXMgbG9ja2VkLCBvbmx5IGFsbG93IGVkaXRpbmcgdmlhIHRoZSBpY29uIChtYWtlcyBpdCBsZXNzIG9idmlvdXMgdG8gY2hhbmdlKQoJaWYgKCAkcm93Wydnd2xvY2tlZCddICkKCQl7CgkJCSRvbmVyb3ctPnBhcm0gPSAkcm93Wydnd3Bhcm0nXTsKCQkJJG9uZXJvdy0+ZGVzY3JpcHRpb24gPSAkcm93Wydnd2Rlc2NyaXB0aW9uJ107CgkJCSRvbmVyb3ctPnN0YXR1c2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzd2l0Y2hzdGF0dXMnLCAkcmV0dXJuaWQsIAoJCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsJHRoaXMtPkxhbmcoJ3NldGluYWN0aXZlJyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgndGFibGUnPT4nZ2F0ZXdheXMnLCdhY3RpdmUnPT5mYWxzZSwncmVjb3JkX2lkJz0+JHJvd1snZ2F0ZXdheV9pZCddKSk7CgkJfQoJZWxzZQoJCXsKCQkJJG9uZXJvdy0+cGFybSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRnYXRld2F5YXR0cicsICRyZXR1cm5pZCwgJHJvd1snZ3dwYXJtJ10sIGFycmF5KCdnd2dhdGV3YXlfaWQnPT4kcm93Wydnd2dhdGV3YXlfaWQnXSwgJ2d3YXR0cl9pZCc9PiRyb3dbJ2d3YXR0cl9pZCddKSk7CgkJCSRvbmVyb3ctPmRlc2NyaXB0aW9uID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGdhdGV3YXlhdHRyJywgJHJldHVybmlkLCAkcm93Wydnd2Rlc2NyaXB0aW9uJ10sIGFycmF5KCdnd2dhdGV3YXlfaWQnPT4kcm93Wydnd2dhdGV3YXlfaWQnXSwgJ2d3YXR0cl9pZCc9PiRyb3dbJ2d3YXR0cl9pZCddKSk7CgkJCSRvbmVyb3ctPnN0YXR1c2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ3N3aXRjaHN0YXR1cycsICRyZXR1cm5pZCwgCgkJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcoJ3NldGFjdGl2ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksYXJyYXkoJ3RhYmxlJz0+J2dhdGV3YXlzJywnYWN0aXZlJz0+dHJ1ZSwncmVjb3JkX2lkJz0+JHJvd1snZ2F0ZXdheV9pZCddKSk7CgkJfQoJJG9uZXJvdy0+dmFsdWUgPSAkcm93Wydnd3ZhbHVlJ107CgoJLy8gU2hvdyB0aGUgaWNvbnMgbmVlZGVkIGZvciBlZGl0aW5nLCBkZWxldGluZwoJJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Z2F0ZXdheWF0dHInLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdnd2dhdGV3YXlfaWQnPT4kcm93Wydnd2dhdGV3YXlfaWQnXSwgJ2d3YXR0cl9pZCc9PiRyb3dbJ2d3YXR0cl9pZCddKSk7Cgkkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRlZ2F0ZXdheWF0dHInLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZ3dnYXRld2F5X2lkJz0+JHJvd1snZ3dnYXRld2F5X2lkJ10sICdnd2F0dHJfaWQnPT4kcm93Wydnd2F0dHJfaWQnXSksICcnKTsKCgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRlbnRyeWFycmF5KTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwovLyBNYWtlIHN1cmUgdGhhdCB0aGUgYXR0cmlidXRlcyBhcmUgc2hvd24gb25jZSB0aGVyZSBpcyBhdCBsZWFzdCBvbmUKaWYgKCBjb3VudCgkZW50cnlhcnJheSkgPiAwICkgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnd2VkaXQnLCAnMScpOwp9CgovLyBTZXR1cCBsaW5rcwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGd3YXR0cmxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRnYXRld2F5YXR0cicsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZGdhdGV3YXlhdHRyJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGd3YXR0cmxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRnYXRld2F5YXR0cicsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGdhdGV3YXlhdHRyJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGdhdGV3YXlhdHRyJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkZ2F0ZXdheWF0dHInKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2d3YXR0cnBhcm10ZXh0JywgJHRoaXMtPkxhbmcoJ3BhcmFtZXRlcicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGd3YXR0cnBhcm0nLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2d3cGFybScsICcnLCAzMCwgMzApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnd2F0dHJkZXNjdGV4dCcsICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGd3YXR0cmRlc2MnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2d3ZGVzY3JpcHRpb24nLCAnJywgNDAsIDgwKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3dhdHRydmFsdWV0ZXh0JywgJHRoaXMtPkxhbmcoJ3ZhbHVlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Z3dhdHRydmFsdWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2d3dmFsdWUnLCAnJywgNDAsIDgwKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3dhdHRybG9ja3RleHQnLCAkdGhpcy0+TGFuZygnbG9ja2VkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0YXR0cmxvY2snLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnZ3dsb2NrJywgMSwgJGd3bG9ja2VkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuYXR0cmlkJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2d3YXR0cl9pZCcsICRnd2F0dHJfaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXRhdHRyaWQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0YXR0cmlkJywgJHRoaXMtPkxhbmcoJ2FkZGdhdGV3YXlhdHRyJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdub2F0dHJpYnV0ZXNhdmFpbGFibGUnLCAkdGhpcy0+TGFuZygnbm9hdHRyaWJ1dGVzYXZhaWxhYmxlJykpOwoKLy8gTm93IHNob3cgdGhlIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGdhdGV3YXkudHBsJyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editgatewayattr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRkZXRhaWxwYWdlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQogIHsKICAgICRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CiAgICBpZiAoaXNzZXQoJG5vZGUpKQogICAgICB7CgkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CglpZiAoaXNzZXQoJG5vZGUpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkgIH0KICAgICAgfQogIH0KCgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnLCBhcnJheSgnTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJykpKTsKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnZ2F0ZXdheWF0dHJub3R1cGRhdGVkJywgJ2d3Z2F0ZXdheV9pZCcgPT4gJHBhcmFtc1snZ3dnYXRld2F5X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2VkaXRnYXRld2F5JywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKJGd3YXR0cl9pZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZ3dhdHRyX2lkJ10pKSB7CgkkZ3dhdHRyX2lkID0gJHBhcmFtc1snZ3dhdHRyX2lkJ107Cn0KaWYgKGlzc2V0KCRwYXJhbXNbJ2d3Z2F0ZXdheV9pZCddKSkgewoJJGd3Z2F0ZXdheV9pZCA9ICRwYXJhbXNbJ2d3Z2F0ZXdheV9pZCddOwp9CiRhY3RpdmUgPSAwOwppZiAoaXNzZXQoJHBhcmFtc1snZ3dsb2NrZWQnXSkpIHsKCSRnd2xvY2tlZCA9ICRwYXJhbXNbJ2d3bG9ja2VkJ107Cn0KCmlmIChpc3NldCgkcGFyYW1zWydnd2F0dHJfaWQnXSkgYW5kIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJJGd3cGFybSA9ICcnOwoJaWYgKGlzc2V0KCRwYXJhbXNbJ2d3cGFybSddKSkgewoJCSRnd3Bhcm0gPSAkcGFyYW1zWydnd3Bhcm0nXTsKCX0KCSRnd2Rlc2NyaXB0aW9uID0gJyc7CglpZiAoaXNzZXQoJHBhcmFtc1snZ3dkZXNjcmlwdGlvbiddKSkgewoJCSRnd2Rlc2NyaXB0aW9uID0gJHBhcmFtc1snZ3dkZXNjcmlwdGlvbiddOwoJfQoJJGd3dmFsdWUgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydnd3ZhbHVlJ10pKSB7CgkJJGd3dmFsdWUgPSAkcGFyYW1zWydnd3ZhbHVlJ107Cgl9CglpZiAoJGd3cGFybSAhPSAnJyBhbmQgJGd3ZGVzY3JpcHRpb24gIT0gJycgYW5kICRnd3ZhbHVlICE9ICcnKSB7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nd2F0dHJpYnV0ZXMgU0VUIGd3cGFybSA9ID8sIGd3ZGVzY3JpcHRpb24gPSA/LCBnd3ZhbHVlID0gPywgZ3dsb2NrZWQgPSA/CgkJCVdIRVJFIGd3YXR0cl9pZCA9ID8nOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkLCAkZ3dhdHRyX2lkKSk7CgoJCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ2dhdGV3YXlhdHRydXBkYXRlZCcsICdnd2dhdGV3YXlfaWQnID0+ICRnd2dhdGV3YXlfaWQpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0Z2F0ZXdheScsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cgl9CgllbHNlIHsKCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub2d3YXR0cmlidXRlc2dpdmVuJykpOwoJfQoJfQplbHNlIHsKCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nd2F0dHJpYnV0ZXMsICAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nYXRld2F5cwoJCVdIRVJFIGd3Z2F0ZXdheV9pZCA9IGdhdGV3YXlfaWQgYW5kIGd3YXR0cl9pZCA9ID8nOwoJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCkpOwoKCWlmICgkcm93KSB7CgkJJGd3cGFybSA9ICRyb3dbJ2d3cGFybSddOwoJCSRnd2Rlc2NyaXB0aW9uID0gJHJvd1snZ3dkZXNjcmlwdGlvbiddOwoJCSRnd3ZhbHVlID0gJHJvd1snZ3d2YWx1ZSddOwoJCSRnd2xvY2tlZCA9ICRyb3dbJ2d3bG9ja2VkJ107CgkJJGdhdGV3YXlfY29kZSA9ICRyb3dbJ2dhdGV3YXlfY29kZSddOwoJfQp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2dhdGV3YXljb2RldGV4dCcsICR0aGlzLT5MYW5nKCdnYXRld2F5Y29kZScpKTsKCi8vIERpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRnYXRld2F5YXR0cicsICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdnd2NvZGV0ZXh0JywgJHRoaXMtPkxhbmcoJ2dhdGV3YXljb2RlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Z3djb2RlJywgJGdhdGV3YXlfY29kZSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3dhdHRycGFybXRleHQnLCAkdGhpcy0+TGFuZygncGFyYW1ldGVyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0Z3dhdHRycGFybScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZ3dwYXJtJywgJGd3cGFybSwgMzAsIDMwLCAnY2xhc3M9ImRlZmF1bHRmb2N1cyInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3dhdHRyZGVzY3RleHQnLCAkdGhpcy0+TGFuZygnZGVzY3JpcHRpb24nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRnd2F0dHJkZXNjJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdnd2Rlc2NyaXB0aW9uJywgJGd3ZGVzY3JpcHRpb24sIDgwLCA4MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2d3YXR0cnZhbHVldGV4dCcsICR0aGlzLT5MYW5nKCd2YWx1ZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGd3YXR0cnZhbHVlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdnd3ZhbHVlJywgJGd3dmFsdWUsIDgwLCA4MCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2d3YXR0cmxvY2t0ZXh0JywgJHRoaXMtPkxhbmcoJ2xvY2tlZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dGF0dHJsb2NrJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2d3bG9ja2VkJywgMSwgJGd3bG9ja2VkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuYXR0cmlkJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2d3YXR0cl9pZCcsICRnd2F0dHJfaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZ3dnYXRld2F5X2lkJywgJGd3Z2F0ZXdheV9pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKLy8gTm93IHNob3cgdGhlIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGdhdGV3YXlhdHRyLnRwbCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDkgYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3BtcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUGF5bWVudE1hZGVTaW1wbGUnKSkgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJywgYXJyYXkoJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSk7CglyZXR1cm47Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCnsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRlcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCmlmIChpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZW5hbWUnXSkpIHsKCSR0ZW1wbGF0ZW5hbWUgPSAkcGFyYW1zWyd0ZW1wbGF0ZW5hbWUnXTsKCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSggJHRlbXBsYXRlbmFtZSwgJHRoaXMtPkdldE5hbWUoKSk7Cn0KCi8vIFZhbGlkYXRlIHRoZSBpbnB1dAokbWVzc2FnZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQp7CgkkdGVtcGxhdGUgPSAkcGFyYW1zWyd0ZW1wbGF0ZSddOwoJaWYgKCR0ZW1wbGF0ZW5hbWUgIT0gJycgJiYgJHRlbXBsYXRlICE9ICcnKQoJewoJCSR0aGlzLT5TZXRUZW1wbGF0ZSggJHRlbXBsYXRlbmFtZSwgJHRlbXBsYXRlLCAkdGhpcy0+R2V0TmFtZSgpKTsKCgkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGV1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXMnKTsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCX0KCWVsc2UKCXsKCQlpZiAoJHRlbXBsYXRlbmFtZSA9PSAnJykgJG1lc3NhZ2UgLj0gJHRoaXMtPkxhbmcoJ25vdGVtcGxhdGVuYW1lZ2l2ZW4nKTsKCQlpZiAoJHRlbXBsYXRlID09ICcnKSB7CgkJCWlmICgkbWVzc2FnZSAhPSAnJykgJG1lc3NhZ2UgLj0gJzxicj4nOwoJCQkkbWVzc2FnZSAuPSAkdGhpcy0+TGFuZygnbm90ZW1wbGF0ZWNvbnRlbnRnaXZlbicpOwoJCX0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRtZXNzYWdlKTsKCX0KfQoKLy8gRGlzcGxheSB0ZW1wbGF0ZQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZW5hbWUnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVuYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsICR0ZW1wbGF0ZW5hbWUpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZScsICR0aGlzLT5MYW5nKCd0ZW1wbGF0ZWNvbnRlbnQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHRlbXBsYXRlLCAndGVtcGxhdGUnLCAnJywnJywnJywnJyw4MCwyNSwgJ2NsYXNzPSJkZWZhdWx0Zm9jdXMiJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0ZW1wbGF0ZW5hbWUnLCAkdGVtcGxhdGVuYW1lKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHRlbXBsYXRlLnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.idealstep1.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgIC8vIEludm9lZ2VuIHZhbiBjbGFzc2VzCiAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykgLiAnL2lkZWFsLmNscy5waHAnKTsKCQkkZ2F0ZXdheWZpbGUgPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCdndy5pREVBTFByby5waHAnKTsKCQkkZ2F0ZXdheWZvdW5kID0gZmlsZV9leGlzdHMoJGdhdGV3YXlmaWxlKTsKCQlpZiAoJGdhdGV3YXlmb3VuZCkgewoJCQlpbmNsdWRlICRnYXRld2F5ZmlsZTsKCQkJJHBtc2NsYXNzID0gJ3Btc2lkZWFscHJvX2NsYXNzJzsKCQkJJHBndyA9IG5ldyAkcG1zY2xhc3M7CgkJfQoKICAgICRvSXNzdWVyUmVxdWVzdCA9IG5ldyBJc3N1ZXJSZXF1ZXN0KCk7CgogICAgLy8gQWxnZW1lbmUgaURFQUwgaW5zdGVsbGluZ2VuCiAgICAkZ2F0ZXdheV9jb2RlID0gJ2lERUFMUHJvJzsKICAgICRvSXNzdWVyUmVxdWVzdC0+c2V0U2VjdXJlUGF0aChkaXJuYW1lKF9fRklMRV9fKSAuICcvc3NsLycpOyAvLyBWZXJ3aWpzdCBuYWFyIGRlIGJldmVpbGlnZGUgbWFwIG1ldCBjZXJ0aWZpY2F0ZW4gZS5kLgoJCSRwcml2YXRla2V5ZmlsZSA9ICRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAncHJpdmF0ZWtleScpOwoJCSRwcml2YXRlY2VydGZpbGUgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3ByaXZhdGVjZXJ0Jyk7CgkJJHByaXZhdGVrZXlwYXNzID0gJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdwcml2YXRla2V5cGFzcycpOwoJCSRvSXNzdWVyUmVxdWVzdC0+c2V0UHJpdmF0ZUtleSgkcHJpdmF0ZWtleWZpbGUsICRwcml2YXRlY2VydGZpbGUsICRwcml2YXRla2V5cGFzcyk7IAogICAgJG15YmFuayA9ICRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAnZWlnZW5iYW5rJyk7IAogICAgaWYgKCAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2Vudmlyb25tZW50JykgPT0gJ2xpdmUnKSB7CgkgICAgJG9Jc3N1ZXJSZXF1ZXN0LT5zZXRBcXVpcmVyKCRteWJhbmssIGZhbHNlKTsgLy8gSmUgYmFuayAoUmFib2JhbmssIElORyBCYW5rLCBldGMpCgkJfQoJCWVsc2UgewoJICAgICRvSXNzdWVyUmVxdWVzdC0+c2V0QXF1aXJlcigkbXliYW5rLCB0cnVlKTsgLy8gSmUgYmFuayAoUmFib2JhbmssIElORyBCYW5rLCBldGMpCgkJfQoJCSRtZXJjaGFudGlkID0gJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdtZXJjaGFudElEJyk7CgkJJHN1YmlkID0gJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdzdWJJRCcpOyAKICAgICRvSXNzdWVyUmVxdWVzdC0+c2V0TWVyY2hhbnQoJG1lcmNoYW50aWQsICRzdWJpZCk7IC8vIEplIE1lcmNoYW50SUQvU3ViSWQKCiAgICAvLyBPcHZyYWdlbiB2YW4gb3JkZXIgaW5mb3JtYXRpZS4KICAgICRzT3JkZXJJZCA9ICRwYXJhbXNbJ29yZGVyJ107CiAgICAkc09yZGVyRGVzY3JpcHRpb24gPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2l0ZW1kZXNjJyk7IC8vIE9tc2NocmlqdmluZwogICAgJG9yZGVyaGVhZGVyID0gYXJyYXkoKTsKCQkkb3JkZXJoZWFkZXIgPSAkb0lzc3VlclJlcXVlc3QtPkdldE9yZGVySGVhZGVySW5mbyggJHBhcmFtc1snb3JkZXInXSApOyAgICAKCQkkZk9yZGVyQW1vdW50ID0gJG9yZGVyaGVhZGVyWyd0b3RhbHByb2R1Y3QnXSArICRvcmRlcmhlYWRlclsndG90YWxzaGlwcGluZyddICsgJG9yZGVyaGVhZGVyWyd0b3RhbGFkbWluY29zdCddIAoJCQkrICRvcmRlcmhlYWRlclsndG90YWx2YXQwYW1vdW50J10gKyAkb3JkZXJoZWFkZXJbJ3RvdGFsdmF0MWFtb3VudCddICsgJG9yZGVyaGVhZGVyWyd0b3RhbHZhdDJhbW91bnQnXQoJCQkrICRvcmRlcmhlYWRlclsndG90YWx2YXQzYW1vdW50J10gKyAkb3JkZXJoZWFkZXJbJ3RvdGFsdmF0NGFtb3VudCddOwogICAgJGNvbmZpcm1idXR0b250ZXh0ID0gJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdiZXZlc3RpZ2luZ3N0ZWtzdCcpOwoKCQkvLyBHZWVmIGludGVybiBudW1tZXIgZG9vcgogICAgJHJldHVybmlkID0gJHBhcmFtc1sncmV0dXJuaWQnXTsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCQkkdXJsc3RlcDIgPSAkY29uZmlnWydyb290X3VybCddLkRJUkVDVE9SWV9TRVBBUkFUT1I7CgkJJHVybHN0ZXAyIC49ICdpbmRleC5waHA/bWFjdD1QYXltZW50TWFkZVNpbXBsZSxjbnRudDAxLGlkZWFsc3RlcDIsMCc7CgkJJHVybHN0ZXAyIC49ICcmY250bnQwMW9yZGVyPScuJHNPcmRlcklkLicmY250bnQwMXJldHVybmlkPScuJHJldHVybmlkOwoKICAgIC8vIE9wdnJhZ2VuIHZhbiBhbGxlIGJlc2NoaWtiYXJlIGlERUFMIGJhbmtlbi4KICAgICRzSXNzdWVyT3B0aW9ucyA9ICcnOwoKICAgIGlmKCRhSXNzdWVyTGlzdCA9ICRvSXNzdWVyUmVxdWVzdC0+ZG9SZXF1ZXN0KCkpCiAgICB7CiAgICAgICAgLy8gTWFhayBlZW4ga2V1emVsaWpzdCBtZXQgYmFua2VuCiAgICAgICAgZm9yZWFjaCgkYUlzc3Vlckxpc3QgYXMgJGsgPT4gJHYpCiAgICAgICAgewogICAgICAgICAgICAkc0lzc3Vlck9wdGlvbnMgLj0gJzxvcHRpb24gdmFsdWU9IicgLiAkayAuICciPicgLiBodG1sZW50aXRpZXMoJHYpIC4gJzwvb3B0aW9uPic7CiAgICAgICAgfQogICAgfQogICAgZWxzZQogICAgewogICAgICAgICRzSXNzdWVyT3B0aW9ucyAuPSAnPG9wdGlvbiB2YWx1ZT0iMCI+LTwvb3B0aW9uPic7CgogICAgICAgIC8vIEplIGt1bnQgJG9Jc3N1ZXJSZXF1ZXN0LT5nZXRFcnJvcnMoKSBnZWJydWlrZW4gb20gZGUgbGlqc3QgbWV0IG9wZ2V0cmVkZW4gZm91dGVuIG9wIHRlIHZyYWdlbi4KICAgICAgICBwcmludF9yKCRvSXNzdWVyUmVxdWVzdC0+Z2V0RXJyb3JzKCkpOwogICAgfQoKPz4KPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KPGh0bWw+CiAgICA8aGVhZD4KICAgICAgICA8dGl0bGU+aURFQUwgLSBTdGFwIDE6IE9wdnJhZ2VuIHZhbiBiZXNjaGlrYmFyZSBpREVBTCBiYW5rZW4uPC90aXRsZT4KICAgIDwvaGVhZD4KICAgIDxib2R5PgogICAgICAgIDxmb3JtIGFjdGlvbj0iPD9waHAgZWNobyAkdXJsc3RlcDI7ID8+IiBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICA8aDE+VXcgaURFQUwgdHJhbnNhY3RpZTwvaDE+CiAgICAgICAgICAgIDxwPk9yZGVyIElEOiA8P3BocCBlY2hvICRzT3JkZXJJZDsgPz48YnIgLz4KCQkJCQkJPGJyIC8+T3JkZXIgb21zY2hyaWp2aW5nOiA8P3BocCBlY2hvICRzT3JkZXJEZXNjcmlwdGlvbjsgPz48YnIgLz4KCQkJCQkJPGJyIC8+T3JkZXIgYmVkcmFnOiA8P3BocCBlY2hvIG51bWJlcl9mb3JtYXQoJGZPcmRlckFtb3VudCwgMiwgJy4nLCAnJyk7ID8+IChFVVIpPGJyIC8+CgkJCQkJCTxiciAvPktpZXMgdXcgYmFuazo8YnIgLz48c2VsZWN0IG5hbWU9Im9yZGVyX2lzc3VlciIgc2l6ZT0iMSI+CgkJCQkJCTw/cGhwIGVjaG8gJHNJc3N1ZXJPcHRpb25zOyA/Pjwvc2VsZWN0PjxiciAvPjxiciAvPjxiciAvPgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iPD9waHAgZWNobyAkc09yZGVySWQ7ID8+IiBuYW1lPSJvcmRlcl9pZCIgLz4KCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgdmFsdWU9Ijw/cGhwIGVjaG8gJHNPcmRlckRlc2NyaXB0aW9uOyA/PiIgbmFtZT0ib3JkZXJfZGVzY3JpcHRpb24iIC8+CgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIHZhbHVlPSI8P3BocCBlY2hvIG51bWJlcl9mb3JtYXQoJGZPcmRlckFtb3VudCwgMiwgJy4nLCAnJyk7ID8+IiBuYW1lPSJvcmRlcl9hbW91bnQiIC8+CgkJCQkJCTxpbnB1dCBuYW1lPSJfc3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSI8P3BocCBlY2hvICRjb25maXJtYnV0dG9udGV4dDsgPz4iPjwvcD4KICAgICAgICA8L2Zvcm0+CiAgICA8L2JvZHk+CjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/action.idealstep2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIE9wdnJhZ2VuIHZhbiBvcmRlciBpbmZvcm1hdGllIHVpdCBQT1NUIGRhdGEuCiRzT3JkZXJJZCA9ICRfUE9TVFsnb3JkZXJfaWQnXTsgLy8gVW5pZWtlIHZlcndpanppbmcgbmFhciBkZSBvcmRlcgokc09yZGVyRGVzY3JpcHRpb24gPSBzdWJzdHIoJF9QT1NUWydvcmRlcl9kZXNjcmlwdGlvbiddLCAwLCAzMik7IC8vIE1heGltYWFsIDMyIGthcmFrdGVycwokZk9yZGVyQW1vdW50ID0gJF9QT1NUWydvcmRlcl9hbW91bnQnXTsgLy8gQmVkcmFnIGluIENFTlRFTiEKJHNJc3N1ZXJJZCA9ICRfUE9TVFsnb3JkZXJfaXNzdWVyJ107IC8vIElEIHZhbiBkZSBnZXNlbGVjdGVlcmRlIGJhbmsKCi8vIEdlbmVyZWVyIGVlbiB6ZWxmIG9wIHRlIGdldmVuIEVudHJhbmNlQ29kZSAodG90IDQwIGthcmFrdGVycykKJHNFbnRyYW5jZUNvZGUgPSBzaGExKCRzT3JkZXJJZCAuICdfJyAuIGRhdGUoJ1ltZEhpcycpKTsKCgovLyBJbnZvZWdlbiB2YW4gY2xhc3NlcwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pIC4gJy9pZGVhbC5jbHMucGhwJyk7CgovLyBQcmVwYXJlIGNsYXNzIHRvIHJldHJpZXZlIHBhcmFtZXRlcnMgc2V0IGJ5IGFkbWluIGluIGJhY2tlbmQKJGdhdGV3YXlmaWxlID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnZ3cuaURFQUxQcm8ucGhwJyk7CiRnYXRld2F5Zm91bmQgPSBmaWxlX2V4aXN0cygkZ2F0ZXdheWZpbGUpOwppZiAoJGdhdGV3YXlmb3VuZCkgewoJaW5jbHVkZSAkZ2F0ZXdheWZpbGU7CgkkcG1zY2xhc3MgPSAncG1zaWRlYWxwcm9fY2xhc3MnOwoJJHBndyA9IG5ldyAkcG1zY2xhc3M7Cn0KCiRvVHJhbnNhY3Rpb25SZXF1ZXN0ID0gbmV3IFRyYW5zYWN0aW9uUmVxdWVzdCgpOwoKLy8gQWxnZW1lbmUgaURFQUwgaW5zdGVsbGluZ2VuCiRnYXRld2F5X2NvZGUgPSAnaURFQUxQcm8nOwokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0U2VjdXJlUGF0aChkaXJuYW1lKF9fRklMRV9fKSAuICcvc3NsLycpOyAvLyBWZXJ3aWpzdCBuYWFyIGRlIGJldmVpbGlnZGUgbWFwIG1ldCBjZXJ0aWZpY2F0ZW4gZS5kLgokcHJpdmF0ZWtleWZpbGUgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3ByaXZhdGVrZXknKTsKJHByaXZhdGVjZXJ0ZmlsZSA9ICRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAncHJpdmF0ZWNlcnQnKTsKJHByaXZhdGVrZXlwYXNzID0gJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdwcml2YXRla2V5cGFzcycpOwokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0UHJpdmF0ZUtleSgkcHJpdmF0ZWtleWZpbGUsICRwcml2YXRlY2VydGZpbGUsICRwcml2YXRla2V5cGFzcyk7CiRteWJhbmsgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2VpZ2VuYmFuaycpOyAKaWYgKCAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2Vudmlyb25tZW50JykgPT0gJ2xpdmUnKSB7CiAgJG9UcmFuc2FjdGlvblJlcXVlc3QtPnNldEFxdWlyZXIoJG15YmFuaywgZmFsc2UpOyAvLyBKZSBiYW5rIChSYWJvYmFuaywgSU5HIEJhbmssIGV0YykKfQplbHNlIHsKICAkb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0QXF1aXJlcigkbXliYW5rLCB0cnVlKTsgLy8gSmUgYmFuayAoUmFib2JhbmssIElORyBCYW5rLCBldGMpCn0KJG1lcmNoYW50aWQgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ21lcmNoYW50SUQnKTsKJHN1YmlkID0gJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdzdWJJRCcpOyAKJG9UcmFuc2FjdGlvblJlcXVlc3QtPnNldE1lcmNoYW50KCRtZXJjaGFudGlkLCAkc3ViaWQpOyAvLyBKZSBNZXJjaGFudElEL1N1YklkCiRjdXJyZW5jeSA9IHN0cnRvdXBwZXIoJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdjdXJyZW5jeScpKTsKJG9UcmFuc2FjdGlvblJlcXVlc3QtPnNldEN1cnJlbmN5KCRjdXJyZW5jeSk7CiRleHBpcmF0aW9ucGVyaW9kID0gc3RydG91cHBlcigkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2V4cGlyYXRpb25wZXJpb2QnKSk7CiRvVHJhbnNhY3Rpb25SZXF1ZXN0LT5zZXRFeHBpcmF0aW9uUGVyaW9kKCRleHBpcmF0aW9ucGVyaW9kKTsKJGxhbmd1YWdlID0gc3RydG9sb3dlcigkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2xhbmd1YWdlJykpOwokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0TGFuZ3VhZ2UoJGxhbmd1YWdlKTsKCi8vIERlIFVSTCB3YWFyIGRlIGJlem9la2VyIG5hYXIgdG9lIHdvcmR0IGdlc3R1dXJkIG5hZGF0IGRlIGlkZWFsIGJldGFsaW5nIGlzIGFmZ2Vyb25kIChvZiBiaWogZm91dGVuKQokZ0NtcyA9IGNtc21zKCk7CiRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiRzT3JkZXJJZCA9ICRwYXJhbXNbJ29yZGVyJ107CiRyZXR1cm5pZCA9ICRwYXJhbXNbJ3JldHVybmlkJ107CiR1cmxzdGVwMyA9ICcnLkRJUkVDVE9SWV9TRVBBUkFUT1I7CiR1cmxzdGVwMyAuPSAnaW5kZXgucGhwP21hY3Q9UGF5bWVudE1hZGVTaW1wbGUsY250bnQwMSxpZGVhbHN0ZXAzLDAnOwokdXJsc3RlcDMgLj0gJyZjbnRudDAxb3JkZXI9Jy4kc09yZGVySWQuJyZjbnRudDAxcmV0dXJuaWQ9Jy4kcmV0dXJuaWQ7CgovLyRzUmV0dXJuVXJsID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3VybCddLCdpbmRleC5waHA/bWFjdD1QYXltZW50TWFkZVNpbXBsZSxjbnRudDAxLGlkZWFsc3RlcDMnKTsKJHNSZXR1cm5VcmwgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfdXJsJ10sJHVybHN0ZXAzKTsKCi8vIE9yZGVyIGluc3RlbGxpbmdlbgokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0T3JkZXJJZCgkc09yZGVySWQpOwokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0T3JkZXJEZXNjcmlwdGlvbigkc09yZGVyRGVzY3JpcHRpb24pOwokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0T3JkZXJBbW91bnQoJGZPcmRlckFtb3VudCk7Cgokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0UmV0dXJuVXJsKCRzUmV0dXJuVXJsKTsKJG9UcmFuc2FjdGlvblJlcXVlc3QtPnNldElzc3VlcklkKCRzSXNzdWVySWQpOwokb1RyYW5zYWN0aW9uUmVxdWVzdC0+c2V0RW50cmFuY2VDb2RlKCRzRW50cmFuY2VDb2RlKTsKCgppZigkc1RyYW5zYWN0aW9uSWQgPSAkb1RyYW5zYWN0aW9uUmVxdWVzdC0+ZG9SZXF1ZXN0KCkpIC8vIFZvZXIgaGV0IHRyYW5zYWN0aWUgdmVyem9layB1aXQgKGJpaiBzdWNjZXMgb250dmFuZyBqZSBlZW4gVHJhbnNhY3Rpb25JRCkKewogIC8vIFNsYSBkZSBUcmFuc2FjdGllSUQsIEVudHJhbmNlQ29kZSBlbiBvdmVyaWdlIG9yZGVyIGluZm9ybWF0aWUgb3AgKGJpanYuIGluIGRlIGRhdGFiYXNlKS4KCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkvLyBCdWlsZCByZWNvcmQgd2l0aCBwYXltZW50IGluZm9ybWF0aW9uCgkkcGF5bWVudF9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX3BheW1lbnRzX3NlcSIpOwoJJHRpbWUgPSAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSk7CgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfcGF5bWVudHMgKHBheW1lbnRfaWQsIG9yZGVyX2lkLAoJCWFtb3VudHBhaWQsIHRyYW5zYWN0aW9uX2lkLCBlbnRyYW5jZV9jZCwgYmFuaywgc3RhdHVzLCBwYXltZW50X2RhdGUsIGNyZWF0ZV9kYXRlICkKCQlWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPywnLiR0aW1lLicpJzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXltZW50X2lkLCAkc09yZGVySWQsICRmT3JkZXJBbW91bnQsIAoJCSRzVHJhbnNhY3Rpb25JZCwgJHNFbnRyYW5jZUNvZGUsICRzSXNzdWVySWQsICdOZXcnLCBOVUxMICkpOwoKICAvLyBHYSB2ZXJkZXIgbWV0IGRlIHRyYW5zYWN0aWUgKGRlIGJlem9la2VyIHdvcmR0IGRvb3JnZXN0dXVyZCBuYWFyIGRlIHdlYnNpdGUgdmFuIHppam4vaGFhciBiYW5rKQogICRvVHJhbnNhY3Rpb25SZXF1ZXN0LT5kb1RyYW5zYWN0aW9uKCk7Cn0KCi8vIEplIGt1bnQgJG9UcmFuc2FjdGlvblJlcXVlc3QtPmdldEVycm9ycygpIGdlYnJ1aWtlbiBvbSBkZSBsaWpzdCBtZXQgb3BnZXRyZWRlbiBmb3V0ZW4gb3AgdGUgdnJhZ2VuLgpwcmludF9yKCRvVHJhbnNhY3Rpb25SZXF1ZXN0LT5nZXRFcnJvcnMoKSk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.idealstep3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KPGh0bWw+CiAgICA8aGVhZD4KICAgICAgICA8dGl0bGU+aURFQUwgLSBTdGFwIDM6IE9wdnJhZ2VuIHZhbiBkZSB0cmFuc2FjdGllIHN0YXR1cy48L3RpdGxlPgogICAgPC9oZWFkPgogICAgPGJvZHk+Cjw/cGhwCgovLyBab2VrIGhldCBUcmFuc2FjdGllSUQgZW4gRW50cmFuY2VDb2RlIG9wIGluICRfR0VUCiRzVHJhbnNhY3Rpb25JZCA9ICRfR0VUWyd0cnhpZCddOwokc0VudHJhbmNlQ29kZSA9ICRfR0VUWydlYyddOwoKCi8vIENvbnRyb2xsZWVyIG9mIGRlIFRyYW5zYWN0aWVJRC9FbnRyYW5jZUNvZGUgY29tYmluYXRpZSBiZXN0YWF0IGluIGRlIGRhdGFiYXNlCmlmKHRydWUpIC8vIFRyYW5zYWN0aWUgYmVzdGFhdC9nZWxkaWcKewoJLy8gSW52b2VnZW4gdmFuIGNsYXNzZXMKCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykgLiAnL2lkZWFsLmNscy5waHAnKTsKCSRnYXRld2F5ZmlsZSA9IGRpcm5hbWUoX19GSUxFX18pLicvZ3cuaURFQUxQcm8ucGhwJzsKCSRnYXRld2F5Zm91bmQgPSBmaWxlX2V4aXN0cygkZ2F0ZXdheWZpbGUpOwoJaWYgKCRnYXRld2F5Zm91bmQpIHsKCQlpbmNsdWRlICRnYXRld2F5ZmlsZTsKCQkkcG1zY2xhc3MgPSAncG1zaWRlYWxwcm9fY2xhc3MnOwoJCSRwZ3cgPSBuZXcgJHBtc2NsYXNzOwoJfQoJCgkkb1N0YXR1c1JlcXVlc3QgPSBuZXcgU3RhdHVzUmVxdWVzdCgpOwoJCgkvLyBBbGdlbWVuZSBpREVBTCBpbnN0ZWxsaW5nZW4KCSRnYXRld2F5X2NvZGUgPSAnaURFQUxQcm8nOwoJJG9TdGF0dXNSZXF1ZXN0LT5zZXRTZWN1cmVQYXRoKGRpcm5hbWUoX19GSUxFX18pIC4gJy9zc2wvJyk7IC8vIFZlcndpanN0IG5hYXIgZGUgYmV2ZWlsaWdkZSBtYXAgbWV0IGNlcnRpZmljYXRlbiBlLmQuCgkkcHJpdmF0ZWtleWZpbGUgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3ByaXZhdGVrZXknKTsKCSRwcml2YXRlY2VydGZpbGUgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3ByaXZhdGVjZXJ0Jyk7CgkkcHJpdmF0ZWtleXBhc3MgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3ByaXZhdGVrZXlwYXNzJyk7Cgkkb1N0YXR1c1JlcXVlc3QtPnNldFByaXZhdGVLZXkoJHByaXZhdGVrZXlmaWxlLCAkcHJpdmF0ZWNlcnRmaWxlLCAkcHJpdmF0ZWtleXBhc3MpOwoJJG15YmFuayA9ICRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAnZWlnZW5iYW5rJyk7IAoJaWYgKCAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2Vudmlyb25tZW50JykgPT0gJ2xpdmUnKSB7CgkJJG9TdGF0dXNSZXF1ZXN0LT5zZXRBcXVpcmVyKCRteWJhbmssIGZhbHNlKTsgLy8gSmUgYmFuayAoUmFib2JhbmssIElORyBCYW5rLCBldGMpCgl9CgllbHNlIHsKCQkkb1N0YXR1c1JlcXVlc3QtPnNldEFxdWlyZXIoJG15YmFuaywgdHJ1ZSk7IC8vIEplIGJhbmsgKFJhYm9iYW5rLCBJTkcgQmFuaywgZXRjKQoJfQoJJG1lcmNoYW50aWQgPSAkcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ21lcmNoYW50SUQnKTsKCSRzdWJpZCA9ICRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAnc3ViSUQnKTsgCgkkb1N0YXR1c1JlcXVlc3QtPnNldE1lcmNoYW50KCRtZXJjaGFudGlkLCAkc3ViaWQpOyAvLyBKZSBNZXJjaGFudElEL1N1YklkCgkkY3VycmVuY3kgPSBzdHJ0b3VwcGVyKCRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAnY3VycmVuY3knKSk7Cgkkb1N0YXR1c1JlcXVlc3QtPnNldEN1cnJlbmN5KCRjdXJyZW5jeSk7CgkkZXhwaXJhdGlvbnBlcmlvZCA9IHN0cnRvdXBwZXIoJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdleHBpcmF0aW9ucGVyaW9kJykpOwoJJG9TdGF0dXNSZXF1ZXN0LT5zZXRFeHBpcmF0aW9uUGVyaW9kKCRleHBpcmF0aW9ucGVyaW9kKTsKCSRsYW5ndWFnZSA9IHN0cnRvbG93ZXIoJHBndy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdsYW5ndWFnZScpKTsKCSRvU3RhdHVzUmVxdWVzdC0+c2V0TGFuZ3VhZ2UoJGxhbmd1YWdlKTsKCS8vIFByZXBhcmUgdGhlIFVSTCdzIHRvIGFsbG93IHJlZGlyZWN0aW5nIHVwb24gdHJhbnNhY3Rpb24gcmVzdWx0cwoJJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7Cgkkcm9vdHBhdGggPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfdXJsJ10sJ2luZGV4LnBocCcpOwoJJHVybENhbmNlbCA9ICRyb290cGF0aC4kcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3VybF9DYW5jZWwnKTsKCSR1cmxTdWNjZXNzID0gJHJvb3RwYXRoLiRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAndXJsX1N1Y2NlcycpOwoJJHVybEVycm9yID0gJHJvb3RwYXRoLiRwZ3ctPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAndXJsX0Vycm9yJyk7CgkkdXJsT3BlbiA9ICRyb290cGF0aC4kcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3VybF9PcGVuJyk7CgkkdXJsRXhwaXJlZCA9ICRyb290cGF0aC4kcGd3LT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3VybF9FeHBpcmVkJyk7CgkKCS8vIFRyYW5zYWN0aWUgaW5zdGVsbGluZ2VuCgkkb1N0YXR1c1JlcXVlc3QtPnNldFRyYW5zYWN0aW9uSWQoJHNUcmFuc2FjdGlvbklkKTsgLy8gSGV0IElEIHZhbiBkZSB0cmFuc2FjdGllIHdhYXJ2YW4gamUgZGUgc3RhdHVzIHdpbHQgY29udHJvbGVyZW4uCgkKCS8vIFZyYWFnIGRlIHN0YXR1cyB2YW4gZGUgdHJhbnNhY3RpZSBvcCAoU1VDQ0VTUywgQ0FOQ0VMTEVELCBGQUlMVVJFLCBPUEVOLCBFWFBJUkVEKQoJaWYoJHNTdGF0dXMgPSAkb1N0YXR1c1JlcXVlc3QtPmRvUmVxdWVzdCgpKQoJewoJCQoJCWVjaG8gJzxwPlV3IGJldGFsaW5nIHZpYSBpREVBTCBoZWVmdCBhbHMgc3RhdHVzICcgLiAkc1N0YXR1cyAuICcuPC9wPic7CgkJCgkJaWYgKHN0cmNhc2VjbXAoJHNTdGF0dXMsICdTVUNDRVNTJykgPT09IDApIHsKCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJLy8gVXBkYXRlIHJlY29yZCB3aXRoIHBheW1lbnQgaW5mb3JtYXRpb24KCQkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfcGF5bWVudHMgCgkJCQlXSEVSRSB0cmFuc2FjdGlvbl9pZCA9ID8nOwoJCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSggJHNUcmFuc2FjdGlvbklkICkpOwoJCQlpZiAoJHJvdykgewoJCQkJJE9yZGVySWQgPSAkcm93WydvcmRlcl9pZCddOwkJCQoJCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19wYXltZW50cyBTRVQgc3RhdHVzID0gPywKCQkJCSBwYXltZW50X2RhdGUgPSAnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nCgkJCQkJV0hFUkUgdHJhbnNhY3Rpb25faWQgPSA/JzsKCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRzU3RhdHVzLCAkc1RyYW5zYWN0aW9uSWQpKTsKCQkJCS8vIFNldCBzdGF0dXMgb2Ygb3JkZXIgdG8gcGFpZAoJCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2NhcnRtc19vcmRlcnMgU0VUIHN0YXR1cyA9ID8sIAoJCQkJCW1vZGlmaWVkX2RhdGUgPSAnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nIFdIRVJFIG9yZGVyX2lkID0gPyc7CgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSggJ1BBWScsICRPcmRlcklkKSk7CgkJCQkvLyBDaGVjayBob3cgcHJvZHVjdHMgYXJlIGhhbmRsZWQKCQkJCSRjYXJ0bXMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDYXJ0TWFkZVNpbXBsZScpOwoJCQkJJG9yZGVyaGFuZGxpbmd0eXBlID0gJGNhcnRtcy0+R2V0UHJlZmVyZW5jZSgnb3JkZXJoYW5kbGluZ3R5cGUnLCAnbm9ybWFsJyk7CgkJCQlpZiAoJG9yZGVyaGFuZGxpbmd0eXBlID09ICdlbWFpbCcpIHsKCQkJCQkvLyBJZiBkaWdpdGFsbHk6IFByZXBhcmUgYW5kIHNlbmQgdGhlIG1lZGlhIGFuZCBpbnZvaWNlCgkJCQkJLy8gQ2hlY2sgaWYgaW52ZW50b3J5IHRvIGJlIGRlY3JlYXNlZAoJCQkJCSRjYXJ0bXMtPkludmVudG9yeURlY3JlYXNlKCRPcmRlcklkLCAnUEFZJyk7CgkJCQkJLy8gUHJlcGFyZSB0aGUgaW52b2ljZSBhbmQgc2VuZCBpdAoJCQkJCSRpbnZvaWNlbm8gPSAkY2FydG1zLT5QcmVwYXJlSW52b2ljZU5vKCk7CgkJCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2NhcnRtc19vcmRlcnMgU0VUIHN0YXR1cyA9ID8sIAoJCQkJCQlpbnZvaWNlbm8gPSA/LCBtb2RpZmllZF9kYXRlID0gJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyAKCQkJCQkJV0hFUkUgb3JkZXJfaWQgPSA/JzsKCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSggJ0lOVicsICRpbnZvaWNlbm8sICRPcmRlcklkKSk7CgkJCQkJJHBhcmFtcyA9IGFycmF5KCd0eXBlJz0+J2ludm9pY2VfZmUnLCAnb3JnYW5pemF0aW9uJz0+JycsICdvcmRlcl9pZCc9PiRPcmRlcklkLAoJCQkJCQkncmVkaXJlY3R1cmwnPT4kdXJsU3VjY2Vzcyk7CgkJCQkJJGRvY3VtZW50dHlwZSA9ICRjYXJ0bXMtPkdldFByZWZlcmVuY2UoJ2V4dGRvY19pbnZvaWNlJywnaW52b2ljZV9zYW1wbGUnKTsKCQkJCQkvLyBNYWtlIHRoZSBjbGFzcyAkdGhpcy0+b3JkZXJzIGF2YWlsYWJsZSBmb3IgdGhlIGludm9pY2UgcHJpbnQgcHJvZ3JhbQoJCQkJCSRjYXJ0bXMgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDYXJ0TWFkZVNpbXBsZScpOwoJCQkJCSR0aGlzLT5vcmRlcnMgPSAkY2FydG1zLT5vcmRlcnM7CiAJCQkJCWluY2x1ZGUoY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnLi4nLCdDYXJ0TWFkZVNpbXBsZScsJ2xpYnJhcnknLAoJCQkJCQknZXh0ZG9jLicuJGRvY3VtZW50dHlwZS4nLnBocCcpKTsKCQkJCQkvLyBTZW5kIHRoZSBpbnZvaWNlIGlmIHJlcXVlc3RlZAoJCQkJCWlmICgkY2FydG1zLT5HZXRDYXJ0TVNQcmVmZXJlbmNlKCdzZW5kaW52b2ljZW1haWwnLCBmYWxzZSkpIHsKCQkJCQkJJGNhcnRtcy0+U2VuZEludm9pY2VBc0F0dGFjaCgkT3JkZXJJZCk7CgkJCQkJfQoJCQkJCS8vIE1ha2UgdGhlIGRpZ2l0YWwgb2JqZWN0IGF2YWlsYWJsZQoJCQkJCS8vIFJlZGlyZWN0IHRvIHN1Y2Nlcy90aGFuayB5b3UgcGFnZSBpcyBkb25lIGluIHRoZSBpbnZvaWNlIHByb2dyYW0KCQkJCQlyZWRpcmVjdCgkdXJsU3VjY2Vzcyk7CgkJCQl9CQkJCQoJCQl9CgkJfQoJCWlmIChzdHJjYXNlY21wKCRzU3RhdHVzLCAnQ0FOQ0VMTEVEJykgPT09IDApIHsKCQkJcmVkaXJlY3QoJHVybENhbmNlbCk7CgkJfQoJCWlmIChzdHJjYXNlY21wKCRzU3RhdHVzLCAnT1BFTicpID09PSAwKSB7CgkJCXJlZGlyZWN0KCR1cmxPcGVuKTsKCQl9IAoJCWlmIChzdHJjYXNlY21wKCRzU3RhdHVzLCAnRVhQSVJFRCcpID09PSAwKSB7CgkJCXJlZGlyZWN0KCR1cmxFeHBpcmVkKTsKCQl9Cgl9CgllbHNlCgl7CgkJcmVkaXJlY3QoJHVybEVycm9yKTsKCQkvLyBKZSBrdW50ICRvU3RhdHVzUmVxdWVzdC0+Z2V0RXJyb3JzKCkgZ2VicnVpa2VuIG9tIGRlIGxpanN0IG1ldCBvcGdldHJlZGVuIGZvdXRlbiBvcCB0ZSB2cmFnZW4uCgkJLy9wcmludF9yKCRvU3RhdHVzUmVxdWVzdC0+Z2V0RXJyb3JzKCkpOwoJfQp9Cgo/PgogICAgPC9ib2R5Pgo8L2h0bWw+]]></data>
	</file>
	<file>
	  <filename>/action.save_admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDkgYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkKewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2dhdGV3YXlzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKLy8gU2V0IHRoZSBwcmVmZXJlbmNlCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdnYXRld2F5Y29kZXBhcnQnLCBpc3NldCgkcGFyYW1zWydnYXRld2F5Y29kZXBhcnQnXSk/JHBhcmFtc1snZ2F0ZXdheWNvZGVwYXJ0J106JzEnKTsKCiRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJ29wdGlvbnN1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICdvcHRpb25zJyk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.switchstatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIE5vIGRpcmVjdCBhY2Nlc3MKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQoKTsgCgovLyBDaGVjayBwZXJtaXNzaW9uCmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQYXltZW50TWFkZVNpbXBsZScpKSB7CiAgICAvLyBTaG93IGFuIGVycm9yIG1lc3NhZ2UKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcigkdGhpcy0+TGFuZygnYWNjZXNzX2RlbmllZCcpKTsKfQovLyBVc2VyIGhhcyBzdWZmaWNpZW50IHByaXZpbGVnZXMKZWxzZSB7Cglzd2l0Y2ggKCRwYXJhbXNbJ3RhYmxlJ10pIHsKCQljYXNlICdnYXRld2F5cyc6CgkJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ2F0ZXdheXMgU0VUIGFjdGl2ZSA9ID8gV0hFUkUgZ2F0ZXdheV9pZCA9ID8nOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydhY3RpdmUnXSwgJHBhcmFtc1sncmVjb3JkX2lkJ10pKTsKCQkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnR2F0ZXdheXMnKTsKCQkJYnJlYWs7CgkJZGVmYXVsdDoKCQkJYnJlYWs7Cgl9CgogICAgLy8gUmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhlIGRlZmF1bHQgYWRtaW4gc2NyZWVuCiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgoJPGxpPlZlcnNpb24gMS4zIDIxIE5vdmVtYmVyIDIwMTA8YnI+CgkJPHVsPgoJCQk8bGk+SW5jbHVkZWQgbmV3IHRhYmxlIHRvIGhvbGQgcGF5bWVudCBpbmZvcm1hdGlvbiByZXRyaWV2ZWQgZnJvbSBiYW5rcy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMS4yIDEyIE5vdmVtYmVyIDIwMTA8YnIgLz4KCQk8dWw+CgkJCTxsaT5UeXBvIGluIFBheVBhbCBnYXRld2F5IGNhdXNlZCBjb3JyZWN0IHdvcmtpbmcgb2YgcGF5bWVudCBmbG93IChidWcjOiA1NDcwKTs8L2xpPgoJCQk8bGk+VHlwbyBpbiB1bmluc3RhbGwgbWVzc2FnZTs8L2xpPgoJCQk8bGk+Q2hhbmdlIGluICdyZWZyZXNoJyBwcm9jZXNzLCBub3cgaW5zZXJ0cyBwYXJhbWV0ZXJzIG9mIGdhdGV3YXlzIGFzIHdlbGw7PC9saT4KCQkJPGxpPlBhcmFtZXRlciBjdXJyZW5jeSB3YXMgbm90IGNvcnJlY3RseSBwYXNzZWQgdG8gUGF5UGFsOzwvbGk+CgkJCTxsaT5HZXQgcmlkIG9mIHB1YmxpYyBtZW1iZXIgdmFyaWFibGVzIHN1Y2ggYXMgJ2dsb2JhbCAkZ0Ntcyc7PC9saT4KCQkJPGxpPk1pbmltdW0gdmVyc2lvbiBzZXQgdG8gMS44LjEgZHVlIHRvIHJlbW92YWwgcHVibGljIG1lbWJlciB2YXJpYWJsZXMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMSAxMiBTZXB0ZW1iZXIgMjAxMDxicj4KCQk8dWw+CgkJCTxsaT5MYW5ndWFnZSBvZiBQYXlQYWwgc2NyZWVucyBmb3IgY3VzdG9tZXIgY2FuIG5vdyBiZSBzZXQgd2l0aCBuZXcgcGFyYW1ldGVyOiBsYW5ndWFnZV9jb2RlOzwvbGk+CgkJCTxsaT5BbGxvdyBtb2R1bGUgdG8gcnVuIGluIDEuOSBlbnZpcm9ubWVudCBvZiBDTVNNUy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMS4wLjUgT2N0IDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+Tm8gJ3NvZnR3YXJlJyBkZXBlbmRlbmNpZXMgb24gQ2FydCBhbmQgU2hvcCBNYWRlIFNpbXBsZSBhbnltb3JlOzwvbGk+CgkJCTxsaT5NYWtlIHN1cmUgdGhhdCBpZiBNb2R1bGUgQ2FydCBNYWRlIFNpbXBsZSBpcyBpbnN0YWxsZWQsIHRoZSB2ZXJzaW9uIHNob3VsZCBiZSBhdCBsZWFzdCAwLjIuNSB0byB3b3JrIGNvcnJlY3RseSB3aXRoIFBheVBhbC48L2xpPgoJCQk8bGk+SXRlbSBhbmQgaXRzIGFtb3VudCBmb3IgUGF5UGFsIGdhdGV3YXkgbW92ZWQgdG8gQ2FydCBNYWRlIFNpbXBsZSB0byBvcGVuIGdhdGV3YXkgZm9yIG90aGVyIG1vZHVsZXM7PC9saT4KCQkJPGxpPk5ldyBQYXlQYWwgYXR0cmlidXRlczoKCQkJCTx1bD4KCQkJCQk8bGk+Y2FydHN0eWxlOiB0byBoYW5kbGUgb25lIHRvdGFsIGFtb3VudCBvciBtdWx0aXBsZSBkZXRhaWwgbGluZXMgaW4gcGF5bWVudCByZXF1ZXN0OzwvbGk+CgkJCQkJPGxpPmNhbmNlbF9yZXR1cm46IHRoZSBwYWdlIHRvIHJldHVybiB0byB3aGVuIHBheW1lbnQgaXMgY2FuY2VsZWQuIER1cmluZyBpbnN0YWxsL3VwZ3JhZGUgc2V0IHRvIGhvbWUgcGFnZTs8L2xpPgoJCQkJCTxsaT5yZXR1cm46IHRoZSBwYWdlIHRvIHJldHVybiB0bywgd2hlbiBwYXltZW50IGlzIGRvbmUuIER1cmluZyBpbnN0YWxsL3VwZ3JhZGUgc2V0IHRvIGhvbWUgcGFnZTs8L2xpPgoJCQkJCTxsaT5kZWJ1Zzogd2lsbCBzaG93IGFsbCBwcmVwYXJlZCBQYXlQYWwgZmllbGRzIHdoZW4gdmFsdWUgaXMgeWVzIG9yIGRpZS48YnI+CgkJCQkJSWYgJ3llcycgcHJvY2Vzc2luZyBjb250aW51ZXMuIElmICdkaWUnLCBhbGwgZmllbGRzIGFyZSBzaG93biBhbmQgcHJvY2Vzc2luZyBwYXltZW50IHN0b3BzLiBOb3Qgc2V0IGR1cmluZyBpbnN0YWxsL3VwZ3JhZGUuPC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT5TZXQgbWF4aW11bSBDTVNNUyB2ZXJzaW9uIHRvIDEuNi45IHRvIGF2b2lkIHVuZm9yc2VlbiBwcm9ibGVtcy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMS4wLjQgMTcgSnVuIDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+RXJyb3Igc29sdmVkIG9uIG5vdCBiZWluZyBhYmxlIHRvIHBheSB2aWEgUGF5UGFsIChidWcjOiAzMDc2KTs8L2xpPgoJCQk8bGk+QWRkZWQgbmV3IHByZWZlcmVuY2UgZm9yIHJlZnJlc2ggZnVuY3Rpb24gKGJ1ZyM6IDMwNjUpLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAxLjAuMyAwMiBNYXIgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5CZXR0ZXIgaGFuZGxpbmcgb2YgcGF0aCBhbmQgcHJvZ3JhbSBpbiByZWZyZXNoIG9mIGdhdGV3YXlzICh0aGFua3MgdG86IGNvbWljYnJ1dGUpLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAxLjAuMiAxNCBGZWIgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5Ob3QgYWxsIFBheW1lbnQgTWFkZSBTaW1wbGUgb2JqZWN0cyB3ZXJlIGNvcnJlY3RseSByZW1vdmVkIGR1cmluZyB1bmluc3RhbGw7PC9saT4KCQkJPGxpPlBheVBhbCBnYXRld2F5IGhhcyBiZWVuIGFsdGVyZWQgZm9yIHRoZSBzdWJtaXQgcGF5bWVudCBwYXJ0LiBJdCBub3cgcmVjZWl2ZXMgb3JkZXJoZWFkZXIgaW5mbyBmcm9tIENhcnRNUzs8L2xpPgoJCQk8bGk+UmVmcmVzaCBnYXRld2F5cyBmdW5jdGlvbmFsbGl0eSBoYXMgYmVlbiBpbXByb3ZlZC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMS4wLjEgMSBGZWIgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5UZW1wbGF0ZXMgYXZhaWxhYmxlIGZvciBkZXZlbG9wZXJzIHRvIHJldHJpZXZlIHVzZXIgZGF0YSB0aGF0IGNhbiBiZSBwcm9tcHRlZC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMS4wLjAgMTEgRGVjIDIwMDguIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_listtemplates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDkgYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3BtcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGNvbmZpZyA9ICRnQ21zLT5jb25maWc7CiR0aGVtZU9iamVjdCA9ICYkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ107CQoKJHRlbXBsYXRlcyA9IGFycmF5KCk7CiR0ZW1wbGF0ZXMyID0gYXJyYXkoKTsKJGRidGVtcGxhdGVzID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoKTsKCiRyb3djbGFzcyA9ICdyb3cxJzsKLy8gUHJlcGFyZSBhIGxpc3Qgb2YgdGhlIGFscmVhZHkgYXZhaWxhYmxlIHRlbXBsYXRlcwpmb3JlYWNoICgkZGJ0ZW1wbGF0ZXMgYXMgJHRlbXBsYXRlKQp7Cgkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7Cgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCSRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICR0ZW1wbGF0ZSwgYXJyYXkoJ3RlbXBsYXRlbmFtZSc9PiR0ZW1wbGF0ZSkpOwoJJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCd0ZW1wbGF0ZW5hbWUnID0+ICR0ZW1wbGF0ZSkpOwoJLy8gQW55IGF1dG9tYXRpY2FsbHkgbG9hZGVkIGdhdGV3YXkgdGVtcGxhdGVzIG1heSBub3QgYmUgZGVsZXRlZCAoc2luY2UgdGhleSBhcmUgdXNlZCBpbiB0aGUgZ2F0ZXdheSBpdHNlbGYpCglpZiAoc3Vic3RyKCR0ZW1wbGF0ZSwgMCwgMTEpICE9ICdwbXNfZ2F0ZXdheScpIHsKCQkkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRldGVtcGxhdGUnLCAkcmV0dXJuaWQsIAoJCQkkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgCgkJCWFycmF5KCd0ZW1wbGF0ZW5hbWUnID0+ICR0ZW1wbGF0ZSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwoJfSBlbHNlIHsKCQkkb25lcm93LT5kZWxldGVsaW5rID0gJyZuYnNwOyc7Cgl9CgkKCSR0ZW1wbGF0ZXMyWyR0ZW1wbGF0ZV09JHRlbXBsYXRlOwoJJHRlbXBsYXRlc1tdID0gJG9uZXJvdzsKCgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQokdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICR0ZW1wbGF0ZXMpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkdGVtcGxhdGUnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdhZGR0ZW1wbGF0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICcnKSAuJyAnLgoJICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZHRlbXBsYXRlJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkdGVtcGxhdGUnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnY2hhbmdldGVtcGxhdGUnLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV90ZW1wbGF0ZW5hbWUnLCAkdGhpcy0+TGFuZygndGl0bGVfdGVtcGxhdGVuYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLyBEaXNwbGF5IHRoZSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2xpc3R0ZW1wbGF0ZXMudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/gw.iDEALPro.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gPGR1a2V0b3duQG1hbnRveC5ubD4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGlzIHRoZSBwYXltZW50IGdhdGV3YXkgZm9yIGlERUFMIGZvciBkdXRjaCBiYW5rcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIG5vdCBmcmVlIHNvZnR3YXJlOgojIC0gWW91IGFyZSBub3QgYWxsb3dlZCB0byByZWRpc3RyaWJ1dGUgaXQuCiMgLSBZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSBpdC4gCiMKIyBBbGwgY29tbWVudCBtdXN0IHN0YXkgaW5zaWRlIHRoaXMgcHJvZ3JhbQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8qCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqICAgICAgICAgICAgICAgICAgICAgIGlERUFMIFBheW1lbnQgSW50ZWdyYXRpb24gQ2xhc3MKICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqICBERVNDUklQVElPTjoKICoKICogICAgICBUaGlzIHByb2dyYW0gcHJvdmlkZXMgYSBzaW1wbGUgbWV0aG9kIHRvIGludGVyZmFjZSB3aXRoIGlERUFMLgogKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBwcmVwYXJlZCBmb3IgdGhlIEJhc2ljIEhhc2hjb2RlIGhhbmRsaW5nIHNpdHVhdGlvbi4KICoKICogICAgICBJbiBjYXNlIHlvdSBhcmUgbmV3IHRvIGlERUFMLCBoZXJlIGlzIHNvbWUgaW5mb3JtYXRpb24gdG8gaGVscCB5b3U6CiAqCiAqICAgICAgMS4gTGF0ZXN0IGluZm8gZm91bmQgb24gaHR0cDovL3d3dy5pZGVhbC5ubC8/bGFuZz1lbmctR0IuIAogKiAgICAgIDIuIFN1YnNjcmliZSB0byBjb25uZWN0IHRvIG9uZSBvZiB0aGUgZHV0Y2ggYmFua3MKICogICAgICAzLiBUZXN0IHRoZSB1c2FnZSBvZiB0aGlzIHByb2dyYW0KICogCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCgpjbGFzcyBwbXNpZGVhbHByb19jbGFzcyBleHRlbmRzIENNU01vZHVsZQp7CgoJdmFyICRsYXN0X2Vycm9yOwkJCQkvLyBob2xkcyB0aGUgbGFzdCBlcnJvciBlbmNvdW50ZXJlZAoKCXZhciAkaXBuX2xvZzsJCQkJLy8gYm9vbDogbG9nIElQTiByZXN1bHRzIHRvIHRleHQgZmlsZT8KCgl2YXIgJGlwbl9sb2dfZmlsZTsJCQkJLy8gZmlsZW5hbWUgb2YgdGhlIElQTiBsb2cKCXZhciAkaXBuX3Jlc3BvbnNlOwkJCS8vIGhvbGRzIHRoZSBJUE4gcmVzcG9uc2UgZnJvbSBpREVBTCAgIAoJdmFyICRpcG5fZGF0YSA9IGFycmF5KCk7CQkvLyBhcnJheSBjb250YWlucyB0aGUgUE9TVCB2YWx1ZXMgZm9yIElQTgoKCXZhciAkZmllbGRzID0gYXJyYXkoKTsJCQkvLyBhcnJheSBob2xkcyB0aGUgZmllbGRzIHRvIHN1Ym1pdCB0byBpREVBTAoKCglmdW5jdGlvbiBwbXNpZGVhbF9jbGFzcygpIHsKCgkJLy8gSW5pdGlhbGl6YXRpb24gY29uc3RydWN0b3IuICBDYWxsZWQgd2hlbiBjbGFzcyBpcyBjcmVhdGVkLgoKCQkkdGhpcy0+bGFzdF9lcnJvciA9ICcnOwoKCQkkdGhpcy0+aXBuX2xvZ19maWxlID0gJy5pcG5fYXVkaXRfdHJhaWwudHh0JzsKCQlpZiAoICR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJ2lERUFMJywgJ2xvZ2ZpbGUnKSA8PiAnJyApIHsKCQkJJHRoaXMtPmlwbl9sb2dfZmlsZSA9ICR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJ2lERUFMJywgJ2xvZ2ZpbGUnKTsKCQl9CgkJJHRoaXMtPmlwbl9sb2cgPSB0cnVlOyAKCQkkdGhpcy0+aXBuX3Jlc3BvbnNlID0gJyc7CgoJCS8vIFBvcHVsYXRlICRmaWVsZHMgYXJyYXkgd2l0aCBhIGZldyBkZWZhdWx0IHZhbHVlcy4KCQkvLyBTZWUgdGhlIGlERUFMIGRvY3VtZW50YXRpb24gZm9yIGEgbGlzdCBvZiBmaWVsZHMgYW5kIHRoZWlyIGRhdGEgdHlwZXMuIAoJCS8vIFRoZXNlIGRlZmF1bHQgdmFsdWVzIGNhbiBiZSBvdmVyd3JpdHRlbiBieSB0aGUgY2FsbGluZyBzY3JpcHQuCgoJCSR0aGlzLT5hZGRfZmllbGQoJ2N1cnJlbmN5JywnRVVSJyk7CgkJJHRoaXMtPmFkZF9maWVsZCgnbGFuZ3VhZ2UnLCdubCcpOyAKCQkkdGhpcy0+YWRkX2ZpZWxkKCdwYXltZW50VHlwZScsJ2lkZWFsJyk7IAoKCX0KCglmdW5jdGlvbiBhZGRfZmllbGQoJGZpZWxkLCAkdmFsdWUpIHsKCQkvLyBBZGRzIGEga2V5PT52YWx1ZSBwYWlyIHRvIHRoZSBmaWVsZHMgYXJyYXksIHdoaWNoIGlzIHdoYXQgd2lsbCBiZSAKCQkvLyBzZW50IHRvIGlERUFMIGFzIFBPU1QgdmFyaWFibGVzLiAgSWYgdGhlIHZhbHVlIGlzIGFscmVhZHkgaW4gdGhlIAoJCS8vIGFycmF5LCBpdCB3aWxsIGJlIG92ZXJ3cml0dGVuLgoKCQkkdGhpcy0+ZmllbGRzWyIkZmllbGQiXSA9ICR2YWx1ZTsKCX0KCglmdW5jdGlvbiBzdWJtaXRfcGF5bWVudCgpIHsKCQkvLyBUaGlzIGZ1bmN0aW9uIGFjdHVhbGx5IGdlbmVyYXRlcyBhbiBlbnRpcmUgSFRNTCBwYWdlIGNvbnNpc3Rpbmcgb2YKCQkvLyBhIGZvcm0gd2l0aCBoaWRkZW4gZWxlbWVudHMgd2hpY2ggaXMgc3VibWl0dGVkIHRvIGlERUFMIHZpYSB0aGUgCgkJLy8gQk9EWSBlbGVtZW50J3Mgb25Mb2FkIGF0dHJpYnV0ZS4gIFdlIGRvIHRoaXMgc28gdGhhdCB5b3UgY2FuIHZhbGlkYXRlCgkJLy8gYW55IFBPU1QgdmFycyBmcm9tIHlvdSBjdXN0b20gZm9ybSBiZWZvcmUgc3VibWl0dGluZyB0byBpREVBTC4gIFNvIAoJCS8vIGJhc2ljYWxseSwgeW91J2xsIGhhdmUgeW91ciBvd24gZm9ybSB3aGljaCBpcyBzdWJtaXR0ZWQgdG8geW91ciBzY3JpcHQKCQkvLyB0byB2YWxpZGF0ZSB0aGUgZGF0YSwgd2hpY2ggaW4gdHVybiBjYWxscyB0aGlzIGZ1bmN0aW9uIHRvIGNyZWF0ZQoJCS8vIGFub3RoZXIgaGlkZGVuIGZvcm0gYW5kIHN1Ym1pdCB0byBpREVBTC4KCgkJLy8gVGhlIHVzZXIgd2lsbCBicmllZmx5IHNlZSBhIG1lc3NhZ2Ugb24gdGhlIHNjcmVlbiB0aGF0IHJlYWRzOgoJCS8vICJFdmVuIGdlZHVsZCwgdXcgb3JkZXIgd29yZHQgdmVyd2Vya3QuLi4iIGFuZCB0aGVuIGltbWVkaWF0ZWx5CgkJLy8gaXMgcmVkaXJlY3RlZCB0byBpREVBTC4KCQlnbG9iYWwgJGdDbXM7CgogICAgJGdhdGV3YXlfY29kZSA9ICdpREVBTCc7CgkJaWYgKCAkdGhpcy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdlbnZpcm9ubWVudCcpID09ICdsaXZlJykgewoJCQkkdGhpcy0+aWRlYWxfdXJsID0gJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAndXJsX2xpdmUnKTsKCQl9CgkJZWxzZSB7CgkJCSR0aGlzLT5pZGVhbF91cmwgPSAkdGhpcy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICd1cmxfdGVzdCcpOwoJCX0KCQkkdGhpcy0+YWRkX2ZpZWxkKCdoYXNoa2V5JywgJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAnaGFzaGtleScpKTsKCQkkdGhpcy0+YWRkX2ZpZWxkKCdtZXJjaGFudElEJywgJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAnbWVyY2hhbnRJRCcpKTsKCQkkdGhpcy0+YWRkX2ZpZWxkKCdzdWJJRCcsICR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3N1YklEJykpOwoJCSR0aGlzLT5hZGRfZmllbGQoJ2N1cnJlbmN5JywgJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAnY3VycmVuY3knKSk7CgkJJHZhbGlkVW50aWwgPSBkYXRlKCdZLW0tZFxUSDppOnMuMDAwXFonLCB0aW1lKCkrOTAwKTsKCQkkdGhpcy0+YWRkX2ZpZWxkKCd2YWxpZFVudGlsJywgJHZhbGlkVW50aWwpOwoJCSRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwoJCSRyb290cGF0aCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10uJy9pbmRleC5waHAnOwoJCSR0aGlzLT5hZGRfZmllbGQoJ3VybENhbmNlbCcsICRyb290cGF0aCAuICR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3VybF9DYW5jZWwnKSk7CgkJJHRoaXMtPmFkZF9maWVsZCgndXJsU3VjY2VzcycsICRyb290cGF0aCAuICR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3VybF9TdWNjZXMnKSk7CgkJJHRoaXMtPmFkZF9maWVsZCgndXJsRXJyb3InLCAkcm9vdHBhdGggLiAkdGhpcy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICd1cmxfRXJyb3InKSk7CgkJJGN1cnJlbmN5ID0gJHRoaXMtPmZpZWxkc1snY3VycmVuY3knXTsKCQkkbGFuZ3VhZ2UgPSAkdGhpcy0+ZmllbGRzWydsYW5ndWFnZSddOwoJCSRkZXNjcmlwdGlvbiA9ICR0aGlzLT5maWVsZHNbJ2Rlc2NyaXB0aW9uJ107CgkJJHN1Ym1pdHRleHQgPSAkdGhpcy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdiZXZlc3RpZ3Rla3N0Jyk7CgkJaWYgKCRzdWJtaXR0ZXh0ID09ICcnKSAkc3VibWl0dGV4dCA9ICdCZXZlc3RpZ2luZyc7CgogCQkvLyBUbyBnZXQgYSBkdW1wIG9mIGFsbCBmaWVsZHMsIHByZXBhcmUgYSBwYXJhbWV0ZXIgaW4gdGhlIGJhY2sgZW5kIGZvciB0aGUgaURFQUwgZ2F0ZXdheQoJCS8vIHdpdGggbmFtZSBkZWJ1ZyBhbmQgdmFsdWUgeWVzIChzaG9ydGx5IHNob3cgdGhlIGNvbnRlbnRzIG9mIGZpZWxkcyBvciBkaWUgKHNob3cgYW5kIHN0b3ApCgkJJGR1bXBoaWRkZW5maWVsZHMgPSAkdGhpcy0+Z2V0R2F0ZXdheVZhbHVlKCRnYXRld2F5X2NvZGUsICdkZWJ1ZycpOwoJCWlmICggJGR1bXBoaWRkZW5maWVsZHMgPT0gJ3llcycgfHwgJGR1bXBoaWRkZW5maWVsZHMgPT0gJ2RpZScpIHsKCQkJCSR0aGlzLT5kdW1wX2ZpZWxkcygpOwoJCQkJaWYgKCAkZHVtcGhpZGRlbmZpZWxkcyA9PSAnZGllJykgewoJCQkJCWRpZSgpOwoJCQkJfQoJCX0KCgkJLy8gUHJlcGFyZSBmaWVsZHMgdG8gaGFzaCB0aGVtCgkJJGtleSA9ICR0aGlzLT5maWVsZHNbJ2hhc2hrZXknXTsKCQkkbWVyY2hhbnRJRCA9ICR0aGlzLT5maWVsZHNbJ21lcmNoYW50SUQnXTsKCQkkc3ViSUQgPSAkdGhpcy0+ZmllbGRzWydzdWJJRCddOwoJCSRhbW91bnQgPSAkdGhpcy0+ZmllbGRzWydhbW91bnQnXTsKCQkkcHVyY2hhc2VJRCA9ICR0aGlzLT5maWVsZHNbJ3B1cmNoYXNlSUQnXTsKCQkkcGF5bWVudFR5cGUgPSAkdGhpcy0+ZmllbGRzWydwYXltZW50VHlwZSddOwoJCSR2YWxpZFVudGlsID0gJHRoaXMtPmZpZWxkc1sndmFsaWRVbnRpbCddOwoJCSRpdGVtTnVtYmVyMSA9ICR0aGlzLT5maWVsZHNbJ2l0ZW1OdW1iZXIxJ107CgkJJGl0ZW1EZXNjcmlwdGlvbjEgPSAkdGhpcy0+ZmllbGRzWydpdGVtRGVzY3JpcHRpb24xJ107CgkJJGl0ZW1RdWFudGl0eTEgPSAkdGhpcy0+ZmllbGRzWydpdGVtUXVhbnRpdHkxJ107CgkJJGl0ZW1QcmljZTEgPSAkdGhpcy0+ZmllbGRzWydpdGVtUHJpY2UxJ107CgkJJHNoYXN0cmluZyA9ICIka2V5JG1lcmNoYW50SUQkc3ViSUQkYW1vdW50JHB1cmNoYXNlSUQkcGF5bWVudFR5cGUkdmFsaWRVbnRpbCIKCQkuICIkaXRlbU51bWJlcjEkaXRlbURlc2NyaXB0aW9uMSRpdGVtUXVhbnRpdHkxJGl0ZW1QcmljZTEiOwoJCSRzaGFzdHJpbmcgPSBwcmVnX3JlcGxhY2UoYXJyYXkoIi9bIFx0XG5dLyIsICcvJmFtcDsvaScsICcvJmx0Oy9pJywgJy8mZ3Q7L2knLCAnLyZxdW90L2knKSwgYXJyYXkoICcnLCAnJicsICc8JywgJz4nLCAnIicpLCAkc2hhc3RyaW5nKTsKCQkkc2hhc2lnbiA9IHNoYTEoJHNoYXN0cmluZyk7CgkJJHRoaXMtPmFkZF9maWVsZCgnaGFzaCcsICRzaGFzaWduKTsKICAgICAgICAgIGVjaG8gIjxodG1sPlxuIjsKICAgICAgICAgIGVjaG8gIjxoZWFkPjx0aXRsZT5Qcm9jZXNzaW5nIFBheW1lbnQuLi48L3RpdGxlPjwvaGVhZD5cbiI7CgkJaWYgKCBzdHJ0b3VwcGVyKCR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ3NraXBjb25maXJtJykpID09ICdKQScpIHsKCQkJZWNobyAiPGJvZHkgb25Mb2FkPVwiZG9jdW1lbnQuZm9ybXNbJ2Zvcm0xJ10uc3VibWl0KCk7XCI+XG4iOwoJCX0KCQkvLyBUaGUgdGVtcGxhdGUgY29udGFpbnMgaW5mb3JtYXRpb24gdGhhdCBpcyBhZG1pbmlzdHJhdG9yIGRlcGVuZGVudAoJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSggJ3Btc19nYXRld2F5X2lERUFMJywgJ1BheW1lbnRNYWRlU2ltcGxlJyk7CgkJZWNobyAiJHRlbXBsYXRlIjsKCgkJLy8gTm93IHRoYXQgYWxsIHZhcmlhYmxlcyBhcmUga25vd24sIHByb2Nlc3MgdGhlIGZvcm0KCQllY2hvICI8Zm9ybSBtZXRob2Q9XCJwb3N0XCIgbmFtZT1cImZvcm0xXCIgYWN0aW9uPVwiJHRoaXMtPmlkZWFsX3VybFwiID5cbiI7CgkJCgkJZm9yZWFjaCAoJHRoaXMtPmZpZWxkcyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKCQkJZWNobyAiPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiJG5hbWVcIiB2YWx1ZT1cIiR2YWx1ZVwiLz5cbiI7CgkJfQoJCWVjaG8gIjxpbnB1dCB0eXBlPVwic3VibWl0XCIgbmFtZT1cInN1Ym1pdDJcIiB2YWx1ZT1cIiRzdWJtaXR0ZXh0XCI+PC9jZW50ZXI+XG4iOwoKCQllY2hvICI8L2Zvcm0+XG4iOwoJCWVjaG8gIjwvYm9keT5cbiI7CgkJZWNobyAiPC9odG1sPlxuIjsKCgkJLy8gTXVzdCBiZSBzaHVyZSB0aGF0IHRoZSBmb3JtIGlzIHByb2Nlc3NlZC4KCQkvLyBJZiBuZXh0IHN0YXRlbWVudCBpcyBub3QgdXNlZCwgd2UgYXJlIGJyb3VnaHQgYmFjayB0byB0aGFuayB5b3UgcGFnZSAod2l0aG91dCB0aGUgYWN0dWFsIHBheW1lbnQhKQoJCWRpZSgpOwoJfQoKCWZ1bmN0aW9uIHZhbGlkYXRlX2lwbigpIHsKCgkJLy8gUGFyc2UgdGhlIGlERUFMIFVSTAoJCSR1cmxfcGFyc2VkPXBhcnNlX3VybCgkdGhpcy0+aWRlYWxfdXJsKTsgICAgICAgIAoKCQkvLyBHZW5lcmF0ZSB0aGUgcG9zdCBzdHJpbmcgZnJvbSB0aGUgX1BPU1QgdmFycyBhc3dlbGwgYXMgbG9hZCB0aGUKCQkvLyBfUE9TVCB2YXJzIGludG8gYW4gYXJyeSBzbyB3ZSBjYW4gcGxheSB3aXRoIHRoZW0gZnJvbSB0aGUgY2FsbGluZyBzY3JpcHQuCgkJJHBvc3Rfc3RyaW5nID0gJyc7ICAgIAoJCWZvcmVhY2ggKCRfUE9TVCBhcyAkZmllbGQ9PiR2YWx1ZSkgeyAKCQkJJHRoaXMtPmlwbl9kYXRhWyIkZmllbGQiXSA9ICR2YWx1ZTsKCQkJJHBvc3Rfc3RyaW5nIC49ICRmaWVsZC4nPScudXJsZW5jb2RlKHN0cmlwc2xhc2hlcygkdmFsdWUpKS4nJic7IAoJCX0KCQkvLyBBcHBlbmQgaXBuIGNvbW1hbmQKCQkkcG9zdF9zdHJpbmcuPSJjbWQ9X25vdGlmeS12YWxpZGF0ZSI7IAoKCQkvLyBPcGVuIHRoZSBjb25uZWN0aW9uIHRvIGlERUFMCgkJJGZwID0gZnNvY2tvcGVuKCR1cmxfcGFyc2VkW2hvc3RdLCI4MCIsJGVycl9udW0sJGVycl9zdHIsMzApOyAKCQlpZighJGZwKSB7CgkJCS8vIENvdWxkIG5vdCBvcGVuIHRoZSBjb25uZWN0aW9uLgoJCQkvLyBJZiBsb2dnaW4gaXMgb24sIHRoZSBlcnJvciBtZXNzYWdlIHdpbGwgYmUgaW4gdGhlIGxvZy4KCQkJJHRoaXMtPmxhc3RfZXJyb3IgPSAiZnNvY2tvcGVuIGVycm9yIG5vLiAkZXJybnVtOiAkZXJyc3RyIjsKCQkJJHRoaXMtPmxvZ19pcG5fcmVzdWx0cyhmYWxzZSk7ICAgICAgIAoJCQlyZXR1cm4gZmFsc2U7CgoJCX0gZWxzZSB7IAoKCQkJLy8gUG9zdCB0aGUgZGF0YSBiYWNrIHRvIGlERUFMCgkJCWZwdXRzKCRmcCwgIlBPU1QgJHVybF9wYXJzZWRbcGF0aF0gSFRUUC8xLjFcclxuIik7IAoJCQlmcHV0cygkZnAsICJIb3N0OiAkdXJsX3BhcnNlZFtob3N0XVxyXG4iKTsgCgkJCWZwdXRzKCRmcCwgIkNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiIpOyAKCQkJZnB1dHMoJGZwLCAiQ29udGVudC1sZW5ndGg6ICIuc3RybGVuKCRwb3N0X3N0cmluZykuIlxyXG4iKTsgCgkJCWZwdXRzKCRmcCwgIkNvbm5lY3Rpb246IGNsb3NlXHJcblxyXG4iKTsgCgkJCWZwdXRzKCRmcCwgJHBvc3Rfc3RyaW5nIC4gIlxyXG5cclxuIik7IAoKCQkJLy8gTG9vcCB0aHJvdWdoIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIgYW5kIGFwcGVuZCB0byB2YXJpYWJsZQoJCQl3aGlsZSghZmVvZigkZnApKSB7IAoJCQkJJHRoaXMtPmlwbl9yZXNwb25zZSAuPSBmZ2V0cygkZnAsIDEwMjQpOyAKCQkJfSAKCgkJCS8vIENsb3NlIGNvbm5lY3Rpb24KCQkJZmNsb3NlKCRmcCk7IAoKCQl9CgoJCWlmIChlcmVnaSgiVkVSSUZJRUQiLCR0aGlzLT5pcG5fcmVzcG9uc2UpKSB7CgoJCS8vIFZhbGlkIElQTiB0cmFuc2FjdGlvbi4KCQkkdGhpcy0+bG9nX2lwbl9yZXN1bHRzKHRydWUpOwoJCXJldHVybiB0cnVlOyAgICAgICAKCgkJfSBlbHNlIHsKCgkJLy8gSW52YWxpZCBJUE4gdHJhbnNhY3Rpb24uICBDaGVjayB0aGUgbG9nIGZvciBkZXRhaWxzLgoJCSR0aGlzLT5sYXN0X2Vycm9yID0gJ0lQTiBWYWxpZGF0aW9uIEZhaWxlZC4nOwoJCSR0aGlzLT5sb2dfaXBuX3Jlc3VsdHMoZmFsc2UpOyAgIAoJCXJldHVybiBmYWxzZTsKCgkJfQoJfQoKCWZ1bmN0aW9uIGxvZ19pcG5fcmVzdWx0cygkc3VjY2VzcykgewoKCQkvLyBpcyBsb2dnaW5nIHR1cm5lZCBvZmY/CgkJaWYgKCEkdGhpcy0+aXBuX2xvZykgcmV0dXJuOwoKCQkvLyBUaW1lc3RhbXAKCQkkdGV4dCA9ICdbJy5kYXRlKCdtL2QvWSBnOmkgQScpLiddIC0gJzsgCgoJCS8vIFN1Y2Nlc3Mgb3IgZmFpbHVyZSBiZWluZyBsb2dnZWQ/CgkJaWYgKCRzdWNjZXNzKSAkdGV4dCAuPSAiU1VDQ0VTUyFcbiI7CgkJZWxzZSAkdGV4dCAuPSAnRkFJTDogJy4kdGhpcy0+bGFzdF9lcnJvci4iXG4iOwoKCQkvLyBMb2cgdGhlIFBPU1QgdmFyaWFibGVzCgkJJHRleHQgLj0gIklQTiBQT1NUIFZhcnMgZnJvbSBpREVBTDpcbiI7CgkJZm9yZWFjaCAoJHRoaXMtPmlwbl9kYXRhIGFzICRrZXk9PiR2YWx1ZSkgewoJCQkkdGV4dCAuPSAiJGtleT0kdmFsdWUsICI7CgkJfQoKCQkvLyBMb2cgdGhlIHJlc3BvbnNlIGZyb20gdGhlIGlERUFMIHNlcnZlcgoJCSR0ZXh0IC49ICJcbklQTiBSZXNwb25zZSBmcm9tIGlERUFMIFNlcnZlcjpcbiAiLiR0aGlzLT5pcG5fcmVzcG9uc2U7CgoJCS8vIFdyaXRlIHRvIGxvZwoJCSRmcD1mb3BlbigkdGhpcy0+aXBuX2xvZ19maWxlLCdhJyk7CgkJZndyaXRlKCRmcCwgJHRleHQgLiAiXG5cbiIpOyAKCgkJLy8gQ2xvc2UgZmlsZQoJCWZjbG9zZSgkZnApOyAgCgl9CgoJZnVuY3Rpb24gZHVtcF9maWVsZHMoKSB7CgoJCS8vIFVzZWQgZm9yIGRlYnVnZ2luZywgdGhpcyBmdW5jdGlvbiB3aWxsIG91dHB1dCBhbGwgdGhlIGZpZWxkL3ZhbHVlIHBhaXJzCgkJLy8gdGhhdCBhcmUgY3VycmVudGx5IGRlZmluZWQgaW4gdGhlIGluc3RhbmNlIG9mIHRoZSBjbGFzcyB1c2luZyB0aGUKCQkvLyBhZGRfZmllbGQoKSBmdW5jdGlvbi4KCgkJZWNobyAiPGgzPnBtc2lkZWFsX2NsYXNzLT5kdW1wX2ZpZWxkcygpIE91dHB1dDo8L2gzPiI7CgkJZWNobyAiPHRhYmxlIHdpZHRoPVwiOTUlXCIgYm9yZGVyPVwiMVwiIGNlbGxwYWRkaW5nPVwiMlwiIGNlbGxzcGFjaW5nPVwiMFwiPgoJCQk8dHI+CgkJCQk8dGQgYmdjb2xvcj1cImJsYWNrXCI+PGI+PGZvbnQgY29sb3I9XCJ3aGl0ZVwiPkZpZWxkIE5hbWU8L2ZvbnQ+PC9iPjwvdGQ+CgkJCQk8dGQgYmdjb2xvcj1cImJsYWNrXCI+PGI+PGZvbnQgY29sb3I9XCJ3aGl0ZVwiPlZhbHVlPC9mb250PjwvYj48L3RkPgoJCQk8L3RyPiI7IAoKCQlrc29ydCgkdGhpcy0+ZmllbGRzKTsKCQlmb3JlYWNoICgkdGhpcy0+ZmllbGRzIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkJCWVjaG8gIjx0cj48dGQ+JGtleTwvdGQ+PHRkPiIudXJsZGVjb2RlKCR2YWx1ZSkuIiZuYnNwOzwvdGQ+PC90cj4iOwoJCX0KCgkJZWNobyAiPC90YWJsZT48YnI+IjsgCgl9CgoJZnVuY3Rpb24gZ2V0R2F0ZVdheVZhbHVlKCAkZ2F0ZXdheV9jb2RlLCAkZ2F0ZXdheXBhcm0gKSB7CgkJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCS8vIFJldHJpZXZlIHRoZSBpbnRlcm5hbCBpZCBmb3IgdGhpcyBnYXRld2F5LiBQYXNzZWQgaXMKCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nd2F0dHJpYnV0ZXMsICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2dhdGV3YXlzCgkJCSBXSEVSRSBsb3dlcihnYXRld2F5X2NvZGUpID0gbG93ZXIoID8gKSBBTkQgZ3dnYXRld2F5X2lkID0gZ2F0ZXdheV9pZCBBTkQgZ3dwYXJtID0gPyc7CgkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGdhdGV3YXlfY29kZSwgJGdhdGV3YXlwYXJtICkpOwoJCWlmICggaXNzZXQoJHJvd1snZ3d2YWx1ZSddKSApIHsKCQkJcmV0dXJuICRyb3dbJ2d3dmFsdWUnXTsKCQl9CgkJZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJfQoKCWZ1bmN0aW9uIEluc3RhbGxHYXRlV2F5KCAkZ2F0ZXdheV9pZCApIHsKCQkvLyBJbnN0YWxsaW5nIGlERUFMIHdpbGwgaW5jbHVkZSBpbnNlcnRpbmcgYSBudW1iZXIgb2Ygc2VtaSBmaXhlZCBhdHRyaWJ1dGVzCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkvLyBTZXQgYWxsIGF0dHJpYnV0ZXMgdG8gbG9ja2VkCgkJJGd3bG9ja2VkID0gMTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzIChnd2F0dHJfaWQsIGd3Z2F0ZXdheV9pZCwgZ3dwYXJtLCBnd2Rlc2NyaXB0aW9uLCBnd3ZhbHVlLCBnd2xvY2tlZCApCgkJCVZBTFVFUyAoPyw/LD8sPyw/LD8pJzsKCiAgICAkZ3dwYXJtID0gJ2FjcXVpcmVydGltZW91dCc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnQWFudGFsIHNlY29uZGVuIGRhdCBlciBnZXdhY2h0IHdvcmR0IG9wIHJlc3BvbnMgdmFuIGRlIGlERUFMIHNlcnZpY2VzJzsKCQkkZ3d2YWx1ZSA9ICcxMCc7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICdiZXZlc3RpZ2luZ3N0ZWtzdCc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnRGUgdGVrc3QgZGllIG9wIGJldmVzdGlnaW5nc2tub3AgdmVyc2NoaWpudCc7CgkJJGd3dmFsdWUgPSAnQmV2ZXN0aWdpbmcnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAnY3VycmVuY3knOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ1ZhbHV0YSBvbSB0ZSBnZWJydWlrZW4nOwoJCSRnd3ZhbHVlID0gJ0VVUic7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICdlaWdlbmJhbmsnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ1NlbGVjdGVlciB1dyBlaWdlbiBiYW5rOiBhYm4sIGluZywgZm9ydGlzLCByYWJvIG9mIHNucyc7CgkJJGd3dmFsdWUgPSAnaW5nJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkkZ3dwYXJtID0gJ2Vudmlyb25tZW50JzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdSdW4gaURFQUwgbGl2ZSBvciB0ZXN0Pyc7CgkJJGd3dmFsdWUgPSAndGVzdCc7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICdleHBpcmF0aW9ucGVyaW9kJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdQZXJpb2RlIHdhYXJiaW5uZW4gZGUgaURFQUwtdHJhbnNhY3RpZSBwbGFhdHMgbWFnIHZpbmRlbi4gUFQxSD0xaHIuIFBUMTBNPTEwbWluLic7CgkJJGd3dmFsdWUgPSAnUFQzME0nOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAnaXRlbWRlc2MnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ0RlIG9tc2NocmlqdmluZyB6b2FscyBiaWogZGUgYmV0YWxpbmcgd29yZHQgdmVybWVsZCc7CgkJJGd3dmFsdWUgPSAnVXcgYmVzdGVsbGluZyc7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICdsYW5ndWFnZSc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnVGFhbCBvbSB0ZSBnZWJydWlrZW4gb3AgZGUgaURFQUwgcGFnaW5hXCdzJzsKCQkkZ3d2YWx1ZSA9ICdubCc7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICdsb2dmaWxlJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdUaGUgbG9nIGZpbGUgdG8gY29udGFpbiB0aGUgdHJhbnNmZXIgYXVkaXQgdHJhaWwuIFNlZTogdXBsb2Fkcy9QYXltZW50TWFkZVNpbXBsZSc7CgkJJGd3dmFsdWUgPSAnaWRlYWxfYXVkaXRfdHJhaWwudHh0JzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkkZ3dwYXJtID0gJ21lcmNoYW50SUQnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ0hldCBtZXJjaGFudElEIGJpaiBkZSBiYW5rJzsKCQkkZ3d2YWx1ZSA9ICcwMDUweHh4eHgnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAnbnVtYmVyb2ZjZW50cyc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnQWFudGFsIHRvZWdlc3RhbmUgZGVjaW1hbGVuL2NlbnRlbic7CgkJJGd3dmFsdWUgPSAwOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAncGF5bWVudFR5cGUnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ1R5cGUgYmV0YWxpbmcnOwoJCSRnd3ZhbHVlID0gJ2lkZWFsJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKLy8gCQkkZ3dwYXJtID0gJ3NraXBjb25maXJtJzsKLy8gCQkkZ3dkZXNjcmlwdGlvbiA9ICdOYSBvcmRlciBiZXZlc3RpZ2luZyBkaXJlY3QgZG9vciBuYWFyIGlERUFMIChKYS9OZWUpJzsKLy8gCQkkZ3d2YWx1ZSA9ICdKYSc7Ci8vIAkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKLy8gCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICdzdWJJRCc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnSGV0IHN1YklEIHZhbiBkZSBtZXJjaGFudCBvbSB0ZSBnZWJydWlrZW4nOwoJCSRnd3ZhbHVlID0gJzAnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgogICAgJGd3cGFybSA9ICdwcml2YXRlY2VydCc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnTmFhbSB2YW4gY2VydGlmaWNhYXQgdmlhIEludGVncmF0aWUgdGFiIGdlLXVwbG9hZCc7CgkJJGd3dmFsdWUgPSAnY2VydC5jZXInOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgogICAgJGd3cGFybSA9ICdwcml2YXRla2V5JzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdOYWFtIHZhbiBwcml2LnBlbSBiZXN0YW5kIGRhdCBiaWogY2VydGlmaWNhYXQgaG9vcnQnOwoJCSRnd3ZhbHVlID0gJ3ByaXYucGVtJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKICAgICRnd3Bhcm0gPSAncHJpdmF0ZWtleXBhc3MnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ1dhY2h0d29vcmQgbmFhciBwcml2LnBlbS9jZXJ0aWZpY2FhdCBiZXN0YW5kJzsKCQkkZ3d2YWx1ZSA9ICc8cGFzc3dvcmQ+JzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKLy8JCSRnd3Bhcm0gPSAndHJhY2VsZXZlbCc7Ci8vIAkJJGd3ZGVzY3JpcHRpb24gPSAnTGV2ZWwgb2YgYXVkaXQgdHJhaWw6IERFQlVHLCBFUlJPUiBvciBvZmYvZmFsc2UvYmxhbmsnOwovLyAJCSRnd3ZhbHVlID0gJ2ZhbHNlJzsKLy8gCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwovLyAJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkkZ3dwYXJtID0gJ3VybF9DYW5jZWwnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ0RlIHBhZ2luYSBkaWUgZ2V0b29uZCB3b3JkdCBhbHMgdGlqZGVucyBiZXRhbGluZyBnZWFubnVsZWVyZCBpcyc7CgkJJGd3dmFsdWUgPSAnP3BhZ2U9cG1zQ2FuY2VsJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkkZ3dwYXJtID0gJ3VybF9FcnJvcic7CgkJJGd3ZGVzY3JpcHRpb24gPSAnRGUgcGFnaW5hIGRpZSBnZXRvb25kIHdvcmR0IGFscyBlciB0aWpkZW5zIGJldGFsaW5nIGlldHMgZm91dCBpcyBnZWdhYW4nOwoJCSRnd3ZhbHVlID0gJz9wYWdlPXBtc0Vycm9yJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkkZ3dwYXJtID0gJ3VybF9FeHBpcmVkJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdEZSBwYWdpbmEgZGllIGdldG9vbmQgd29yZHQgYWxzIGtsYW50IHRlIGxhbmcgd2FjaHQgaW4gaURFQUwgcGFnaW5hJzsKCQkkZ3d2YWx1ZSA9ICc/cGFnZT1wbXNFcnJvcic7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICd1cmxfT3Blbic7CgkJJGd3ZGVzY3JpcHRpb24gPSAnUGFnaW5hIGRpZSBiZXNjaHJpamZ0IGRhdCBoZXQgb25iZWtlbmQgaXMgb2YgdHJhbnNhY3RpZSBnb2VkIHZlcmxvcGVuIGlzJzsKCQkkZ3d2YWx1ZSA9ICc/cGFnZT1wbXNFcnJvcic7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICd1cmxfU3VjY2VzJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdQYWdpbmEgZGllIGFhbmdlZWZ0IGRhdCBiZXRhbGluZyBjb3JyZWN0IHZlcndlcmt0IGlzJzsKCQkkZ3d2YWx1ZSA9ICc/cGFnZT1wbXNTdWNjZXMnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAndXJsX2xpdmUnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ0RlIFVSTCBuYWFyIGRlIGxpdmUgb21nZXZpbmcgdmFuIGlERUFMIGJpaiBkZSBiYW5rJzsKCQkkZ3d2YWx1ZSA9ICdodHRwczovL2lkZWFsLnNlY3VyZS1pbmcuY29tL2lkZWFsL21waVBheUluaXRJbmcuZG8nOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAndXJsX3Rlc3QnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ0RlIFVSTCBuYWFyIGRlIHRlc3Qgb21nZXZpbmcgdmFuIGlERUFMIGJpaiBkZSBiYW5rJzsKCQkkZ3d2YWx1ZSA9ICdodHRwczovL2lkZWFsdGVzdC5zZWN1cmUtaW5nLmNvbS9pZGVhbC9tcGlQYXlJbml0SW5nLmRvJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoJCQoJCS8vIEZvciB0aGUgZmluYWwgb3ZlcnZpZXcgYSB0ZW1wbGF0ZSBpcyBoYW5keQoJCSR0ZW1wbGF0ZSA9ICc8IS0tIFppZSB3d3cuaWRlYWwubmwgdm9vciBtZWVyIGJhbm5lcnMgem9hbHMgb25kZXJzdGFhbmRlIC0tPic7CgkJJHRlbXBsYXRlIC49ICc8YSBocmVmPSJodHRwOi8vaWRlYWwubmwvY29uc3VtZW50L2luY29taW5nLz9vPTIzNC4xMDAiIHRhcmdldD0iX2JsYW5rIj4nOwogICAJJHRlbXBsYXRlIC49ICc8aW1nIHNyYz0iaHR0cDovL2lkZWFsLm5sL2ltZy8yMzR4MTAwLmdpZiIgd2lkdGg9IjIzNCIgaGVpZ2h0PSIxMDAiIGJvcmRlcj0iMCIgLz4nOwoJCSR0ZW1wbGF0ZSAuPSAnPC9hPic7CgkJJHRlbXBsYXRlIC49ICc8YnIgLz48Y2VudGVyPkFsc3R1YmxpZWZ0IHdhY2h0ZW4uIFV3IG9yZGVyIHdvcmR0IHZlcndlcmt0IGVuIGlERUFMJzsKCQkkdGVtcGxhdGUgLj0gJyBiZXRhYWxtZXRob2RlIHdvcmR0IG9wZ2VzdGFydC48L2NlbnRlcj48YnIgLz4nOwoJCSR0ZW1wbGF0ZSAuPSAnPCEtLSBFciBpcyBnZWVuIDwvY2VudGVyPiBpbiBvbmRlcnN0YWFuZGUgcmVnZWwsIGFhbmdlemllbiBkZXplIGF1dG9tYXRpc2NoIGdlZ2VuZXJlZXJkIHdvcmR0IC0tPic7CgkJJHRlbXBsYXRlIC49ICc8Y2VudGVyPjxici8+PGJyLz5CZXZlc3RpZyBkYXQgdSB3aWx0IGJldGFsZW4gdmlhIGlERUFMLjxici8+PGJyLz4nOwoJCSR0aW1lID0gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpOwoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3RlbXBsYXRlcyAobW9kdWxlX25hbWUsIHRlbXBsYXRlX25hbWUsIGNvbnRlbnQsIAoJCQljcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPywnLiR0aW1lLicsJy4kdGltZS4nKSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJ1BheW1lbnRNYWRlU2ltcGxlJywgJ3Btc19nYXRld2F5X2lERUFMJywgJHRlbXBsYXRlKSk7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/gw.PayPal.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogICAgICAgICAgICAgICAgICAgICAgUEhQIFBheXBhbCBJUE4gSW50ZWdyYXRpb24gQ2xhc3MKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogICAgICBBdXRob3I6ICAgICBNaWNhaCBDYXJyaWNrICYgZXh0ZW5kZWQgZm9yIENNU01TIGJ5IER1a2V0b3duCiAqICAgICAgRW1haWw6ICAgICAgZW1haWxAbWljYWhjYXJyaWNrLmNvbQogKiAgICAgIFdlYnNpdGU6ICAgIGh0dHA6Ly93d3cubWljYWhjYXJyaWNrLmNvbQogKgogKiAgICAgIEZpbGU6ICAgICAgIHBheXBhbC5jbGFzcy5waHAKICogICAgICBWZXJzaW9uOiAgICAxLjMuMAogKiAgICAgIENvcHlyaWdodDogIChjKSAyMDA1IC0gTWljYWggQ2FycmljayAKICogICAgICAgICAgICAgICAgICBZb3UgYXJlIGZyZWUgdG8gdXNlLCBkaXN0cmlidXRlLCBhbmQgbW9kaWZ5IHRoaXMgc29mdHdhcmUgCiAqICAgICAgICAgICAgICAgICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFNlZSB0aGUKICogICAgICAgICAgICAgICAgICBpbmNsdWRlZCBsaWNlbnNlLnR4dCBmaWxlLgogKiAgICAgIAogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiAgVkVSSU9OIEhJU1RPUlk6CiAqICAgICAgdjEuMy4wIFsxMC4xMC4yMDA1XSAtIEZpeGVkIGl0IHNvIHRoYXQgc2luZ2xlIHF1b3RlcyBhcmUgaGFuZGxlZCB0aGUgCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0IHdheSByYXRoZXIgdGhhbiBzaW1wbGUgc3RyaXBwaW5nIHRoZW0uICBUaGlzCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcyBuZWVkZWQgYmVjYXVzZSB0aGUgdXNlciBjb3VsZCBzdGlsbCBwdXQgaW4KICogICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGVzLgogKiAgCiAqICAgICAgdjEuMi4xIFswNi4wNS4yMDA1XSAtIEZpeGVkIHR5cG8gZnJvbSBwcmV2aW91cyBmaXggOikKICoKICogICAgICB2MS4yLjAgWzA1LjMxLjIwMDVdIC0gQWRkZWQgdGhlIG9wdGlvbmFsIGFiaWxpdHkgdG8gcmVtb3ZlIGFsbCBxdW90ZXMKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0aGUgcGF5cGFsIHBvc3RzLiAgVGhlIElQTiB3aWxsIGNvbWUgYmFjawogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkIHNvbWV0aW1lcyB3aGVuIHF1b3RlcyBhcmUgdXNlZCBpbiBjZXJ0aWFuCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcy4KICoKICogICAgICB2MS4xLjAgWzA1LjE1LjIwMDVdIC0gUmV2aXNlZCB0aGUgZm9ybSBvdXRwdXQgaW4gdGhlIHN1Ym1pdF9wYXlwYWxfcG9zdAogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgdG8gYWxsb3cgbm9uLWphdmFzY3JpcHQgY2FwYWJsZSBicm93c2VycwogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBwcm92aWRlIGEgbWVhbnMgb2YgbWFudWFsIGZvcm0gc3VibWlzc2lvbi4KICoKICogICAgICB2MS4wLjAgWzA0LjE2LjIwMDVdIC0gSW5pdGlhbCBWZXJzaW9uCiAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqICBERVNDUklQVElPTjoKICoKICogICAgICBOT1RFOiBTZWUgd3d3Lm1pY2FoY2Fycmljay5jb20gZm9yIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uIG9mIHRoaXMgY2xhc3MKICogICAgICAgICAgICBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNhbXBsZSBmaWxlcyBhbmQgb3RoZXIgZG9jdW1lbnRhaW9uLgogKgogKiAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBhIG5lYXQgYW5kIHNpbXBsZSBtZXRob2QgdG8gaW50ZXJmYWNlIHdpdGggcGF5cGFsIGFuZAogKiAgICAgIFRoZSBwYXlwYWwgSW5zdGFudCBQYXltZW50IE5vdGlmaWNhdGlvbiAoSVBOKSBpbnRlcmZhY2UuICBUaGlzIGZpbGUgaXMKICogICAgICBOT1QgaW50ZW5kZWQgdG8gbWFrZSB0aGUgcGF5cGFsIGludGVncmF0aW9uICJwbHVnICduJyBwbGF5Ii4gSXQgc3RpbGwKICogICAgICByZXF1aXJlcyB0aGUgZGV2ZWxvcGVyICh0aGF0IHNob3VsZCBiZSB5b3UpIHRvIHVuZGVyc3RhbmQgdGhlIHBheXBhbAogKiAgICAgIHByb2Nlc3MgYW5kIGtub3cgdGhlIHZhcmlhYmxlcyB5b3Ugd2FudC9uZWVkIHRvIHBhc3MgdG8gcGF5cGFsIHRvCiAqICAgICAgYWNoaWV2ZSB3aGF0IHlvdSB3YW50LiAgCiAqCiAqICAgICAgVGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBzdWJtaXNzaW9uIG9mIGFuIG9yZGVyIHRvIHBheXBhbCBhc3dlbGwgYXMgdGhlCiAqICAgICAgcHJvY2Vzc2luZyBhbiBJbnN0YW50IFBheW1lbnQgTm90aWZpY2F0aW9uLgogKiAgCiAqICAgICAgVGhpcyBjb2RlIGlzIGJhc2VkIG9uIHRoYXQgb2YgdGhlIHBocC10b29sa2l0IGZyb20gcGF5cGFsLiAgSSd2ZSB0YWtlbgogKiAgICAgIHRoZSBiYXNpYyBwcmluY2lwYWxzIGFuZCBwdXQgaXQgaW4gdG8gYSBjbGFzcyBzbyB0aGF0IGl0IGlzIGEgbGl0dGxlCiAqICAgICAgZWFzaWVyLS1hdCBsZWFzdCBmb3IgbWUtLXRvIHVzZS4gIFRoZSBwaHAtdG9vbGtpdCBjYW4gYmUgZG93bmxvYWRlZCBmcm9tCiAqICAgICAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wYXlwYWwuCiAqICAgICAgCiAqICAgICAgVG8gc3VibWl0IGFuIG9yZGVyIHRvIHBheXBhbCwgaGF2ZSB5b3VyIG9yZGVyIGZvcm0gUE9TVCB0byBhIGZpbGUgd2l0aDoKICoKICogICAgICAgICAgJHAgPSBuZXcgcG1zcGF5cGFsX2NsYXNzOwogKiAgICAgICAgICAkcC0+YWRkX2ZpZWxkKCdidXNpbmVzcycsICdzb21lYm9keUBkb21haW4uY29tJyk7CiAqICAgICAgICAgICRwLT5hZGRfZmllbGQoJ2ZpcnN0X25hbWUnLCAkX1BPU1RbJ2ZpcnN0X25hbWUnXSk7CiAqICAgICAgICAgIC4uLiAoYWRkIGFsbCB5b3VyIGZpZWxkcyBpbiB0aGUgc2FtZSBtYW5vcikKICogICAgICAgICAgJHAtPnN1Ym1pdF9wYXlwYWxfcG9zdCgpOwogKgogKiAgICAgIFRvIHByb2Nlc3MgYW4gSVBOLCBoYXZlIHlvdXIgSVBOIHByb2Nlc3NpbmcgZmlsZSBjb250YWluOgogKgogKiAgICAgICAgICAkcCA9IG5ldyBwbXNwYXlwYWxfY2xhc3M7CiAqICAgICAgICAgIGlmICgkcC0+dmFsaWRhdGVfaXBuKCkpIHsKICogICAgICAgICAgLi4uIChJUE4gaXMgdmVyaWZpZWQuICBEZXRhaWxzIGFyZSBpbiB0aGUgaXBuX2RhdGEoKSBhcnJheSkKICogICAgICAgICAgfQogKgogKgogKiAgICAgIEluIGNhc2UgeW91IGFyZSBuZXcgdG8gcGF5cGFsLCBoZXJlIGlzIHNvbWUgaW5mb3JtYXRpb24gdG8gaGVscCB5b3U6CiAqCiAqICAgICAgMS4gTGF0ZXN0IGluZm8gZm91bmQgb24gaHR0cDovL3d3dy5wYXlwYWwuY29tLiBOZXh0IHRvIHlvdSBjYW4gY2hlY2sgb3V0OgogKiAgICAgICAgIGh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3I/Y21kPXAvcGRuL2hvd3RvX2NoZWNrb3V0LW91dHNpZGUuCiAqICAgICAgICAgVGhpcyBnaXZlcyB5b3UgYWxsIHRoZSBpbmZvcm1hdGlvbiB5b3UgbmVlZCBpbmNsdWRpbmcgdGhlIGZpZWxkcyB5b3UgY2FuCiAqICAgICAgICAgcGFzcyB0byBwYXlwYWwgKHVzaW5nIGFkZF9maWVsZCgpIHdpdGggdGhpcyBjbGFzcykgYXN3ZWxsIGFzIGFsbCB0aGUgZmllbGRzCiAqICAgICAgICAgdGhhdCBhcmUgcmV0dXJuZWQgaW4gYW4gSVBOIHBvc3QgKHN0b3JlZCBpbiB0aGUgaXBuX2RhdGEoKSBhcnJheSBpbgogKiAgICAgICAgIHRoaXMgY2xhc3MpLiAgSXQgYWxzbyBkaWFncmFtcyB0aGUgZW50aXJlIHRyYW5zYWN0aW9uIHByb2Nlc3MuCiAqCiAqICAgICAgMi4gQ3JlYXRlIGEgInNhbmRib3giIGFjY291bnQgZm9yIGEgYnV5ZXIgYW5kIGEgc2VsbGVyLiAgVGhpcyBpcyBqdXN0CiAqICAgICAgICAgYSB0ZXN0IGFjY291bnQocykgdGhhdCBhbGxvdyB5b3UgdG8gdGVzdCB5b3VyIHNpdGUgZnJvbSBib3RoIHRoZSAKICogICAgICAgICBzZWxsZXIgYW5kIGJ1eWVyIHBlcnNwZWN0aXZlLiAgVGhlIGluc3RydWN0aW9ucyBmb3IgdGhpcyBpcyBhdmFpbGFibGUKICogICAgICAgICBhdCBodHRwczovL2RldmVsb3Blci5wYXlwYWwuY29tLyBhcyB3ZWxsIGFzIGEgZ3JlYXQgZm9ydW0gd2hlcmUgeW91CiAqICAgICAgICAgY2FuIGFzayBhbGwgeW91ciBwYXlwYWwgaW50ZWdyYXRpb24gcXVlc3Rpb25zLiAgTWFrZSBzdXJlIHlvdSBmb2xsb3cKICogICAgICAgICBhbGwgdGhlIGRpcmVjdGlvbnMgaW4gc2V0dGluZyB1cCBhIHNhbmRib3ggdGVzdCBlbnZpcm9ubWVudCwgaW5jbHVkaW5nCiAqICAgICAgICAgdGhlIGFkZGl0aW9uIG9mIGZha2UgYmFuayBhY2NvdW50cyBhbmQgY3JlZGl0IGNhcmRzLgogKiAKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKi8KCmNsYXNzIHBtc3BheXBhbF9jbGFzcyBleHRlbmRzIENNU01vZHVsZQp7CgoJdmFyICRsYXN0X2Vycm9yOwkJCQkvLyBob2xkcyB0aGUgbGFzdCBlcnJvciBlbmNvdW50ZXJlZAoKCXZhciAkaXBuX2xvZzsJCQkJLy8gYm9vbDogbG9nIElQTiByZXN1bHRzIHRvIHRleHQgZmlsZT8KCgl2YXIgJGlwbl9sb2dfZmlsZTsJCQkJLy8gZmlsZW5hbWUgb2YgdGhlIElQTiBsb2cKCXZhciAkaXBuX3Jlc3BvbnNlOwkJCS8vIGhvbGRzIHRoZSBJUE4gcmVzcG9uc2UgZnJvbSBwYXlwYWwgICAKCXZhciAkaXBuX2RhdGEgPSBhcnJheSgpOwkJLy8gYXJyYXkgY29udGFpbnMgdGhlIFBPU1QgdmFsdWVzIGZvciBJUE4KCgl2YXIgJGZpZWxkcyA9IGFycmF5KCk7CQkJLy8gYXJyYXkgaG9sZHMgdGhlIGZpZWxkcyB0byBzdWJtaXQgdG8gcGF5cGFsCgoJZnVuY3Rpb24gcG1zcGF5cGFsX2NsYXNzKCkgewoKCQkvLyBJbml0aWFsaXphdGlvbiBjb25zdHJ1Y3Rvci4gIENhbGxlZCB3aGVuIGNsYXNzIGlzIGNyZWF0ZWQuCgoJCSR0aGlzLT5sYXN0X2Vycm9yID0gJyc7CgoJCSR0aGlzLT5pcG5fbG9nX2ZpbGUgPSAnLmlwbl9hdWRpdF90cmFpbC50eHQnOwoJCWlmICggJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgnUGF5UGFsJywgJ2xvZ2ZpbGUnKSA8PiAnJyApIHsKCQkJJHRoaXMtPmlwbl9sb2dfZmlsZSA9ICR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJ1BheVBhbCcsICdsb2dmaWxlJyk7CgkJfQoJCSR0aGlzLT5pcG5fbG9nID0gdHJ1ZTsgCgkJJHRoaXMtPmlwbl9yZXNwb25zZSA9ICcnOwoKCQkvLyBQb3B1bGF0ZSAkZmllbGRzIGFycmF5IHdpdGggYSBmZXcgZGVmYXVsdCB2YWx1ZXMuCgkJLy8gU2VlIHRoZSBwYXlwYWwgZG9jdW1lbnRhdGlvbiBmb3IgYSBsaXN0IG9mIGZpZWxkcyBhbmQgdGhlaXIgZGF0YSB0eXBlcy4gCgkJLy8gVGhlc2UgZGVmYXVsdCB2YWx1ZXMgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHRoZSBjYWxsaW5nIHNjcmlwdC4KCgkJJHRoaXMtPmFkZF9maWVsZCgncm0nLCcyJyk7ICAgICAgICAgICAvLyBSZXR1cm4gbWV0aG9kID0gUE9TVAoJCS8vIFByZXBhcmUgc2V0dGluZyBpZiBvbmx5IG9uZSBsaW5lIHdpdGggYW1vdW50IG9yIGEgY2FydCBzaXR1YXRpb24gd2l0aCBtdWx0aXBsZSBsaW5lcyBwb3NzaWJsZQoJCWlmICggJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgnUGF5UGFsJywgJ2NhcnRzdHlsZScpID09ICcwJyApIHsKCQkJJHRoaXMtPmFkZF9maWVsZCgnY21kJywgJ194Y2xpY2snKTsgCgkJfQoJCWVsc2UgewoJCQkkdGhpcy0+YWRkX2ZpZWxkKCdjbWQnLCAnX2NhcnQnKTsKCQkJJHRoaXMtPmFkZF9maWVsZCgndXBsb2FkJywgJzEnKTsKCQl9CgkJCgoJfQoKCWZ1bmN0aW9uIGFkZF9maWVsZCgkZmllbGQsICR2YWx1ZSkgewoJCS8vIGFkZHMgYSBrZXk9PnZhbHVlIHBhaXIgdG8gdGhlIGZpZWxkcyBhcnJheSwgd2hpY2ggaXMgd2hhdCB3aWxsIGJlIAoJCS8vIHNlbnQgdG8gcGF5cGFsIGFzIFBPU1QgdmFyaWFibGVzLiAgSWYgdGhlIHZhbHVlIGlzIGFscmVhZHkgaW4gdGhlIAoJCS8vIGFycmF5LCBpdCB3aWxsIGJlIG92ZXJ3cml0dGVuLgoKCQkkdGhpcy0+ZmllbGRzWyRmaWVsZF0gPSAkdmFsdWU7Cgl9CgoJZnVuY3Rpb24gc3VibWl0X3BheW1lbnQoICkgewoJCS8vIHRoaXMgZnVuY3Rpb24gYWN0dWFsbHkgZ2VuZXJhdGVzIGFuIGVudGlyZSBIVE1MIHBhZ2UgY29uc2lzdGluZyBvZgoJCS8vIGEgZm9ybSB3aXRoIGhpZGRlbiBlbGVtZW50cyB3aGljaCBpcyBzdWJtaXR0ZWQgdG8gcGF5cGFsIHZpYSB0aGUgCgkJLy8gQk9EWSBlbGVtZW50J3Mgb25Mb2FkIGF0dHJpYnV0ZS4gIFdlIGRvIHRoaXMgc28gdGhhdCB5b3UgY2FuIHZhbGlkYXRlCgkJLy8gYW55IFBPU1QgdmFycyBmcm9tIHlvdSBjdXN0b20gZm9ybSBiZWZvcmUgc3VibWl0dGluZyB0byBwYXlwYWwuICBTbyAKCQkvLyBiYXNpY2FsbHksIHlvdSdsbCBoYXZlIHlvdXIgb3duIGZvcm0gd2hpY2ggaXMgc3VibWl0dGVkIHRvIHlvdXIgc2NyaXB0CgkJLy8gdG8gdmFsaWRhdGUgdGhlIGRhdGEsIHdoaWNoIGluIHR1cm4gY2FsbHMgdGhpcyBmdW5jdGlvbiB0byBjcmVhdGUKCQkvLyBhbm90aGVyIGhpZGRlbiBmb3JtIGFuZCBzdWJtaXQgdG8gcGF5cGFsLgoKCQkvLyBUaGUgdXNlciB3aWxsIGJyaWVmbHkgc2VlIGEgbWVzc2FnZSBvbiB0aGUgc2NyZWVuIHRoYXQgcmVhZHM6CgkJLy8gIlBsZWFzZSB3YWl0LCB5b3VyIG9yZGVyIGlzIGJlaW5nIHByb2Nlc3NlZC4uLiIgYW5kIHRoZW4gaW1tZWRpYXRlbHkKCQkvLyBpcyByZWRpcmVjdGVkIHRvIHBheXBhbC4KCQkKCQkkZ2F0ZXdheV9jb2RlID0gJ1BheVBhbCc7CgkJJHRoaXMtPmFkZF9maWVsZCgnYnVzaW5lc3MnLCAkdGhpcy0+Z2V0R2F0ZVdheVZhbHVlICgkZ2F0ZXdheV9jb2RlLCAnYnVzaW5lc3NfZW1haWwnKSk7CgkJLy8kdGhpcy0+YWRkX2ZpZWxkKCdjdXJyZW5jeV9jb2RlJywgJG9yZGVyaGVhZGVyWydjdXJyZW5jeSddKTsKCQkvLyBDaGVjayBpZiBhIGxhbmd1YWdlIGNvZGUgaGFzIGJlZW4gcGFzc2VkLiBJZiBub3QgdXNlIGEgZGVmYXVsdAoJCWlmICghaXNzZXQoJHRoaXMtPmZpZWxkc1snbGMnXSkpCgkJewoJCQkkbGFuZ3VhZ2VfY29kZSA9ICR0aGlzLT5nZXRHYXRlV2F5VmFsdWUgKCRnYXRld2F5X2NvZGUsICdsYW5ndWFnZV9jb2RlJyk7CgkJCWlmICgkbGFuZ3VhZ2VfY29kZSAhPSBmYWxzZSkKCQkJewoJCQkJJHRoaXMtPmFkZF9maWVsZCgnbGMnLCAkbGFuZ3VhZ2VfY29kZSk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGhpcy0+YWRkX2ZpZWxkKCdsYycsICdFTicpOwoJCQl9CgoJCX0KCQkvLyBDaGVjayBpZiBJUE4gaXMgaW4gdXNlCgkJJHRoaXMtPmFkZF9maWVsZCgnbm90aWZ5X3VybCcsICR0aGlzLT5nZXRHYXRlV2F5VmFsdWUgKCRnYXRld2F5X2NvZGUsICdub3RpZnlfdXJsJykpOwoJCQoJCWlmICggJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgnUGF5UGFsJywgJ2Vudmlyb25tZW50JykgPT0gJ2xpdmUnKSB7CgkJCSR0aGlzLT5wYXlwYWxfdXJsID0gJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAndXJsX2xpdmUnKTsKCQl9CgkJZWxzZSB7CgkJCSR0aGlzLT5wYXlwYWxfdXJsID0gJHRoaXMtPmdldEdhdGV3YXlWYWx1ZSgkZ2F0ZXdheV9jb2RlLCAndXJsX3Rlc3QnKTsKCQl9CgkJLy8gVG8gZ2V0IGEgZHVtcCBvZiBhbGwgZmllbGRzLCBwcmVwYXJlIGEgcGFyYW1ldGVyIGluIHRoZSBiYWNrIGVuZCBmb3IgdGhlIFBheVBhbCBnYXRld2F5CgkJLy8gd2l0aCBuYW1lIGRlYnVnIGFuZCB2YWx1ZSB5ZXMgKHNob3J0bHkgc2hvdyB0aGUgY29udGVudHMgb2YgZmllbGRzIG9yIGRpZSAoc2hvdyBhbmQgc3RvcCkKCQkkZHVtcGhpZGRlbmZpZWxkcyA9ICR0aGlzLT5nZXRHYXRld2F5VmFsdWUoJGdhdGV3YXlfY29kZSwgJ2RlYnVnJyk7CgkJaWYgKCAkZHVtcGhpZGRlbmZpZWxkcyA9PSAneWVzJyB8fCAkZHVtcGhpZGRlbmZpZWxkcyA9PSAnZGllJykgewoJCQkJJHRoaXMtPmR1bXBfZmllbGRzKCk7CgkJCQlpZiAoICRkdW1waGlkZGVuZmllbGRzID09ICdkaWUnKSB7CgkJCQkJZGllKCk7CgkJCQl9CgkJfQoJCSNlY2hvICI8aHRtbD5cbiI7CgkJI2VjaG8gIjxoZWFkPjx0aXRsZT5Qcm9jZXNzaW5nIFBheW1lbnQuLi48L3RpdGxlPjwvaGVhZD5cbiI7CgkJZWNobyAiPGJvZHkgb25Mb2FkPVwiZG9jdW1lbnQuZm9ybXNbJ3BheXBhbF9mb3JtJ10uc3VibWl0KCk7XCI+XG4iOwoJCWVjaG8gIjxjZW50ZXI+UGxlYXNlIHdhaXQsIHlvdXIgb3JkZXIgaXMgYmVpbmcgcHJvY2Vzc2VkIGFuZCB5b3UiOwoJCWVjaG8gIiB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIHBheXBhbCB3ZWJzaXRlLjwvY2VudGVyPlxuIjsKCQllY2hvICI8Zm9ybSBtZXRob2Q9XCJwb3N0XCIgbmFtZT1cInBheXBhbF9mb3JtXCIgYWN0aW9uPVwiIi4kdGhpcy0+cGF5cGFsX3VybC4iXCI+XG4iOwoKCQlmb3JlYWNoICgkdGhpcy0+ZmllbGRzIGFzICRuYW1lID0+ICR2YWx1ZSkgewoJCQllY2hvICI8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSciLiRuYW1lLiInIHZhbHVlPSciLiR2YWx1ZS4iJy8+XG4iOwoJCX0KCQllY2hvICI8Y2VudGVyPjxici8+PGJyLz5JZiB5b3UgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IHJlZGlyZWN0ZWQgdG8gIjsKCQllY2hvICJwYXlwYWwgd2l0aGluIDUgc2Vjb25kcy4uLjxici8+PGJyLz5cbiI7CgkJZWNobyAiPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIkNsaWNrIEhlcmVcIj48L2NlbnRlcj5cbiI7CgoJCWVjaG8gIjwvZm9ybT5cbiI7CgoJCWVjaG8gIjwvYm9keT5cbiI7CgkJI2VjaG8gIjwvaHRtbD5cbiI7CgkJCWRpZSgpOwoKCX0KCglmdW5jdGlvbiB2YWxpZGF0ZV9pcG4oKSB7CgoJCS8vIFBhcnNlIHRoZSBwYXlwYWwgVVJMCgkJJHVybF9wYXJzZWQ9cGFyc2VfdXJsKCR0aGlzLT5wYXlwYWxfdXJsKTsgICAgICAgIAoJCQkJCQkJCgkJLy8gR2VuZXJhdGUgdGhlIHBvc3Qgc3RyaW5nIGZyb20gdGhlIF9QT1NUIHZhcnMgYXN3ZWxsIGFzIGxvYWQgdGhlCgkJLy8gX1BPU1QgdmFycyBpbnRvIGFuIGFycnkgc28gd2UgY2FuIHBsYXkgd2l0aCB0aGVtIGZyb20gdGhlIGNhbGxpbmcgc2NyaXB0LgoJCSRwb3N0X3N0cmluZyA9ICcnOyAgICAKCQlmb3JlYWNoICgkX1BPU1QgYXMgJGZpZWxkPT4kdmFsdWUpIHsgCgkJCSR0aGlzLT5pcG5fZGF0YVsiJGZpZWxkIl0gPSAkdmFsdWU7CgkJCSRwb3N0X3N0cmluZyAuPSAkZmllbGQuJz0nLnVybGVuY29kZShzdHJpcHNsYXNoZXMoJHZhbHVlKSkuJyYnOyAKCQl9CgkJLy8gQXBwZW5kIGlwbiBjb21tYW5kCgkJJHBvc3Rfc3RyaW5nLj0iY21kPV9ub3RpZnktdmFsaWRhdGUiOyAKCgkJLy8gT3BlbiB0aGUgY29ubmVjdGlvbiB0byBwYXlwYWwKCQkkZnAgPSBmc29ja29wZW4oJHVybF9wYXJzZWRbaG9zdF0sNDQzLCRlcnJfbnVtLCRlcnJfc3RyLDMwKTsgCgkJaWYoISRmcCkgewoJCQkvLyBDb3VsZCBub3Qgb3BlbiB0aGUgY29ubmVjdGlvbi4KCQkJLy8gSWYgbG9nZ2luIGlzIG9uLCB0aGUgZXJyb3IgbWVzc2FnZSB3aWxsIGJlIGluIHRoZSBsb2cuCgkJCSR0aGlzLT5sYXN0X2Vycm9yID0gImZzb2Nrb3BlbiBlcnJvciBuby4gJGVycm51bTogJGVycnN0ciI7CgkJCSR0aGlzLT5sb2dfaXBuX3Jlc3VsdHMoZmFsc2UpOyAgICAgICAKCQkJcmV0dXJuIGZhbHNlOwoKCQl9IGVsc2UgeyAKCgkJCS8vIFBvc3QgdGhlIGRhdGEgYmFjayB0byBwYXlwYWwKCQkJZnB1dHMoJGZwLCAiUE9TVCAkdXJsX3BhcnNlZFtwYXRoXSBIVFRQLzEuMVxyXG4iKTsgCgkJCWZwdXRzKCRmcCwgIkhvc3Q6ICR1cmxfcGFyc2VkW2hvc3RdXHJcbiIpOyAKCQkJZnB1dHMoJGZwLCAiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcclxuIik7IAoJCQlmcHV0cygkZnAsICJDb250ZW50LWxlbmd0aDogIi5zdHJsZW4oJHBvc3Rfc3RyaW5nKS4iXHJcbiIpOyAKCQkJZnB1dHMoJGZwLCAiQ29ubmVjdGlvbjogY2xvc2VcclxuXHJcbiIpOyAKCQkJZnB1dHMoJGZwLCAkcG9zdF9zdHJpbmcgLiAiXHJcblxyXG4iKTsgCgoJCQkvLyBMb29wIHRocm91Z2ggdGhlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlciBhbmQgYXBwZW5kIHRvIHZhcmlhYmxlCgkJCXdoaWxlKCFmZW9mKCRmcCkpIHsgCgkJCQkkdGhpcy0+aXBuX3Jlc3BvbnNlIC49IGZnZXRzKCRmcCwgMTAyNCk7IAoJCQl9IAoKCQkJLy8gQ2xvc2UgY29ubmVjdGlvbgoJCQlmY2xvc2UoJGZwKTsgCgoJCX0KCgkJaWYgKGVyZWdpKCJWRVJJRklFRCIsJHRoaXMtPmlwbl9yZXNwb25zZSkpIHsKCgkJLy8gVmFsaWQgSVBOIHRyYW5zYWN0aW9uLgoJCSR0aGlzLT5sb2dfaXBuX3Jlc3VsdHModHJ1ZSk7CgkJcmV0dXJuIHRydWU7ICAgICAgIAoKCQl9IGVsc2UgewoKCQkvLyBJbnZhbGlkIElQTiB0cmFuc2FjdGlvbi4gIENoZWNrIHRoZSBsb2cgZm9yIGRldGFpbHMuCgkJJHRoaXMtPmxhc3RfZXJyb3IgPSAnSVBOIFZhbGlkYXRpb24gRmFpbGVkLic7CgkJJHRoaXMtPmxvZ19pcG5fcmVzdWx0cyhmYWxzZSk7ICAgCgkJcmV0dXJuIGZhbHNlOwoKCQl9Cgl9CgoJZnVuY3Rpb24gbG9nX2lwbl9yZXN1bHRzKCRzdWNjZXNzKSB7CgoJCS8vIGlzIGxvZ2dpbmcgdHVybmVkIG9mZj8KCQlpZiAoISR0aGlzLT5pcG5fbG9nKSByZXR1cm47CgoJCS8vIFRpbWVzdGFtcAoJCSR0ZXh0ID0gJ1snLmRhdGUoJ20vZC9ZIGc6aSBBJykuJ10gLSAnOyAKCgkJLy8gU3VjY2VzcyBvciBmYWlsdXJlIGJlaW5nIGxvZ2dlZD8KCQlpZiAoJHN1Y2Nlc3MpICR0ZXh0IC49ICJTVUNDRVNTIVxuIjsKCQllbHNlICR0ZXh0IC49ICdGQUlMOiAnLiR0aGlzLT5sYXN0X2Vycm9yLiJcbiI7CgoJCS8vIExvZyB0aGUgUE9TVCB2YXJpYWJsZXMKCQkkdGV4dCAuPSAiSVBOIFBPU1QgVmFycyBmcm9tIFBheXBhbDpcbiI7CgkJZm9yZWFjaCAoJHRoaXMtPmlwbl9kYXRhIGFzICRrZXk9PiR2YWx1ZSkgewoJCQkkdGV4dCAuPSAiJGtleT0kdmFsdWUsICI7CgkJfQoKCQkvLyBMb2cgdGhlIHJlc3BvbnNlIGZyb20gdGhlIHBheXBhbCBzZXJ2ZXIKCQkkdGV4dCAuPSAiXG5JUE4gUmVzcG9uc2UgZnJvbSBQYXlwYWwgU2VydmVyOlxuICIuJHRoaXMtPmlwbl9yZXNwb25zZTsKCgkJLy8gV3JpdGUgdG8gbG9nCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCSRsb2dmaWxlID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4nUGF5bWVudE1hZGVTaW1wbGUnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRoaXMtPmlwbl9sb2dfZmlsZTsKCQkkZnA9Zm9wZW4oJGxvZ2ZpbGUsICdhJyk7CgkJZndyaXRlKCRmcCwgJHRleHQgLiAiXG5cbiIpOyAKCgkJLy8gQ2xvc2UgZmlsZQoJCWZjbG9zZSgkZnApOyAgCgl9CgoJZnVuY3Rpb24gZHVtcF9maWVsZHMoKSB7CgoJCS8vIFVzZWQgZm9yIGRlYnVnZ2luZywgdGhpcyBmdW5jdGlvbiB3aWxsIG91dHB1dCBhbGwgdGhlIGZpZWxkL3ZhbHVlIHBhaXJzCgkJLy8gdGhhdCBhcmUgY3VycmVudGx5IGRlZmluZWQgaW4gdGhlIGluc3RhbmNlIG9mIHRoZSBjbGFzcyB1c2luZyB0aGUKCQkvLyBhZGRfZmllbGQoKSBmdW5jdGlvbi4KCgkJZWNobyAiPGgzPnBtc3BheXBhbF9jbGFzcy0+ZHVtcF9maWVsZHMoKSBPdXRwdXQ6PC9oMz4iOwoJCWVjaG8gIjx0YWJsZSB3aWR0aD1cIjk1JVwiIGJvcmRlcj1cIjFcIiBjZWxscGFkZGluZz1cIjJcIiBjZWxsc3BhY2luZz1cIjBcIj4KCQkJPHRyPgoJCQkJPHRkIGJnY29sb3I9XCJibGFja1wiPjxiPjxmb250IGNvbG9yPVwid2hpdGVcIj5GaWVsZCBOYW1lPC9mb250PjwvYj48L3RkPgoJCQkJPHRkIGJnY29sb3I9XCJibGFja1wiPjxiPjxmb250IGNvbG9yPVwid2hpdGVcIj5WYWx1ZTwvZm9udD48L2I+PC90ZD4KCQkJPC90cj4iOyAKCgkJa3NvcnQoJHRoaXMtPmZpZWxkcyk7CgkJZm9yZWFjaCAoJHRoaXMtPmZpZWxkcyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQllY2hvICI8dHI+PHRkPiRrZXk8L3RkPjx0ZD4iLnVybGRlY29kZSgkdmFsdWUpLiImbmJzcDs8L3RkPjwvdHI+IjsKCQl9CgoJCWVjaG8gIjwvdGFibGU+PGJyPiI7IAoJfQoKCWZ1bmN0aW9uIGdldEdhdGVXYXlWYWx1ZSggJGdhdGV3YXlfY29kZSwgJGdhdGV3YXlwYXJtICkgewoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQkvLyBSZXRyaWV2ZSB0aGUgaW50ZXJuYWwgaWQgZm9yIHRoaXMgZ2F0ZXdheS4gUGFzc2VkIGlzCgkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzLCAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nYXRld2F5cwoJCQkgV0hFUkUgbG93ZXIoZ2F0ZXdheV9jb2RlKSA9IGxvd2VyKCA/ICkgQU5EIGd3Z2F0ZXdheV9pZCA9IGdhdGV3YXlfaWQgQU5EIAoJCQkgbG93ZXIoZ3dwYXJtKSA9IGxvd2VyKCA/ICknOwoJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRnYXRld2F5X2NvZGUsICRnYXRld2F5cGFybSApKTsKCQlpZiAoIGlzc2V0KCRyb3dbJ2d3dmFsdWUnXSkgKSB7CgkJCXJldHVybiAkcm93Wydnd3ZhbHVlJ107CgkJfQoJCWVsc2UgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCX0KCglmdW5jdGlvbiBJbnN0YWxsR2F0ZVdheSggJGdhdGV3YXlfaWQgKSB7CgkJLy8gSW5zdGFsbGluZyBQYXlQYWwgd2lsbCBpbmNsdWRlIGluc2VydGluZyBhIG51bWJlciBvZiBzZW1pIGZpeGVkIGF0dHJpYnV0ZXMKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCS8vIFNldCBhbGwgYXR0cmlidXRlcyB0byBsb2NrZWQKCQkkZ3dsb2NrZWQgPSAxOwoKCQkkZ3dwYXJtID0gJ2J1c2luZXNzX2VtYWlsJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdUbyB3aGljaCBlbWFpbCBhZGRyZXNzIGlzIFBheVBhbCBjb25uZWN0ZWQnOwoJCSRnd3ZhbHVlID0gJ3BheW1lbnRAcGF5cGFsLnNwYWNlJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nd2F0dHJpYnV0ZXMgKGd3YXR0cl9pZCwgZ3dnYXRld2F5X2lkLCBnd3Bhcm0sIGd3ZGVzY3JpcHRpb24sIGd3dmFsdWUsIGd3bG9ja2VkICkKCQkJVkFMVUVTICg/LD8sPyw/LD8sPyknOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkkZ3dwYXJtID0gJ2Vudmlyb25tZW50JzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdSdW4gUGF5UGFsIGxpdmUgb3IgdGVzdD8nOwoJCSRnd3ZhbHVlID0gJ3Rlc3QnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyAoZ3dhdHRyX2lkLCBnd2dhdGV3YXlfaWQsIGd3cGFybSwgZ3dkZXNjcmlwdGlvbiwgZ3d2YWx1ZSwgZ3dsb2NrZWQgKQoJCQlWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAnbnVtYmVyb2ZjZW50cyc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnTnVtYmVyIG9mIGRlY2ltYWxzL2NlbnRzIGFsbG93ZWQnOwoJCSRnd3ZhbHVlID0gMjsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoJCSRnd3Bhcm0gPSAnbG9nZmlsZSc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnVGhlIGxvZyBmaWxlIHRoYXQgd2lsbCBjb250YWluIHRoZSB0cmFuc2ZlciBhdWRpdCB0cmFpbCc7CgkJJGd3dmFsdWUgPSAnLmlwbl9hdWRpdF90cmFpbC50eHQnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyAoZ3dhdHRyX2lkLCBnd2dhdGV3YXlfaWQsIGd3cGFybSwgZ3dkZXNjcmlwdGlvbiwgZ3d2YWx1ZSwgZ3dsb2NrZWQgKQoJCQlWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAndXJsX3Rlc3QnOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ1RoZSBVUkwgdG8gdGhlIHRlc3Qgc2l0ZSBvZiBQYXlQYWwnOwoJCSRnd3ZhbHVlID0gJ2h0dHBzOi8vd3d3LnNhbmRib3gucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjcic7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzIChnd2F0dHJfaWQsIGd3Z2F0ZXdheV9pZCwgZ3dwYXJtLCBnd2Rlc2NyaXB0aW9uLCBnd3ZhbHVlLCBnd2xvY2tlZCApCgkJCVZBTFVFUyAoPyw/LD8sPyw/LD8pJzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICd1cmxfbGl2ZSc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnVGhlIFVSTCB0byB5b3VyIGxpdmUgYWNjb3VudCBhdCBQYXlQYWwnOwoJCSRnd3ZhbHVlID0gJ2h0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3InOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyAoZ3dhdHRyX2lkLCBnd2dhdGV3YXlfaWQsIGd3cGFybSwgZ3dkZXNjcmlwdGlvbiwgZ3d2YWx1ZSwgZ3dsb2NrZWQgKQoJCQlWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAnY2FydHN0eWxlJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdTaG93IHN1bW1hcnkgKDApIG9yIGRldGFpbHMgKDEpIGluIHBheW1lbnQgcmVxdWVzdD8nOwoJCSRnd3ZhbHVlID0gJzAnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyAoZ3dhdHRyX2lkLCBnd2dhdGV3YXlfaWQsIGd3cGFybSwgZ3dkZXNjcmlwdGlvbiwgZ3d2YWx1ZSwgZ3dsb2NrZWQgKQoJCQlWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAnbGFuZ3VhZ2VfY29kZSc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnVGhlIGNvZGUgb2YgdGhlIGxhbmd1YWdlIG9mIFBheVBhbCBzY3JlZW5zIGZvciBjdXN0b21lciAoRU4sIEZSLCBERSwgSVQsIEpQLCBFUywgR0IpJzsKCQkkZ3d2YWx1ZSA9ICdFTic7CgkJJGd3YXR0cl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzIChnd2F0dHJfaWQsIGd3Z2F0ZXdheV9pZCwgZ3dwYXJtLCBnd2Rlc2NyaXB0aW9uLCBnd3ZhbHVlLCBnd2xvY2tlZCApCgkJCVZBTFVFUyAoPyw/LD8sPyw/LD8pJzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ3dhdHRyX2lkLCAkZ2F0ZXdheV9pZCwgJGd3cGFybSwgJGd3ZGVzY3JpcHRpb24sICRnd3ZhbHVlLCAkZ3dsb2NrZWQpKTsKCgkJJGd3cGFybSA9ICdpdGVtZGVzYyc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnVGhlIGl0ZW0gZGVzY3JpcHRpb24gYXMgdXNlZCBpbiB0aGUgcGF5bWVudCc7CgkJJGd3dmFsdWUgPSAnUHJvZHVjdHMgZnJvbSBDTVNNYWRlU2ltcGxlJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQlnbG9iYWwgJGdDbXM7CgkJJHJvb3QgPSAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddOwoJCSRnd3Bhcm0gPSAncmV0dXJuJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdVUkwgd2hlcmUgeW91ciBjdXN0b21lciB3aWxsIGJlIHJldHVybmVkIGFmdGVyIGNvbXBsZXRpbmcgcGF5bWVudCc7CgkJJGd3dmFsdWUgPSAkcm9vdC5ESVJFQ1RPUllfU0VQQVJBVE9SLidpbmRleC5waHAnOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgoJCSRnd3Bhcm0gPSAnY2FuY2VsX3JldHVybic7CgkJJGd3ZGVzY3JpcHRpb24gPSAnVVJMIHdoZXJlIHlvdXIgY3VzdG9tZXIgd2lsbCBiZSByZXR1cm5lZCBhZnRlciBjYW5jZWxsaW5nIHBheW1lbnQnOwoJCSRnd3ZhbHVlID0gJHJvb3QuRElSRUNUT1JZX1NFUEFSQVRPUi4naW5kZXgucGhwJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkvLyBGb3IgdGhlIGZpbmFsIG92ZXJ2aWV3IGEgdGVtcGxhdGUgaXMgaGFuZHkKCQkkdGVtcGxhdGUgPSAnPCEtLSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZDogZm9yIGZ1dHVyZSB1c2UgLS0+JzsKCQkkdGVtcGxhdGUgLj0gJzwhLS0gVGhlIGRldmVsb3AgY2FuIG1ha2UgdXNlIG9mIHRoaXMgdGVtcGxhdGUuIFNpbmNlIHRoZSBuYW1lIG9mIHRoaXMgdGVtcGxhdGUgc3RhcnRzIG9mIHdpdGgKCQkJXCdwbXNfZ2F0ZXdheVwnLCB5b3UgYXJlIG5vdCBhYmxlIHRvIGRlbGV0ZSBpdC4nOwoJCSR0ZW1wbGF0ZSAuPSAnPCEtLSBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VhcmNoIHRoZSBmb3J1bSBvciBhc2sgdGhlIGF1dGhvciBmb3IgaW5mb3JtYXRpb24uIC0tPic7CgkJCgkJJHRoaXMtPlNldFRlbXBsYXRlKCdwbXNfZ2F0ZXdheV9QYXlQYWwnLCAkdGVtcGxhdGUpOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/ideal.cls.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICBjbGFzcyBJZGVhbFJlcXVlc3QKICAgIHsKICAgICAgICBwcml2YXRlICRhRXJyb3JzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gU2VjdXJpdHkgc2V0dGluZ3MKICAgICAgICBwcm90ZWN0ZWQgJHNTZWN1cmVQYXRoOwogICAgICAgIHByb3RlY3RlZCAkc1ByaXZhdGVLZXlQYXNzOwogICAgICAgIHByb3RlY3RlZCAkc1ByaXZhdGVLZXlGaWxlOwogICAgICAgIHByb3RlY3RlZCAkc1ByaXZhdGVDZXJ0aWZpY2F0ZUZpbGU7CiAgICAgICAgcHJvdGVjdGVkICRzUHVibGljQ2VydGlmaWNhdGVGaWxlOwoKICAgICAgICAvLyBBY2NvdW50IHNldHRpbmdzCiAgICAgICAgcHJvdGVjdGVkICRzQXF1aXJlclVybDsKICAgICAgICBwcm90ZWN0ZWQgJHNNZXJjaGFudElkOwogICAgICAgIHByb3RlY3RlZCAkc1N1YklkOwogICAgICAgIHByb3RlY3RlZCAkc0N1cnJlbmN5OwogICAgICAgIHByb3RlY3RlZCAkc0V4cGlyYXRpb25QZXJpb2Q7CiAgICAgICAgcHJvdGVjdGVkICRzTGFuZ3VhZ2U7CgogICAgICAgIC8vIENvbnN0YW50cwogICAgICAgIHByb3RlY3RlZCAkTEYgPSAiXG4iOwogICAgICAgIHByb3RlY3RlZCAkQ1JMRiA9ICJcclxuIjsKCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zUHJpdmF0ZUtleUZpbGUgPSAncHJpdi5wZW0nOwogICAgICAgICAgICAkdGhpcy0+c1ByaXZhdGVDZXJ0aWZpY2F0ZUZpbGUgPSAnY2VydC5jZXInOwogICAgICAgIH0KCiAgICAgICAgLy8gU2hvdWxkIHBvaW50IHRvIGRpcmVjdG9yeSB3aXRoIC5jZXIgYW5kIC5rZXkgZmlsZXMKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gc2V0U2VjdXJlUGF0aCgkc1BhdGgpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c1NlY3VyZVBhdGggPSAkc1BhdGg7CiAgICAgICAgfQoKICAgICAgICAvLyBTZXQgcGFzc3dvcmQgdG8gZ2VuZXJhdGUgc2lnbmF0dXJlcwogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQcml2YXRlS2V5KCRzUHJpdmF0ZUtleUZpbGUsICRzUHJpdmF0ZUNlcnRpZmljYXRlRmlsZSwgJHNQYXNzKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPnNQcml2YXRlS2V5RmlsZSA9ICRzUHJpdmF0ZUtleUZpbGU7IAoJCQkJCQkkdGhpcy0+c1ByaXZhdGVDZXJ0aWZpY2F0ZUZpbGUgPSAkc1ByaXZhdGVDZXJ0aWZpY2F0ZUZpbGU7IAoJCQkJCQkkdGhpcy0+c1ByaXZhdGVLZXlQYXNzID0gJHNQYXNzOwogICAgICAgIH0KCiAgICAgICAgLy8gU2V0IE1lcmNoYW50SUQgaWQgYW5kIFN1YklECiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHNldE1lcmNoYW50KCRzTWVyY2hhbnRJZCwgJHNTdWJJZCA9IDApCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c01lcmNoYW50SWQgPSAkc01lcmNoYW50SWQ7CiAgICAgICAgICAgICR0aGlzLT5zU3ViSWQgPSAkc1N1YklkOwogICAgICAgIH0KCgkJCQlwdWJsaWMgZnVuY3Rpb24gR2V0T3JkZXJIZWFkZXJJbmZvKCAkb3JkZXJfaWQgKSB7CgkJCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJCQkJJHNxbCA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY2FydG1zX29yZGVycwoJCQkJCQkJCVdIRVJFIG9yZGVyX2lkPT8iOwoJCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRvcmRlcl9pZCApKTsKCQkJCQlpZiggISRkYnJlc3VsdCApIHsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCQkkcmVzdWx0ID0gJyc7CgkJCQkJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCQkJCSRyZXN1bHQgPSAkcm93OwoJCQkJCX0KCQkJCQlyZXR1cm4gJHJlc3VsdDsKCQkJCX0KCiAgICAgICAgLy8gU2V0IEN1cnJlbmN5CiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHNldEN1cnJlbmN5KCRzQ3VycmVuY3kpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c0N1cnJlbmN5ID0gJHNDdXJyZW5jeTsKICAgICAgICB9CiAgICAgICAgLy8gU2V0IEV4cGlyYXRpb24gUGVyaW9kIAogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFeHBpcmF0aW9uUGVyaW9kKCRzRXhwaXJhdGlvblBlcmlvZCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zRXhwaXJhdGlvblBlcmlvZCA9ICRzRXhwaXJhdGlvblBlcmlvZDsKICAgICAgICB9CiAgICAgICAgLy8gU2V0IExhbmd1YWdlCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHNldExhbmd1YWdlKCRzTGFuZ3VhZ2UpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c0xhbmd1YWdlID0gJHNMYW5ndWFnZTsKICAgICAgICB9CgogICAgICAgIC8vIFNldCBhcXVpcmVyIChVc2U6IFJhYm9iYW5rLCBJTkcgQmFuaywgZXRjKQogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRBcXVpcmVyKCRzSXNzdWVyLCAkYlRlc3RNb2RlID0gZmFsc2UpCiAgICAgICAgewogICAgICAgICAgICBpZihzdHJpcG9zKCRzSXNzdWVyLCAncmFibycpICE9PSBmYWxzZSkgLy8gUmFib2JhbmsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXMtPnNQdWJsaWNDZXJ0aWZpY2F0ZUZpbGUgPSAncmFib2JhbmsuY2VyJzsKICAgICAgICAgICAgICAgICR0aGlzLT5zQXF1aXJlclVybCA9ICdzc2w6Ly9pZGVhbCcgLiAoJGJUZXN0TW9kZSA/ICd0ZXN0JyA6ICcnKSAuICcucmFib2Jhbmsubmw6NDQzL2lkZWFsL2lEZWFsJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlaWYoc3RyaXBvcygkc0lzc3VlciwgJ2luZycpICE9PSBmYWxzZSkgLy8gSU5HIEJhbmsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXMtPnNQdWJsaWNDZXJ0aWZpY2F0ZUZpbGUgPSAnaW5nYmFuay5jZXInOwogICAgICAgICAgICAgICAgJHRoaXMtPnNBcXVpcmVyVXJsID0gJ3NzbDovL2lkZWFsJyAuICgkYlRlc3RNb2RlID8gJ3Rlc3QnIDogJycpIC4gJy5zZWN1cmUtaW5nLmNvbTo0NDMvaWRlYWwvaURlYWwnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2VpZihzdHJpcG9zKCRzSXNzdWVyLCAnYWJuJykgIT09IGZhbHNlKSAvLyBBQk4gQW1ybwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkdGhpcy0+c1B1YmxpY0NlcnRpZmljYXRlRmlsZSA9ICdhYm5hbXJvLmNlcic7CiAgICAgICAgICAgICAgICAkdGhpcy0+c0FxdWlyZXJVcmwgPSAnc3NsOi8vaWRlYWxtLWV0LmFibmFtcm8ubmw6NDQzLyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZWlmKHN0cmlwb3MoJHNJc3N1ZXIsICdmb3J0aXMnKSAhPT0gZmFsc2UpIC8vIEZvcnRpcyBCYW5rCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zUHVibGljQ2VydGlmaWNhdGVGaWxlID0gJ2ZvcnRpc2JhbmsuY2VyJzsKICAgICAgICAgICAgICAgIC8vICR0aGlzLT5zQXF1aXJlclVybCA9ICdzc2w6Ly87CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZWlmKHN0cmlwb3MoJHNJc3N1ZXIsICdzbnMnKSAhPT0gZmFsc2UpIC8vIFNOUyBCYW5rCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zUHVibGljQ2VydGlmaWNhdGVGaWxlID0gJ3Nuc2JhbmsuY2VyJzsKICAgICAgICAgICAgICAgIC8vICR0aGlzLT5zQXF1aXJlclVybCA9ICdzc2w6Ly8nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgLy8gVW5rbm93biBpc3N1ZXIKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCdVbmtub3duIGFxdWlyZXIuIFBsZWFzZSB1c2UgUmFib2JhbmssIElORyBCYW5rLCBBQk4gQW1ybywgU05TIEJhbmsgb3IgRm9ydGlzLicsIGZhbHNlLCBfX0ZJTEVfXywgX19MSU5FX18pOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCgoKICAgICAgICAvLyBFcnJvciBmdW5jdGlvbnMKICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0RXJyb3IoJHNEZXNjLCAkc0NvZGUgPSBmYWxzZSwgJHNGaWxlID0gMCwgJHNMaW5lID0gMCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5hRXJyb3JzW10gPSBhcnJheSgnZGVzYycgPT4gJHNEZXNjLCAnY29kZScgPT4gJHNDb2RlLCAnZmlsZScgPT4gJHNGaWxlLCAnbGluZScgPT4gJHNMaW5lKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvcnMoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5hRXJyb3JzOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGhhc0Vycm9ycygpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gKHNpemVvZigkdGhpcy0+YUVycm9ycykgPyB0cnVlIDogZmFsc2UpOwogICAgICAgIH0KCgoKICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2hlY2tDb25maWd1cmF0aW9uKCRzZXR0aW5ncyA9IGFycmF5KCdzU2VjdXJlUGF0aCcsICdzUHJpdmF0ZUtleVBhc3MnLCAnc1ByaXZhdGVLZXlGaWxlJywgJ3NQcml2YXRlQ2VydGlmaWNhdGVGaWxlJywgJ3NQdWJsaWNDZXJ0aWZpY2F0ZUZpbGUnLCAnc0FxdWlyZXJVcmwnLCAnc01lcmNoYW50SWQnKSkKICAgICAgICB7CiAgICAgICAgICAgICRiT2sgPSB0cnVlOwoKICAgICAgICAgICAgZm9yKCRpID0gMDsgJGkgPCBzaXplb2YoJHNldHRpbmdzKTsgJGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8gZWNobyAkc2V0dGluZ3NbJGldIC4gJyA9ICcgLiAkdGhpcy0+JHNldHRpbmdzWyRpXSAuICc8YnI+JzsKCiAgICAgICAgICAgICAgICBpZihlbXB0eSgkdGhpcy0+JHNldHRpbmdzWyRpXSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGJPayA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcignU2V0dGluZyAnIC4gJHNldHRpbmdzWyRpXSAuICcgd2FzIG5vdCBjb25maWd1cmF0ZWQuJywgZmFsc2UsIF9fRklMRV9fLCBfX0xJTkVfXyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkYk9rOwogICAgICAgIH0KCgoKICAgICAgICAvLyBVdGlscwogICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwb3N0VG9Ib3N0KCR1cmwsICRkYXRhLCAkdGltZW91dCA9IDMwKQogICAgICAgIHsKICAgICAgICAgICAgJGlkeCA9IHN0cnJwb3MoJHVybCwgJzonKTsKICAgICAgICAgICAgJGhvc3QgPSBzdWJzdHIoJHVybCwgMCwgJGlkeCk7CiAgICAgICAgICAgICR1cmwgPSBzdWJzdHIoJHVybCwgJGlkeCArIDEpOwogICAgICAgICAgICAkaWR4ID0gc3RycG9zKCR1cmwsICcvJyk7CiAgICAgICAgICAgICRwb3J0ID0gc3Vic3RyKCR1cmwsIDAsICRpZHgpOwogICAgICAgICAgICAkcGF0aCA9IHN1YnN0cigkdXJsLCAkaWR4KTsKCiAgICAgICAgICAgICRmc3AgPSBmc29ja29wZW4oJGhvc3QsICRwb3J0LCAkZXJybm8sICRlcnJzdHIsICR0aW1lb3V0KTsKICAgICAgICAgICAgJHJlcyA9ICcnOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYoJGZzcCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZnB1dHMoJGZzcCwgJ1BPU1QgJyAuICRwYXRoIC4gJyBIVFRQLzEuMCcgLiAkdGhpcy0+Q1JMRik7CiAgICAgICAgICAgICAgICBmcHV0cygkZnNwLCAnQWNjZXB0OiB0ZXh0L2h0bWwnIC4gJHRoaXMtPkNSTEYpOwogICAgICAgICAgICAgICAgZnB1dHMoJGZzcCwgJ0FjY2VwdDogY2hhcnNldD1JU08tODg1OS0xJyAuICR0aGlzLT5DUkxGKTsKICAgICAgICAgICAgICAgIGZwdXRzKCRmc3AsICdDb250ZW50LUxlbmd0aDonIC4gc3RybGVuKCRkYXRhKSAuICR0aGlzLT5DUkxGKTsKICAgICAgICAgICAgICAgIGZwdXRzKCRmc3AsICdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xJyAuICR0aGlzLT5DUkxGIC4gJHRoaXMtPkNSTEYpOwogICAgICAgICAgICAgICAgZnB1dHMoJGZzcCwgJGRhdGEsIHN0cmxlbigkZGF0YSkpOwoKICAgICAgICAgICAgICAgIHdoaWxlKCFmZW9mKCRmc3ApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICRyZXMgLj0gZmdldHMoJGZzcCwgMTI4KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmY2xvc2UoJGZzcCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJGVycnN0ciwgJGVycm5vLCBfX0ZJTEVfXywgX19MSU5FX18pOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHJlczsKICAgICAgICB9CgogICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwYXJzZUZyb21YbWwoJGtleSwgJHhtbCkKICAgICAgICB7CiAgICAgICAgICAgICRiZWdpbiA9IDA7CiAgICAgICAgICAgICRlbmQgPSAwOwogICAgICAgICAgICAkYmVnaW4gPSBzdHJwb3MoJHhtbCwgJzwnIC4gJGtleSAuICc+Jyk7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZigkYmVnaW4gPT09IGZhbHNlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRiZWdpbiArPSBzdHJsZW4oJGtleSkgKyAyOwogICAgICAgICAgICAkZW5kID0gc3RycG9zKCR4bWwsICc8LycgLiAka2V5IC4gJz4nKTsKCiAgICAgICAgICAgIGlmKCRlbmQgPT09IGZhbHNlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRyZXN1bHQgPSBzdWJzdHIoJHhtbCwgJGJlZ2luLCAkZW5kIC0gJGJlZ2luKTsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT51bmVzY2FwZVhtbCgkcmVzdWx0KTsKCiAgICAgICAgICAgIHJldHVybiB1dGY4X2RlY29kZSgkcmVzdWx0KTsKICAgICAgICB9CgogICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZW1vdmVTcGFjZUNoYXJhY3RlcnMoJHN0cmluZykKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBwcmVnX3JlcGxhY2UoJy9ccy8nLCAnJywgJHN0cmluZyk7CiAgICAgICAgfQoKICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZXNjYXBlWG1sKCRzdHJpbmcpCiAgICAgICAgewogICAgICAgICAgICAkc3RyaW5nID0gc3RyX3JlcGxhY2UoJyYnLCAnJmFtcDsnLCAkc3RyaW5nKTsKICAgICAgICAgICAgJHN0cmluZyA9IHN0cl9yZXBsYWNlKCc8JywgJyZsdDsnLCAkc3RyaW5nKTsKICAgICAgICAgICAgJHN0cmluZyA9IHN0cl9yZXBsYWNlKCc+JywgJyZndDsnLCAkc3RyaW5nKTsKICAgICAgICAgICAgJHN0cmluZyA9IHN0cl9yZXBsYWNlKCciJywgJyZxdW90OycsICRzdHJpbmcpOwogICAgICAgICAgICByZXR1cm4gJHN0cmluZzsKICAgICAgICB9CgogICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiB1bmVzY2FwZVhtbCgkc3RyaW5nKQogICAgICAgIHsKICAgICAgICAgICAgJHN0cmluZyA9IHN0cl9yZXBsYWNlKCcmcXVvdDsnLCAnIicsICRzdHJpbmcpOwogICAgICAgICAgICAkc3RyaW5nID0gc3RyX3JlcGxhY2UoJyZsdDsnLCAnPCcsICRzdHJpbmcpOwogICAgICAgICAgICAkc3RyaW5nID0gc3RyX3JlcGxhY2UoJyZndDsnLCAnPicsICRzdHJpbmcpOwogICAgICAgICAgICAkc3RyaW5nID0gc3RyX3JlcGxhY2UoJyZhbXA7JywgJyYnLCAkc3RyaW5nKTsKICAgICAgICAgICAgcmV0dXJuICRzdHJpbmc7CiAgICAgICAgfQoKCgogICAgICAgIC8vIFNlY3VyaXR5IGZ1bmN0aW9ucwogICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRDZXJ0aWZpY2F0ZUZpbmdlcnByaW50KCRiUHVibGljQ2VydGlmaWNhdGUgPSBmYWxzZSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKCRmcCA9IGZvcGVuKCR0aGlzLT5zU2VjdXJlUGF0aCAuICgkYlB1YmxpY0NlcnRpZmljYXRlID8gJHRoaXMtPnNQdWJsaWNDZXJ0aWZpY2F0ZUZpbGUgOiAkdGhpcy0+c1ByaXZhdGVDZXJ0aWZpY2F0ZUZpbGUpLCAncicpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkc1Jhd0RhdGEgPSBmcmVhZCgkZnAsIDgxOTIpOwogICAgICAgICAgICAgICAgZmNsb3NlKCRmcCk7CgogICAgICAgICAgICAgICAgJHNEYXRhID0gb3BlbnNzbF94NTA5X3JlYWQoJHNSYXdEYXRhKTsKCiAgICAgICAgICAgICAgICBpZighb3BlbnNzbF94NTA5X2V4cG9ydCgkc0RhdGEsICRzRGF0YSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCdFcnJvciBpbiBjZXJ0aWZpY2F0ZSAnIC4gJHRoaXMtPnNTZWN1cmVQYXRoIC4gJHRoaXMtPnNQcml2YXRlQ2VydGlmaWNhdGVGaWxlLCBmYWxzZSwgX19GSUxFX18sIF9fTElORV9fKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgJHNEYXRhID0gc3RyX3JlcGxhY2UoJy0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLScsICcnLCAkc0RhdGEpOwogICAgICAgICAgICAgICAgJHNEYXRhID0gc3RyX3JlcGxhY2UoJy0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0nLCAnJywgJHNEYXRhKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gc3RydG91cHBlcihzaGExKGJhc2U2NF9kZWNvZGUoJHNEYXRhKSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCdDZXJ0aWZpY2F0ZSBmaWxlICcgLiAkdGhpcy0+c1NlY3VyZVBhdGggLiAkdGhpcy0+c1ByaXZhdGVDZXJ0aWZpY2F0ZUZpbGUgLiAnIG5vdCBmb3VuZC4nLCBmYWxzZSwgX19GSUxFX18sIF9fTElORV9fKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFNpZ25hdHVyZSgkc01lc3NhZ2UpCiAgICAgICAgewogICAgICAgICAgICAkc01lc3NhZ2UgPSBwcmVnX3JlcGxhY2UoJy9ccy8nLCAnJywgJHNNZXNzYWdlKTsKCiAgICAgICAgICAgIGlmKCRmcCA9IGZvcGVuKCR0aGlzLT5zU2VjdXJlUGF0aCAuICR0aGlzLT5zUHJpdmF0ZUtleUZpbGUsICdyJykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRzUmF3RGF0YSA9IGZyZWFkKCRmcCwgODE5Mik7CiAgICAgICAgICAgICAgICBmY2xvc2UoJGZwKTsKCiAgICAgICAgICAgICAgICAkc1ByaXZhdGVLZXkgPSBvcGVuc3NsX2dldF9wcml2YXRla2V5KCRzUmF3RGF0YSwgJHRoaXMtPnNQcml2YXRlS2V5UGFzcyk7CiAgICAgICAgICAgICAgICAkc1NpZ25hdHVyZSA9ICcnOwoKICAgICAgICAgICAgICAgIG9wZW5zc2xfc2lnbigkc01lc3NhZ2UsICRzU2lnbmF0dXJlLCAkc1ByaXZhdGVLZXkpOwogICAgICAgICAgICAgICAgb3BlbnNzbF9mcmVlX2tleSgkc1ByaXZhdGVLZXkpOwoKICAgICAgICAgICAgICAgIHJldHVybiAkc1NpZ25hdHVyZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZlcmlmeVNpZ25hdHVyZSgkc0RhdGEsICRzU2lnbmF0dXJlKQogICAgICAgIHsKICAgICAgICAgICAgJGJPayA9IGZhbHNlOwoKICAgICAgICAgICAgaWYoJGZwID0gZm9wZW4oJHRoaXMtPnNTZWN1cmVQYXRoIC4gJHRoaXMtPnNQdWJsaWNDZXJ0aWZpY2F0ZUZpbGUsICdyJykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRzUmF3RGF0YSA9IGZyZWFkKCRmcCwgODE5Mik7CiAgICAgICAgICAgICAgICBmY2xvc2UoJGZwKTsKCiAgICAgICAgICAgICAgICAkc1B1YmxpY0tleSA9IG9wZW5zc2xfZ2V0X3B1YmxpY2tleSgkc1Jhd0RhdGEpOwogICAgICAgICAgICAgICAgJGJPayA9IChvcGVuc3NsX3ZlcmlmeSgkc0RhdGEsICRzU2lnbmF0dXJlLCAkc1B1YmxpY0tleSkgPyB0cnVlIDogZmFsc2UpOwogICAgICAgICAgICAgICAgb3BlbnNzbF9mcmVlX2tleSgkc1B1YmxpY0tleSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkYk9rOwogICAgICAgIH0KICAgIH0KCgoKCiAgICBjbGFzcyBJc3N1ZXJSZXF1ZXN0IGV4dGVuZHMgSWRlYWxSZXF1ZXN0CiAgICB7CiAgICAgICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgICAgICB7CiAgICAgICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICAgICAgICB9CgogICAgICAgIC8vIEV4ZWN1dGUgcmVxdWVzdCAoTG9va3VwIGlzc3VlciBsaXN0KQogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBkb1JlcXVlc3QoKQogICAgICAgIHsKICAgICAgICAgICAgaWYoJHRoaXMtPmNoZWNrQ29uZmlndXJhdGlvbigpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkc1RpbWVzdGFtcCA9IGdtZGF0ZSgnWS1tLWQnKSAuICdUJyAuIGdtZGF0ZSgnSDppOnMnKSAuICcuMDAwWic7CiAgICAgICAgICAgICAgICAkc01lc3NhZ2UgPSAkdGhpcy0+cmVtb3ZlU3BhY2VDaGFyYWN0ZXJzKCRzVGltZXN0YW1wIC4gJHRoaXMtPnNNZXJjaGFudElkIC4gJHRoaXMtPnNTdWJJZCk7CgogICAgICAgICAgICAgICAgJHNUb2tlbiA9ICR0aGlzLT5nZXRDZXJ0aWZpY2F0ZUZpbmdlcnByaW50KCk7CiAgICAgICAgICAgICAgICAkc1Rva2VuQ29kZSA9IGJhc2U2NF9lbmNvZGUoJHRoaXMtPmdldFNpZ25hdHVyZSgkc01lc3NhZ2UpKTsKCiAgICAgICAgICAgICAgICAkc1htbE1lc3NhZ2UgPSAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPERpcmVjdG9yeVJlcSB4bWxucz0iaHR0cDovL3d3dy5pZGVhbGRlc2suY29tL01lc3NhZ2UiIHZlcnNpb249IjEuMS4wIj4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8Y3JlYXRlRGF0ZVRpbWVTdGFtcD4nIC4gdXRmOF9lbmNvZGUoJHNUaW1lc3RhbXApIC4gJzwvY3JlYXRlRGF0ZVRpbWVTdGFtcD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8TWVyY2hhbnQ+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPG1lcmNoYW50SUQ+JyAuIHV0ZjhfZW5jb2RlKCR0aGlzLT5zTWVyY2hhbnRJZCkgLiAnPC9tZXJjaGFudElEPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxzdWJJRD4nIC4gdXRmOF9lbmNvZGUoJHRoaXMtPnNTdWJJZCkgLiAnPC9zdWJJRD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8YXV0aGVudGljYXRpb24+U0hBMV9SU0E8L2F1dGhlbnRpY2F0aW9uPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzx0b2tlbj4nIC4gdXRmOF9lbmNvZGUoJHNUb2tlbikgLiAnPC90b2tlbj4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8dG9rZW5Db2RlPicgLiB1dGY4X2VuY29kZSgkc1Rva2VuQ29kZSkgLiAnPC90b2tlbkNvZGU+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPC9NZXJjaGFudD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8L0RpcmVjdG9yeVJlcT4nOwoKICAgICAgICAgICAgICAgICRzWG1sUmVwbHkgPSAkdGhpcy0+cG9zdFRvSG9zdCgkdGhpcy0+c0FxdWlyZXJVcmwsICRzWG1sTWVzc2FnZSwgMTApOwoKICAgICAgICAgICAgICAgIGlmKCRzWG1sUmVwbHkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYoJHRoaXMtPnBhcnNlRnJvbVhtbCgnZXJyb3JDb2RlJywgJHNYbWxSZXBseSkpIC8vIEVycm9yIGZvdW5kCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBBZGQgZXJyb3IgdG8gZXJyb3ItbGlzdAogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJHRoaXMtPnBhcnNlRnJvbVhtbCgnZXJyb3JNZXNzYWdlJywgJHNYbWxSZXBseSksICR0aGlzLT5wYXJzZUZyb21YbWwoJ2Vycm9yQ29kZScsICRzWG1sUmVwbHkpLCBfX0ZJTEVfXywgX19MSU5FX18pOyAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRhSXNzdWVyTGlzdCA9IGFycmF5KCk7CgogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZShzdHJwb3MoJHNYbWxSZXBseSwgJzxpc3N1ZXJJRD4nKSkKICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzSXNzdWVySWQgPSAkdGhpcy0+cGFyc2VGcm9tWG1sKCdpc3N1ZXJJRCcsICRzWG1sUmVwbHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNJc3N1ZXJOYW1lID0gJHRoaXMtPnBhcnNlRnJvbVhtbCgnaXNzdWVyTmFtZScsICRzWG1sUmVwbHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNJc3N1ZXJMaXN0ID0gJHRoaXMtPnBhcnNlRnJvbVhtbCgnaXNzdWVyTGlzdCcsICRzWG1sUmVwbHkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHN0cmNtcCgkc0lzc3Vlckxpc3QsICdTaG9ydCcpID09PSAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhSXNzdWVyTGlzdFskc0lzc3VlcklkXSA9ICRzSXNzdWVyTmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc1htbFJlcGx5ID0gc3Vic3RyKCRzWG1sUmVwbHksIHN0cnBvcygkc1htbFJlcGx5LCAnPC9pc3N1ZXJMaXN0PicpICsgMTMpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGFJc3N1ZXJMaXN0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KCgoKCiAgICBjbGFzcyBUcmFuc2FjdGlvblJlcXVlc3QgZXh0ZW5kcyBJZGVhbFJlcXVlc3QKICAgIHsKICAgICAgICBwcm90ZWN0ZWQgJHNPcmRlcklkOwogICAgICAgIHByb3RlY3RlZCAkc09yZGVyRGVzY3JpcHRpb247CiAgICAgICAgcHJvdGVjdGVkICRpT3JkZXJBbW91bnQ7CiAgICAgICAgcHJvdGVjdGVkICRzUmV0dXJuVXJsOwogICAgICAgIHByb3RlY3RlZCAkc0lzc3VlcklkOwogICAgICAgIHByb3RlY3RlZCAkc0VudHJhbmNlQ29kZTsKCiAgICAgICAgLy8gVHJhbnNhY3Rpb24gaW5mbwogICAgICAgIHByb3RlY3RlZCAkc1RyYW5zYWN0aW9uSWQ7CiAgICAgICAgcHJvdGVjdGVkICRzVHJhbnNhY3Rpb25Vcmw7CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgICAgICAgewogICAgICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CgogICAgICAgICAgICAvLyBSYW5kb20gRW50cmFuY2VDb2RlCiAgICAgICAgICAgICR0aGlzLT5zRW50cmFuY2VDb2RlID0gc2hhMShyYW5kKDEwMDAwMDAsIDk5OTk5OTkpKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRPcmRlcklkKCRzT3JkZXJJZCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zT3JkZXJJZCA9IHN1YnN0cigkc09yZGVySWQsIDAsIDE2KTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRPcmRlckRlc2NyaXB0aW9uKCRzT3JkZXJEZXNjcmlwdGlvbikKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zT3JkZXJEZXNjcmlwdGlvbiA9IHN1YnN0cigkc09yZGVyRGVzY3JpcHRpb24sIDAsIDMyKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRPcmRlckFtb3VudCgkZk9yZGVyQW1vdW50KQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPmlPcmRlckFtb3VudCA9IHJvdW5kKCRmT3JkZXJBbW91bnQgKiAxMDApOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHNldFJldHVyblVybCgkc1JldHVyblVybCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5zUmV0dXJuVXJsID0gc3Vic3RyKCRzUmV0dXJuVXJsLCAwLCA1MTIpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHNldElzc3VlcklkKCRzSXNzdWVySWQpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c0lzc3VlcklkID0gJHNJc3N1ZXJJZDsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRFbnRyYW5jZUNvZGUoJHNFbnRyYW5jZUNvZGUpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c0VudHJhbmNlQ29kZSA9IHN1YnN0cigkc0VudHJhbmNlQ29kZSwgMCwgNDApOwogICAgICAgIH0KCiAgICAgICAgLy8gRXhlY3V0ZSByZXF1ZXN0IChTZXR1cCB0cmFuc2FjdGlvbikKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZG9SZXF1ZXN0KCkKICAgICAgICB7CiAgICAgICAgICAgIGlmKCR0aGlzLT5jaGVja0NvbmZpZ3VyYXRpb24oKSAmJiAkdGhpcy0+Y2hlY2tDb25maWd1cmF0aW9uKGFycmF5KCdzT3JkZXJJZCcsICdzT3JkZXJEZXNjcmlwdGlvbicsICdpT3JkZXJBbW91bnQnLCAnc1JldHVyblVybCcsICdzUmV0dXJuVXJsJywgJ3NJc3N1ZXJJZCcsICdzRW50cmFuY2VDb2RlJykpKQogICAgICAgICAgICB7CgkJCQkJCQkJJHNUaW1lc3RhbXAgPSBnbWRhdGUoJ1ktbS1kJykgLiAnVCcgLiBnbWRhdGUoJ0g6aTpzJykgLiAnLjAwMFonOwogICAgICAgICAgICAgICAgJHNNZXNzYWdlID0gJHRoaXMtPnJlbW92ZVNwYWNlQ2hhcmFjdGVycygkc1RpbWVzdGFtcCAuICR0aGlzLT5zSXNzdWVySWQgLiAkdGhpcy0+c01lcmNoYW50SWQgLiAKCQkJCQkJCQkJJHRoaXMtPnNTdWJJZCAuICR0aGlzLT5zUmV0dXJuVXJsIC4gJHRoaXMtPnNPcmRlcklkIC4gJHRoaXMtPmlPcmRlckFtb3VudCAuICR0aGlzLT5zQ3VycmVuY3kgLiAKCQkJCQkJCQkJJHRoaXMtPnNMYW5ndWFnZSAuICR0aGlzLT5zT3JkZXJEZXNjcmlwdGlvbiAuICR0aGlzLT5zRW50cmFuY2VDb2RlKTsKICAgICAgICAgICAgICAgICRzVG9rZW4gPSAkdGhpcy0+Z2V0Q2VydGlmaWNhdGVGaW5nZXJwcmludCgpOwogICAgICAgICAgICAgICAgJHNUb2tlbkNvZGUgPSAkdGhpcy0+Z2V0U2lnbmF0dXJlKCRzTWVzc2FnZSk7CiAgICAgICAgICAgICAgICAkc1Rva2VuQ29kZSA9IGJhc2U2NF9lbmNvZGUoJHNUb2tlbkNvZGUpOwoKICAgICAgICAgICAgICAgICRzWG1sTWVzc2FnZSA9ICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgPz4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8QWNxdWlyZXJUcnhSZXEgeG1sbnM9Imh0dHA6Ly93d3cuaWRlYWxkZXNrLmNvbS9NZXNzYWdlIiB2ZXJzaW9uPSIxLjEuMCI+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPGNyZWF0ZURhdGVUaW1lU3RhbXA+JyAuIHV0ZjhfZW5jb2RlKCRzVGltZXN0YW1wKSAuICAnPC9jcmVhdGVEYXRlVGltZVN0YW1wPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxJc3N1ZXI+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPGlzc3VlcklEPicgLiB1dGY4X2VuY29kZSgkdGhpcy0+c0lzc3VlcklkKSAuICc8L2lzc3VlcklEPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzwvSXNzdWVyPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxNZXJjaGFudD4nIC4gJHRoaXMtPkxGIAogICAgICAgICAgICAgICAgLiAnPG1lcmNoYW50SUQ+JyAuIHV0ZjhfZW5jb2RlKCR0aGlzLT5zTWVyY2hhbnRJZCkgLiAnPC9tZXJjaGFudElEPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxzdWJJRD4nIC4gdXRmOF9lbmNvZGUoJHRoaXMtPnNTdWJJZCkgLiAnPC9zdWJJRD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8YXV0aGVudGljYXRpb24+U0hBMV9SU0E8L2F1dGhlbnRpY2F0aW9uPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzx0b2tlbj4nIC4gdXRmOF9lbmNvZGUoJHNUb2tlbikgLiAnPC90b2tlbj4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8dG9rZW5Db2RlPicgLiB1dGY4X2VuY29kZSgkc1Rva2VuQ29kZSkgLiAnPC90b2tlbkNvZGU+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPG1lcmNoYW50UmV0dXJuVVJMPicgLiB1dGY4X2VuY29kZSgkdGhpcy0+ZXNjYXBlWG1sKCR0aGlzLT5zUmV0dXJuVXJsKSkgLiAnPC9tZXJjaGFudFJldHVyblVSTD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8L01lcmNoYW50PicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxUcmFuc2FjdGlvbj4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8cHVyY2hhc2VJRD4nIC4gdXRmOF9lbmNvZGUoJHRoaXMtPmVzY2FwZVhtbCgkdGhpcy0+c09yZGVySWQpKSAuICc8L3B1cmNoYXNlSUQ+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPGFtb3VudD4nIC4gdXRmOF9lbmNvZGUoJHRoaXMtPmlPcmRlckFtb3VudCkgLiAnPC9hbW91bnQ+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPGN1cnJlbmN5PicgLiB1dGY4X2VuY29kZSgkdGhpcy0+c0N1cnJlbmN5KSAuICc8L2N1cnJlbmN5PicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxleHBpcmF0aW9uUGVyaW9kPicgLiB1dGY4X2VuY29kZSgkdGhpcy0+c0V4cGlyYXRpb25QZXJpb2QpIC4gJzwvZXhwaXJhdGlvblBlcmlvZD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8bGFuZ3VhZ2U+JyAuIHV0ZjhfZW5jb2RlKCR0aGlzLT5zTGFuZ3VhZ2UpIC4gJzwvbGFuZ3VhZ2U+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPGRlc2NyaXB0aW9uPicgLiB1dGY4X2VuY29kZSgkdGhpcy0+ZXNjYXBlWG1sKCR0aGlzLT5zT3JkZXJEZXNjcmlwdGlvbikpIC4gJzwvZGVzY3JpcHRpb24+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPGVudHJhbmNlQ29kZT4nIC4gdXRmOF9lbmNvZGUoJHRoaXMtPmVzY2FwZVhtbCgkdGhpcy0+c0VudHJhbmNlQ29kZSkpIC4gJzwvZW50cmFuY2VDb2RlPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzwvVHJhbnNhY3Rpb24+JyAuICR0aGlzLT5MRiAKICAgICAgICAgICAgICAgIC4gJzwvQWNxdWlyZXJUcnhSZXE+JzsKCiAgICAgICAgICAgICAgICAkc1htbFJlcGx5ID0gJHRoaXMtPnBvc3RUb0hvc3QoJHRoaXMtPnNBcXVpcmVyVXJsLCAkc1htbE1lc3NhZ2UsIDEwKTsKCiAgICAgICAgICAgICAgICBpZigkc1htbFJlcGx5KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICBpZigkdGhpcy0+cGFyc2VGcm9tWG1sKCdlcnJvckNvZGUnLCAkc1htbFJlcGx5KSkgLy8gRXJyb3IgZm91bmQKICAgICAgICAgICAgICAgICAgewoJCQkJCQkJCQkJLy8gQWRkIGVycm9yIHRvIGVycm9yLWxpc3QKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJHRoaXMtPnBhcnNlRnJvbVhtbCgnZXJyb3JNZXNzYWdlJywgJHNYbWxSZXBseSksICR0aGlzLT5wYXJzZUZyb21YbWwoJ2Vycm9yQ29kZScsICRzWG1sUmVwbHkpLCBfX0ZJTEVfXywgX19MSU5FX18pOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5zVHJhbnNhY3Rpb25JZCA9ICR0aGlzLT5wYXJzZUZyb21YbWwoJ3RyYW5zYWN0aW9uSUQnLCAkc1htbFJlcGx5KTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c1RyYW5zYWN0aW9uVXJsID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5wYXJzZUZyb21YbWwoJ2lzc3VlckF1dGhlbnRpY2F0aW9uVVJMJywgJHNYbWxSZXBseSkpOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNUcmFuc2FjdGlvbklkOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8vIFN0YXJ0IHRyYW5zYWN0aW9uCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGRvVHJhbnNhY3Rpb24oKQogICAgICAgIHsKICAgICAgICAgICAgaWYoKHNpemVvZigkdGhpcy0+YUVycm9ycykgPT0gMCkgJiYgJHRoaXMtPnNUcmFuc2FjdGlvbklkICYmICR0aGlzLT5zVHJhbnNhY3Rpb25VcmwpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGhlYWRlcignTG9jYXRpb246ICcgLiAkdGhpcy0+c1RyYW5zYWN0aW9uVXJsKTsKICAgICAgICAgICAgICAgIGV4aXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcignUGxlYXNlIHNldHVwIGEgdmFsaWQgdHJhbnNhY3Rpb24gcmVxdWVzdCBmaXJzdC4nLCBmYWxzZSwgX19GSUxFX18sIF9fTElORV9fKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KCgoKCiAgICBjbGFzcyBTdGF0dXNSZXF1ZXN0IGV4dGVuZHMgSWRlYWxSZXF1ZXN0CiAgICB7CiAgICAgICAgLy8gQWNjb3VudCBpbmZvCiAgICAgICAgcHJvdGVjdGVkICRzQWNjb3VudENpdHk7CiAgICAgICAgcHJvdGVjdGVkICRzQWNjb3VudE5hbWU7CiAgICAgICAgcHJvdGVjdGVkICRzQWNjb3VudE51bWJlcjsKCiAgICAgICAgLy8gVHJhbnNhY3Rpb24gaW5mbwogICAgICAgIHByb3RlY3RlZCAkc1RyYW5zYWN0aW9uSWQ7CiAgICAgICAgcHJvdGVjdGVkICRzVHJhbnNhY3Rpb25TdGF0dXM7CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgICAgICAgewogICAgICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CiAgICAgICAgfQoKICAgICAgICAvLyBTZXQgdHJhbnNhY3Rpb24gaWQKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VHJhbnNhY3Rpb25JZCgkc1RyYW5zYWN0aW9uSWQpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c1RyYW5zYWN0aW9uSWQgPSAkc1RyYW5zYWN0aW9uSWQ7CiAgICAgICAgfQoKICAgICAgICAvLyBHZXQgYWNjb3VudCBjaXR5CiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY291bnRDaXR5KCkKICAgICAgICB7CiAgICAgICAgICAgIGlmKCFlbXB0eSgkdGhpcy0+c0FjY291bnRDaXR5KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5zQWNjb3VudENpdHk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CgogICAgICAgIC8vIEdldCBhY2NvdW50IG5hbWUKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QWNjb3VudE5hbWUoKQogICAgICAgIHsKICAgICAgICAgICAgaWYoIWVtcHR5KCR0aGlzLT5zQWNjb3VudE5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNBY2NvdW50TmFtZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgIH0KCiAgICAgICAgLy8gR2V0IGFjY291bnQgbnVtYmVyCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY291bnROdW1iZXIoKQogICAgICAgIHsKICAgICAgICAgICAgaWYoIWVtcHR5KCR0aGlzLT5zQWNjb3VudE51bWJlcikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+c0FjY291bnROdW1iZXI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CgogICAgICAgIC8vIEV4ZWN1dGUgcmVxdWVzdAogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBkb1JlcXVlc3QoKQogICAgICAgIHsKICAgICAgICAgICAgaWYoJHRoaXMtPmNoZWNrQ29uZmlndXJhdGlvbigpICYmICR0aGlzLT5jaGVja0NvbmZpZ3VyYXRpb24oYXJyYXkoJ3NUcmFuc2FjdGlvbklkJykpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkc1RpbWVzdGFtcCA9IGdtZGF0ZSgnWS1tLWQnKSAuICdUJyAuIGdtZGF0ZSgnSDppOnMnKSAuICcuMDAwWic7CiAgICAgICAgICAgICAgICAkc01lc3NhZ2UgPSAkdGhpcy0+cmVtb3ZlU3BhY2VDaGFyYWN0ZXJzKCRzVGltZXN0YW1wIC4gJHRoaXMtPnNNZXJjaGFudElkIC4gJHRoaXMtPnNTdWJJZCAuICR0aGlzLT5zVHJhbnNhY3Rpb25JZCk7CiAgICAgICAgICAgICAgICAkc1Rva2VuID0gJHRoaXMtPmdldENlcnRpZmljYXRlRmluZ2VycHJpbnQoKTsKICAgICAgICAgICAgICAgICRzVG9rZW5Db2RlID0gJHRoaXMtPmdldFNpZ25hdHVyZSgkc01lc3NhZ2UpOwogICAgICAgICAgICAgICAgJHNUb2tlbkNvZGUgPSBiYXNlNjRfZW5jb2RlKCRzVG9rZW5Db2RlKTsKCiAgICAgICAgICAgICAgICAkc1htbE1lc3NhZ2UgPSAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPEFjcXVpcmVyU3RhdHVzUmVxIHhtbG5zPSJodHRwOi8vd3d3LmlkZWFsZGVzay5jb20vTWVzc2FnZSIgdmVyc2lvbj0iMS4xLjAiPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxjcmVhdGVEYXRlVGltZVN0YW1wPicgLiB1dGY4X2VuY29kZSgkc1RpbWVzdGFtcCkgLiAnPC9jcmVhdGVEYXRlVGltZVN0YW1wPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxNZXJjaGFudD4nIAogICAgICAgICAgICAgICAgLiAnPG1lcmNoYW50SUQ+JyAuIHV0ZjhfZW5jb2RlKCR0aGlzLT5zTWVyY2hhbnRJZCkgLiAnPC9tZXJjaGFudElEPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzxzdWJJRD4nIC4gdXRmOF9lbmNvZGUoJHRoaXMtPnNTdWJJZCkgLiAnPC9zdWJJRD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8YXV0aGVudGljYXRpb24+U0hBMV9SU0E8L2F1dGhlbnRpY2F0aW9uPicgLiAkdGhpcy0+TEYKICAgICAgICAgICAgICAgIC4gJzx0b2tlbj4nIC4gdXRmOF9lbmNvZGUoJHNUb2tlbikgLiAnPC90b2tlbj4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8dG9rZW5Db2RlPicgLiB1dGY4X2VuY29kZSgkc1Rva2VuQ29kZSkgLiAnPC90b2tlbkNvZGU+JyAuICR0aGlzLT5MRgogICAgICAgICAgICAgICAgLiAnPC9NZXJjaGFudD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8VHJhbnNhY3Rpb24+JyAKICAgICAgICAgICAgICAgIC4gJzx0cmFuc2FjdGlvbklEPicgLiB1dGY4X2VuY29kZSgkdGhpcy0+c1RyYW5zYWN0aW9uSWQpIC4gJzwvdHJhbnNhY3Rpb25JRD4nIC4gJHRoaXMtPkxGCiAgICAgICAgICAgICAgICAuICc8L1RyYW5zYWN0aW9uPicgCiAgICAgICAgICAgICAgICAuICc8L0FjcXVpcmVyU3RhdHVzUmVxPic7CgogICAgICAgICAgICAgICAgJHNYbWxSZXBseSA9ICR0aGlzLT5wb3N0VG9Ib3N0KCR0aGlzLT5zQXF1aXJlclVybCwgJHNYbWxNZXNzYWdlLCAxMCk7CgogICAgICAgICAgICAgICAgaWYoJHNYbWxSZXBseSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpZigkdGhpcy0+cGFyc2VGcm9tWG1sKCdlcnJvckNvZGUnLCAkc1htbFJlcGx5KSkgLy8gRXJyb3IgZm91bmQKICAgICAgICAgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgICAgICAgLy8gQWRkIGVycm9yIHRvIGVycm9yLWxpc3QKCSAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJHRoaXMtPnBhcnNlRnJvbVhtbCgnZXJyb3JNZXNzYWdlJywgJHNYbWxSZXBseSksICR0aGlzLT5wYXJzZUZyb21YbWwoJ2Vycm9yQ29kZScsICRzWG1sUmVwbHkpLCBfX0ZJTEVfXywgX19MSU5FX18pOyAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRzVGltZXN0YW1wID0gJHRoaXMtPnBhcnNlRnJvbVhtbCgnY3JlYXRlRGF0ZVRpbWVTdGFtcCcsICRzWG1sUmVwbHkpOwogICAgICAgICAgICAgICAgICAgICAgICAkc1RyYW5zYWN0aW9uSWQgPSAkdGhpcy0+cGFyc2VGcm9tWG1sKCd0cmFuc2FjdGlvbklEJywgJHNYbWxSZXBseSk7CiAgICAgICAgICAgICAgICAgICAgICAgICRzVHJhbnNhY3Rpb25TdGF0dXMgPSAkdGhpcy0+cGFyc2VGcm9tWG1sKCdzdGF0dXMnLCAkc1htbFJlcGx5KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRzQWNjb3VudE51bWJlciA9ICR0aGlzLT5wYXJzZUZyb21YbWwoJ2NvbnN1bWVyQWNjb3VudE51bWJlcicsICRzWG1sUmVwbHkpOwogICAgICAgICAgICAgICAgICAgICAgICAkc0FjY291bnROYW1lID0gJHRoaXMtPnBhcnNlRnJvbVhtbCgnY29uc3VtZXJOYW1lJywgJHNYbWxSZXBseSk7CiAgICAgICAgICAgICAgICAgICAgICAgICRzQWNjb3VudENpdHkgPSAkdGhpcy0+cGFyc2VGcm9tWG1sKCdjb25zdW1lckNpdHknLCAkc1htbFJlcGx5KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRzTWVzc2FnZSA9ICR0aGlzLT5yZW1vdmVTcGFjZUNoYXJhY3RlcnMoJHNUaW1lc3RhbXAgLiAkc1RyYW5zYWN0aW9uSWQgLiAkc1RyYW5zYWN0aW9uU3RhdHVzIC4gJHNBY2NvdW50TnVtYmVyKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRzU2lnbmF0dXJlID0gYmFzZTY0X2RlY29kZSgkdGhpcy0+cGFyc2VGcm9tWG1sKCdzaWduYXR1cmVWYWx1ZScsICRzWG1sUmVwbHkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJHNGaW5nZXJwcmludCA9ICR0aGlzLT5wYXJzZUZyb21YbWwoJ2ZpbmdlcnByaW50JywgJHNYbWxSZXBseSk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZihzdHJjYXNlY21wKCRzRmluZ2VycHJpbnQsICR0aGlzLT5nZXRDZXJ0aWZpY2F0ZUZpbmdlcnByaW50KHRydWUpKSAhPT0gMCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW52YWxpZCBGaW5nZXJwcmludAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCdVbmtub3duIGZpbmdlcnByaW50LicsIGZhbHNlLCBfX0ZJTEVfXywgX19MSU5FX18pOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VpZigkdGhpcy0+dmVyaWZ5U2lnbmF0dXJlKCRzTWVzc2FnZSwgJHNTaWduYXR1cmUpID09IGZhbHNlKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnZhbGlkIEZpbmdlcnByaW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJ0JhZCBzaWduYXR1cmUuJywgZmFsc2UsIF9fRklMRV9fLCBfX0xJTkVfXyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAkdGhpcy0+c1RyYW5zYWN0aW9uSWQgPSAkc1RyYW5zYWN0aW9uSWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c1RyYW5zYWN0aW9uU3RhdHVzID0gc3RydG91cHBlcigkc1RyYW5zYWN0aW9uU3RhdHVzKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c0FjY291bnRDaXR5ID0gJHNBY2NvdW50Q2l0eTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5zQWNjb3VudE5hbWUgPSAkc0FjY291bnROYW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnNBY2NvdW50TnVtYmVyID0gJHNBY2NvdW50TnVtYmVyOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+c1RyYW5zYWN0aW9uU3RhdHVzOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAAYGBhQUFBscHCogHyEhISknKCoqKi0tLTMvLjAwMDczNDU1NToxMjwyMzw8PEEZGlo9QUFBQUVFREhGR0lJSUxKS05OTlJMTFtISlFRUVJUU1RSU1RUVVZWWFxWVllZWF1dXV5eYGVFRn5QU2FhYWRiY2VlZWZmaG1oZWlpaWttbG1tbW5ucHZsbXNycnl6eX19fX+BgKU4PotESIdPUo9YXYN6fZl1d7hQV6xfZbtfZLZqbrdyd7N8f8JdY8JlbcRka8ludc9rc8FwdsdweMt5f8x6fthlbN5mb9xtdNBze9J2e9B1fNZ2etV2fOBtdedudeR1fO9ze+51fL99gcp9g8t+hNN+g+F/hoSDg4mJiYqMi4uNjI6Ni42NjZGRkZWVlZ+Wl5ubm6mVlqampquhoqmopqurq7KkpLqhpLGxsbW1s7a2tra2uLe5uLq0tLm4uby8vMKBh8eKj8iFjMuJjc6Nk8ORlM6Rls2VmNGCh9CEidaBiNaEitKIjduAh92Ij9qNk9eQltyXnN6ZntGdoc+5u9Gkp9qxtdm8vuSFi+iAieyDiuKLk+SNk+yMlOOUmuWUmuOYneqTmfOAh/SHjfqLkvyNlPKXnvWWnP+TnP+Um/6VnP+epeOhpeelqeessOS7v+W9vum7vvGqrv+kq/yts/a4vf+3vf64vf+9w/++xcLCwsbGxsbIx8nJyc3NzdDQ0NTU1NrQ0dvb2+rDxujIy+Hd3OfZ2e/R0+3S1PfEyfHJyvjBxP/AxvrDyP/Cyf3FyP/Hz/3Jzv3Mz//K0f/M0v/O1fTQ0vXZ2P3Q0//S1v/S2P7U2frY2fvb3v/Y2v/Z3eHf4PPf4P/e4+Hh4eXl5efp6Ojl5u3j5Onp6evt7O7p6e3t7ffj5Pfn6PPt7v/h5v/l5//m6f/n7Pvr7Pnu7f/q7f7s7v/u8fTw7/Hx8fL08/P19PX19fb49/jy8vn19P7x8v/y9f/09f/z+P/2+Pn5+fr8+/v9/P/5+v/7/f7+/gAAAAAAAAAAACH5BAEAAP8ALAAAAAAgACAAAAj/ADtVWgSoF7Rmn/gMe2YrUKpjoA4ly2bNWrWKGK1p64aPH6VLqxzlOXfOyg9U89IJmmRMDi97/GLKnHlv3TZ+UjoZw2RnHDAsnBqdq9esiCJI9GYq5VfTXTd3U5L88fOLXCZLqIIws5eOlBJjMJfGpPXCQpx17aKUCpeOHjQhSJ4A8ZRO3rA94cLGrClLjRcTAQBwuNauzymY+kTpaRYN1Zxx9HLdgdwNFhwtJSREOJAgxQECMLq9qyVuX8xpz+bRQ6cLMq40Y1B8IEBgwQoxbDKkqMxqo7tsM/XZg3frTZkWFxAwuCCBQAQSFj64SGEAzkx277DFXEcLTpYNEwoo/8hiJksXabRI0KqWhQytMwmszVznTju4Eg44fKAQR5sJbe6sAcY996RAnxdwuAPGB/fMBKA2/GhDgQtnLKiGGhWc4R0LbeR2BhsrZAGHBlo0KBN98nVjgQlarCBBFlo4EIMWJnSgRRYOaKEFBya8YEAcStGnXTcZsHGPKzHc444J1tzDxoBL0vcFG2RYUE2Q7kBIpBruuALDOt0wuY4aYKyzzn/reKEGDCa4g6V82liQwQocLJCCCwmYsIIFEaywQgIruCCBBAfAYeKJWfKzZTesvNCNNuqtU+GjJtCyDhcxyvdmhBwY2soLNTHpjhpiuLNOCu7cA0Z0bmKp5YRgwP+QARhgOOCFGCuQAIYYEXwhBgkEeHEoovKtk0UKKZiAbLLIkuCnCieokOwKr4iFYkymZksfmOtow4oYcGDDjTnloEOPPuimqw848UAo1l6xrHCAAAK44I0zxJwjTzPKpJOOMakYI4487i7lzismGJBAFrJsMYAIPezgyzhU8BCNKVc8UgUiBC91jywuHHDAC6+kug4aD8zgwybCMEFEM488wowvoaRT8HYrEHBAFtWsM5M8o+QgAxSaMOIEMz8tsccu59zMjzU9wtJqcOn4gcMRT3TSxDLLFANMJHRQc/OYYrDyrj7p4DGEDkAAY0QzhAyyiiRzUKMpU19IkIEEtLx7m84NI9RAQzCFiBNNIXXggQw6d3dDwRnVgPDFu+ZgYIguECRCjz320JPSN/A0iS0IK6jhgBrvquOBDWE0MEtY6XJj6joE8sOKCRlo4bNYTobAgRjD1tQNU9x286g1YHZjpvLGP9oNNtiYmXy33RyqpDvYZ6/99txnf2hAADs=]]></data>
	</file>
	<file>
	  <filename>/images/refresh.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAOYAALCw//Hx8l5hkGBkk2NnlnV4o2dtnmVqmsLI/2lwonZ8pmt0pW13qHJ8rnqDsHiAq296rHSAsnN+sH2Jtn+OvIGVw4SbypCjy4eh0pOq0oqo2Yep3Iyu39Da6Y+z5c7e9NLh9fL1+ZS/8pK875G46vb6/+/z+NPi8ujv96XS/6nU/67W/7DX/7LY/7TZ/7rd/7vd/73e/87m/9Ho//P5/+rt8KPS/8Lh/8Xj/8bj/8jk/9rn893p9Oj0/+r1/+Tt9VWn7abU77re77vf78Tj7/7//6PWz167gaDYry+qQTCqQRqiIQ6eEQGZARCfEXDFcf////7+/v39/fz8/Pv7+/r6+vn5+ff39/X19ZaWlpGRkX9/f319ff///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAF0ALAAAAAAQABAAAAfIgF0iG4SFhRFdiYkjUFBTVVdYATUdERmKXSRRUY1QRSU0IBFAF4oeUlKNnzQ+HxGvWokcU41PTU1ITTMIABJbiRpUULa3tzMzMg1ciRhWVE5IPbm6OjkQy10WIVQ93cUzODcM2BUm5t09REQ6MTAL2BQoKMVNOkItLC4J2BM/P7dMjOhYgo+FAWwOePCg1yRJCxUqDmB7sGMHridKjgRZYcMGAWwKTpyYMQRHjBctVqSwMQBbgZcwY74U8CtRli1ccurUuSVLl0AAOw==]]></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[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BheW1lbnQgTWFkZSBTaW1wbGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCAiVXNlIFBheW1lbnQgTWFkZSBTaW1wbGUiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWxlIFBheW1lbnQgTWFkZSBTaW1wbGUgaGFzIGJlZW4gdW5pbnN0YWxsZWQnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY29uZmlybSddID0gJ0NvbmZpcm0nOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1BheW1lbnQgZ2F0ZXdheXMgY2FuIGJlIHByZXBhcmVkIHdpdGggdGhpcyBtb2R1bGUgdGhhdCBpcyB1c2VkIGJ5IHNob3AgdHlwZSBtb2R1bGVzIChzdWNoIGFzIENhcnQgTWFkZSBTaW1wbGUpJzsKCiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOwokbGFuZ1snYWRkZ2F0ZXdheSddID0gJ0FkZCBHYXRld2F5JzsKJGxhbmdbJ2FkZGdhdGV3YXlhdHRyJ10gPSAnQWRkIGF0dHJpYnV0ZSc7CiRsYW5nWydhZGR0ZW1wbGF0ZSddID0gJ0FkZCB0ZW1wbGF0ZSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlPyc7CiRsYW5nWydhcmV5b3VzdXJlZ2F0ZXdheSddID0gJ0RlbGV0ZSBnYXRld2F5ICVzPyc7CiRsYW5nWydhdXRvaW5zZXJ0ZWRnYXRld2F5J10gPSAnUE1TIGZvdW5kIG5ldyBnYXRld2F5OiAlcyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2dhdGV3YXlhZGRlZCddID0gJ0dhdGV3YXkgaGFzIGJlZW4gYWRkZWQnOwokbGFuZ1snZ2F0ZXdheWNvZGUnXSA9ICdDb2RlJzsKJGxhbmdbJ2dhdGV3YXljb2RlcGFydCddID0gJ1BhcnQgb2YgZ2F0ZXdheSBjb2RlIChmb3IgcmVmcmVzaCknOwokbGFuZ1snZ2F0ZXdheWRlbGV0ZWQnXSA9ICdHYXRld2F5IGhhcyBiZWVuIGRlbGV0ZWQnOwokbGFuZ1snZ2F0ZXdheWRlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZ2F0ZXdheXMnXSA9ICdHYXRld2F5cyc7CiRsYW5nWydnYXRld2F5dXBkYXRlZCddID0gJ0dhdGV3YXkgaGFzIGJlZW4gdXBkYXRlZCc7CiRsYW5nWydsb2NrZWQnXSA9ICdMb2NrZWQnOwokbGFuZ1snbm9hdHRyaWJ1dGVzYXZhaWxhYmxlJ10gPSAnTm8gYXR0cmlidXRlcyBhdmFpbGFibGUnOwokbGFuZ1snbm9nYXRld2F5Y29kZWdpdmVuJ10gPSAnR2F0ZXdheSBjb2RlIGlzIG1hbmRhdG9yeSc7CiRsYW5nWydub2d3YXR0cmlidXRlc2dpdmVuJ10gPSAnQXR0cmlidXRlIHByb3BlcnRpZXMgbm90IGZpbGxlZCwgYXR0cmlidXRlIG5vdCBhZGRlZC91cGRhdGVkJzsKJGxhbmdbJ25vdGVtcGxhdGVjb250ZW50Z2l2ZW4nXSA9ICdObyB0ZW1wbGF0ZSBjb250ZW50IGdpdmVuJzsKJGxhbmdbJ25vdGVtcGxhdGVuYW1lZ2l2ZW4nXSA9ICdObyB0ZW1wbGF0ZSBuYW1lIGdpdmVuJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ29wdGlvbnN1cGRhdGVkJ10gPSAnT3B0aW9ucyBoYXZlIGJlZW4gdXBkYXRlZCc7CiRsYW5nWydwYXJhbWV0ZXInXSA9ICdQYXJhbWV0ZXInOwokbGFuZ1sncmVmcmVzaGdhdGV3YXknXSA9ICdSZWZyZXNoJzsKJGxhbmdbJ3NldGFjdGl2ZSddID0gJ1NldCBhY3RpdmUnOwokbGFuZ1snc2V0aW5hY3RpdmUnXSA9ICdTZXQgaW5hY3RpdmUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3RlbXBsYXRlYWRkZWQnXSA9ICdUZW1wbGF0ZSBhZGRlZCc7CiRsYW5nWyd0ZW1wbGF0ZWNvbnRlbnQnXSA9ICdDb250ZW50JzsKJGxhbmdbJ3RlbXBsYXRlZGVsZXRlZCddID0gJ1RlbXBsYXRlIGRlbGV0ZWQnOwokbGFuZ1sndGVtcGxhdGVuYW1lJ10gPSAnVGVtcGxhdGUgbmFtZSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMnOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnVGVtcGxhdGUgdXBkYXRlZCc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZW5hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVmFsdWUnOwoKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGNvbWUgdG8gdGhlIFBheW1lbnQgTWFkZSBTaW1wbGUgYWRtaW4gc2VjdGlvbi48L3A+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBtb2R1bGUgaXMgc3VwcG9ydGluZyB0aGUgcGF5bWVudCBmbG93IG9mIGN1c3RvbWVycyBhcyBhbiBhZGRpdGlvbiB0byB0aGUgQ2FydCBNYWRlIFNpbXBsZSBNb2R1bGUuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+VGhpcyBtb2R1bGUgd2lsbCBtb3N0bHkgdXNlZCBpbiB0aGUgYmFjayBvZmZpY2UuIFNpbmNlIGl0IGNvbnRyb2xlcyBpbmZvcm1hdGlvbiBvbiBwYXltZW50cy4gQWZ0ZXIgaW5zdGFsbGluZyBpdCwgbWFrZSBzdXJlIHRoYXQgb25lIG9yIG1vcmUgZ2F0ZXdheXMgYXJlIAoJdHVybmVkIGFjdGl2ZS4gT25lIHBheW1lbnQgbWV0aG9kIGlzIHNob3duIGFsd2F5cyBvbiB0aGUgZnJvbnQgZW5kOiBcJ21hbnVhbCBwYXltZW50XCcuIE5leHQgdG8gdGhpcyBvbmx5IG9uZSBvZiB0aGUgYWN0aXZlIGdhdGV3YXlzIGNhbiBiZSBzZWxlY3RlZCAKCWJ5IHRoZSBjdXN0b21lci48YnI+ClRvIGNyZWF0ZSB5b3VyIG93biBuZXcgZ2F0ZXdheSwgY29weSBmaWxlIGd3LlBheVBhbC5waHAgdG8gZm9yIGV4YW1wbGUgZ3cuZ29sZHBheWRlbHV4ZS5waHAuIG1ha2UgdGhlIGNoYW5nZXMgaW4gdGhlIHByb2dyYW0gbmVlZGVkIGZvciB0aGUgXCdnb2xkcGF5IGRlIGx1eGVcJwpwYXltZW50IGdhdGV3YXkuIFVzZSB0aGUgbGluayBcJ1JlZnJlc2hcJyB0byBpbmNsdWRlIHRoZSBuZXdseSBjcmVhdGVkIGdhdGV3YXkgaW4gdGhlIGJhY2sgZW5kLiBNYWtlIHN1cmUgdGhlIHN0YXR1cyBpcyBhY3RpdmUgYW5kIHRoZSBnYXRld2F5IGNhbiBiZSBzZWxlY3RlZCBvbiB0aGUgZnJvbnQgZW5kIGJ5IHRoZSBjdXN0b21lci48YnI+CklmIHRoZSByZWZyZXNoIGZ1bmN0aW9uIGdpdmVzIGFuIGVycm9yLCB0cnkgaXQgYWdhaW4gYWZ0ZXIgY2hhbmdpbmcgdGhlIFwnUGFydCBvZiBnYXRld2F5Y29kZS4uXCcgaW4gdGhlIE9wdGlvbnMgdGFiLjxicj4KTm90ZTo8YnI+ClNpbmNlIHlvdSBoYXZlIHRoaXMgc29mdHdhcmUgZm9yIGZyZWUsIHRoZSBkZXZlbG9wbWVudCB0ZWFtIHdvdWxkIGxpa2UgeW91IHRvIHNoYXJlIGFueSBuZXcgZ2F0ZXdheSB0aGF0IHlvdSBoYXZlIHByZXBhcmVkLiBUaGUgZ2F0ZXdheSBjYW4gdGhlbiBiZSBpbmNvcnBvcmF0ZWQgaW4gdGhlIG5leHQgcmVsZWFzZSBvciBwdXQgdXAgaW4gdGhlIGZvcmdlIHNlcGFyYXRlbHkuIFNvIGxldCB0aGlzIG1vZHVsZSBncm93LCBsaWtlIHRoZSBkZXZlbG9wZXJzIG9mIHRoaXMgbW9kdWxlIGxldCBDTVNNUyBncm93ITwvcD4KPHA+Rm9yIFBheVBhbCBnYXRld2F5IHVzZXJzOjxicj5JZiB5b3UgaGF2ZSB0dXJuZWQgb24gdG8gc2VlIGRldGFpbHMgb2YgdGhlIHBheW1lbnRzIChzbyBtdWx0aXBsZSBpdGVtcyBpbiBwYXltZW50IG92ZXJ2aWV3IHdpdGhpbiBQYXlQYWwpIGFuZCB0aGUgCnNoaXBwaW5nIGFtb3VudCBpcyBub3QgdHJhbnNmZXJyZWQgaW50byBQYXlQYWw6IFR1cm4gb24gb3ZlcnJpZGUgcHJvZmlsZSBpbiB0aGUgc2hpcHBpbmcgcGFydCB3aXRoaW4gUGF5UGFsLjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBEdWtldG93blwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5kdWtldG93bi5ldSI+RHVrZXRvd24gQ01TIG1vZHVsZXM8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPk9jY2FzaW9uYWxseSB0aGUgYXV0aG9yIGNhbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBjYW4gYnV5IHRoZSBib29rIGZyb20gRHVrZXRvd24uPC9saT4KPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgtMjAxMCwgRHVrZXRvd24uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokZ0NtcyA9IGNtc21zKCk7IGlmKCAhaXNfb2JqZWN0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSBjbXNtcygpLT5HZXREYigpOwoKLy8gTXlTcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgovLyBUYWJsZSBzY2hlbWEgZGVzY3JpcHRpb24gb2YgcGF5bWVudCB0eXBlcwokZmxkcyA9ICIKCWdhdGV3YXlfaWQgSSBLRVksCglnYXRld2F5X2NvZGUgQygyMCksCglkZXNjcmlwdGlvbiBDKDgwKSwKCWFjdGl2ZSBMCgkiOwoKLy8gQ3JlYXRlIGl0LiAKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nYXRld2F5cyIsCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIENyZWF0ZSBhIHNlcXVlbmNlCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2dhdGV3YXlzX3NlcSIpOwoKLy8gVGFibGUgc2NoZW1hIGZvciBnYXRld2F5IGF0dHJpYnV0ZXMKJGZsZHMgPSAiCglnd2F0dHJfaWQgSSBLRVksCglnd2dhdGV3YXlfaWQgSSwKCWd3cGFybSBDKDMwKSwKCWd3ZGVzY3JpcHRpb24gQyg4MCksCglnd3ZhbHVlIEMoODApLAoJZ3dsb2NrZWQgSQoJIjsKCi8vIENyZWF0ZSBpdAokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyIsCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIENyZWF0ZSBhIHNlcXVlbmNlCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlc19zZXEiKTsKCi8vIFRhYmxlIHNjaGVtYSBkZXNjcmlwdGlvbiBmb3IgdGFibGU6IFBheW1lbnRzCiRmbGRzID0gIgoJcGF5bWVudF9pZCBJIEtFWSwKCW9yZGVyX2lkIEksCglhbW91bnRwYWlkIEYsCgl0cmFuc2FjdGlvbl9pZCBDKDQwKSwKCWVudHJhbmNlX2NkIEMoNDApLAoJYmFuayBDKDQwKSwKCXN0YXR1cyBDKDEwKSwKCXBheW1lbnRfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKCWNyZWF0ZV9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiCgkiOwoKLy8gQ3JlYXRlIGl0LiBUaGlzIHNob3VsZCBkbyBlcnJvciBjaGVja2luZy4KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19wYXltZW50cycsJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKLy8gQ3JlYXRlIGEgc2VxdWVuY2UKJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfcGF5bWVudHNfc2VxJyk7CgovLyBTZXQgcHJlZmVyZW5jZShzKQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZ2F0ZXdheWNvZGVwYXJ0JywgJzEnKTsKCi8vIENyZWF0ZSBhIHBlcm1pc3Npb24KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1VzZSBQYXltZW50TWFkZVNpbXBsZScsICdVc2UgUGF5bWVudCBNYWRlIFNpbXBsZScpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJywgJ01vZGlmeSBQYXltZW50IE1hZGUgU2ltcGxlJyk7CiAgICAgICAgCi8vIExvZyB0aGF0IGluc3RhbGxhdGlvbiBoYXMgYmVlbiBkb25lIGluIHRoZSBhZG1pbiBhdWRpdCB0cmFpbAokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgovLyBSZW1vdmUgdGhlIGRhdGFiYXNlIHRhYmxlcwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ2F0ZXdheXMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gUmVtb3ZlIHRoZSBzZXF1ZW5jZXMKJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nYXRld2F5c19zZXEiICk7CiRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIgKTsKCi8vIFJlbW92ZSB0aGUgcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ1VzZSBQYXltZW50TWFkZVNpbXBsZScpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5IFBheW1lbnRNYWRlU2ltcGxlJyk7CgovLyBSZW1vdmUgYWxsIHRoZSBwcmVmZXJlbmNlcwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8gQW5kIGFsbCBUZW1wbGF0ZXMKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCk7CgovLyByZW1vdmUgdGhlIGV2ZW50CiMkdGhpcy0+UmVtb3ZlRXZlbnQoICdPblBNU1ByZWZlcmVuY2VDaGFuZ2UnICk7CgovLyBQdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGdDbXMgPSBjbXNtcygpOyBpZiggIWlzX29iamVjdCgkZ0NtcykgKSBleGl0OwoKJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwpzd2l0Y2goJGN1cnJlbnRfdmVyc2lvbikKewoJY2FzZSAiMS4wLjAiOgogIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjAuMSc7CgkJCgljYXNlICcxLjAuMSc6CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjAuMic7CgkKCWNhc2UgJzEuMC4yJzoKCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMC4zJzsKCQoJY2FzZSAnMS4wLjMnOgoJCS8vIFNldCBwcmVmZXJlbmNlKHMpCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2dhdGV3YXljb2RlcGFydCcsICcxJyk7CgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4wLjQuJzsKCQoJY2FzZSAnMS4wLjQnOgoJY2FzZSAnMS4wLjQuJzoKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2dhdGV3YXlzIFdIRVJFIFVQUEVSKGdhdGV3YXlfY29kZSkgPSBVUFBFUiggPyApJzsKCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgnUGF5UGFsJykgKTsKCQlpZiAoJHJvdykKCQl7CgkJCSRnYXRld2F5X2lkID0gJHJvd1snZ2F0ZXdheV9pZCddOwoJCX0KCQkvLyBJbnNlcnQgbmV3IHZhcmlhYmxlcyBmb3IgUGF5UGFsIHRvIGhhbmRsZSBvbmUgbGluZSBwYXltZW50cyBvciBhIG51bWJlciBvZiBpdGVtIGRldGFpbCBsaW5lcwoJCSRnd3Bhcm0gPSAnY2FydHN0eWxlJzsKCQkkZ3dkZXNjcmlwdGlvbiA9ICdTaG93IHN1bW1hcnkgKDApIG9yIGRldGFpbHMgKDEpIGluIHBheW1lbnQgcmVxdWVzdD8nOwoJCSRnd3ZhbHVlID0gJzAnOwoJCS8vIFNldCBhbGwgYXR0cmlidXRlcyB0byBsb2NrZWQKCQkkZ3dsb2NrZWQgPSAxOwoJCSRnd2F0dHJfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Btc19nd2F0dHJpYnV0ZXNfc2VxIik7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2d3YXR0cmlidXRlcyAoZ3dhdHRyX2lkLCBnd2dhdGV3YXlfaWQsIGd3cGFybSwgZ3dkZXNjcmlwdGlvbiwgZ3d2YWx1ZSwgZ3dsb2NrZWQgKQoJCQlWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGd3YXR0cl9pZCwgJGdhdGV3YXlfaWQsICRnd3Bhcm0sICRnd2Rlc2NyaXB0aW9uLCAkZ3d2YWx1ZSwgJGd3bG9ja2VkKSk7CgkJLy8gUHJlcGFyZSByZXR1cm4gVVJMCgkJJGd3cGFybSA9ICdyZXR1cm4nOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ1VSTCB3aGVyZSB5b3VyIGN1c3RvbWVyIHdpbGwgYmUgcmV0dXJuZWQgYWZ0ZXIgY29tcGxldGluZyBwYXltZW50JzsKCQkkZ3d2YWx1ZSA9ICRjb25maWdbJ3Jvb3RfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4naW5kZXgucGhwJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoJCS8vIFByZXBhcmUgcmV0dXJuIFVSTCB3aGVuIHBheW1lbnQgaXMgY2FuY2VsZWQKCQkkZ3dwYXJtID0gJ2NhbmNlbF9yZXR1cm4nOwoJCSRnd2Rlc2NyaXB0aW9uID0gJ1VSTCB3aGVyZSB5b3VyIGN1c3RvbWVyIHdpbGwgYmUgcmV0dXJuZWQgYWZ0ZXIgY2FuY2VsbGluZyBwYXltZW50JzsKCQkkZ3d2YWx1ZSA9ICRjb25maWdbJ3Jvb3RfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4naW5kZXgucGhwJzsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoJCQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4wLjUnOwoJCgljYXNlICcxLjAuNSc6CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nYXRld2F5cyBXSEVSRSBVUFBFUihnYXRld2F5X2NvZGUpID0gVVBQRVIoID8gKSc7CgkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJ1BheVBhbCcpICk7CgkJaWYgKCRyb3cpCgkJewoJCQkkZ2F0ZXdheV9pZCA9ICRyb3dbJ2dhdGV3YXlfaWQnXTsKCQl9CgoJCSRnd3Bhcm0gPSAnbGFuZ3VhZ2VfY29kZSc7CgkJJGd3ZGVzY3JpcHRpb24gPSAnVGhlIGNvZGUgb2YgdGhlIGxhbmd1YWdlIG9mIFBheVBhbCBzY3JlZW5zIGZvciBjdXN0b21lciAoRU4sIEZSLCBERSwgSVQsIEpQLCBFUywgR0IpJzsKCQkkZ3d2YWx1ZSA9ICdFTic7CgkJJGd3bG9ja2VkID0gMTsKCQkkZ3dhdHRyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ3dhdHRyaWJ1dGVzX3NlcSIpOwoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19nd2F0dHJpYnV0ZXMgKGd3YXR0cl9pZCwgZ3dnYXRld2F5X2lkLCBnd3Bhcm0sIGd3ZGVzY3JpcHRpb24sIGd3dmFsdWUsIGd3bG9ja2VkICkKCQkJVkFMVUVTICg/LD8sPyw/LD8sPyknOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnd2F0dHJfaWQsICRnYXRld2F5X2lkLCAkZ3dwYXJtLCAkZ3dkZXNjcmlwdGlvbiwgJGd3dmFsdWUsICRnd2xvY2tlZCkpOwoKCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMSc7CgkKCWNhc2UgJzEuMSc6CgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4yJzsKCQoJY2FzZSAnMS4yJzoKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkKCQkvLyBUYWJsZSBzY2hlbWEgZGVzY3JpcHRpb24gZm9yIHRhYmxlOiBQYXltZW50cwoJCSRmbGRzID0gIgoJCQlwYXltZW50X2lkIEkgS0VZLAoJCQlvcmRlcl9pZCBJLAoJCQlhbW91bnRwYWlkIEYsCgkJCXRyYW5zYWN0aW9uX2lkIEMoNDApLAoJCQllbnRyYW5jZV9jZCBDKDQwKSwKCQkJYmFuayBDKDQwKSwKCQkJc3RhdHVzIEMoMTApLAoJCQlwYXltZW50X2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgkJCWNyZWF0ZV9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiCgkJCSI7CgkJCgkJLy8gQ3JlYXRlIGl0LiBUaGlzIHNob3VsZCBkbyBlcnJvciBjaGVja2luZy4KCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX3BheW1lbnRzJywkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJLy8gQ3JlYXRlIGEgc2VxdWVuY2UKCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Btc19wYXltZW50c19zZXEnKTsKCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMyc7CgljYXNlICcxLjMnOgoJCWJyZWFrOwp9CgovLyBMb2cgdGhlIHVwZ3JhZGUgaW4gdGhlIGFkbWluIGF1ZGl0IHRyYWlsCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndXBncmFkZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/PaymentMadeSimple.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFBheW1lbnQgTWFkZSBTaW1wbGUgLSBBIG1vZHVsZSBmb3IgaGFuZGxpbmcgcGF5bWVudHMgd2l0aCBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gPGR1a2V0b3duQG1hbnRveC5ubD4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3Btcy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBQYXltZW50TWFkZVNpbXBsZSBleHRlbmRzIENNU01vZHVsZQp7CglmdW5jdGlvbiBHZXROYW1lKCkKCXsKCQlyZXR1cm4gJ1BheW1lbnRNYWRlU2ltcGxlJzsKCX0KCglmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7Cgl9CgoJZnVuY3Rpb24gR2V0VmVyc2lvbigpCgl7CgkJcmV0dXJuICcxLjMnOwoJfQoKCWZ1bmN0aW9uIEdldEhlbHAoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwoJfQoKCWZ1bmN0aW9uIEdldEF1dGhvcigpCgl7CgkJcmV0dXJuICdEdWtldG93bic7Cgl9CgoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQoJewoJCS8vIER1ZSB0byBzcGFtIG5vdCBpbmNsdWRlZAoJCXJldHVybiAnJzsKCX0KCglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQoJewoJCXJldHVybiBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2NoYW5nZWxvZy5pbmMnKTsKCX0KCglmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgoJZnVuY3Rpb24gSGFzQWRtaW4oKQoJewoJCXJldHVybiB0cnVlOwoJfQoKCWZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCgl7CiAgICBnbG9iYWwgJENNU19WRVJTSU9OOwogICAgaWYoIHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuOCcsJzwnKSApIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgICByZXR1cm4gJ2Vjb21tZXJjZSc7Cgl9CgoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwoJfQoKCWZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCgl7CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBQYXltZW50TWFkZVNpbXBsZScpOwoJfQoKCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCgl7CgkJcmV0dXJuIGFycmF5KCdDYXJ0TWFkZVNpbXBsZSc9PicwLjMuMCcpOwoJfQoKCWZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKCXsKCQlyZXR1cm4gJzEuOC4xJzsKCX0KCglmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpCgl7CgkJcmV0dXJuICcxLjkuMic7Cgl9CgoJZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCgl7Cgl9CgoJZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbiAoICRldmVudG5hbWUgKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9pbmZvXycuJGV2ZW50bmFtZSApOwoJfQoKCWZ1bmN0aW9uIEdldEV2ZW50SGVscCAoICRldmVudG5hbWUgKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9oZWxwXycuJGV2ZW50bmFtZSApOwoJfQoKCWZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwoJfQoKCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwoJfQoKCWZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdyZWFsbHlfdW5pbnN0YWxsJyk7Cgl9CiAgICAKCWZ1bmN0aW9uIElzUGF5bWVudEdhdGV3YXlNb2R1bGUoKSB7CgkJcmV0dXJuIHRydWU7Cgl9CgoJZnVuY3Rpb24gQ2hlY2tHYXRld2F5cygpIHsKCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkJZ2xvYmFsICRnQ21zOwoJCSRnd2NvZGVzID0gYXJyYXkoKTsKCQkkZ3djb2RlID0gYXJyYXkoKTsKCQkvLyBTZXQgd2hpY2ggcGFydCB0byB1c2UgYXMgdGhlIGdhdGV3YXkgY29kZQoJCSRnYXRld2F5Y29kZXBhcnQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZ2F0ZXdheWNvZGVwYXJ0JywgJzEnKTsKCQkvLyBSZXRyaWV2ZSBhIGxpc3Qgb2YgYWxsIHRoZSBnYXRld2F5cyBwcmVwYXJlZCBpbiB0aGUgZGlyZWN0b3J5CgkJJHBheW1lbnRtc2RpciA9ICRnQ21zLT5jb25maWdbJ3Jvb3RfcGF0aCddOwoJCSRwYXltZW50bXNkaXIgLj0gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdtb2R1bGVzJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkdGhpcy0+R2V0TmFtZSgpIC4KCQkJRElSRUNUT1JZX1NFUEFSQVRPUiAuICdndy4qJzsKCQkkZ3djb2RlcyA9IGdsb2IoJHBheW1lbnRtc2Rpcik7CgkJJGkgPSAwOwoJCXdoaWxlICggJGd3Y29kZXNbJGldICE9ICcnICkKCQl7CgkJCS8vIFR5cGljYWwgbmFtZSBvZiBnYXRld2F5IHByb2dyYW0gaXMgcGF0aFxndy5bbmFtZV0ucGhwLiAKCQkJLy8gRmlyc3QgZXh0cmFjdCB0aGUgYmFzZW5hbWUKCQkJJHBhdGhfaW5mbz1wYXRoaW5mbygkZ3djb2Rlc1skaV0gKTsKCQkJLy8gV2l0aCBleHBsb2RlIHdlIHJldHJpZXZlIHRoZSBuYW1lIHBvcnRpb24KCQkJJGd3Y29kZSA9IGV4cGxvZGUoICIuIiwgJHBhdGhfaW5mb1snYmFzZW5hbWUnXSk7CgkJCSMvLyBUeXBpY2FsIG5hbWUgb2YgZ2F0ZXdheSBwcm9ncmFtIGlzIHBhdGhcZ3cuW25hbWVdLnBocC4gV2l0aCBleHBsb2RlIHdlIHJldHJpZXZlIHRoZSBuYW1lIHBvcnRpb24KCQkJIyRnd2NvZGUgPSBleHBsb2RlKCAiLiIsICRnd2NvZGVzWyRpXSk7CgkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcG1zX2dhdGV3YXlzIFdIRVJFIFVQUEVSKGdhdGV3YXlfY29kZSkgPSBVUFBFUiggPyApJzsKCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGd3Y29kZVskZ2F0ZXdheWNvZGVwYXJ0XSkgKTsKCQkJaWYgKCAhaXNzZXQoJHJvd1snZ2F0ZXdheV9pZCddKSApIAoJCQl7CgkJCQkvLyBBcHBhcmFudGx5IGEgZ2F0ZXdheSBoYXMgYmVlbiBmb3VuZCB0aGF0IGRpZG4ndCBleGlzdCB5ZXQgaW4gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9uZXMKCQkJCSRkZXNjcmlwdGlvbiA9ICR0aGlzLT5MYW5nKCdhdXRvaW5zZXJ0ZWRnYXRld2F5JywgJGd3Y29kZVskZ2F0ZXdheWNvZGVwYXJ0XSk7CgkJCQkkYWN0aXZlID0gMDsKCQkJCSRnYXRld2F5X2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wbXNfZ2F0ZXdheXNfc2VxIik7CgkJCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wbXNfZ2F0ZXdheXMgKGdhdGV3YXlfaWQsIGdhdGV3YXlfY29kZSwgZGVzY3JpcHRpb24sIGFjdGl2ZSApCgkJCQkJVkFMVUVTICg/LD8sPyw/KSc7CgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZ2F0ZXdheV9pZCwgJGd3Y29kZVskZ2F0ZXdheWNvZGVwYXJ0XSwgJGRlc2NyaXB0aW9uLCAkYWN0aXZlKSk7CgkJCQkKCQkJCS8vIE5vdyB0aGF0IHdlIGtub3cgdGhhdCBuZXcsIGluc2VydCB0aGUgYXR0cmlidXRlcyB0aGF0IGJlbG9uZyB0byB0aGUgZ2F0ZXdheQoJCQkJaW5jbHVkZSAoICRnd2NvZGVzWyRpXSApOwoJCQkJJG5ld2NsYXNzID0gJ3BtcycuJGd3Y29kZVskZ2F0ZXdheWNvZGVwYXJ0XS4nX2NsYXNzJzsKCQkJCSRwID0gbmV3ICRuZXdjbGFzczsKCQkJCSRwLT5JbnN0YWxsR2F0ZVdheSggJGdhdGV3YXlfaWQgKTsKCQkJfQkKCQkJJGkrKzsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9Cgp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/ssl/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ssl/cert.cer</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURBakNDQW11Z0F3SUJBZ0lKQUpNTGlUaXpjRUlTTUEwR0NTcUdTSWIzRFFFQkJRVUFNSUdaTVFzd0NRWUQKVlFRR0V3Sk9UREVWTUJNR0ExVUVDQXdNVG05dmNtUkNjbUZpWVc1ME1SRXdEd1lEVlFRSERBaEVaVzVDYjNOagphREVrTUNJR0ExVUVDZ3diUkhWclpYUnZkMjRnVTNsemRHVnRJRU52Ym5OMWJIUmhibU41TVJnd0ZnWURWUVFECkRBOTNkM2N1WkhWclpYUnZkMjR1WlhVeElEQWVCZ2txaGtpRzl3MEJDUUVXRVhOMFpYWmxRR1IxYTJWMGIzZHUKTG1WMU1CNFhEVEV3TVRFeE5qQTJNemd5TlZvWERUSXdNVEV4TXpBMk16Z3lOVm93Z1preEN6QUpCZ05WQkFZVApBazVNTVJVd0V3WURWUVFJREF4T2IyOXlaRUp5WVdKaGJuUXhFVEFQQmdOVkJBY01DRVJsYmtKdmMyTm9NU1F3CklnWURWUVFLREJ0RWRXdGxkRzkzYmlCVGVYTjBaVzBnUTI5dWMzVnNkR0Z1WTNreEdEQVdCZ05WQkFNTUQzZDMKZHk1a2RXdGxkRzkzYmk1bGRURWdNQjRHQ1NxR1NJYjNEUUVKQVJZUmMzUmxkbVZBWkhWclpYUnZkMjR1WlhVdwpnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTVpqWlM2R29jQ0hkUGJnQ2x0MWVDQzVJNHBZCmxpeDlzR3gvME1UU2poQ3Z1eWlmSXRRV1RBa2E2d3dLMnY5SXF0c3liUmdNbG9PNEQ3Vm9iQ0YwZENwRFkxV1kKa2diaVJzR1RIOEVrVElDK1VvUDBHWjhyN3hPZ1ZHTGFyay8wNzZNMHhUa3EzVWMzZEJHdnVyelp5V2orM3pjMwpDTTZMdEpzUit1UTREK3JUQWdNQkFBR2pVREJPTUIwR0ExVWREZ1FXQkJTTE9vVitOUzJ2RkZxTlR0RG9RQ1Y4CjN5WjV0ekFmQmdOVkhTTUVHREFXZ0JTTE9vVitOUzJ2RkZxTlR0RG9RQ1Y4M3laNXR6QU1CZ05WSFJNRUJUQUQKQVFIL01BMEdDU3FHU0liM0RRRUJCUVVBQTRHQkFJQmVSNERzOXhwM1ljOWkxcElEU3NjU05VOUVsVjQrejBEYgptSkVQaWlSdDc3blpVTjFaNzEvcTh6Sk1sRm54VGpLU0JZdkRLSEdxckJUT24wQXJVSmM0QXVacHVVOGUzYk0yCmRqT3pJWUpzRnpXeWxQWjBPb0dzTStpbXF1RVVzSXVxbXRGeGljT2s2ZzhWUTBRUGNWNW8vYTh0N0FWWDZVbEsKOWIzb0NSZWQKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=]]></data>
	</file>
	<file>
	  <filename>/ssl/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/ssl/ingbank.cer</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOakNDQVo4Q0JFTHZiTFl3RFFZSktvWklodmNOQVFFRUJRQXdZakVMTUFrR0ExVUVCaE1DUkVVeER6QU5CZ05WQkFnVEJraGwKYzNObGJqRVNNQkFHQTFVRUJ4TUpSbkpoYm10bWRYSjBNUTR3REFZRFZRUUtFd1ZwUkVWQlRERU9NQXdHQTFVRUN4TUZhVVJGUVV3eApEakFNQmdOVkJBTVRCV2xFUlVGTU1CNFhEVEExTURnd01qRXlOVE14TUZvWERURTFNRGN6TVRFeU5UTXhNRm93WWpFTE1Ba0dBMVVFCkJoTUNSRVV4RHpBTkJnTlZCQWdUQmtobGMzTmxiakVTTUJBR0ExVUVCeE1KUm5KaGJtdG1kWEowTVE0d0RBWURWUVFLRXdWcFJFVkIKVERFT01Bd0dBMVVFQ3hNRmFVUkZRVXd4RGpBTUJnTlZCQU1UQldsRVJVRk1NSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUFBNEdOQURDQgppUUtCZ1FEYlpEUkhWMVZyRzYzQ0JaTDgxdDh2REVyRDJob0UwYWZUS09rempkYVVpcTY5dlk5VUJYNjkwQStiOUxVL1BzUG5KMzZjCjYvLzFITXRrMXE0bHFLRVNUUDRaQlY2WTJmUmJ2akg3bGNmWGJ4Y3h6S0MrSWRoVkcyVW95Nkg3dVkzUXIzbnJvMDROOU9mcFgyd1kKOWp1Q0UwSE45SnV2WGZNNGV5YlE3QlhhcndJREFRQUJNQTBHQ1NxR1NJYjNEUUVCQkFVQUE0R0JBS24wMEUvUzBWK3RBR1BHVVc0Mwp3L0M2Z3dwb0ZaNzBDRjVRWTB3bWhDWFVaVEEwSm12QkE3bTBCMU9RTm5KMkttaXBDY2twN0lVdDNQaXBpUE9HWjQwN25rMzZVdEE3CkdDek8rQ09pcWx4TGoweDQ2VkpRWmxpTzJ5VWIrSnh6ZkJzZDk5bjRHczM3cWRHZU9Bb2FyeXVkc2Z5TXdnRUkwYVd1dzJmczVtUmQKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=]]></data>
	</file>
	<file>
	  <filename>/ssl/opus28.cer</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURBakNDQW11Z0F3SUJBZ0lKQUppVUI1V0NCc016TUEwR0NTcUdTSWIzRFFFQkJRVUFNSUdaTVFzd0NRWUQKVlFRR0V3Sk9UREVXTUJRR0ExVUVDQXdOVG05dmNtUXRRbkpoWW1GdWRERVNNQkFHQTFVRUJ3d0pSV2x1WkdodgpkbVZ1TVE4d0RRWURWUVFLREFaUGNIVnpNamd4RERBS0JnTlZCQXNNQTJsamRERVdNQlFHQTFVRUF3d05kM2QzCkxtOXdkWE15T0M1dWJERW5NQ1VHQ1NxR1NJYjNEUUVKQVJZWWFtdGxjbk5BYjI1emJtVjBaV2x1WkdodmRtVnUKTG01c01CNFhEVEV3TVRFd09USXlNekF5TVZvWERURXhNVEV3T1RJeU16QXlNVm93Z1preEN6QUpCZ05WQkFZVApBazVNTVJZd0ZBWURWUVFJREExT2IyOXlaQzFDY21GaVlXNTBNUkl3RUFZRFZRUUhEQWxGYVc1a2FHOTJaVzR4CkR6QU5CZ05WQkFvTUJrOXdkWE15T0RFTU1Bb0dBMVVFQ3d3RGFXTjBNUll3RkFZRFZRUUREQTEzZDNjdWIzQjEKY3pJNExtNXNNU2N3SlFZSktvWklodmNOQVFrQkZoaHFhMlZ5YzBCdmJuTnVaWFJsYVc1a2FHOTJaVzR1Ym13dwpnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBSjI5RGRudUg5ZTMzL3hXNVNVeEcrWnNMaEx5ClpIWU1TQWFYenBOS1BSSmdwVHpGSGl4dEkzb2FFUENhbjJUNFJ1ZVRsNHRveVBnS09PM08zTkJOZEVrbWJNdk0KVVFyeFV5OEdpSCtvUGs4MHdOaFpmUTg5d00vdEpxQ1FveWtnSERwZmUwWGRSelRmdGJZRjBoY1dsT05ZanpLaAprRDhjdUFVVlFDSnJsbkkxQWdNQkFBR2pVREJPTUIwR0ExVWREZ1FXQkJSZ013QzQ2QW1BaFc2cUFpK0RTQnRCCmFSQTJyREFmQmdOVkhTTUVHREFXZ0JSZ013QzQ2QW1BaFc2cUFpK0RTQnRCYVJBMnJEQU1CZ05WSFJNRUJUQUQKQVFIL01BMEdDU3FHU0liM0RRRUJCUVVBQTRHQkFIYXU1L0FWRjVrV3ZKQVdVRFFZb2dNQW1CRng4NGd5R0JiZQpIdm1yOGlqck9XVjZlYmtXOTVjbkhsVVNaT3JOb0QxTHRGMm96MGhtS0U2OUtrVzc0ZzdRT3VIc1hTc0RxMFk2CkltWVdjYzNCV0RSdUU2aTA1dFhQRklndkRNTlZtV2hNcDZ3RzYvSk9zd2JRV01HV0ZSYUNPRnhZSGI2QUxMOEoKaGlMTEUvMjIKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=]]></data>
	</file>
	<file>
	  <filename>/ssl/opus28.pem</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpQcm9jLVR5cGU6IDQsRU5DUllQVEVECkRFSy1JbmZvOiBERVMtRURFMy1DQkMsODc1NzY0N0QwMDlEQTFGNwoKSS9CaEZHS3htOTN5MHJ5REhFSFkreU9LRk9xQ050TGtnWTUzT1ZSOFFFL1dWUVV0M1dINEgyd1B2R05qbWJKSApwMk9jN3dBamRMOUJSNUxvOHp1MVJKb05pSWowUzEreWtYMG13UlhLOTJaK0ZDMGFqWEpTLy9Wb3hLZzhZbzYvClc3eWMvaldkTHJYNFBvUVJ5N2lDSzk2UnBvS1gxdFVXeU9wVHJENGoySy9BSDBCamIxMVI0UEZhQ3kxZXZVUEUKeXJ1c3pBcFBVTGpSSTFlMk1HM2NYUW12anFyTkNNeG5FMlZqQWpOTFhBbHR2THV2YTQxTmJxcUhhY1NpRU1oegpOdms2Vk5jL3FTY3JLUVV3d2VwbWdSTm9SUSsrM2lWTUNkNERWdmZaSUJNWDBWWTVUVVRDamE2QndBd0VjR2JUClQ2RkVGS1o0K0JGMThKUWNPYXVTTVFCS0U1aHR0NFMwcHNPWDA1d0N1T3JGQUtja2hGYnRzVzk0OXljN0krcGUKRWdhbURBTlhvQ3dzTzY4QTZYUmVKQzUrSS92QjBodXNPbmU1eGo0L3krVGdIQkQ1M0JnMWNQSEpVRStJZ0dtcgpDYkdaQ2JuV0JNcE1OOW9lOXpEdDVqTE1uV0xkU09ORzZCZnBSQXowSE1tTmQ4bTVSc2djOWMxWTFHSUVrMUV1CjhkM3ppYWxsdDl5cWNNTW1aVXlJWC9FWXJqQXRQQUZnb0hpZW1peVAzUXZCUURRUmppVlhMQ3ppcExtMDZtOVQKZ3ErbXprS2V3ODhhNFRvZU1RcDNKRkVqVzBTLzVxOFg0YUNDNzNrKzRDVWVCUmE5Q1p0S0RyTS9aSGtiZjlXWgpjZ2hXdVRRL0duWmcvL1FMOStUMmJXbDFJb1Y4emZ2RUFnMElTdUNFejBZa1dIS0FjUGFVdXFkUzBjeXJYMjZYCkYyMEZGZVMvazRRTlNpK3Y1cmhKN1NobU5iS3QyRUduejB0TkpNTlRiVk1MeWJQc1NFR3hTTWdwcThDc2RtZ3IKUWoxNW5hV3BHTTVPd1djZDRzVmxPWktISlVocVJyWmRlM09DZllBYjlIYktEbGNsSFJzOWhnPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K]]></data>
	</file>
	<file>
	  <filename>/ssl/priv.pem</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpQcm9jLVR5cGU6IDQsRU5DUllQVEVECkRFSy1JbmZvOiBERVMtRURFMy1DQkMsNDY5MDgxNUYyNzhEREZEMQoKT1Nnc08vTTI5S1dwQjJyK3B5dTNERVdhNVhYcWhHMlBYdThuTGRqeXhLM1ZMZFRLc1g4T1BFVmdmSHhDMmxHTQphWER3T01LYXpHa2w1SDhwWlF4UFFqeVdNSG02end3Q2p4Mmh2S0l4UTArdGZTNDhNeElGZ0Y1ZWorS2dIOW5NCkxFSkNTU1lLWmRHaUxmVkkybDNCRWZMcHQ5cUNlQktwYzdGaXRwWkMyRi9WZEpEcTlEMDF1RDFHRXBlS3BlY3IKNmZkR0lXY2pCZ21ja3ZDVzF6WllYWDNUZ2tVeTE2TWE1QzhZMXlLRXdQenBwWXJFRU5uS1QyRjM2bUJEd3dLTgpCWEhXOXF5U29lUHVmQmJFbnh6dDg1UnlPL3czalZ3TWJPaHBsNU9HV0VoWUltYlBsbStyUkcyd2JoK3EzNVk0CkhZVms0UEYvbmVlWDZaak40MUpaSkxVWlJWMG1UZ0tuLzU3QmNuVnR1VDlWZzdVL2dGVm9qK0hwVzYxNlVveDYKWjJMbEZCbG5qZCt6b2NhekQ4SGl5WUtpWTF5bzdoVlRMUSthY2IwT05NakNTNjRrZkZDTFZnQllqQ1Y5eEhyQgp1NmZ1UnNoRWI2emlKMmtFV0IxV2M1OTFoblZQOXZscmFLYkpSRnVmZ2x3MlNTRUJIVkkrdmFjWmwrZVVTc0RyCmlHby94WDVxdUV2M2R5eVZXS2pOc3BURFZpblRwbnZmUFJnMnN3Uk4zSk5Eb0ZIT0tGK2gyeTB1OG5qNEtGNFQKN0MwSFByU1F6OW1ybjRPa0NCWXdFb1dLSnB4SnNKTFg0SjlPT0xlMktSS0lveHRpOW42QnB4ai83UTlsdUtWQQpGU1A4WDRkOUFYbU43eWJoY3lMMnRlejJjVnh4TnBwWmF6R2U4dVgrQmVxRWsrZ3FGNnQwZGpyenFLK0xLSTZUCnU1OVpKeDB3RytZL2QvREIyT0RsanZNVmZCbVhpZnNqSllxa1d0dzhLalZZN01YZk5BZFQ3MGRCYXdyNnZudmcKSUc5dTZlYVhITlF2Z0o2Q21ReWNmcGk0YnV6Q1ltRTlYa1daQWpDeEJDSTkxam9JWlNpUHRRPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K]]></data>
	</file>
	<file>
	  <filename>/ssl/rabobank.cer</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNRRENDQWFrQ0JFTHZiUFl3RFFZSktvWklodmNOQVFFRUJRQXdaekVMTUFrR0ExVUVCaE1DUkVVeER6QU5CZ05WQkFnVEJraGwKYzNObGJqRVNNQkFHQTFVRUJ4TUpSbkpoYm10bWRYSjBNUTR3REFZRFZRUUtFd1ZwUkVWQlRERU9NQXdHQTFVRUN4TUZhVVJGUVV3eApFekFSQmdOVkJBTVRDbWxFUlVGTUlGSmhZbTh3SGhjTk1EVXdPREF5TVRJMU5ERTBXaGNOTVRVd056TXhNVEkxTkRFMFdqQm5NUXN3CkNRWURWUVFHRXdKRVJURVBNQTBHQTFVRUNCTUdTR1Z6YzJWdU1SSXdFQVlEVlFRSEV3bEdjbUZ1YTJaMWNuUXhEakFNQmdOVkJBb1QKQldsRVJVRk1NUTR3REFZRFZRUUxFd1ZwUkVWQlRERVRNQkVHQTFVRUF4TUthVVJGUVV3Z1VtRmliekNCbnpBTkJna3Foa2lHOXcwQgpBUUVGQUFPQmpRQXdnWWtDZ1lFQTQ4NmlJS1ZocjhSTmp4SCtQWjN5VFd4LzhrMmZxREZtOFhVOEkxWjVlc1JtUEZuWG1sZ0E4Y0c3CmU5QWFCUGFMb1A3RGM4ZFJRb1VPNjZLTWFrekdJL1dBVmRISUppaUtyejh4T2Npb0lncnpQU3FlYzdhcXNlM0oyOFVyYUVIa0dFU0oKN2RBVzdQdy9zaHJtcG1rektzdW5MdDZBa1hzczRXM0pVbmRaVU4wQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFRRkFBT0JnUUNHeS9GSwpMb3RwMlpPVHR1TE1ndkR5NzRlaWNxL1pudjRiTGZwZ2x6QVBIeWNSSGNIc1h1ZXIvbE5IeXZwS2YyZ2RZZStJRmFsVVczT0paV0lNCmpwbTRVbmlKMTZSUGRnd1dWUkpFZFByL1A3SlhNSXFEMklFT2d1anV1VFE3eDBWZ0NmOVhyc1BzUDlaUjVESVBjRERoYnJwU0UweUYKRG83N253RzYxeE1hR0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminoptions.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGdhdGV3YXljb2RlcGFydHRleHR9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRnYXRld2F5Y29kZXBhcnRpbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZnN1Ym1pdGJ1dHRvbn17JGNhbmNlbH08L3A+DQoJPC9kaXY+DQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/editgateway.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRnd2NvZGV0ZXh0fTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRnd2NvZGV9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRnd2Rlc2N0ZXh0fTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRnd2Rlc2N9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhY3RpdmV0ZXh0fTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRhY3RpdmV9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+DQoJPC9kaXY+DQoJPGJyPg0KCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+DQoJCTx0aGVhZD4NCgkJCTx0cj4NCgkJCQk8dGg+eyRnd2F0dHJwYXJtdGV4dH08L3RoPg0KCQkJCTx0aD57JGd3YXR0cmRlc2N0ZXh0fTwvdGg+DQoJCQkJPHRoPnskZ3dhdHRydmFsdWV0ZXh0fTwvdGg+DQoJCQkJPHRoPnskZ3dhdHRybG9ja3RleHR9PC90aD4NCgkJCQk8dGg+Jm5ic3A7PC90aD4NCgkJCTwvdHI+DQoJCTwvdGhlYWQ+DQoJCQk8dHI+DQoJCQkJPHRkPnskaW5wdXRnd2F0dHJwYXJtfTwvdGQ+DQoJCQkJPHRkPnskaW5wdXRnd2F0dHJkZXNjfTwvdGQ+DQoJCQkJPHRkPnskaW5wdXRnd2F0dHJ2YWx1ZX08L3RkPg0KCQkJCTx0ZD57JGlucHV0YXR0cmxvY2t9PC90ZD4NCgkJCQk8dGQ+eyRoaWRkZW5hdHRyaWR9eyRzdWJtaXRhdHRyaWR9PC90ZD4NCgkJCTwvdHI+DQoJe2lmICRnd2VkaXQgIT0gJzAnIH0NCgkJPHRib2R5Pg0KCQl7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQ0KCQkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4NCgkJCQk8dGQ+eyRlbnRyeS0+cGFybX08L3RkPg0KCQkJCTx0ZD57JGVudHJ5LT5kZXNjcmlwdGlvbn08L3RkPg0KCQkJCTx0ZD57JGVudHJ5LT52YWx1ZX08L3RkPg0KCQkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPg0KCQkJCTx0ZD57aWYgJGxvY2tlZCA9PSAwIH17JGVudHJ5LT5kZWxldGVsaW5rfXsvaWZ9PC90ZD4NCgkJCTwvdHI+DQoJCXsvZm9yZWFjaH0NCgkJPC90Ym9keT4NCgl7ZWxzZX0NCgkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIifSI+DQoJCQk8dGQgY29sc3Bhbj0nNScgYWxpZ249J2NlbnRlcic+eyRub2F0dHJpYnV0ZXNhdmFpbGFibGV9PC90ZD4NCgkJPC90cj4NCgl7L2lmfQ0KCTwvdGFibGU+DQp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/editgatewayattr.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGd3Y29kZXRleHR9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGlucHV0Z3djb2RlfTwvcD4NCgk8L2Rpdj4NCgl7aWYgJGlucHV0YXR0cmxvY2sgPT0gMH0NCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskZ3dhdHRycGFybXRleHR9OjwvcD4NCgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRnd2F0dHJwYXJtfTwvcD4NCgkJPC9kaXY+DQoJey9pZn0NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPip7JGd3YXR0cmRlc2N0ZXh0fTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRnd2F0dHJkZXNjfTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPip7JGd3YXR0cnZhbHVldGV4dH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0Z3dhdHRydmFsdWV9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRnd2F0dHJsb2NrdGV4dH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0YXR0cmxvY2t9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JGhpZGRlbmF0dHJpZH17JHN1Ym1pdH17JGNhbmNlbH08L3A+DQoJPC9kaXY+DQp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+Cnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGVtcGxhdGVuYW1lfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZW5hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RlbXBsYXRlfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JHRlbXBsYXRlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/listgateways.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCgk8dGhlYWQ+DQoJCTx0cj4NCgkJCTx0aD57JGdhdGV3YXljb2RldGV4dH08L3RoPg0KCQkJPHRoPnskZ2F0ZXdheWRlc2N0ZXh0fTwvdGg+DQoJCQk8dGg+eyRhY3RpdmV0ZXh0fTwvdGg+DQoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCgkJPC90cj4NCgk8L3RoZWFkPg0KCTx0Ym9keT4NCntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9DQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+DQoJCQk8dGQ+eyRlbnRyeS0+Y29kZX08L3RkPg0KCQkJPHRkPnskZW50cnktPmRlc2NyaXB0aW9ufTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+c3RhdHVzbGlua308L3RkPg0KCQkJPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPg0KCQk8L3RyPg0Key9mb3JlYWNofQ0KCTwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0NCg0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRnYXRld2F5bGlua30mbmJzcDt7JHJlZnJlc2hnYXRld2F5fTwvcD48L2Rpdj4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/listtemplates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyR0aXRsZV90ZW1wbGF0ZW5hbWV9PC90aD4JCQkKCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAKCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keT4KCXtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4JCQkKCQkJPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CgkJPC90cj4KCXsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+Cgk8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
</module>
