<?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>CGSocialApp</name>
	<version>1.3.1</version>
  <mincmsversion>1.11.2</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGEgc29jaWFsIGFwcGxpY2F0aW9uIGZyYW1ld29yayBidWlsdCBvbiB0b3Agb2YgQ01TTVMuICBJdCBpcyBkZXNpZ25lZCB0byBhbGxvdyBtb2JpbGUgZGV2ZWxvcGVycyB0byBidWlsZCBzbWFsbCB0byBtZWRpdW0gc2NhbGUgc3BlY2lhbGl6ZWQgc29jaWFsIGFwcGxpY2F0aW9ucyBhbmQgd2Vic2l0ZXMuICBpdCBjYW4gYmUgdXNlZCBmb3IgYWxsb3dpbmcgbW9iaWxlIHVzZXJzIHRvIGFkZCBvciBlZGl0IGxvY2F0aW9uIGluZm9ybWF0aW9uLCBtYW5hZ2UgZnJpZW5kc2hpcHMsIGFuZCBjcmVhdGUgdGltZSByZWxhdGVkIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gYSBsb2NhdGlvbi48L3A+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgUkVTVEZVTCBBUEkgdG8gYWxsb3cgc2VuZGluZyBhbmQgcmVjZWl2aW5nIHNvY2lhbCBkYXRhLCBhbmQgZm9yIGRpc3BsYXlpbmcgc29tZSBvZiB0aGF0IGRhdGEgb24gdGhlIENNU01TIHBvd2VyZWQgd2Vic2l0ZS48L3A+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGhhdmUgbXVjaCBmdW5jdGlvbmFsaXR5IG9mIGl0cyBvd24sIGl0IGlzIGRlc2lnbmVkIHRvIHByaW1hcmx5IHdvcmsgaW4gY29uanVuY3Rpb24gd2l0aCBhIGN1c3RvbSBkZXZlbG9wZWQgbW9iaWxlIGFwcGxpY2F0aW9uICh3aGljaCB5b3UgYXJlIGZyZWUgdG8gY3JlYXRlKS48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CiA8bGk+T25lIEluc3RhbGwgLSBNYW55IEFQUFMKICAgPHVsPgogICAgIDxsaT5VbmlxdWUgQVBJIEtleXMsIHdpdGggZXhwaXJ5PC9saT4KICAgICA8bGk+QWR2YW5jZWQgU2VjdXJpdHkuPC9saT4KICAgICA8bGk+QXRvbWljIHBlcm1pc3Npb25zIG1vZGVsLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPlVzZXJzIEFQSQogICA8cD5UaGUgVXNlcnMgQVBJIGFsbG93cyBxdWVyeWluZywgcmVnaXN0ZXJpbmcsIGxvZ2dpbmcgaW4sIGxvZ2dpbmcgb3V0LCBhbmQgbW9kaWZ5aW5nIG9mIGEgdXNlciBhY2NvdW50LiAgSXQgdXNlcyB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZm9yIGF1dGhlbnRpY2F0aW9uLiAgVGhpcyBpcyB0aGUgcHJpbWFyeSBtZWNoYW5pc20gZm9yIGF1dGhlbnRpY2F0aW5nIHRvIHRoZSBzeXN0ZW0gKG90aGVyIHRoYW4gdGhlIEFQSSBrZXkpLiAgT25seSBhdXRoZW50aWNhdGVkIHVzZXJzIGNhbiBjcmVhdGUgbG9jYXRpb25zLCBhZGQgY2hlY2tpbmdzLCBlZGl0IGZyaWVuZCByZWxhdGlvbnNoaXBzIGV0Yy48L3A+CiAgIDx1bD4KICAgICA8bGk+UmVnaXN0ZXIgYSBuZXcgdXNlciA8ZW0+KFJFR0lTVEVSKTwvZW0+PC9saT4KICAgICA8bGk+TG9naW4gYW4gZXhpc3RpbmcgdXNlciA8ZW0+KExPR0lOKTwvZW0+PC9saT4KICAgICA8bGk+UElORyB0aGUgc2VydmVyIChrZWVwIGxvZ2luIHNlc3Npb24gYWxpdmUpIDxlbT4oUElORyk8L2VtPjwvbGk+CiAgICAgPGxpPkxvZ291dCBmcm9tIHRoZSBzeXN0ZW0gPGVtPihMT0dPVVQpPC9lbT48L2xpPgogICAgIDxsaT5SZXRyaWV2ZSB1c2VyIGluZm9ybWF0aW9uIChjdXJyZW50IHVzZXIpIDxlbT4oR0VUSU5GTyk8L2VtPjwvbGk+CiAgICAgPGxpPlJldHJpZXZlIHVzZXIgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIChjdXJyZW50IHVzZXIpIDxlbT4oUFJPUEVSVElFUyk8L2VtPjwvbGk+CiAgICAgPGxpPlNldCB1c2VyIGluZm9ybWF0aW9uIG9yIHByb3BlcnRpZXMgKGN1cnJlbnQgdXNlcikgPGVtPihTRVRQUk9QUyk8L2VtPjwvbGk+CiAgICAgPGxpPlJldHJpZXZlIHVzZXIgaGlzdG9yeSAoY3VycmVudCB1c2VyKSA8ZW0+KEhJU1RPUlkpPC9lbT48L2xpPgogICAgIDxsaT5MaXN0IFVzZXJzICh3aXRoIGJhc2ljIGZpbHRlcmluZykgPGVtPihMSVNUKTwvZW0+PC9saT4KICAgICA8bGk+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5UT0RPOjwvc3Bhbj4gRGVsZXRlIGN1cnJlbnQgdXNlciA8ZW0+KERFTEVURSk8L2VtPjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPkxvY2F0aW9ucyBBUEkKICAgICA8cD5UaGUgbG9jYXRpb25zIG1lY2hhbmlzbSB1c2VzIHRoZSBDb21wYW55RGlyZWN0b3J5IG1vZHVsZSB0byBtYW5hZ2UgYW5kIHN0b3JlIGRhdGEuICBMb2NhdGlvbnMgYWRkZWQgdmlhIHRoZSBSRVNURlVMIGFwaSBjYW4gYmUgbGlzdGVkIHVzaW5nIHRoZSBub3JtYWwgbWVjaGFuaXNtcyBpbiBDb21wYW55RGlyZWN0b3J5LiBTb21lIG9mIHRoZSBiYXNpYyBmZWF0dXJlcyBhcmU6PC9wPgogIDx1bD4KICAgICA8bGk+RmVhdHVyZTogUmF0ZSBMaW1pdGluZzwvbGk+CiAgICAgPGxpPkZlYXR1cmU6IFBob3RvIFVwbG9hZHM8L2xpPgogICAgIDxsaT5GZWF0dXJlOiBPcHRpb25hbCBBcHByb3ZhbDwvbGk+CiAgICAgPGxpPlJldHJpZXZlIGhpZXJhcmNoeSBsaXN0IDxlbT4oSElFUkFSQ0hZIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPlJldHJpZXZlIGNhdGVnb3J5IGxpc3QgPGVtPihDQVRFR09SSUVTIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkxpc3QgbG9jYXRpb25zICh3aXRoIGZpbHRlcmluZykgPGVtPihMSVNUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkdldCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGxvY2F0aW9uIDxlbT4oR0VUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkFkZCBhIGxvY2F0aW9uIDxlbT4oQUREIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkVkaXQgaW5mb3JtYXRpb24gYWJvdXQgYSBsb2NhdGlvbiA8ZW0+KEVESVQgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+QXR0YWNoIGEgcGhvdG8gdG8gYSBsb2NhdGlvbiA8ZW0+KFBIT1RPVVBMT0FEIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPlJlbW92ZSBhIHBob3RvIGZyb20gYSBsb2NhdGlvbiA8ZW0+KFBIT1RPREVMRVRFIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+ICAgICAKICAgICA8bGk+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5UT0RPOjwvc3Bhbj4gRGVsZXRlIGEgbG9jYXRpb24gPGVtPihERUxFVEUpPC9lbT48L2xpPgogIDwvdWw+CiA8L2xpPgogPGxpPkNoZWNraW5zIEFQSQogIDxwPlRoZSBDaGVja2lucyBtZWNoYW5pc20gYWxsb3dzIGEgbG9nZ2VkIGluIHVzZXIgdG8gc2F5IHRoYXQgdGhleSB3ZXJlIEFUIGEgc3BlY2lmaWMgbG9jYXRpb24gYXQgYSBzcGVjaWZpYyB0aW1lLjwvcD4KICA8dWw+CiAgICAgPGxpPkZlYXR1cmU6IEFjdGl2aXR5IGNhcGFiaWxpdGllcy48L2xpPgogICAgIDxsaT5GZWF0dXJlOiBPcHRpb25hbCBBcHByb3ZhbDwvbGk+CiAgICAgPGxpPkZlYXR1cmU6IEVuaGFuY2VkIHNlY3VyaXR5PC9saT4KICAgICA8bGk+RmVhdHVyZTogUmF0ZSBMaW1pdGluZyBhbmQgU3BhbSBwcm90ZWN0aW9uPC9saT4KICAgICA8bGk+QWRkIGEgY2hlY2tpbiA8ZW0+KEFERCBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5SZXRyaWV2ZSBhIHNpbmdsZSBjaGVja2luIDxlbT4oR0VUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkRlbGV0ZSBhIHNpbmdsZSBjaGVja2luIDxlbT4oREVMIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkFwcHJvdmUgYSBkcmFmdCBjaGVja2luIDxlbT4oQVBQUk9WRSBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5FZGl0IGEgc2luZ2xlIGNoZWNraW4gPGVtPihFRElUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkZpbmQgY2hlY2tpbnMgZm9yIGEgY2VydGFpbiBsb2NhdGlvbiAod2l0aCBwYWdpbmF0aW9uIGFuZCB0aW1lIGxpbWl0aW5nKSA8ZW0+KEJZTE9DQVRJT04gQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+RmluZCBjaGVja2lucyBmcm9tIGZyaWVuZHMgKHdpdGggcGFnaW5hdGlvbiBhbmQgdGltZSBsaW1pdGluZykgPGVtPihGUklFTkRTIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkZpbmQgY2hlY2tpbnMgYnkgYWN0aXZpdHkgKHdpdGggcGFnaW5hdGlvbiBhbmQgdGltZSBsaW1pdGluZykgPGVtPihHRVQgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICA8L3VsPgogPC9saT4KIDxsaT5GYXZvcml0ZXMgQVBJCiAgICAgPHA+VGhlIGZhdm9yaXRlcyBBUEkgYWRkcyB0aGUgYWJpbGl0eSBmb3IgbG9nZ2VkIGluIHVzZXJzIHRvIG1hbmFnZSBhIGxpc3Qgb2YgJnF1b3Q7ZmF2b3JpdGUmcXVvdDsgbG9jYXRpb25zLiAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHN1cHBvcnRlZDo8L3A+CiAgICAgPHVsPgogICAgIDxsaT5MaXN0IGFsbCBmYXZvcml0ZSBsb2NhdGlvbiBpZHM8L2xpPgogICAgIDxsaT5BZGQgYSBsb2NhdGlvbiB0byB0aGUgZmF2b3JpdGVzIGxpc3QuPC9saT4KICAgICA8bGk+RGVsZXRlIGEgbG9jYXRpb24gdG8gdGhlIGZhdm9yaXRlcyBsaXN0LjwvbGk+CiAgICAgPGxpPlRlc3QgaWYgYSBsb2NhdGlvbiBpcyBhIGZhdm9yaXRlLjwvbGk+CiAgICAgPC91bD4KIDwvbGk+CiA8bGk+RnJpZW5kcyBBUEkKICA8cD5UaGUgZnJpZW5kcyBtZWNoYW5pc20gYWRkcyB0aGUgc29jaWFsIHBhcnQgdG8gdGhlIEFQSS4gIFVzZXJzIGNhbiBtYW5hZ2UgYSBmcmllbmRzIGxpc3QsIGFwcHJvdmUgYW5kIGRlbnkgZnJpZW5kIHJlcXVlc3RzLCBhbmQgc2VlIHdoYXQgdGhlaXIgZnJpZW5kcyBhcmUgZG9pbmcgd2l0aCB0aGUgYXBwbGljYXRpb24uPC9wPgogIDx1bD4KICAgICA8bGk+TGlzdCBGcmllbmRzIChmb3IgdGhlIGN1cnJlbnQgdXNlcikgPGVtPihMSVNUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPlJlbW92ZSBhIGN1cnJlbnQgZnJpZW5kIGZyb20gdGhlIGxpc3QgKGZvciB0aGUgY3VycmVudCB1c2VyKSA8ZW0+KERFTCBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5TdWdnZXN0IEZyaWVuZHMgKGZvciB0aGUgY3VycmVudCB1c2VyKSA8ZW0+KFNVR0dFU1QgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+VmlldyBhIGxpc3Qgb2YgZnJpZW5kc2hpcCByZXF1ZXN0cyAoZm9yIHRoZSBjdXJyZW50IHVzZXIpIDxlbT4oUkVRVUVTVExJU1QgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+U2VuZCBhIGZyaWVuZCByZXF1ZXN0IHRvIGFub3RoZXIgdXNlciA8ZW0+KFJFUVVFU1QgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+QXBwcm92ZSBhIGZyaWVuZCByZXF1ZXN0IGZyb20gYW5vdGhlciB1c2VyIDxlbT4oQVBQUk9WRSBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5EZW55IGEgZnJpZW5kIHJlcXVlc3QgZnJvbSBhbm90aGVyIHVzZXIgPGVtPihERU5ZIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgPC91bD4KIDwvbGk+CiA8bGk+TGVhZGVyYm9hcmQgLyBCYWRnZXMKICAgPHA+VGhlIExlYWRlcmJvYXJkIC8gQmFkZ2VzIGZ1bmN0aW9uYWxpdHkgYWxsb3dzIHJld2FyZGluZyB1c2VycyBmb3IgdXNpbmcgeW91ciBhcHBsaWNhdGlvbi48L3A+CiAgIDx1bD4KICAgPGxpPkNyZWF0ZSBudW1lcm91cyBsZWFkZXJib2FyZHMgYmFzZWQgb24gbnVtZXJvdXMgY3JpdGVyaXVtLCBpbmNsdWRpbmcgbG9jYXRpb24gYW5kIGFjdGl2aXR5LjwvbGk+CiAgIDxsaT5TY29yZXMgZm9yIGVhY2ggbGVhZGVyYm9hcmQgYXJlIGNhbGN1bGF0ZWQgcmVndWxhcmx5IGZyb20gdW5wcm9jZXNzZWQgY2hlY2tpbnMsIHVzaW5nIHRoZSBDR0pvYm1ncjwvbGk+CiAgIDxsaT5DcmVhdGUgbnVtZXJvdXMgYmFkZ2VzIG9uIGFueSBsZWFkZXJib2FyZC48L2xpPgogICA8bGk+QmFkZ2VzIGNhbiBiZSB1bmlxdWUgKG9ubHkgb25lIG1lbWJlciBjYW4gcG9zZXNzIHRoZSBiYWRnZSBhdCBhbnkgb25lIHRpbWUpLCBvciBub24gdW5pcXVlIGFsbG93aW5nIG51bWVyb3VzIG1lbWJlcnMuPC9saT4KICAgPGxpPkJhZGdlcyBhcmUgYmFzZWQgb24gc2NvcmUgZnJvbSBhIGxlYWRlcmJvYXJkLCBhbmQgY2FuIGhhdmUgYSBtaW5pbXVtLCBhbmQgb3B0aW9uYWxseSBhIG1heGltdW0gc2NvcmUuPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+Tm90aWZpY2F0aW9ucyBhbmQgRXZlbnRzOgogICA8cD5UaGlzIG1vZHVsZSBpcyBjYXBhYmlsZSBvZiBzZW5kaW5nIG5vdGlmaWNhdGlvbnMgKHVzaW5nIHRoZSBDR05vdGlmaWVyIGFuZCBvdGhlciBzdXBwb3J0aW5nIG1vZHVsZXMpIHRvIHB1Ymxpc2ggd2hlbiBiYWRnZXMgYXJlIGF3YXJkZWQuICBOb3RpZmljYXRpb25zIGNhbiBiZSBzZW50IHZpYSBTTVMgPGVtPihDR1NNUyk8L2VtPiwgVHdpdHRlciA8ZW0+KENHVHdpdHRlcik8L2VtPiwgRW1haWwgPGVtPihCdWlsdCBpbnRvIENHTm90aWZpZXIpPC9lbT4gYW5kIEZhY2Vib29rIDxlbT4oQ0dGQkFwcCk8L2VtPjwvcD4KICAgPHA+VGhlIG1vZHVsZSBzZW5kcyBldmVudHMgbG9naWNhbCBwbGFjZXMgaW4gdGhlIGNvZGUgYWxsb3dpbmcgb3RoZXIgbW9kdWxlcyBvciB1c2VyIGRlZmluZWQgdGFncyB0byBwZXJmb3JtIG1vcmUgZnVuY3Rpb25hbGl0eS48L3A+CiA8L2xpPgo8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0OjwvaDM+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgaXMgZm9yIGFkdmFuY2VkIHVzZXJzIG9ubHkuICBJbiBvcmRlciB0byBwcm9wZXJseSB1c2UgdGhpcyBtb2R1bGUgeW91IHdpbGwgcHJvYmFibHkgaGF2ZSB0byBjcmVhdGUgKG9yIGhhdmUgY3JlYXRlZCkgQSBtb2JpbGUgY2xpZW50IHRoYXQgaW50ZXJhY3RzIHdpdGggdGhpcyBtb2R1bGVzIFJFU1RGVUwgQVBJLiBBIFNhbXBsZSBQSFAgY29tbWFuZCBsaW5lIGNsaWVudCBhcHBsaWNhdGlvbiBpcyBpbmNsdWRlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4gVGhlIHJlZmVyZW5jZSBkb2N1bWVudCBmb3IgdGhlIFJFU1RGVUwgQVBJIGNhbiBiZSBmb3VuZCBpbiBhIFBERiBmaWxlIGluIHRoZSBkb2NzIGRpcmVjdG9yeS48L3A+CjxwPkFmdGVyIGluc3RhbGxhdGlvbiBhbmQgY29uZmlndXJhdGlvbiBvZiB0aGlzIG1vZHVsZSwgdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLCBUaGUgQ29tcGFueURpcmVjdG9yeSBtb2R1bGUsIGFuZCBhbnkgb3RoZXIgZGVwZW5kYW50cyB0aGVyZSBhcmUgYSBmZXcgc3RlcHMgdG8gZm9sbG93OjwvcD4KPHVsPgogIDxsaT5DcmVhdGUgYW4gQVBJIGtleTwvbGk+CiAgPGxpPk1vZGlmeSB0aGUgY2xpZW50LnBocCBhbmQgaW5zZXJ0IHRoZSBBUEkga2V5IGNyZWF0ZWQgYWJvdmUgaW50byB0aGUgYXBwcm9wcmlhdGUgc2VjdGlvbiBvZiB0aGUgY29kZS48L2xpPgogIDxsaT5DcmVhdGUgYXQgbGVhc3Qgb25lIHVzZXIgaW4gRkVVPC9saT4KICA8bGk+Q3JlYXRlIGF0IGxlYXN0IG9uZSBwdWJsaWMgbG9jYXRpb24gaW4gQ29tcGFueURpcmVjdG9yeSwgZm9yIHRlc3Rpbmc8L2xpPgogIDxsaT5MYXVuY2ggdGhlIHBocCBjbGllbnQgYXBwbGljYXRpb24uPC9saT4KPC91bD4KPGJyLz4KPGg0PkRpc3BsYXlpbmcgZGF0YSBvbiB0aGUgd2Vic2l0ZSBmcm9udGVuZDwvaDQ+CiAgPHVsPgogIDxsaT48c3Ryb25nIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5EaXNwbGF5aW5nIGNoZWNraW5zOjwvc3Ryb25nPgogICAgPHA+VGhlIGRlZmF1bHQgYWN0aW9uIG9mIHRoZSBtb2R1bGUgd2lsbCBkaXNwbGF5IGNoZWNraW5zLiAgVGhlIGRpc3BsYXkgb2YgY2hlY2tpbiBkYXRhIGNhbiBiZSBhbHRlcmVkIGJ5IHBhc3NpbmcgcGFyYW1ldGVycyBzdWNoIGFzIGxvY2F0aW9uLGFjdGl2aXR5LHRpbWVsaW1pdCxvd25lcixsaW1pdCxvZmZzZXQsc29ydGJ5IGFuZCBzb3J0b3JkZXIgdG8gdGhlIHRhZy4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRoZSBtb3N0IHJlY2VudCBjaGVja2lucy48L3A+CiAgICA8cD5UaGUgZGVmYXVsdCBjaGVja2luIGxpc3QgdGVtcGxhdGUgd2lsbCBwcm92aWRlIGxpbmtzIHRvIGEgdXNlciBkZXRhaWwgdmlldywgYSBsb2NhdGlvbiBkZXRhaWwgdmlldywgYW5kIHdoZXJlIHBvc3NpYmxlIGFuIGFjdGl2aXR5IGRldGFpbCB2aWV3LjwvcD4KICAgIDxwPmkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwfTwvY29kZT48L3A+CiAgICA8cD48c3Ryb25nPlRpcDo8L3N0cm9uZz4gaXQgaXMgYSBnb29kIGlkZWEgdG8gbW9kaWZ5IHRoZSBhcHJvcHJpYXRlIENvbXBhbnlEaXJlY3RvcnkgZGV0YWlsIHZpZXcgdGVtcGxhdGUgdG8gZGlzcGxheSBhIGxpc3Qgb2YgY2hlY2tpbnMgZm9yIHRoZSBsb2NhdGlvbi4gIGkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIGxvY2F0aW9uPSRlbnRyeS0+aWR9PC9jb2RlPjwvcD4KICAgIDxwPjxzdHJvbmc+VGlwOjwvc3Ryb25nPiBpdCBpcyBhIGdvb2QgaWRlYSB0byBtb2RpZnkgdGhlIEZyb250RW5kVXNlcnMgdmlldyB1c2VyIDxlbT4ob3IgYSBDR1VzZXJEaXJlY3RvcnkgZGV0YWlsIHRlbXBsYXRlKTwvZW0+IHRlbXBsYXRlIHRvIGRpc3BsYXkgYSBsaXN0IG9mIGNoZWNraW5zIGZvciB0aGUgdXNlci4gIGkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIG93bmVyPSR1c2VyaW5mby5pZH08L2NvZGU+PC9wPgogIDwvbGk+CiAgCiAgPGxpPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBncmVlbjsiPkRpc3BsYXlpbmcgYWN0aXZpdGllczo8L3N0cm9uZz4KICAgIDxwPlRoZSBsaXN0X2FjdGl2aXRpZXMgYWN0aW9uIGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgYSBoaWVyYXJjaGljYWwgbGlzdCBvZiBhY3Rpdml0aWVzIGluIHN1bW1hcnkgZm9ybS4gIEFuZCBmcm9tIHRoZXJlIGEgZGV0YWlsIHZpZXcgY2FuIGJlIGRpc3BsYXllZCBvZiBhIHNpbmdsZSBhY3Rpdml0eS48L3A+CiAgICA8cD5pLmU6IDxjb2RlPntjbXNfbW9kdWxlIG1vZHVsZT1DR1NvY2lhbEFwcCBhY3Rpb249bGlzdF9hY3Rpdml0aWVzfTwvY29kZT48L3A+CiAgPC9saT4KCiAgPGxpPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBncmVlbjsiPkRpc3BsYXlpbmcgYSBzaW5nbGUgYWN0aXZpdHk6PC9zdHJvbmc+CiAgPHA+VGhlIHZpZXdfYWN0aXZpdHkgYWN0aW9uIGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBhY3Rpdml0eS4gVGhlIGRlZmF1bHQgYWN0aXZpdHkgdmlldyB3aWxsIGFsc28gZGlzcGxheSBhIGxpc3Qgb2YgcmVjZW50IGNoZWNraW5zIGZvciB0aGF0IGFjdGl2aXR5LjwvcD4KICAgIDxwPmkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIGFjdGlvbj12aWV3X2FjdGl2aXR5IGFjdGl2aXR5PSMjfTwvY29kZT48L3A+CiAgPC9saT4KICA8L3VsPgo8aDQ+RnJpZW5kIE1hbmFnZW1lbnQ6PC9oND4KICA8cD5JdCBpcyBwb3NzaWJsZSB0byBhbGxvdyB1c2VycyB0byBtYW5hZ2UgY3JlYXRlIGZyaWVuZCByZXF1c3RzLCBhbmQgYXBwcm92ZSBvciBkZW55IGluY29taW5nIGZyaWVuZCByZXF1ZXN0cyB1c2luZyB0aGUgdmFyaW91cyBzbWFydHkgcGx1Z2lucyBhbmQgYWN0aW9ucyBvZiB0aGlzIG1vZHVsZTo8L3A+CiAgPHVsPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5DcmVhdGUgPGVtPihvciByZW1vdmUpPC9lbT4gYSBGcmllbmQgUmVxdWVzdCBvciBGcmllbmRzaGlwOjwvc3Bhbj4KCQkgICA8cD48Y29kZT57Y2dzYV9mcmllbmRyZXFfbGlua308L2NvZGU+IFJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiB0byBGRVUsIGJ1dCB3aWxsIGRpc3BsYXkgYSBsaW5rIHRvIGluaXRpYXRlLCBvciByZW1vdmUgYSBmcmllbmQgcmVxdWVzdCBsaW5rIHRvIGEgcGFydGljdWxhciB1c2VyLiAgQXMgd2VsbCwgaWYgdGhlIHRhcmdldHRlZCB1c2VyIGlzIGFscmVhZHkgYSBmcmllbmQsIGEgbGluayB3aWxsIGJlIGdlbmVyYXRlZCBhbGxvd2luZyB0aGUgZnJpZW5kIHJlbGF0aW9uc2hpcCB0byBiZSByZW1vdmVkLiAgVGhpcyB0YWcgY2FuIGJlIGFkZGVkIHRvIHRoZSBDR1VTZXJEaXJlY3RvcnkgZGV0YWlsIHZpZXcgdGVtcGxhdGUsIG9yIHRvIHRoZSBGcm9udEVuZFVzZXJzIHZpZXcgdXNlciB0ZW1wbGF0ZS48L3A+CiAgICAgIDxwPklmIHRoZSBzZWxlY3RlZCB1c2VyIGlzIG5vdCBhIGZyaWVuZCwgdGhlIGxpbmsgd2lsbCwgd2hlbiBjbGlja2VkIHVwb24gd2lsbCBnZW5lcmF0ZSBhIGZvcm0gPGVtPihhY3Rpb249ZnJpZW5kcmVxKTwvZW0+LiAgVGhlIGZvcm0gYXNrcyB0aGUgdXNlciB0byBjb25maXJtIHRoZSBzZW5kaW5nIG9mIHRoZSBmcmllbmQgcmVxdWVzdC4gIE9uY2UgY29uZmlybWVkIDxlbT4ob3IgY2FuY2VsbGVkKTwvZW0+IHRoZSB1c2VyIGlzIHJlZGlyZWN0ZWQgYmFjayB0byB0aGUgb3JpZ2luYXRpbmcgVVJMLjwvcD4KICAgICAgPHA+aS5lOiA8Y29kZT57Y2dzYV9mcmllbmRyZXFfbGluayB1c2VyPSR1c2VyLmlkfTwvY29kZT48L3A+CiAgICA8L2xpPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5EaXNwbGF5IGEgbGlzdCBvZiBwZW5kaW5nIFJlcXVlc3RzOjwvc3Bhbj4KICAgICAgPHA+PGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIGFjdGlvbj1mcmllbmRyZXFsaXN0fTwvY29kZT4gaXMgYW4gYWN0aW9uIHRoYXQgd2lsbCBkaXNwbGF5IGEgbGlzdCBvZiBhbGwgb2YgdGhlIHBlbmRpbmcgZnJpZW5kIHJlcXVlc3RzIGFuZCBhbGxvdyBhcHByb3ZpbmcsIG9yIGRlbnlpbmcgdGhlbS4gIFRoaXMgcGx1Z2luIHdpbGwgZGlzcGxheSBub3RoaW5nIGlmIHRoZSB1c2VyIGlzIG5vdCBsb2dnZWRpbiB0byBGcm9udEVuZFVzZXJzLiAgVGhpcyBwbHVnaW4gY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBib3R0b20gb2YgdGhlIEZyb250RW5kVXNlcnMgY2hhbmdlIHNldHRpbmdzIGZvcm0sPC9wPgogICAgPC9saT4KICA8L3VsPgo8aDQ+RmF2b3JpdGVzIE1hbmFnZW1lbnQ6PC9oND4KICAgPHA+VGhpcyBtb2R1bGUgYWxsb3dzIHVzZXJzIHRvIG1haW50YWluIGEgbGlzdCBvZiBmYXZvcml0ZSBsb2NhdGlvbnMuICBVc2VycyBjYW4gdmlldyB0aGVpciBmYXZvcml0ZXMgaW4gYSBsaXN0LCBhbmQgY2FuIGludGVyYWN0IHdpdGggZmF2b3JpdGUgbG9jYXRpb25zIGluIHZhcmlvdXMgd2F5cy48L3A+CiAgPHVsPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5BZGRpbmcgb3IgcmVtb3ZpbmcgYSBGYXZvcml0ZTwvc3Bhbj4KICAgICAgPHA+PGNvZGU+e2Nnc2FfdG9nZ2xlX2Zhdm9yaXRlbGluayBsb2NhdGlvbj0kbG9jYXRpb25faWR9PC9jb2RlPiB3aWxsIGRpc3BsYXkgYSBsaW5rIGFsbG93aW5nIHRoZSB1c2VyIHRvIGVpdGhlciBhZGQgdGhlIHNlbGVjdGVkIGxvY2F0aW9uIGFzIGEgZmF2b3JpdGUsIG9yIHJlbW92ZSBpdC4gIEl0IGlzIGJlc3QgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBDb21wYW55RGlyZWN0b3J5IGRldGFpbCB0ZW1wbGF0ZSwgYnV0IG1heSBhbHNvIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgc3VtbWFyeSB0ZW1wbGF0ZS48L3A+CiAgICA8L2xpPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5WaWV3aW5nIEFsbCBGYXZvcml0ZXM8L3NwYW4+CiAgICAgIDxwPkl0IGlzIHBvc3NpYmxlIHRvIGRpc3BsYXkgYSBzdW1tZXJ5IHZpZXcgb2YgYWxsIGxvY2F0aW9ucyB0aGF0IGFyZSBpbiBhIHVzZXJzIGZhdm9yaXRlcyBsaXN0LiAgVGhlIGZhdm9yaXRlcyBsaXN0IGlzIHNpbXBseSBhIGxpc3Qgb2YgaW50ZWdlciBsb2NhdGlvbiBpZGVudGlmaWVycywgYW5kIHJldHJpZXZpbmcgYSBmYXZvcml0ZXMgbGlzdCByZXF1cmVzIHRoYXQgdGhlIHVzZXIgYmUgbG9nZ2VkIGluIHRvIEZFVS4gIFRoZXJlZm9yZSB0aGUgY29kZSBiZWxvdyB3b3JrcyBiZXN0IHdoZW4gZGlzcGxheWVkIG9uIGEgcHJvdGVjdGVkIHBhZ2UgKG9yIHN1cnJvdW5kZWQgYnkgY3VzdG9tY29udGVudCBsb2dpYykuPC9wPgogICAgICA8cHJlPntjZ3NhX2dldF9mYXZvcml0ZXMgYXNzaWduPSdteWZhdnMnfQp7YXNzaWduIHZhcj0nbXlmYXZzJyB2YWx1ZT0nLCd8aW1wbG9kZTokbXlmYXZzfQp7Q29tcGFueURpcmVjdG9yeSBpZGxpc3Q9JG15ZmF2c308L3ByZT4KICAgICAgPC9wcmU+CiAgICA8L2xpPgogIDwvdWw+CjxoMz5TbWFydHkgRnVuY3Rpb25zPC9oMz4KPHVsPgogIDxsaT57Y2dzYV9nZXRhY3Rpdml0eSBhY3Rpdml0eT0jIyBbYXNzaWduPSMjXX0KICAgIDxwPlJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBhY3Rpdml0eTwvcD4KICAgIDxwPk9wdGlvbnM6PC9wPgogICAgPHVsPgogICAgICAgPGxpPjxzdHJvbmc+YWN0aXZpdHkgPGVtPihyZXF1aXJlZCk8L2VtPjwvc3Ryb25nPiAtIFRoZSBpbnRlZ2VyIGFjdGl2aXR5IGlkLiAgTm90ZSwgYWlkIGlzIGFuIGFsaWFzIGZvciB0aGUgYWN0aXZpdHkgYXJndW1lbnQuPC9saT4KICAgICAgIDxsaT5hc3NpZ24gPGVtPihvcHRpb25hbCk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgIDwvdWw+CiAgICAgICA8cD5FeGFtcGxlOiA8Y29kZT57Y2dzYV9nZXRhY3Rpdml0eSBhY3Rpdml0eT0xIGFzc2lnbj10bXB9Jmx0O3ByZSZndDt7JHRtcHxAcHJpbnRfcn0mbHQ7cHJlJmd0OzwvY29kZT48L3A+CiAgPC9saT4KCiAgPGxpPntjZ3NhX3NlbGFjdGl2aXR5IFtwcmVmaXg9c3RyaW5nXSBuYW1lPXN0cmluZyBbaWQ9c3RyaW5nXSBbc2VsZWN0ZWQ9aW50XSBbbm9uZT1pbnRdIFthc3NpZ249c3RyaW5nXX0KICAgIDxwPlByb3ZpZGUgYSBkcm9wZG93biBsaXN0IHRvIHNlbGVjdCBhbiBhY3Rpdml0eS48L3A+CiAgICA8cD5PcHRpb25zOjwvcD4KICAgICAgPHVsPgogICAgICAgPGxpPjxzdHJvbmc+bmFtZSA8ZW0+KHJlcXVpcmVkKTwvZW0+PC9zdHJvbmc+IC0gQSBuYW1lIGZvciB0aGUgc2VsZWN0IGVsZW1lbnQuPC9saT4KICAgICAgIDxsaT5wcmVmaXggPGVtPihvcHRpb25hbCk8L2VtPiAtIEEgcHJlZml4IGZvciB0aGUgbmFtZSBvZiB0aGUgc2VsZWN0IGVsZW1lbnQuIFRoZSBwcmVmaXggaXMgdXN1YWxseSB1c2VkIHdoZW4gYnVpbGRpbmcgZm9ybXMgaW5zaWRlIG9mIGEgbW9kdWxlIGFjdGlvbiB0ZW1wbGF0ZS48L2xpPgogICAgICAgPGxpPmlkIDxlbT4ob3B0aW9uYWwpPC9lbT4gLSBBbiBpZCBmb3IgdGhlIHNlbGVjdCBlbGVtZW50LjwvbGk+CiAgICAgICA8bGk+Y2xhc3MgPGVtPihvcHRpb25hbCk8L2VtPiAtIEEgY2xhc3MgYXR0cmlidXRlIGZvciB0aGUgc2VsZWN0IGVsZW1lbnQuPC9saT4KICAgICAgIDxsaT5zZWxlY3RlZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gVGhlIGludGVnZXIgaWQgb2YgdGhlIGFjdGl2aXR5IHRvIGJlIHNlbGVjdGVkIGJ5IGRlZmF1bHQuPC9saT4KICAgICAgIDxsaT5hc3NpZ24gPGVtPihvcHRpb25hbCk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgICAgPC91bD4KICAgIDxwPkV4YW1wbGU6IDxjb2RlPntjZ3NhX3NlbGVhY3Rpdml0eSBuYW1lPXNlbF9hY3Rpdml0eX08L2NvZGU+PC9wPgogIDwvbGk+CgogIDxsaT57Y2dzYV9nZXRfZmF2b3JpdGVzIFthc3NpZ249c3RyaW5nfQogICAgPHA+UmV0dXJuIGEgbGlzdCBvZiBmYXZvcml0ZSBsb2NhdGlvbiBpZHMuIDxlbT4oaWYgYW55Lik8L2VtPjwvcD4KICAgIDxwPk9wdGlvbnM6PC9wPgogICAgPHVsPgogICAgICAgPGxpPmFzc2lnbiA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS48L2xpPgogICAgPC91bD4KICAgIDxwPkV4YW1wbGU6IDxjb2RlPntjZ3NhX2dldF9mYXZvcml0ZXMgYXNzaWduPXRtcH17ZGVidWdfZGlzcGxheSgkdG1wKX08L2NvZGU+PC9wPgogIDwvbGk+CgogIDxsaT57Y2dzYV9nZXRfZnJpZW5kcyBbYXNzaWduPXN0cmluZ30KICAgIDxwPlJldHVybiBhIGxpc3Qgb2YgZnJpZW5kIHVzZXIgaWRzLiA8ZW0+KGlmIGFueS4pPC9lbT48L3A+CiAgICA8cD5PcHRpb25zOjwvcD4KICAgIDx1bD4KICAgICAgIDxsaT5hc3NpZ24gPGVtPihvcHRpb25hbCk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgIDwvdWw+CiAgICA8cD5FeGFtcGxlOiA8Y29kZT57Y2dzYV9nZXRfZnJpZW5kcyBhc3NpZ249dG1wfXtkZWJ1Z19kaXNwbGF5KCR0bXApfTwvY29kZT48L3A+CiAgPC9saT4KCiAgPGxpPntjZ3NhX3RvZ2dsZWZhdm9yaXRlX2xpbmt9CiAgICA8cD5DcmVhdGUgYSBsaW5rIHRvIGFuIGFjdGlvbiB0aGF0IHdpbGwgdG9nZ2xlIHRoZSBzZWxlY3RlZCBsb2NhdGlvbiBhcyBhIGZhdm9yaXRlLiBUaGlzIHBsdWdpbiByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4gdG8gRkVVIChpZiB0aGUgdXNlciBpcyBub3Qgbm8gb3V0cHV0IHdpbGwgYmUgZGlzcGxheWVkKS4gIEFuZCBhbGxvd3MgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlciB0byB0b2dnbGUgYSBsb2NhdGlvbiBhcyBhIGZhdm9yaXRlIG9yIG5vdC48L3A+CiAgICA8cD5VbmRlciBub3JtYWwgY29uZGl0aW9ucyB0aGUgbGluayBjcmVhdGVkIGJ5IHRoaXMgcGx1Z2luIHdpbGwgcGVyZm9ybSB0aGUgYWN0aW9uIG9mIHNlbGVjdGluZyB0aGlzIGl0ZW0gYXMgYSBmYXZvcml0ZSAob3IgdW5zZWxlY3RpbmcgaXQpIGFuZCByZXR1cm4gdG8gdGhlIHVybCBvZiB0aGUgcGFnZSB0aHQgdGhlIHBsdWdpbiB3YXMgY2FsbGVkIGZyb20uPC9wPgogICAgPHA+T3B0aW9uczo8L3A+CiAgICA8dWw+CiAgICAgICA8bGk+PHN0cm9uZz5sb2NhdGlvbiAgPGVtPihyZXF1aXJlZCBpbnRlZ2VyKTwvZW0+PC9zdHJvbmc+IC0gVGhlIG51bWVyaWMgSUQgb2YgdGhlIGxvY2F0aW9uLjwvbGk+CiAgICAgICA8bGk+ZmF2dGV4dCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFNwZWNpZnkgZGlmZmVyZW50IHRleHQgZm9yIHRoZSBsaW5rIGlmIHRoZSBpdGVtIGlzIGN1cnJlbnRseSBub3QgYSBmYXZvcml0ZSwgYW5kIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGZhdm9yaXRlcyBsaXN0LjwvbGk+CiAgICAgICA8bGk+dW5mYXZ0ZXh0IDxlbT4ob3B0aW9uYWwgc3RyaW5nKTwvZW0+IC0gU3BlY2lmeSBkaWZmZXJlbnQgdGV4dCBmb3IgdGhlIGxpbmsgaWYgdGhlIGl0ZW0gaXMgY3VycmVudGx5IG5vdCBhIGZhdm9yaXRlIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgZmF2b3JpdGVzIGxpc3QuPC9saT4KICAgICAgIDxsaT5jbGFzcyA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFNwZWNpZnkgYSBjbGFzcyBhdHRyaWJ1dGUgZm9yIHRoZSBsaW5rIHRhZy48L2xpPgogICAgICAgPGxpPmlkIDxlbT4ob3B0aW9uYWwgc3RyaW5nKTwvZW0+IC0gU3BlY2lmeSBhIGlkIGF0dHJpYnV0ZSBmb3IgdGhlIGxpbmsgdGFnLjwvbGk+CiAgICAgICA8bGk+cmV0dXJuaWQgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gU3BlY2lmeSBhIGRpZmZlcmVudCByZXR1cm5pZCBmb3IgdGhlIGRlc3RpbmF0aW9uIGFjdGlvbiBhbmQgdG8gcmV0dXJuIHRvLjwvbGk+CiAgICAgICA8bGk+dXJsb25seSA8ZW0+KG9wdGlvbmFsIGludGVnZXIpPC9lbT4gLSBEbyBub3QgZ2VuZXJhdGUgYSBsaW5rLCBvbmx5IGEgVVJMLjwvbGk+CiAgICAgICA8bGk+anNmcmllbmRseSA8ZW0+KG9wdGlvbmFsIGludGVnZXIpPC9lbT4gLSBHZW5lcmF0ZSBhIFVSTCB0aGF0IGlzIHN1aXRhYmxlIGZvciB1c2UgaW4gamF2YXNjcmlwdCAoYWpheCk8L2xpPgogICAgICAgPGxpPm5vcmVkaXJlY3QgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gRG8gbm90IHJlZGlyZWN0IHRvIHRoZSBvcmlnaW5hbCBVUkwuPC9saT4KICAgICAgIDxsaT5yZWRpcmVjdGNvbnRlbnQgPGVtPihvcHRpb25hbCBpbnRlZ2VyKSAtIERvIG5vdCByZWRpcmVjdCB0byB0aGUgb3JpZ2luYXRpbmcgVVJMLCB1c2UgdGhlIHJldHVybmlkIGFuZCByZWRpcmVjdCB0byB0aGUgY29udGVudCBwYWdlLjwvbGk+CiAgICAgICA8bGk+YXNzaWduIDxlbT4ob3B0aW9uYWwgc3RyaW5nKTwvZW0+IC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS48L2xpPgogICAgPC91bD4KICAgIDxwPkV4YW1wbGU6IHtjZ3NhX3RvZ2dsZWZhdm9yaXRlX2xpbmsgbG9jYXRpb249JGxvY2F0aW9uX2lkfTwvcD4KICA8L2xpPgoKICA8bGk+e2Nnc2FfZnJpZW5kcmVxX2xpbmt9CiAgICAgPHA+Q3JlYXRlIGEgbGluayB0byBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBpbnN0YW50aWF0ZSBhIGZyaWVuZCByZXF1ZXN0LiAgVGhpcyBwbHVnaW4gd2lsbCBjcmVhdGUgYSBsaW5rIHRvIGFuIGFjdGlvbiB0aGF0IHByb3ZpZGVzIGEgZm9ybS4gIE9uY2Ugc2VsZWN0ZWQgdGhlIGZvcm0gd2lsbCBjcmVhdGUgYSBmcmllbmQgcmVxdWVzdC4gIElmIGEgZnJpZW5kIHJlcXVlc3QgaGFzIGFscmVhZHkgYmVlbiBzZW50IHRvIHRoZSB1c2VyIHRoZSBsaW5rIHdpbGwgYWxsb3cgcmVtb3ZpbmcgdGhlIGZyaWVuZCByZXF1ZXN0LiAgVGhpcyBwbHVnaW4gcmVxdWlyZXMgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS4gIElmIHRoZSB1c2VyIGlzIG5vdCBsb2dnZWRpbiwgbm8gb3V0cHV0IHdpbGwgYmUgcmV0dXJuZWQuPC9wPgogICAgPHA+VGhlIGxpbmsgY3JlYXRlZCBieSB0aGlzIHBsdWdpbiBzZW5kcyB0aGUgdXNlciB0byB0aGUgJnF1b3Q7ZnJpZW5kcmVxJnF1b3Q7IGFjdGlvbiB3aGljaCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gY29uZmlybSB0aGUgZnJpZW5kc2hpcCByZXF1ZXN0LiAgVW5kZXIgbm9ybWFsIHVzYWdlIGlmIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCBvciBjYW5jZWxsZWQgdGhlIHVzZXIgd2lsbCBiZSByZWRpcmVjdGVkIGJhY2sgdG8gdGhlIFVSTCB3aGVyZSB0aGUgbGluayBpcyBkaXNwbGF5ZWQuPC9wPgogICAgPHA+T3B0aW9uczo8L3A+CiAgICA8dWw+CiAgICAgICA8bGk+PHN0cm9uZz51c2VyIDxlbT4ocmVxdWlyZWQgaW50ZWdlcik8L3N0cm9uZz4gLSBUaGUgdXNlcmlkIHRoYXQgd2Ugd2FudCB0byBzZW5kIGEgZnJlbmQgcmVxdWVzdCB0by48L2xpPgogICAgICAgPGxpPnJlcXRleHQgPGVtPihvcHRpb25hbCBzdHJpbmcpIC0gVXNlIGFsdGVybmF0ZSB0ZXh0IGZvciB0aGUgbGluayB3aGVuIGNyZWF0aW5nIGEgZnJpZW5kIHJlcXVlc3QuPC9saT4KICAgICAgIDxsaT5ybXJlcXRleHQgPGVtPihvcHRpb25hbCBzdHJpbmcpIC0gVXNlIGFsdGVybmF0ZSB0ZXh0IGZvciB0aGUgbGluayB3aGVuIHJlbW92aW5nIGFuIGV4aXN0aW5nIGZyaWVuZCByZXF1ZXN0LjwvbGk+CiAgICAgICA8bGk+Y2xhc3MgPGVtPihvcHRpb25hbCBzdHJpbmcpPC9lbT4gLSBTcGVjaWZ5IGEgY2xhc3MgYXR0cmlidXRlIGZvciB0aGUgbGluayB0YWcuPC9saT4KICAgICAgIDxsaT5pZCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFNwZWNpZnkgYSBpZCBhdHRyaWJ1dGUgZm9yIHRoZSBsaW5rIHRhZy48L2xpPgogICAgICAgPGxpPnJldHVybmlkIDxlbT4ob3B0aW9uYWwgaW50ZWdlcik8L2VtPiAtIFNwZWNpZnkgYSBkaWZmZXJlbnQgcmV0dXJuaWQgb24gd2hpY2ggdG8gZGlzcGxheSB0aGUgZnJpZW5kcmVxIGFjdGlvbiwgYW5kIHJldHVybiB0by48L2xpPgogICAgICAgPGxpPnVybG9ubHkgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gRG8gbm90IGdlbmVyYXRlIGEgbGluaywgb25seSBhIFVSTC48L2xpPgogICAgICAgPGxpPmpzZnJpZW5kbHkgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gR2VuZXJhdGUgYSBVUkwgdGhhdCBpcyBzdWl0YWJsZSBmb3IgdXNlIGluIGphdmFzY3JpcHQgKGFqYXgpPC9saT4KICAgICAgIDxsaT5ub3JlZGlyZWN0IDxlbT4ob3B0aW9uYWwgaW50ZWdlcik8L2VtPiAtIERvIG5vdCByZWRpcmVjdCB0byB0aGUgb3JpZ2luYWwgVVJMLjwvbGk+CiAgICAgICA8bGk+cmVkaXJlY3Rjb250ZW50IDxlbT4ob3B0aW9uYWwgaW50ZWdlcikgLSBEbyBub3QgcmVkaXJlY3QgdG8gdGhlIG9yaWdpbmF0aW5nIFVSTCwgdXNlIHRoZSByZXR1cm5pZCBhbmQgcmVkaXJlY3QgdG8gdGhlIGNvbnRlbnQgcGFnZS48L2xpPgogICAgICAgPGxpPnRlbXBsYXRlIDxlbT4ob3B0aW9uYWwgc3RyaW5nPjwvZW0+IC0gU3BlY2lmeSB0aGUgbmFtZSBvZiBhIG5vbiBzdGFuZGFyZCAmcXVvdDtGcmllbmQgUmVxdWVzdCBUZW1wbGF0ZSZxdW90OyB0byB1c2Ugd2hlbiBjcmVhdGluZyB0aGUgZnJpZW5kIHJlcXVlc3QgZm9ybS48L2xpPgogICAgICAgPGxpPmFzc2lnbiA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgIDwvdWw+CiAgICA8cD5FeGFtcGxlOiB7Y2dzYV9mcmllbmRyZXFfbGluayB1c2VyPSRzb21lX3VzZXJpZH08L3A+CiAgPC9saT4KPC91bD4KCjxoMz5SZXF1aXJlbWVudHM8L2gzPgo8dWw+CiAgPGxpPkZFVSAtIExvZ2luIG1vcmUgdGhhbiBvbmNlIG11c3QgYmUgZW5hYmxlZC48L2xpPgogIDxsaT5QcmV0dHkgVVJMUyAobW9kX3Jld3JpdGUgb3IgaW50ZXJuYWwpIG11c3QgYmUgY29uZmlndXJlZC48L2xpPgogIDxsaT5UaGUgbW9iaWxlIGNsaWVudCBtdXN0IGhhdmUgY29va2llcyBjYXBhYmlsaXRpZXMuPC9saT4KICA8bGk+VGhlIENHSm9iTWdyIG1vZHVsZSBpcyByZXF1aXJlZCBmb3IgdGhlIGJhZGdlIGZ1bmN0aW9uYWxpdGllcy4gV2UgcmVjb21tZW5kIHRoYXQgbGVhZGVyYm9hcmRzIGJlIHVwZGF0ZWQgbW9yZSBmcmVxdWVudGx5IHRoYW4gYmFkZ2VzLiAgQnV0IG5vIG1vcmUgdGhhbiAzIG9yIDQgdGltZXMgcGVyIGhvdXIuICBJZGVhbCBpbnRlcnZhbHMgYXJlIGFwcHJveGltYXRlbHkgMjAgbWludXRlcyB0byB1cGRhdGUgbGVhZGVyYm9hcmRzLCBhbmQgMzAgbWludXRlcyBmb3IgdXBkYXRpbmcgYmFkZ2VzLjwvbGk+CiAgPGxpPlRoZSBkZWZhdWx0IChzYW1wbGUpIHRlbXBsYXRlcyB0YWtlIGFkdmFudGFnZSBvZiB0aGUge21vZHVsZV9hY3Rpb25fbGlua30gcGx1Z2luIGZyb20gdGhlIENHU2ltcGxlU21hcnR5IGxpYnJhcnkuPC9saT4KICA8bGk+VGhlIENHRmF2cyBtb2R1bGUgaXMgcmVxdWlyZWQgZm9yIGZhdm9yaXRlcyBtYW5hZ2VtZW50LjwvbGk+CiAgPGxpPk51bWVyb3VzIGZpZWxkcyBtYXkgYmUgcmVxdWlyZWQgaW4gdGhlIENvbXBhbnlEaXJlY3RvcnkgYW5kL29yIEZFVSBtb2R1bGVzIHRvIGFsbG93IGNlcnRhaW4gZnVuY3Rpb25hbGl0eS4gIGkuZTogQW4gQWxidW0gZmllbGQgaXMgcmVxdWlyZWQgaW4gdGhlIENvbXBhbnlEaXJlY3RvcnkgbW9kdWxlIHRvIGFsbG93IHRoZSBQSE9UT1VQTE9BRCBhY3Rpb24gdG8gd29yay48L3A+CiAgPGxpPlRoZSBzYW1wbGUgUEhQIGNsaWVudCByZWxpZXMgb24gdGhlIGN1cmwgcGhwIGV4dGVuc2lvbnMuPC9saT4KICA8bGk+Rm9yIE5vdGlmaWNhdGlvbnMgdG8gd29yayB0aGUgQ0dOb3RpZmllciBtb2R1bGUsIGFuZCBvdGhlciBzdXBwb3J0aW5nIG1vZHVsZXMgbGlrZSAoQ0dUd2VldCwgYW5kIENHU01TKSBhcmUgbmVlZGVkLCBhbmQgbXVzdCBiZSBwcm9wZXJseSBjb25maWd1cmVkLiBBZGR0aW9uYWxseSwgdGhlIHVzZXIgbXVzdCBoYXZlIGNyZWF0ZWQgYSBub3RpZmljYXRpb25zIHByb2ZpbGUuPC9saT4KPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJ3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+PGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5Gcm9udEVuZFVzZXJzID0mZ3Q7IDEuMjEuMTQ8L2xpPjxsaT5Db21wYW55RGlyZWN0b3J5ID0mZ3Q7IDEuMTguMTwvbGk+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjMyLjY8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAxLjU8L2xpPjxsaT5DR0pvYk1nciA9Jmd0OyAxLjIuNzwvbGk+PGxpPkNHRmF2cyA9Jmd0OyAxLjAuNTwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjaGVja2luPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBpbnRlZ2VyIGNoZWNraW5pZCB0byBkaXNwbGF5PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBiYWRnZT0iIiAtIEFwcGxpY2FibGUgdG8gdGhlIGJhZGdlX2RldGFpbCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaW50ZWdlciBiYWRnZSBpZCB0byBkaXNwbGF5PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249IiIgLSBTcGVjaWZ5IHRoZSBiZWhhdmlvciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgo8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIGNoZWNraW5zLiAgVmFyaW91cyBwYXJhbWV0ZXJzIGNhbiBiZSB1c2VkIHRvIGZpbHRlciB0aGUgb3V0cHV0LCBhbmQgdG8gZWZmZWN0IHNvcnRpbmcgYW5kIHBhZ2luYXRpb24uPC9saT4KICA8bGk+YWRkY2hlY2tpbiAtIERpc3BsYXkgYSBmb3JtIHRvIGFsbG93IGEgZnJvbnRlbmQgdXNlciB0byBhZGQgb3IgZWRpdCBjaGVja2lucy48L2xpPgogIDxsaT5iYWRnZXMgLSBEaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIGFsbCBiYWRnZXMuICBBIGxpc3Qgb2YgdGhlIGxvZ2dlZCBpbiB1c2VycyBiYWRnZXMsIGFuZCB0aGUgZnJpZW5kcyBiYWRnZXMgaXMgYWxzbyBhdmFpbGFibGUuPC9saT4KICA8bGk+YmFkZ2VfZGV0YWlsIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIGJhZGdlLiAgQSBsaXN0IG9mIHRoZSBsb2dnZWQgaW4gdXNlcnMgYmFkZ2VzLCBhbmQgYSBkZXRhaWxlZCBsaXN0IG9mIHdoaWNoIGZyaWVuZCBoYXMgd2hpY2ggYmFkZ2UgaXMgYWxzbyBhdmFpbGFibGUuPC9saT4KICA8bGk+ZGV0YWlsIC0gRGlzcGxheSBhIGRldGFpbGVkIHJlcG9ydCBhYm91dCBhIHNpbmdsZSBjaGVja2luLjwvbGk+CiAgPGxpPmxpc3RfYWN0aXZpdGllcyAtIERpc3BsYXkgYSBuZXN0ZWQgbGlzdCBvZiBhY3Rpdml0aWVzLjwvbGk+CiAgPGxpPnZpZXdfYWN0aXZpdHkgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzcGVjaWZpYyBhY3Rpdml0eS48L2xpPgogIDxsaT5mcmllbmRyZXFsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgZnJpZW5kIHJlcXVlc3RzLCB3aXRoIGxpbmtzIGFsbG93aW5nIGFwcHJvdmluZyBvciByZWplY3RpbmcgdGhlbS4gIFJlcXVpcmVzIHRoZSB1c2VyIGJlIGxvZ2dlZCBpbiB0byBGRVUuPC9saT4KICA8bGk+ZnJpZW5kcmVxIC0gQ3JlYXRlcyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gY3JlYXRlIGEgZnJpZW5kIHJlcXVlc3QgdG8gYW5vdGhlciB1c2VyLiAgUmVxdWlyZXMgdGhhdCB0aGUgc2VuZGluZyB1c2VyIGJlIGxvZ2dlZCBpbiB0byBGRVUuICBBbHNvIHJlcXVpcmVzIHRoYXQgdGhlIHVzZXJpZCBvZiB0aGUgdG8gdXNlciBiZSBwcm92aWRlZCB0byB0aGUgYWN0aW9uLjwvbGk+CiAgPGxpPlNwZWNpYWwgQWN0aW9uczoKICAgIDxwPlRoZXNlIGFjdGlvbnMgcGVyZm9ybSBhIHNpbmdsZSBmdW5jdGlvbiBhbmQgdGhlbiB0cnkgdG8gcmV0dXJuIHRvIHRoZSBwYWdlIHRoZXkgd2VyZSBnZW5lcmF0ZWQgZnJvbS4gIFRoZXkgY2FuIHdvcmsgdmlhIGFqYXgKICAgICAgIG9yIHZpYSBkaXJlY3QgcmVxdWVzdCAoc2VlIHRoZSBzbWFydHkgcGx1Z2lucyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUgZm9yIHNtYXJ0eSBwbHVnaW5zIHRoYXQgY3JlYXRlIGxpbmtzIHRvIHRoZXNlIGFjdGlvbnMpLjwvcD4KICAgIDx1bD4KICAgIDxsaT50b2dnbGVmYXZvcml0ZSAtIFRvZ2dsZXMgYSBsb2NhdGlvbiBhcyBlaXRoZXIgYSBmYXZvcml0ZSwgb3Igbm90IGEgZmF2b3JpdGUuPC9saT4KICAgIDxsaT5hcHByb3ZlZnJpZW5kcmVxIC0gQXBwcm92ZXMgKG9yIGRlbmllcykgYSBmcmllbmQgcmVxdWVzdCBhbmQgcmV0dXJucyB0byBlaXRoZXIgdGhlIHByZXZpb3VzIFVSTCBvciBwcmV2aW91cyBjb250ZW50IHBhZ2UuPC9saT4KICAgIDxsaT5ybWZyaWVuZCAtIFJlbW92ZXMgYSBmcmllbmQgcmVsYXRpb25zaGlwIGFuZCByZXR1cm5zIHRvIGVpdGhlciB0aGUgcHJldmlvdXMgVVJMIG9yIHByZXZpb3VzIGNvbnRlbnQgcGFnZS48L2xpPgogICAgPGxpPnJtZnJpZW5kcmVxIC0gUmVtb3ZlcyBhIGZyaWVuZCByZXF1ZXN0IGFuZCByZXR1cm5zIHRvIGVpdGhlciB0aGUgcHJldmlvdXMgVVJMIG9yIHByZXZpb3VzIGNvbnRlbnQgcGFnZS48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbG9jYXRpb249IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFuZCBhZGRjaGVja2luIGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGhhcyB0d28gYmVoYXZpb3JzLiAgRm9yIHRoZSBkZWZhdWx0IGFjdGlvbiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGxpbWl0IHRoZSByZXN1bHRzIHRvIGEgc3BlY2lmaWMgbG9jYXRpb24uICBJbiB0aGUgYWRkY2hlY2tpbiBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQsIGFuZCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIHRoYXQgdGhlIGNoZWNraW4gaXMgYmVpbmcgY3JlYXRlZCBmb3IuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpdml0eT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgPGVtPmRlZmF1bHQ8ZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGltaXQgdGhlIGNoZWNraW4gcmVzdWx0cyB0byBhIHNwZWNpZmljIGFjdGl2aXR5PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpdml0eXBhcmVudD0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgPGVtPmRlZmF1bHQ8ZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGltaXQgdGhlIGNoZWNraW4gcmVzdWx0cyB0byBhIHNwZWNpZmljIGFjdGl2aXR5IGFuZCBpdHMgY2hpbGRyZW4uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0aW1lbGltaXQ9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBsaW1pdCB0aGUgY2hlY2tpbiByZXN1bHRzIHRvIGEgc3BlY2lmaWMgdGltZSByYW5nZS4gIEEgcG9zaXRpdmUgIHZhbHVlIHNwZWNpZmllcyBhbiBhYnNvbHV0ZSB1bml4IHRpbWVzdGFtcC4gIEEgbmVnYXRpdmUgdmFsdWUgaW5kaWNhdGVzIHNlY29uZHMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdGltZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG93bmVyPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGltaXQgdGhlIHJlc3VsdHMgdG8gYSBzcGVjaWZpYyBpbnRlZ2VyIG93bmVyIGlkPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvd25lcnM9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgYWN0aW9uIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGxpaXQgdGhlIHJlc3VsdHMgdG8gdGhlIHNwZWNpZmllZCBpbnRlZ2VyIG93bmVyIGlkcy4gIFRoaXMgcGFyYW1ldGVyIGFjY2VwdHMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBpbnRlZ2VyIG93bmVyIGlkcyBvciBhbiBhcnJheSBvZiBpbnRlZ2VyczwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGltaXQ9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBsaW1pdCB0aGUgcmVzdWx0cyB0byBhIHNwZWNpZmllZCBudW1iZXI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9mZnNldD0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbmJlIHVzZWQgZm9yIHBhZ2luYXRpb24gdG8gc3BlY2lmeSB0aGUgc3RhcnQgb2Zmc2V0IG9mIG1hdGNoZXMgdG8gcmV0dXJuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0Ynk9ImNyZWF0ZWQiIC0gU3BlY2lmeSBhIGRpZmZlcmVudCBzb3J0aW5nIHRvIHRoZSBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBpZCwgcGFyZW50X2lkLCBvd25lciwgbG9jYXRpb24sIGFjdGl2aXR5LCBjcmVhdGVkIChkZWZhdWx0KTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc29ydG9yZGVyPSJERVNDIiAtIFNwZWNpZnkgYSBkaWZmZXJlbnQgc29ydCBvcmRlci4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgYXNjLCBhbmQgZGVzYzwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBkZWZhdWx0LCBhbmQgdmlld19hY3Rpdml0eSBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoZSBhcHByb3ByaWF0ZSB0eXBlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGlzdF90ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgbGlzdF9hY3Rpdml0aWVzIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3RhcnQ9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGxpc3RfYWN0aXZpdGllcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBuYW1lIG9mIGEgc3RhcnQgYWN0aXZpdHk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG1zZ3JlcXVpcmVkPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgYWRkY2hlY2tpbiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIG1lc3NhZ2UgZmllbGQgaXMgYSByZXF1aXJlZCBmaWVsZDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY29vcmRzcmVxdWlyZWQ9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBhZGRjaGVja2luIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgY29vcmRpbmF0ZXMgPGVtPihsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlKTwvZW0+IG11c3QgYmUgcHJvdmlkZWQgYmVmb3JlIHRoZSBjaGVja2luIGNhbiBiZSBzYXZlZC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vcmVkaXJlY3Q9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBzcGVjaWFsIGFjdGlvbnMgKGxpc3RlZCBhYm92ZSkgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgdGhlIHVzZXIgc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIHRvIHRoZSBjb250ZW50IHBhZ2UgYWZ0ZXIgdGhlIGFjdGlvbiBpcyBjb21wbGV0ZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVzZXI9IiIgLSBBcHBsaWNhYmxlIHRvIG51bWVyb3VzIGFjdGlvbnMgKGZyaWVuZHJlcSxhcHByb3ZlZnJpZW5kcmVxLHJtZnJpZW5kcmVxKSBzcGVjaWZpZXMgdGhlIHVzZXIgdGhhdCB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlciB3YW50cyB0byBjb21tdW5pY2F0ZSB3aXRoIG9yIGVmZmVjdDwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMy4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgogIDxsaT5WZXJzaW9uIDEuMCAtIEluaXRpYWwgUmVsZWFzZS48L2xpPgogIDxsaT5WZXJzaW9uIDEuMgogICAgPHVsPgogICAgICA8bGk+RW5oYW5jZWQgZG9jdW1lbnRhdGlvbi48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgRkFWT1JJVEVTIGFwaSB0byBhbGxvdyB1c2VycyB0byBtYWludGFpbiBhIGxpc3Qgb2YgZmF2b3JpdGUgbG9jYXRpb25zLjwvbGk+CiAgICAgIDxsaT5BZGRzIHRoZSBGQVZPUklURVMgZnVuY3Rpb24gdG8gdGhlIExPQ0FUSU9OUyBBUEkgdG8gYWxsb3cgcmV0cmlldmluZyBhIGxpc3Qgb2YgdGhlIHVzZXJzIGZhdm9yaXRlIGxvY2F0aW9ucy48L2xpPgogICAgICA8bGk+TW9kaWZpZXMgdGhlIExPQ0FUSU9OUyBhcGkgdG8gYWxsb3cgc29ydGluZyBsb2NhdGlvbnMgYnkgdGhlIG1vc3QgbnVtYmVyIG9mIGNoZWNraW5zIChNT1NUQ0hFQ0tJTlMpPC9saT4KICAgICAgPGxpPk1vZGlmaWVzIHRoZSBMT0NBVElPTlMgYXBpIHRvIGFsbG93IHNvcnRpbmcgbG9jYXRpb25zIGJ5IHRoZSBtb3N0IG51bWJlciBvZiBmYXZvcml0ZXMgKE1PU1RGQVZPUklURVMpPC9saT4KICAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIGxvY2F0aW9ucyBieSBhY3Rpdml0eS48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBvbiB0aGUgZnJvbnRlbmQgdG8gY3JlYXRlIGFuZCByZW1vdmUgYSBmcmllbmQgcmVxdWVzdC48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBvbiB0aGUgZnJvbnRlbmQgdG8gYXBwcm92ZSBhbmQgcmVqZWN0IGZyaWVuZCByZXF1ZXN0cy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[A module for enabling a mobile social site]]></description>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.21.14</requiredversion>
	</requires>
	<requires>
	  <requiredname>CompanyDirectory</requiredname>
	  <requiredversion>1.18.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.32.6</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.5</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGJobMgr</requiredname>
	  <requiredversion>1.2.7</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGFavs</requiredname>
	  <requiredversion>1.0.5</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.activities.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gc3R1YiBmaWxlLgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.addcheckin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CiRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0ZST05URU5EVVNFUlMpOwppZiggISRmZXUgKSByZXR1cm47IC8vIG5vIGZldQppZiggIWlzc2V0KCRwYXJhbXNbJ2xvY2F0aW9uJ10pICkgcmV0dXJuOwokdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOyAKJGVycm9yID0gJyc7CiRtZXNzYWdlID0gJyc7CiRsb2NhdGlvbl9pZCA9IChpbnQpJHBhcmFtc1snbG9jYXRpb24nXTsKJGNkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DT01QQU5ZRElSRUNUT1JZKTsKJGNvbXBhbnkgPSBjZF91dGlsczo6Z2V0X2NvbXBhbnkoJGxvY2F0aW9uX2lkLCcnLFRSVUUpOwppZiggIWlzX29iamVjdCgkY29tcGFueSkgfHwgJGNvbXBhbnktPnN0YXR1cyAhPSAncHVibGlzaGVkJyApIHJldHVybjsKJGFjdGl2aXRpZXMgPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2FsbF9hc19kcm9wZG93bigpOwokYWN0aXZpdGllcyA9IGFycmF5X21lcmdlKGFycmF5KC0xPT4kdGhpcy0+TGFuZygnbm9uZScpKSwkYWN0aXZpdGllcyk7CgovLyBwYXN0IGhlcmUsIHdlIGNhbiBkaXNwbGF5IHNvbWV0aGluZy4KaWYoICR1aWQgPCAxICkgJGVycm9yID0gJHRoaXMtPkxhbmcoJ21zZ19ub3Rsb2dnZWRpbicpOwoKaWYoICEkZXJyb3IgJiYgaXNzZXQoJHBhcmFtc1snY2dzX2NoZWNraW4nXSkgKSB7CiAgdHJ5IHsKICAgIC8vIHZhbGlkYXRlIGFuZCBjbGVhbiBkYXRhCiAgICAkbXNnID0gJyc7CiAgICAkbGF0ID0gJyc7CiAgICAkbG9uZyA9ICcnOwogICAgJGFjdGl2aXR5ID0gJyc7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snY2dzX21zZyddKSApIHsKICAgICAgJG1zZyA9IHRyaW0oc3RyaXBfdGFncyhjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ2Nnc19tc2cnXSkpKTsKICAgICAgJG1zZyA9IHN1YnN0cigkbXNnLDAsMjU1KTsKICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydjZ3NfbGF0J10pICkgewogICAgICAkbGF0ID0gKGZsb2F0KSRwYXJhbXNbJ2Nnc19sYXQnXTsKICAgICAgJGxvbmcgPSAoZmxvYXQpJHBhcmFtc1snY2dzX2xvbmcnXTsKICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydjZ3NfYWN0aXZpdHknXSkgKSAkYWN0aXZpdHkgPSAoaW50KSRwYXJhbXNbJ2Nnc19hY3Rpdml0eSddOwoKICAgIGlmKCAkbXNnID09ICcnICYmIGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnbXNncmVxdWlyZWQnLDApICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9tZXNzYWdlcmVxdWlyZWQnKSk7CiAgICB9CgogICAgaWYoICgkbGF0ID09ICcnIHx8ICRsb25nID09ICcnKSAmJiAKCWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY29vcmRzcmVxdWlyZWQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2NhdGlvbnJlcXVpcmVkJywwKSkgKSB7CiAgICAgIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2Nvb3Jkc3JlcXVpcmVkJykpOwogICAgfQoKICAgIGlmKCAoJHRtcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGVja2lucmF0ZWxpbWl0aW5nJykpICkgewogICAgICAvLyBkbyByYXRlIGxpbWl0aW5nCiAgICAgICRybCA9IGV4cGxvZGUoJywnLCR0bXApOwogICAgICBpZiggaW5fYXJyYXkoJ2J5bG9jYXRpb24nLCRybCkgJiYgCgkgICgkcmFkID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tpbnJhdGVsaW1pdGluZ19ieWxvY2F0aW9uJykpICkgewoJaWYoICRsYXQgPT0gJycgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9jb29yZHNyZXF1aXJlZCcpKTsKCglpZiggJHJhZCA+IDAgKSB7CgkgICAgLy8gcmF0ZWxpbWl0aW5nIGJ5IHJhZGl1cyAoaW4gbWlsZXMpCQkgICAgCgkgICAgLy8gZ2V0IHRoZSBsb2NhdGlvbiBpbmZvcm1hdGlvbiBvZiB0aGlzIGNvbXBhbnkuCgkgICAgaWYoICEkY29tcGFueS0+bGF0aXR1ZGUgfHwgISRjb21wYW55LT5sb25naXR1ZGUgKQoJICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9sb2NhdGlvbmNvb3JkcycpKTsKCgkgICAgJGxhdDEgPSAkY29tcGFueS0+bGF0aXR1ZGU7CgkgICAgJGxhdDIgPSAkbGF0OwoJICAgICRsb24xID0gJGNvbXBhbnktPmxvbmdpdHVkZTsKCSAgICAkbG9uMiA9ICRsb25nOwoKCSAgICAkdGhldGEgPSAkbG9uMSAtICRsb24yOwoJICAgICRkaXN0ID0gc2luKGRlZzJyYWQoJGxhdDEpKSAqIHNpbihkZWcycmFkKCRsYXQyKSkgKyAgY29zKGRlZzJyYWQoJGxhdDEpKSAqIGNvcyhkZWcycmFkKCRsYXQyKSkgKiBjb3MoZGVnMnJhZCgkdGhldGEpKTsgCgkgICAgJGRpc3QgPSBhY29zKCRkaXN0KTsgCgkgICAgJGRpc3QgPSByYWQyZGVnKCRkaXN0KTsgCgkgICAgJG1pbGVzID0gJGRpc3QgKiA2MCAqIDEuMTUxNTsKCgkgICAgaWYoICRtaWxlcyA+ICRyYWQgKQoJICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfY2hlY2tpbmRpc3RhbmNlJykpOwoJICB9CiAgICAgIH0KCiAgICAgIGlmKCBpbl9hcnJheSgnYnl0aW1lJywkcmwpICYmIAoJICAoJHRsID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tpbnJhdGVsaW1pdGluZ19ieXRpbWUnLDEwKSkgPiAwICkgewoJLy8gcmF0ZSBsaW1pdGluZyBieSB0aW1lIGxpbWl0LgoJLy8gZ2V0IHRoZSBsYXN0IGNoZWNraW4gYnkgdGhpcyB1c2VyLgoJLy8gYW5kIGdldCBpdHMgY3JlYXRlZCB0aW1lLgoJJG9jaGVja2luID0gY2dzYV9jaGVja2luOjpsb2FkX2J5X3VzZXIoJHVpZCwxKTsKCWlmKCBpc19vYmplY3QoJG9jaGVja2luKSApIHsKCSAgJG5vdyA9IHRpbWUoKTsKCSAgaWYoICRub3cgLSAkb2NoZWNraW4tPmNyZWF0ZWQgPCAoJHRsICogNjApICkgewoJICAgICRyZW0gPSBjZWlsKCR0bCAtICgkbm93IC0gJG9jaGVja2luLT5jcmVhdGVkKS82MCk7CgkgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2hlY2tpbiBmYWlsZWQuLi4gcGxlYXNlIHRyeSBhZ2FpbiBpbiAnLiRyZW0uJyBtaW51dGVzJyk7CgkgIH0KCX0KICAgICAgfQogICAgfQoKICAgIC8vIGNyZWF0ZSB0aGUgY2hlY2tpbgogICAgLy8gYW5kIHNhdmUgaXQuCiAgICAkY2hlY2tpbiA9IG5ldyBjZ3NhX2NoZWNraW47CiAgICAkY2hlY2tpbi0+b3duZXIgPSAkdWlkOwogICAgJGNoZWNraW4tPmxvY2F0aW9uID0gJGxvY2F0aW9uX2lkOwogICAgJGNoZWNraW4tPmFjdGl2aXR5ID0gJGFjdGl2aXR5OwogICAgJGNoZWNraW4tPnBhcmVudF9pZCA9IC0xOwogICAgJGNoZWNraW4tPm1zZyA9ICRtc2c7CiAgICAkY2hlY2tpbi0+bGF0ID0gJGxhdDsKICAgICRjaGVja2luLT5sbmcgPSAkbG9uZzsKICAgICRjaGVja2luLT5hcHByb3ZlZCA9IDA7CiAgICBpZiggIWNnc2FfdXRpbHM6OmlzX2NoZWNraW5fYXBwcm92YWxfcmVxdWlyZWQoJGNoZWNraW4tPmxvY2F0aW9uKSApIHsKICAgICAgJGNoZWNraW4tPmFwcHJvdmVkID0gMTsKICAgIH0KCiAgICAkZGF0YSA9IG51bGw7CiAgICBpZiggaXNzZXQoJF9GSUxFUykgJiYgaXNfYXJyYXkoJF9GSUxFUykgJiYgY291bnQoJF9GSUxFUykgKSB7CiAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdfJy4kdGhpcy0+R2V0TmFtZSgpKTsKICAgICAgQG1rZGlyKCRkZXN0ZGlyKTsKCiAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJF9GSUxFUyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCWlmKCBpc19hcnJheSgkX0ZJTEVTWyRrZXldWyduYW1lJ10pICkgewoJICAkbiA9IGNvdW50KCRfRklMRVNbJGtleV1bJ25hbWUnXSk7CgkgIGZvciggJGkgPSAwOyAkaSA8ICRuOyAkaSsrICkgewoJICAgIGlmKCAkX0ZJTEVTWyRrZXldWyduYW1lJ11bJGldID09ICcnICkgY29udGludWU7CgkgICAgJGhhbmRsZXIgPSBjZ2Vfc2V0dXA6OmdldF91cGxvYWRlcignJywkZGVzdGRpcik7CgkgICAgJGZpbGVuYW1lID0gY2dzYV91dGlsczo6Z2V0X3VuaXF1ZV9maWxlbmFtZSgkY2hlY2tpbi0+b2JpZCk7CgkgICAgJHJlcyA9ICRoYW5kbGVyLT5oYW5kbGVfdXBsb2FkKCRrZXksJGZpbGVuYW1lLCRpKTsKCSAgICAkZXJyID0gJGhhbmRsZXItPmdldF9lcnJvcigpOwoJICAgIGlmKCAhJHJlcyAmJiAkZXJyICE9IGNnX2ZpbGV1cGxvYWQ6Ok5PRklMRSApIHsKCSAgICAgIGRpZSgnZXJyb3IgJy4kZXJyKTsKCSAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1VwbG9hZCBFcnJvciAnLiRoYW5kbGVyLT5nZXRfZXJyb3Jtc2coKSk7CgkgICAgfQoJICAgICRkYXRhW10gPSAkcmVzOwoJICB9Cgl9CgllbHNlIHsKCSAgJGhhbmRsZXIgPSBjZ2Vfc2V0dXA6OmdldF91cGxvYWRlcignJywkZGVzdGRpcik7CgkgICRmaWxlbmFtZSA9IGNnc2FfdXRpbHM6OmdldF91bmlxdWVfZmlsZW5hbWUoJGNoZWNraW4tPm9iaWQpOwoJICAkcmVzID0gJGhhbmRsZXItPmhhbmRsZV91cGxvYWQoJGtleSwkZmlsZW5hbWUpOwoJICAkZXJyID0gJGhhbmRsZXItPmdldF9lcnJvcigpOwoJICBpZiggISRyZXMgJiYgJGVyciAhPSBjZ19maWxldXBsb2FkOjpOT0ZJTEUgKQoJICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1VwbG9hZCBFcnJvciAnLiRoYW5kbGVyLT5nZXRfZXJyb3Jtc2coKSk7CgkgICRkYXRhW10gPSAkcmVzOwoJfQogICAgICB9CiAgICB9CiAgICBpZiggY291bnQoJGRhdGEpICkgJGNoZWNraW4tPmV4dHJhX2ZpbGVzID0gJGRhdGE7CiAgICAkcmVzID0gJGNoZWNraW4tPnNhdmUoKTsKCiAgICAvLyBoYW5kbGUgYW55IGxlYWRlcmJvYXJkcyB0aGF0IG5lZWQgdG8gYmUgdXBkYXRlZC4KICAgICR0aGlzLT5VcGRhdGVMZWFkZXJib2FyZHMoJGNoZWNraW4pOwoKICAgIC8vIHNlbmQgYW4gZXZlbnQKICAgIGNnc2FfdXRpbHM6OnNlbmRfZXZlbnQoJ09uQ2hlY2tpbicsYXJyYXkoJ2NoZWNraW4nPT4kY2hlY2tpbikpOwoKICAgIC8vIGlmIHdlIGdvdCBoZXJlLCBldmVyeXRoaW5nIGlzIGdvbGRlbi4KICAgICRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ21zZ19jaGVja2luc3VjY2VzcycpOwogIH0KICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgJGVycm9yID0gJGUtPkdldE1lc3NhZ2UoKTsKICB9Cn0KCiR0cGxuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfYWRkX2NoZWNraW5fdGVtcGxhdGUnKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgJHRwbG5hbWUgPSB0cmltKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwppZiggISR0cGxuYW1lICkgcmV0dXJuOwoKJHRwbCA9ICRzbWFydHktPmNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCdhZGRfY2hlY2tpbicuJHRwbG5hbWUpKTsKaWYoICRtZXNzYWdlICE9ICcnICkgewogICR0cGwtPmFzc2lnbignbWVzc2FnZScsJG1lc3NhZ2UpOwp9CiR0cGwtPmFzc2lnbigncmV0dXJuaWQnLCRyZXR1cm5pZCk7CiR0cGwtPmFzc2lnbignbW9kJywkdGhpcyk7CiR0cGwtPmFzc2lnbignYWN0aW9uaWQnLCRpZCk7CiR0cGwtPmFzc2lnbignZXJyb3InLCRlcnJvcik7CiR0cGwtPmFzc2lnbignbG9jYXRpb25faWQnLCRsb2NhdGlvbl9pZCk7CiR0cGwtPmFzc2lnbignbG9jYXRpb24nLCRjb21wYW55KTsKJHRwbC0+YXNzaWduKCdhY3Rpdml0aWVzJywkYWN0aXZpdGllcyk7CmlmKCAhJGVycm9yICYmICEkbWVzc2FnZSApIHsKICAkdHBsLT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRkY2hlY2tpbicsJHJldHVybmlkLCRwYXJhbXMpKTsKICAkdHBsLT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwp9CmVjaG8gJHRwbC0+ZmV0Y2goKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_addactivity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCi8vCi8vIGluaXRpYWxpemF0aW9uCi8vCiRhY3Rpdml0eSA9IG5ldyBjZ3NhX2FjdGl2aXR5OwokdGhpcy0+U2V0Q3VycmVudFRhYignYWN0aXZpdGllcycpOwoKLy8KLy8gc2V0dXAKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2FjdGlkJ10pICkgewogICRhY3Rpdml0eSA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYnlfaWQoKGludCkkcGFyYW1zWydhY3RpZCddKTsKICBpZiggISRhY3Rpdml0eSApIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfYWN0aXZpdHlub3Rmb3VuZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQp9CgovLwovLyBoYW5kbGUgZm9ybSBkYXRhCi8vCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogIGlmKCBpc3NldCgkcGFyYW1zWyduYW1lJ10pICkgJGFjdGl2aXR5LT5uYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOwogIGlmKCBpc3NldCgkcGFyYW1zWydkZXNjcmlwdGlvbiddKSApICRhY3Rpdml0eS0+ZGVzY3JpcHRpb24gPSB0cmltKCRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10pOwogIGlmKCBpc3NldCgkcGFyYW1zWydwYXJlbnRfaWQnXSkgKSAkYWN0aXZpdHktPnBhcmVudF9pZCA9IChpbnQpJHBhcmFtc1sncGFyZW50X2lkJ107CgogIHRyeSB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snZGVsZXRlX2ltYWdlJ10pICkgJGFjdGl2aXR5LT5kZWxldGVfZmlsZXMoKTsKICAgICRyZXMgPSAkYWN0aXZpdHktPnNhdmUoKTsgLy8gdGhpcyB3aWxsIGdpdmUgdXMgYW4gaWQgaWYgbm90IGFscmVhZHkgc2V0LgoKICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwnXycuJHRoaXMtPkdldE5hbWUoKSwnYWN0aXZpdGllcycsJGFjdGl2aXR5LT5pZCk7CiAgICAkaGFuZGxlciA9IGNnZV9zZXR1cDo6Z2V0X3VwbG9hZGVyKCRpZCwkZGVzdGRpcik7CiAgICAkaGFuZGxlci0+c2V0X2FsbG93X292ZXJ3cml0ZShUUlVFKTsKCiAgICBpZiggJGhhbmRsZXItPmNoZWNrX3VwbG9hZCgnaW1hZ2UnLCcnLEZBTFNFKSApIHsKICAgICAgY2dlX2Rpcjo6bWtkaXJyKCRkZXN0ZGlyKTsKICAgICAgJHJlcyA9ICRoYW5kbGVyLT5oYW5kbGVfdXBsb2FkKCdpbWFnZScpOwogICAgICAkZXJyID0gJGhhbmRsZXItPmdldF9lcnJvcigpOwoKICAgICAgaWYoICEkcmVzICYmICRlcnIgIT0gY2dfZmlsZXVwbG9hZDo6Tk9GSUxFICkgewoJLy8gdXBsb2FkIGRpZS4KCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfdXBsb2FkJykpOwoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICAgICAgfQogICAgICBpZiggJHJlcyApIHsKCSRhY3Rpdml0eS0+ZGVsZXRlX2ZpbGVzKCk7CgoJLy8gZmlsZSB1cGxvYWRlZCwgc2F2ZSBhZ2Fpbi4KCSRhY3Rpdml0eS0+aW1hZ2UgPSBiYXNlbmFtZSgkcmVzKTsKCSRhY3Rpdml0eS0+c2F2ZSgpOwogICAgICB9CiAgICB9CgogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19zdWNjZXNzJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiAgY2F0Y2goRXhjZXB0aW9uICRlKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5nZXRNZXNzYWdlKCkpOwogIH0KfQoKLy8gCi8vIGdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKLy8KJGRyb3Bkb3duID0gY2dzYV9hY3Rpdml0eTo6bG9hZF9hbGxfYXNfZHJvcGRvd24oKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2FkZGFjdGl2aXR5JywkcmV0dXJuaWQsJHBhcmFtcyxmYWxzZSwncG9zdCcsCgkJCQkJCSAgICAgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmlmKCBpc19hcnJheSgkZHJvcGRvd24pICYmIGNvdW50KCRkcm9wZG93bikgKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdhY3Rpdml0aWVzJywkZHJvcGRvd24pOwp9CiRzbWFydHktPmFzc2lnbignYWN0aXZpdHknLCRhY3Rpdml0eSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FkZGFjdGl2aXR5LnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_addedit_badge.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTIgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKENHU29jaWFsQXBwOjpQRVJNSVNTSU9OKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1snbGVhZGVyYm9hcmQnXSkgKSByZXR1cm47CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdvcGVyYXRpb25fY2FuY2VsbGVkJykpOwogICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkbWluX2xpc3RiYWRnZXMnLCcnLGFycmF5KCdsZWFkZXJib2FyZCc9PiRwYXJhbXNbJ2xlYWRlcmJvYXJkJ10pKTsKfQoKJGxlYWRlcmJvYXJkID0gY2dzYV9sZWFkZXJib2FyZDo6bG9hZF9ieV9pZCgoaW50KSRwYXJhbXNbJ2xlYWRlcmJvYXJkJ10pOwppZiggIWlzX29iamVjdCgkbGVhZGVyYm9hcmQpICkgcmV0dXJuOwokYmFkZ2UgPSBuZXcgY2dzYV9iYWRnZTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2JhZGdlJ10pICkgewogICRiYWRnZSA9IGNnc2FfYmFkZ2U6OmxvYWRfYnlfaWQoJHBhcmFtc1snYmFkZ2UnXSk7Cn0KCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgJHBhcm1zID0gJHBhcmFtczsKICAkcGFybXNbJ2xlYWRlcmJvYXJkX2lkJ10gPSAkcGFybXNbJ2xlYWRlcmJvYXJkJ107CiAgdW5zZXQoJHBhcm1zWydsZWFkZXJib2FyZCddKTsKICAkcGFybXNbJ2lkJ10gPSAtMTsKICAkbmV3YmFkZ2UgPSAxOwogIGlmKCBpc3NldCgkcGFybXNbJ2JhZGdlJ10pICkgewogICAgJG5ld2JhZGdlID0gMDsKICAgICRwYXJtc1snaWQnXSA9ICRwYXJtc1snYmFkZ2UnXTsKICAgIHVuc2V0KCRwYXJtc1snYmFkZ2UnXSk7CiAgfQogIHVuc2V0KCRwYXJtc1snc3VibWl0J10pOwogIHVuc2V0KCRwYXJtc1snYWN0aW9uJ10pOwogIHVuc2V0KCRwYXJtc1snZGVsZXRlX2ltYWdlJ10pOwoKICB0cnkgewogICAgZm9yZWFjaCggJHBhcm1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICAkYmFkZ2UtPiRrZXkgPSAkdmFsdWU7CiAgICB9CgogICAgaWYoICRiYWRnZS0+aWQgPiAwICkgewogICAgICAkZGlyID0gY2dzYV91dGlsczo6Z2V0X2JhZGdlX2ZpbGVwYXRoKCRiYWRnZSk7CiAgICAgICR1cGxvYWRlciA9IGNnZV9zZXR1cDo6Z2V0X3VwbG9hZGVyKCRpZCwkZGlyKTsKICAgICAgaWYoICR1cGxvYWRlci0+Y2hlY2tfdXBsb2FkX2F0dGVtcHRlZCgnaW1hZ2UnKSAmJiAkbGVhZGVyYm9hcmQtPmltYWdlICE9ICcnICkgewoJLy8gd2UncmUgdXBsb2FkaW5nIGFub3RoZXIgaW1hZ2UsIGRlbGV0ZSB0aGUgZmlyc3Qgb25lLgoJJHBhcmFtc1snZGVsZXRlX2ltYWdlJ10gPSAxOwogICAgICB9CgogICAgICBpZiggaXNzZXQoJHBhcmFtc1snZGVsZXRlX2ltYWdlJ10pICYmICRsZWFkZXJib2FyZC0+aW1hZ2UgIT0gJycpIHsKCS8vIGRlbGV0ZSBpbWFnZSBjaGVja2JveCB3YXMgY2hlY2tlZC4KCXVuc2V0KCRwYXJhbXNbJ2RlbGV0ZV9pbWFnZSddKTsKCWNnc2FfdXRpbHM6OmRlbGV0ZV9pbWFnZSgkZGlyLCRiYWRnZS0+aW1hZ2UpOwoJJGJhZGdlLT5pbWFnZSA9ICcnOwogICAgICB9CgogICAgICAvLyBoYW5kbGUgdXBsb2FkZWQgZmlsZS4KICAgICAgaWYoICR1cGxvYWRlci0+Y2hlY2tfdXBsb2FkX2F0dGVtcHRlZCgnaW1hZ2UnKSApIHsKCS8vIHdlJ3JlIHVwbG9hZGluZyBhIGZpbGUuCglAbWtkaXIoJGRpciwwNzc3LFRSVUUpOwoJJHJlcyA9ICR1cGxvYWRlci0+aGFuZGxlX3VwbG9hZCgnaW1hZ2UnKTsKCWlmKCAhJHJlcyApIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJHRoaXMtPkdldFVwbG9hZEVycm9yTWVzc2FnZSgkdXBsb2FkZXItPmdldF9lcnJvcigpKSk7CgkkYmFkZ2UtPmltYWdlID0gJHJlczsKICAgICAgfQogICAgfQoKICAgICRiYWRnZS0+c2F2ZSgpOwogICAgaWYoICRuZXdiYWRnZSApIHsKICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19iYWRnZWNyZWF0ZWQnKSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19iYWRnZXVwZGF0ZWQnKSk7CiAgICB9CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdhZG1pbl9saXN0YmFkZ2VzJywnJyxhcnJheSgnbGVhZGVyYm9hcmQnPT4kcGFyYW1zWydsZWFkZXJib2FyZCddKSk7CiAgfQogIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5HZXRNZXNzYWdlKCkpOwogIH0KfQoKJHRvX29wdHMgPSBhcnJheSgpOwokdG9fb3B0c1snYWRtaW4nXSA9ICR0aGlzLT5MYW5nKCdsYmxfbm90aWZ5X2RlZmF1bHRfcHJvZmlsZScpOwokdG9fb3B0c1sndXNlciddID0gJHRoaXMtPkxhbmcoJ2xibF9ub3RpZnlfdXNlcl9wcm9maWxlJyk7CiRzbWFydHktPmFzc2lnbigndG9fb3B0cycsJHRvX29wdHMpOwoKJHByaW9yaXRpZXMgPSBhcnJheSgpOwokcHJpb3JpdGllc1stMV0gPSAkdGhpcy0+TGFuZygnb2ZmJyk7CiRwcmlvcml0aWVzW25vdGlmaWNhdGlvbl9tZXNzYWdlOjpQUklPUklUWV9ISUdIXSA9ICR0aGlzLT5MYW5nKCdoaWdoJyk7CiRwcmlvcml0aWVzW25vdGlmaWNhdGlvbl9tZXNzYWdlOjpQUklPUklUWV9OT1JNQUxdID0gJHRoaXMtPkxhbmcoJ25vcm1hbCcpOwokcHJpb3JpdGllc1tub3RpZmljYXRpb25fbWVzc2FnZTo6UFJJT1JJVFlfTE9XXSA9ICR0aGlzLT5MYW5nKCdsb3cnKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmlvcml0aWVzJywkcHJpb3JpdGllcyk7CgokcGFybXMgPSBhcnJheSgnbGVhZGVyYm9hcmQnPT4kcGFyYW1zWydsZWFkZXJib2FyZCddKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2JhZGdlJ10pICkgJHBhcm1zWydiYWRnZSddID0gJHBhcmFtc1snYmFkZ2UnXTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2FkZGVkaXRfYmFkZ2UnLCcnLCRwYXJtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2xlYWRlcmJvYXJkJywkbGVhZGVyYm9hcmQpOwokc21hcnR5LT5hc3NpZ24oJ2JhZGdlJywkYmFkZ2UpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FkZGVkaXRfYmFkZ2UudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_addedit_leaderboard.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihDR1NvY2lhbEFwcDo6UEVSTUlTU0lPTikgKSBleGl0OwoKLy8KLy8gaW5pdGlhbGl6YXRpb24KLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2xlYWRlcmJvYXJkcycpOwppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KJGxlYWRlcmJvYXJkID0gbmV3IGNnc2FfbGVhZGVyYm9hcmQoKTsKaWYoICFpc3NldCgkcGFyYW1zWydsZWFkZXJib2FyZCddKSB8fCAkcGFyYW1zWydsZWFkZXJib2FyZCddID09ICcnICkgewogICRwYXJhbXNbJ2xlYWRlcmJvYXJkJ10gPSAtMTsKfQplbHNlIGlmKCAkcGFyYW1zWydsZWFkZXJib2FyZCddID4gMCApIHsKICAkbGVhZGVyYm9hcmQgPSBjZ3NhX2xlYWRlcmJvYXJkOjpsb2FkX2J5X2lkKCRwYXJhbXNbJ2xlYWRlcmJvYXJkJ10pOwp9CgppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogIHRyeSB7CiAgICAkZGF0YSA9ICRwYXJhbXM7CiAgICB1bnNldCgkZGF0YVsnc3VibWl0J10pOwogICAgdW5zZXQoJGRhdGFbJ2FjdGlvbiddKTsKICAgIHVuc2V0KCRkYXRhWydsZWFkZXJib2FyZCddKTsKICAgIHVuc2V0KCRkYXRhWydkZWxldGVfaW1hZ2UnXSk7CiAgICAkZGF0YVsnaWQnXSA9ICRwYXJhbXNbJ2xlYWRlcmJvYXJkJ107CgogICAgJGRpciA9IGNnc2FfdXRpbHM6OmdldF9sZWFkZXJib2FyZF9maWxlcGF0aCgpOwogICAgJHVwbG9hZGVyID0gY2dlX3NldHVwOjpnZXRfdXBsb2FkZXIoJGlkLCRkaXIpOwogICAgaWYoICR1cGxvYWRlci0+Y2hlY2tfdXBsb2FkX2F0dGVtcHRlZCgnaW1hZ2UnKSAmJiAkbGVhZGVyYm9hcmQtPmltYWdlICE9ICcnICkgewogICAgICAvLyB3ZSdyZSB1cGxvYWRpbmcgYW5vdGhlciBpbWFnZSwgZGVsZXRlIHRoZSBmaXJzdCBvbmUuCiAgICAgICRwYXJhbXNbJ2RlbGV0ZV9pbWFnZSddID0gMTsKICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snZGVsZXRlX2ltYWdlJ10pICYmICRsZWFkZXJib2FyZC0+aW1hZ2UgIT0gJycpIHsKICAgICAgLy8gZGVsZXRlIGltYWdlIGNoZWNrYm94IHdhcyBjaGVja2VkLgogICAgICB1bnNldCgkcGFyYW1zWydkZWxldGVfaW1hZ2UnXSk7CiAgICAgIGNnc2FfdXRpbHM6OmRlbGV0ZV9pbWFnZSgkZGlyLCRsZWFkZXJib2FyZC0+aW1hZ2UpOwogICAgICAkbGVhZGVyYm9hcmQtPmltYWdlID0gJyc7CiAgICB9CgogICAgJGxlYWRlcmJvYXJkID0gY2dzYV9sZWFkZXJib2FyZDo6bG9hZF9mcm9tX2RhdGEoJGRhdGEpOwoKICAgIC8vIGhhbmRsZSB1cGxvYWRlZCBmaWxlLgogICAgJHVwbG9hZGVyID0gY2dlX3NldHVwOjpnZXRfdXBsb2FkZXIoJGlkLCRkaXIpOwogICAgaWYoICR1cGxvYWRlci0+Y2hlY2tfdXBsb2FkX2F0dGVtcHRlZCgnaW1hZ2UnKSApIHsKICAgICAgLy8gd2UncmUgdXBsb2FkaW5nIGEgZmlsZS4KICAgICAgQG1rZGlyKCRkaXIsMDc3NyxUUlVFKTsKICAgICAgJHJlcyA9ICR1cGxvYWRlci0+aGFuZGxlX3VwbG9hZCgnaW1hZ2UnKTsKICAgICAgaWYoICEkcmVzICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbigkdGhpcy0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCR1cGxvYWRlci0+Z2V0X2Vycm9yKCkpKTsKICAgICAgJGxlYWRlcmJvYXJkLT5pbWFnZSA9ICRyZXM7CiAgICB9CgogICAgJGxlYWRlcmJvYXJkLT5zZXRfZGlydHkoKTsKICAgICRsZWFkZXJib2FyZC0+c2F2ZSgpOwoKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfbGVhZGVyYm9hcmRfdXBkYXRlZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQogIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5HZXRNZXNzYWdlKCkpOwogIH0KfQoKJHNtYXJ0eS0+YXNzaWduKCdsZWFkZXJib2FyZCcsJGxlYWRlcmJvYXJkKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2FkZGVkaXRfbGVhZGVyYm9hcmQnLCcnLGFycmF5KCdsZWFkZXJib2FyZCc9PiRwYXJhbXNbJ2xlYWRlcmJvYXJkJ10pKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CnsKICAka3R5cGVzID0gJGxlYWRlcmJvYXJkLT5nZXRfdHlwZXMoKTsKICAkdG1wID0gYXJyYXkoKTsKICBmb3JlYWNoKCAka3R5cGVzIGFzICRrZXkgKSB7CiAgICAkdG1wWyRrZXldID0gJHRoaXMtPkxhbmcoJ2xlYWRlcmJvYXJkXycuJGtleSk7CiAgfQogICRzbWFydHktPmFzc2lnbignYm9hcmR0eXBlcycsJHRtcCk7Cn0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fYWRkZWRpdF9sZWFkZXJib2FyZC50cGwnKTsKIyAKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_checkinsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdjaGVja2luc2V0dGluZ3MnKTsKCmlmKCBpc3NldCgkcGFyYW1zWydyZXNldG1haWxib2R5J10pICkgewogICR0cGwgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29uY2hlY2tpbl9ib2R5LnRwbCcpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbWFpbGJvZHknLCR0cGwpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc2V0bm90aWZib2R5J10pICkgewogICR0cGwgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29uY2hlY2tpbl9ub3RpZmJvZHkudHBsJyk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9ub3RpZmJvZHknLCR0cGwpOwp9CmVsc2UgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fc2VuZGVtYWlsJywoaW50KSRwYXJhbXNbJ29uY2hlY2tpbl9zZW5kZW1haWwnXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9zZW5kbm90aWYnLChpbnQpJHBhcmFtc1snb25jaGVja2luX3NlbmRub3RpZiddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnb25jaGVja2luX21haWxodG1sJywoaW50KSRwYXJhbXNbJ29uY2hlY2tpbl9tYWlsaHRtbCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnb25jaGVja2luX21haWxidWxraGRycycsKGludCkkcGFyYW1zWydvbmNoZWNraW5fbWFpbGJ1bGtoZHJzJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbWFpbHN1YmplY3QnLHRyaW0oJHBhcmFtc1snb25jaGVja2luX21haWxzdWJqZWN0J10pKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnb25jaGVja2luX21haWxib2R5Jyx0cmltKCRwYXJhbXNbJ29uY2hlY2tpbl9tYWlsYm9keSddKSk7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbm90aWZwcmlvcml0eScsKGludCkkcGFyYW1zWydvbmNoZWNraW5fbm90aWZwcmlvcml0eSddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnb25jaGVja2luX25vdGlmc3ViamVjdCcsdHJpbSgkcGFyYW1zWydvbmNoZWNraW5fbm90aWZzdWJqZWN0J10pKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnb25jaGVja2luX25vdGlmYm9keScsdHJpbSgkcGFyYW1zWydvbmNoZWNraW5fbm90aWZib2R5J10pKTsKfQoKJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19zdWNjZXNzJykpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJycsJycsJ2FkbWluX3NldHRpbmdzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_checkins_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpczo6UEVSTUlTU0lPTl9DSEVDS0lOUykgKSByZXR1cm47CgppZiggIWlzc2V0KCRwYXJhbXNbJ2RvdWJsZWNvbmZpcm0nXSkgKSB7CiAgJHBhcmFtc1snb3JpZ19hY3Rpb24nXSA9ICdhZG1pbl9jaGVja2luc190YWInOwogICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkbWluX2RvdWJsZWNvbmZpcm0nLCRyZXR1cm5pZCwkcGFyYW1zKTsKfQokdGhpcy0+U2V0Q3VycmVudFRhYignY2hlY2tpbnMnKTsKCnN3aXRjaCgkcGFyYW1zWydjaGVja2luX2FjdGlvbiddKSB7CiBjYXNlICdkZWxhbGxjaGVja2lucyc6CiAgICRxdWVyeSA9ICdUUlVOQ0FURSBUQUJMRSAnLkNHU09DSUFMX1RBQkxFX0NIRUNLSU5TOwogICAkcmVzID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICRuID0gJGRiLT5BZmZlY3RlZF9Sb3dzKCk7CiAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2hlY2tpbnNfZGVsZXRlZCcsJG4pKTsKICAgYnJlYWs7CgogY2FzZSAnZGVsYmFkdXNlcic6CiAgICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0ZST05URU5EVVNFUlMpOwogICAkZmV1cSA9IG5ldyBmZXVfdXNlcl9xdWVyeSgpOwogICAkcnMgPSAkZmV1cS0+ZXhlY3V0ZSgpOwogICAkbGlzdCA9IGFycmF5KCk7CiAgIHdoaWxlKCAhJHJzLT5FT0YoKSApIHsKICAgICAkbGlzdFtdID0gJHJzLT5maWVsZHNbJ2lkJ107CiAgICAgJHJzLT5Nb3ZlTmV4dCgpOwogICB9CiAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0NIRUNLSU5TLicgV0hFUkUgb3duZXIgTk9UIElOICgnLmltcGxvZGUoJywnLCRsaXN0KS4nKSc7CiAgICRyZXMgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiAgICRuID0gJGRiLT5BZmZlY3RlZF9Sb3dzKCk7CiAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2hlY2tpbnNfZGVsZXRlZCcsJG4pKTsKICAgYnJlYWs7CiAgIAogY2FzZSAnZGVsYmFkbG9jJzoKICAgJGNkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DT01QQU5ZRElSRUNUT1JZKTsKICAgJGZpbHRlciA9IG5ldyBjZF9jb21wYW55X2ZpbHRlcigpOwogICAkY2RxID0gbmV3IGNkX2NvbXBhbnlfcXVlcnkoJGZpbHRlcik7CiAgICRsaXN0ID0gYXJyYXkoKTsKICAgd2hpbGUoICEkY2RxLT5FT0YoKSApIHsKICAgICAkbGlzdFtdID0gJGNkcS0+ZmllbGRzWydpZCddOwogICAgICRjZHEtPk1vdmVOZXh0KCk7CiAgIH0KCiAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0NIRUNLSU5TLicgV0hFUkUgbG9jYXRpb24gTk9UIElOICgnLmltcGxvZGUoJywnLCRsaXN0KS4nKSc7CiAgICRyZXMgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiAgICRuID0gJGRiLT5BZmZlY3RlZF9Sb3dzKCk7CiAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2hlY2tpbnNfZGVsZXRlZCcsJG4pKTsKICAgYnJlYWs7Cn0KCiR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_delactivity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwoKLy8KLy8gaW5pdGlhbGl6YXRpb24KLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2FjdGl2aXRpZXMnKTsKCi8vCi8vIHNldHVwCi8vCmlmKCAhaXNzZXQoJHBhcmFtc1snYWN0aWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiRhY3RpZCA9IChpbnQpJHBhcmFtc1snYWN0aWQnXTsKJGFjdGl2aXR5ID0gY2dzYV9hY3Rpdml0eTo6bG9hZF9ieV9pZCgkYWN0aWQpOwppZiggIWlzX29iamVjdCgkYWN0aXZpdHkpICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2FjdGl2aXR5bm90Zm91bmQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCi8vCi8vIGRvIGl0Ci8vCiRhY3Rpdml0eS0+ZGVsZXRlKCk7CgovLwovLyByZXR1cm4KLy8KJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19zdWNjZXNzJykpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_apikey.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihDR1NvY2lhbEFwcDo6UEVSTUlTU0lPTikgKSBleGl0OwoKLy8KLy8gaW5pdGlhbGl6YXRpb24KLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2tleXMnKTsKCi8vCi8vIHNldHVwCi8vCmlmKCAhaXNzZXQoJHBhcmFtc1snYWlkJ10pICkgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCmNnc2FfYXBpa2V5OjpkZWxldGVfYnlfaWQoJHBhcmFtc1snYWlkJ10pOwoKJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2l0ZW1fZGVsZXRlZCcpKTsKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKIyAKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_badge.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKENHU29jaWFsQXBwOjpQRVJNSVNTSU9OKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1snbGVhZGVyYm9hcmQnXSkgKSByZXR1cm47CmlmKCAhaXNzZXQoJHBhcmFtc1snYmFkZ2UnXSkgKSByZXR1cm47CgokbGVhZGVyYm9hcmQgPSBjZ3NhX2xlYWRlcmJvYXJkOjpsb2FkX2J5X2lkKChpbnQpJHBhcmFtc1snbGVhZGVyYm9hcmQnXSk7CmlmKCBpc19vYmplY3QoJGxlYWRlcmJvYXJkKSApIHsKICAkYmFkZ2UgPSAkbGVhZGVyYm9hcmQtPmdldF9iYWRnZV9ieV9pZCgoaW50KSRwYXJhbXNbJ2JhZGdlJ10pOwogIGlmKCBpc19vYmplY3QoJGJhZGdlKSApIHsKICAgICRiYWRnZS0+ZGVsZXRlKCk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3N1Y2Nlc3MnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdhZG1pbl9saXN0YmFkZ2VzJywnJyxhcnJheSgnbGVhZGVyYm9hcmQnPT4kcGFyYW1zWydsZWFkZXJib2FyZCddKSk7CiAgfQp9CiR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfZmFpbGVkJykpOwokdGhpcy0+UmVkaXJlY3QoJGlkLCdhZG1pbl9saXN0YmFkZ2VzJywnJyxhcnJheSgnbGVhZGVyYm9hcmQnPT4kcGFyYW1zWydsZWFkZXJib2FyZCddKSk7]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_leaderboard.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIGV4aXQ7CgokdGhpcy0+U2V0Q3VycmVudFRhYignbGVhZGVyYm9hcmRzJyk7CmlmKCBpc3NldCgkcGFyYW1zWydsZWFkZXJib2FyZCddKSApIHsKICBjZ3NhX2xlYWRlcmJvYXJkOjpkZWxldGVfYnlfaWQoKGludCkkcGFyYW1zWydsZWFkZXJib2FyZCddKTsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbGVhZGVyYm9hcmRfZGVsZXRlZCcpKTsKfQokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_doubleconfirm.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBidWlsZCB0aGUgZm9ybQovLwppZiggaXNzZXQoJHBhcmFtc1snY29uZmlybSddKSApIHsKICBpZiggIWlzc2V0KCRwYXJhbXNbJ2NoZWNrMSddKSB8fCAhaXNzZXQoJHBhcmFtc1snY2hlY2syJ10pICkgewogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ29wZXJhdGlvbl9ub3Rjb25maXJtZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7CiAgfQoKICAvLyBnb29kIHRvIGdvLgogICRwYXJhbXNbJ2RvdWJsZWNvbmZpcm0nXSA9IDE7CiAgJGRlc3RhY3Rpb24gPSAkcGFyYW1zWydvcmlnX2FjdGlvbiddOwogIHVuc2V0KCRwYXJhbXNbJ2FjdGlvbiddLCRwYXJhbXNbJ2NvbmZpcm0nXSwkcGFyYW1zWydjYW5jZWwnXSwkcGFyYW1zWydjaGVjazEnXSwKCSRwYXJhbXNbJ2NoZWNrMiddLCRwYXJhbXNbJ29yaWdfYWN0aW9uJ10pOwogICR0aGlzLT5SZWRpcmVjdCgkaWQsJGRlc3RhY3Rpb24sJHJldHVybmlkLCRwYXJhbXMpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApIHsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnb3BlcmF0aW9uX2NhbmNlbGxlZCcpKTsKICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7Cn0KCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9kb3VibGVjb25maXJtJywkcmV0dXJuaWQsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywkdGhpcy0+TGFuZygndGl0bGVfJy4kcGFyYW1zWydjaGVja2luX2FjdGlvbiddKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2RvdWJsZWNvbmZpcm0udHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_apikey.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihDR1NvY2lhbEFwcDo6UEVSTUlTU0lPTikgKSBleGl0OwoKLy8gCi8vIGluaXRpYWxpemUKLy8KJG9iamVjdCA9IG5ldyBjZ3NhX2FwaWtleSgpOwokdGhpcy0+U2V0Q3VycmVudFRhYigna2V5cycpOwokZXJyb3IgPSBudWxsOwoKLy8KLy8gc2V0dXAKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2FpZCddKSApCiAgewogICAgJG9pZCA9IChpbnQpJHBhcmFtc1snYWlkJ107CiAgICAkb2JqZWN0ID0gY2dzYV9hcGlrZXk6OmxvYWRfYnlfaWQoJG9pZCk7CiAgfQoKLy8gCi8vIHByb2Nlc3MgZm9ybSBkYXRhCi8vCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKdHJ5CnsKICBpZiggaXNzZXQoJHBhcmFtc1snYXBwbmFtZSddKSApCiAgICB7CiAgICAgICRvYmplY3RbJ2FwcG5hbWUnXSA9IHRyaW0oJHBhcmFtc1snYXBwbmFtZSddKTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snZW1haWwnXSkgKQogICAgewogICAgICAkb2JqZWN0WydlbWFpbCddID0gdHJpbSgkcGFyYW1zWydlbWFpbCddKTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snYXBpa2V5J10pICkKICAgIHsKICAgICAgJG9iamVjdFsnYXBpa2V5J10gPSB0cmltKCRwYXJhbXNbJ2FwaWtleSddKTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snYWN0aXZlJ10pICkKICAgIHsKICAgICAgJG9iamVjdFsnYWN0aXZlJ10gPSAoaW50KXRyaW0oJHBhcmFtc1snYWN0aXZlJ10pOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydleHBpcmVzX01vbnRoJ10pICkKICAgIHsKICAgICAgJG9iamVjdFsnZXhwaXJlcyddID0gbWt0aW1lKDIzLDU5LDU5LChpbnQpJHBhcmFtc1snZXhwaXJlc19Nb250aCddLChpbnQpJHBhcmFtc1snZXhwaXJlc19EYXknXSwoaW50KSRwYXJhbXNbJ2V4cGlyZXNfWWVhciddKTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snYXBpa2V5J10pICkKICAgIHsKICAgICAgJG9iamVjdFsnYXBpa2V5J10gPSB0cmltKCRwYXJhbXNbJ2FwaWtleSddKTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICYmICRwYXJhbXNbJ3N1Ym1pdCddID09ICR0aGlzLT5MYW5nKCdwcm9tcHRfZ2VuZXJhdGUnKSkKICAgIHsKICAgICAgJG9iamVjdFsnYXBpa2V5J10gPSAkb2JqZWN0LT5nZW5lcmF0ZV9hcGlfa2V5KCk7CiAgICB9Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApCnsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5nZXRNZXNzYWdlKCkpOwogICRlcnJvciA9IDE7Cn0KCmlmKCAhJGVycm9yICYmIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnc3VibWl0JykgKQogIHsKICAgIHRyeQogICAgICB7CgkkcGVybXMgPSBjZ3NhX2FwaWtleV9wZXJtczo6Z2V0X2FsbF9wZXJtcygpOwoJZm9yZWFjaCggJHBlcm1zIGFzICRuYW1lICkKCSAgewoJICAgICRvYmplY3QtPnJlbW92ZV9wZXJtaXNzaW9uKCRuYW1lKTsKCSAgICBpZiggaXNzZXQoJHBhcmFtc1skbmFtZV0pICYmICRwYXJhbXNbJG5hbWVdID09IDEgKQoJICAgICAgewoJCSRvYmplY3QtPnNldF9wZXJtaXNzaW9uKCRuYW1lKTsKCSAgICAgIH0KCSAgfQoKCSRvYmplY3QtPnNhdmUoKTsKCSR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdpdGVtX2VkaXRlZCcpKTsKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICAgIH0KICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICB9CiAgfQoKLy8KLy8gZ2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9hcGlrZXknLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignYXBpa2V5Jywkb2JqZWN0KTsKJHNtYXJ0eS0+YXNzaWduKCdhbGxwZXJtcycsY2dzYV9hcGlrZXlfcGVybXM6OmdldF9hbGxfcGVybXMoKSk7CmlmKCAkZXJyb3IgKSAkc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZXJyb3IpOwoKLy8KLy8gZGlzcGxheQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfYXBpa2V5LnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_friendsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdmcmllbmRzZXR0aW5ncycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApIHsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnb3BlcmF0aW9uX2NhbmNlbGxlZCcpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJycsJycsJ2FkbWluX3NldHRpbmdzJyk7Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sncmVzZXRyZXEnXSkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZHJlcV9ib2R5dHBsJyxmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL2ZyaWVuZHJlcV9ib2R5LnRwbCcpKTsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnb3BlcmF0aW9uX3N1Y2Nlc3NmdWwnKSk7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCcnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc2V0YXBwcm92ZWQnXSkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZGFwcHJvdmVkX2JvZHl0cGwnLGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvZnJpZW5kYXBwcm92ZWRfYm9keS50cGwnKSk7CiAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ29wZXJhdGlvbl9zdWNjZXNzZnVsJykpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZHJlcV9lbWFpbCcsKGludCkkcGFyYW1zWydmcmllbmRyZXFfZW1haWwnXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZHJlcV9lbWFpbGh0bWwnLChpbnQpJHBhcmFtc1snZnJpZW5kcmVxX2VtYWlsaHRtbCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJpZW5kcmVxX3N1YmplY3QnLHRyaW0oJHBhcmFtc1snZnJpZW5kcmVxX3N1YmplY3QnXSkpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRyZXFfYm9keXRwbCcsdHJpbSgkcGFyYW1zWydmcmllbmRyZXFfYm9keXRwbCddKSk7CgogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRhcHByb3ZlZF9lbWFpbCcsKGludCkkcGFyYW1zWydmcmllbmRhcHByb3ZlZF9lbWFpbCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJpZW5kYXBwcm92ZWRfZW1haWxodG1sJywoaW50KSRwYXJhbXNbJ2ZyaWVuZGFwcHJvdmVkX2VtYWlsaHRtbCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJpZW5kYXBwcm92ZWRfc3ViamVjdCcsdHJpbSgkcGFyYW1zWydmcmllbmRhcHByb3ZlZF9zdWJqZWN0J10pKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJpZW5kYXBwcm92ZWRfYm9keXRwbCcsdHJpbSgkcGFyYW1zWydmcmllbmRhcHByb3ZlZF9ib2R5dHBsJ10pKTsKCiAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ29wZXJhdGlvbl9zdWNjZXNzZnVsJykpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_listbadges.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKENHU29jaWFsQXBwOjpQRVJNSVNTSU9OKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1snbGVhZGVyYm9hcmQnXSkgKSByZXR1cm47CgovLwovLyBpbml0aWFsaXplCi8vCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdsZWFkZXJib2FyZHMnKTsKJGxlYWRlcmJvYXJkID0gY2dzYV9sZWFkZXJib2FyZDo6bG9hZF9ieV9pZCgoaW50KSRwYXJhbXNbJ2xlYWRlcmJvYXJkJ10pOwppZiggIWlzX29iamVjdCgkbGVhZGVyYm9hcmQpICkgewogIGRpZSgnY291bGQgbm90IGxvYWQgbGVhZGVyYm9hcmQnKTsKfQoKJGJhZGdlcyA9ICRsZWFkZXJib2FyZC0+Z2V0X2JhZGdlcygpOwppZiggaXNfYXJyYXkoJGJhZGdlcykgJiYgY291bnQoJGJhZGdlcykgKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdiYWRnZXMnLCRiYWRnZXMpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ2xlYWRlcmJvYXJkJywkbGVhZGVyYm9hcmQpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xpc3RiYWRnZXMudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_orderactivity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokdGhpcy0+U2V0Q3VycmVudFRhYignYWN0aXZpdGllcycpOwokYWN0aXZpdGllcyA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYWxsX2FzX3RyZWUoKTsKaWYoICFpc19hcnJheSgkYWN0aXZpdGllcykgfHwgY291bnQoJGFjdGl2aXRpZXMpID09IDAgKSB7CiAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2FjdGl2aXRpZXMnKSk7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApIHsKICAkdGhpcy0+U2V0TWVzc2FnZSgnb3BlcmF0aW9uX2NhbmNlbGxlZCcpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKCiAgZnVuY3Rpb24gX19mbGF0dGVuX2FjdGl2aXRpZXMoJGRhdGEsJHBhcmVudF9pZCA9IC0xKQogIHsKICAgICRvdXQgPSBhcnJheSgpOwogICAgJGlkID0gbnVsbDsKICAgICRvcmRlciA9IDE7CiAgICBmb3JlYWNoKCAkZGF0YSBhcyAkb25lICkgewogICAgICBpZiggaXNfYXJyYXkoJG9uZSkgJiYgY291bnQoJG9uZSkgPT0gMiApIHsKCSRpZCA9IHN1YnN0cigkb25lWzBdLHN0cmxlbignYWN0XycpKTsKCSRvdXRbXSA9IGFycmF5KCdpZCc9PiRpZCwncGFyZW50X2lkJz0+JHBhcmVudF9pZCwnaXRlbV9vcmRlcic9PiRvcmRlcik7CglpZiggaXNzZXQoJG9uZVsxXSkgJiYgaXNfYXJyYXkoJG9uZVsxXSkgKSB7CgkgICRvdXQgPSBhcnJheV9tZXJnZSgkb3V0LF9fZmxhdHRlbl9hY3Rpdml0aWVzKCRvbmVbMV0sJGlkKSk7Cgl9CiAgICAgIH0KICAgICAgZWxzZSB7CgkkaWQgPSBzdWJzdHIoJG9uZSxzdHJsZW4oJ2FjdF8nKSk7Cgkkb3V0W10gPSBhcnJheSgnaWQnPT4kaWQsJ3BhcmVudF9pZCc9PiRwYXJlbnRfaWQsJ2l0ZW1fb3JkZXInPT4kb3JkZXIpOwogICAgICB9CiAgICAgICRvcmRlcisrOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKICBpZiggaXNzZXQoJHBhcmFtc1snYWpheGRhdGEnXSkgKSB7CiAgICAvLyBkb2luZyB0aGlzIHZpYSBhamF4LgogICAgJGRhdGEgPSBqc29uX2RlY29kZSgkcGFyYW1zWydhamF4ZGF0YSddKTsKICAgIAogICAgJGZsYXQgPSBfX2ZsYXR0ZW5fYWN0aXZpdGllcygkZGF0YSk7CiAgICBjZ3NhX2FjdGl2aXR5OjpidWxrX3VwZGF0ZSgkZmxhdCk7CiAgICBlY2hvICdzdWNjZXNzJzsKICAgIGV4aXQ7CiAgfQoKICAkdGhpcy0+U2V0TWVzc2FnZSgnb3BlcmF0aW9uX3N1Y2Nlc3NmdWwnKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CgovLwovLyBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5Ci8vCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9vcmRlcmFjdGl2aXR5JykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2FjdGl2aXRpZXMnLCRhY3Rpdml0aWVzKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9vcmRlcmFjdGl2aXR5LnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_saveleaderboardsettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdsZWFkZXJib2FyZHNldHRpbmdzJyk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW50ZXJ2YWxfdXBkYXRlbGVhZGVyYm9hcmRzJywoaW50KSRwYXJhbXNbJ2ludGVydmFsX3VwZGF0ZWxlYWRlcmJvYXJkcyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ludGVydmFsX3VwZGF0ZWJhZGdlcycsKGludCkkcGFyYW1zWydpbnRlcnZhbF91cGRhdGViYWRnZXMnXSk7Cgokam9icyA9IGNnam9ibWdyX3V0aWxzOjpnZXRfam9icyhhcnJheSgnbmFtZSc9PiR0aGlzLT5HZXROYW1lKCkuJyonKSk7CmlmKCBpc19hcnJheSgkam9icykgJiYgY291bnQoJGpvYnMpICkgewogIGZvcmVhY2goICRqb2JzIGFzICYkam9iICkgewogICAgJGpvYi0+ZGVsZXRlKCk7CiAgfQp9CiR0aGlzLT5TZXR1cEpvYnMoKTsKJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19zdWNjZXNzJykpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJycsJycsJ2FkbWluX3NldHRpbmdzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_savelocationsettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdsb2NhdGlvbnNldHRpbmdzJyk7CgppZiggaXNzZXQoJHBhcmFtc1snbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3RlbXBsYXRlX3Jlc2V0J10pICkgewogICR0eHQgPSBAZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl90ZW1wbGF0ZS50cGwnKTsKICBpZiggJHR4dCApICR0aGlzLT5TZXRUZW1wbGF0ZSgnbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3RlbXBsYXRlJywkdHh0KTsKfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX2FsbG93JywoaW50KSRwYXJhbXNbJ25ld2xvY2F0aW9uX2FsbG93J10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCduZXdsb2NhdGlvbl9hbGxvd2VkaXQnLChpbnQpJHBhcmFtc1snbmV3bG9jYXRpb25fYWxsb3dlZGl0J10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCduZXdsb2NhdGlvbl90aW1lbGltaXQnLChpbnQpJHBhcmFtc1snbmV3bG9jYXRpb25fdGltZWxpbWl0J10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCduZXdsb2NhdGlvbl9udW1saW1pdCcsKGludCkkcGFyYW1zWyduZXdsb2NhdGlvbl9udW1saW1pdCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fc3RhdHVzJyx0cmltKCRwYXJhbXNbJ25ld2xvY2F0aW9uX3N0YXR1cyddKSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl9ncm91cHMnLHRyaW0oJHBhcmFtc1snbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX2dyb3VwcyddKSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl9zdWJqZWN0Jyx0cmltKCRwYXJhbXNbJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl9zdWJqZWN0J10pKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX2lzaHRtbCcsdHJpbSgkcGFyYW1zWyduZXdsb2NhdGlvbl9ub3RpZmljYXRpb25faXNodG1sJ10pKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl90ZW1wbGF0ZScsdHJpbSgkcGFyYW1zWyduZXdsb2NhdGlvbl9ub3RpZmljYXRpb25fdGVtcGxhdGUnXSkpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjZF9vbmRlbGV0ZV9jbGVhbmNoZWNraW5zJyhpbnQpJHBhcmFtc1snY2Rfb25kZWxldGVfY2xlYW5jaGVja2lucyddKTsKfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCcnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_saveusersettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCd1c2Vyc2V0dGluZ3MnKTsKCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZldV91c2VyZ3JvdXAnLChpbnQpJHBhcmFtc1snZmV1X3VzZXJncm91cCddKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZmV1X29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnLChpbnQpJHBhcmFtc1snZmV1X29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZldV90YWdnZWRfcHJpb3JpdHknLCRwYXJhbXNbJ2ZldV90YWdnZWRfcHJpb3JpdHknXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZldV90YWdnZWRfc3ViamVjdCcsJHBhcmFtc1snZmV1X3RhZ2dlZF9zdWJqZWN0J10pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1X3RhZ2dlZF90cGwnLCRwYXJhbXNbJ2ZldV90YWdnZWRfdHBsJ10pOwp9IGVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc2V0J10pICkgewogICRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ190YWdnZWRfbm90aWZpY2F0aW9uLnRwbCc7CiAgJHRwbCA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1X3RhZ2dlZF90cGwnLCR0cGwpOwp9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_settings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogODAlOyI+Jy4KJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCSAgICAgICAkdGhpcy0+TGFuZygnbGJsX2JhY2snKSwnaWNvbnMvc3lzdGVtL2JhY2suZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKS4nPC9kaXY+PGJyLz4nOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignbG9jYXRpb25zZXR0aW5ncycsJHRoaXMtPkxhbmcoJ3RhYl9sb2NhdGlvbnNldHRpbmdzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3VzZXJzZXR0aW5ncycsJHRoaXMtPkxhbmcoJ3RhYl91c2Vyc2V0dGluZ3MnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZnJpZW5kc2V0dGluZ3MnLCR0aGlzLT5MYW5nKCd0YWJfZnJpZW5kc2V0dGluZ3MnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2hlY2tpbnNldHRpbmdzJywkdGhpcy0+TGFuZygndGFiX2NoZWNraW5zZXR0aW5ncycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdsZWFkZXJib2FyZHNldHRpbmdzJywkdGhpcy0+TGFuZygndGFiX2xlYWRlcmJvYXJkc2V0dGluZ3MnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZ2VuZXJhbHNldHRpbmdzJywkdGhpcy0+TGFuZygndGFiX2dlbmVyYWxzZXR0aW5ncycpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdsb2NhdGlvbnNldHRpbmdzJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fbG9jYXRpb25zZXR0aW5nc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3VzZXJzZXR0aW5ncycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3VzZXJzZXR0aW5nc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZyaWVuZHNldHRpbmdzJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZnJpZW5kc2V0dGluZ3NfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjaGVja2luc2V0dGluZ3MnLCRwYXJhbXMpOwppbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9jaGVja2luc2V0dGluZ3NfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdsZWFkZXJib2FyZHNldHRpbmdzJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fbGVhZGVyYm9hcmRzZXR0aW5nc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2dlbmVyYWxzZXR0aW5ncycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3NldHRpbmdzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiA4MCU7Ij4nLgokdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsCgkJICAgICAgICR0aGlzLT5MYW5nKCdsYmxfYmFjaycpLCdpY29ucy9zeXN0ZW0vYmFjay5naWYnLGFycmF5KCksJycsJycsZmFsc2UpLic8L2Rpdj48YnIvPic7CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhZGRfY2hlY2tpbicsJHRoaXMtPkxhbmcoJ3RhYl9hZGRfY2hlY2tpbl90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignbGlzdF9jaGVja2lucycsJHRoaXMtPkxhbmcoJ3RhYl9saXN0X2NoZWNraW5zX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd2aWV3X2NoZWNraW4nLCR0aGlzLT5MYW5nKCd0YWJfdmlld19jaGVja2luX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdsaXN0X2FjdGl2aXRpZXMnLCR0aGlzLT5MYW5nKCd0YWJfbGlzdF9hY3Rpdml0aWVzX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd2aWV3X2FjdGl2aXR5JywkdGhpcy0+TGFuZygndGFiX3ZpZXdfYWN0aXZpdHlfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ZyaWVuZHJlcScsJHRoaXMtPkxhbmcoJ3RhYl9mcmllbmRyZXFfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ZyaWVuZHJlcWxpc3QnLCR0aGlzLT5MYW5nKCd0YWJfZnJpZW5kcmVxbGlzdF90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYmFkZ2VzdW1tYXJ5JywkdGhpcy0+TGFuZygndGFiX2JhZGdlc3VtbWFyeV90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYmFkZ2VkZXRhaWwnLCR0aGlzLT5MYW5nKCd0YWJfYmFkZ2VkZXRhaWxfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2xlYWRlcmJvYXJkc3VtbWFyeScsJHRoaXMtPkxhbmcoJ3RhYl9sZWFkZXJib2FyZHN1bW1hcnlfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2xlYWRlcmJvYXJkZGV0YWlsJywkdGhpcy0+TGFuZygndGFiX2xlYWRlcmJvYXJkZGV0YWlsX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkZWZhdWx0X3RlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RhYl9kZWZhdWx0X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZGRfY2hlY2tpbicsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2FkZF9jaGVja2luX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignbGlzdF9jaGVja2lucycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2xpc3RfY2hlY2tpbnNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd2aWV3X2NoZWNraW4nLCRwYXJhbXMpOwppbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl92aWV3X2NoZWNraW5fdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdsaXN0X2FjdGl2aXRpZXMnLCRwYXJhbXMpOwppbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9saXN0X2FjdGl2aXRpZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd2aWV3X2FjdGl2aXR5JywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fdmlld19hY3Rpdml0eV90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZyaWVuZHJlcScsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2ZyaWVuZHJlcV90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZyaWVuZHJlcWxpc3QnLCRwYXJhbXMpOwppbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9mcmllbmRyZXFsaXN0X3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignYmFkZ2VzdW1tYXJ5JywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fYmFkZ2VzdW1tYXJ5X3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignYmFkZ2VkZXRhaWwnLCRwYXJhbXMpOwppbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9iYWRnZWRldGFpbF90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2xlYWRlcmJvYXJkc3VtbWFyeScsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2xlYWRlcmJvYXJkc3VtbWFyeV90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2xlYWRlcmJvYXJkZGV0YWlsJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fbGVhZGVyYm9hcmRkZXRhaWxfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWZhdWx0X3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2RlZmF1bHRfdGVtcGxhdGVzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.api_activities.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApIHsKICAkb3AgPSBzdHJ0b3VwcGVyKHRyaW0oJF9SRVFVRVNUWydvcCddKSk7Cn0KaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgewogICRhcGlrZXkgPSB0cmltKCRfUkVRVUVTVFsnYXBpa2V5J10pOwp9CgovLyBkZXBlbmRlbmN5IGNoZWNrLgokY2Rtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NvbXBhbnlEaXJlY3RvcnknKTsKaWYoICEkY2Rtb2QgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0NvbXBhbnlEaXJlY3RvcnkgbW9kdWxlIG5vdCBmb3VuZCcpOwoKLy8gdmFsaWRhdGlvbiBjaGVjawppZiggJGFwaWtleSA9PSAnJyApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignTm8gQXV0aGVudGljYXRpb24gSW5mb3JtYXRpb24nKTsKaWYoICRvcCA9PSAnJyApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignT3BlcmF0aW9uIG5vdCBzcGVjaWZpZWQnKTsKCi8vIHZhbGlkYXRlIHRoZSBhcGlrZXkuCiRhY2Nlc3NfaW5mbyA9IGNnc2FfdXRpbHM6OnZhbGlkYXRlX2FwaWtleSgkYXBpa2V5KTsKaWYoICFpc19vYmplY3QoJGFjY2Vzc19pbmZvKSApIHsKICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24nKTsKfQoKc3dpdGNoKCAkb3AgKSB7CiBjYXNlICdMSVNUJzoKICAgLy8gbGlzdCBhbGwgYWN0aXZpdGllcyBhcyBhIHRyZWUuCiAgIGlmKCAhY2dzYV91dGlsczo6aXNfZ2V0X3JlcXVlc3QoKSApIHJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9BQ1RJVklUSUVTX1JFQUQpICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAkb3V0cHV0ID0gY2dzYV9hY3Rpdml0eTo6bG9hZF9hbGxfYXNfdHJlZSgtMSxGQUxTRSk7CiAgIGJyZWFrOwogICAKIGRlZmF1bHQ6CiAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignVW5rbm93biBjb21tYW5kJyk7Cn0KCmNnc2FfdXRpbHM6OnJldHVybl9zdWNjZXNzKCRvdXRwdXQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.api_badges.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApIHsKICAkb3AgPSBzdHJ0b3VwcGVyKHRyaW0oJF9SRVFVRVNUWydvcCddKSk7Cn0KaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgewogICRhcGlrZXkgPSB0cmltKCRfUkVRVUVTVFsnYXBpa2V5J10pOwp9CgovLyBkZXBlbmRlbmN5IGNoZWNrLgokY2Rtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NvbXBhbnlEaXJlY3RvcnknKTsKaWYoICEkY2Rtb2QgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0NvbXBhbnlEaXJlY3RvcnkgbW9kdWxlIG5vdCBmb3VuZCcpOwoKLy8gdmFsaWRhdGlvbiBjaGVjawppZiggJGFwaWtleSA9PSAnJyApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignTm8gQXV0aGVudGljYXRpb24gSW5mb3JtYXRpb24nKTsKaWYoICRvcCA9PSAnJyApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignT3BlcmF0aW9uIG5vdCBzcGVjaWZpZWQnKTsKCi8vIHZhbGlkYXRlIHRoZSBhcGlrZXkuCiRhY2Nlc3NfaW5mbyA9IGNnc2FfdXRpbHM6OnZhbGlkYXRlX2FwaWtleSgkYXBpa2V5KTsKaWYoICFpc19vYmplY3QoJGFjY2Vzc19pbmZvKSApIHsKICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24nKTsKfQoKc3dpdGNoKCAkb3AgKSB7CiBjYXNlICdMSVNUJzoKICAgLy8gbGlzdCBhbGwgYmFkZ2VzIGZvciBhIHBhcnRpY3VsYXIgbGVhZGVyYm9hcmQKICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgcmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0JBREdFU19SRUFEKSApCiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgJG91dHB1dCA9IGFycmF5X3ZhbHVlcyhjZ3NhX2JhZGdlOjpnZXRfYWxsKEZBTFNFKSk7CiAgIGJyZWFrOwoKIGNhc2UgJ0dFVCc6CiAgIC8vIGdldCBhbGwgaW5mbyBmb3IgYSBwYXJ0aWN1bGFyIGJhZGdlLgogICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSByZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fQkFER0VTX1JFQUQpICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICBpZiggIWlzc2V0KCRfUkVRVUVTVFsnYmFkZ2UnXSkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICRiaWQgPSAoaW50KSRfUkVRVUVTVFsnYmFkZ2UnXTsKICAgJHRtcCA9IGNnc2FfYmFkZ2U6OmxvYWRfYnlfaWQoJGJpZCxGQUxTRSk7CiAgIGlmKCAhaXNfYXJyYXkoJHRtcCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0RhdGEgbm90IGZvdW5kJyk7CiAgICRvdXRwdXQgPSAkdG1wOwogICBicmVhazsKICAgCiBjYXNlICdNRU1CRVJTJzoKICAgLy8gZ2V0IG1lbWJlciBpbmZvIGZvciBhIHBhcnRpY3VsciBiYWRnZS4KICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgcmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0JBREdFU19SRUFEKSApCiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ2JhZGdlJ10pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAkYmlkID0gKGludCkkX1JFUVVFU1RbJ2JhZGdlJ107CiAgICR0bXAgPSBjZ3NhX2JhZGdlOjpsb2FkX2J5X2lkKCRiaWQpOwogICAkbGltaXQgPSAyNTsKICAgJG9mZnNldCA9IDA7CiAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ24nXSkgKSAkbGltaXQgPSBtYXgoMSwoaW50KSRwYXJhbXNbJ2wnXSk7CiAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ28nXSkgKSAkb2Zmc2V0ID0gbWF4KDEsKGludCkkcGFyYW1zWydvJ10pOwogICBpZiggIWlzX29iamVjdCgkdG1wKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignRGF0YSBub3QgZm91bmQnKTsKICAgJG91dHB1dCA9ICR0bXAtPmxpc3RfbWVtYmVycygkbGltaXQsJG9mZnNldCk7CiAgIGJyZWFrOwoKIGRlZmF1bHQ6CiAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignVW5rbm93biBjb21tYW5kJyk7Cn0KCmNnc2FfdXRpbHM6OnJldHVybl9zdWNjZXNzKCRvdXRwdXQpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.api_checkins.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApICRvcCA9IHN0cnRvdXBwZXIodHJpbSgkX1JFUVVFU1RbJ29wJ10pKTsKaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgJGFwaWtleSA9IHRyaW0oJF9SRVFVRVNUWydhcGlrZXknXSk7CgovLyBkZXBlbmRlbmN5IGNoZWNrLgokY2Rtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NPTVBBTllESVJFQ1RPUlkpOwppZiggISRjZG1vZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignQ29tcGFueURpcmVjdG9yeSBtb2R1bGUgbm90IGZvdW5kJyk7CiRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0ZST05URU5EVVNFUlMpOwppZiggISRjZG1vZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignRnJvbnRFbmRVc2VycyBtb2R1bGUgbm90IGZvdW5kJyk7CgovLyB2YWxpZGF0aW9uIGNoZWNrCmlmKCAkYXBpa2V5ID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdObyBBdXRoZW50aWNhdGlvbiBJbmZvcm1hdGlvbicpOwppZiggJG9wID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdPcGVyYXRpb24gbm90IHNwZWNpZmllZCcpOwoKLy8gdmFsaWRhdGUgdGhlIGFwaWtleS4KJGFjY2Vzc19pbmZvID0gY2dzYV91dGlsczo6dmFsaWRhdGVfYXBpa2V5KCRhcGlrZXkpOwppZiggIWlzX29iamVjdCgkYWNjZXNzX2luZm8pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIGF1dGhlbnRpY2F0aW9uIGluZm9ybWF0aW9uJyk7CgovLyAKLy8gaGFuZGxlIHRoZSByZXF1ZXN0Ci8vCnN3aXRjaCggJG9wICkgewogIGNhc2UgJ0FERCc6IC8vIFBPU1QgUkVRVUVTVAogICAgLy8gYWRkIGEgc2luZ2xlIGNoZWNraW4KICAgIHRyeSB7CiAgICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0NIRUNLSU5TX0FERCkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ293bmVyJ10pIHx8ICFpc3NldCgkX1JFUVVFU1RbJ2xvY2F0aW9uJ10pIHx8ICFpc3NldCgkX1JFUVVFU1RbJ21zZyddKSApIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICAgIH0KCQogICAgICAkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgICAkb3duZXIgPSAoaW50KSRfUkVRVUVTVFsnb3duZXInXTsKICAgICAgaWYoICR1aWQgIT0gJG93bmVyICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZXhwZWN0ZWQgJHVpZCIpOwoKICAgICAgJGNoZWNraW4gPSBuZXcgY2dzYV9jaGVja2luOwogICAgICAkY2hlY2tpbi0+b3duZXIgPSAkb3duZXI7CiAgICAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ2xvY2F0aW9uJ10pICkgJGNoZWNraW4tPmxvY2F0aW9uID0gKGludCkkX1JFUVVFU1RbJ2xvY2F0aW9uJ107CiAgICAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ2FjdGl2aXR5J10pICkgJGNoZWNraW4tPmFjdGl2aXR5ID0gKGludCkkX1JFUVVFU1RbJ2FjdGl2aXR5J107CiAgICAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ3BhcmVudF9pZCddKSApICRjaGVja2luLT5wYXJlbnRfaWQgPSAoaW50KSRfUkVRVUVTVFsncGFyZW50X2lkJ107CiAgICAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ21zZyddKSApICRjaGVja2luLT5tc2cgPSBzdWJzdHIodHJpbShzdHJpcF90YWdzKCRfUkVRVUVTVFsnbXNnJ10pKSwwLDI1NSk7CiAgICAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ2xhdCddKSAmJiBpc3NldCgkX1JFUVVFU1RbJ2xuZyddKSApIHsKCSRjaGVja2luLT5sYXQgPSAoZmxvYXQpJF9SRVFVRVNUWydsYXQnXTsKCSRjaGVja2luLT5sbmcgPSAoZmxvYXQpJF9SRVFVRVNUWydsbmcnXTsKICAgICAgfQogICAgICBpZiggaXNzZXQoJF9SRVFVRVNUWyd0YWcnXSkgJiYgIWVtcHR5KCRfUkVRVUVTVFsndGFnJ10pICkgewoJLy8gbWF5YmUgd2Ugc2hvdWxkIGhhdmUgc29tZSBsaW1pdGluZyBoZXJlPwoJLy8gY2FuIHdlIHRhZyBhbnlib2R5LCBvciBqdXN0IGZyaWVuZHM/CgkkY2hlY2tpbi0+dGFnX3VzZXIoJF9SRVFVRVNUWyd0YWcnXSk7CiAgICAgIH0KICAgICAgZm9yZWFjaCggJF9SRVFVRVNUIGFzICRrZXkgPT4gJHZhbHVlICkgewoJaWYoIHN0YXJ0c3dpdGgoJGtleSwnZXh0cmFfJykgKSB7CgkgICRrZXkgPSB0cmltKCRrZXkpOwoJICAkY2hlY2tpbi0+JGtleSA9ICR2YWx1ZTsKCX0KICAgICAgfQoKICAgICAgLy8gdmFsaWRhdGUgdGhlIGxvY2F0aW9uCiAgICAgICRjb21wYW55ID0gY2RfdXRpbHM6OmdldF9jb21wYW55KCRjaGVja2luLT5sb2NhdGlvbik7CiAgICAgIGlmKCAhJGNvbXBhbnkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdMb2NhdGlvbiAnLiRjaGVja2luLT5sb2NhdGlvbi4nIG5vdCBmb3VuZCcpOwogICAgICBpZiggJGNvbXBhbnktPnN0YXR1cyAhPSAncHVibGlzaGVkJyApIHRocm93IG5ldyBFeGNlcHRpb24oJ0xvY2F0aW9uICcuJGNoZWNraW4tPmxvY2F0aW9uLicgaGFzIGFuIGludmFsaWQgc3RhdHVzJyk7CgogICAgICAvLyBpcyBhcHByb3ZhbCBuZWVkZWQuCiAgICAgICRjaGVja2luLT5hcHByb3ZlZCA9IDA7CiAgICAgIGlmKCAhY2dzYV91dGlsczo6aXNfY2hlY2tpbl9hcHByb3ZhbF9yZXF1aXJlZCgkY2hlY2tpbi0+bG9jYXRpb24pICkgJGNoZWNraW4tPmFwcHJvdmVkID0gMTsKCiAgICAgIC8vIGRvIHJhdGVsaW1pdGluZy4KICAgICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2NhdGlvbnJlcXVpcmVkJywwKSAmJiAhaXNzZXQoJGNoZWNraW4tPmxhdCkgKSB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdNaXNzaW5nIHJlcXVpcmVkIHNvdXJjZSBjb29yZGluYXRlIGluZm9ybWF0aW9uJyk7CiAgICAgIH0KCQogICAgICBpZiggKCR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tpbnJhdGVsaW1pdGluZycpKSApIHsKCSRybCA9IGV4cGxvZGUoJywnLCR0bXApOwoJaWYoIGluX2FycmF5KCdieWxvY2F0aW9uJywkcmwpICYmICgkcmFkID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tpbnJhdGVsaW1pdGluZ19ieWxvY2F0aW9uJykpICkgewoJICBpZiggIWlzc2V0KCRjaGVja2luLT5sYXQpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignTWlzc2luZyByZXF1aXJlZCBzb3VyY2UgY29vZGluYXRlIGluZm9ybWF0aW9uJyk7CgoJICBpZiggJHJhZCA+IDAgKSB7CgkgICAgLy8gcmF0ZWxpbWl0aW5nIGJ5IHJhZGl1cyAoaW4gbWlsZXMpCQkgICAgCgkgICAgLy8gZ2V0IHRoZSBsb2NhdGlvbiBpbmZvcm1hdGlvbiBvZiB0aGlzIGNvbXBhbnkuCgkgICAgJGNvbXBhbnkgPSBjZF9jb21wYW55X2ZpbHRlcjo6Z2V0X2NvbXBhbnkoJGNoZWNraW4tPmxvY2F0aW9uLCcnLEZBTFNFKTsKCSAgICBpZiggISRjb21wYW55LT5sYXRpdHVkZSB8fCAhJGNvbXBhbnktPmxvbmdpdHVkZSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0xvY2F0aW9uIHNwZWNpZmllZCBoYXMgbm8gY29vcmRpbmF0ZSBpbmZvcm1hdGlvbicpOwoKCSAgICAkbGF0MSA9ICRjb21wYW55LT5sYXRpdHVkZTsKCSAgICAkbGF0MiA9ICRjaGVja2luLT5sYXQ7CgkgICAgJGxvbjEgPSAkY29tcGFueS0+bG9uZ2l0dWRlOwoJICAgICRsb24yID0gJGNoZWNraW4tPmxuZzsKCgkgICAgJHRoZXRhID0gJGxvbjEgLSAkbG9uMjsKCSAgICAkZGlzdCA9IHNpbihkZWcycmFkKCRsYXQxKSkgKiBzaW4oZGVnMnJhZCgkbGF0MikpICsgIGNvcyhkZWcycmFkKCRsYXQxKSkgKiBjb3MoZGVnMnJhZCgkbGF0MikpICogY29zKGRlZzJyYWQoJHRoZXRhKSk7IAoJICAgICRkaXN0ID0gYWNvcygkZGlzdCk7IAoJICAgICRkaXN0ID0gcmFkMmRlZygkZGlzdCk7IAoJICAgICRtaWxlcyA9ICRkaXN0ICogNjAgKiAxLjE1MTU7CgoJICAgIGlmKCAkbWlsZXMgPiAkcmFkICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignTG9jYXRpb24gc3BlY2lmaWVkIGlzIHRvbyBmYXIgYXdheSBmcm9tIHlvdXIgY3VycmVudCBsb2NhdGlvbicpOwoJICB9Cgl9CgoJaWYoIGluX2FycmF5KCdieXRpbWUnLCRybCkgJiYgICgkdGwgPSAoaW50KSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGVja2lucmF0ZWxpbWl0aW5nX2J5dGltZScsMTApKSA+IDAgKSB7CgkgIC8vIHJhdGUgbGltaXRpbmcgYnkgdGltZSBsaW1pdC4KCSAgLy8gZ2V0IHRoZSBsYXN0IGNoZWNraW4gYnkgdGhpcyB1c2VyLgoJICAvLyBhbmQgZ2V0IGl0cyBjcmVhdGVkIHRpbWUuCgkgICRvY2hlY2tpbiA9IGNnc2FfY2hlY2tpbjo6bG9hZF9ieV91c2VyKCR1aWQsMSk7CgkgIGlmKCBpc19vYmplY3QoJG9jaGVja2luKSApIHsKCSAgICAkbm93ID0gdGltZSgpOwoJICAgIGlmKCAkbm93IC0gJG9jaGVja2luLT5jcmVhdGVkIDwgKCR0bCAqIDYwKSApIHsKCSAgICAgICRyZW0gPSBjZWlsKCR0bCAtICgkbm93IC0gJG9jaGVja2luLT5jcmVhdGVkKS82MCk7CgkgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDaGVja2luIGZhaWxlZC4uLiBwbGVhc2UgdHJ5IGFnYWluIGluICcuJHJlbS4nIG1pbnV0ZXMnKTsKCSAgICB9CgkgIH0KCX0KICAgICAgfQoKICAgICAgJGRhdGEgPSBudWxsOwogICAgICBpZiggaXNzZXQoJF9GSUxFUykgJiYgaXNfYXJyYXkoJF9GSUxFUykgJiYgY291bnQoJF9GSUxFUykgKSB7CgkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ18nLiR0aGlzLT5HZXROYW1lKCkpOwoJQG1rZGlyKCRkZXN0ZGlyKTsKCgkkZGF0YSA9IGFycmF5KCk7Cglmb3JlYWNoKCAkX0ZJTEVTIGFzICRrZXkgPT4gJHZhbHVlICkgewoJICAkaGFuZGxlciA9IGNnZV9zZXR1cDo6Z2V0X3VwbG9hZGVyKCcnLCRkZXN0ZGlyKTsKCSAgJGZpbGVuYW1lID0gY2dzYV91dGlsczo6Z2V0X3VuaXF1ZV9maWxlbmFtZSgkY2hlY2tpbi0+b2JpZCk7CgkgICRyZXMgPSAkaGFuZGxlci0+aGFuZGxlX3VwbG9hZCgka2V5LCRmaWxlbmFtZSk7CgkgICRlcnIgPSAkaGFuZGxlci0+Z2V0X2Vycm9yKCk7CgoJICBpZiggISRyZXMgJiYgJGVyciAhPSBjZ19maWxldXBsb2FkOjpOT0ZJTEUgKSAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVXBsb2FkIEVycm9yICcuJGhhbmRsZXItPmdldF9lcnJvcm1zZygpKTsKCX0KCWlmKCBlbXB0eSgkcmVzKSApIGNvbnRpbnVlOwoJJGRhdGFbXSA9ICRyZXM7CiAgICAgIH0KCiAgICAgIGlmKCBjb3VudCgkZGF0YSkgKSAkY2hlY2tpbi0+ZmlsZXMgPSAkZGF0YTsKICAgICAgJHJlcyA9ICRjaGVja2luLT5zYXZlKCk7CiAgICAgICRvdXRwdXQgPSAkY2hlY2tpbi0+aWQ7CgogICAgICAvLyBoYW5kbGUgYW55IGxlYWRlcmJvYXJkcyB0aGF0IG5lZWQgdG8gYmUgdXBkYXRlZC4KICAgICAgJHRoaXMtPlVwZGF0ZUxlYWRlcmJvYXJkcygkY2hlY2tpbik7CgogICAgICAvLyBzZW5kIGFuIGV2ZW50CiAgICAgIGNnc2FfdXRpbHM6OnNlbmRfZXZlbnQoJ09uQ2hlY2tpbicsYXJyYXkoJ2NoZWNraW4nPT4kY2hlY2tpbikpOwogICAgfQogICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgfQogICAgYnJlYWs7CgogIGNhc2UgJ0dFVCc6IC8vIEdFVCBSRVFVRVNUCiAgICB0cnkgewogICAgICAvLyByZXR1cm4gYSBzaW5nbGUgY2hlY2tpbgogICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9DSEVDS0lOU19SRUFEKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgIGlmKCBjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgICBpZiggIWlzc2V0KCRfUkVRVUVTVFsnY2lkJ10pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAgICAkZGVlcCA9IChpc3NldCgkX1JFUVVFU1RbJ2RlZXAnXSkpPyhpbnQpJF9SRVFVRVNUWydkZWVwJ106MDsKICAgICAgCiAgICAgICRvdXRwdXQgPSBjZ3NhX2NoZWNraW46OmxvYWRfYnlfaWQoKGludCkkX1JFUVVFU1RbJ2NpZCddLHRydWUpOwogICAgICBpZiggJGRlZXAgKSB7CgkvLyBnZXQgdGhlIG93bmVyIG5hbWUuCgkkb3V0cHV0Wydvd25lcl9uYW1lJ10gPSAkZmV1LT5HZXRVc2VyTmFtZSgkb3V0cHV0Wydvd25lciddKTsKCWlmKCAkY2Rtb2QgJiYgJG91dHB1dFsnbG9jYXRpb24nXSApICRvdXRwdXRbJ2xvY2F0aW9uX25hbWUnXSA9ICRjZG1vZC0+R2V0Q29tcGFueU5hbWVGcm9tSWQoJG91dHB1dFsnbG9jYXRpb24nXSk7CglpZiggJG91dHB1dFsnYWN0aXZpdHknXSApIHsKCSAgJGFjdCA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYnlfaWQoJG91dHB1dFsnYWN0aXZpdHknXSk7CgkgICRvdXRwdXRbJ2FjdGl2aXR5X25hbWUnXSA9ICRhY3QtPm5hbWU7Cgl9CiAgICAgIH0KICAgIH0KICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkZS0+Z2V0TWVzc2FnZSgpKTsKICAgIH0KICAgIGJyZWFrOwoKICBjYXNlICdERUwnOiAvLyBQT1NUIHJlcXVlc3QKICAgIC8vIGRlbGV0ZSBhIHNpbmdsZSBjaGVja2luCiAgICAvLyAoY2Fubm90IGhhdmUgY2hpbGRyZW4pCiAgICAvLyBvd25lciBpZCBtdXN0IG1hdGNoCiAgICAvLyBvd25lciBpZCBtdXN0IG1hdGNoIGN1cnJlbnQgdXNlci4KICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0NIRUNLSU5TX0RFTCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ293bmVyJ10pIHx8ICFpc3NldCgkX1JFUVVFU1RbJ2NpZCddKSApIGNnc2FfdXRpbHM6OnJldHVybl9hcnJheSgnaW5zdWZmaWNpZW50IGRhdGEnKTsKICAgICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICAkb3duZXIgPSAoaW50KSRfUkVRVUVTVFsnb3duZXInXTsKICAgIGlmKCAkdWlkICE9ICRvd25lciApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZm91bmQgJHVpZCIpOwogICAgJGNoZWNraW4gPSBjZ3NhX2NoZWNraW46OmxvYWRfYnlfaWQoKGludCkkX1JFUVVFU1RbJ2NpZCddKTsKICAgIGlmKCAhaXNfb2JqZWN0KCRjaGVja2luKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignU3BlY2lmaWVkIGNoZWNraW4gKGlkPScuJF9SRVFVRVNUWydjaWQnXS4nKSBub3QgZm91bmQnKTsKICAgIGlmKCAkY2hlY2tpbi0+b3duZXIgIT0gJHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignQ2Fubm90IGRlbGV0ZSB0aGlzIGNoZWNraW46IG93bmVyIG1pc21hdGNoJyk7CiAgICBpZiggJGNoZWNraW4tPnBhcmVudF9pZCA+IDAgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0Nhbm5vdCBkZWxldGUgdGhpcyBjaGVja2luOiB0aGVyZSBhcmUgY2hpbGRyZW4nKTsKICAgIGNnc2FfdXRpbHM6OnNlbmRfZXZlbnQoJ1ByZURlbGV0ZUNoZWNraW4nLGFycmF5KCdjaGVja2luJz0+JGNoZWNraW4pKTsKICAgICRyZXMgPSAkY2hlY2tpbi0+ZGVsZXRlKCk7CiAgICBjZ3NhX3V0aWxzOjpzZW5kX2V2ZW50KCdQb3N0RGVsZXRlQ2hlY2tpbicsYXJyYXkoJ2NoZWNraW4nPT4kY2hlY2tpbikpOyAvLyBub3Qgc3VyZSBhYm91dCB0aGlzLgogICAgaWYoICEkcmVzICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdQcm9ibGVtIGRlbGV0aW5nIHRoaXMgY2hlY2tpbi4uIGludGVybmFsIGVycm9yJyk7CiAgICBicmVhazsKCiAgY2FzZSAnTVlDSEVDS0lOUyc6IC8vIEdFVCByZXF1ZXN0CiAgICAvLyBsaXN0IGEgdXNlcnMgY2hlY2tpbnMKICAgIC8vIG93bmVyIGlkIG11c3QgbWF0Y2ggY3VycmVudCB1c2VyCiAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9DSEVDS0lOU19SRUFEKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWydvd25lciddKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignaW5zdWZmaWNpZW50IGRhdGEnKTsKICAgICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICAkb3duZXIgPSAoaW50KSRfUkVRVUVTVFsnb3duZXInXTsKICAgIGlmKCAkdWlkICE9ICRvd25lciApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZm91bmQgJHVpZCIpOwogICAgJHRpbWVsaW1pdCA9IChpc3NldCgkX1JFUVVFU1RbJ3RpbWVsaW1pdCddKSk/KGludCkkX1JFUVVFU1RbJ3RpbWVsaW1pdCddOjA7CiAgICAkbGltaXQgPSAoaXNzZXQoJF9SRVFVRVNUWydsaW1pdCddKSk/KGludCkkX1JFUVVFU1RbJ2xpbWl0J106NTA7CiAgICAkb2Zmc2V0ID0gKGlzc2V0KCRfUkVRVUVTVFsnb2Zmc2V0J10pKT8oaW50KSRfUkVRVUVTVFsnb2Zmc2V0J106MDsKICAgICRkZWVwID0gKGlzc2V0KCRfUkVRVUVTVFsnZGVlcCddKSk/KGludCkkX1JFUVVFU1RbJ2RlZXAnXTowOwoKICAgICRxdWVyeSA9IG5ldyBjZ3NhX2NoZWNraW5fcXVlcnkoYXJyYXkoJ3RpbWVsaW1pdCc9PiR0aW1lbGltaXQsJ2xpbWl0Jz0+JGxpbWl0LCdvZmZzZXQnPT4kb2Zmc2V0LCdvd25lcic9PiRvd25lcikpOwogICAgJHJzID0gJHF1ZXJ5LT5leGVjdXRlKCk7CiAgICBpZiggJHJzICkgewogICAgICBpZiggJGRlZXAgKSB7Cgkkb3duZXJfaWRzID0gYXJyYXkoKTsKCSR1c2VyX2xpc3QgPSBhcnJheSgpOwoJJGxvY2F0aW9uX2lkcyA9IGFycmF5KCk7CgkkbG9jYXRpb25fbGlzdCA9IGFycmF5KCk7CgkkYWN0aXZpdHlfaWRzID0gYXJyYXkoKTsKCSRhY3Rpdml0eV9saXN0ID0gYXJyYXkoKTsKCXdoaWxlKCAhJHJzLT5FT0YgKSB7CgkgIGlmKCAhaW5fYXJyYXkoJHJzLT5maWVsZHMtPm93bmVyLCRvd25lcl9pZHMpICkgJG93bmVyX2lkc1tdID0gJHJzLT5maWVsZHMtPm93bmVyOwoJICBpZiggIWluX2FycmF5KCRycy0+ZmllbGRzLT5sb2NhdGlvbiwkbG9jYXRpb25faWRzKSApICRsb2NhdGlvbl9pZHNbXSA9ICRycy0+ZmllbGRzLT5sb2NhdGlvbjsKCSAgaWYoICFpbl9hcnJheSgkcnMtPmZpZWxkcy0+YWN0aXZpdHksJGFjdGl2aXR5X2lkcykgJiYgJHJzLT5maWVsZHMtPmFjdGl2aXR5ICkgJGFjdGl2aXR5X2lkc1tdID0gJHJzLT5maWVsZHMtPmFjdGl2aXR5OwoJICAkcnMtPk1vdmVOZXh0KCk7Cgl9CglpZiggY291bnQoJG93bmVyX2lkcykgKSB7CgkgICRxdWVyeSA9IG5ldyBmZXVfdXNlcl9xdWVyeSgxMDAwMCk7CgkgICRxdWVyeS0+YWRkX2FuZF9vcHQoZmV1X3VzZXJfcXVlcnlfb3B0OjpNQVRDSF9VU0VSTElTVCwkb3duZXJfaWRzKTsKCSAgJHVycyA9ICRxdWVyeS0+ZXhlY3V0ZSgpOwoJICB3aGlsZSggISR1cnMtPkVPRiApIHsKCSAgICAkdXNlcl9saXN0WyR1cnMtPmZpZWxkc1snaWQnXV0gPSAkdXJzLT5maWVsZHM7CgkgICAgJHVycy0+TW92ZU5leHQoKTsKCSAgfQoJfQoJaWYoIGNvdW50KCRsb2NhdGlvbl9pZHMpICkgewoJICAkZmlsdGVyID0gbmV3IGNkX2NvbXBhbnlfZmlsdGVyKGFycmF5KCdpZGxpc3QnPT4kbG9jYXRpb25faWRzKSk7CgkgICRscnMgPSBuZXcgY2RfY29tcGFueV9xdWVyeSgkZmlsdGVyKTsKCSAgJGxycy0+c2V0X3Jlc3VsdF9tb2RlKGNkX2NvbXBhbnlfcXVlcnk6OlJFU1VMVFNfQVJSQVkpOwoJICB3aGlsZSggISRscnMtPkVPRigpICkgewoJICAgICRsb2NhdGlvbl9saXN0WyRscnMtPmZpZWxkc1snaWQnXV0gPSAkbHJzLT5maWVsZHM7CgkgICAgJGxycy0+TW92ZU5leHQoKTsKCSAgfQoJfQoJaWYoIGNvdW50KCRhY3Rpdml0eV9pZHMpICkgewoJICAkYWxsX2FjdGl2aXRpZXMgPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2FsbF9hc19hcnJheSgpOwoJICBmb3JlYWNoKCAkYWxsX2FjdGl2aXRpZXMgYXMgJG9uZSApIHsKCSAgICBpZiggaW5fYXJyYXkoJG9uZVsnaWQnXSwkYWN0aXZpdHlfaWRzKSApICRhY3Rpdml0eV9saXN0WyRvbmVbJ2lkJ11dID0gJG9uZTsKCSAgfQoJfQoJJHJzLT5Nb3ZlRmlyc3QoKTsKICAgICAgfSAvLyBlbmQgaWYgZGVlcAoKICAgICAgJG91dHB1dCA9IGFycmF5KCk7CiAgICAgIHdoaWxlKCAhJHJzLT5FT0YgKSB7CgkkcmVjID0gY2dzYV9jaGVja2luOjp0b19hcnJheSgkcnMtPmZpZWxkcyk7CglpZiggaXNzZXQoJHVzZXJfbGlzdFskcmVjWydvd25lciddXSkgKSAkcmVjWydvd25lcl9uYW1lJ10gPSAkdXNlcl9saXN0WyRyZWNbJ293bmVyJ11dWyd1c2VybmFtZSddOwoJaWYoIGlzc2V0KCRsb2NhdGlvbl9saXN0WyRyZWNbJ2xvY2F0aW9uJ11dKSApICRyZWNbJ2xvY2F0aW9uX25hbWUnXSA9ICRsb2NhdGlvbl9saXN0WyRyZWNbJ2xvY2F0aW9uJ11dWydjb21wYW55X25hbWUnXTsKCWlmKCBpc3NldCgkYWN0aXZpdHlfbGlzdFskcmVjWydhY3Rpdml0eSddXSkgKSAkcmVjWydhY3Rpdml0eV9uYW1lJ10gPSAkYWN0aXZpdHlfbGlzdFskcmVjWydhY3Rpdml0eSddXVsnbmFtZSddOwoKCSRvdXRwdXRbXSA9ICRyZWM7CgkkcnMtPk1vdmVOZXh0KCk7CiAgICAgIH0KICAgIH0KICAgIGJyZWFrOwoKICBjYXNlICdBUFBST1ZFJzogLy8gUE9TVCByZXF1ZXN0CiAgICAvLyBhcHByb3ZlIGEgY2hlY2tpbgogICAgLy8gbmVlZCBjaWQsIGxvY2F0aW9uLCAobWQ1IG9mIHRoZSBwdyksIG93bmVyCiAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9DSEVDS0lOU19BUFBST1ZFKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICBpZiggIWNnc2FfdXRpbHM6OmlzX3Bvc3RfcmVxdWVzdCgpICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgICBpZiggIWlzc2V0KCRfUkVRVUVTVFsndWlkJ10pIHx8ICFpc3NldCgkX1JFUVVFU1RbJ2NpZCddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWydsaWQnXSkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fYXJyYXkoJ2luc3VmZmljaWVudCBkYXRhJyk7CiAgICAkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgJG93bmVyID0gKGludCkkX1JFUVVFU1RbJ293bmVyJ107CiAgICAkbGlkID0gKGludCkkX1JFUVVFU1RbJ2xpZCddOwogICAgJHB3ID0gKGlzc2V0KCRfUkVRVUVTVFsncHcnXSkpPyRfUkVRVUVTVFsncHcnXTonJzsKICAgIGlmKCAkdWlkICE9ICRvd25lciApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZXhwZWN0ZWQgJHVpZCIpOwogICAgJGNoZWNraW4gPSBjZ3NhX2NoZWNraW46OmxvYWRfYnlfaWQoKGludCkkX1JFUVVFU1RbJ2NpZCddKTsKICAgIGlmKCAhaXNfb2JqZWN0KCRjaGVja2luKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignU3BlY2lmaWVkIGNoZWNraW4gbm90IGZvdW5kJyk7CiAgICBpZiggJGNoZWNraW4tPmxvY2F0aW9uICE9ICRsaWQgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1NwZWNpZmllZCBjaGVja2luIGRvZXMgbm90IG1hdGNoIGxvY2F0aW9uJyk7CiAgICBpZiggIWNnc2FfdXRpbHM6OmNoZWNrX3VzZXJfdG9fbG9jYXRpb24oJGxpZCwkdWlkLCRwdykgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBwZXJtaXNzaW9uIHRvIGFwcHJvdmUnKTsKICAgIGlmKCAkY2hlY2tpbi0+YXBwcm92ZWQgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1NwZWNpZmllZCBjaGVja2luIGlzIGFscmVhZHkgYXBwcm92ZWQnKTsKICAgICRjaGVja2luLT5hcG9yb3ZlZCA9IDE7CiAgICAkY2hlY2tpbi0+c2F2ZSgpOwogICAgY2dzYV91dGlsczo6c2VuZF9ldmVudCgnT25VcGRhdGVDaGVja2luJyxhcnJheSgnY2hlY2tpbic9PiRjaGVja2luLCdhcHByb3ZlZCc9PjEpKTsKICAgIGJyZWFrOwogICAgCiAgY2FzZSAnRURJVCc6IC8vIFBPU1QgcmVxdWVzdAogICAgLy8gZWRpdCBhIGNoZWNraW4KICAgIC8vIG93bmVyIGlkIG11c3QgbWF0Y2ggY3VycmVudCB1c2VyCiAgICAvLyBvd25lciBpZCBtdXN0IG1hdGNoIG93bmVyIG9mIGNoZWNraW4KICAgIC8vIGtleSBpcyBvbmUgb2YgJ2xvY2F0aW9uJywnYWN0aXZpdHknLCdtc2cnCiAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9DSEVDS0lOU19FRElUKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICBpZiggIWNnc2FfdXRpbHM6OmlzX3Bvc3RfcmVxdWVzdCgpICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgICBpZiggIWlzc2V0KCRfUkVRVUVTVFsnb3duZXInXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsnY2lkJ10pICkgY2dzYV91dGlsczo6cmV0dXJuX2FycmF5KCdpbnN1ZmZpY2llbnQgZGF0YScpOwogICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICRvd25lciA9IChpbnQpJF9SRVFVRVNUWydvd25lciddOwogICAgaWYoICR1aWQgIT0gJG93bmVyICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCJJbnZhbGlkIG93bmVyIGdvdCAkb3duZXIsIGJ1dCBleHBlY3RlZCAkdWlkIik7CiAgICAkY2hlY2tpbiA9IGNnc2FfY2hlY2tpbjo6bG9hZF9ieV9pZCgoaW50KSRfUkVRVUVTVFsnY2lkJ10pOwogICAgaWYoICFpc19vYmplY3QoJGNoZWNraW4pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdTcGVjaWZpZWQgY2hlY2tpbiBub3QgZm91bmQnKTsKICAgIGlmKCAkY2hlY2tpbi0+b3duZXIgIT0gJHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignQ2Fubm90IGVkaXQgdGhpcyBjaGVja2luOiBvd25lciBtaXNtYXRjaCcpOwoKICAgIHRyeSB7CiAgICAgICRtb2RpZmllZCA9IEZBTFNFOwogICAgICBmb3JlYWNoKCAkX1JFUVVFU1QgYXMgJGtleSA9PiAkdmFsdWUgKSB7Cglzd2l0Y2goICRrZXkgKSB7CgljYXNlICdhY3Rpdml0eSc6CgkgICRjaGVja2luLT5hY3Rpdml0eSA9IChpbnQpJHZhbHVlOwoJICAkbW9kaWZpZWQgPSBUUlVFOwoJICBicmVhazsKCWNhc2UgJ2xvY2F0aW9uJzoKCSAgLy8gdmFsaWRhdGUgdGhlIGxvY2F0aW9uCgkgICRjb21wYW55ID0gY2RfdXRpbHM6OmdldF9jb21wYW55KCR2YWx1ZSk7CgkgIGlmKCAhJGNvbXBhbnkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdMb2NhdGlvbiAnLiR2YWx1ZS4nIG5vdCBmb3VuZCcpOwoJICBpZiggJGNvbXBhbnktPnN0YXR1cyAhPSAncHVibGlzaGVkJyApIHRocm93IG5ldyBFeGNlcHRpb24oJ0xvY2F0aW9uICcuJHZhbHVlLicgaGFzIGFuIGludmFsaWQgc3RhdHVzJyk7CgkgICRjaGVja2luLT5sb2NhdGlvbiA9IChpbnQpJHZhbHVlOwoJICAkbW9kaWZpZWQgPSBUUlVFOwoJICBicmVhazsKCWNhc2UgJ21zZyc6CgkgICRjaGVja2luLT5tc2cgPSBzdWJzdHIoJHZhbHVlLDAsMjU1KTsKCSAgJG1vZGlmaWVkID0gVFJVRTsKCSAgYnJlYWs7CgljYXNlICdleHRyYTFfdXJsJzoKCSAgJGNoZWNraW4tPmV4dHJhMV91cmwgPSB0cmltKCRfUkVRVUVTVFsnZXh0cmExX3VybCddKTsKCSAgYnJlYWs7CgljYXNlICdkZWwnOgoJICAvLyBkZWxldGUgZmlsZXMuLi4KCSAgaWYoIGlzc2V0KCRjaGVja2luLT5maWxlcykgJiYgY291bnQoJGNoZWNraW4tPmZpbGVzKSApIHsKCSAgICBpZiggJHZhbHVlID49IDAgJiYgJHZhbHVlIDwgY291bnQoJGNoZWNraW4tPmZpbGVzKSApIHsKCSAgICAgICRmbiA9ICRjaGVja2luLT5maWxlc1skdmFsdWVdOwoJICAgICAgaWYoICRmbiApIHsKCQkkZmlsZXMgPSBnbG9iKGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ18nLiR0aGlzLT5HZXROYW1lKCksJyonLiRmbikpOwoJCWlmKCBpc19hcnJheSgkZmlsZXMpICYmIGNvdW50KCRmaWxlcykgKSB7CgkJICBmb3JlYWNoKCRmaWxlcyBhcyAkZmlsZSkgewoJCSAgICBAdW5saW5rKCRmaWxlKTsKCQkgIH0KCQl9CgkgICAgICB9CgkgICAgICAkZGF0YSA9ICRjaGVja2luLT5maWxlczsKCSAgICAgIHVuc2V0KCRkYXRhWyR2YWx1ZV0pOwoJICAgICAgaWYoICFjb3VudCgkZGF0YSkgKSAkZGF0YSA9IG51bGw7CgkgICAgICAkY2hlY2tpbi0+ZGF0YSA9ICRkYXRhOwoJICAgICAgJG1vZGlmaWVkID0gVFJVRTsKCSAgICB9CgkgIH0KCSAgYnJlYWs7CgoJZGVmYXVsdDoKCSAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IHNldCBwcm9wZXJ0eSAnLiRrZXkuJyBpbiBsb2NhdGlvbiBlZGl0IG9wZXJhdGlvbicpOwoJICBicmVhazsKCX0KICAgICAgfQogICAgICBpZiggJG1vZGlmaWVkICkgewoJJGNoZWNraW4tPnNhdmUoKTsKCWNnc2FfdXRpbHM6OnNlbmRfZXZlbnQoJ09uVXBkYXRlQ2hlY2tpbicsYXJyYXkoJ2NoZWNraW4nPT4kY2hlY2tpbikpOwogICAgICB9CiAgICB9CiAgICBjYXRjaChFeGNlcHRpb24gJGUpIHsKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdFUlJPUjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgIH0KICAgIGJyZWFrOwoKICBjYXNlICdCWUxPQ0FUSU9OJzogLy8gR0VUIFJFUVVFU1QKICAgIC8vIGdldCB0aGUgTiBsYXRlc3QgcmVxdWVzdHMgdGllZCB0byB0aGlzIGxvY2F0aW9uLgogICAgLy8gdG9kbzogZm9yIGZyaWVuZHMgb25seS4KICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0NIRUNLSU5TX1JFQUQpICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgIGlmKCAhY2dzYV91dGlsczo6aXNfZ2V0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ2xpZCddKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignaW5zdWZmaWNpZW50IGRhdGEnKTsKICAgICR0aW1lbGltaXQgPSAoaXNzZXQoJF9SRVFVRVNUWyd0aW1lbGltaXQnXSkpPyhpbnQpJF9SRVFVRVNUWyd0aW1lbGltaXQnXTowOwogICAgJGxpbWl0ID0gKGlzc2V0KCRfUkVRVUVTVFsnbGltaXQnXSkpPyhpbnQpJF9SRVFVRVNUWydsaW1pdCddOjUwOwogICAgJG9mZnNldCA9IChpc3NldCgkX1JFUVVFU1RbJ29mZnNldCddKSk/KGludCkkX1JFUVVFU1RbJ29mZnNldCddOjA7CiAgICAkbGlkID0gKGlzc2V0KCRfUkVRVUVTVFsnbGlkJ10pKT8oaW50KSRfUkVRVUVTVFsnbGlkJ106MDsKICAgICRkZWVwID0gKGlzc2V0KCRfUkVRVUVTVFsnZGVlcCddKSk/KGludCkkX1JFUVVFU1RbJ2RlZXAnXTowOwogICAgJHBhcm1zID0gYXJyYXkoJ2xvY2F0aW9uJz0+JGxpZCwndGltZWxpbWl0Jz0+JHRpbWVsaW1pdCwnbGltaXQnPT4kbGltaXQsJ29mZnNldCc9PiRvZmZzZXQpOwogICAgaWYoIGlzc2V0KCRfUkVRVUVTVFsndW5hcHByb3ZlZCddKSApIHsKICAgICAgLy8gYXJlIHdlIGFsbG93ZWQgdG8gaGFuZGxlIHRoaXMgcGFyYW1ldGVyPwogICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9DSEVDS0lOU19BUFBST1ZFKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyd1aWQnXSkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ2luc3VmZmljaWVudCBkYXRhJyk7CgogICAgICAvLyB3ZSB3aWxsIG5lZWQgdG8gc2VlIGlmIHRoaXMgdXNlciBpcyBhdHRhY2hlZCB0byB0aGlzIGNvbXBhbnkKICAgICAgJHVpZCA9IChpbnQpJF9SRVFVRVNUWyd1aWQnXTsKICAgICAgaWYoICFjZ3NhX3V0aWxzOjpjaGVja191c2VyX3RvX2xvY2F0aW9uKCRsaWQsJHVpZCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgICAkcGFybXNbJ2FwcHJvdmVkJ10gPSAwOwogICAgfQoKICAgICRxdWVyeSA9IG5ldyBjZ3NhX2NoZWNraW5fcXVlcnkoJHBhcm1zKTsKICAgICRycyA9ICRxdWVyeS0+ZXhlY3V0ZSgpOwogICAgaWYoICRycyApIHsKICAgICAgLy8gYnVpbGQgbGlzdCBvZiB1c2VyaWRzLCBhbmQgbG9jYXRpb24gaWRzLCBhbmQgYWN0aXZpdHkgaWQncwogICAgICAvLyB3ZSBzaG91bGQgbW92ZSB0aGlzIHN0dWZmIHRvIG9uZSBwbGFjZSBpbnN0ZWFkIG9mIE4KICAgICAgaWYoICRkZWVwICkgewoJJG93bmVyX2lkcyA9IGFycmF5KCk7CgkkdXNlcl9saXN0ID0gYXJyYXkoKTsKCSRsb2NhdGlvbl9pZHMgPSBhcnJheSgpOwoJJGxvY2F0aW9uX2xpc3QgPSBhcnJheSgpOwoJJGFjdGl2aXR5X2lkcyA9IGFycmF5KCk7CgkkYWN0aXZpdHlfbGlzdCA9IGFycmF5KCk7Cgl3aGlsZSggISRycy0+RU9GICkgewoJICBpZiggIWluX2FycmF5KCRycy0+ZmllbGRzLT5vd25lciwkb3duZXJfaWRzKSApICRvd25lcl9pZHNbXSA9ICRycy0+ZmllbGRzLT5vd25lcjsKCSAgaWYoICFpbl9hcnJheSgkcnMtPmZpZWxkcy0+bG9jYXRpb24sJGxvY2F0aW9uX2lkcykgKSAkbG9jYXRpb25faWRzW10gPSAkcnMtPmZpZWxkcy0+bG9jYXRpb247CgkgIGlmKCAhaW5fYXJyYXkoJHJzLT5maWVsZHMtPmFjdGl2aXR5LCRhY3Rpdml0eV9pZHMpICYmICRycy0+ZmllbGRzLT5hY3Rpdml0eSApICRhY3Rpdml0eV9pZHNbXSA9ICRycy0+ZmllbGRzLT5hY3Rpdml0eTsKCSAgJHJzLT5Nb3ZlTmV4dCgpOwoJfQoJaWYoIGNvdW50KCRvd25lcl9pZHMpICkgewoJICAkcXVlcnkgPSBuZXcgZmV1X3VzZXJfcXVlcnkoMTAwMDApOwoJICAkcXVlcnktPmFkZF9hbmRfb3B0KGZldV91c2VyX3F1ZXJ5X29wdDo6TUFUQ0hfVVNFUkxJU1QsJG93bmVyX2lkcyk7CgkgICR1cnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKCSAgd2hpbGUoICEkdXJzLT5FT0YgKSB7CgkgICAgJHVzZXJfbGlzdFskdXJzLT5maWVsZHNbJ2lkJ11dID0gJHVycy0+ZmllbGRzOwoJICAgICR1cnMtPk1vdmVOZXh0KCk7CgkgIH0KCX0KCWlmKCBjb3VudCgkbG9jYXRpb25faWRzKSApIHsKCSAgJGZpbHRlciA9IG5ldyBjZF9jb21wYW55X2ZpbHRlcihhcnJheSgnaWRsaXN0Jz0+JGxvY2F0aW9uX2lkcykpOwoJICAkbHJzID0gbmV3IGNkX2NvbXBhbnlfcXVlcnkoJGZpbHRlcik7CgkgICRscnMtPnNldF9yZXN1bHRfbW9kZShjZF9jb21wYW55X3F1ZXJ5OjpSRVNVTFRTX0FSUkFZKTsKCSAgd2hpbGUoICEkbHJzLT5FT0YoKSApIHsKCSAgICAkbG9jYXRpb25fbGlzdFskbHJzLT5maWVsZHNbJ2lkJ11dID0gJGxycy0+ZmllbGRzOwoJICAgICRscnMtPk1vdmVOZXh0KCk7CgkgIH0KCX0KCWlmKCBjb3VudCgkYWN0aXZpdHlfaWRzKSApIHsKCSAgJGFsbF9hY3Rpdml0aWVzID0gY2dzYV9hY3Rpdml0eTo6bG9hZF9hbGxfYXNfYXJyYXkoKTsKCSAgZm9yZWFjaCggJGFsbF9hY3Rpdml0aWVzIGFzICRvbmUgKSB7CgkgICAgaWYoIGluX2FycmF5KCRvbmVbJ2lkJ10sJGFjdGl2aXR5X2lkcykgKSAkYWN0aXZpdHlfbGlzdFskb25lWydpZCddXSA9ICRvbmU7CgkgIH0KCX0KCSRycy0+TW92ZUZpcnN0KCk7CiAgICAgIH0KCiAgICAgICRvdXRwdXQgPSBhcnJheSgpOwogICAgICB3aGlsZSggISRycy0+RU9GICkgewoJJHJlYyA9IGNnc2FfY2hlY2tpbjo6dG9fYXJyYXkoJHJzLT5maWVsZHMpOwoJaWYoIGlzc2V0KCR1c2VyX2xpc3RbJHJlY1snb3duZXInXV0pICkgJHJlY1snb3duZXJfbmFtZSddID0gJHVzZXJfbGlzdFskcmVjWydvd25lciddXVsndXNlcm5hbWUnXTsKCWlmKCBpc3NldCgkbG9jYXRpb25fbGlzdFskcmVjWydsb2NhdGlvbiddXSkgKSAkcmVjWydsb2NhdGlvbl9uYW1lJ10gPSAkbG9jYXRpb25fbGlzdFskcmVjWydsb2NhdGlvbiddXVsnY29tcGFueV9uYW1lJ107CglpZiggaXNzZXQoJGFjdGl2aXR5X2xpc3RbJHJlY1snYWN0aXZpdHknXV0pICkgJHJlY1snYWN0aXZpdHlfbmFtZSddID0gJGFjdGl2aXR5X2xpc3RbJHJlY1snYWN0aXZpdHknXV1bJ25hbWUnXTsKCSRvdXRwdXRbXSA9ICRyZWM7CgkkcnMtPk1vdmVOZXh0KCk7CiAgICAgIH0KICAgIH0KICAgIGJyZWFrOwoKICBjYXNlICdGUklFTkRTJzogLy8gR0VUIFJFUVVFU1QKICAgIC8vIGxpc3Qgb2YgcmVjZW50IGZyaWVuZHMgY2hlY2tpbnMKICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0NIRUNLSU5TX1JFQUQpIHx8CgkhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0ZSSUVORFNfUkVBRCkgKSB7CiAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICB9CiAgICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyd1aWQnXSkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fYXJyYXkoJ2luc3VmZmljaWVudCBkYXRhJyk7CiAgICAkdWlkID0gdHJpbSgkX1JFUVVFU1RbJ3VpZCddKTsKICAgICRkZWVwID0gKGlzc2V0KCRfUkVRVUVTVFsnZGVlcCddKSk/KGludCkkX1JFUVVFU1RbJ2RlZXAnXTowOwogICAgJG4gPSAoaW50KW1heCgxLG1pbigxMDAwLChpc3NldCgkX1JFUVVFU1RbJ24nXSkpPyhpbnQpJF9SRVFVRVNUWyduJ106NTApKTsKICAgICRvID0gKGludCltYXgoMCwoaXNzZXQoJF9SRVFVRVNUWydvJ10pKT8oaW50KSRfUkVRVUVTVFsnbyddOjApOwogICAgJHR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICBpZiggJHVpZCAhPSAkdHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCB1aWQuIGdvdCAkdWlkIGJ1dCBleHBlY3RlZCAkdHVpZCIpOwogICAgLy8gZ2V0IHRoZSBmcmllbmRzIGxpc3QKICAgICRmcmllbmRzID0gY2dzYV9mcmllbmRzOjpnZXRfZnJpZW5kcygkdWlkKTsKICAgIGlmKCBpc19hcnJheSgkZnJpZW5kcykgJiYgY291bnQoJGZyaWVuZHMpID4gMCApIHsKICAgICAgLy8gZ2V0IHRoZSBjaGVja2lucyBieSB0aGVzZSB1c2Vycy4KICAgICAgJHF1ZXJ5ID0gbmV3IGNnc2FfY2hlY2tpbl9xdWVyeTsKICAgICAgJHF1ZXJ5Wydvd25lcnMnXSA9ICRmcmllbmRzOwogICAgICAkcXVlcnlbJ2xpbWl0J10gPSAkbjsKICAgICAgJHF1ZXJ5WydvZmZzZXQnXSA9ICRvOwogICAgICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICAgICAgaWYoICRycyApIHsKCS8vIGJ1aWxkIGxpc3Qgb2YgdXNlcmlkcywgYW5kIGxvY2F0aW9uIGlkcywgYW5kIGFjdGl2aXR5IGlkJ3MKCWlmKCAkZGVlcCApIHsKCSAgJG93bmVyX2lkcyA9IGFycmF5KCk7CgkgICR1c2VyX2xpc3QgPSBhcnJheSgpOwoJICAkbG9jYXRpb25faWRzID0gYXJyYXkoKTsKCSAgJGxvY2F0aW9uX2xpc3QgPSBhcnJheSgpOwoJICAkYWN0aXZpdHlfaWRzID0gYXJyYXkoKTsKCSAgJGFjdGl2aXR5X2xpc3QgPSBhcnJheSgpOwoJICB3aGlsZSggISRycy0+RU9GICkgewoJICAgIGlmKCAhaW5fYXJyYXkoJHJzLT5maWVsZHMtPm93bmVyLCRvd25lcl9pZHMpICkgJG93bmVyX2lkc1tdID0gJHJzLT5maWVsZHMtPm93bmVyOwoJICAgIGlmKCAhaW5fYXJyYXkoJHJzLT5maWVsZHMtPmxvY2F0aW9uLCRsb2NhdGlvbl9pZHMpICkgJGxvY2F0aW9uX2lkc1tdID0gJHJzLT5maWVsZHMtPmxvY2F0aW9uOwoJICAgIGlmKCAhaW5fYXJyYXkoJHJzLT5maWVsZHMtPmFjdGl2aXR5LCRhY3Rpdml0eV9pZHMpICYmICRycy0+ZmllbGRzLT5hY3Rpdml0eSApICRhY3Rpdml0eV9pZHNbXSA9ICRycy0+ZmllbGRzLT5hY3Rpdml0eTsKCSAgICAkcnMtPk1vdmVOZXh0KCk7CgkgIH0KCSAgaWYoIGNvdW50KCRvd25lcl9pZHMpICkgewoJICAgICRxdWVyeSA9IG5ldyBmZXVfdXNlcl9xdWVyeSgxMDAwMCk7CgkgICAgJHF1ZXJ5LT5hZGRfYW5kX29wdChmZXVfdXNlcl9xdWVyeV9vcHQ6Ok1BVENIX1VTRVJMSVNULCRvd25lcl9pZHMpOwoJICAgICR1cnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKCSAgICB3aGlsZSggISR1cnMtPkVPRiApIHsKCSAgICAgICR1c2VyX2xpc3RbJHVycy0+ZmllbGRzWydpZCddXSA9ICR1cnMtPmZpZWxkczsKCSAgICAgICR1cnMtPk1vdmVOZXh0KCk7CgkgICAgfQoJICB9CgkgIGlmKCBjb3VudCgkbG9jYXRpb25faWRzKSApIHsKCSAgICAkZmlsdGVyID0gbmV3IGNkX2NvbXBhbnlfZmlsdGVyKGFycmF5KCdpZGxpc3QnPT4kbG9jYXRpb25faWRzKSk7CgkgICAgJGxycyA9IG5ldyBjZF9jb21wYW55X3F1ZXJ5KCRmaWx0ZXIpOwoJICAgICRscnMtPnNldF9yZXN1bHRfbW9kZShjZF9jb21wYW55X3F1ZXJ5OjpSRVNVTFRTX0FSUkFZKTsKCSAgICB3aGlsZSggISRscnMtPkVPRigpICkgewoJICAgICAgJGxvY2F0aW9uX2xpc3RbJGxycy0+ZmllbGRzWydpZCddXSA9ICRscnMtPmZpZWxkczsKCSAgICAgICRscnMtPk1vdmVOZXh0KCk7CgkgICAgfQoJICB9CgkgIGlmKCBjb3VudCgkYWN0aXZpdHlfaWRzKSApIHsKCSAgICAkYWxsX2FjdGl2aXRpZXMgPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2FsbF9hc19hcnJheSgpOwoJICAgIGZvcmVhY2goICRhbGxfYWN0aXZpdGllcyBhcyAkb25lICkgewoJICAgICAgaWYoIGluX2FycmF5KCRvbmVbJ2lkJ10sJGFjdGl2aXR5X2lkcykgKSAkYWN0aXZpdHlfbGlzdFskb25lWydpZCddXSA9ICRvbmU7CgkgICAgfQoJICB9Cgl9CgoJJHJzLT5Nb3ZlRmlyc3QoKTsKCSRvdXRwdXQgPSBhcnJheSgpOwoJd2hpbGUoICEkcnMtPkVPRiApIHsKCSAgJHJlYyA9IGNnc2FfY2hlY2tpbjo6dG9fYXJyYXkoJHJzLT5maWVsZHMpOwoJICBpZiggaXNzZXQoJHVzZXJfbGlzdFskcmVjWydvd25lciddXSkgKSAkcmVjWydvd25lcl9uYW1lJ10gPSAkdXNlcl9saXN0WyRyZWNbJ293bmVyJ11dWyd1c2VybmFtZSddOwoJICBpZiggaXNzZXQoJGxvY2F0aW9uX2xpc3RbJHJlY1snbG9jYXRpb24nXV0pICkgJHJlY1snbG9jYXRpb25fbmFtZSddID0gJGxvY2F0aW9uX2xpc3RbJHJlY1snbG9jYXRpb24nXV1bJ2NvbXBhbnlfbmFtZSddOwoJICBpZiggaXNzZXQoJGFjdGl2aXR5X2xpc3RbJHJlY1snYWN0aXZpdHknXV0pICkgJHJlY1snYWN0aXZpdHlfbmFtZSddID0gJGFjdGl2aXR5X2xpc3RbJHJlY1snYWN0aXZpdHknXV1bJ25hbWUnXTsKCSAgCgkgICRvdXRwdXRbXSA9ICRyZWM7CgkgICRycy0+TW92ZU5leHQoKTsKCX0KICAgICAgfQogICAgfQogICAgYnJlYWs7CgogIGRlZmF1bHQ6CiAgICAvLyB1bmtub3duIG9wCiAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1Vua25vd24gY29tbWFuZCcpOwogIH0KCmNnc2FfdXRpbHM6OnJldHVybl9zdWNjZXNzKCRvdXRwdXQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.api_favorites.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApICRvcCA9IHN0cnRvdXBwZXIodHJpbSgkX1JFUVVFU1RbJ29wJ10pKTsKaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgJGFwaWtleSA9IHRyaW0oJF9SRVFVRVNUWydhcGlrZXknXSk7CgovLyB2YWxpZGF0aW9uIGNoZWNrCmlmKCAkYXBpa2V5ID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdObyBBdXRoZW50aWNhdGlvbiBJbmZvcm1hdGlvbicpOwppZiggJG9wID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdPcGVyYXRpb24gbm90IHNwZWNpZmllZCcpOwoKLy8gdmFsaWRhdGUgdGhlIGFwaWtleS4KJGFjY2Vzc19pbmZvID0gY2dzYV91dGlsczo6dmFsaWRhdGVfYXBpa2V5KCRhcGlrZXkpOwppZiggIWlzX29iamVjdCgkYWNjZXNzX2luZm8pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIGF1dGhlbnRpY2F0aW9uIGluZm9ybWF0aW9uJyk7CgovLwovLyBoYW5kbGUgdGhlIHJlcXVlc3QKLy8Kc3dpdGNoKCAkb3AgKSB7CiBjYXNlICdBREQnOgogICB0cnkgewogICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0ZBVk9SSVRFU19XUklURSkgKSB7CiAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgICB9CiAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgaWYoICEkZmV1ICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW50ZXJuYWwgRXJyb3InKTsKICAgICBpZiggIWlzc2V0KCRfUE9TVFsnbG9jYXRpb24nXSkgfHwgIWlzc2V0KCRfUE9TVFsnb3duZXInXSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgZGF0YScpOwoKICAgICAkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgICRvd25lciA9IChpbnQpJF9QT1NUWydvd25lciddOwogICAgICRsb2NhdGlvbiA9IChpbnQpJF9QT1NUWydsb2NhdGlvbiddOwogICAgIGlmKCAkdWlkICE9ICRvd25lciApIHRocm93IG5ldyBFeGNlcHRpb24oIkludmFsaWQgb3duZXIgZ290ICRvd25lciwgYnV0IGV4cGVjdGVkICR1aWQiKTsKCiAgICAgLy8gdmFsaWRhdGUgdGhlIGNvbXBhbnkuCiAgICAgJGNvbXBhbnkgPSBjZF91dGlsczo6Z2V0X2NvbXBhbnkoJHBhcmFtc1snY29tcGFueWlkJ10sJHJldHVybmlkLFRSVUUpOwogICAgIGlmKCBpc19vYmplY3QoJGNvbXBhbnkpICkgewogICAgICAgY2dzYV9mYXZvcml0ZXM6OmFkZCgkb3duZXIsJGxvY2F0aW9uKTsKICAgICB9CiAgIH0KICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnRkFWT1JJVEVTL0FERDogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CgogY2FzZSAnTElTVCc6CiAgIHRyeSB7CiAgICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fRkFWT1JJVEVTX1JFQUQpICkgewogICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgfQogICAgIGlmKCAhY2dzYV91dGlsczo6aXNfZ2V0X3JlcXVlc3QoKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgaWYoICEkZmV1ICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW50ZXJuYWwgRXJyb3InKTsKICAgICBpZiggIWlzc2V0KCRfR0VUWydvd25lciddKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBkYXRhJyk7CgogICAgICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICAgJG93bmVyID0gKGludCkkX0dFVFsnb3duZXInXTsKICAgICBpZiggJHVpZCAhPSAkb3duZXIgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCJJbnZhbGlkIG93bmVyIGdvdCAkb3duZXIsIGJ1dCBleHBlY3RlZCAkdWlkIik7CgogICAgICR0bXAgPSBjZ3NhX2Zhdm9yaXRlczo6bGlzdF9mb3JfdXNlcigkb3duZXIpOwogICAgIC8vIGdldCB0aGUgbGlzdCBvZiBjb21wYW5pZXMgaW4gdGhpcyBsaXN0Li4gdGhhdCBtYXRjaC4KICAgICAkZmlsdGVyID0gbmV3IGNkX2NvbXBhbnlfZmlsdGVyKGFycmF5KCdpZGxpc3QnPT4kdG1wKSk7CiAgICAgJHJzID0gbmV3IGNkX2NvbXBhbnlfcXVlcnkoJGZpbHRlcik7CiAgICAgCiAgICAgJG91dHB1dCA9IGFycmF5KCk7CiAgICAgd2hpbGUoICEkcnMtPkVPRigpICkgewogICAgICAgaWYoICFpbl9hcnJheSgkcXVlcnktPmZpZWxkc1snaWQnXSwkdG1wKSApIGNvbnRpbnVlOwogICAgICAgJG91dHB1dFtdID0gJHF1ZXJ5LT5maWVsZHNbJ2lkJ107CiAgICAgICAkcnMtPk1vdmVOZXh0KCk7CiAgICAgfQogICB9CiAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0ZBVk9SSVRFUy9JU0ZBVk9SSVRFOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAgfQogICBicmVhazsKCiBjYXNlICdJU0ZBVk9SSVRFJzoKICAgdHJ5IHsKICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9GQVZPUklURVNfUkVBRCkgKSB7CiAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgICB9CiAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICAgICBpZiggISRmZXUgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnRlcm5hbCBFcnJvcicpOwogICAgIGlmKCAhaXNzZXQoJF9HRVRbJ2xvY2F0aW9uJ10pIHx8ICFpc3NldCgkX0dFVFsnb3duZXInXSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgZGF0YScpOwoKICAgICAkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgICRvd25lciA9IChpbnQpJF9HRVRbJ293bmVyJ107CiAgICAgJGxvY2F0aW9uID0gKGludCkkX0dFVFsnbG9jYXRpb24nXTsKICAgICBpZiggJHVpZCAhPSAkb3duZXIgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCJJbnZhbGlkIG93bmVyIGdvdCAkb3duZXIsIGJ1dCBleHBlY3RlZCAkdWlkIik7CgogICAgICRjb21wYW55ID0gY2RfdXRpbHM6OmdldF9jb21wYW55KCRwYXJhbXNbJ2NvbXBhbnlpZCddLCRyZXR1cm5pZCxUUlVFKTsKICAgICBpZiggaXNfb2JqZWN0KCRjb21wYW55KSApIHsKICAgICAgICRvdXRwdXQgPSBjZ3NhX2Zhdm9yaXRlczo6Y2hlY2soJG93bmVyLCRsb2NhdGlvbik/MTowOwogICAgIH0KICAgfQogICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdGQVZPUklURVMvSVNGQVZPUklURTogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CgogY2FzZSAnREVMJzoKIGNhc2UgJ0RFTEVURSc6CiAgIHRyeSB7CiAgICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fRkFWT1JJVEVTX1dSSVRFKSApIHsKICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgIH0KICAgICBpZiggIWNnc2FfdXRpbHM6OmlzX3Bvc3RfcmVxdWVzdCgpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICAgICBpZiggISRmZXUgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnRlcm5hbCBFcnJvcicpOwogICAgIGlmKCAhaXNzZXQoJF9QT1NUWydsb2NhdGlvbiddKSB8fCAhaXNzZXQoJF9QT1NUWydvd25lciddKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBkYXRhJyk7CgogICAgICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICAgJG93bmVyID0gKGludCkkX1BPU1RbJ293bmVyJ107CiAgICAgJGxvY2F0aW9uID0gKGludCkkX1BPU1RbJ2xvY2F0aW9uJ107CiAgICAgaWYoICR1aWQgIT0gJG93bmVyICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZXhwZWN0ZWQgJHVpZCIpOwoKICAgICAvLyBkb24ndCBjYXJlIHRvIGNoZWNrIGZvciBjb21wYW55LgogICAgIGNnc2FfZmF2b3JpdGVzOjpkZWxldGUoJG93bmVyLCRsb2NhdGlvbik/MTowOwogICB9CiAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0ZBVk9SSVRFUy9JU0ZBVk9SSVRFOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAgfQogICBicmVhazsKCiBkZWZhdWx0OgogICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1Vua25vd24gY29tbWFuZCcpOwogICBicmVhazsKfQoKY2dzYV91dGlsczo6cmV0dXJuX3N1Y2Nlc3MoJG91dHB1dCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.api_friends.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwoKLy8KLy8gc2V0dXAKLy8KaWYoIGlzc2V0KCRfUkVRVUVTVFsnb3AnXSApICkgewogICRvcCA9IHN0cnRvdXBwZXIodHJpbSgkX1JFUVVFU1RbJ29wJ10pKTsKfQppZiggaXNzZXQoJF9SRVFVRVNUWydhcGlrZXknXSkgKSB7CiAgJGFwaWtleSA9IHRyaW0oJF9SRVFVRVNUWydhcGlrZXknXSk7Cn0KCi8vIHZhbGlkYXRpb24gY2hlY2sKaWYoICRhcGlrZXkgPT0gJycgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ05vIEF1dGhlbnRpY2F0aW9uIEluZm9ybWF0aW9uJyk7CmlmKCAkb3AgPT0gJycgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ09wZXJhdGlvbiBub3Qgc3BlY2lmaWVkJyk7CgovLyB2YWxpZGF0ZSB0aGUgYXBpa2V5LgokYWNjZXNzX2luZm8gPSBjZ3NhX3V0aWxzOjp2YWxpZGF0ZV9hcGlrZXkoJGFwaWtleSk7CmlmKCAhaXNfb2JqZWN0KCRhY2Nlc3NfaW5mbykgKSB7CiAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIGF1dGhlbnRpY2F0aW9uIGluZm9ybWF0aW9uJyk7Cn0KCi8vCi8vIGhhbmRsZSB0aGUgcmVxdWVzdApzd2l0Y2goICRvcCApIHsKIGNhc2UgJ0xJU1QnOiAgLy8gR0VUIFJFUVVFU1QKICAgLy8gbGlzdCBmcmllbmRzIAogICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9GUklFTkRTX1JFQUQpICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3VpZCddKSApCiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAkZmV1ID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgIGlmKCAhJGZldSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW50ZXJuYWwgZXJyb3InKTsKICAgJHR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICR1aWQgPSAoaW50KSRfUkVRVUVTVFsndWlkJ107CiAgIGlmKCAkdWlkICE9ICR0dWlkICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCJJbnZhbGlkIHVpZCBnb3QgJHVpZCwgYnV0IGV4cGVjdGVkICR0dWlkIik7CiAgICRsaW1pdCA9IDEwMDAwMDsKICAgJG9mZnNldCA9IDA7CiAgICRkZWVwID0gMDsKICAgaWYoIGlzc2V0KCRfUkVRVUVTVFsnbiddKSApICAkbGltaXQgPSBtYXgoMSwoaW50KSRfUkVRVUVTVFsnbiddKTsKICAgaWYoIGlzc2V0KCRfUkVRVUVTVFsnbyddKSApICRvZmZzZXQgPSBtYXgoMCwoaW50KSRfUkVRVUVTVFsnbyddKTsKICAgaWYoIGlzc2V0KCRfUkVRVUVTVFsnZGVlcCddKSApICRkZWVwID0gKGludCkkX1JFUVVFU1RbJ2RlZXAnXTsKICAgJG91dHB1dCA9IGNnc2FfZnJpZW5kczo6Z2V0X2ZyaWVuZHMoJHVpZCwkbGltaXQsJG9mZnNldCk7CiAgIGlmKCBpc19hcnJheSgkb3V0cHV0KSAmJiBjb3VudCgkb3V0cHV0KSAmJiAkZGVlcCApIHsKICAgICAvLyBnb3R0YSBnZXQgdGhlIHVzZXJuYW1lcyB0aGF0IG1hdGNoIGFsbCBvZiB0aGVzZSB1aWRzLgogICAgICRxdWVyeSA9IG5ldyBmZXVfdXNlcl9xdWVyeSgxMDAwMCk7CiAgICAgJHF1ZXJ5LT5hZGRfYW5kX29wdChmZXVfdXNlcl9xdWVyeV9vcHQ6Ok1BVENIX1VTRVJMSVNULCRvdXRwdXQpOwogICAgICR1cnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICAgICAkdXNlcl9saXN0ID0gYXJyYXkoKTsKICAgICB3aGlsZSggISR1cnMtPkVPRiApIHsKICAgICAgICR1c2VyX2xpc3RbXSA9IGFycmF5KCd1aWQnPT4kdXJzLT5maWVsZHNbJ2lkJ10sJ3VzZXJuYW1lJz0+JHVycy0+ZmllbGRzWyd1c2VybmFtZSddKTsKICAgICAgICR1cnMtPk1vdmVOZXh0KCk7CiAgICAgfQogICAgICRvdXRwdXQgPSAkdXNlcl9saXN0OwogICB9CiAgIGJyZWFrOwoKICBjYXNlICdERUwnOgogIGNhc2UgJ1JFTU9WRSc6IC8vIFBPU1QgUkVRVUVTVAogICAgLy8gZGVsZXRlIGEgZnJpZW5kCiAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9GUklFTkRTX1dSSVRFKSApCiAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICBpZiggIWNnc2FfdXRpbHM6OmlzX3Bvc3RfcmVxdWVzdCgpICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgICBpZiggIWlzc2V0KCRfUkVRVUVTVFsndWlkJ10pIHx8ICFpc3NldCgkX1JFUVVFU1RbJ2Z1aWQnXSkgKQogICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICAkdWlkID0gdHJpbSgkX1JFUVVFU1RbJ3VpZCddKTsKICAgICRmdWlkID0gdHJpbSgkX1JFUVVFU1RbJ2Z1aWQnXSk7CiAgICAkZmV1ID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXUgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludGVybmFsIGVycm9yJyk7CiAgICAkdHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgIGlmKCAkdWlkICE9ICR0dWlkICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCJJbnZhbGlkIHVpZCBnb3QgJHVpZCwgYnV0IGV4cGVjdGVkICR0dWlkIik7CiAgICAvLyB0b2RvOiBjaGVjayBpZiB0aGlzIGZ1aWQgaXMgdmFsaWQuCiAgICBjZ3NhX2ZyaWVuZHM6OnJlbW92ZV9mcmllbmRzaGlwKCR1aWQsJGZ1aWQpOwogICAgYnJlYWs7CgogIGNhc2UgJ1NVR0dFU1QnOiAvLyBHRVQgUkVRVUVTVAogICAgLy8gc3VnZ2VzdCBtb3JlIGZyaWVuZHMuCiAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9GUklFTkRTX1JFQUQpICkKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgIGlmKCAhY2dzYV91dGlsczo6aXNfZ2V0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3VpZCddKSApCiAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IGRhdGEnKTsKICAgICR1aWQgPSB0cmltKCRfUkVRVUVTVFsndWlkJ10pOwogICAgJGZldSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1ICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnRlcm5hbCBlcnJvcicpOwogICAgJHR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICBpZiggJHVpZCAhPSAkdHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCB1aWQgZ290ICR1aWQsIGJ1dCBleHBlY3RlZCAkdHVpZCIpOwogICAgJG91dHB1dCA9IGNnc2FfZnJpZW5kczo6c3VnZ2VzdCgkdWlkKTsKICAgIGJyZWFrOwoKICBjYXNlICdSRVFVRVNUTElTVCc6IC8vIEdFVCByZXF1ZXN0CiAgICAvLyBsaXN0IGZyaWVuZCByZXF1ZXN0cyBmb3IgYSB1c2VyLgogICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fRlJJRU5EU19SRUFEKSApCiAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyd1aWQnXSkgKQogICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICAkZmV1ID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXUgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludGVybmFsIGVycm9yJyk7CiAgICAkdHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICR1aWQgPSAoaW50KSRfUkVRVUVTVFsndWlkJ107CiAgICBpZiggJHVpZCAhPSAkdHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCB1aWQgZ290ICR1aWQsIGJ1dCBleHBlY3RlZCAkdHVpZCIpOwogICAgJGxpbWl0ID0gMTAwMDAwOwogICAgJG9mZnNldCA9IDA7CiAgICBpZiggaXNzZXQoJF9SRVFVRVNUWyduJ10pICkgJGxpbWl0ID0gbWF4KDEsKGludCkkX1JFUVVFU1RbJ24nXSk7CiAgICBpZiggaXNzZXQoJF9SRVFVRVNUWydvJ10pICkkb2Zmc2V0ID0gbWF4KDAsKGludCkkX1JFUVVFU1RbJ28nXSk7CiAgICAkb3V0cHV0ID0gY2dzYV9mcmllbmRzOjpnZXRfZnJpZW5kcmVxdWVzdHMoJHVpZCwkbGltaXQsJG9mZnNldCk7CiAgICBicmVhazsKCiAgY2FzZSAnUkVRVUVTVCc6IC8vIHBvc3QKICAgIC8vIHNlbmQgYSBmcmllbmQgcmVxdWVzdAogICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fRlJJRU5EU19XUklURSkgKQogICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3VpZCddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWydmdWlkJ10pICkKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAgJHVpZCA9IHRyaW0oJF9SRVFVRVNUWyd1aWQnXSk7CiAgICAkZnVpZCA9IHRyaW0oJF9SRVFVRVNUWydmdWlkJ10pOwogICAgJGZldSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1ICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnRlcm5hbCBlcnJvcicpOwogICAgJHR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICBpZiggJHVpZCAhPSAkdHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCB1aWQgZ290ICR1aWQsIGJ1dCBleHBlY3RlZCAkdHVpZCIpOwogICAgY2dzYV9mcmllbmRzOjpjcmVhdGVfZnJpZW5kcmVxdWVzdCgkZnVpZCwkdWlkKTsKICAgIGJyZWFrOwoKICBjYXNlICdBUFBST1ZFJzogLy8gUE9TVCBSRVFVRVNUCiAgICAvLyBhcHByb3ZlIGEgZnJpZW5kIHJlcXVlc3QKICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0ZSSUVORFNfV1JJVEUpICkKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgIGlmKCAhY2dzYV91dGlsczo6aXNfcG9zdF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyd1aWQnXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsnZnVpZCddKSApCiAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IGRhdGEnKTsKICAgICR1aWQgPSB0cmltKCRfUkVRVUVTVFsndWlkJ10pOwogICAgJGZ1aWQgPSB0cmltKCRfUkVRVUVTVFsnZnVpZCddKTsKICAgICRmZXUgPSBjZ2VfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhJGZldSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW50ZXJuYWwgZXJyb3InKTsKICAgICR0dWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgaWYoICR1aWQgIT0gJHR1aWQgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoIkludmFsaWQgdWlkIGdvdCAkdWlkLCBidXQgZXhwZWN0ZWQgJHR1aWQiKTsKICAgIGNnc2FfZnJpZW5kczo6YXBwcm92ZV9mcmllbmRyZXF1ZXN0KCR1aWQsJGZ1aWQpOwogICAgYnJlYWs7CgogIGNhc2UgJ0RFTlknOiAvLyBQT1NUIFJFUVVFU1QKICAgIC8vIGRlbnkgYSBmcmllbmQgcmVxdWVzdAogICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fRlJJRU5EU19XUklURSkgKQogICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3VpZCddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWydmdWlkJ10pICkKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAgJHVpZCA9IHRyaW0oJF9SRVFVRVNUWyd1aWQnXSk7CiAgICAkZnVpZCA9IHRyaW0oJF9SRVFVRVNUWydmdWlkJ10pOwogICAgJGZldSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1ICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnRlcm5hbCBlcnJvcicpOwogICAgJHR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICBpZiggJHVpZCAhPSAkdHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCB1aWQgZ290ICR1aWQsIGJ1dCBleHBlY3RlZCAkdHVpZCIpOwogICAgY2dzYV9mcmllbmRzOjpkZW55X2ZyaWVuZHJlcXVlc3QoJHVpZCwkZnVpZCk7CiAgICBicmVhazsKICAgIAogIGRlZmF1bHQ6CiAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoIlVua25vd24gY29tbWFuICRvcCIpOwogIH0KCmNnc2FfdXRpbHM6OnJldHVybl9zdWNjZXNzKCRvdXRwdXQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.api_leaderboards.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApIHsKICAkb3AgPSBzdHJ0b3VwcGVyKHRyaW0oJF9SRVFVRVNUWydvcCddKSk7Cn0KaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgewogICRhcGlrZXkgPSB0cmltKCRfUkVRVUVTVFsnYXBpa2V5J10pOwp9CgovLyB2YWxpZGF0aW9uIGNoZWNrCmlmKCAkYXBpa2V5ID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdObyBBdXRoZW50aWNhdGlvbiBJbmZvcm1hdGlvbicpOwppZiggJG9wID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdPcGVyYXRpb24gbm90IHNwZWNpZmllZCcpOwoKLy8gdmFsaWRhdGUgdGhlIGFwaWtleS4KJGFjY2Vzc19pbmZvID0gY2dzYV91dGlsczo6dmFsaWRhdGVfYXBpa2V5KCRhcGlrZXkpOwppZiggIWlzX29iamVjdCgkYWNjZXNzX2luZm8pICkgewogIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCBhdXRoZW50aWNhdGlvbiBpbmZvcm1hdGlvbicpOwp9Cgpzd2l0Y2goICRvcCApIHsKIGNhc2UgJ0xJU1QnOgogICAvLyBsaXN0IGFsbCBhY3Rpdml0aWVzIGFzIGEgdHJlZS4KICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgcmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0xFQURFUkJPQVJEU19SRUFEKSApCiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgJG91dHB1dCA9IGNnc2FfbGVhZGVyYm9hcmQ6OmdldF9hbGwoRkFMU0UpOwogICBicmVhazsKCiBjYXNlICdHRVQnOgogICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSByZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fTEVBREVSQk9BUkRTX1JFQUQpICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICBpZiggIWlzc2V0KCRfUkVRVUVTVFsnYm9hcmQnXSkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICRsaWQgPSAoaW50KSRfUkVRVUVTVFsnYm9hcmQnXTsKICAgJHRtcCA9IGNnc2FfbGVhZGVyYm9hcmQ6OmxvYWRfYnlfaWQoJGxpZCxGQUxTRSk7CiAgIGlmKCAhaXNfYXJyYXkoJHRtcCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0RhdGEgbm90IGZvdW5kJyk7CiAgICRvdXRwdXQgPSAkdG1wOwogICBicmVhazsKICAgCiBjYXNlICdCQURHRVMnOgogICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSByZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fTEVBREVSQk9BUkRTX1JFQUQpICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICBpZiggIWlzc2V0KCRfUkVRVUVTVFsnYm9hcmQnXSkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICRsaWQgPSAoaW50KSRfUkVRVUVTVFsnYm9hcmQnXTsKICAgJHRtcCA9IGNnc2FfbGVhZGVyYm9hcmQ6OmxvYWRfYnlfaWQoJGxpZCk7CiAgIGlmKCAhaXNfb2JqZWN0KCR0bXApICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdEYXRhIG5vdCBmb3VuZCcpOwogICAkb3V0cHV0ID0gJHRtcC0+Z2V0X2JhZGdlcyhGQUxTRSk7CiAgIGJyZWFrOwogICAKIGNhc2UgJ0xFQURFUlMnOgogICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSByZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fTEVBREVSQk9BUkRTX1JFQUQpIHx8CiAgICAgICAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1VTRVJTX1JFQUQpICkgewogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgIH0KICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ2JvYXJkJ10pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAkbGltaXQgPSAyNTsKICAgJG9mZnNldCA9IDA7CiAgICRsaWQgPSAoaW50KSRfUkVRVUVTVFsnYm9hcmQnXTsKICAgaWYoIGlzc2V0KCRfUkVRVUVTVFsnbiddKSApICRsaW1pdCA9IG1heCgxLChpbnQpJHBhcmFtc1snbCddKTsKICAgaWYoIGlzc2V0KCRfUkVRVUVTVFsnbyddKSApICRvZmZzZXQgPSBtYXgoMSwoaW50KSRwYXJhbXNbJ28nXSk7CiAgICRib2FyZCA9IGNnc2FfbGVhZGVyYm9hcmQ6OmxvYWRfYnlfaWQoJGxpZCk7CiAgIGlmKCAhaXNfb2JqZWN0KCRib2FyZCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0RhdGEgbm90IGZvdW5kJyk7CiAgICRvdXRwdXQgPSAkYm9hcmQtPmdldF9sZWFkZXJzKCRsaW1pdCwkb2Zmc2V0KTsKICAgYnJlYWs7CiAgIAogZGVmYXVsdDoKICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdVbmtub3duIGNvbW1hbmQnKTsKfQoKY2dzYV91dGlsczo6cmV0dXJuX3N1Y2Nlc3MoJG91dHB1dCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.api_locations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApICRvcCA9IHN0cnRvdXBwZXIodHJpbSgkX1JFUVVFU1RbJ29wJ10pKTsKaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgJGFwaWtleSA9IHRyaW0oJF9SRVFVRVNUWydhcGlrZXknXSk7CgovLyBkZXBlbmRlbmN5IGNoZWNrLgokY2Rtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NvbXBhbnlEaXJlY3RvcnknKTsKaWYoICEkY2Rtb2QgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0NvbXBhbnlEaXJlY3RvcnkgbW9kdWxlIG5vdCBmb3VuZCcpOwoKLy8gdmFsaWRhdGlvbiBjaGVjawppZiggJGFwaWtleSA9PSAnJyApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignTm8gQXV0aGVudGljYXRpb24gSW5mb3JtYXRpb24nKTsKaWYoICRvcCA9PSAnJyApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignT3BlcmF0aW9uIG5vdCBzcGVjaWZpZWQnKTsKCi8vIHZhbGlkYXRlIHRoZSBhcGlrZXkuCiRhY2Nlc3NfaW5mbyA9IGNnc2FfdXRpbHM6OnZhbGlkYXRlX2FwaWtleSgkYXBpa2V5KTsKaWYoICFpc19vYmplY3QoJGFjY2Vzc19pbmZvKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCBhdXRoZW50aWNhdGlvbiBpbmZvcm1hdGlvbicpOwokZGlzYWxsb3dlZF9sb2NhdGlvbl9maWVsZHMgPSBhcnJheSgndXJsJywncGljdHVyZV9sb2NhdGlvbicsJ2xvZ29fbG9jYXRpb24nLCdzdGF0dXMnLCdvd25lcl9pZCcpOwoKLy8gCi8vIGhhbmRsZSB0aGUgcmVxdWVzdAovLwpzd2l0Y2goICRvcCApIHsKIGNhc2UgJ0hJRVJBUkNIWSc6CiAgIHRyeSB7CiAgICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fTE9DQVRJT05TX1JFQUQpICkgewogICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgfQogICAgICRvdXRwdXQgPSBjZF91dGlsczo6Z2V0X2hpZXJhcmNoeShUUlVFKTsKICAgfQogICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdMT0NBVElPTi9ISUVSQVJDSFk6ICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICB9CiAgIGJyZWFrOwoKIGNhc2UgJ0NBVEVHT1JJRVMnOgogICB0cnkgewogICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0xPQ0FUSU9OU19SRUFEKSApIHsKICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgIH0KICAgICAkb3V0cHV0ID0gJGNkbW9kLT5HZXRDYXRlZ29yaWVzKCk7CiAgIH0KICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnTE9DQVRJT04vQ0FURUdPUklFUzogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CiAgIAogY2FzZSAnTElTVCc6CiAgIC8vIGEgbGlzdCBvZiBjb21wYW5pZXMuCiAgIHRyeSB7CiAgICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fTE9DQVRJT05TX1JFQUQpICkgewogICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgfQogICAgIAogICAgICRmaWx0ZXIgPSBudWxsOwogICAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ2ZpbHRlciddKSApIHsKICAgICAgICRwYXJhbXMgPSBqc29uX2RlY29kZSgkX1JFUVVFU1RbJ2ZpbHRlciddLFRSVUUpOwogICAgICAgaWYoICFpc3NldCgkcGFyYW1zWydwYWdlbGltaXQnXSkgKSAkcGFyYW1zWydwYWdlbGltaXQnXSA9IDUwOwoKICAgICAgICRmaWx0ZXIgPSBuZXcgY2RfY29tcGFueV9maWx0ZXIoanNvbl9kZWNvZGUoJF9SRVFVRVNUWydmaWx0ZXInXSxUUlVFKSk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3BhZ2VsaW1pdCddKSApICRfUkVRVUVTVFsncGFnZWxpbWl0J10gPSA1MDsKICAgICAgICRmaWx0ZXIgPSBuZXcgY2RfY29tcGFueV9maWx0ZXIoJF9SRVFVRVNUKTsKICAgICB9CiAgICAgY2RfY29tcGFueV9xdWVyeTo6c2V0X3Jlc3VsdF9tb2RlKGNkX2NvbXBhbnlfcXVlcnk6OlJFU1VMVFNfQVJSQVkpOwogICAgICRvYmogPSBuZXcgY2RfY29tcGFueV9xdWVyeSgkZmlsdGVyKTsKICAgICAKICAgICAkb3V0cHV0ID0gYXJyYXkoKTsKICAgICAkcmVzID0gYXJyYXlfdmFsdWVzKCRvYmotPmdldF9yZXN1bHRzKCkpOwogICAgICRvdXRwdXRbJ251bV9tYXRjaGVzJ10gPSAkb2JqLT5nZXRfdG90YWxfbWF0Y2hlcygpOwogICAgICRvdXRwdXRbJ2xvY2F0aW9ucyddID0gJHJlczsKICAgfQogICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdMT0NBVElPTi9MSVNUOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAgfQogICBicmVhazsKCiBjYXNlICdHRVQnOgogICB0cnkgewogICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0xPQ0FUSU9OU19SRUFEKSApIHsKICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgIH0KCiAgICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ2xvY2F0aW9uJ10pICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zdWZmaWNpZW50IGRhdGEnKTsKICAgICAKICAgICBjZF9jb21wYW55X3F1ZXJ5OjpzZXRfcmVzdWx0X21vZGUoY2RfY29tcGFueV9xdWVyeTo6UkVTVUxUU19BUlJBWSk7CiAgICAgJG91dHB1dCA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkX1JFUVVFU1RbJ2xvY2F0aW9uJ10pOwogICB9CiAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0xPQ0FUSU9OL0dFVDogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CgogY2FzZSAnQUREJzoKICAgdHJ5IHsKICAgICAvLyBjaGVjayBwZXJtaXNzaW9ucyBhbmQgc2V0dGluZ3MuCiAgICAgaWYoICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fYWxsb3cnLDEpICkgewogICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQWRkaW5nIGxvY2F0aW9ucyBpcyBub3QgcGVybWl0dGVkIGF0IHRoaXMgdGltZScpOwogICAgIH0KICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9MT0NBVElPTlNfUkVBRCkgKSB7CiAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgICB9CiAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgaWYoICEkZmV1ICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW50ZXJuYWwgRXJyb3InKTsKCiAgICAgaWYoICFpc3NldCgkX1BPU1RbJ2NvbXBhbnlfbmFtZSddKSB8fCAhaXNzZXQoJF9QT1NUWydvd25lciddKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBkYXRhJyk7CgogICAgICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICAgJG93bmVyID0gKGludCkkX1BPU1RbJ293bmVyJ107CiAgICAgaWYoICR1aWQgIT0gJG93bmVyICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZXhwZWN0ZWQgJHVpZCIpOwoKICAgICAvLyBkbyByYXRlIGNoZWNraW5nLgogICAgICRudW1saW1pdCA9IChpbnQpJHRoaXMtPkdldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX251bWxpbWl0JywwKTsKICAgICAkdGltZWxpbWl0ID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fbnVtbGltaXQnLDApOwogICAgIGlmKCAkbnVtbGltaXQgPiAwICYmICR0aW1lbGltaXQgPiAwICkgewogICAgICAgLy8gYnkgdGltZS4KICAgICAgICRmaWx0ZXIgPSBuZXcgY2RfY29tcGFueV9maWx0ZXIoKTsKICAgICAgICRmaWx0ZXJbJ21vZGlmaWVkX3NpbmNlJ10gPSB0aW1lKCktJHRpbWVsaW1pdCo2MDsKICAgICAgICRmaWx0ZXJbJ293bmVyX2lkJ10gPSAkb3duZXI7CiAgICAgICAkZmlsdGVyWydwYWdlbGltaXQnXSA9ICRudW1saW1pdCsxOyAvLyB5ZXAsIHRyeSB0byBnZXQgb25lIG1vcmUgdGhhbiBvdXIgbGltaXQuCiAgICAgICAkcXVlcnkgPSBuZXcgY2RfY29tcGFueV9xdWVyeSgkZmlsdGVyKTsKICAgICAgIGlmKCAkcXVlcnktPmdldF9yZXN1bHRfY291bnQoKSA+ICRudW1saW1pdCApIHsKCSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdZb3UgaGF2ZSBjcmVhdGVkIG9yIGVkaXRlZCB0b28gbWFueSBsb2NhdGlvbnMgbGF0ZWx5LiAgUGxlYXNlIHRyeSBhZ2FpbiBsYXRlcicpOwogICAgICAgfQogICAgIH0KCiAgICAgLy8gYnVpbGQgdGhlIHJlY29yZC4KICAgICB1bnNldCgkX1BPU1RbJ293bmVyJ10pOwogICAgIHVuc2V0KCRfUE9TVFsnYXBpa2V5J10pOwogICAgIHVuc2V0KCRfUE9TVFsnb3AnXSk7CiAgICAgJGNvbXBhbnkgPSBuZXcgY2RfY29tcGFueTsKICAgICBmb3JlYWNoKCAkX1BPU1QgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICBpZiggaW5fYXJyYXkoJGtleSwkZGlzYWxsb3dlZF9sb2NhdGlvbl9maWVsZHMpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigiQ2Fubm90IHNldCBmaWVsZCAka2V5IHdoZW4gYWRkaW5nIGEgbG9jYXRpb24iKTsKCSAgCiAgICAgICBpZiggY2RfY29tcGFueTo6aXNfdmFsaWRfa2V5KCRrZXkpICkgewoJICRjb21wYW55LT4ka2V5ID0gJHZhbHVlOwogICAgICAgfQogICAgICAgZWxzZSBpZiggc3RhcnRzd2l0aCgka2V5LCdGOicpICkgewoJICRrZXkgPSBzdWJzdHIoJGtleSwyKTsKCSBpZiggIWNkX2NvbXBhbnk6OmlzX3ZhbGlkX2ZpZWxkKCRrZXkpICkgIHRocm93IG5ldyBFeGNlcHRpb24oIkZpZWxkICRrZXkgaXMgaW52YWxpZCIpOwoJICRjb21wYW55LT5zZXRfZmllbGQoJGtleSwkdmFsdWUpOwogICAgICAgfQogICAgICAgZWxzZSBpZiggc3RhcnRzd2l0aCgka2V5LCdDOicpICkgewoJICRrZXkgPSBzdWJzdHIoJGtleSwyKTsKCSBpZiggIWNkX2NvbXBhbnk6OmlzX3ZhbGlkX2NhdGVnb3J5KCRrZXkpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigiQ2F0ZWdvcnkgJGtleSBpcyBpbnZhbGlkIik7CgkgJGNvbXBhbnktPnNldF9jYXRlZ29yeSgka2V5LGNnZV91dGlsczo6dG9fYm9vbCgkdmFsdWUpKTsKICAgICAgIH0KICAgICAgIGVsc2UgewoJIHRocm93IG5ldyBFeGNlcHRpb24oIiRrZXkgaXMgYW4gaW52YWxpZCBsb2NhdGlvbiBmaWVsZCIpOwogICAgICAgfQogICAgIH0KICAgICAkY29tcGFueS0+b3duZXJfaWQgPSAkb3duZXI7CiAgICAgJGNvbXBhbnktPnN0YXR1cyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCduZXdsb2NhdGlvbl9zdGF0dXMnLCdkcmFmdCcpOwogICAgICRjb21wYW55LT5zYXZlKCk7CgogICAgIC8vIGl0IHdvcmtlZCAodGhlb3JldGljYWxseSkKICAgICAkdGhpcy0+QXVkaXQoJGNvbXBhbnktPmlkLCR0aGlzLT5HZXROYW1lKCksJ0xPQ0FUSU9OL0FERDogYnkgJy4kdWlkKTsKICAgICAkb3V0cHV0ID0gJGNvbXBhbnktPmlkOwogICB9CiAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0xPQ0FUSU9OL0FERDogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CgogIGNhc2UgJ0VESVQnOgogICAgdHJ5IHsKICAgICAgaWYoICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fYWxsb3dlZGl0JywxKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0VkaXRpbmcgbG9jYXRpb25zIGlzIG5vdCBwZXJtaXR0ZWQgYXQgdGhpcyB0aW1lJyk7CiAgICAgIC8vIGNoZWNrIHBlcm1pc3Npb24KICAgICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fTE9DQVRJT05TX1dSSVRFKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgICBpZiggIWNnc2FfdXRpbHM6OmlzX3Bvc3RfcmVxdWVzdCgpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgIGlmKCAhJGZldSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludGVybmFsIEVycm9yJyk7CgogICAgICBpZiggIWlzc2V0KCRfUE9TVFsnbG9jYXRpb24nXSkgfHwgIWlzc2V0KCRfUE9TVFsnb3duZXInXSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgZGF0YScpOwoKICAgICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICAgJG93bmVyID0gKGludCkkX1BPU1RbJ293bmVyJ107CiAgICAgIGlmKCAkdWlkICE9ICRvd25lciApIHRocm93IG5ldyBFeGNlcHRpb24oIkludmFsaWQgb3duZXIgZ290ICRvd25lciwgYnV0IGV4cGVjdGVkICR1aWQiKTsKCiAgICAgIC8vIGdldCB0aGUgcmVjb3JkCiAgICAgICRjb21wYW55ID0gY2RfY29tcGFueTo6bG9hZF9ieV9pZCgoaW50KSRfUE9TVFsnbG9jYXRpb24nXSk7CgogICAgICAvLyBjaGVjayBvd25lcnNoaXAKICAgICAgaWYoICRjb21wYW55LT5vd25lcl9pZCAhPSAkdWlkICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBlZGl0IGEgbG9jYXRpb24gd2l0aCBhIGRpZmZlcmVudCBvd25lcicpOwoKICAgICAgLy8gY2hlY2sgc3RhdHVzIChkaXNhYmxlZCBtZWFucyB5b3UgY2FuJ3QgZWRpdCBpdCkuCiAgICAgIGlmKCAkY29tcGFueS0+c3RhdHVzID09ICdkaXNhYmxlZCcgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGVkaXQgYSBkaXNhYmxlZCBsb2NhdGlvbicpOwoKICAgICAgLy8gZG8gcmF0ZSBjaGVja2luZy4KICAgICAgJG51bWxpbWl0ID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fbnVtbGltaXQnLDApOwogICAgICAkdGltZWxpbWl0ID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fbnVtbGltaXQnLDApOwogICAgICBpZiggJG51bWxpbWl0ID4gMCAmJiAkdGltZWxpbWl0ID4gMCApIHsKCS8vIGJ5IHRpbWUuCgkkZmlsdGVyID0gbmV3IGNkX2NvbXBhbnlfZmlsdGVyKCk7CgkkZmlsdGVyWydtb2RpZmllZF9zaW5jZSddID0gdGltZSgpLSR0aW1lbGltaXQqNjA7CgkkZmlsdGVyWydvd25lcl9pZCddID0gJG93bmVyOwoJJGZpbHRlclsncGFnZWxpbWl0J10gPSAkbnVtbGltaXQrMTsgLy8geWVwLCB0cnkgdG8gZ2V0IG9uZSBtb3JlIHRoYW4gb3VyIGxpbWl0LgoJJHF1ZXJ5ID0gbmV3IGNkX2NvbXBhbnlfcXVlcnkoJGZpbHRlcik7CglpZiggJHF1ZXJ5LT5nZXRfcmVzdWx0X2NvdW50KCkgPiAkbnVtbGltaXQgKSB7CgkgIHRocm93IG5ldyBFeGNlcHRpb24oJ1lvdSBoYXZlIGNyZWF0ZWQgb3IgZWRpdGVkIHRvbyBtYW55IGxvY2F0aW9ucyBsYXRlbHkuICBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyJyk7Cgl9CiAgICAgIH0KCiAgICAgIC8vIGVkaXQgdGhlIHJlY29yZAogICAgICAkbW9kaWZpZWQgPSBGQUxTRTsKICAgICAgZm9yZWFjaCggJF9QT1NUIGFzICRrZXkgPT4gJHZhbHVlICkgewoJaWYoIGluX2FycmF5KCRrZXksYXJyYXkoJ29wJywnYXBpa2V5Jywnb3duZXInLCdsb2NhdGlvbicpKSApIGNvbnRpbnVlOwoKCWlmKCBjZF9jb21wYW55Ojppc192YWxpZF9rZXkoJGtleSkgKSB7CgkgICRjb21wYW55LT4ka2V5ID0gJHZhbHVlOwoJICAkbW9kaWZpZWQgPSBUUlVFOwoJfQoJZWxzZSBpZiggc3RhcnRzd2l0aCgka2V5LCdGOicpICkgewoJICAka2V5ID0gc3Vic3RyKCRrZXksMik7CgkgIGlmKCBjZF9jb21wYW55Ojppc192YWxpZF9maWVsZCgka2V5KSApIHsKCSAgICAkZmllbGQgPSAkdGhpcy0+Z2V0X2ZpZWxkKCRrZXkpOwoJICAgIGlmKCBpc19vYmplY3QoJGZpZWxkKSApIHsKCSAgICAgIGlmKCAkZmllbGQtPnR5cGUgIT0gJ2FsYnVtJyApIHsKCQkkY29tcGFueS0+c2V0X2ZpZWxkKCRrZXksJHZhbHVlKTsKCQkkbW9kaWZpZWQgPSBUUlVFOwoJICAgICAgfQoJICAgIH0KCSAgfQoJfQoJZWxzZSBpZiggc3RhcnRzd2l0aCgka2V5LCdDOicpICkgewoJICBpZiggY2RfY29tcGFueTo6aXNfdmFsaWRfY2F0ZWdvcnkoJGtleSkgKSB7CgkgICAgJGNvbXBhbnktPnNldF9jYXRlZ29yeSgka2V5LCR2YWx1ZSk7CgkgICAgJG1vZGlmaWVkID0gVFJVRTsKCSAgfQoJfQoJZWxzZSB7CgkgIHRocm93IG5ldyBFeGNlcHRpb24oJGtleS4nIGlzIGFuIGludmFsaWQgY29tcGFueSBmaWVsZCcpOwoJfQogICAgICB9CiAgICAgICRjb21wYW55LT51cmwgPSAnJzsKCiAgICAgIGlmKCAkbW9kaWZpZWQgKSB7CgkvLyBzYXZlIHRoZSByZWNvcmQKCSRjb21wYW55LT5zYXZlKCk7CgoJLy8gYXVkaXQgdGhlIHRoaW5nCgkkdGhpcy0+QXVkaXQoJGNvcGFueS0+aWQsJHRoaXMtPkdldE5hbWUoKSwnTE9DQVRJT04vRURJVDogYnkgJy4kdWlkKTsKICAgICAgfQogICAgfQogICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0xPQ0FUSU9OL0VESVQ6ICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAgIH0KICAgIGJyZWFrOwoKICBjYXNlICdQSE9UT1VQTE9BRCc6CiAgICB0cnkgewogICAgICBpZiggISR0aGlzLT5HZXRQcmVmZXJlbmNlKCduZXdsb2NhdGlvbl9hbGxvd2VkaXQnLDEpICkKCXRocm93IG5ldyBFeGNlcHRpb24oJ0VkaXRpbmcgbG9jYXRpb25zIGlzIG5vdCBwZXJtaXR0ZWQgYXQgdGhpcyB0aW1lJyk7CiAgICAgIC8vIGNoZWNrIHBlcm1pc3Npb24KICAgICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fTE9DQVRJT05TX1dSSVRFKSApCgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgICAgaWYoICFpc3NldCgkX0ZJTEVTKSB8fCAhaXNfYXJyYXkoJF9GSUxFUykgfHwgIWNvdW50KCRfRklMRVMpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gZmlsZXMgYXR0YWNoZWQgdG8gcmVxdWVzdCcpOwogICAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgIGlmKCAhJGZldSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludGVybmFsIEVycm9yJyk7CgogICAgICBpZiggIWlzc2V0KCRfUE9TVFsnbG9jYXRpb24nXSkgfHwgIWlzc2V0KCRfUE9TVFsnb3duZXInXSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgZGF0YScpOwoKICAgICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICAgJG93bmVyID0gKGludCkkX1BPU1RbJ293bmVyJ107CiAgICAgIGlmKCAkdWlkICE9ICRvd25lciApIHRocm93IG5ldyBFeGNlcHRpb24oIkludmFsaWQgb3duZXIgZ290ICRvd25lciwgYnV0IGV4cGVjdGVkICR1aWQiKTsKCiAgICAgIC8vIGdldCB0aGUgcmVjb3JkCiAgICAgICRjb21wYW55ID0gY2RfY29tcGFueTo6bG9hZF9ieV9pZCgoaW50KSRfUE9TVFsnbG9jYXRpb24nXSk7CgogICAgICAvLyBjaGVjayBvd25lcnNoaXAKICAgICAgaWYoICRjb21wYW55LT5vd25lcl9pZCAhPSAkdWlkICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBlZGl0IGEgbG9jYXRpb24gd2l0aCBhIGRpZmZlcmVudCBvd25lcicpOwoKICAgICAgLy8gY2hlY2sgc3RhdHVzIChkaXNhYmxlZCBtZWFucyB5b3UgY2FuJ3QgZWRpdCBpdCkuCiAgICAgIGlmKCAkY29tcGFueS0+c3RhdHVzID09ICdkaXNhYmxlZCcgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGVkaXQgYSBkaXNhYmxlZCBsb2NhdGlvbicpOwoKICAgICAgLy8gc2VlIGlmIHdlIGhhdmUgYW4gYWxidW0gZmllbGQuLi4KICAgICAgJHRtcCA9ICRjb21wYW55LT5saXN0X2ZpZWxkcygpOwogICAgICAkZmllbGRzID0gJGNvbXBhbnktPmdldF9maWVsZHMoKTsKICAgICAgJGZkaWQgPSAnJzsKICAgICAgaWYoIGlzX2FycmF5KCRmaWVsZHMpICYmIGNvdW50KCRmaWVsZHMpICkgewoJZm9yZWFjaCggJGZpZWxkcyBhcyAkb25lICkgewoJICBpZiggJG9uZS0+dHlwZSA9PSAnYWxidW0nICkgewoJICAgICRmZGlkID0gJG9uZS0+aWQ7CgkgICAgYnJlYWs7CgkgIH0KCX0KICAgICAgfQogICAgICBpZiggISRmZGlkICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gYWxidW0gaW5mb3JtYXRpb24gZm91bmQnKTsKCiAgICAgIC8vIGRvIHJhdGUgY2hlY2tpbmcuCiAgICAgICRudW1saW1pdCA9IChpbnQpJHRoaXMtPkdldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX251bWxpbWl0JywwKTsKICAgICAgJHRpbWVsaW1pdCA9IChpbnQpJHRoaXMtPkdldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX251bWxpbWl0JywwKTsKICAgICAgaWYoICRudW1saW1pdCA+IDAgJiYgJHRpbWVsaW1pdCA+IDAgKSB7CgkvLyBieSB0aW1lLgoJJGZpbHRlciA9IG5ldyBjZF9jb21wYW55X2ZpbHRlcigpOwoJJGZpbHRlclsnbW9kaWZpZWRfc2luY2UnXSA9IHRpbWUoKS0kdGltZWxpbWl0KjYwOwoJJGZpbHRlclsnb3duZXJfaWQnXSA9ICRvd25lcjsKCSRmaWx0ZXJbJ3BhZ2VsaW1pdCddID0gJG51bWxpbWl0KzE7IC8vIHllcCwgdHJ5IHRvIGdldCBvbmUgbW9yZSB0aGFuIG91ciBsaW1pdC4KCSRxdWVyeSA9IG5ldyBjZF9jb21wYW55X3F1ZXJ5KCRmaWx0ZXIpOwoJaWYoICRxdWVyeS0+Z2V0X3Jlc3VsdF9jb3VudCgpID4gJG51bWxpbWl0ICkgewoJICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdZb3UgaGF2ZSBjcmVhdGVkIG9yIGVkaXRlZCB0b28gbWFueSBsb2NhdGlvbnMgbGF0ZWx5LiAgUGxlYXNlIHRyeSBhZ2FpbiBsYXRlcicpOwoJfQogICAgICB9CgogICAgICAvLyB3ZSdyZSByZWFkeSB0byBoYW5kbGUgdGhlIHVwbG9hZC4uLgogICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKICAgICAgJG9wdGlvbnNbJ3BhcmFtX25hbWUnXSA9ICdmaWxlJzsKICAgICAgJG9wdGlvbnNbJ2NvbXBpZCddID0gJGNvbXBhbnktPmlkOwogICAgICAkb3B0aW9uc1snY29tcGFueSddID0gJGNvbXBhbnk7CiAgICAgICRvcHRpb25zWydmZGlkJ10gPSAkZmRpZDsgLy8gdG9kbzogZ2V0IHRoaXMKICAgICAgJG9wdGlvbnNbJ3VwbG9hZF9kaXInXSA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2NvbXBhbnlkaXJlY3RvcnknLCdpZCcuJGNvbXBhbnktPmlkLCdhbGJ1bV8nLiRmZGlkKS4nLyc7CiAgICAgICRvcHRpb25zWyd1cGxvYWRfdXJsJ10gPSAkY29uZmlnWyd1cGxvYWRzX3VybCddLiIvY29tcGFueWRpcmVjdG9yeS9pZCIuJGNvbXBhbnktPmlkLiIvYWxidW1fJGZkaWQvIjsKICAgICAgJHVwbG9hZF9oYW5kbGVyID0gbmV3IENvbXBhbnlEaXJlY3RvcnlKUXVlcnlVcGxvYWRIYW5kbGVyKCRvcHRpb25zKTsKICAgICAgJHVwbG9hZF9oYW5kbGVyLT5wb3N0KCk7IC8vIGNvbXBhbnkgZ2V0cyBzYXZlZCBpbiB0aGUgaGFuZGxlci4KICAgICAgZXhpdDsKICAgIH0KICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdMT0NBVElPTi9QSE9UT1VQTE9BRDogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgfQogICAgYnJlYWs7CgogIGNhc2UgJ1BIT1RPREVMRVRFJzoKICAgIHRyeSB7CiAgICAgIGlmKCAhJHRoaXMtPkdldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX2FsbG93ZWRpdCcsMSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFZGl0aW5nIGxvY2F0aW9ucyBpcyBub3QgcGVybWl0dGVkIGF0IHRoaXMgdGltZScpOwogICAgICAvLyBjaGVjayBwZXJtaXNzaW9uCiAgICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0xPQ0FUSU9OU19XUklURSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgICAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICBpZiggISRmZXUgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnRlcm5hbCBFcnJvcicpOwogICAgICBpZiggIWlzc2V0KCRfUE9TVFsnbG9jYXRpb24nXSkgfHwgIWlzc2V0KCRfUE9TVFsnb3duZXInXSkgfHwgIWlzc2V0KCRfUE9TVFsnZmlsZSddKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBkYXRhJyk7CgogICAgICAkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgICAkb3duZXIgPSAoaW50KSRfUE9TVFsnb3duZXInXTsKICAgICAgaWYoICR1aWQgIT0gJG93bmVyICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZXhwZWN0ZWQgJHVpZCIpOwogICAgICAkZmlsZXMgPSAkX1BPU1RbJ2ZpbGUnXTsKCiAgICAgIC8vIGdldCB0aGUgcmVjb3JkCiAgICAgICRjb21wYW55ID0gY2RfY29tcGFueTo6bG9hZF9ieV9pZCgoaW50KSRfUE9TVFsnbG9jYXRpb24nXSk7CgogICAgICAvLyBjaGVjayBvd25lcnNoaXAKICAgICAgaWYoICRjb21wYW55LT5vd25lcl9pZCAhPSAkdWlkICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBlZGl0IGEgbG9jYXRpb24gd2l0aCBhIGRpZmZlcmVudCBvd25lcicpOwoKICAgICAgLy8gY2hlY2sgc3RhdHVzIChkaXNhYmxlZCBtZWFucyB5b3UgY2FuJ3QgZWRpdCBpdCkuCiAgICAgIGlmKCAkY29tcGFueS0+c3RhdHVzID09ICdkaXNhYmxlZCcgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGVkaXQgYSBkaXNhYmxlZCBsb2NhdGlvbicpOwoKICAgICAgLy8gc2VlIGlmIHdlIGhhdmUgYW4gYWxidW0gZmllbGQuLi4KICAgICAgJHRtcCA9ICRjb21wYW55LT5saXN0X2ZpZWxkcygpOwogICAgICAkZmllbGRzID0gJGNvbXBhbnktPmdldF9maWVsZHMoKTsKICAgICAgJGZkaWQgPSAnJzsKICAgICAgaWYoIGlzX2FycmF5KCRmaWVsZHMpICYmIGNvdW50KCRmaWVsZHMpICkgewoJZm9yZWFjaCggJGZpZWxkcyBhcyAkb25lICkgewoJICBpZiggJG9uZS0+dHlwZSA9PSAnYWxidW0nICkgewoJICAgICRmZGlkID0gJG9uZS0+aWQ7CgkgICAgYnJlYWs7CgkgIH0KCX0KICAgICAgfQogICAgICBpZiggISRmZGlkICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gYWxidW0gaW5mb3JtYXRpb24gZm91bmQnKTsKCiAgICAgICRmbmQgPSAwOwogICAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJGZpbGVuYW1lICkgewoJJGZpbGVuYW1lID0gYmFzZW5hbWUoJGZpbGVuYW1lKTsKCWlmKCAkY29tcGFueS0+ZGVsZXRlX2FsYnVtX2ZpbGUoJGZkaWQsJGZpbGVuYW1lKSApIHsKCSAgJGZuZCsrOwoJfQogICAgICB9CgogICAgICBpZiggISRmbmQgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCJQcm9ibGVtIGRlbGV0aW5nICRmaWxlbmFtZSBmb3IgZmllbGQgJGZkaWQiKTsKCiAgICAgIC8vZG9uZS4KICAgICAgJGNvbXBhbnktPnNhdmUoKTsKICAgIH0KICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdMT0NBVElPTi9QSE9UT1VQTE9BRDogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgfQogICAgYnJlYWs7CgogY2FzZSAnRkFWT1JJVEVTJzoKICAgdHJ5IHsKICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9MT0NBVElPTlNfUkVBRCkgfHwKCSAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0ZBVk9SSVRFU19SRUFEKSApIHsKICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgIH0KCiAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICAgICBpZiggISRmZXUgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnRlcm5hbCBFcnJvcicpOwogICAgIGlmKCAhaXNzZXQoJF9QT1NUWydvd25lciddKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICAkb3duZXIgPSAoaW50KSRfUE9TVFsnb3duZXInXTsKICAgICBpZiggJHVpZCAhPSAkb3duZXIgKSAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiSW52YWxpZCBvd25lciBnb3QgJG93bmVyLCBidXQgZXhwZWN0ZWQgJHVpZCIpOwoKICAgICAkZmF2cyA9IGNnc2FfZmF2b3JpdGVzOjpnZXQoJHVpZCk7CiAgICAgaWYoIGlzX2FycmF5KCRmYXZzKSAmJiBjb3VudCgkZmF2cykgKSAkZmlsdGVyID0gbmV3IGNkX2NvbXBhbnlfZmlsdGVyKGFycmF5KCdpZGxpc3QnPT4kZmF2cykpOwogICAgIGNkX2NvbXBhbnlfcXVlcnk6OnNldF9yZXN1bHRfbW9kZShjZF9jb21wYW55X3F1ZXJ5OjpSRVNVTFRTX0FSUkFZKTsKICAgICAkb2JqID0gbmV3IGNkX2NvbXBhbnlfcXVlcnkoJGZpbHRlcik7CgogICAgICRvdXRwdXQgPSBhcnJheSgpOwogICAgICRyZXMgPSBhcnJheV92YWx1ZXMoJG9iai0+Z2V0X3Jlc3VsdHMoKSk7CiAgICAgJG91dHB1dFsnbnVtX21hdGNoZXMnXSA9ICRvYmotPmdldF90b3RhbF9tYXRjaGVzKCk7CiAgICAgJG91dHB1dFsnbG9jYXRpb25zJ10gPSAkcmVzOwogICB9CiAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0xPQ0FUSU9OL0ZBVk9SSVRFUzogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CgogY2FzZSAnTU9TVENIRUNLSU5TJzoKICAgdHJ5IHsKICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9MT0NBVElPTlNfUkVBRCkgfHwKCSAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0NIRUNLSU5TX1JFQUQpICkgewogICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgfQoKICAgICAkcGFybXMgPSAkX1JFUVVFU1Q7CiAgICAgJHBhcm1zWydzb3J0YnknXSA9ICdtb3N0Y2hlY2tpbnMnOwogICAgICRwYXJtc1snc29ydG9yZGVyJ10gPSAnREVTQyc7CiAgICAgJGZpbHRlciA9IG5ldyBjZF9jb21wYW55X2ZpbHRlcigkcGFybXMpOwoKICAgICBjZF9jb21wYW55X3F1ZXJ5OjpzZXRfcmVzdWx0X21vZGUoY2RfY29tcGFueV9xdWVyeTo6UkVTVUxUU19BUlJBWSk7CiAgICAgJG9iaiA9IG5ldyBjZF9jb21wYW55X3F1ZXJ5KCRmaWx0ZXIpOwogICAgICRyZXMgPSBhcnJheV92YWx1ZXMoJG9iai0+Z2V0X3Jlc3VsdHMoKSk7CiAgICAgJG91dHB1dCA9IGFycmF5KCk7CiAgICAgJG91dHB1dFsnbnVtX21hdGNoZXMnXSA9ICRvYmotPmdldF90b3RhbF9tYXRjaGVzKCk7CiAgICAgJG91dHB1dFsnbG9jYXRpb25zJ10gPSAkcmVzOwogICB9CiAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgJHRoaXMtPkF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0xPQ0FUSU9OL01PU1RDSEVDS0lOUzogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CgogY2FzZSAnTU9TVEZBVk9SSVRFJzoKICAgdHJ5IHsKICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9MT0NBVElPTlNfUkVBRCkgfHwKCSAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX0ZBVk9SSVRFU19SRUFEKSApIHsKICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICAgIH0KCiAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwoKICAgICAkcGFybXMgPSAkX1JFUVVFU1Q7CiAgICAgJHBhcm1zWydzb3J0YnknXSA9ICdtb3N0ZmF2b3JpdGUnOwogICAgICRwYXJtc1snc29ydG9yZGVyJ10gPSAnREVTQyc7CgogICAgIC8vIGdldCB1c2VycyBmcmllbmRzIGxpc3QuCiAgICAgJGZyaWVuZHMgPSBudWxsOwogICAgIGlmKCBpc3NldCgkX1BPU1RbJ2J5ZnJpZW5kcyddKSAmJiBjbXNfdG9fYm9vbCgkX1BPU1RbJ2J5ZnJpZW5kcyddKSApIHsKICAgICAgICRmcmllbmRzID0gY2dzYV9mcmllbmRzOjpnZXRfZnJpZW5kcygkdWlkLCRsaW1pdCwkb2Zmc2V0KTsKICAgICAgIGRlYnVnX3RvX2xvZygkZnJpZW5kcywnZnJpZW5kcycpOwogICAgICAgaWYoIGlzX2FycmF5KCRmcmllbmRzKSAmJiBjb3VudCgkZnJpZW5kcykgPiAwICkgewoJICRwYXJtc1snb3duZXJsaXN0J10gPSAkZnJpZW5kczsKICAgICAgIH0KICAgICB9CgogICAgICRmaWx0ZXIgPSBuZXcgY2RfY29tcGFueV9maWx0ZXIoJHBhcm1zKTsKCiAgICAgY2RfY29tcGFueV9xdWVyeTo6c2V0X3Jlc3VsdF9tb2RlKGNkX2NvbXBhbnlfcXVlcnk6OlJFU1VMVFNfQVJSQVkpOwogICAgICRvYmogPSBuZXcgY2RfY29tcGFueV9xdWVyeSgkZmlsdGVyKTsKICAgICAkcmVzID0gYXJyYXlfdmFsdWVzKCRvYmotPmdldF9yZXN1bHRzKCkpOwogICAgICRvdXRwdXQgPSBhcnJheSgpOwogICAgICRvdXRwdXRbJ251bV9tYXRjaGVzJ10gPSAkb2JqLT5nZXRfdG90YWxfbWF0Y2hlcygpOwogICAgICRvdXRwdXRbJ2xvY2F0aW9ucyddID0gJHJlczsKICAgfQogICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICR0aGlzLT5BdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdMT0NBVElPTi9NT1NURkFWT1JJVEU6ICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICB9CiAgIGJyZWFrOwoKICBkZWZhdWx0OgogICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdVbmtub3duIGNvbW1hbmQnKTsKICB9CgpjZ3NhX3V0aWxzOjpyZXR1cm5fc3VjY2Vzcygkb3V0cHV0KTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.api_social.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApICRvcCA9IHN0cnRvdXBwZXIodHJpbSgkX1JFUVVFU1RbJ29wJ10pKTsKaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgJGFwaWtleSA9IHRyaW0oJF9SRVFVRVNUWydhcGlrZXknXSk7CgovLyB2YWxpZGF0aW9uIGNoZWNrCmlmKCAkYXBpa2V5ID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdObyBBdXRoZW50aWNhdGlvbiBJbmZvcm1hdGlvbicpOwppZiggJG9wID09ICcnICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdPcGVyYXRpb24gbm90IHNwZWNpZmllZCcpOwoKLy8gdmFsaWRhdGUgdGhlIGFwaWtleS4KJGFjY2Vzc19pbmZvID0gY2dzYV91dGlsczo6dmFsaWRhdGVfYXBpa2V5KCRhcGlrZXkpOwppZiggIWlzX29iamVjdCgkYWNjZXNzX2luZm8pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIGF1dGhlbnRpY2F0aW9uIGluZm9ybWF0aW9uJyk7CgovLwovLyBoYW5kbGUgdGhlIHJlcXVlc3QKLy8Kc3dpdGNoKCAkb3AgKSB7CiBjYXNlICdMSVNUJzogLy8gbGlzdCBzb2NpYWwgbmV0d29ya3Mgd2Uga25vdyBhYm91dAogICB0cnkgewogICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1NPQ0lBTF9SRUFEKSApCiAgICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgICAgJG91dHB1dCA9IGNnc2Ffc29jaWFsOjpnZXRfbmV0d29ya19saXN0KCk7CiAgIH0KICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJGUtPmdldE1lc3NhZ2UoKSk7CiAgIH0KICAgYnJlYWs7CgogY2FzZSAnR0VUS0VZJzogLy8gZ2V0IHVzZXIgY3JlZGVudGlhbHMKICAgdHJ5IHsKICAgICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9TT0NJQUxfUkVBRCkgKQogICAgICAgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgLy8gdG9kbzogY2hlY2sgZm9yIEhUVFBTCiAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyd1aWQnXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsndiddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWyduZXR3b3JrJ10pICkKICAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IGRhdGEnKTsKICAgICAkdWlkID0gdHJpbSgkX1JFUVVFU1RbJ3VpZCddKTsKICAgICAkdiA9IHRyaW0oJF9SRVFVRVNUWyd2J10pOwogICAgICRuZXR3b3JrID0gdHJpbSgkX1JFUVVFU1RbJ25ldHdvcmsnXSk7CiAgICAgaWYoIG1kNSgkYXBpa2V5LiR1aWQuJG5ldHdvcmspICE9ICR2ICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignRGF0YSB2YWxpZGF0aW9uIGVycm9yJyk7CiAgICAgJGZldSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZShNT0RfRlJPTlRFTkRVU0VSUyk7CiAgICAgaWYoICEkZmV1ICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW50ZXJuYWwgZXJyb3InKTsKICAgICBpZiggJGZldS0+TG9nZ2VkSW5JZCgpICE9ICR1aWQgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdVc2VyIHZhbGlkYXRpb24gZXJyb3InKTsKICAgICAkbmV0d29ya21vZCA9IGNnc2Ffc29jaWFsOjpmaW5kX25ldHdvcmtfbW9kdWxlKCRuZXR3b3JrKTsKICAgICBpZiggISRuZXR3b3JrbW9kICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW52YWxpZCBuZXR3b3JrIHNwZWNpZmllZDogJy4kbmV0d29yayk7CiAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbmV0d29ya21vZCk7CiAgICAgaWYoICFpc19vYmplY3QoJG1vZCkgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdTb2NpYWwgbmV0d29yayBtb2R1bGUgJy4kbmV0d29ya21vZC4nIG5vdCBmb3VuJyk7CiAgICAgJG91dHB1dCA9ICRtb2QtPmdldF91c2VyX2tleSgkdWlkKTsgLy8gbWF5IHJldHVybiBudWxsLi4uIG5vdCBhbiBlcnJvci4KICAgfQogICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkZS0+Z2V0TWVzc2FnZSgpKTsKICAgfQogICBicmVhazsKCiBjYXNlICdTRVRLRVknOiAvLyBzZXQgdXNlciBjcmVkZW50aWFscwogICB0cnkgewogICAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1NPQ0lBTF9SRUFEKSAmJiAKCSAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1NPQ0lBTF9XUklURSkgKQogICAgICAgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgICAgLy8gdG9kbywgY2hlY2sgZm9yIEhUVFBTCiAgICAgaWYoICFjZ3NhX3V0aWxzOjppc19wb3N0X3JlcXVlc3QoKSApIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgICBpZiggIWlzc2V0KCRfUkVRVUVTVFsndWlkJ10pIHx8ICFpc3NldCgkX1JFUVVFU1RbJ3YnXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsnbmV0d29yayddKSB8fCAKCSAhaXNzZXQoJF9SRVFVRVNUWyd0b2tlbiddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWydzZWNyZXQnXSkgKQogICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAgICR1aWQgPSB0cmltKCRfUkVRVUVTVFsndWlkJ10pOwogICAgICR2ID0gdHJpbSgkX1JFUVVFU1RbJ3YnXSk7CiAgICAgJG5ldHdvcmsgPSB0cmltKCRfUkVRVUVTVFsnbmV0d29yayddKTsKICAgICAkdG9rZW4gPSB0cmltKCRfUkVRVUVTVFsndG9rZW4nXSk7CiAgICAgJHNlY3JldCA9IHRyaW0oJF9SRVFVRVNUWydzZWNyZXQnXSk7CiAgICAgJHggPSBtZDUoJGFwaWtleS4kdWlkLiRuZXR3b3JrLiR0b2tlbi4kc2VjcmV0KTsKICAgICBpZiggJHggIT0gJHYgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCJEYXRhIHZhbGlkYXRpb24gZXJyb3IgJHggdnMgJHYiKTsKICAgICAkZmV1ID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKICAgICBpZiggISRmZXUgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdJbnRlcm5hbCBlcnJvcicpOwogICAgIGlmKCAoJHggPSAkZmV1LT5Mb2dnZWRJbklkKCkpICE9ICR1aWQgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdVc2VyIHZhbGlkYXRpb24gZXJyb3IgJy4keC4nLycuJHVpZCk7CiAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbmV0d29yayk7CiAgICAgaWYoICFpc19vYmplY3QoJG1vZCkgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdTb2NpYWwgbmV0d29yayBtb2R1bGUgJy4kbmV0d29yay4nIG5vdCBmb3VuJyk7CiAgICAgZGVidWdfdG9fbG9nKCdzZXQgdXNlciBrZXkgJy4kbmV0d29yay4nIHRvICcuJHRva2VuLicgLSAnLiRzZWNyZXQpOwogICAgICRtb2QtPnNldF91c2VyX2tleSgkdWlkLCR0b2tlbiwkc2VjcmV0KTsKICAgfQogICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkZS0+Z2V0TWVzc2FnZSgpKTsKICAgfQogICBicmVhazsKfSAvLyBzd2l0Y2gKCmNnc2FfdXRpbHM6OnJldHVybl9zdWNjZXNzKCRvdXRwdXQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.api_users.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokYXBpa2V5ID0gJyc7CiRvcCA9ICcnOwokb3V0cHV0ID0gbnVsbDsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkX1JFUVVFU1RbJ29wJ10gKSApICRvcCA9IHN0cnRvdXBwZXIodHJpbSgkX1JFUVVFU1RbJ29wJ10pKTsKaWYoIGlzc2V0KCRfUkVRVUVTVFsnYXBpa2V5J10pICkgJGFwaWtleSA9IHRyaW0oJF9SRVFVRVNUWydhcGlrZXknXSk7CgovLyBkZXBlbmRlbmN5IGNoZWNrLgokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKaWYoICEkZmV1ICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdGcm9udEVuZFVzZXJzIG1vZHVsZSBub3QgZm91bmQnKTsKCi8vIHZhbGlkYXRpb24gY2hlY2sKaWYoICRhcGlrZXkgPT0gJycgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ05vIEF1dGhlbnRpY2F0aW9uIEluZm9ybWF0aW9uJyk7CmlmKCAkb3AgPT0gJycgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ09wZXJhdGlvbiBub3Qgc3BlY2lmaWVkJyk7CgovLyB2YWxpZGF0ZSB0aGUgYXBpa2V5LgokYWNjZXNzX2luZm8gPSBjZ3NhX3V0aWxzOjp2YWxpZGF0ZV9hcGlrZXkoJGFwaWtleSk7CmlmKCAhaXNfb2JqZWN0KCRhY2Nlc3NfaW5mbykgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24nKTsKCi8vIAovLyBoYW5kbGUgdGhlIHJlcXVlc3QKLy8Kc3dpdGNoKCAkb3AgKSB7CiBjYXNlICdSRUdJU1RFUic6IC8vIFBPU1QgUkVRVUVTVCAKICAgLy8gYWRkcyBhIG5ldyB1c2VyIHRvIHRoZSBzeXN0ZW0KICAgLy8gdG9kbzogY2hlY2sgaWYgdXNlciBoYXMgYWNjZXNzCiAgIC8vIHJldHVybnMgMjAwIGZvciBzdWNjZXNzLiA0MDAgZm9yIGVycm9yLi4uIDUwMCBmb3IgaW50ZXJuYWwgZXJyb3IuCiAgIC8vIHBhcmFtZXRlcnM6ICB1ID0gdXNlcm5hbWUgKG1vc3QgZm9sbG93IEZFVSBydWxlcyksIHAgPSBwYXNzd29yZCAobXVzdCBmb2xsb3cgRkVVIHJ1bGVzKSwgdiA9IG1kNSBoYXNoIG9mIGFwaWtleSwgdXNlcm5hbWUsIHBhc3N3b3JkCiAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1VTRVJTX1JFR0lTVEVSKSApCiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgJGdpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVfdXNlcmdyb3VwJywtMSk7CiAgIGlmKCAkZ2lkIDw9IDAgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludGVybmFsIG1vZHVsZSBjb25maWd1cmF0aW9uIGVycm9yJyk7CiAgIGlmKCAhY2dzYV91dGlsczo6aXNfcG9zdF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgLy9pZiggIWNnc2FfdXRpbHM6OmlzX3JlcXVlc3Rfc2VjdXJlKCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc2VjdXJlIHJlcXVlc3QnKTsKICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3UnXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsncCddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWyd2J10pICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICR2ID0gdHJpbSgkX1JFUVVFU1RbJ3YnXSk7CiAgICR1ID0gdHJpbSgkX1JFUVVFU1RbJ3UnXSk7CiAgICRwID0gdHJpbSgkX1JFUVVFU1RbJ3AnXSk7CiAgIGlmKCBtZDUoJGFwaWtleS4kdS4kcCkgIT0gJHYgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0RhdGEgdmFsaWRhdGlvbiBlcnJvcicpOwogICAkZT0gc3RydG90aW1lKCcrNSB5ZWFycycpOwogICAkcmVzID0gJGZldS0+QWRkVXNlcigkdSwkcCwkZSk7CiAgIGlmKCAhaXNfYXJyYXkoJHJlcykgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1Byb2JsZW0gYXR0ZW1wdGluZyB0byBjcmVhdGUgdXNlcicpOwogICBpZiggJHJlc1swXSA9PSBGQUxTRSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkcmVzWzFdKTsKICAgJHVpZCA9IChpbnQpJHJlc1sxXTsKICAgJHJlcyA9ICRmZXUtPkFzc2lnblVzZXJUb0dyb3VwKCAkdWlkLCAkZ2lkICk7CiAgIGlmKCAhJHJlcyApIHsKICAgICAvLyBkZWxldGUgdGhlIHVzZXI/CiAgICAgJGZldS0+RGVsZXRlVXNlckZ1bGwoICR1aWQgKTsKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1Byb2JsZW0gYWRkaW5nIHVzZXIgdG8gZ3JvdXAnKTsKICAgfQogICAvLyBUT0RPOiB1c2VyIGNyZWF0ZWQuLiB0aWUgaGltIHRvIHRoaXMgYXBwIAogICBhdWRpdCgkdWlkLCR0aGlzLT5HZXROYW1lKCksJ1VzZXIgJy4kdS4nIGNyZWF0ZWQnKTsKICAgYnJlYWs7CgogY2FzZSAnTE9HSU4nOiAgLy8gUE9TVCBSRVFVRVNUCiAgIC8vIGxvZyB1c2VyIGludG8gc3lzdGVtCiAgIC8vIGFjY2VwdHM6IHUgPSB1c2VybmFtZSwgcCA9IHBhc3N3b3JkLCB2ID0gbWQ1IGhhc2ggb2YgYXBpa2V5LCB1c2VybmFtZSwgcGFzc3dvcmQuCiAgIC8vIHJldHVybnMgMjAwIGZvciBzdWNjZXNzLi4uIDQwMCBmb3IgZGF0YSBlcnJvciwgNTAwIGZvciBpbnRlcm5hbCBlcnJvcgogICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9VU0VSU19MT0dJTikgKQogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgIGlmKCAhY2dzYV91dGlsczo6aXNfcG9zdF9yZXF1ZXN0KCkgKSByZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3UnXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsncCddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWyd2J10pICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICR2ID0gdHJpbSgkX1JFUVVFU1RbJ3YnXSk7CiAgICR1ID0gdHJpbSgkX1JFUVVFU1RbJ3UnXSk7CiAgICRwID0gdHJpbSgkX1JFUVVFU1RbJ3AnXSk7CiAgIGlmKCBtZDUoJGFwaWtleS4kdS4kcCkgIT0gJHYgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0RhdGEgdmFsaWRhdGlvbiBlcnJvcicpOwogICAkcmVzID0gJGZldS0+TG9naW4oJHUsJHApOwogICBpZiggIWlzX2FycmF5KCRyZXMpICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdQcm9ibGVtIHdpdGggdXNlciBjcmVkZW50aWFscycpOwogICBpZiggJHJlc1swXSA9PSBGQUxTRSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigkcmVzWzFdKTsKICAgLy8gbm93IHdlIG5lZWQgYSB1bmlxdWUgbWV0aG9kIG9mIGlkZW50aWZ5aW5nIHRoaXMgdXNlci4uLiBhbmQgZ2VuZXJhdGluZyBhIHNlc3Npb24uCiAgICRvdXRwdXQgPSAkcmVzWzBdOwogICBicmVhazsKCiBjYXNlICdQSU5HJzogICAgLy8gR0VUIFJFUVVFU1QKICAgLy8gbWFyayB0aGUgdXNlciBhcyBzdGlsbCBhY3RpdmUKICAgLy8gYWNjZXB0czogdWlkID0gdWlkLCB2ID0gbWQ1IGhhc2ggb2YgYXBpa2V5K3VpZAogICAvLyByZXR1cm5zIDIwMCBmb3Igc3VjY2Vzcy4uLiA0MDAgZm9yIGRhdGEgZXJyb3IsIDUwMCBmb3IgaW50ZXJuYWwgZXJyb3IuCiAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1VTRVJTX0xPR0lOKSApCiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMnKTsKICAgaWYoICFjZ3NhX3V0aWxzOjppc19nZXRfcmVxdWVzdCgpICkgcmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyd1aWQnXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsndiddKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IGRhdGEnKTsKICAgJHVpZCA9IHRyaW0oJF9SRVFVRVNUWyd1aWQnXSk7CiAgICR2ID0gdHJpbSgkX1JFUVVFU1RbJ3YnXSk7CiAgIGlmKCBtZDUoJGFwaWtleS4kdWlkKSAhPSAkdiApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignRGF0YSB2YWxpZGF0aW9uIGVycm9yJyk7CiAgICR0bXAgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgIGlmKCAkdG1wICE9ICR1aWQgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoIlVzZXIgdmFsaWRhdGlvbiBlcnJvcjo6IGdvdDogJyR0bXAnIGV4cGVjdGVkOiAnJHVpZCcgKHNlc3Npb24gIi5zZXNzaW9uX2lkKCkuJyknKTsKICAgYnJlYWs7CgogY2FzZSAnTE9HT1VUJzogIC8vIFBPU1QgUkVRVUVTVAogICAvLyBsb2cgdXNlciBvdXQgb2Ygc2Vzc2lvbi4KICAgLy8gYWNjZXB0czogdWlkID0gdXNlcmlkLCB2ID0gbWQ1IGhhc2ggb2YgYXBpa2V5LCB1aWQKICAgLy8gcmVxdWlyZXMgdmFsaWQgc2Vzc2lvbiBpZC4gKGNhbid0IGxvZ291dCBhcmJpdHJhcnkgdXNlcikuCiAgIC8vIHJldHVybnMgMjAwIG9uIHN1Y2Nlc3MuLi4gNDAwIGZvciBlcnJvci4KICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fVVNFUlNfTE9HSU4pICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICBpZiggIWNnc2FfdXRpbHM6OmlzX3Bvc3RfcmVxdWVzdCgpICkgcmV0dXJuX2Vycm9yKCdJbnZhbGlkIHJlcXVlc3QgbWV0aG9kJyk7CiAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyd1aWQnXSkgfHwgIWlzc2V0KCRfUkVRVUVTVFsndiddKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IGRhdGEnKTsKICAgJHVpZCA9IHRyaW0oJF9SRVFVRVNUWyd1aWQnXSk7CiAgICR2ID0gdHJpbSgkX1JFUVVFU1RbJ3YnXSk7CiAgIGlmKCBtZDUoJGFwaWtleS4kdWlkKSAhPSAkdiApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignRGF0YSB2YWxpZGF0aW9uIGVycm9yJyk7CiAgICR0dWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICBpZiggJHVpZCAhPSAkdHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcigiSW52YWxpZCB1aWQgZ290ICR1aWQsIGJ1dCBleHBlY3RlZCAkdHVpZCIpOwogICAkZmV1LT5Mb2dvdXQoJHVpZCk7CiAgIGJyZWFrOwoKIGNhc2UgJ0dFVElORk8nOiAvLyBHRVQgUkVRVUVTVAogICAvLyBnZXQgdXNlciBpbmZvcm1hdGlvbgogICAvLyBhY2NlcHRzOiB1aWQgPSB1aWQgLCB2ID0gbWQ1IGhhc2ggb2YgYXBpa2V5K3VpZAogICAvLyByZXR1cm5zIDIwMCBmb3Igc3VjY2Vzcy4uLiA0MDAgZm9yIGRhdGEgZXJyb3IsIDUwMCBmb3IgaW50ZXJuYWwgZXJyb3IKICAgLy8gcmV0dXJucyBhcnJheSBvZiB1c2VyIGluZm8uCiAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1VTRVJTX1JFQUQpICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSByZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3VpZCddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWyd2J10pICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICR1aWQgPSB0cmltKCRfUkVRVUVTVFsndWlkJ10pOwogICAkdiA9IHRyaW0oJF9SRVFVRVNUWyd2J10pOwogICBpZiggbWQ1KCRhcGlrZXkuJHVpZCkgIT0gJHYgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0RhdGEgdmFsaWRhdGlvbiBlcnJvcicpOwogICAvLyBzZWN1cml0eSBjaGVjay4uIGNhbiBvbmx5IHJldHJpZXZlIHlvdXIgb3duIGluZm8uCiAgIGlmKCAkZmV1LT5Mb2dnZWRJbklkKCkgIT0gJHVpZCApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignVXNlciB2YWxpZGF0aW9uIGVycm9yJyk7CiAgICR1c2VyID0gJGZldS0+R2V0VXNlckluZm8oJHVpZCk7CiAgIGlmKCAhaXNfYXJyYXkoJHVzZXIpICYmICR1c2VyWzBdID09IFRSVUUgKSB7CiAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdVc2VyIEluZm8gbm90IGZvdW5kJyk7CiAgIH0KICAgZWxzZSB7CiAgICAgJG91dHB1dCA9ICR1c2VyWzFdOwogICAgIGlmKCBpc3NldCgkb3V0cHV0WydwYXNzd29yZCddKSApIHVuc2V0KCRvdXRwdXRbJ3Bhc3N3b3JkJ10pOwogICAgICRkZWZucyA9ICRmZXUtPkdldFByb3BlcnR5RGVmbnMoKTsKICAgICAkb3V0cHV0Wydwcm9wcyddID0gJGZldS0+R2V0VXNlclByb3BlcnRpZXMoJHVpZCk7CiAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJG91dHB1dCk7ICRpKysgKSB7CiAgICAgICAkbmFtZSA9ICRvdXRwdXRbJGldWyd0aXRsZSddOwogICAgICAgaWYoICRkZWZuc1skbmFtZV1bJ3R5cGUnXSA9PSA2ICkgeyAvLyBpbWFnZQoJIC8vIGdldCB0aGUgZnVsbCB1cmwgdG8gdGhpcyBpbWFnZS4KCSAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkgJG91dHB1dFskaV1bJ3VybCddID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nL2ZldXNlcnMvJy4kb3V0cHV0WyRpXVsnZGF0YSddOwogICAgICAgfQogICAgIH0KICAgfQogICBicmVhazsKCiBjYXNlICdTRVRQUk9QUyc6IC8vIFBPU1QgUkVRVUVTVAogICAvLyBzZXQgdXNlciBpbmZvCiAgIC8vIGFjY2VwdHMgdWlkLCB2IGFuZCBvdGhlciBvcHRpb25hbCBwYXJhbXMKICAgLy8gOjpwYXNzd29yZDo6CiAgIC8vIDo6cmVwZWF0ZXBhc3N3b3JkOjoKICAgLy8gcHJvcGVydHk9dmFsdWUgLS0gc3BlY2lmaWVzIHByb3BlcnRpZXMgKGFjY29yZGluZyB0byB1c2VyIGdyb3VwKQogICBpZiggISRhY2Nlc3NfaW5mby0+Y2hlY2tfcGVybWlzc2lvbihjZ3NhX2FwaWtleV9wZXJtczo6UEVSTV9VU0VSU19XUklURSkgKQogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgIGlmKCAhY2dzYV91dGlsczo6aXNfcG9zdF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3VpZCddKSB8fCAhaXNzZXQoJF9SRVFVRVNUWyd2J10pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAkdWlkID0gdHJpbSgkX1JFUVVFU1RbJ3VpZCddKTsKICAgJHYgPSB0cmltKCRfUkVRVUVTVFsndiddKTsKICAgaWYoIG1kNSgkYXBpa2V5LiR1aWQpICE9ICR2ICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdEYXRhIHZhbGlkYXRpb24gZXJyb3InKTsKICAgLy8gc2VjdXJpdHkgY2hlY2suLiBjYW4gb25seSBtb2RpZnkgeW91ciBvd24gaW5mby4KICAgaWYoICRmZXUtPkxvZ2dlZEluSWQoKSAhPSAkdWlkICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdVc2VyIHZhbGlkYXRpb24gZXJyb3InKTsKICAgJGhhdmVfbW9kaWZpZWQgPSBGQUxTRTsKICAgLy8gaGFuZGxlIHNldCB1c2VyIHBhc3N3b3JkLgogICBpZiggaXNzZXQoJF9SRVFVRVNUWyc6OnBhc3N3b3JkOjonXSkgJiYgaXNzZXQoJF9SRVFVRVNUWyc6OnJlcGVhdHBhc3N3b3JkOjonXSkgKSB7CiAgICAgaWYoICRfUkVRVUVTVFsnOjpwYXNzd29yZDo6J10gIT0gJF9SRVFVRVNUWyc6OnJlcGVhdHBhc3N3b3JkOjonXSApIHsKICAgICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignUGFzc3dvcmRzIGRvIG5vdCBtYXRjaCcpOwogICAgIH0KICAgICBlbHNlIGlmKCAhJGZldS0+SXNWYWxpZFBhc3N3b3JkKCRfUkVRVUVTVFsnOjpwYXNzd29yZDo6J10pICkgewogICAgICAgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnZhbGlkIFBhc3N3b3JkJyk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgJHJlcyA9ICRmZXUtPlNldFVzZXJQYXNzd29yZCgkdWlkLCRfUkVRVUVTVFsnOjpwYXNzd29yZDo6J10pOwogICAgICAgaWYoICRyZXNbMF0gPT0gRkFMU0UgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJHJlc1sxXSk7CiAgICAgICAkaGF2ZV9tb2RpZmllZCA9IFRSVUU7CiAgICAgfQogICB9CiAgICRjdXJfaW5mbyA9ICRmZXUtPkdldFVzZXJQcm9wZXJ0eVJlbGF0aW9ucygkdWlkKTsKICAgJGlucHV0ID0gYXJyYXkoKTsKICAgJGNvdW50ID0gMDsKICAgZm9yZWFjaCgkY3VyX2luZm8gYXMgJG9uZSApIHsKICAgICAka2V5ID0gJG9uZVsnbmFtZSddOwogICAgIGlmKCAhaXNzZXQoJF9SRVFVRVNUWyRrZXldKSApIGNvbnRpbnVlOwoKICAgICAkcmVzID0gJGZldS0+U2V0VXNlclByb3BlcnR5RnVsbCgka2V5LHRyaW0oJF9SRVFVRVNUWyRrZXldKSwkdWlkKTsKICAgICBpZiggISRyZXMgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1Byb2JsZW0gc2V0dGluZyBwcm9wZXJ0eSAnLiRrZXkpOwogICAgICRjb3VudCsrOwogICB9CiAgIGlmKCAkY291bnQgPT0gMCAmJiAhJGhhdmVfbW9kaWZpZWQgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ05vdGhpbmcgdG8gZG8nKTsKICAgYnJlYWs7CiAgICAKIGNhc2UgJ1BST1BFUlRJRVMnOiAvLyBHRVQgCiAgIC8vIHJldHJpZXZlIGxpc3Qgb2YgdXNlciBwcm9wZXJ0aWVzCiAgIC8vIGFjY2VwdHM6IHVpZCwgdiA9IG1kNSBoYXNoIG9mIGFwaWtleSt1aWQKICAgLy8gcmV0dXJucyBhcnJheSBvZiB1c2VyIHByb3BlcnRpZXMKICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fVVNFUlNfUkVBRCkgKQogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgIGlmKCAhY2dzYV91dGlsczo6aXNfZ2V0X3JlcXVlc3QoKSApIHJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICBpZiggIWlzc2V0KCRfUkVRVUVTVFsndWlkJ10pIHx8ICFpc3NldCgkX1JFUVVFU1RbJ3YnXSkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBkYXRhJyk7CiAgICR1aWQgPSB0cmltKCRfUkVRVUVTVFsndWlkJ10pOwogICAkdiA9IHRyaW0oJF9SRVFVRVNUWyd2J10pOwogICBpZiggbWQ1KCRhcGlrZXkuJHVpZCkgIT0gJHYgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0RhdGEgdmFsaWRhdGlvbiBlcnJvcicpOwogICAvLyBzZWN1cml0eSBjaGVjay4uIGNhbiBvbmx5IG1vZGlmeSB5b3VyIG93biBpbmZvLgogICBpZiggJGZldS0+TG9nZ2VkSW5JZCgpICE9ICR1aWQgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ1VzZXIgdmFsaWRhdGlvbiBlcnJvcicpOwogICAvLyBnZXQgdGhlIHVzZXJzIGdyb3VwcwogICAkdXByb3BlcnRpZXMgPSAkZmV1LT5HZXRVc2VyUHJvcGVydHlSZWxhdGlvbnMoJHVpZCk7CiAgICRwcm9wcyA9IGFycmF5KCk7CiAgICRkZWZucyA9ICRmZXUtPkdldFByb3BlcnR5RGVmbnMoKTsKICAgZm9yKCAkYiA9IDA7ICRiIDwgY291bnQoJHVwcm9wZXJ0aWVzKTsgJGIrKyApIHsKICAgICAkbmFtZSA9ICR1cHJvcGVydGllc1skYl1bJ25hbWUnXTsKICAgICBpZiggIWlzc2V0KCRkZWZuc1skbmFtZV0pICkgY29udGludWU7IC8vIHdoeSB3b3VsZCB0aGlzIGhhcHBlbj8KICAgICAkcHJvcHNbJG5hbWVdID0gJGRlZm5zWyRuYW1lXTsKICAgfQogICAkb3V0cHV0ID0gJHByb3BzOwogICAvLyBnZXQgdGhlIHByb3BlcnRpZXMgZm9yIHRob3NlIGdyb3VwCiAgIC8vIGFzIGEgdW5pb24uCiAgIGJyZWFrOwoKIGNhc2UgJ0JBREdFUyc6IC8vIEdFVAogICAvLyByZXRyaWV2ZSB1c2VyIGJhZGdlIGlkJ3MgKGlmIGFueSkuCiAgIGlmKCAhJGFjY2Vzc19pbmZvLT5jaGVja19wZXJtaXNzaW9uKGNnc2FfYXBpa2V5X3Blcm1zOjpQRVJNX1VTRVJTX1JFQUQpICkKICAgICBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0luc3VmZmljaWVudCBQZXJtaXNzaW9ucycpOwogICBpZiggIWNnc2FfdXRpbHM6OmlzX2dldF9yZXF1ZXN0KCkgKSBjZ3NhX3V0aWxzOjpyZXR1cm5fZXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBtZXRob2QnKTsKICAgaWYoICFpc3NldCgkX1JFUVVFU1RbJ3VpZCddKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IGRhdGEnKTsKICAgJGxpc3QgPSBjZ3NhX2JhZGdlX3V0aWxzOjpnZXRfbWVtYmVyX2JhZGdlcygoaW50KSRfUkVRVUVTVFsndWlkJ10pOwogICBpZiggaXNfYXJyYXkoJGxpc3QpICYmIGNvdW50KCRsaXN0KSApIHsKICAgICAkb3V0cHV0ID0gJGxpc3Q7CiAgIH0KICAgYnJlYWs7CgogY2FzZSAnSElTVE9SWSc6IC8vIEdFVAogICAvLyByZXRyaWV2ZSB1c2VyIGhpc3RvcnkKICAgLy8gYWNjZXB0czogdWlkLCB2ID0gbWQ1IGhhc2ggb2YgYXBpa2V5K3VpZCwgW24gPSBudW1iZXIgb2YgZW50cmllc10gW3N0aW1lID0gc3RhcnQgdGltZXN0YW1wXQogICAvLyByZXF1aXJlcyB2YWxpZCBzZXNzaW9uIGlkIChjYW4ndCBnZXQgZGF0YSBvbiBhcmJpdHJhcnkgdXNlcikKICAgLy8KICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fVVNFUlNfUkVBRCkgKQogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgIGlmKCAhY2dzYV91dGlsczo6aXNfZ2V0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICBpZiggIWlzc2V0KCRfUkVRVUVTVFsndWlkJ10pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICBicmVhazsKCiBjYXNlICdMSVNUJzogLy8gR0VUCiAgIC8vIHJldHJpZXZlIHVzZXIgbGlzdC4KICAgLy8gYWNjZXB0czogdWlkLCBbdXNlcnBhdHRlcm4scHJvcGVydHkscHJvcHBhdHRlcm4sbixvXTsKICAgaWYoICEkYWNjZXNzX2luZm8tPmNoZWNrX3Blcm1pc3Npb24oY2dzYV9hcGlrZXlfcGVybXM6OlBFUk1fVVNFUlNfUkVBRCkgKQogICAgIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW5zdWZmaWNpZW50IFBlcm1pc3Npb25zJyk7CiAgIGlmKCAhY2dzYV91dGlsczo6aXNfZ2V0X3JlcXVlc3QoKSApIGNnc2FfdXRpbHM6OnJldHVybl9lcnJvcignSW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpOwogICBpZiggIWlzc2V0KCRfUkVRVUVTVFsndWlkJ10pICkgY2dzYV91dGlsczo6cmV0dXJuX2Vycm9yKCdJbnN1ZmZpY2llbnQgZGF0YScpOwogICAkbiA9IDUwOwogICAkbyA9IDA7CgogICAkdXNlcnBhdHRlcm4gPSAnJzsKICAgJHByb3BlcnR5ID0gJyc7CiAgICRwcm9wcGF0dGVybiA9ICcnOwogICBpZiggaXNzZXQoJF9SRVFVRVNUWyduJ10pICkgJG4gPSBtYXgoMCxtaW4oMTAwMDAsKGludCkkX1JFUVVFU1RbJ24nXSkpOwogICBpZiggaXNzZXQoJF9SRVFVRVNUWydvJ10pICkgJG8gPSBtYXgoMCxtaW4oMTAwMDAwLChpbnQpJF9SRVFVRVNUWydvJ10pKTsKICAgJHF1ZXJ5ID0gbmV3IGZldV91c2VyX3F1ZXJ5KCRuKTsKICAgJHF1ZXJ5LT5zZXRfZGVlcCgpOwogICBpZiggaXNzZXQoJF9SRVFVRVNUWyd1c2VycGF0dGVybiddKSApICRxdWVyeS0+YWRkX2FuZF9vcHQoZmV1X3VzZXJfcXVlcnlfb3B0OjpNQVRDSF9VU0VSTkFNRV9SRSx0cmltKCRfUkVRVUVTVFsndXNlcnBhdHRlcm4nXSkpOwogICBpZiggaXNzZXQoJF9SRVFVRVNUWydwcm9wZXJ0eSddKSAmJiBpc3NldCgkX1JFUVVFU1RbJ3Byb3BwYXR0ZXJuJ10pICkgewogICAgICRxdWVyeS0+YWRkX2FuZF9vcHQoZmV1X3VzZXJfcXVlcnlfb3B0OjpNQVRDSF9QUk9QRVJUWV9SRSwKCQkJIHRyaW0oJF9SRVFVRVNUWydwcm9wZXJ0eSddKSwKCQkJIHRyaW0oJF9SRVFVRVNUWydwcm9wcGF0dGVybiddKSk7OwogICB9CiAgIGlmKCBpc3NldCgkX1JFUVVFU1RbJ2lkbGlzdCddKSApICRxdWVyeS0+YWRkX2FuZF9vcHQoZmV1X3VzZXJfcXVlcnlfb3B0OjpNQVRDSF9VU0VSTElTVCwkX1JFUVVFU1RbJ2lkbGlzdCddKTsKICAgJHF1ZXJ5LT5zZXRfcmVzdWx0X3R5cGUoZmV1X3VzZXJfcXVlcnk6OlJFU1VMVF9UWVBFX0xJU1QpOwogICBpZiggaXNzZXQoJF9SRVFVRVNUWydmdWxsJ10pICYmICRfUkVRVUVTVFsnZnVsbCddICkgJHF1ZXJ5LT5zZXRfcmVzdWx0X3R5cGUoZmV1X3VzZXJfcXVlcnk6OlJFU1VMVF9UWVBFX0ZVTEwpOwogICAKICAgJHJzID0gJHF1ZXJ5LT5leGVjdXRlKCk7CiAgICRvdXRwdXQgPSBhcnJheSgpOwogICB3aGlsZSggISRycy0+RU9GICkgewogICAgICRvdXRwdXRbXSA9ICRycy0+ZmllbGRzOwogICAgICRycy0+TW92ZU5leHQoKTsKICAgfQogICBicmVhazsKCiBkZWZhdWx0OgogICBpZiggY2dzYV91dGlsczo6aXNfcG9zdF9yZXF1ZXN0KCkgKSByZXR1cm5fZXJyb3IoJ0ludmFsaWQgT3BlcmF0aW9uJyk7CiAgIGJyZWFrOwogfQoKY2dzYV91dGlsczo6cmV0dXJuX3N1Y2Nlc3MoJG91dHB1dCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.approvefriendreq.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokdXNlciA9IChpbnQpJHBhcmFtc1sndXNlciddOwokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKaWYoICR1aWQgPCAxICkgcmV0dXJuOwppZiggIWlzc2V0KCRwYXJhbXNbJ3VzZXInXSkgKSByZXR1cm47CiRzdGF0ZSA9IDE7CmlmKCBpc3NldCgkcGFyYW1zWydzdGF0ZSddKSApICRzdGF0ZSA9IChpbnQpJHBhcmFtc1snc3RhdGUnXTsKCmlmKCAkc3RhdGUgPiAwICkgewogIGNnc2FfZnJpZW5kczo6YXBwcm92ZV9mcmllbmRyZXF1ZXN0KCR1aWQsKGludCkkcGFyYW1zWyd1c2VyJ10pOwp9CmVsc2UgewogIGNnc2FfZnJpZW5kczo6ZGVueV9mcmllbmRyZXF1ZXN0KCR1aWQsKGludCkkcGFyYW1zWyd1c2VyJ10pOwp9CgppZiggaXNzZXQoJHBhcmFtc1snZGVzdCddKSApIHsKICAkZGVzdCA9IGJhc2U2NF9kZWNvZGUoJHBhcmFtc1snZGVzdCddKTsKICByZWRpcmVjdCgkZGVzdCk7CiAgcmV0dXJuOwp9CmVsc2UgaWYoICEkcGFyYW1zWydub3JlZGlyZWN0J10gKSB7CiAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcmV0dXJuaWQpOwp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.badges.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokdGhlX3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfYmFkZ2VzdW1tYXJ5X3RlbXBsYXRlJyk7CmlmKCBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApIHsKICAkdGhlX3RlbXBsYXRlID0gdHJpbSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKICB1bnNldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKfQppZiggISR0aGVfdGVtcGxhdGUgKSByZXR1cm47CiR0aGVfdGVtcGxhdGUgPSAnYmFkZ2VzdW1tYXJ5Jy4kdGhlX3RlbXBsYXRlOwoKJGNhY2hlX2lkID0gJ3xjZ3MnLm1kNShzZXJpYWxpemUoJHBhcmFtcykpOwokY29tcGlsZV9pZCA9ICcnOwppZiggISRzbWFydHktPmlzQ2FjaGVkKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGVfdGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCkgKSB7CiAgJGFsbGJhZGdlcyA9IGNnc2FfYmFkZ2U6OmdldF9hbGwoKTsKICBpZiggaXNfYXJyYXkoJGFsbGJhZGdlcykgJiYgY291bnQoJGFsbGJhZGdlcykgKSB7CiAgICBmb3JlYWNoKCAkYWxsYmFkZ2VzIGFzICYkb25lICkgewogICAgICBpZiggJG9uZS0+aW1hZ2UgIT0gJycgKSB7CgkkZGlyID0gY2dzYV91dGlsczo6Z2V0X2JhZGdlX2ZpbGV1cmwoJG9uZSk7Cgkkb25lLT5pbWFnZSA9ICRkaXIuJy8nLiRvbmUtPmltYWdlOwogICAgICB9CiAgICB9CiAgfQoKICAkdXNlcmJhZGdlcyA9IG51bGw7CiAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfRlJPTlRFTkRVU0VSUyk7CiAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICBpZiggJHVpZCA+IDAgKSAkdXNlcmJhZGdlcyA9IGNnc2FfYmFkZ2U6OmdldF9mb3JfdXNlcigkdWlkKTsKICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJiYWRnZXMnLCR1c2VyYmFkZ2VzKTsKCiAgJGZyaWVuZGJhZGdlcyA9IG51bGw7CiAgaWYoICR1aWQgPiAwICkgewogICAgJGZyaWVuZHMgPSBjZ3NhX2ZyaWVuZHM6OmdldF9mcmllbmRzKCR1aWQpOwogICAgaWYoIGlzX2FycmF5KCRmcmllbmRzKSAmJiBjb3VudCgkZnJpZW5kcykgKSB7CiAgICAgICRmcmllbmRiYWRnZXMgPSBjZ3NhX2JhZGdlOjpnZXRfZm9yX3VzZXIoJGZyaWVuZHMpOwogICAgfQogIH0KICAkc21hcnR5LT5hc3NpZ24oJ2ZyaWVuZGJhZGdlcycsJGZyaWVuZGJhZGdlcyk7CiAgCiAgJHNtYXJ0eS0+YXNzaWduKCdhbGxiYWRnZXMnLCRhbGxiYWRnZXMpOwp9CgplY2hvICRzbWFydHktPmZldGNoKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGVfdGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.badge_detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1snYmFkZ2UnXSkgKSByZXR1cm47CgokdGhlX3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfYmFkZ2VkZXRhaWxfdGVtcGxhdGUnKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgewogICR0aGVfdGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwogIHVuc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwp9CmlmKCAhJHRoZV90ZW1wbGF0ZSApIHJldHVybjsKJHRoZV90ZW1wbGF0ZSA9ICdiYWRnZWRldGFpbCcuJHRoZV90ZW1wbGF0ZTsKJGJhZGdlX2lkID0gKGludCkkcGFyYW1zWydiYWRnZSddOwoKJGNhY2hlX2lkID0gJ3xjZ3MnLm1kNShzZXJpYWxpemUoJHBhcmFtcykpOwokY29tcGlsZV9pZCA9ICcnOwoKCmlmKCAhJHNtYXJ0eS0+aXNDYWNoZWQoJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJHRoZV90ZW1wbGF0ZSksJGNhY2hlX2lkLCRjb21waWxlX2lkKSApIHsKICB0cnkgewogICAgaWYoICRiYWRnZV9pZCA8IDEgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9iYWRnZW5vdGZvdW5kJykpOwogICAgJGJhZGdlID0gY2dzYV9iYWRnZTo6bG9hZF9ieV9pZCgkYmFkZ2VfaWQpOwogICAgaWYoICFpc19vYmplY3QoJGJhZGdlKSApIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2JhZGdlbm90Zm91bmQnKSk7CiAgICAkbGVhZGVyYm9hcmQgPSBjZ3NhX2xlYWRlcmJvYXJkOjpsb2FkX2J5X2lkKCRiYWRnZS0+bGVhZGVyYm9hcmRfaWQpOwogICAgaWYoICFpc19vYmplY3QoJGxlYWRlcmJvYXJkKSApIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2xlYWRlcmJvYXJkbm90Zm91bmQnKSk7CgogICAgaWYoICRiYWRnZS0+aW1hZ2UgIT0gJycgKSB7CiAgICAgICRkaXIgPSBjZ3NhX3V0aWxzOjpnZXRfYmFkZ2VfZmlsZXVybCgkYmFkZ2UpOwogICAgICAkYmFkZ2UtPmltYWdlID0gJGRpci4nLycuJGJhZGdlLT5pbWFnZTsKICAgIH0KICAgICRzbWFydHktPmFzc2lnbignYmFkZ2UnLCRiYWRnZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xlYWRlcmJvYXJkJywkbGVhZGVyYm9hcmQpOwoKICAgICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0ZST05URU5EVVNFUlMpOwogICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgIGlmKCAkdWlkID4gMCApIHsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdoYXZlX2JhZGdlJywkYmFkZ2UtPmlzX21lbWJlcigkdWlkKSk7CiAgICAgICRmcmllbmRzID0gY2dzYV9mcmllbmRzOjpnZXRfZnJpZW5kcygkdWlkKTsKICAgICAgaWYoIGlzX2FycmF5KCRmcmllbmRzKSAmJiBjb3VudCgkZnJpZW5kcykgKSB7CgkvLyBnZXQgdGhlIGxpc3Qgb2YgZnJpZW5kcyB0aGF0IGhhdmUgdGhpcyBiYWRnZSwgYXQgbGVhc3QgdGhlIGZpcnN0IDE1IG9mIHRoZW0uCgkkYmFkZ2VmcmllbmRzID0gJGJhZGdlLT5saXN0X21lbWJlcnMoMjUsMCwkZnJpZW5kcyk7Cgkkc21hcnR5LT5hc3NpZ24oJ2JhZGdlZnJpZW5kcycsJGJhZGdlZnJpZW5kcyk7CiAgICAgIH0KICAgIH0KICB9CiAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgIGVjaG8gJGUtPkdldE1lc3NhZ2UoKTsKICB9Cn0KCmVjaG8gJHNtYXJ0eS0+ZmV0Y2goJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJHRoZV90ZW1wbGF0ZSksJGNhY2hlX2lkLCRjb21waWxlX2lkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.checkins.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gc3R1YiBmaWxlLgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokdGhlX3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfbGlzdF9jaGVja2luc190ZW1wbGF0ZScpOwppZiggaXNzZXQoJHBhcmFtc1sndGVtcGxhdGUnXSkgKSB7CiAgJHRoZV90ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1sndGVtcGxhdGUnXSk7CiAgdW5zZXQoJHBhcmFtc1sndGVtcGxhdGUnXSk7Cn0KaWYoICEkdGhlX3RlbXBsYXRlICkgcmV0dXJuOwokdGhlX3RlbXBsYXRlID0gJ2xpc3RfY2hlY2tpbnMnLiR0aGVfdGVtcGxhdGU7CgokY2FjaGVfaWQgPSAnfGNncycubWQ1KHNlcmlhbGl6ZSgkcGFyYW1zKSk7CiRjb21waWxlX2lkID0gJyc7CgppZiggISRzbWFydHktPmlzQ2FjaGVkKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGVfdGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCkgKSB7CiAgdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwogIHVuc2V0KCRwYXJhbXNbJ21vZHVsZSddKTsKICB1bnNldCgkcGFyYW1zWydyZXR1cm5pZCddKTsKCiAgdHJ5IHsKICAgICR0aGVfcXVlcnkgPSBuZXcgY2dzYV9jaGVja2luX3F1ZXJ5KCRwYXJhbXMpOwogICAgJHJzID0gJHRoZV9xdWVyeS0+ZXhlY3V0ZSgpOwoKICAgICRuID0gJHJzLT5SZWNvcmRDb3VudCgpOwogICAgaWYoICRuICkgewogICAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CgogICAgICAkc21hcnR5LT5hc3NpZ24oJ2NoZWNraW5jb3VudCcsJG4pOwogICAgICAkaXRlbXMgPSBhcnJheSgpOwogICAgICAkb3duZXJzID0gYXJyYXkoKTsKICAgICAgJGxvY2F0aW9ucyA9IGFycmF5KCk7CiAgICAgICRhY3Rpdml0aWVzID0gYXJyYXkoKTsKICAgICAgd2hpbGUoICEkcnMtPkVPRiApIHsKCSRvYiA9ICRycy0+Z2V0X2NoZWNraW4oKTsKCSRpdGVtc1tdID0gJG9iOwoJaWYoICFpbl9hcnJheSgkb2ItPm93bmVyLCRvd25lcnMpICkgJG93bmVyc1tdID0gJG9iLT5vd25lcjsKCWlmKCAhaW5fYXJyYXkoJG9iLT5sb2NhdGlvbiwkbG9jYXRpb25zKSApICRsb2NhdGlvbnNbXSA9ICRvYi0+bG9jYXRpb247CglpZiggJG9iLT5hY3Rpdml0eSAmJiAhaW5fYXJyYXkoJG9iLT5hY3Rpdml0eSwkYWN0aXZpdGllcykgKSAkYWN0aXZpdGllc1tdID0gJG9iLT5hY3Rpdml0eTsKCSRycy0+TW92ZU5leHQoKTsKICAgICAgfQogICAgICAkc21hcnR5LT5hc3NpZ24oJ2NoZWNraW5zJywkaXRlbXMpOwoKICAgICAgLy8gZ2V0IGluZm8gZm9yIHRoZXNlIGxvY2F0aW9ucwogICAgICAvLyB0aGlzIHdpbGwgcHJlbG9hZCB0aGUgZGF0YSBlZmZpY2llbnRseSBmb3IgdXNlIGluIHRlbXBsYXRlcwogICAgICAkbGZpbHRlciA9IG5ldyBjZF9jb21wYW55X2ZpbHRlcigpOwogICAgICAkbGZpbHRlclsnaWRsaXN0J10gPSAkbG9jYXRpb25zOwogICAgICAkbHF1ZXJ5ID0gbmV3IGNkX2NvbXBhbnlfcXVlcnkoJGxmaWx0ZXIpOwogICAgICAkb3V0ID0gJGxxdWVyeS0+Z2V0X3Jlc3VsdHMoJ2NkXycsJHJldHVybmlkLCRyZXR1cm5pZCk7CiAgICAgICRzbWFydHktPmFzc2lnbignbG9jYXRpb25zJywkb3V0KTsKCiAgICAgIC8vIGdldCBpbmZvIGZvciB0aGVzZSB1c2VycwogICAgICAvLyB0aGlzIHdpbGwgcHJlbG9hZCB0aGUgZGF0YSBlZmZpY2llbnRseSBmb3IgdXNlIGluIHRlbXBsYXRlcwogICAgICAkdXF1ZXJ5ID0gbmV3IGZldV91c2VyX3F1ZXJ5KCk7CiAgICAgICR1cXVlcnktPnNldF9kZWVwKCk7CiAgICAgICR1cXVlcnktPnNldF93ZWJyZWFkeSgpOwogICAgICAkdXF1ZXJ5LT5hZGRfYW5kX29wdChmZXVfdXNlcl9xdWVyeV9vcHQ6Ok1BVENIX1VTRVJMSVNULCRvd25lcnMpOwogICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgJHJzMiA9ICR1cXVlcnktPmV4ZWN1dGUoKTsKICAgICAgd2hpbGUoICEkcnMyLT5FT0YgKSB7Cgkkb25lID0gJHJzMi0+ZmllbGRzOwoJaWYoIGlzc2V0KCRvbmVbJ2Zwcm9wcyddKSAmJiBjb3VudCgkb25lWydmcHJvcHMnXSkgKSB7CgkgICRvbmVbJ3Byb3BzJ10gPSBhcnJheSgpOwoJICBmb3JlYWNoKCAkb25lWydmcHJvcHMnXSBhcyAkcHJvcCApIHsKCSAgICBpZiggaXNzZXQoJHByb3BbJ3VybCddKSApIHsKCSAgICAgICRvbmVbJ3Byb3BzJ11bJHByb3BbJ3RpdGxlJ11dID0gJHByb3BbJ3VybCddOwoJICAgIH0KCSAgICBlbHNlIHsKCSAgICAgICRvbmVbJ3Byb3BzJ11bJHByb3BbJ3RpdGxlJ11dID0gJHByb3BbJ2RhdGEnXTsKCSAgICB9CgkgIH0KCSAgdW5zZXQoJG9uZVsnZnByb3BzJ10pOwoJfQoJJG91dFskb25lWydpZCddXSA9ICRvbmU7CgkkcnMyLT5Nb3ZlTmV4dCgpOwogICAgICB9CiAgICAgICRzbWFydHktPmFzc2lnbigndXNlcmluZm8nLCRvdXQpOwoKICAgICAgLy8gYWN0aXZpdGllcwogICAgICBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2FsbF9hc19hcnJheSgpOyAvLyBtYXkgYmUgZXhwZW5zaXZlCiAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICBpZiggY291bnQoJGFjdGl2aXRpZXMpICkgewoJZm9yZWFjaCggJGFjdGl2aXRpZXMgYXMgJG9uZSApIHsKCSAgJG91dFskb25lXSA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYnlfaWQoJG9uZSk7Cgl9CiAgICAgIH0KICAgICAgJHNtYXJ0eS0+YXNzaWduKCdhY3Rpdml0aWVzJywkb3V0KTsKCiAgICAgICRwYWdpbmF0aW9uID0gJHJzLT5nZXRfcGFnaW5hdGlvbigpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3BhZ2luYXRpb24nLCRwYWdpbmF0aW9uKTsKICAgIH0KICB9CiAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgIGVjaG8gJzwhLS0gJy4kdGhpcy0+R2V0TmFtZSgpLicgRVJST1I6ICcuJGUtPkdldG1lc3NhZ2UoKS4nIC0tPic7CiAgICByZXR1cm47CiAgfQp9CgplY2hvICRzbWFydHktPmZldGNoKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGVfdGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpIHx8CiAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICBlY2hvICc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDgwJTsiPic7CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHsKICAgICAgZWNobyAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fc2V0dGluZ3MnLCRyZXR1cm5pZCwKCQkJCSAgJHRoaXMtPkxhbmcoJ2xibF9zZXR0aW5ncycpLAoJCQkJICAnaWNvbnMvdG9wZmlsZXMvcHJlZmVyZW5jZXMuZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKTsKICAgIH0KICAgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKSB7CiAgICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX3RlbXBsYXRlcycsJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnbGJsX3RlbXBsYXRlcycpLAoJCQkJICAnaWNvbnMvdG9wZmlsZXMvdGVtcGxhdGUuZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKTsKICAgIH0KICAgIGVjaG8gJzwvZGl2Pic7CiAgfQoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKENHU29jaWFsQXBwOjpQRVJNSVNTSU9OKSApIHsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2tleXMnLCR0aGlzLT5MYW5nKCd0YWJfYXBpa2V5cycpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2FjdGl2aXRpZXMnLCR0aGlzLT5MYW5nKCd0YWJfYWN0aXZpdGllcycpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2xlYWRlcmJvYXJkcycsJHRoaXMtPkxhbmcoJ2xlYWRlcmJvYXJkcycpKTsKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihDR1NvY2lhbEFwcDo6UEVSTUlTU0lPTl9DSEVDS0lOUykgKSB7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjaGVja2lucycsJHRoaXMtPkxhbmcoJ3RhYl9jaGVja2lucycpKTsKfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQ0dTb2NpYWxBcHA6OlBFUk1JU1NJT04pICkgewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdrZXlzJywkcGFyYW1zKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9rZXlzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihDR1NvY2lhbEFwcDo6UEVSTUlTU0lPTl9DSEVDS0lOUykgKSB7CiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NoZWNraW5zJywkcGFyYW1zKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9jaGVja2luc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSB7CiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2FjdGl2aXRpZXMnLCRwYXJhbXMpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2FjdGl2aXRpZXNfdGFiLnBocCcpOwogIGVjaG8gJHRoaXMtPkVuZFRhYigpOwogIAogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdsZWFkZXJib2FyZHMnLCRwYXJhbXMpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2xlYWRlcmJvYXJkc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1snY2hlY2tpbiddKSApIHJldHVybjsKCi8vCi8vIGluaXRpYWxpemF0aW9uCi8vCiR0aGVfdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF92aWV3X2NoZWNraW5fdGVtcGxhdGUnKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgewogICR0aGVfdGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwogIHVuc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwp9CmlmKCAhJHRoZV90ZW1wbGF0ZSApIHJldHVybjsKJHRoZV90ZW1wbGF0ZSA9ICd2aWV3X2NoZWNraW4nLiR0aGVfdGVtcGxhdGU7CiRtZXNzYWdlID0gJyc7CiRlcnJvciA9ICcnOwokY2hlY2tpbl9pZCA9IChpbnQpJHBhcmFtc1snY2hlY2tpbiddOwokY2hlY2tpbiA9IG51bGw7CmlmKCAkY2hlY2tpbl9pZCA8IDEgKSB7CiAgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NoZWNraW5ub3Rmb3VuZCcpOwp9CmVsc2UgewogICRjaGVja2luID0gY2dzYV9jaGVja2luOjpsb2FkX2J5X2lkKCRjaGVja2luX2lkKTsKICBpZiggIWlzX29iamVjdCgkY2hlY2tpbikgKSB7CiAgICAkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3JfY2hlY2tpbm5vdGZvdW5kJyk7CiAgfQp9CgoKJGNhY2hlX2lkID0gJ3xjZ3MnLm1kNShzZXJpYWxpemUoJHBhcmFtcykpOwokY29tcGlsZV9pZCA9ICcnOwoKaWYoICEkc21hcnR5LT5pc0NhY2hlZCgkdGhpcy0+R2V0RGF0YWJhc2VSZXNvdXJjZSgkdGhlX3RlbXBsYXRlKSwkY2FjaGVfaWQsJGNvbXBpbGVfaWQpICkgewogICRzbWFydHktPmFzc2lnbigncmV0dXJuaWQnLCRyZXR1cm5pZCk7CiAgJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCR0aGlzKTsKICAkc21hcnR5LT5hc3NpZ24oJHRoaXMtPkdldE5hbWUoKSwkdGhpcyk7CiAgJHNtYXJ0eS0+YXNzaWduKCdhY3Rpb25pZCcsJGlkKTsKICAkc21hcnR5LT5hc3NpZ24oJ2NoZWNraW5faWQnLCRjaGVja2luX2lkKTsKICBpZiggaXNfb2JqZWN0KCRjaGVja2luKSApIHsKICAgICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0ZST05URU5EVVNFUlMpOwogICAgJHVpbmZvID0gJGZldS0+R2V0VXNlckluZm8oJGNoZWNraW4tPm93bmVyKTsKICAgIGlmKCAhaXNfYXJyYXkoJHVpbmZvKSB8fCAkdWluZm9bMF0gPT0gRkFMU0UgKSB7CiAgICAgICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkdWluZm8gPSAkdWluZm9bMV07CiAgICAgIGlmKCBpc3NldCgkdWluZm9bJ2Zwcm9wcyddKSAmJiBjb3VudCgkdWluZm9bJ2Zwcm9wcyddKSApIHsKCSR1aW5mb1sncHJvcHMnXSA9IGFycmF5KCk7Cglmb3JlYWNoKCAkdWluZm9bJ2Zwcm9wcyddIGFzICRwcm9wICkgewoJICBpZiggaXNzZXQoJHByb3BbJ3VybCddKSApIHsKCSAgICAkdWluZm9bJ3Byb3BzJ11bJHByb3BbJ3RpdGxlJ11dID0gJHByb3BbJ3VybCddOwoJICB9CgkgIGVsc2UgewoJICAgICR1aW5mb1sncHJvcHMnXVskcHJvcFsndGl0bGUnXV0gPSAkcHJvcFsnZGF0YSddOwoJICB9Cgl9Cgl1bnNldCgkdWluZm9bJ2Zwcm9wcyddKTsKICAgICAgfQogICAgICAkc21hcnR5LT5hc3NpZ24oJ3VpbmZvJywkdWluZm8pOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2NoZWNraW4nLCRjaGVja2luKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCd1cGxvYWRzX3VybCcsJGNvbmZpZ1sndXBsb2Fkc191cmwnXSk7CiAgICAgICRzbWFydHktPmFzc2lnbignZmlsZXNfdXJsJywkY29uZmlnWyd1cGxvYWRzX3VybCddLicvXycuJHRoaXMtPkdldE5hbWUoKSk7CiAgICB9CiAgfQoKICAkc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCRtZXNzYWdlKTsKICAkc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZXJyb3IpOwp9CgplY2hvICRzbWFydHktPmZldGNoKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGVfdGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.favorites.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gc3R1YiBmaWxlCj8+]]></data>
	</file>
	<file>
	  <filename>/action.friendreq.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pIHx8IGlzc2V0KCRwYXJhbXNbJ2Nnc19jYW5jZWwnXSkgKSB7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rlc3QnXSkgKSB7CiAgICAkZGVzdCA9IGJhc2U2NF9kZWNvZGUoJHBhcmFtc1snZGVzdCddKTsKICAgIHJlZGlyZWN0KCRkZXN0KTsKICAgIHJldHVybjsKICB9CiAgJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcmV0dXJuaWQpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydjZ3Nfc3VibWl0J10pICkgewogICR1c2VyID0gKGludCkkcGFyYW1zWyd1c2VyJ107CiAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfRlJPTlRFTkRVU0VSUyk7CiAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICBpZiggJHVpZCA8IDEgKSByZXR1cm47CiAgY2dzYV9mcmllbmRzOjpjcmVhdGVfZnJpZW5kcmVxdWVzdCgkdXNlciwkdWlkKTsKCiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rlc3QnXSkgKSB7CiAgICAkZGVzdCA9IGJhc2U2NF9kZWNvZGUoJHBhcmFtc1snZGVzdCddKTsKICAgIHJlZGlyZWN0KCRkZXN0KTsKICAgIHJldHVybjsKICB9CiAgZWxzZSBpZiggISRwYXJhbXNbJ25vcmVkaXJlY3QnXSApIHsKICAgICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKICB9CiAgZXhpdDsKfQoKJG9yaWdwYXJtcyA9IGFycmF5KCk7CmlmKCBpc3NldCgkcGFyYW1zWydkZXN0J10pICkgJG9yaWdwYXJtc1snZGVzdCddID0gJHBhcmFtc1snZGVzdCddOwppZiggaXNzZXQoJHBhcmFtc1sndXNlciddKSApICRvcmlncGFybXNbJ3VzZXInXSA9ICRwYXJhbXNbJ3VzZXInXTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgJG9yaWdwYXJtc1sndGVtcGxhdGUnXSA9ICRwYXJhbXNbJ3RlbXBsYXRlJ107CgokdHBsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfZnJpZW5kcmVxX3RlbXBsYXRlJyk7CmlmKCBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApICR0cGwgPSB0cmltKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2ZyaWVuZHJlcScsJHJldHVybmlkLCRvcmlncGFybXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCd1c2VyJywkcGFyYW1zWyd1c2VyJ10pOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2ZyaWVuZHJlcScuJHRwbCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.friendreqlist.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKaWYoICFpc19vYmplY3QoJGZldSkgKSByZXR1cm47CiR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CmlmKCAkdWlkIDwgMSApIHJldHVybjsgLy8gbm90IGxvZ2dlZCBpbi4KCiR0cGwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9mcmllbmRyZXFsaXN0X3RlbXBsYXRlJyk7CmlmKCBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApICR0cGwgPSB0cmltKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwoKLy8gZ2V0IG15IGZyaWVuZCByZXF1ZXN0cywgaWYgYW55LgokcmVxdWVzdHMgPSBjZ3NhX2ZyaWVuZHM6OmdldF9mcmllbmRyZXF1ZXN0cygkdWlkKTsKaWYoIGlzX2FycmF5KCRyZXF1ZXN0cykgJiYgY291bnQoJHJlcXVlc3RzKSApIHsKICAkb3V0ID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkcmVxdWVzdHMgYXMgJHR1aWQgKSB7CiAgICAkdWluZm8gPSAkZmV1LT5HZXRVc2VyaW5mbygkdHVpZCk7CiAgICBpZiggIWlzX2FycmF5KCR1aW5mbykgfHwgJHVpbmZvWzBdID09IEZBTFNFICkgY29udGludWU7CgogICAgJHJlYyA9ICR1aW5mb1sxXTsKICAgIHVuc2V0KCRyZWNbJ3Bhc3N3b3JkJ10pOwogICAgJHJlY1snYXBwcm92ZV9mcmllbmRyZXF1ZXN0X3VybCddID0gY2dzYV91dGlsczo6Y3JlYXRlX2FwcHJvdmVmcmllbmRyZXFfdXJsKGFycmF5KCd1c2VyJz0+JHR1aWQsJ3VybG9ubHknPT4xKSk7CiAgICAkcmVjWydhcHByb3ZlX2ZyaWVuZHJlcXVlc3RfbGluayddID0gY2dzYV91dGlsczo6Y3JlYXRlX2FwcHJvdmVmcmllbmRyZXFfdXJsKGFycmF5KCd1c2VyJz0+JHR1aWQpKTsKICAgICRyZWNbJ2RlbnlfZnJpZW5kcmVxdWVzdF91cmwnXSA9IGNnc2FfdXRpbHM6OmNyZWF0ZV9hcHByb3ZlZnJpZW5kcmVxX3VybChhcnJheSgndXNlcic9PiR0dWlkLCd1cmxvbmx5Jz0+MSwnc3RhdGUnPT4tMSkpOwogICAgJHJlY1snZGVueV9mcmllbmRyZXF1ZXN0X2xpbmsnXSA9IGNnc2FfdXRpbHM6OmNyZWF0ZV9hcHByb3ZlZnJpZW5kcmVxX3VybChhcnJheSgndXNlcic9PiR0dWlkLCdzdGF0ZSc9Pi0xKSk7CiAgICAKICAgICRvdXRbXSA9ICRyZWM7CiAgfQogICRzbWFydHktPmFzc2lnbigncmVxdWVzdHMnLCRvdXQpOwp9CgppZiggJHRwbCApIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZnJpZW5kcmVxbGlzdCcuJHRwbCk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.friends.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gc3R1YiBmaWxlCj8+]]></data>
	</file>
	<file>
	  <filename>/action.leaderboards.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokdGhlX3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfbGVhZGVyYm9hcmRzdW1tYXJ5X3RlbXBsYXRlJyk7CmlmKCBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApIHsKICAkdGhlX3RlbXBsYXRlID0gdHJpbSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKICB1bnNldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKfQppZiggISR0aGVfdGVtcGxhdGUgKSByZXR1cm47CiR0aGVfdGVtcGxhdGUgPSAnYmFkZ2VzdW1tYXJ5Jy4kdGhlX3RlbXBsYXRlOwoKJGNhY2hlX2lkID0gJ3xjZ3MnLm1kNShzZXJpYWxpemUoJHBhcmFtcykpOwokY29tcGlsZV9pZCA9ICcnOwppZiggISRzbWFydHktPmlzQ2FjaGVkKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGVfdGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCkgKSB7CiAgdHJ5IHsKICAgICRsZWFkZXJib2FyZHMgPSBjZ3NhX2xlYWRlcmJvYXJkOjpnZXRfYWxsKEZBTFNFKTsKICAgIGlmKCBpc19hcnJheSgkbGVhZGVyYm9hcmRzKSAmJiBjb3VudCgkbGVhZGVyYm9hcmRzKSApIHsKICAgICAgJHNvcnRmbiA9IGZ1bmN0aW9uKCRhLCRiKSB7CgkkbiA9IHN0cmNtcCgkYVsndHlwZSddLCRiWyd0eXBlJ10pOwoJaWYoICRuID09IDAgKSAkbiA9IHN0cm5hdGNtcCgkYVsnbmFtZSddLCRiWyduYW1lJ10pOwoJcmV0dXJuICRuOwogICAgICB9OwogICAgICB1c29ydCgkbGVhZGVyYm9hcmRzLCRzb3J0Zm4pOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2xlYWRlcmJvYXJkcycsJGxlYWRlcmJvYXJkcyk7CiAgICB9CiAgfQogIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICBlY2hvICRlLT5HZXRNZXNzYWdlKCk7CiAgfQp9CgplY2hvICRzbWFydHktPmZldGNoKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGVfdGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.list_activities.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokdGhlX3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfbGlzdF9hY3Rpdml0aWVzX3RlbXBsYXRlJyk7CmlmKCAhJHRoZV90ZW1wbGF0ZSApIHJldHVybjsKaWYoIGlzc2V0KCRwYXJhbXNbJ2xpc3RfdGVtcGxhdGUnXSkgKSB7CiAgJHRoZV90ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1snbGlzdF90ZW1wbGF0ZSddKTsKICB1bnNldCgkcGFyYW1zWydsaXN0X3RlbXBsYXRlJ10pOwp9Cgokc3RhcnQgPSAtMTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3N0YXJ0J10pICkgewogICR0bXAgPSB0cmltKCRwYXJhbXNbJ3N0YXJ0J10pOwogICRvYmogPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2J5X25hbWUoJHRtcCk7CiAgaWYoIGlzX29iamVjdCgkb2JqKSApIHsKICAgICRzdGFydCA9ICRvYmotPmlkOwogIH0KfQoKJHRyZWUgPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2FsbF9hc190cmVlKCRzdGFydCk7CiRzbWFydHktPmFzc2lnbigndHJlZScsJHRyZWUpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdsaXN0X2FjdGl2aXRpZXMnLiR0aGVfdGVtcGxhdGUpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.list_checkins.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBsaXN0IGNoZWNraW5zIGJ5IGxvY2F0aW9uLi4uCmlmKCAhaXNzZXQoJHBhcmFtc1snbG9jYXRpb25pZCddKSApIHJldHVybjsKJHFwYXJtcyA9IGFycmF5KCk7CiRxcGFybXNbJ2xvY2F0aW9uJ10gPSAoaW50KSRwYXJhbXNbJ2xvY2F0aW9uJ107CiRxcGFybXNbJ2xpbWl0J10gPSAyNTsKJHFwYXJtc1snb2Zmc2V0J10gPSAwOwppZiggaXNzZXQoJHBhcmFtc1sndGltZWxpbWl0J10pICkgICRxcGFybXNbJ3RpbWVsaW1pdCddID0gKGludCkkcGFyYW1zWyd0aW1lbGltaXQnXTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2xpbWl0J10pICkgICRxcGFybXNbJ2xpbWl0J10gPSAoaW50KSRwYXJhbXNbJ2xpbWl0J107CmlmKCBpc3NldCgkcGFyYW1zWydvZmZzZXQnXSkgKSAgJHFwYXJtc1snb2Zmc2V0J10gPSAoaW50KSRwYXJhbXNbJ29mZnNldCddOwppZiggaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pICkgICRxcGFybXNbJ3NvcnRieSddID0gdHJpbSgkcGFyYW1zWydzb3J0YnknXSk7CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0b3JkZXInXSkgKSAgJHFwYXJtc1snc29ydG9yZGVyJ10gPSB0cmltKCRwYXJhbXNbJ3NvcnRvcmRlciddKTsKCnRyeSB7CiAgJHF1ZXJ5ID0gbmV3IGNnc2FfY2hlY2tpbl9xdWVyeSgkcXBhcm1zKTsKICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICBpZiggJHJzICkgewogICAgJG91dHB1dCA9IGFycmF5KCk7CiAgICB3aGlsZSggISRycy0+RU9GICkgewogICAgICAkb3V0cHV0W10gPSAkcnMtPmZpZWxkczsKICAgICAgJHJzLT5Nb3ZlTmV4dCgpOwogICAgfQoKICAgIGlmKCBjb3VudCgkb3V0cHV0KSApICRzbWFydHktPmFzc2lnbigncmVzdWx0cycsJG91dHB1dCk7CiAgfQp9CmNhdGNoKCBFeGNlcHRpb24mICRlICkKewp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.locations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgLy8gc3R1YiBmaWxlCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.request.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXphdGlvbgovLwokcmVzY29kZSA9IDIwMDsKJHJlc3N0YXR1cyA9ICdPSyc7CiRyZXF1ZXN0ID0gJyoqKiogVU5LTk9XTiAqKioqJzsKJG9wcyA9IGFycmF5KCk7CgovLwovLyBzZXR1cAovLwppZiggaXNzZXQoJHBhcmFtc1sncmVxJ10gKSApCiAgewogICAgJHJlcXVlc3QgPSBzdHJ0b2xvd2VyKCRwYXJhbXNbJ3JlcSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydvcHMnXSkgKQogIHsKICAgICRvcHMgPSBleHBsb2RlKCcvJywkcGFyYW1zWydvcHMnXSk7CiAgfQoKLy8KLy8gYXV0aGVudGljYXRlIHRoZSByZXF1ZXN0LgovLwoKLy8gCi8vIGhhbmRsZSB0aGUgcmVxdWVzdAovLwokcmVxdWVzdCA9IHN0cnRvbG93ZXIoJHBhcmFtc1sncmVxJ10pOwpzd2l0Y2goICRyZXF1ZXN0ICkKICB7CiAgY2FzZSAndXNlcic6CiAgICBicmVhazsKICBjYXNlICdmcmllbmQnOgogICAgYnJlYWs7CiAgY2FzZSAnbG9jYXRpb24nOgogICAgYnJlYWs7CiAgY2FzZSAnYWN0aXZpdHknOgogICAgYnJlYWs7CiAgfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.rmfriend.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKaWYoICEkZmV1ICkgcmV0dXJuOyAvLyBubyBmZXU/IHVoLW9oCiR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CmlmKCAkdWlkIDwgMSApIHJldHVybjsgLy8gbm90IGxvZ2dlZCBpbi4KaWYoICFpc3NldCgkcGFyYW1zWyd1c2VyJ10pICkgcmV0dXJuOwokdXNlciA9IChpbnQpJHBhcmFtc1sndXNlciddOwppZiggJHVzZXIgPCAxICkgcmV0dXJuOwoKJGRlc3QgPSAnJzsKaWYoIGlzc2V0KCRwYXJhbXNbJ2Rlc3QnXSkgKSB7CiAgJGRlc3QgPSBiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ2Rlc3QnXSk7Cn0KCmNnc2FfZnJpZW5kczo6cmVtb3ZlX2ZyaWVuZHNoaXAoJHVpZCwkdXNlcik7CgppZiggJGRlc3QgKSB7CiAgcmVkaXJlY3QoJGRlc3QpOwogIHJldHVybjsKfQplbHNlIGlmKCAhJHBhcmFtc1snbm9yZWRpcmVjdCddICkgewogICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.rmfriendreq.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKaWYoICEkZmV1ICkgcmV0dXJuOyAvLyBubyBmZXU/IHVoLW9oCiR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CmlmKCAkdWlkIDwgMSApIHJldHVybjsgLy8gbm90IGxvZ2dlZCBpbi4KaWYoICFpc3NldCgkcGFyYW1zWyd1c2VyJ10pICkgcmV0dXJuOwokdXNlciA9IChpbnQpJHBhcmFtc1sndXNlciddOwppZiggJHVzZXIgPCAxICkgcmV0dXJuOwoKJGRlc3QgPSAnJzsKaWYoIGlzc2V0KCRwYXJhbXNbJ2Rlc3QnXSkgKSB7CiAgJGRlc3QgPSBiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ2Rlc3QnXSk7Cn0KCmNnc2FfZnJpZW5kczo6ZGVsX2ZyaWVuZHJlcXVlc3QoJHVpZCwkdXNlcik7CgppZiggJGRlc3QgKSB7CiAgcmVkaXJlY3QoJGRlc3QpOwogIHJldHVybjsKfQplbHNlIGlmKCAhJHBhcmFtc1snbm9yZWRpcmVjdCddICkgewogICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.social.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gc3R1YiBmaWxlCj8+]]></data>
	</file>
	<file>
	  <filename>/action.togglefavorite.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKaWYoICEkZmV1ICkgcmV0dXJuOyAvLyBubyBmZXU/IHVoLW9oCiR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CmlmKCAkdWlkIDwgMSApIHJldHVybjsgLy8gbm90IGxvZ2dlZCBpbi4KaWYoICFpc3NldCgkcGFyYW1zWydsb2NhdGlvbiddKSApIHJldHVybjsKJGxvY2F0aW9uID0gKGludCkkcGFyYW1zWydsb2NhdGlvbiddOwppZiggJGxvY2F0aW9uIDwgMSApIHJldHVybjsKCiRkZXN0ID0gJyc7CmlmKCBpc3NldCgkcGFyYW1zWydkZXN0J10pICkgewogICRkZXN0ID0gYmFzZTY0X2RlY29kZSgkcGFyYW1zWydkZXN0J10pOwp9CgppZiggY2dzYV9mYXZvcml0ZXM6OmNoZWNrKCR1aWQsJGxvY2F0aW9uKSApIHsKICBjZ3NhX2Zhdm9yaXRlczo6ZGVsZXRlKCR1aWQsJGxvY2F0aW9uKTsKfQplbHNlIHsKICBjZ3NhX2Zhdm9yaXRlczo6YWRkKCR1aWQsJGxvY2F0aW9uKTsKfQoKaWYoICRkZXN0ICkgewogIHJlZGlyZWN0KCRkZXN0KTsKICByZXR1cm47Cn0KZWxzZSBpZiggISRwYXJhbXNbJ25vcmVkaXJlY3QnXSApIHsKICAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRyZXR1cm5pZCk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.users.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gc3R1YiBmaWxlLgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.view_activity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokdGhlX3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfdmlld19hY3Rpdml0eV90ZW1wbGF0ZScpOwppZiggISR0aGVfdGVtcGxhdGUgKSByZXR1cm47CmlmKCBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApIHsKICAkdGhlX3RlbXBsYXRlID0gdHJpbSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKICB1bnNldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKfQoKaWYoICFpc3NldCgkcGFyYW1zWydhY3Rpdml0eSddKSApIHJldHVybjsKCiRhY3Rpdml0eSA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYnlfaWQoKGludCkkcGFyYW1zWydhY3Rpdml0eSddKTsKaWYoICFpc19vYmplY3QoJGFjdGl2aXR5KSApIHJldHVybjsKJGFjdGl2aXR5LT5zZXRfcmVhZG9ubHkoKTsKCiRzbWFydHktPmFzc2lnbignYWN0aXZpdHknLCRhY3Rpdml0eSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3ZpZXdfYWN0aXZpdHknLiR0aGVfdGVtcGxhdGUpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/badges.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LSBMZWFkZXJib2FyZAogIHRob3VnaHRzOgogICAgLSBDYW4gYmUgdGllZCB0byBhIGxvY2F0aW9uCiAgICAgIChjaGVja2luIE4gZGlmZmVyZW50IHRpbWVzIGF0IG9uZSBsb2NhdGlvbikKICAgIC0gQ2FuIGJlIHRpZWQgdG8gYWN0aXZpdGllcwogICAgICAoaGlrZSA1IGRpZmZlcmVudCB0cmFpbHMpCiAgICAtIENhbiBiZSB0aWVkIHRvIG51bWJlciBvZiBjaGVja2lucwogICAgICAoTiBjaGVja2lucyBnZXRzIGJhZGdlIEEpCiAgICAgIChOKjIgY2hlY2tpbnMgZ2V0IGJhZGdlIEIpCiAgICAtIENhbiBiZSB0aWVkIHRvIG51bWJlciBvZiBmcmllbmRzCiAgICAgIE4gRnJpZW5kcyBnZXRzIGEgYmFkZ2UKICAgIC0gQ2FuIGJlIHRpZWQgdG8gbnVtYmVyIG9mIHJldmlld3MKICAgIDogdXNlIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MKICAgICAgLSBuZXcgY2xhc3MgZm9yIGVhY2ggbGVhZGVyYm9hcmQgdHlwZQogICAgICAtIGdldCBsZWFkZXJib2FyZHMKICAgICAgCiAgICAgCiAgcHJvcGVydGllczoKICAgIC0gbmFtZSwKICAgIC0gdHlwZQogICAgLSBjcmVhdGUgZGF0ZQogICAgLSB1c2VybGlzdAogICAgICAtIHVpZAogICAgICAtIHNjb3JlCiAgICAtIGRhdGEgKHN0b3JlIHRoZSBjcml0ZXJpYSkKCiAgY2xhc3MgbGVhZGVyYm9hcmRfb3BlcmF0aW9ucwogICAgOiBnZXRfbGVhZGVyYm9hcmRzKCkKCiAgYXBpOgogICAgZWRpdF9tZW1iZXIoJHVpZCwkc2NvcmUpOwogICAgcmVtb3ZlX21lbWJlcigkdWlkKTsKICAgIGdldF9tZW1iZXJfcmFuaygkdWlkKTsKICAgIGdldF9tZW1iZXJfc2NvcmUoJHVpZCk7CiAgICBnZXRfbWVtYmVyX3N0YXRzKCR1aWQpOwoKICAgIGdldF91c2VyX3JhbmtpbmdzKCR1aWRfbGlzdCk7CgogICAgY291bnRfbWVtYmVycygpOwogICAgY291bnRfbWVtYmVyc19pbl9yYW5nZSgkbWluLCRtYXgpCiAgICAKICAgIHJlbW92ZV9tZW1iZXJzX2luX3JhbmdlKCRtaW4sJG1heCk7CiAgICBnZXRfbGVhZGVycygpOwogICAgCi0gTGVhZGVyYm9hcmRPcGVyYXRpb25zIAogIGFwaToKICAgICBzdGF0aWMgY3JlYXRlICgkbmFtZSk7CiAgICAgc3RhdGljIGRlbGV0ZSAoJG5hbWUpOwogICAgIHN0YXRpYyBnZXRfaW5mbyAoJG5hbWUpOwoKLSBMZWFkZXJib2FyZCBQcm9jZXNzaW5nCiAgOiBXaGVuIGEgY2hlY2tpbiBpcyBzYXZlZCwgYW5kIGlzIGFwcHJvdmVkCiAgICAtIHNlbmQgT25DaGVja2luIGV2ZW50CgogIDogT25DaGVja2luIGV2ZW50IGhhbmRsZXIKICAgIGlmIGNoZWNraW4gaXMgYXBwcm92ZWQKICAgIDEuIGZpbmQgbWF0Y2hpbmcgbGVhZGVyYm9hcmRzCiAgICAqIFByb2Nlc3MgbGVhZGVyYm9hcmRzCiAgICAgIAogICAgICAtIGZvciBlYWNoIGxlYWRlcmJvYXJkCiAgICAgICAgaWYoIGxlYWRlcmJvYXJkIG1hdGNoZXMgKSAoc2VlIEE6IGJlbG93KQogICAgICAgICAgaW5jcmVhc2Ugc2NvcmUKICAgICAgICAgIGNoZWNrIGJhZGdlcyAoc2VlIEI6IGJlbG93KQogICAgCiAgICAqKiBBOiB0ZXN0IGlmIGxlYWRlcmJvYXJkIG1hdGNoZXMKICAgICAgc3dpdGNoIGxlYWRlcmJvYXJkIHR5cGU6CiAgICAgICBsb2NhdGlvbgogICAgICAgICBpZiBjaGVja2luIGxvY2F0aW9uIG1hdGNoZXMgdGhlIGJvYXJkIGxvY2F0aW9uCiAgICAgICAgIGlmIGNoZWNraW4gbG9jYXRpb24gaXMgaW4gYm9hcmQgY2F0ZWdvcnkgaWQocykKICAgICAgICAgaWYgY2hlY2tpbiBsb2NhdGlvbiBpcyBpbiBib2FyZCBjYXRlZ29yeSBoaWVyYXJjaHksIG9yIGNoaWxkcmVuPwogICAgICAgYWN0aXZpdHkKICAgICAgICAgaWYgYSBjaGVja2luIGFjdGl2aXR5IG1hdGNoZXMgYm9hcmQgYWN0aXZpdHkocyksIG9yIGNoaWxkcmVuICAgICAgIAogICAgICAgY2hlY2tpbnMKICAgICAgICAgY291bnQgZ3Jvc3MgY2hlY2tpbnMKICAgICAgIGZyaWVuZHMKICAgICAgICAgY291bnQgZ3Jvc3MgZnJpZW5kcwogICAgICAgICAKCiAgICAqKiBCOiBjaGVjayBiYWRnZXMKICAgICAgOiBuZWVkIHVzZXIgc2NvcmUKICAgICAgZm9yIGVhY2ggYmFkZ2UgYXR0YWNoZWQgdG8gbG9jYXRpb24KICAgICAgICBpZiB1c2VyIHNjb3JlID4gbWluIHNjb3JlCiAgICAgICAgICBTdG9yZSBiYWRnZSBpbiBkYXRhYmFzZQogICAgICAgICAgU2VuZCBOZXdCYWRnZUF3YXJkZWQgRXZlbnQgKHVzZXIsbGVhZGVyYm9hcmQsYmFkZ2UpCgogOiBOZXdCYWRnZUF3YXJkZWQgRXZlbnQKICAgc2VuZCBvdXIgbWVzc2FnZXMgb3V0IHRvIHNvY2lhbCBuZXR3b3JrcwogICAgICAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKLSBCYWRnZXMKICBwcm9wZXJ0aWVzOgogICAgLSBpZAogICAgLSBsZWFkZXJib2FyZCBpZAogICAgLSBuYW1lCiAgICAtIGNyZWF0ZSBkYXRlCiAgICAtIGltYWdlCiAgICAtIG5vdGVzCiAgICAtIG1pbiBzY29yZQogICAgLSBtYXggc2NvcmU/CiAgICAtIHVuaXF1ZSAob25seSBvbmUgcGVyc29uIGNhbiBoYXZlIHRoaXMgYmFkZ2UpLgoKICBiYWRnZSBvd25lcnMKICAgIC0gYmFkZ2UgaWQKICAgIC0gb3duZXIgaWQKICAgIC0gY3JlYXRlZAoKICBhcGk6CiAgICAgc3RhdGljIGNyZWF0ZV9iYXNnZSgpCiAgICAgc3RhdGljIGRlbGV0ZV9iYWRnZSgpCiAgICAgc3RhdGljIGxpc3RfYmFkZ2VzKCkKICAgICBzdGF0aWMgZ2V0X2JhZGdlKCkKICAgICAKICAgICBnZXRfdXNlcl9iYWRnZXMoJHVpZCk7CiAgICAgZ2V0X2JhZGdlX293bmVyKCRiYWRnZV9pZCk7CiAgICAgCiAgICAgcHJvY2Vzc19iYWRnZXMoJHVpZCk7CiAgICAgcmVtb3ZlX2JhZGdlX2Zyb21fdXNlcigkdWlkLCRiYWRnZV9pZCk7CgoKJGxlYWRlcmJvYXJkLT5nZXRfYmFkZ2VzKCk7CiRsZWFkZXJib2FyZC0+YWRkX2JhZGdlKCk7CgoKJGJhZGdlLT5zYXZlKCk7CiRiYWRnZS0+ZGVsZXRlKCk7CiRiYWRnZS0+Z2V0X293bmVycygpOwoKJHVzZXItPmdldF9iYWRnZXMoKTsKCi8vIG1vcmUgYXBpIGZ1bmN0aW9ucwokbG9jYXRpb24tPmdldF9sZWFkZXJib2FyZHMoKTsKJHVzZXItPmdldF9iYWRnZXMoKTsK]]></data>
	</file>
	<file>
	  <filename>/CGSocialApp.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgQ0dTb2NpYWxBcHAgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewogIGNvbnN0IFBFUk1JU1NJT04gPSAnTWFuYWdlIFNvY2lhbCBBUEkgS2V5cyc7CiAgY29uc3QgUEVSTUlTU0lPTl9DSEVDS0lOUyA9ICdNYW5hZ2UgU29jaWFsIENoZWNraW5zJzsKCiAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIHJlcXVpcmVfb25jZShfX0RJUl9fLicvZGVmaW5lcy5waHAnKTsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2dzYV9nZXRhY3Rpdml0eScsYXJyYXkoJ2Nnc2FfdXRpbHMnLCdzbWFydHlfZ2V0YWN0aXZpdHknKSk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2dzYV9zZWxhY3Rpdml0eScsYXJyYXkoJ2Nnc2FfdXRpbHMnLCdzbWFydHlfc2VsYWN0aXZpdHknKSk7CgogICAgJHRoaXMtPkFkZEltYWdlRGlyKCdpbWFnZXMnKTsKICB9CgogIGZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiBnZXRfY2xhc3MoJHRoaXMpOyB9CiAgZnVuY3Rpb24gQWxsb3dBdXRvSW5zdGFsbCgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpKTsgfQogIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnMS4zLjEnOyB9CiAgZnVuY3Rpb24gR2V0SGVscCgpIHsgcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvaGVscC5odG1sLmluYycpOyAgfQogIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsgcmV0dXJuICdSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApJzsgfQogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgeyByZXR1cm4gJ2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcnOyB9CiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7IHJldHVybiBUUlVFOyB9CiAgZnVuY3Rpb24gSGFzQWRtaW4oKSB7IHJldHVybiBUUlVFOyB9CiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgeyByZXR1cm4gJ2NvbnRlbnQnOyB9CiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOyB9CiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7IHJldHVybiAnMS4xMS4yJzsgfQogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOyB9CiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOyB9CiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwcmV1bmluc3RhbGwnKTsgfQogIGZ1bmN0aW9uIEhhbmRsZXNFdmVudHMoKSB7IHJldHVybiBUUlVFOyB9CiAgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KICBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gRkFMU0U7IH0gLy8gbm90IHVzaW5nIHN0YXRpYyByb3V0ZXMgKHlldCkuCgogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgJGZuID0gX19ESVJfXy4nL2NoYW5nZWxvZy5pbmMnOwogICAgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgfQoKICBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkKICB7CiAgICAkdHh0ID0gcGFyZW50OjpHZXRIZWFkZXJIVE1MKCk7CiAgICAkb2JqID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdKUXVlcnlUb29scycpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSApIHsKICAgICAgJHRtcGwgPSA8PDxFT1QKe0pRdWVyeVRvb2xzIGFjdGlvbj0naW5janMnIGV4Y2x1ZGU9J2Zvcm0nfQp7SlF1ZXJ5VG9vbHMgYWN0aW9uPSdyZWFkeSd9CkVPVDsKICAgICAgJHR4dCAuPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRtcGwpOwogICAgfQogICAgcmV0dXJuICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogIHsKICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKICAgICRwYWdlaWQgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0Q29udGVudCgpOwoKICAgIC8vIHJvdXRlIGZvciBSRVNURlVMIGFwaQogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9hcHBcL3YxXC91c2VycyQvJyxhcnJheSgnYWN0aW9uJz0+J2FwaV91c2VycycsJ3Nob3d0ZW1wbGF0ZSc9PidmYWxzZScsJ3JldHVybmlkJz0+JHBhZ2VpZCkpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9hcHBcL3YxXC9hY3Rpdml0aWVzJC8nLGFycmF5KCdhY3Rpb24nPT4nYXBpX2FjdGl2aXRpZXMnLCdzaG93dGVtcGxhdGUnPT4nZmFsc2UnLCdyZXR1cm5pZCc9PiRwYWdlaWQpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvYXBwXC92MVwvY2hlY2tpbnMkLycsYXJyYXkoJ2FjdGlvbic9PidhcGlfY2hlY2tpbnMnLCdzaG93dGVtcGxhdGUnPT4nZmFsc2UnLCdyZXR1cm5pZCc9PiRwYWdlaWQpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvYXBwXC92MVwvZnJpZW5kcyQvJyxhcnJheSgnYWN0aW9uJz0+J2FwaV9mcmllbmRzJywnc2hvd3RlbXBsYXRlJz0+J2ZhbHNlJywncmV0dXJuaWQnPT4kcGFnZWlkKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2FwcFwvdjFcL2xvY2F0aW9ucyQvJyxhcnJheSgnYWN0aW9uJz0+J2FwaV9sb2NhdGlvbnMnLCdzaG93dGVtcGxhdGUnPT4nZmFsc2UnLCdyZXR1cm5pZCc9PiRwYWdlaWQpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvYXBwXC92MVwvbGVhZGVyYm9hcmRzJC8nLGFycmF5KCdhY3Rpb24nPT4nYXBpX2xlYWRlcmJvYXJkcycsJ3Nob3d0ZW1wbGF0ZSc9PidmYWxzZScsJ3JldHVybmlkJz0+JHBhZ2VpZCkpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9hcHBcL3YxXC9iYWRnZXMkLycsYXJyYXkoJ2FjdGlvbic9PidhcGlfYmFkZ2VzJywnc2hvd3RlbXBsYXRlJz0+J2ZhbHNlJywncmV0dXJuaWQnPT4kcGFnZWlkKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL2FwcFwvdjFcL3NvY2lhbCQvJyxhcnJheSgnYWN0aW9uJz0+J2FwaV9zb2NpYWwnLCdzaG93dGVtcGxhdGUnPT4nZmFsc2UnLCdyZXR1cm5pZCc9PiRwYWdlaWQpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvYXBwXC92MVwvZmF2b3JpdGVzJC8nLGFycmF5KCdhY3Rpb24nPT4nYXBpX2Zhdm9yaXRlcycsJ3Nob3d0ZW1wbGF0ZSc9PidmYWxzZScsJ3JldHVybmlkJz0+JHBhZ2VpZCkpOwoKICAgIC8vIHJvdXRlcyBmb3IgdmFyaW91cyB2aWV3cwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9hY3Rpdml0eVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxhY3Rpdml0eT5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLGFycmF5KCdhY3Rpb24nPT4ndmlld19hY3Rpdml0eScpKTsKCiAgICAvLyBwYXJhbWV0ZXJzIGZvciBmcm9udGVuZCBsaXN0IGNoZWNraW5zLgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2JhZGdlJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NoZWNraW4nLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbG9jYXRpb24nLENMRUFOX05PTkUpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2FjdGl2aXR5JyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2FjdGl2aXR5cGFyZW50JyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RpbWVsaW1pdCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdvd25lcicsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdvd25lcnMnLENMRUFOX05PTkUpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2xpbWl0JyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ29mZnNldCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0YnknLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydG9yZGVyJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOyAKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdtc2dyZXF1aXJlZCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjb29yZHNyZXF1aXJlZCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub3JlZGlyZWN0JyxDTEVBTl9JTlQpOwoKICAgIC8vIGZvciB0b2dnbGVmYXZvcml0ZQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Rlc3QnLENMRUFOX1NUUklORyk7CgogICAgLy8gZm9yIHNlbmQgZnJpZW5kIHJlcXVlc3QuCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndXNlcicsQ0xFQU5fSU5UKTsKCiAgICAvLyBwYXJhbWV0ZXJzIGZvciBsaXN0IGFjdGl2aXRpZXMKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsaXN0X3RlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N0YXJ0JyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2p1bmsnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9jZ3NfLiovJyxDTEVBTl9TVFJJTkcpOwoKICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ3NhX2dldF9mYXZvcml0ZXMnLGFycmF5KCdjZ3NhX3V0aWxzJywnc21hcnR5X2dldF9mYXZvcml0ZXMnKSk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2dzYV9nZXRfZnJpZW5kcycsYXJyYXkoJ2Nnc2FfdXRpbHMnLCdzbWFydHlfZ2V0X2ZyaWVuZHMnKSk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbignY2dzYV90b2dnbGVmYXZvcml0ZV9saW5rJyxhcnJheSgnY2dzYV91dGlscycsJ3NtYXJ0eV90b2dnbGVmYXZvcml0ZV9saW5rJykpOwogICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2Nnc2FfZnJpZW5kcmVxX2xpbmsnLGFycmF5KCdjZ3NhX3V0aWxzJywnc21hcnR5X2ZyaWVuZHJlcV9saW5rJykpOwogIH0KCiAgZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKICB7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjaGVja2luJywnJywkdGhpcy0+TGFuZygncGFyYW1fY2hlY2tpbicpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2JhZGdlJywnJywkdGhpcy0+TGFuZygncGFyYW1fYmFkZ2UnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhY3Rpb24nLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9hY3Rpb24nKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdsb2NhdGlvbicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2xvY2F0aW9uJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aXZpdHknLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9hY3Rpdml0eScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGl2aXR5cGFyZW50JywnJywkdGhpcy0+TGFuZygncGFyYW1fYWN0aXZpdHlwYXJlbnQnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0aW1lbGltaXQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV90aW1lbGltaXQnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdvd25lcicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX293bmVyJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignb3duZXJzJywnJywkdGhpcy0+TGFuZygncGFyYW1fb3duZXJzJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbGltaXQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9saW1pdCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ29mZnNldCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX29mZnNldCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnRieScsJ2NyZWF0ZWQnLCR0aGlzLT5MYW5nKCdwYXJhbV9zb3J0YnknKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0b3JkZXInLCdERVNDJywkdGhpcy0+TGFuZygncGFyYW1fc29ydG9yZGVyJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV90ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2xpc3RfdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9saXN0X3RlbXBsYXRlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3RhcnQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9zdGFydCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ21zZ3JlcXVpcmVkJywnJywkdGhpcy0+TGFuZygncGFyYW1fbXNncmVxdWlyZWQnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjb29yZHNyZXF1aXJlZCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2Nvb3Jkc3JlcXVpcmVkJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm9yZWRpcmVjdCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX25vcmVkaXJlY3QnKSk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndXNlcicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3VzZXInKSk7CiAgfQoKICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKHNlbGY6OlBFUk1JU1NJT04pIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oc2VsZjo6UEVSTUlTU0lPTl9DSEVDS0lOUykgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJyk7CiAgfQoKICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSgnRnJvbnRFbmRVc2Vycyc9PicxLjIxLjE0JywnQ29tcGFueURpcmVjdG9yeSc9PicxLjE4LjEnLAoJCSAnQ0dFeHRlbnNpb25zJz0+JzEuMzIuNicsJ0NHU2ltcGxlU21hcnR5Jz0+JzEuNScsJ0NHSm9iTWdyJz0+JzEuMi43JywKCQkgJ0NHRmF2cyc9PicxLjAuNScpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24oJGV2ZW50bmFtZSkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2Rlc2NyaWJlX2V2ZW50XycuJGV2ZW50bmFtZSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCRldmVudG5hbWUpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwX2V2ZW50XycuJGV2ZW50bmFtZSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ByZXR0eV91cmwoJGlkLCRhY3Rpb24sJHJldHVybmlkID0gJycsJHBhcmFtcyA9IGFycmF5KCksJGlubGluZSA9IGZhbHNlKQogIHsKICAgIHN3aXRjaCggJGFjdGlvbiApIHsKICAgIGNhc2UgJ3ZpZXdfYWN0aXZpdHknOgogICAgICBpZiggaXNzZXQoJHBhcmFtc1snYWN0aXZpdHknXSkgJiYgIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgewoJJGFjdGl2aXR5ID0gKGludCkkcGFyYW1zWydhY3Rpdml0eSddOwoJJG9iaiA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYnlfaWQoJGFjdGl2aXR5KTsKCWlmKCBpc19vYmplY3QoJG9iaikgKSB7CgkgIHJldHVybiBzcHJpbnRmKCJhY3Rpdml0eS8lZC8lZC8lcyIsJHJldHVybmlkLCRhY3Rpdml0eSxtdW5nZV9zdHJpbmdfdG9fdXJsKCRvYmotPm5hbWUpKTsKCX0KICAgICAgfQogICAgICBicmVhazsKICAgIH0KICB9CgogIC8qKgogICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gdXBkYXRlIHRoZSBhcHBsaWNhYmxlIGxlYWRlcmJvYXJkcyBnaXZlbmEgY2hlY2tpbi4KICAgKiBUaGlzIGlzIGEgcHJvdGVjdGVkIG1lbWJlciBpbiB0aGlzIGNsYXNzLCBiZWNhdXNlIHB1dHRpbmcgaXQgaW4gYW5vdGhlciBjbGFzcyB3b3VsZCByZXF1aXJlIGl0IHRvIGJlIHB1YmxpYy4KICAgKgogICAqIEBpbnRlcm5hbAogICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAqIEBpZ25vcmUKICAgKi8KICBwcm90ZWN0ZWQgZnVuY3Rpb24gVXBkYXRlTGVhZGVyYm9hcmRzKGNnc2FfY2hlY2tpbiAkY2hlY2tpbikKICB7CiAgICAvLyAxLiAgZ2l2ZW4gdGhlIGNoZWNraW4gLi4uIGZpbmQgYW55IGFuZCBhbGwgbWF0Y2hpbmcgbGVhZGVyYm9hcmRzCiAgICAvLyBmb3IgZWFjaCBtYXRjaCAKICAgIC8vICBpbmNyZW1lbnQgdGhlIHNjb3JlIGZvciB0aGlzIHVzZXIgb24gdGhhdCBsZWFkZXJib2FyZAogICAgLy8gIHRoZW4gCiAgfQoKICAvKioKICAgKiBTZXR1cCBDR0pvYk1nciBKb2JzCiAgICoKICAgKiBAaW50ZXJuYWwKICAgKiBAYWNjZXNzIHByaXZhdGUKICAgKiBAaWdub3JlCiAgICovCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIFNldHVwSm9icygpCiAgewogICAgJGpvYiA9IG5ldyBjZ2pvYm1ncl9qb2IoJHRoaXMtPkdldE5hbWUoKS4nIHVwZGF0ZSBsZWFkZXJib2FyZHMnKTsKICAgICRqb2ItPnNldF9yZWN1cl9pbnRlcnZhbCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW50ZXJ2YWxfdXBkYXRlbGVhZGVyYm9hcmRzJywxNSkpOwogICAgJHRhc2sgPSBuZXcgY2dqb2JtZ3JfaXRlcmF0aXZldGFzaygncHJvY2VzcyBvbmUgbGVhZGVyYm9hcmQnKTsKICAgICR0YXNrLT5zZXRfZnVuY3Rpb24oYXJyYXkoJ2Nnc2FfbGVhZGVyYm9hcmRfdGFza3MnLCd1cGRhdGVfb25lX2xlYWRlcmJvYXJkJykpOwogICAgJGpvYi0+YWRkX3Rhc2soJHRhc2spOwogICAgJGpvYi0+c2F2ZSgpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2pvYjogdXBkYXRlIGxlYWRlcmJvYXJkcycsJGpvYi0+aWQpOwoKICAgICRqb2IgPSBuZXcgY2dqb2JtZ3Jfam9iKCR0aGlzLT5HZXROYW1lKCkuJyB1cGRhdGUgYmFkZ2VzJyk7CiAgICAkam9iLT5zZXRfcmVjdXJfaW50ZXJ2YWwoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ludGVydmFsX3VwZGF0ZWJhZGdlcycsMzApKTsKICAgICR0YXNrID0gbmV3IGNnam9ibWdyX2l0ZXJhdGl2ZXRhc2soJ3Byb2Nlc3MgYmFkZ2VzIGZvciBsZWFkZXJib2FyZCcpOwogICAgJHRhc2stPnNldF9mdW5jdGlvbihhcnJheSgnY2dzYV9sZWFkZXJib2FyZF90YXNrcycsJ3VwZGF0ZV9iYWRnZXNfZm9yX2xlYWRlcmJvYXJkJykpOwogICAgJGpvYi0+YWRkX3Rhc2soJHRhc2spOwogICAgJGpvYi0+c2F2ZSgpOwogIH0KfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT5WZXJzaW9uIDEuMCAtIEluaXRpYWwgUmVsZWFzZS48L2xpPgogIDxsaT5WZXJzaW9uIDEuMgogICAgPHVsPgogICAgICA8bGk+RW5oYW5jZWQgZG9jdW1lbnRhdGlvbi48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgRkFWT1JJVEVTIGFwaSB0byBhbGxvdyB1c2VycyB0byBtYWludGFpbiBhIGxpc3Qgb2YgZmF2b3JpdGUgbG9jYXRpb25zLjwvbGk+CiAgICAgIDxsaT5BZGRzIHRoZSBGQVZPUklURVMgZnVuY3Rpb24gdG8gdGhlIExPQ0FUSU9OUyBBUEkgdG8gYWxsb3cgcmV0cmlldmluZyBhIGxpc3Qgb2YgdGhlIHVzZXJzIGZhdm9yaXRlIGxvY2F0aW9ucy48L2xpPgogICAgICA8bGk+TW9kaWZpZXMgdGhlIExPQ0FUSU9OUyBhcGkgdG8gYWxsb3cgc29ydGluZyBsb2NhdGlvbnMgYnkgdGhlIG1vc3QgbnVtYmVyIG9mIGNoZWNraW5zIChNT1NUQ0hFQ0tJTlMpPC9saT4KICAgICAgPGxpPk1vZGlmaWVzIHRoZSBMT0NBVElPTlMgYXBpIHRvIGFsbG93IHNvcnRpbmcgbG9jYXRpb25zIGJ5IHRoZSBtb3N0IG51bWJlciBvZiBmYXZvcml0ZXMgKE1PU1RGQVZPUklURVMpPC9saT4KICAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIGxvY2F0aW9ucyBieSBhY3Rpdml0eS48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBvbiB0aGUgZnJvbnRlbmQgdG8gY3JlYXRlIGFuZCByZW1vdmUgYSBmcmllbmQgcmVxdWVzdC48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBvbiB0aGUgZnJvbnRlbmQgdG8gYXBwcm92ZSBhbmQgcmVqZWN0IGZyaWVuZCByZXF1ZXN0cy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/client/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/client/.cms_ignore</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Y29va2llLnR4dApjb25maWcucGhwCg==]]></data>
	</file>
	<file>
	  <filename>/client/class.cms_http_request.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBIVFRQIENsYXNzCiAqCiAqIFRoaXMgaXMgYSB3cmFwcGVyIEhUVFAgY2xhc3MgdGhhdCB1c2VzIGVpdGhlciBjVVJMIG9yIGZzb2Nrb3BlbiB0byAKICogaGFydmVzdCByZXNvdXJjZXMgZnJvbSB3ZWIuIFRoaXMgY2FuIGJlIHVzZWQgd2l0aCBzY3JpcHRzIHRoYXQgbmVlZCAKICogYSB3YXkgdG8gY29tbXVuaWNhdGUgd2l0aCB2YXJpb3VzIEFQSXMgd2hvIHN1cHBvcnQgUkVTVC4KICoKICogQGF1dGhvciAgICAgIE1kIEVtcmFuIEhhc2FuIDxwaHBmb3VyQGdtYWlsLmNvbT4KICogQHBhY2thZ2UgICAgIEhUVFAgTGlicmFyeQogKiBAY29weXJpZ2h0ICAgMjAwNy0yMDA4IE1kIEVtcmFuIEhhc2FuCiAqIEBsaW5rICAgICAgICBodHRwOi8vd3d3LnBocGZvdXIuY29tL2xpYi9odHRwCiAqIEBzaW5jZSAgICAgICBWZXJzaW9uIDAuMQogKgogKiBNb2RpZmllZCBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiAqIFJlbmFtZWQgdGhlIGNsYXNzIHRvIGNtc19odHRwX3JlcXVlc3QKICogRml4ZWQgc29tZSBidWdzLgogKi8KCmNsYXNzIGNtc19odHRwX3JlcXVlc3QKewogICAgLyoqCiAgICAgKiBDb250YWlucyB0aGUgdGFyZ2V0IFVSTAogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJHRhcmdldDsKCiAgICAvKioKICAgICAqIHNvY2tldAogICAgICoKICAgICAqLwogICAgcHJpdmF0ZSAkX3NvY2tldDsKCiAgICAvKioKICAgICAqIENvbnRhaW5zIHRoZSB0YXJnZXQgaG9zdAogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJGhvc3Q7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIHRhcmdldCBwb3J0CiAgICAgKgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIHByaXZhdGUgJHBvcnQ7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIHRhcmdldCBwYXRoCiAgICAgKgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSAkcGF0aDsKICAgIAogICAgLyoqCiAgICAgKiBDb250YWlucyB0aGUgdGFyZ2V0IHNjaGVtYQogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJHNjaGVtYTsKICAgIAogICAgLyoqCiAgICAgKiBDb250YWlucyB0aGUgaHR0cCBtZXRob2QgKEdFVCBvciBQT1NUKQogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJG1ldGhvZDsKCiAgICAvKioKICAgICAqIENvbnRhaW5zIHJhdyBwb3N0IGRhdGEKICAgICAqCiAgICAgKiBAdmFyIHN0cgogICAgICovCiAgICBwcml2YXRlICRyYXdQb3N0RGF0YTsKCiAgICAvKioKICAgICAqIENvbnRhaW5zIHRoZSBwYXJhbWV0ZXJzIGZvciByZXF1ZXN0CiAgICAgKgogICAgICogQHZhciBhcnJheQogICAgICovCiAgICBwcml2YXRlICRwYXJhbXM7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIGNvb2tpZXMgZm9yIHJlcXVlc3QKICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByaXZhdGUgJGNvb2tpZXM7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIGNvb2tpZXMgcmV0cmlldmVkIGZyb20gcmVzcG9uc2UKICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByaXZhdGUgJF9jb29raWVzOwogICAgCiAgICAvKioKICAgICAqIE51bWJlciBvZiBzZWNvbmRzIHRvIHRpbWVvdXQKICAgICAqCiAgICAgKiBAdmFyIGludGVnZXIKICAgICAqLwogICAgcHJpdmF0ZSAkdGltZW91dDsKICAgIAogICAgLyoqCiAgICAgKiBXaGV0aGVyIHRvIHVzZSBjVVJMIG9yIG5vdAogICAgICoKICAgICAqIEB2YXIgYm9vbGVhbgogICAgICovCiAgICBwcml2YXRlICR1c2VDdXJsOwogICAgCiAgICAvKioKICAgICAqIENvbnRhaW5zIHRoZSByZWZlcnJlciBVUkwKICAgICAqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcml2YXRlICRyZWZlcnJlcjsKICAgIAogICAgLyoqCiAgICAgKiBDb250YWlucyB0aGUgVXNlciBhZ2VudCBzdHJpbmcKICAgICAqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcml2YXRlICR1c2VyQWdlbnQ7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIGNvb2tpZSBwYXRoICh0byBiZSB1c2VkIHdpdGggY1VSTCkKICAgICAqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcml2YXRlICRjb29raWVQYXRoOwogICAgCiAgICAvKioKICAgICAqIFdoZXRoZXIgdG8gdXNlIGNvb2tpZSBhdCBhbGwKICAgICAqCiAgICAgKiBAdmFyIGJvb2xlYW4KICAgICAqLwogICAgcHJpdmF0ZSAkdXNlQ29va2llOwogICAgCiAgICAvKioKICAgICAqIFdoZXRoZXIgdG8gc3RvcmUgY29va2llIGZvciBzdWJzZXF1ZW50IHJlcXVlc3RzCiAgICAgKgogICAgICogQHZhciBib29sZWFuCiAgICAgKi8KICAgIHByaXZhdGUgJHNhdmVDb29raWU7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIFVzZXJuYW1lIChmb3IgYXV0aGVudGljYXRpb24pCiAgICAgKgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSAkdXNlcm5hbWU7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIFBhc3N3b3JkIChmb3IgYXV0aGVudGljYXRpb24pCiAgICAgKgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSAkcGFzc3dvcmQ7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIGZldGNoZWQgd2ViIHNvdXJjZQogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJHJlc3VsdDsKICAgIAogICAgLyoqCiAgICAgKiBDb250YWlucyB0aGUgbGFzdCBoZWFkZXJzIAogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJGhlYWRlcnM7CiAgICAKICAgIC8qKgogICAgICogQ29udGFpbnMgdGhlIGxhc3QgY2FsbCdzIGh0dHAgc3RhdHVzIGNvZGUKICAgICAqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcml2YXRlICRzdGF0dXM7CiAgICAKICAgIC8qKgogICAgICogV2hldGhlciB0byBmb2xsb3cgaHR0cCByZWRpcmVjdCBvciBub3QKICAgICAqCiAgICAgKiBAdmFyIGJvb2xlYW4KICAgICAqLwogICAgcHJpdmF0ZSAkcmVkaXJlY3Q7CiAgICAKICAgIC8qKgogICAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHJlZGlyZWN0IHRvIGZvbGxvdwogICAgICoKICAgICAqIEB2YXIgaW50ZWdlcgogICAgICovCiAgICBwcml2YXRlICRtYXhSZWRpcmVjdDsKICAgIAogICAgLyoqCiAgICAgKiBUaGUgY3VycmVudCBudW1iZXIgb2YgcmVkaXJlY3RzCiAgICAgKgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIHByaXZhdGUgJGN1clJlZGlyZWN0OwogICAgCiAgICAvKioKICAgICAqIENvbnRhaW5zIGFueSBlcnJvciBvY2N1cnJlZAogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJGVycm9yOwogICAgCiAgICAvKioKICAgICAqIFN0b3JlIHRoZSBuZXh0IHRva2VuCiAgICAgKgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHJpdmF0ZSAkbmV4dFRva2VuOwogICAgCiAgICAvKioKICAgICAqIFdoZXRoZXIgdG8ga2VlcCBkZWJ1ZyBtZXNzYWdlcwogICAgICoKICAgICAqIEB2YXIgYm9vbGVhbgogICAgICovCiAgICBwcml2YXRlICRkZWJ1ZzsKCiAgICAvKioKICAgICAqIFN0b3JlcyBvcHRpb25hbCBodHRwIGhlYWRlcnMKICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHByaXZhdGUgJGhlYWRlckFycmF5OwoKICAgIC8qKgogICAgICogU3RvcmVzIHRoZSBkZWJ1ZyBtZXNzYWdlcwogICAgICoKICAgICAqIEB2YXIgYXJyYXkKICAgICAqIEB0b2RvIHdpbGwga2VlcCBkZWJ1ZyBtZXNzYWdlcwogICAgICovCiAgICBwcml2YXRlICRkZWJ1Z01zZzsKCiAgICAvKioKICAgICAqIFN0b3JlcyBwcm94eSBpbmZvcm1hdGlvbiAoaG9zdDpwb3J0KQogICAgICoKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHByaXZhdGUgJHByb3h5OwoKICAgIC8qKgogICAgICogQ29uc3RydWN0b3IgZm9yIGluaXRpYWxpemluZyB0aGUgY2xhc3Mgd2l0aCBkZWZhdWx0IHZhbHVlcy4KICAgICAqIAogICAgICogQHJldHVybiB2b2lkICAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+Y2xlYXIoKTsgICAgCiAgICB9CgogICAgLyoqCiAgICAgKiBJbml0aWFsaXplIHByZWZlcmVuY2VzCiAgICAgKiAKICAgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCB0YWtlIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGNvbmZpZyB2YWx1ZXMgYW5kIAogICAgICogd2lsbCBpbml0aWFsaXplIHRoZSBjbGFzcyB2YXJpYWJsZXMgdXNpbmcgdGhlbS4gCiAgICAgKiAKICAgICAqIEV4YW1wbGUgdXNlOgogICAgICogCiAgICAgKiA8cHJlPgogICAgICogJGh0dHBDb25maWdbJ21ldGhvZCddICAgICA9ICdHRVQnOwogICAgICogJGh0dHBDb25maWdbJ3RhcmdldCddICAgICA9ICdodHRwOi8vd3d3LnNvbWVkb21haW4uY29tL2luZGV4Lmh0bWwnOwogICAgICogJGh0dHBDb25maWdbJ3JlZmVycmVyJ10gICA9ICdodHRwOi8vd3d3LnNvbWVkb21haW4uY29tJzsKICAgICAqICRodHRwQ29uZmlnWyd1c2VyX2FnZW50J10gPSAnTXkgQ3Jhd2xlcic7CiAgICAgKiAkaHR0cENvbmZpZ1sndGltZW91dCddICAgID0gJzMwJzsKICAgICAqICRodHRwQ29uZmlnWydwYXJhbXMnXSAgICAgPSBhcnJheSgndmFyMScgPT4gJ3Rlc3R2YWx1ZScsICd2YXIyJyA9PiAnc29tZXZhbHVlJyk7CiAgICAgKiAKICAgICAqICRodHRwID0gbmV3IEh0dHAoKTsKICAgICAqICRodHRwLT5pbml0aWFsaXplKCRodHRwQ29uZmlnKTsKICAgICAqIDwvcHJlPgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSBDb25maWcgdmFsdWVzIGFzIGFzc29jaWF0aXZlIGFycmF5CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLyAgICAKICAgIGZ1bmN0aW9uIGluaXRpYWxpemUoJGNvbmZpZyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgJHRoaXMtPmNsZWFyKCk7CiAgICAgICAgZm9yZWFjaCAoJGNvbmZpZyBhcyAka2V5ID0+ICR2YWwpCiAgICAgICAgewogICAgICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPiRrZXkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkbWV0aG9kID0gJ3NldCcgLiB1Y2ZpcnN0KHN0cl9yZXBsYWNlKCdfJywgJycsICRrZXkpKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKG1ldGhvZF9leGlzdHMoJHRoaXMsICRtZXRob2QpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT4kbWV0aG9kKCR2YWwpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT4ka2V5ID0gJHZhbDsKICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBDbGVhciBFdmVyeXRoaW5nCiAgICAgKiAKICAgICAqIENsZWFycyBhbGwgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGNsYXNzIGFuZCBzZXRzIHRoZSBvYmplY3QgdG8KICAgICAqIHRoZSBiZWdpbm5pbmcgc3RhdGUuIFZlcnkgaGFuZHkgaWYgeW91IGFyZSBkb2luZyBzdWJzZXF1ZW50IGNhbGxzIAogICAgICogd2l0aCBkaWZmZXJlbnQgZGF0YS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gY2xlYXIoKQogICAgewogICAgICAgIC8vIFNldCB0aGUgcmVxdWVzdCBkZWZhdWx0cwogICAgICAgICR0aGlzLT5ob3N0ICAgICAgICAgPSAnJzsKICAgICAgICAkdGhpcy0+cG9ydCAgICAgICAgID0gMDsKICAgICAgICAkdGhpcy0+cGF0aCAgICAgICAgID0gJyc7CiAgICAgICAgJHRoaXMtPnRhcmdldCAgICAgICA9ICcnOwogICAgICAgICR0aGlzLT5tZXRob2QgICAgICAgPSAnR0VUJzsKICAgICAgICAkdGhpcy0+c2NoZW1hICAgICAgID0gJ2h0dHAnOwogICAgICAgICR0aGlzLT5wYXJhbXMgICAgICAgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5oZWFkZXJzICAgICAgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5jb29raWVzICAgICAgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5fY29va2llcyAgICAgPSBhcnJheSgpOwoJJHRoaXMtPmhlYWRlckFycmF5ICA9IGFycmF5KCk7CgkkdGhpcy0+cHJveHkgICAgICAgID0gbnVsbDsKICAgICAgICAKICAgICAgICAvLyBTZXQgdGhlIGNvbmZpZyBkZXRhaWxzICAgICAgICAKICAgICAgICAkdGhpcy0+ZGVidWcgICAgICAgID0gRkFMU0U7CiAgICAgICAgJHRoaXMtPmVycm9yICAgICAgICA9ICcnOwogICAgICAgICR0aGlzLT5zdGF0dXMgICAgICAgPSAwOwogICAgICAgICR0aGlzLT50aW1lb3V0ICAgICAgPSAnMjUnOwogICAgICAgICR0aGlzLT51c2VDdXJsICAgICAgPSBUUlVFOwogICAgICAgICR0aGlzLT5yZWZlcnJlciAgICAgPSAnJzsKICAgICAgICAkdGhpcy0+dXNlcm5hbWUgICAgID0gJyc7CiAgICAgICAgJHRoaXMtPnBhc3N3b3JkICAgICA9ICcnOwogICAgICAgICR0aGlzLT5yZWRpcmVjdCAgICAgPSBGQUxTRTsKCSR0aGlzLT5yZXN1bHQgICAgICAgPSBudWxsOwogICAgICAgIAogICAgICAgIC8vIFNldCB0aGUgY29va2llIGFuZCBhZ2VudCBkZWZhdWx0cwogICAgICAgICR0aGlzLT5uZXh0VG9rZW4gICAgPSAnJzsKICAgICAgICAkdGhpcy0+dXNlQ29va2llICAgID0gVFJVRTsKICAgICAgICAkdGhpcy0+c2F2ZUNvb2tpZSAgID0gVFJVRTsKICAgICAgICAkdGhpcy0+bWF4UmVkaXJlY3QgID0gMzsKICAgICAgICAkdGhpcy0+Y29va2llUGF0aCAgID0gJ2Nvb2tpZS50eHQnOwogICAgICAgICR0aGlzLT51c2VyQWdlbnQgICAgPSAnTW96aWxsYS81LjAgKFdpbmRvd3M7IFU7IFdpbmRvd3MgTlQgNS4xOyBlbi1VUzsgcnY6MS44LjEuNikgR2Vja28vMjAwNzA3MjUgRmlyZWZveC8yLjAuMC45JzsKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBTZXQgdGFyZ2V0IFVSTAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgVVJMIG9mIHRhcmdldCByZXNvdXJjZQogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIGZ1bmN0aW9uIHNldFRhcmdldCgkdXJsKQogICAgewogICAgICAgIGlmICgkdXJsKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPnRhcmdldCA9ICR1cmw7CiAgICAgICAgfSAgIAogICAgfQogICAgCiAgICAvKioKICAgICAqIFNldCBodHRwIG1ldGhvZAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgSFRUUCBtZXRob2QgdG8gdXNlIChHRVQgb3IgUE9TVCkKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBmdW5jdGlvbiBzZXRNZXRob2QoJG1ldGhvZCkKICAgIHsKICAgICAgICBpZiAoJG1ldGhvZCA9PSAnR0VUJyB8fCAkbWV0aG9kID09ICdQT1NUJykKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5tZXRob2QgPSAkbWV0aG9kOwogICAgICAgIH0gICAKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBTZXQgcmVmZXJyZXIgVVJMCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyBVUkwgb2YgcmVmZXJyZXIgcGFnZQogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIGZ1bmN0aW9uIHNldFJlZmVycmVyKCRyZWZlcnJlcikKICAgIHsKICAgICAgICBpZiAoJHJlZmVycmVyKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPnJlZmVycmVyID0gJHJlZmVycmVyOwogICAgICAgIH0gICAKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBTZXQgVXNlciBhZ2VudCBzdHJpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nIEZ1bGwgdXNlciBhZ2VudCBzdHJpbmcKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBmdW5jdGlvbiBzZXRVc2VyYWdlbnQoJGFnZW50KQogICAgewogICAgICAgIGlmICgkYWdlbnQpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+dXNlckFnZW50ID0gJGFnZW50OwogICAgICAgIH0gICAKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBTZXQgdGltZW91dCBvZiBleGVjdXRpb24KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciBUaW1lb3V0IGRlbGF5IGluIHNlY29uZHMKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBmdW5jdGlvbiBzZXRUaW1lb3V0KCRzZWNvbmRzKQogICAgewogICAgICAgIGlmICgkc2Vjb25kcyA+IDApCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+dGltZW91dCA9ICRzZWNvbmRzOwogICAgICAgIH0gICAKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBTZXQgY29va2llIHBhdGggKGNVUkwgb25seSkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nIEZpbGUgbG9jYXRpb24gb2YgY29va2llamFyCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gc2V0Q29va2llcGF0aCgkcGF0aCkKICAgIHsKICAgICAgICBpZiAoJHBhdGgpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+Y29va2llUGF0aCA9ICRwYXRoOwogICAgICAgIH0gICAKICAgIH0KCiAgICBmdW5jdGlvbiBzZXRSYXdQb3N0RGF0YSgkZGF0YSkKICAgIHsKICAgICAgJHRoaXMtPnJhd1Bvc3REYXRhID0gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgcmVxdWVzdCBwYXJhbWV0ZXJzCiAgICAgKgogICAgICogQHBhcmFtIGFycmF5IEFsbCB0aGUgcGFyYW1ldGVycyBmb3IgR0VUIG9yIFBPU1QKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBmdW5jdGlvbiBzZXRQYXJhbXMoJGRhdGFBcnJheSkKICAgIHsKICAgICAgaWYoICFpc19hcnJheSgkZGF0YUFycmF5KSApCgl7CgkgICR0aGlzLT5zZXRSYXdQb3N0RGF0YSgkZGF0YUFycmF5KTsKCX0KICAgICAgZWxzZSBpZiAoaXNfYXJyYXkoJGRhdGFBcnJheSkpCiAgICAgICAgewoJICAkdGhpcy0+cGFyYW1zID0gYXJyYXlfbWVyZ2UoJHRoaXMtPnBhcmFtcywgJGRhdGFBcnJheSk7CiAgICAgICAgfQogICAgfQogICAgCiAgICAvKioKICAgICAqIFNldCBiYXNpYyBodHRwIGF1dGhlbnRpY2F0aW9uIHJlYWxtCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyBVc2VybmFtZSBmb3IgYXV0aGVudGljYXRpb24KICAgICAqIEBwYXJhbSBzdHJpbmcgUGFzc3dvcmQgZm9yIGF1dGhlbnRpY2F0aW9uCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gc2V0QXV0aCgkdXNlcm5hbWUsICRwYXNzd29yZCkKICAgIHsKICAgICAgICBpZiAoIWVtcHR5KCR1c2VybmFtZSkgJiYgIWVtcHR5KCRwYXNzd29yZCkpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+dXNlcm5hbWUgPSAkdXNlcm5hbWU7CiAgICAgICAgICAgICR0aGlzLT5wYXNzd29yZCA9ICRwYXNzd29yZDsKICAgICAgICB9CiAgICB9CiAgICAKICAgIC8qKgogICAgICogU2V0IG1heGltdW0gbnVtYmVyIG9mIHJlZGlyZWN0aW9uIHRvIGZvbGxvdwogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyIE1heGltdW0gbnVtYmVyIG9mIHJlZGlyZWN0cwogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIGZ1bmN0aW9uIHNldE1heHJlZGlyZWN0KCR2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoIWVtcHR5KCR2YWx1ZSkpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+bWF4UmVkaXJlY3QgPSAkdmFsdWU7CiAgICAgICAgfQogICAgfQogICAgCiAgICAvKioKICAgICAqIEFkZCByZXF1ZXN0IHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nIE5hbWUgb2YgdGhlIHBhcmFtZXRlcgogICAgICogQHBhcmFtIHN0cmluZyBWYWx1ZSBvZiB0aGUgcGFyYW1ldGVyCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gYWRkUGFyYW0oJG5hbWUsICR2YWx1ZSkKICAgIHsKICAgICAgaWYgKCAhZW1wdHkoJG5hbWUpICYmICFpc19udWxsKCR2YWx1ZSkgKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPnBhcmFtc1skbmFtZV0gPSAkdmFsdWU7CiAgICAgICAgfSAgIAogICAgfQogICAgCiAgICAvKioKICAgICAqIEFkZCBhIGNvb2tpZSB0byB0aGUgcmVxdWVzdAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgTmFtZSBvZiBjb29raWUKICAgICAqIEBwYXJhbSBzdHJpbmcgVmFsdWUgb2YgY29va2llCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gYWRkQ29va2llKCRuYW1lLCAkdmFsdWUpCiAgICB7CiAgICAgICAgaWYgKCFlbXB0eSgkbmFtZSkgJiYgIWVtcHR5KCR2YWx1ZSkpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+Y29va2llc1skbmFtZV0gPSAkdmFsdWU7CiAgICAgICAgfSAgIAogICAgfQogICAgCiAgICAvKioKICAgICAqIFdoZXRoZXIgdG8gdXNlIGNVUkwgb3Igbm90CiAgICAgKgogICAgICogQHBhcmFtIGJvb2xlYW4gV2hldGhlciB0byB1c2UgY1VSTCBvciBub3QKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBmdW5jdGlvbiB1c2VDdXJsKCR2YWx1ZSA9IFRSVUUpCiAgICB7CiAgICAgICAgaWYgKGlzX2Jvb2woJHZhbHVlKSkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT51c2VDdXJsID0gJHZhbHVlOwogICAgICAgIH0gICAKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBXaGV0aGVyIHRvIHVzZSBjb29raWVzIG9yIG5vdAogICAgICoKICAgICAqIEBwYXJhbSBib29sZWFuIFdoZXRoZXIgdG8gdXNlIGNvb2tpZXMgb3Igbm90CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gdXNlQ29va2llKCR2YWx1ZSA9IFRSVUUpCiAgICB7CiAgICAgICAgaWYgKGlzX2Jvb2woJHZhbHVlKSkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT51c2VDb29raWUgPSAkdmFsdWU7CiAgICAgICAgfSAgIAogICAgfQogICAgCiAgICAvKioKICAgICAqIFdoZXRoZXIgdG8gc2F2ZSBwZXJzaXN0ZW50IGNvb2tpZXMgaW4gc3Vic2VxdWVudCBjYWxscwogICAgICoKICAgICAqIEBwYXJhbSBib29sZWFuIFdoZXRoZXIgdG8gc2F2ZSBwZXJzaXN0ZW50IGNvb2tpZXMgb3Igbm90CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gc2F2ZUNvb2tpZSgkdmFsdWUgPSBUUlVFKQogICAgewogICAgICAgIGlmIChpc19ib29sKCR2YWx1ZSkpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+c2F2ZUNvb2tpZSA9ICR2YWx1ZTsKICAgICAgICB9ICAgCiAgICB9CiAgICAKICAgIC8qKgogICAgICogV2hldGhlciB0byBmb2xsb3cgSFRUUCByZWRpcmVjdHMKICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbGVhbiBXaGV0aGVyIHRvIGZvbGxvdyBIVFRQIHJlZGlyZWN0cyBvciBub3QKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBmdW5jdGlvbiBmb2xsb3dSZWRpcmVjdHMoJHZhbHVlID0gVFJVRSkKICAgIHsKICAgICAgICBpZiAoaXNfYm9vbCgkdmFsdWUpKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPnJlZGlyZWN0ID0gJHZhbHVlOwogICAgICAgIH0gICAKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBHZXQgZXhlY3V0aW9uIHJlc3VsdCBib2R5CiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgb3V0cHV0IG9mIGV4ZWN1dGlvbgogICAgICovCiAgICBmdW5jdGlvbiBnZXRSZXN1bHQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmVzdWx0OwogICAgfQogICAgCiAgICAvKioKICAgICAqIEdldCBleGVjdXRpb24gcmVzdWx0IGhlYWRlcnMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IGxhc3QgaGVhZGVycyBvZiBleGVjdXRpb24KICAgICAqLwogICAgZnVuY3Rpb24gZ2V0SGVhZGVycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5oZWFkZXJzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGV4ZWN1dGlvbiBzdGF0dXMgY29kZQogICAgICoKICAgICAqIEByZXR1cm4gaW50ZWdlciBsYXN0IGh0dHAgc3RhdHVzIGNvZGUKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0U3RhdHVzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXR1czsKICAgIH0KICAgICAgICAKICAgIC8qKgogICAgICogR2V0IGxhc3QgZXhlY3V0aW9uIGVycm9yCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcgbGFzdCBlcnJvciBtZXNzYWdlIChpZiBhbnkpCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldEVycm9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmVycm9yOwogICAgfQoKICAgIC8qKgogICAgICogUmVxdWVzdCBIZWFkZXIgRXhpc3RzPwogICAgICovCiAgICBmdW5jdGlvbiByZXF1ZXN0SGVhZGVyRXhpc3RzKCRrZXkpCiAgICB7CiAgICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPmhlYWRlckFycmF5KSApCgl7CgkgICR0aGlzLT5oZWFkZXJBcnJheSA9IGFycmF5KCk7Cgl9CiAgICAgIGlmKCBzdHJwb3MoJGtleSwnOicpICE9PSBGQUxTRSApCgl7CgkgICR0bXAgPSBleHBsb2RlKCc6Jywka2V5KTsKCSAgJGtleSA9IHRyaW0oJHRtcFswXSk7Cgl9CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5oZWFkZXJBcnJheSk7ICRpKysgKQoJewoJICAkdG1wID0gZXhwbG9kZSgnOicsJHRoaXMtPmhlYWRlckFycmF5WyRpXSwxKTsKCSAgJGtleTIgPSB0cmltKCR0bXBbMF0pOwoJICBpZiggJGtleTIgPT0gJGtleSApIHJldHVybiBUUlVFOwoJfQogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSByZXF1ZXN0IGhlYWRlcgogICAgICoKICAgICAqLwogICAgZnVuY3Rpb24gYWRkUmVxdWVzdEhlYWRlcigkc3RyLCRwcmVwZW5kID0gZmFsc2UpCiAgICB7CiAgICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPmhlYWRlckFycmF5KSApCgl7CgkgICR0aGlzLT5oZWFkZXJBcnJheSA9IGFycmF5KCk7Cgl9CgogICAgICAkZiA9IDA7CiAgICAgIGlmKCBzdHJwb3MoJHN0ciwnOicpICE9PSBGQUxTRSApCgl7CgkgICR0bXAgPSBleHBsb2RlKCc6Jywkc3RyLDEpOwoJICAka2V5ID0gdHJpbSgkdG1wWzBdKTsKCSAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPmhlYWRlckFycmF5KTsgJGkrKyApCgkgICAgewoJICAgICAgJHRtcCA9IGV4cGxvZGUoJzonLCR0aGlzLT5oZWFkZXJBcnJheVskaV0sMSk7CgkgICAgICAka2V5MiA9IHRyaW0oJHRtcFswXSk7CgkgICAgICBpZiggJGtleTIgPT0gJGtleSApCgkJewoJCSAgLy8gZm91bmQgYSBkdXBsaWNhdGUuCgkJICAkdGhpcy0+aGVhZGVyQXJyYXlbJGldID0gJHN0cjsKCQkgICRmID0gMTsKCQkgIGJyZWFrOwoJCX0KCSAgICB9Cgl9CiAgICAgIGlmKCAhJGYgKQoJewoJICBpZiggJHByZXBlbmQgKQoJICAgIHsKCSAgICAgIGFycmF5X3Vuc2hpZnQoJHRoaXMtPmhlYWRlckFycmF5LCRzdHIpOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5oZWFkZXJBcnJheVtdID0gJHN0cjsKCSAgICB9Cgl9CiAgICB9CgoKICAgIHByaXZhdGUgZnVuY3Rpb24gX2lzQ3VybFN1aXRhYmxlKCkKICAgIHsKICAgICAgc3RhdGljICRfY3VybGdvb2QgPSAtMTsKCiAgICAgIGlmKCAkX2N1cmxnb29kID09IC0xICkKCXsKCSAgJF9jdXJsZ29vZCA9IDA7CgkgIGlmKCBpbl9hcnJheSgnY3VybCcsZ2V0X2xvYWRlZF9leHRlbnNpb25zKCkpICkgCgkgICAgewoJICAgICAgaWYoIGZ1bmN0aW9uX2V4aXN0cygnY3VybF92ZXJzaW9uJykgKQoJCXsKCQkgICR0bXAgPSBjdXJsX3ZlcnNpb24oKTsKCQkgIGlmKCBpc3NldCgkdG1wWyd2ZXJzaW9uJ10pICkKCQkgICAgewoJCSAgICAgIGlmKCB2ZXJzaW9uX2NvbXBhcmUoJHRtcFsndmVyc2lvbiddLCc3LjE5LjcnKSA+PSAwICkKCQkJewoJCQkgICRfY3VybGdvb2QgPSAxOwoJCQl9CgkJICAgIH0KCQl9CgkgICAgfQoJfQoKICAgICAgcmV0dXJuICRfY3VybGdvb2Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBFeGVjdXRlIGEgSFRUUCByZXF1ZXN0CiAgICAgKiAKICAgICAqIEV4ZWN1dGVzIHRoZSBodHRwIGZldGNoIHVzaW5nIGFsbCB0aGUgc2V0IHByb3BlcnRpZXMuIEludGVsbGVnZW50bHkKICAgICAqIHN3aXRjaCB0byBmc29ja29wZW4gaWYgY1VSTCBpcyBub3QgcHJlc2VudC4gQW5kIGJlIHNtYXJ0IHRvIGZvbGxvdwogICAgICogcmVkaXJlY3RzIChpZiBhc2tlZCBzbykuCiAgICAgKiAKICAgICAqIEBwYXJhbSBzdHJpbmcgVVJMIG9mIHRoZSB0YXJnZXQgcGFnZSAob3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nIFVSTCBvZiB0aGUgcmVmZXJyZXIgcGFnZSAob3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBodHRwIG1ldGhvZCAoR0VUIG9yIFBPU1QpIChvcHRpb25hbCkKICAgICAqIEBwYXJhbSBhcnJheSBQYXJhbWV0ZXIgYXJyYXkgZm9yIEdFVCBvciBQT1NUIChvcHRpb25hbCkKICAgICAqIEByZXR1cm4gc3RyaW5nIFJlc3BvbnNlIGJvZHkgb2YgdGhlIHRhcmdldCBwYWdlCiAgICAgKi8gICAgCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhlY3V0ZSgkdGFyZ2V0ID0gJycsICRyZWZlcnJlciA9ICcnLCAkbWV0aG9kID0gJycsICRkYXRhID0gYXJyYXkoKSkKICAgIHsKICAgICAgICAvLyBJZiBjVVJMIGlzIG5vdCBpbnN0YWxsZWQsIHdlJ2xsIGZvcmNlIGZzY29rb3BlbgoJJHRoaXMtPnVzZUN1cmwgPSAkdGhpcy0+dXNlQ3VybCAmJiAkdGhpcy0+X2lzQ3VybFN1aXRhYmxlKCk7CiAgICAgICAgCiAgICAgICAgLy8gUG9wdWxhdGUgdGhlIHByb3BlcnRpZXMKICAgICAgICAkdGhpcy0+dGFyZ2V0ID0gKCR0YXJnZXQpID8gJHRhcmdldCA6ICR0aGlzLT50YXJnZXQ7CiAgICAgICAgJHRoaXMtPm1ldGhvZCA9ICgkbWV0aG9kKSA/ICRtZXRob2QgOiAkdGhpcy0+bWV0aG9kOwogICAgICAgIAogICAgICAgICR0aGlzLT5yZWZlcnJlciA9ICgkcmVmZXJyZXIpID8gJHJlZmVycmVyIDogJHRoaXMtPnJlZmVycmVyOwogICAgICAgIAogICAgICAgIC8vIEFkZCB0aGUgbmV3IHBhcmFtcwogICAgICAgIGlmIChpc19hcnJheSgkZGF0YSkgJiYgY291bnQoJGRhdGEpID4gMCkgCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+cGFyYW1zID0gYXJyYXlfbWVyZ2UoJHRoaXMtPnBhcmFtcywgJGRhdGEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBQcm9jZXNzIGRhdGEsIGlmIHByZXNlbnRlZAoJJHF1ZXJ5U3RyaW5nID0gJyc7CglpZigkdGhpcy0+cmF3UG9zdERhdGEpCgl7CgkgICRxdWVyeVN0cmluZyA9ICR0aGlzLT5yYXdQb3N0RGF0YTsKCX0KICAgICAgICBlbHNlIGlmKGlzX2FycmF5KCR0aGlzLT5wYXJhbXMpICYmIGNvdW50KCR0aGlzLT5wYXJhbXMpID4gMCkKICAgICAgICB7CgkgIGlmKCAkdGhpcy0+dXNlQ3VybCAmJiAkdGhpcy0+bWV0aG9kID09ICdQT1NUJyApCgkgICAgewoJICAgICAgZm9yZWFjaCggJHRoaXMtPnBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApCgkJewoJCSAgaWYoICR2YWx1ZSAhPSAnJyAmJiAkdmFsdWVbMF0gPT0gJ0AnICkKCQkgICAgewoJCSAgICAgIC8vIGZpbGUgdXBsb2Fkcy4uIHRoZXJlZm9yZSBuZWVkIHRvIGRvIG11bHRpcGFydC4KCQkgICAgICAvLyBuZWVkIHRvIGRvIGl0IGFzIGFuIGFycmF5LgoJCSAgICAgICRxdWVyeVN0cmluZyA9ICR0aGlzLT5wYXJhbXM7CgkJICAgIH0KCQl9CgkgICAgfQoJICBpZiggJHF1ZXJ5U3RyaW5nID09ICcnICkKCSAgICB7CgkgICAgICAkcXVlcnlTdHJpbmcgPSBodHRwX2J1aWxkX3F1ZXJ5KCR0aGlzLT5wYXJhbXMpOwoJICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEdFVCBtZXRob2QgY29uZmlndXJhdGlvbgogICAgICAgIGlmKCR0aGlzLT5tZXRob2QgPT0gJ0dFVCcpCiAgICAgICAgewogICAgICAgICAgICBpZihpc3NldCgkcXVlcnlTdHJpbmcpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkdGhpcy0+dGFyZ2V0ID0gJHRoaXMtPnRhcmdldCAuICI/IiAuICRxdWVyeVN0cmluZzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBQYXJzZSB0YXJnZXQgVVJMCiAgICAgICAgJHVybFBhcnNlZCA9IHBhcnNlX3VybCgkdGhpcy0+dGFyZ2V0KTsKCWlmKCAkdGhpcy0+cG9ydCA9PSAwICYmIGlzc2V0KCR1cmxQYXJzZWRbJ3BvcnQnXSkgJiYgJHVybFBhcnNlZFsncG9ydCddID4gMCApCgkgIHsKCSAgICAkdGhpcy0+cG9ydCA9ICR1cmxQYXJzZWRbJ3BvcnQnXTsKCSAgfQogICAgICAgIAogICAgICAgIC8vIEhhbmRsZSBTU0wgY29ubmVjdGlvbiByZXF1ZXN0CiAgICAgICAgaWYgKCR1cmxQYXJzZWRbJ3NjaGVtZSddID09ICdodHRwcycpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+aG9zdCA9ICR1cmxQYXJzZWRbJ2hvc3QnXTsKICAgICAgICAgICAgJHRoaXMtPnBvcnQgPSAoJHRoaXMtPnBvcnQgIT0gMCkgPyAkdGhpcy0+cG9ydCA6IDQ0MzsKCSAgICAkdGhpcy0+X3NvY2tldCA9ICdzc2w6Ly8nLiR1cmxQYXJzZWRbJ2hvc3QnXS4nOicuJHRoaXMtPnBvcnQ7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5ob3N0ID0gJHVybFBhcnNlZFsnaG9zdCddOwogICAgICAgICAgICAkdGhpcy0+cG9ydCA9ICgkdGhpcy0+cG9ydCAhPSAwKSA/ICR0aGlzLT5wb3J0IDogODA7CgkgICAgJHRoaXMtPl9zb2NrZXQgPSAndGNwOi8vJy4kdXJsUGFyc2VkWydob3N0J10uJzonLiR0aGlzLT5wb3J0OwogICAgICAgIH0KCiAgICAgICAgLy8gRmluYWxpemUgdGhlIHRhcmdldCBwYXRoCiAgICAgICAgJHRoaXMtPnBhdGggICA9IChpc3NldCgkdXJsUGFyc2VkWydwYXRoJ10pID8gJHVybFBhcnNlZFsncGF0aCddIDogJy8nKSAuIChpc3NldCgkdXJsUGFyc2VkWydxdWVyeSddKSA/ICc/JyAuICR1cmxQYXJzZWRbJ3F1ZXJ5J10gOiAnJyk7CiAgICAgICAgJHRoaXMtPnNjaGVtYSA9ICR1cmxQYXJzZWRbJ3NjaGVtZSddOwogICAgICAgIAogICAgICAgIC8vIFBhc3MgdGhlIHJlcXVyZWQgY29va2llcwogICAgICAgICR0aGlzLT5fcGFzc0Nvb2tpZXMoKTsKICAgICAgICAKICAgICAgICAvLyBQcm9jZXNzIGNvb2tpZXMsIGlmIHJlcXVlc3RlZAoJJGNvb2tpZVN0cmluZyA9ICcnOwogICAgICAgIGlmKGlzX2FycmF5KCR0aGlzLT5jb29raWVzKSAmJiBjb3VudCgkdGhpcy0+Y29va2llcykgPiAwKQogICAgICAgIHsKICAgICAgICAgICAgLy8gR2V0IGEgYmxhbmsgc2xhdGUKICAgICAgICAgICAgJHRlbXBTdHJpbmcgICA9IGFycmF5KCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBDb252ZXJ0IGNvb2tpZXNhIGFycmF5IGludG8gYSBxdWVyeSBzdHJpbmcgKGllIGFuaW1hbD1kb2cmc3BvcnQ9YmFzZWJhbGwpCiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5jb29raWVzIGFzICRrZXkgPT4gJHZhbHVlKSAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoc3RybGVuKHRyaW0oJHZhbHVlKSkgPiAwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICR0ZW1wU3RyaW5nW10gPSAka2V5IC4gIj0iIC4gdXJsZW5jb2RlKCR2YWx1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgICRjb29raWVTdHJpbmcgPSBqb2luKCcmJywgJHRlbXBTdHJpbmcpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBEbyB3ZSBuZWVkIHRvIHVzZSBjVVJMCiAgICAgICAgaWYgKCR0aGlzLT51c2VDdXJsKQogICAgICAgIHsKICAgICAgICAgICAgLy8gSW5pdGlhbGl6ZSBQSFAgY1VSTCBoYW5kbGUKICAgICAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAKICAgICAgICAgICAgLy8gR0VUIG1ldGhvZCBjb25maWd1cmF0aW9uCiAgICAgICAgICAgIGlmKCR0aGlzLT5tZXRob2QgPT0gJ0dFVCcpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0ICgkY2gsIENVUkxPUFRfSFRUUEdFVCwgVFJVRSk7IAogICAgICAgICAgICAgICAgY3VybF9zZXRvcHQgKCRjaCwgQ1VSTE9QVF9QT1NULCBGQUxTRSk7IAogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIFBPU1QgbWV0aG9kIGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjdXJsX3NldG9wdCAoJGNoLCBDVVJMT1BUX1BPU1QsIFRSVUUpOyAKICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0ICgkY2gsIENVUkxPUFRfSFRUUEdFVCwgRkFMU0UpOyAKCiAgICAgICAgICAgICAgICBpZigkcXVlcnlTdHJpbmcpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY3VybF9zZXRvcHQgKCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAkcXVlcnlTdHJpbmcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBCYXNpYyBBdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uCiAgICAgICAgICAgIGlmICgkdGhpcy0+dXNlcm5hbWUgJiYgJHRoaXMtPnBhc3N3b3JkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgJHRoaXMtPnVzZXJuYW1lIC4gJzonIC4gJHRoaXMtPnBhc3N3b3JkKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKCSAgICBpZiAoJHRoaXMtPnByb3h5KSAKCSAgICB7CgkgICAgICAgIGN1cmxfc2V0b3AoJGNoLENVUkxfUFJPWFksJHRoaXMtPnByb3h5KTsKCSAgICB9CgogICAgICAgICAgICAvLyBDdXN0b20gY29va2llIGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgaWYoJHRoaXMtPnVzZUNvb2tpZSkKICAgICAgICAgICAgewoJICAgICAgLy8gd2UgYXJlIHNlbmRpbmcgY29va2llcy4KCSAgICAgIGlmKGlzc2V0KCRjb29raWVTdHJpbmcpKQoJCXsKCQkgIGN1cmxfc2V0b3B0ICgkY2gsIENVUkxPUFRfQ09PS0lFLCAkY29va2llU3RyaW5nKTsKCQl9CgkgICAgICBlbHNlCgkJewoJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUZJTEUsICR0aGlzLT5jb29raWVQYXRoKTsKCQl9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoJHRoaXMtPnNhdmVDb29raWUpIAoJICAgIHsKCSAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVKQVIsICAgICAgJHRoaXMtPmNvb2tpZVBhdGgpOyAgICAvLyBTYXZlIGNvb2tpZXMgaGVyZS4KCSAgICB9CiAgICAgICAgICAgIAoKCSAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAgICAgVFJVRSk7ICAgICAgICAgICAgICAgICAvLyBObyBuZWVkIG9mIGhlYWRlcnMKCSAgICBpZiggaXNfYXJyYXkoJHRoaXMtPmhlYWRlckFycmF5KSApCgkgICAgICB7CgkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfSFRUUEhFQURFUiwkdGhpcy0+aGVhZGVyQXJyYXkpOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAgICAgVFJVRSk7ICAgICAgICAgICAgICAgICAvLyBObyBuZWVkIG9mIGhlYWRlcnMKCSAgICAgIH0KCSAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfTk9CT0RZLCAgICAgICAgIEZBTFNFKTsgICAgICAgICAgICAgICAgLy8gUmV0dXJuIGJvZHkKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUpBUiwgICAgICAkdGhpcy0+Y29va2llUGF0aCk7ICAgIC8vIENvb2tpZSBtYW5hZ2VtZW50LgogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwgICAgICR0aGlzLT5jb29raWVQYXRoKTsgICAgLy8gQ29va2llIG1hbmFnZW1lbnQuCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAgICAgICAgJHRoaXMtPnRpbWVvdXQpOyAgICAgICAvLyBUaW1lb3V0CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICAgICAgJHRoaXMtPnVzZXJBZ2VudCk7ICAgICAvLyBXZWJib3QgbmFtZQogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAgICAgICAgICAgICR0aGlzLT50YXJnZXQpOyAgICAgICAgLy8gVGFyZ2V0IHNpdGUKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFRkVSRVIsICAgICAgICAkdGhpcy0+cmVmZXJyZXIpOyAgICAgIC8vIFJlZmVyZXIgdmFsdWUKICAgICAgICAgICAgCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9WRVJCT1NFLCAgICAgICAgRkFMU0UpOyAgICAgICAgICAgICAgICAvLyBNaW5pbWl6ZSBsb2dzCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgRkFMU0UpOyAgICAgICAgICAgICAgICAvLyBObyBjZXJ0aWZpY2F0ZQogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sICR0aGlzLT5yZWRpcmVjdCk7ICAgICAgLy8gRm9sbG93IHJlZGlyZWN0cwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfTUFYUkVESVJTLCAgICAgICR0aGlzLT5tYXhSZWRpcmVjdCk7ICAgLy8gTGltaXQgcmVkaXJlY3Rpb25zIHRvIGZvdXIKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCBUUlVFKTsgICAgICAgICAgICAgICAgIC8vIFJldHVybiBpbiBzdHJpbmcKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIEdldCB0aGUgdGFyZ2V0IGNvbnRlbnRzCiAgICAgICAgICAgICRjb250ZW50ID0gY3VybF9leGVjKCRjaCk7CgkgICAgcHJpbnRfcigkdGhpcy0+dGFyZ2V0LiJcbiIpOwoJICAgIHByaW50X3IoJHF1ZXJ5U3RyaW5nLiJcbiIpOwoJICAgIHByaW50X3IoJGNvbnRlbnQpOwoJICAgIGlmKCAhZW1wdHkoJGNvbnRlbnQpICkKCSAgICAgIHsKCQkkdG1wID0gZXhwbG9kZSgiXHJcblxyXG4iLCAkY29udGVudCk7CgkJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQoJCSAgewoJCSAgICBpZiggZW1wdHkoJHRtcFskaV0pICkgdW5zZXQoJHRtcFskaV0pOwoJCSAgfQoKCQlpZiggY291bnQoJHRtcCkgPT0gMyApCgkJICB7CgkJICAgIGFycmF5X3NoaWZ0KCR0bXApOwoJCSAgfQoKCQlpZiggY291bnQoJHRtcCkgPiAxICkKCQkgIHsKCQkgICAgLy8gU3RvcmUgdGhlIGNvbnRlbnRzCgkJICAgICR0aGlzLT5yZXN1bHQgPSAkdG1wWzFdOwoJCSAgfQoJCQoJCS8vIFBhcnNlIHRoZSBoZWFkZXJzCgkJJHRoaXMtPl9wYXJzZUhlYWRlcnMoJHRtcFswXSk7CgkgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBHZXQgdGhlIHJlcXVlc3QgaW5mbyAKICAgICAgICAgICAgJHN0YXR1cyAgPSBjdXJsX2dldGluZm8oJGNoKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIFN0b3JlIHRoZSBlcnJvciAoaXMgYW55KQogICAgICAgICAgICAkdGhpcy0+X3NldEVycm9yKGN1cmxfZXJyb3IoJGNoKSk7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBDbG9zZSBQSFAgY1VSTCBoYW5kbGUKICAgICAgICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewoJICAvLyBHZXQgYSBmaWxlIHBvaW50ZXIKCSAgJGZpbGVQb2ludGVyID0gQHN0cmVhbV9zb2NrZXRfY2xpZW50KCR0aGlzLT5fc29ja2V0LCAkZXJyb3JOdW1iZXIsICRlcnJvclN0cmluZywgJHRoaXMtPnRpbWVvdXQpOwogICAgICAgCgkgIC8vIFdlIGhhdmUgYW4gZXJyb3IgaWYgcG9pbnRlciBpcyBub3QgdGhlcmUKCSAgaWYgKCEkZmlsZVBvaW50ZXIpCiAgICAgICAgICAgIHsKCSAgICAgICR0aGlzLT5fc2V0RXJyb3IoJ0ZhaWxlZCBvcGVuaW5nIGh0dHAgc29ja2V0IGNvbm5lY3Rpb246ICcgLiAkZXJyb3JTdHJpbmcgLiAnICgnIC4gJGVycm9yTnVtYmVyIC4gJyknKTsKCSAgICAgIHJldHVybiBGQUxTRTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU2V0IGh0dHAgaGVhZGVycyB3aXRoIGhvc3QsIHVzZXItYWdlbnQgYW5kIGNvbnRlbnQgdHlwZQogICAgICAgICAgICAkdGhpcy0+YWRkUmVxdWVzdEhlYWRlcigkdGhpcy0+bWV0aG9kIC4nICcuICR0aGlzLT5wYXRoLiAiICBIVFRQLzEuMSIsdHJ1ZSk7CgkgICAgJHRoaXMtPmFkZFJlcXVlc3RIZWFkZXIoIkhvc3Q6ICIgLiAkdGhpcy0+aG9zdCk7CgkgICAgJHRoaXMtPmFkZFJlcXVlc3RIZWFkZXIoJ0FjY2VwdDogKi8qJyk7CiAJICAgICR0aGlzLT5hZGRSZXF1ZXN0SGVhZGVyKCJVc2VyLUFnZW50OiAiIC4gJHRoaXMtPnVzZXJBZ2VudCk7CgkgICAgaWYoICEkdGhpcy0+cmVxdWVzdEhlYWRlckV4aXN0cygnQ29udGVudC1UeXBlJykgKQoJICAgICAgewoJCSR0aGlzLT5hZGRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpOwoJICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gU3BlY2lmeSB0aGUgY3VzdG9tIGNvb2tpZXMKICAgICAgICAgICAgaWYgKCR0aGlzLT51c2VDb29raWUgJiYgJGNvb2tpZVN0cmluZyAhPSAnJykKICAgICAgICAgICAgewoJICAgICAgJHRoaXMtPmFkZFJlcXVlc3RIZWFkZXIoIkNvb2tpZTogIiAuICRjb29raWVTdHJpbmcpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBQT1NUIG1ldGhvZCBjb25maWd1cmF0aW9uCiAgICAgICAgICAgIGlmICgkdGhpcy0+bWV0aG9kID09ICJQT1NUIikKICAgICAgICAgICAgewogICAgICAgICAgICAgICR0aGlzLT5hZGRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LUxlbmd0aDogIiAuIHN0cmxlbigkcXVlcnlTdHJpbmcpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gU3BlY2lmeSB0aGUgcmVmZXJyZXIKCSAgICAkdGhpcy0+YWRkUmVxdWVzdEhlYWRlcigiUmVmZXJlcjogIiAuICR0aGlzLT5yZWZlcnJlcik7CiAgICAgICAgICAgIGlmICgkdGhpcy0+cmVmZXJyZXIgIT0gJycpCiAgICAgICAgICAgIHsKCSAgICAgICR0aGlzLT5hZGRSZXF1ZXN0SGVhZGVyKCJSZWZlcmVyOiAiIC4gJHRoaXMtPnJlZmVycmVyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gU3BlY2lmeSBodHRwIGF1dGhlbnRpY2F0aW9uIChiYXNpYykKICAgICAgICAgICAgaWYgKCR0aGlzLT51c2VybmFtZSAmJiAkdGhpcy0+cGFzc3dvcmQpCiAgICAgICAgICAgIHsKCSAgICAgICR0aGlzLT5hZGRSZXF1ZXN0aGVhZGVyKCJBdXRob3JpemF0aW9uOiBCYXNpYyAiIC4gYmFzZTY0X2VuY29kZSgkdGhpcy0+dXNlcm5hbWUgLiAnOicgLiAkdGhpcy0+cGFzc3dvcmQpKTsKICAgICAgICAgICAgfQogICAgICAgCgkgICAgJHRoaXMtPmFkZFJlcXVlc3RIZWFkZXIoIkNvbm5lY3Rpb246IGNsb3NlIik7CiAgICAgICAKICAgICAgICAgICAgLy8gUE9TVCBtZXRob2QgY29uZmlndXJhdGlvbgoJICAgICRyZXF1ZXN0SGVhZGVyID0gaW1wbG9kZSgiXHJcbiIsJHRoaXMtPmhlYWRlckFycmF5KS4iXHJcblxyXG4iOwogICAgICAgICAgICBpZiAoJHRoaXMtPm1ldGhvZCA9PSAiUE9TVCIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRyZXF1ZXN0SGVhZGVyIC49ICRxdWVyeVN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gV2UncmUgcmVhZHkgdG8gbGF1bmNoCiAgICAgICAgICAgIGZ3cml0ZSgkZmlsZVBvaW50ZXIsICRyZXF1ZXN0SGVhZGVyKTsKCSAgICAKICAgICAgIAogICAgICAgICAgICAvLyBDbGVhbiB0aGUgc2xhdGUKICAgICAgICAgICAgJHJlc3BvbnNlSGVhZGVyID0gJyc7CiAgICAgICAgICAgICRyZXNwb25zZUNvbnRlbnQgPSAnJzsKCiAgICAgICAgICAgIC8vIDMuLi4yLi4uMS4uLkxhdW5jaCAhCgkgICAgJG4gPSAwOwogICAgICAgICAgICBkbwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkcmVzcG9uc2VIZWFkZXIgLj0gZnJlYWQoJGZpbGVQb2ludGVyLCAxKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZSAoIXByZWdfbWF0Y2goJy9cXHJcXG5cXHJcXG4kLycsICRyZXNwb25zZUhlYWRlcikgJiYgIWZlb2YoJGZpbGVQb2ludGVyKSk7CgogICAgICAgICAgICAvLyBQYXJzZSB0aGUgaGVhZGVycwogICAgICAgICAgICAkdGhpcy0+X3BhcnNlSGVhZGVycygkcmVzcG9uc2VIZWFkZXIpOwoKICAgICAgICAgICAgLy8gRG8gd2UgaGF2ZSBhIDMwMS8zMDIgcmVkaXJlY3QgPwogICAgICAgICAgICBpZiAoKCR0aGlzLT5zdGF0dXMgPT0gJzMwMScgfHwgJHRoaXMtPnN0YXR1cyA9PSAnMzAyJykgJiYgJHRoaXMtPnJlZGlyZWN0ID09IFRSVUUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+Y3VyUmVkaXJlY3QgPCAkdGhpcy0+bWF4UmVkaXJlY3QpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLy8gTGV0J3MgZmluZCBvdXQgdGhlIG5ldyByZWRpcmVjdCBVUkwKICAgICAgICAgICAgICAgICAgICAkbmV3VXJsUGFyc2VkID0gcGFyc2VfdXJsKCR0aGlzLT5oZWFkZXJzWydsb2NhdGlvbiddKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBpZiAoJG5ld1VybFBhcnNlZFsnaG9zdCddKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG5ld1RhcmdldCA9ICR0aGlzLT5oZWFkZXJzWydsb2NhdGlvbiddOyAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG5ld1RhcmdldCA9ICR0aGlzLT5zY2hlbWEgLiAnOi8vJyAuICR0aGlzLT5ob3N0IC4gJy8nIC4gJHRoaXMtPmhlYWRlcnNbJ2xvY2F0aW9uJ107CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvLyBSZXNldCBzb21lIG9mIHRoZSBwcm9wZXJ0aWVzCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnBvcnQgICA9IDA7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnN0YXR1cyA9IDA7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnBhcmFtcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPm1ldGhvZCA9ICdQT1NUJzsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVmZXJyZXIgPSAkdGhpcy0+dGFyZ2V0OwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIC8vIEluY3JlYXNlIHRoZSByZWRpcmVjdCBjb3VudGVyCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmN1clJlZGlyZWN0Kys7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgLy8gTGV0J3MgZ28sIGdvLCBnbyAhCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnJlc3VsdCA9ICR0aGlzLT5leGVjdXRlKCRuZXdUYXJnZXQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5fc2V0RXJyb3IoJ1RvbyBtYW55IHJlZGlyZWN0cy4nKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvLyBOb3BlLi4uc28gbGV0cyBnZXQgdGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnRzIChub24tY2h1bmtlZCkKCSAgICAgIGlmICghaXNzZXQoJHRoaXMtPmhlYWRlcnNbJ3RyYW5zZmVyLWVuY29kaW5nJ10pIHx8ICR0aGlzLT5oZWFkZXJzWyd0cmFuc2Zlci1lbmNvZGluZyddICE9ICdjaHVua2VkJykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB3aGlsZSAoIWZlb2YoJGZpbGVQb2ludGVyKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXNwb25zZUNvbnRlbnQgLj0gZmdldHMoJGZpbGVQb2ludGVyLCAxMjgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKCQkgIHsKICAgICAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIGNvbnRlbnRzIChjaHVua2VkKQoJCSAgICB3aGlsZSAoIWZlb2YoJGZpbGVQb2ludGVyKSAmJiAkY2h1bmtMZW5ndGggPSBoZXhkZWMoZmdldHMoJGZpbGVQb2ludGVyKSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAkcmVzcG9uc2VDb250ZW50Q2h1bmsgPSAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlYWRMZW5ndGggPSAwOwogICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoJHJlYWRMZW5ndGggPCAkY2h1bmtMZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXNwb25zZUNvbnRlbnRDaHVuayAuPSBmcmVhZCgkZmlsZVBvaW50ZXIsICRjaHVua0xlbmd0aCAtICRyZWFkTGVuZ3RoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWFkTGVuZ3RoID0gc3RybGVuKCRyZXNwb25zZUNvbnRlbnRDaHVuayk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXNwb25zZUNvbnRlbnQgLj0gJHJlc3BvbnNlQ29udGVudENodW5rOwogICAgICAgICAgICAgICAgICAgICAgICBmZ2V0cygkZmlsZVBvaW50ZXIpOyAgCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgdGFyZ2V0IGNvbnRlbnRzCiAgICAgICAgICAgICAgICAkdGhpcy0+cmVzdWx0ID0gY2hvcCgkcmVzcG9uc2VDb250ZW50KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBUaGVyZSBpdCBpcyEgV2UgaGF2ZSBpdCEhIFJldHVybiB0byBiYXNlICEhIQogICAgICAgIHJldHVybiAkdGhpcy0+cmVzdWx0OwogICAgfQogICAgCiAgICAvKioKICAgICAqIFBhcnNlIEhlYWRlcnMgKGludGVybmFsKQogICAgICogCiAgICAgKiBQYXJzZSB0aGUgcmVzcG9uc2UgaGVhZGVycyBhbmQgc3RvcmUgdGhlbSBmb3IgZmluZGluZyB0aGUgcmVzcG9zbmUgCiAgICAgKiBzdGF0dXMsIHJlZGlyZWN0aW9uIGxvY2F0aW9uLCBjb29raWVzLCBldGMuIAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgUmF3IGhlYWRlciByZXNwb25zZQogICAgICogQHJldHVybiB2b2lkCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICAgZnVuY3Rpb24gX3BhcnNlSGVhZGVycygkcmVzcG9uc2VIZWFkZXIpCiAgICB7CiAgICAgICAgLy8gQnJlYWsgdXAgdGhlIGhlYWRlcnMKICAgICAgICAkaGVhZGVycyA9IGV4cGxvZGUoIlxyXG4iLCAkcmVzcG9uc2VIZWFkZXIpOwogICAgICAgIAogICAgICAgIC8vIENsZWFyIHRoZSBoZWFkZXIgYXJyYXkKICAgICAgICAkdGhpcy0+X2NsZWFySGVhZGVycygpOwogICAgICAgIAogICAgICAgIC8vIEdldCByZXNwb3NuZSBzdGF0dXMKICAgICAgICBpZigkdGhpcy0+c3RhdHVzID09IDApCiAgICAgICAgewogICAgICAgICAgICAvLyBPb29vcHMgIQogICAgICAgICAgICBpZighcHJlZ19tYXRjaCgiL2h0dHBcL1swLTldK1wuWzAtOV0rWyBcdF0rKFswLTldKylbIFx0XSooLiopXCQvaSIsICRoZWFkZXJzWzBdLCAkbWF0Y2hlcykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICR0aGlzLT5fc2V0RXJyb3IoJ1VuZXhwZWN0ZWQgSFRUUCByZXNwb25zZSBzdGF0dXMnKTsKICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gR290Y2hhIQogICAgICAgICAgICAkdGhpcy0+c3RhdHVzID0gJG1hdGNoZXNbMV07CiAgICAgICAgICAgIGFycmF5X3NoaWZ0KCRoZWFkZXJzKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gUHJlcGFyZSBhbGwgdGhlIG90aGVyIGhlYWRlcnMKICAgICAgICBmb3JlYWNoICgkaGVhZGVycyBhcyAkaGVhZGVyKQogICAgICAgIHsKICAgICAgICAgICAgLy8gR2V0IG5hbWUgYW5kIHZhbHVlCiAgICAgICAgICAgICRoZWFkZXJOYW1lICA9IHN0cnRvbG93ZXIoJHRoaXMtPl90b2tlbml6ZSgkaGVhZGVyLCAnOicpKTsKICAgICAgICAgICAgJGhlYWRlclZhbHVlID0gdHJpbShjaG9wKCR0aGlzLT5fdG9rZW5pemUoIlxyXG4iKSkpOwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gSWYgaXRzIGFscmVhZHkgdGhlcmUsIHRoZW4gYWRkIGFzIGFuIGFycmF5LiBPdGhlcndpc2UsIGp1c3Qga2VlcCB0aGVyZQogICAgICAgICAgICBpZihpc3NldCgkdGhpcy0+aGVhZGVyc1skaGVhZGVyTmFtZV0pKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihnZXR0eXBlKCR0aGlzLT5oZWFkZXJzWyRoZWFkZXJOYW1lXSkgPT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmhlYWRlcnNbJGhlYWRlck5hbWVdID0gYXJyYXkoJHRoaXMtPmhlYWRlcnNbJGhlYWRlck5hbWVdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICR0aGlzLT5oZWFkZXJzWyRoZWFkZXJOYW1lXVtdID0gJGhlYWRlclZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXMtPmhlYWRlcnNbJGhlYWRlck5hbWVdID0gJGhlYWRlclZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAvLyBTYXZlIGNvb2tpZXMgaWYgYXNrZWQgCiAgICAgICAgaWYgKCR0aGlzLT5zYXZlQ29va2llICYmIGlzc2V0KCR0aGlzLT5oZWFkZXJzWydzZXQtY29va2llJ10pKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPl9wYXJzZUNvb2tpZSgpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBDbGVhciB0aGUgaGVhZGVycyBhcnJheSAoaW50ZXJuYWwpCiAgICAgKgogICAgICogQHJldHVybiB2b2lkCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICAgZnVuY3Rpb24gX2NsZWFySGVhZGVycygpCiAgICB7CiAgICAgICAgJHRoaXMtPmhlYWRlcnMgPSBhcnJheSgpOwogICAgfQogICAgCiAgICAvKioKICAgICAqIFBhcnNlIENvb2tpZXMgKGludGVybmFsKQogICAgICogCiAgICAgKiBQYXJzZSB0aGUgc2V0LWNvb2tpZSBoZWFkZXJzIGZyb20gcmVzcG9uc2UgYW5kIGFkZCB0aGVtIGZvciBpbmNsdXNpb24uCiAgICAgKgogICAgICogQHJldHVybiB2b2lkCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqLwogICAgZnVuY3Rpb24gX3BhcnNlQ29va2llKCkKICAgIHsKICAgICAgICAvLyBHZXQgdGhlIGNvb2tpZSBoZWFkZXIgYXMgYXJyYXkKICAgICAgICBpZihnZXR0eXBlKCR0aGlzLT5oZWFkZXJzWydzZXQtY29va2llJ10pID09ICJhcnJheSIpCiAgICAgICAgewogICAgICAgICAgICAkY29va2llSGVhZGVycyA9ICR0aGlzLT5oZWFkZXJzWydzZXQtY29va2llJ107CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgICRjb29raWVIZWFkZXJzID0gYXJyYXkoJHRoaXMtPmhlYWRlcnNbJ3NldC1jb29raWUnXSk7CiAgICAgICAgfQoKICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGNvb2tpZXMKICAgICAgICBmb3IgKCRjb29raWUgPSAwOyAkY29va2llIDwgY291bnQoJGNvb2tpZUhlYWRlcnMpOyAkY29va2llKyspCiAgICAgICAgewogICAgICAgICAgICAkY29va2llTmFtZSAgPSB0cmltKCR0aGlzLT5fdG9rZW5pemUoJGNvb2tpZUhlYWRlcnNbJGNvb2tpZV0sICI9IikpOwogICAgICAgICAgICAkY29va2llVmFsdWUgPSAkdGhpcy0+X3Rva2VuaXplKCI7Iik7CiAgICAgICAgICAgIAogICAgICAgICAgICAkdXJsUGFyc2VkICAgPSBwYXJzZV91cmwoJHRoaXMtPnRhcmdldCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkZG9tYWluICAgICAgPSAkdXJsUGFyc2VkWydob3N0J107CiAgICAgICAgICAgICRzZWN1cmUgICAgICA9ICcwJzsKICAgICAgICAgICAgCiAgICAgICAgICAgICRwYXRoICAgICAgICA9ICIvIjsKICAgICAgICAgICAgJGV4cGlyZXMgICAgID0gIiI7CiAgICAgICAgICAgIAogICAgICAgICAgICB3aGlsZSgoJG5hbWUgPSB0cmltKHVybGRlY29kZSgkdGhpcy0+X3Rva2VuaXplKCI9IikpKSkgIT0gIiIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICR2YWx1ZSA9IHVybGRlY29kZSgkdGhpcy0+X3Rva2VuaXplKCI7IikpOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBzd2l0Y2goJG5hbWUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAicGF0aCIgICAgIDogJHBhdGggICAgID0gJHZhbHVlOyBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICJkb21haW4iICAgOiAkZG9tYWluICAgPSAkdmFsdWU7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgInNlY3VyZSIgICA6ICRzZWN1cmUgICA9ICgkdmFsdWUgIT0gJycpID8gJzEnIDogJzAnOyBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgJHRoaXMtPl9zZXRDb29raWUoJGNvb2tpZU5hbWUsICRjb29raWVWYWx1ZSwgJGV4cGlyZXMsICRwYXRoICwgJGRvbWFpbiwgJHNlY3VyZSk7CiAgICAgICAgfQogICAgfQogICAgCiAgICAvKioKICAgICAqIFNldCBjb29raWUgKGludGVybmFsKQogICAgICogCiAgICAgKiBQb3B1bGF0ZSB0aGUgaW50ZXJuYWwgX2Nvb2tpZXMgYXJyYXkgZm9yIGZ1dHVyZSBpbmNsdXNpb24gaW4gCiAgICAgKiBzdWJzZXF1ZW50IHJlcXVlc3RzLiBUaGlzIGFjdHVhbGx5IHZhbGlkYXRlcyBhbmQgdGhlbiBwb3B1bGF0ZXMgCiAgICAgKiB0aGUgb2JqZWN0IHByb3BlcnRpZXMgd2l0aCBhIGRpbWVuc2lvbmFsIGVudHJ5IGZvciBjb29raWUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyBDb29raWUgbmFtZQogICAgICogQHBhcmFtIHN0cmluZyBDb29raWUgdmFsdWUKICAgICAqIEBwYXJhbSBzdHJpbmcgQ29va2llIGV4cGlyZSBkYXRlCiAgICAgKiBAcGFyYW0gc3RyaW5nIENvb2tpZSBwYXRoCiAgICAgKiBAcGFyYW0gc3RyaW5nIENvb2tpZSBkb21haW4KICAgICAqIEBwYXJhbSBzdHJpbmcgQ29va2llIHNlY3VyaXR5ICgwID0gbm9uLXNlY3VyZSwgMSA9IHNlY3VyZSkKICAgICAqIEByZXR1cm4gdm9pZAogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIF9zZXRDb29raWUoJG5hbWUsICR2YWx1ZSwgJGV4cGlyZXMgPSAiIiAsICRwYXRoID0gIi8iICwgJGRvbWFpbiA9ICIiICwgJHNlY3VyZSA9IDApCiAgICB7CiAgICAgICAgaWYoc3RybGVuKCRuYW1lKSA9PSAwKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuKCR0aGlzLT5fc2V0RXJyb3IoIk5vIHZhbGlkIGNvb2tpZSBuYW1lIHdhcyBzcGVjaWZpZWQuIikpOwogICAgICAgIH0KCiAgICAgICAgaWYoc3RybGVuKCRwYXRoKSA9PSAwIHx8IHN0cmNtcCgkcGF0aFswXSwgIi8iKSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybigkdGhpcy0+X3NldEVycm9yKCIkcGF0aCBpcyBub3QgYSB2YWxpZCBwYXRoIGZvciBzZXR0aW5nIGNvb2tpZSAkbmFtZS4iKSk7CiAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICBpZigkZG9tYWluID09ICIiIHx8ICFzdHJwb3MoJGRvbWFpbiwgIi4iLCAkZG9tYWluWzBdID09ICIuIiA/IDEgOiAwKSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybigkdGhpcy0+X3NldEVycm9yKCIkZG9tYWluIGlzIG5vdCBhIHZhbGlkIGRvbWFpbiBmb3Igc2V0dGluZyBjb29raWUgJG5hbWUuIikpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkZG9tYWluID0gc3RydG9sb3dlcigkZG9tYWluKTsKICAgICAgICAKICAgICAgICBpZighc3RyY21wKCRkb21haW5bMF0sICIuIikpCiAgICAgICAgewogICAgICAgICAgICAkZG9tYWluID0gc3Vic3RyKCRkb21haW4sIDEpOwogICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgJG5hbWUgID0gJHRoaXMtPl9lbmNvZGVDb29raWUoJG5hbWUsIHRydWUpOwogICAgICAgICR2YWx1ZSA9ICR0aGlzLT5fZW5jb2RlQ29va2llKCR2YWx1ZSwgZmFsc2UpOwogICAgICAgIAogICAgICAgICRzZWN1cmUgPSBpbnR2YWwoJHNlY3VyZSk7CiAgICAgICAgCiAgICAgICAgJHRoaXMtPl9jb29raWVzW10gPSBhcnJheSggIm5hbWUiICAgICAgPT4gICRuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgICAgID0+ICAkdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvbWFpbiIgICAgPT4gICRkb21haW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiICAgICAgPT4gICRwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBpcmVzIiAgID0+ICAkZXhwaXJlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VjdXJlIiAgICA9PiAgJHNlY3VyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgfQogICAgCiAgICAvKioKICAgICAqIEVuY29kZSBjb29raWUgbmFtZS92YWx1ZSAoaW50ZXJuYWwpCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyBWYWx1ZSBvZiBjb29raWUgdG8gZW5jb2RlCiAgICAgKiBAcGFyYW0gc3RyaW5nIE5hbWUgb2YgY29va2llIHRvIGVuY29kZQogICAgICogQHJldHVybiBzdHJpbmcgZW5jb2RlZCBzdHJpbmcKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBfZW5jb2RlQ29va2llKCR2YWx1ZSwgJG5hbWUpCiAgICB7CiAgICAgICAgcmV0dXJuKCRuYW1lID8gc3RyX3JlcGxhY2UoIj0iLCAiJTI1IiwgJHZhbHVlKSA6IHN0cl9yZXBsYWNlKCI7IiwgIiUzQiIsICR2YWx1ZSkpOwogICAgfQogICAgCiAgICAvKioKICAgICAqIFBhc3MgQ29va2llcyAoaW50ZXJuYWwpCiAgICAgKiAKICAgICAqIEdldCB0aGUgY29va2llcyB3aGljaCBhcmUgdmFsaWQgZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QuIENoZWNrcyAKICAgICAqIGRvbWFpbiBhbmQgcGF0aCB0byBkZWNpZGUgdGhlIHJldHVybi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBfcGFzc0Nvb2tpZXMoKQogICAgewogICAgICAgIGlmIChpc19hcnJheSgkdGhpcy0+X2Nvb2tpZXMpICYmIGNvdW50KCR0aGlzLT5fY29va2llcykgPiAwKQogICAgICAgIHsKICAgICAgICAgICAgJHVybFBhcnNlZCA9IHBhcnNlX3VybCgkdGhpcy0+dGFyZ2V0KTsKICAgICAgICAgICAgJHRlbXBDb29raWVzID0gYXJyYXkoKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGZvcmVhY2goJHRoaXMtPl9jb29raWVzIGFzICRjb29raWUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+X2RvbWFpbk1hdGNoKCR1cmxQYXJzZWRbJ2hvc3QnXSwgJGNvb2tpZVsnZG9tYWluJ10pICYmICgwID09PSBzdHJwb3MoJHVybFBhcnNlZFsncGF0aCddLCAkY29va2llWydwYXRoJ10pKQogICAgICAgICAgICAgICAgICAgICYmIChlbXB0eSgkY29va2llWydzZWN1cmUnXSkgfHwgJHVybFBhcnNlZFsncHJvdG9jb2wnXSA9PSAnaHR0cHMnKSkgCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHRlbXBDb29raWVzWyRjb29raWVbJ25hbWUnXV1bc3RybGVuKCRjb29raWVbJ3BhdGgnXSldID0gJGNvb2tpZVsndmFsdWUnXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gY29va2llcyB3aXRoIGxvbmdlciBwYXRocyBnbyBmaXJzdAogICAgICAgICAgICBmb3JlYWNoICgkdGVtcENvb2tpZXMgYXMgJG5hbWUgPT4gJHZhbHVlcykgCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGtyc29ydCgkdmFsdWVzKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR2YWx1ZXMgYXMgJHZhbHVlKSAKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+YWRkQ29va2llKCRuYW1lLCAkdmFsdWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCiAgICAvKioKICAgICogQ2hlY2tzIGlmIGNvb2tpZSBkb21haW4gbWF0Y2hlcyBhIHJlcXVlc3QgaG9zdCAoaW50ZXJuYWwpCiAgICAqIAogICAgKiBDb29raWUgZG9tYWluIGNhbiBiZWdpbiB3aXRoIGEgZG90LCBpdCBhbHNvIG11c3QgY29udGFpbiBhdCBsZWFzdAogICAgKiB0d28gZG90cy4KICAgICogCiAgICAqIEBwYXJhbSBzdHJpbmcgUmVxdWVzdCBob3N0CiAgICAqIEBwYXJhbSBzdHJpbmcgQ29va2llIGRvbWFpbgogICAgKiBAcmV0dXJuIGJvb2wgTWF0Y2ggc3VjY2VzcwogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAqLwogICAgZnVuY3Rpb24gX2RvbWFpbk1hdGNoKCRyZXF1ZXN0SG9zdCwgJGNvb2tpZURvbWFpbikKICAgIHsKICAgICAgICBpZiAoJy4nICE9ICRjb29raWVEb21haW57MH0pIAogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICRyZXF1ZXN0SG9zdCA9PSAkY29va2llRG9tYWluOwogICAgICAgIH0gCiAgICAgICAgZWxzZWlmIChzdWJzdHJfY291bnQoJGNvb2tpZURvbWFpbiwgJy4nKSA8IDIpIAogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gCiAgICAgICAgZWxzZSAKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBzdWJzdHIoJy4nLiAkcmVxdWVzdEhvc3QsIC0gc3RybGVuKCRjb29raWVEb21haW4pKSA9PSAkY29va2llRG9tYWluOwogICAgICAgIH0KICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBUb2tlbml6ZSBTdHJpbmcgKGludGVybmFsKQogICAgICogCiAgICAgKiBUb2tlbml6ZSBzdHJpbmcgZm9yIHZhcmlvdXMgaW50ZXJuYWwgdXNhZ2UuIE9taXQgdGhlIHNlY29uZCBwYXJhbWV0ZXIgCiAgICAgKiB0byB0b2tlbml6ZSB0aGUgcHJldmlvdXMgc3RyaW5nIHRoYXQgd2FzIHByb3ZpZGVkIGluIHRoZSBwcmlvciBjYWxsIHRvIAogICAgICogdGhlIGZ1bmN0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgVGhlIHN0cmluZyB0byB0b2tlbml6ZQogICAgICogQHBhcmFtIHN0cmluZyBUaGUgc2VwZXJhdG9yIHRvIHVzZQogICAgICogQHJldHVybiBzdHJpbmcgVG9rZW5pemVkIHN0cmluZwogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIF90b2tlbml6ZSgkc3RyaW5nLCAkc2VwYXJhdG9yID0gJycpCiAgICB7CiAgICAgICAgaWYoIXN0cmNtcCgkc2VwYXJhdG9yLCAnJykpCiAgICAgICAgewogICAgICAgICAgICAkc2VwYXJhdG9yID0gJHN0cmluZzsKICAgICAgICAgICAgJHN0cmluZyA9ICR0aGlzLT5uZXh0VG9rZW47CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZvcigkY2hhcmFjdGVyID0gMDsgJGNoYXJhY3RlciA8IHN0cmxlbigkc2VwYXJhdG9yKTsgJGNoYXJhY3RlcisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoZ2V0dHlwZSgkcG9zaXRpb24gPSBzdHJwb3MoJHN0cmluZywgJHNlcGFyYXRvclskY2hhcmFjdGVyXSkpID09ICJpbnRlZ2VyIikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGZvdW5kID0gKGlzc2V0KCRmb3VuZCkgPyBtaW4oJGZvdW5kLCAkcG9zaXRpb24pIDogJHBvc2l0aW9uKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZihpc3NldCgkZm91bmQpKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPm5leHRUb2tlbiA9IHN1YnN0cigkc3RyaW5nLCAkZm91bmQgKyAxKTsKICAgICAgICAgICAgcmV0dXJuKHN1YnN0cigkc3RyaW5nLCAwLCAkZm91bmQpKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPm5leHRUb2tlbiA9ICcnOwogICAgICAgICAgICByZXR1cm4oJHN0cmluZyk7CiAgICAgICAgfQogICAgfQogICAgCiAgICAvKioKICAgICAqIFNldCBlcnJvciBtZXNzYWdlIChpbnRlcm5hbCkKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nIEVycm9yIG1lc3NhZ2UKICAgICAqIEByZXR1cm4gc3RyaW5nIEVycm9yIG1lc3NhZ2UKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBfc2V0RXJyb3IoJGVycm9yKQogICAgewogICAgICAgIGlmICgkZXJyb3IgIT0gJycpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+ZXJyb3IgPSAkZXJyb3I7CiAgICAgICAgICAgIHJldHVybiAkZXJyb3I7CiAgICAgICAgfQogICAgfQp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/client/client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vCi8vIHJlcXVpcmVkIGNsYXNzZXMKLy8KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY2xhc3MuY21zX2h0dHBfcmVxdWVzdC5waHAnKTsgIAoKLy8KLy8gZnVuY3Rpb25zCi8vCmZ1bmN0aW9uIGNscygpCnsKICAkY2xlYXJzY3JlZW4gPSBjaHIoMjcpLiJbSCIuY2hyKDI3KS4iWzJKIjsKICBwcmludCAkY2xlYXJzY3JlZW47Cn0KCmZ1bmN0aW9uIHN0YXJ0c3dpdGgoJGhheXN0YWNrLCRuZWVkbGUpCnsKICBpZiggc3Vic3RyKCRoYXlzdGFjaywwLHN0cmxlbigkbmVlZGxlKSkgPT0gJG5lZWRsZSApIHJldHVybiBUUlVFOwogIHJldHVybiBGQUxTRTsKfQoKZnVuY3Rpb24gX2FwaWtleSgpCnsKICBnbG9iYWwgJF9hcGlrZXk7CiAgcmV0dXJuICRfYXBpa2V5Owp9CgpmdW5jdGlvbiBzZXRfYXBwZGF0YSgkaywkdikKewogIGdsb2JhbCAkX2FwcGRhdGE7CiAgaWYoICFpc19hcnJheSgkX2FwcGRhdGEpICkgJF9hcHBkYXRhID0gYXJyYXkoKTsKICAkX2FwcGRhdGFbJGtdID0gJHY7Cn0KCmZ1bmN0aW9uIGdldF9hcHBkYXRhKCRrLCRkZmx0ID0gJycpCnsKICBnbG9iYWwgJF9hcHBkYXRhOwogIGlmKCAhaXNfYXJyYXkoJF9hcHBkYXRhKSApIHJldHVybiAkZGZsdDsKICBpZiggIWlzc2V0KCRfYXBwZGF0YVska10pICkgcmV0dXJuICRkZmx0OwogIHJldHVybiAkX2FwcGRhdGFbJGtdOwp9CgpmdW5jdGlvbiBzZXRfZXJyb3Jtc2coJHN0cikKewogIGdsb2JhbCAkX2Vycm1zZzsKICAkX2Vycm1zZyA9ICRzdHI7Cn0KCmZ1bmN0aW9uIGdldF9lcnJvcm1zZygkY2xlYXIgPSB0cnVlKQp7CiAgZ2xvYmFsICRfZXJybXNnOwogICR0bXAgPSAkX2Vycm1zZzsKICBpZiggJGNsZWFyICkgICRfZXJybXNnID0gJyc7CiAgcmV0dXJuICR0bXA7Cn0KCmZ1bmN0aW9uIGhlbHAoJG9wdCA9ICcnKQp7CiAgaWYoICEkb3B0ICkKICAgIHsKICAgICAgZWNobyAnaGVyZSB3ZSBzaG91bGQgb3V0cHV0IGdsb2JhbCBoZWxwJy4iXG4iOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgZWNobyAiREVCVUc6IGhlbHAgZm9yICIuJG9wdC4iXG4iOwogICAgfQp9CgpmdW5jdGlvbiBhdmFpbGFibGVfY29tbWFuZHMoJGFzX3N0cmluZyA9IFRSVUUpCnsKICBnbG9iYWwgJF9zY29wZTsKICBnbG9iYWwgJF9nbG9iYWxfY29tbWFuZHM7CgogICR0bXAgPSAkX3Njb3BlW2NvdW50KCRfc2NvcGUpLTFdOwogIGlmKCAhaXNfYXJyYXkoJHRtcCkgKQogICAgewogICAgICAkdG1wID0gZXhwbG9kZSgnLCcsJHRtcCk7CiAgICB9CiAgJHRtcCA9IGFycmF5X21lcmdlKCR0bXAsZXhwbG9kZSgnLCcsJF9nbG9iYWxfY29tbWFuZHMpKTsKICBpZiggJGFzX3N0cmluZyApCiAgICB7CiAgICAgICR0bXAgPSBpbXBsb2RlKCcsJywkdG1wKTsKICAgIH0KICByZXR1cm4gJHRtcDsKfQoKZnVuY3Rpb24gZ2V0X2xldmVsKCkKewogIGdsb2JhbCAkX3Byb21wdDsKICAkcHJvbXB0ID0gJF9wcm9tcHRbY291bnQoJF9wcm9tcHQpLTFdOwogIHJldHVybiAkcHJvbXB0Owp9CgoKZnVuY3Rpb24gcHJvY2Vzc19sZXZlbF9jb21tYW5kKCRjbWQsJG9wdHMpCnsKfQoKZnVuY3Rpb24gcmVhZF9jb21tYW5kKCkKewogIGdsb2JhbCAkX3Njb3BlOwogIGdsb2JhbCAkX2ZpbGVoYW5kbGU7CiAgJGxpbmUgPSAnJzsKCiAgJG4gPSBjb3VudCgkX3Njb3BlKTsKICAkcHJvbXB0ID0gZ2V0X2xldmVsKCkuJzogJzsKCiAgd2hpbGUoICRsaW5lID09ICcnICkKICAgIHsKICAgICAgaWYoICRfZmlsZWhhbmRsZSApIHsKCSRsaW5lID0gdHJpbShmZ2V0cygkX2ZpbGVoYW5kbGUpKTsKCWVjaG8gJGxpbmUuIlxuIjsKCWlmKCBmZW9mKCRfZmlsZWhhbmRsZSkgKSAkbGluZSA9ICdRVUlUJzsKICAgICAgfQogICAgICBlbHNlIHsKCSRsaW5lID0gcmVhZGxpbmUoJHByb21wdCk7IHJlYWRsaW5lX2FkZF9oaXN0b3J5KCRsaW5lKTsKICAgICAgfQoKICAgICAgaWYoICRsaW5lID09ICcnICkgY29udGludWU7CiAgICAgIC8vIGdvdCBpbnB1dCBzcGxpdCBpdCBpbnRvIGNvbW1hbmQgYW5kIGFyZ3VtZW50cy4KICAgICAgJHRtcCA9IHBhcnNlX29wdHMoJGxpbmUpOwogICAgICAkdG1wWzBdID0gc3RydG91cHBlcigkdG1wWzBdKTsKICAgICAgaWYoICR0bXBbMF0gPT0gJz8nICkKCXsKCSAgZWNobyAiQXZhaWxhYmxlIENvbW1hbmRzOiAiLmF2YWlsYWJsZV9jb21tYW5kcygpLiJcbiI7CgkgICRsaW5lID0gJyc7Cgl9CiAgICAgIGVsc2UgaWYoICFpbl9hcnJheSgkdG1wWzBdLGF2YWlsYWJsZV9jb21tYW5kcyhGQUxTRSkpICkKCXsKCSAgZWNobyAiQ29tbWFuZCBub3QgaW4gc2NvcGUgKCIuYXZhaWxhYmxlX2NvbW1hbmRzKCkuIilcbiI7CgkgICRsaW5lID0gJyc7Cgl9CiAgICAgIGVsc2UKCXsKCSAgcmV0dXJuICR0bXA7Cgl9CiAgICB9Cn0KCi8vIHRha2VzIGFuIGFycmF5IG9mIGFyZ3VtZW50cywgYW5kIHJlLXBhcnNlcyB0aGVtIGluY2x1ZGluZyBhIGRlbGltaXRlciBhbGxvd2VkIHRvIGdyb3VwIGFyZ3VtZW50cwpmdW5jdGlvbiBwYXJzZV9vcHRzKCRzdHIpCnsKICAkc3BlY2lhbGNoYXJzID0gYXJyYXkoJ1wnJywnIicpOwogICRkZWxpbSA9ICcgJzsKCiAgJG91dGEgPSBhcnJheSgpOwogICRwcmV2Y2hhciA9ICcnOwogICR0c3RyID0gJyc7CiAgJGluc3RyID0gRkFMU0U7CiAgCiAgZm9yKCAkaSA9IDA7ICRpIDwgc3RybGVuKCRzdHIpOyAkaSsrICkKICAgIHsKICAgICAgJGNoYXIgPSAkc3RyWyRpXTsKICAgICAgaWYoIGluX2FycmF5KCRjaGFyLCRzcGVjaWFsY2hhcnMpICkKCXsKCSAgaWYoICRwcmV2Y2hhciAhPSAnXFwnICkgCgkgICAgJGluc3RyID0gISRpbnN0cjsKCSAgZWxzZQoJICAgICR0c3RyIC49ICRjaGFyOwoJfQogICAgICBlbHNlIGlmKCAkY2hhciA9PSAkZGVsaW0gJiYgJGluc3RyID09IEZBTFNFICkKCXsKCSAgJG91dGFbXSA9ICR0c3RyOwoJICAkdHN0ciA9ICcnOwoJfQogICAgICBlbHNlIGlmICggJGNoYXIgIT0gJ1xcJyB8fCAoJGNoYXIgPT0gJ1xcJyAmJiAkcHJldmNoYXIgPT0gJ1xcJykgKQoJewoJICAkdHN0ciAuPSAkY2hhcjsKCX0KICAgICAgJHByZXZjaGFyID0gJGNoYXI7CiAgICB9CiAgaWYoICR0c3RyICE9ICcnICkgJG91dGFbXSA9ICR0c3RyOwogIHJldHVybiAkb3V0YTsKfQoKCmZ1bmN0aW9uIGNvbW1hbmRfcHJvY2Vzc19jb21tYW5kcygkY21kLCRvcHRzKQp7CiAgZ2xvYmFsICRfc2NvcGU7CiAgZ2xvYmFsICRfcHJvbXB0OwoKICAkcmVzID0gJyc7CiAgc3dpdGNoKCAkY21kICkKICAgIHsKICAgIGNhc2UgJ1NUQVRVUyc6CiAgICAgIGRpZSgndG9kbzogc3RhdHVzJyk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ0NIRUNLSU5TJzoKICAgICAgLy8gZ290byBjaGVja2lucyBzY29wZQogICAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9jbGllbnRfY2hlY2tpbnMucGhwJyk7CiAgICAgICRfc2NvcGVbXSA9ICdVUCxBREQsRURJVCxHRVQsREVMLEJZTE9DQVRJT04sUVVJVCxDTFMsTVlMT0NBVElPTixCWUZSSUVORFMnOwogICAgICAkX3Byb21wdFtdID0gJ0NIRUNLSU5TJzsKICAgICAgcmV0dXJuIFRSVUU7CiAgICAgCiAgICBjYXNlICdVU0VSUyc6CiAgICAgIHJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2NsaWVudF91c2VyLnBocCcpOwogICAgICAkX3Njb3BlW10gPSAnVVAsUkVHSVNURVIsTE9HSU4sSUQsTElTVCxMT0dPVVQsUElORyxQUk9QUyxJTkZPLFFVSVQsU0VUUFJPUCxTVEFUVVMsQ0xTLEJBREdFUyc7CiAgICAgICRfcHJvbXB0W10gPSAnVVNFUlMnOwogICAgICByZXR1cm4gVFJVRTsKCiAgICBjYXNlICdTT0NJQUwnOgogICAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9jbGllbnRfc29jaWFsLnBocCcpOwogICAgICAkX3Njb3BlW10gPSAnVVAsTElTVCxHRVRLRVksU0VUS0VZJzsKICAgICAgJF9wcm9tcHRbXSA9ICdTT0NJQUwnOwogICAgICByZXR1cm4gVFJVRTsKCiAgICBjYXNlICdGUklFTkRTJzoKICAgICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY2xpZW50X2ZyaWVuZHMucGhwJyk7CiAgICAgICRfc2NvcGVbXSA9ICdVUCxRVUlULENMUyxMSVNULERFTCxSRVFVRVNULEFQUFJPVkUsUkVRVUVTVExJU1QsREVOWSc7CiAgICAgICRfcHJvbXB0W10gPSAnRlJJRU5EUyc7CiAgICAgIHJldHVybiBUUlVFOwoKICAgIGNhc2UgJ0FDVElWSVRJRVMnOgogICAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9jbGllbnRfYWN0aXZpdGllcy5waHAnKTsKICAgICAgJF9zY29wZVtdID0gJ1VQLExJU1QsR0VULFFVSVQsQ0xTJzsKICAgICAgJF9wcm9tcHRbXSA9ICdBQ1RJVklUSUVTJzsKICAgICAgcmV0dXJuIFRSVUU7CiAgICAgIAogICAgY2FzZSAnTEVBREVSQk9BUkRTJzoKICAgICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY2xpZW50X2xlYWRlcmJvYXJkcy5waHAnKTsKICAgICAgJF9zY29wZVtdID0gJ1VQLExJU1QsR0VULEJBREdFUyxMRUFERVJTLFFVSVQsQ0xTJzsKICAgICAgJF9wcm9tcHRbXSA9ICdMRUFERVJCT0FSRFMnOwogICAgICByZXR1cm4gVFJVRTsKICAgICAgCiAgICBjYXNlICdCQURHRVMnOgogICAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9jbGllbnRfYmFkZ2VzLnBocCcpOwogICAgICAkX3Njb3BlW10gPSAnVVAsTElTVCxHRVQsTUVNQkVSUyxRVUlULENMUyc7CiAgICAgICRfcHJvbXB0W10gPSAnQkFER0VTJzsKICAgICAgcmV0dXJuIFRSVUU7CiAgICAgIAogICAgY2FzZSAnRkFWT1JJVEVTJzoKICAgICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY2xpZW50X2Zhdm9yaXRlcy5waHAnKTsKICAgICAgJF9zY29wZVtdID0gJ1VQLExJU1QsQURELERFTEVURSxJU0ZBVk9SSVRFLFFVSVQsQ0xTJzsKICAgICAgJF9wcm9tcHRbXSA9ICdGQVZPUklURVMnOwogICAgICByZXR1cm4gVFJVRTsKCiAgICBjYXNlICdMT0NBVElPTlMnOgogICAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9jbGllbnRfbG9jYXRpb25zLnBocCcpOwogICAgICAkX3Njb3BlW10gPSAnVVAsTElTVCxDQVRFR09SSUVTLEhJRVJBUkNIWSxHRVQsUVVJVCxDTFMsQURELEVESVQsUEhPVE9VUExPQUQsUEhPVE9ERUxFVEUsTU9TVENIRUNLSU5TLE1PU1RGQVZPUklURVMnOwogICAgICAkX3Byb21wdFtdID0gJ0xPQ0FUSU9OUyc7CiAgICAgIHJldHVybiBUUlVFOwoKICAgIGNhc2UgJ0xPR0lOJzoKICAgICAgLy8gbG9naW4gdGhlIHVzZXIKICAgICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY2xpZW50X3VzZXIucGhwJyk7CiAgICAgICRyZXMgPSB1c2VyX2xvZ2luKCRvcHRzKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnTE9HT1VUJzoKICAgICAgLy8gbG9naW4gdGhlIHVzZXIKICAgICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY2xpZW50X3VzZXIucGhwJyk7CiAgICAgICRyZXMgPSB1c2VyX2xvZ291dCgkb3B0cyk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ0NIRUNLSU4nOgogICAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9jbGllbnRfY2hlY2tpbnMucGhwJyk7CiAgICAgICRyZXMgPSBjaGVja2luc19hZGQoJG9wdHMpOwogICAgICBicmVhazsKCiAgICBjYXNlICdNWUNIRUNLSU5TJzoKICAgICAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY2xpZW50X2NoZWNraW5zLnBocCcpOwogICAgICAkcmVzID0gY2hlY2tpbnNfbXljaGVja2lucygkb3B0cyk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ1VQJzoKICAgICAgaWYoIGNvdW50KCRfc2NvcGUpID4gMSApCgl7CgkgIGFycmF5X3BvcCgkX3Njb3BlKTsKCSAgYXJyYXlfcG9wKCRfcHJvbXB0KTsKCX0KICAgICAgJHJlcyA9IFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ1FVSVQnOgogICAgICBlY2hvICJFWElUSU5HXG4iOwogICAgICBleGl0KCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ0NMUyc6CiAgICAgIGNscygpOwogICAgICAkcmVzID0gVFJVRTsKICAgICAgYnJlYWs7CiAgICB9CgogIHJldHVybiAkcmVzOwp9CgovLwovLyBzdGFydCBzZXNzaW9tCi8vCnNlc3Npb25fbmFtZSgnY2d0ZXN0Jyk7CnNlc3Npb25fc3RhcnQoKTsKCi8vCi8vIGluaXRpYWxpemUgdmFyaWFibGVzCi8vCiRhcHBfZG9uZSA9IEZBTFNFOwokX2dsb2JhbF9jb21tYW5kcyA9ICdVU0VSUyxMRUFERVJCT0FSRFMsQkFER0VTLExPQ0FUSU9OUyxGQVZPUklURVMsQUNUSVZJVElFUyxDSEVDS0lOUyxMT0dJTixMT0dPVVQsUVVJVCxDTFMsQ0hFQ0tJTixNWUNIRUNLSU5TLEZSSUVORFMsU09DSUFMJzsKJF9jb21tYW5kcyA9ICdTVEFUVVMnOwokX3Byb21wdCA9IGFycmF5KCdDT01NQU5EJyk7CiRfc2NvcGVbXSA9ICRfY29tbWFuZHM7CiRfZXJybXNnID0gJyc7CiRfYXBwZGF0YSA9IG51bGw7CiRfZmlsZWhhbmRsZSA9IG51bGw7CgovLwovLyBoYW5kbGUgQ0xJIGFyZ3VtZW50cwovLwoKCi8vIAovLyBoYW5kbGUgZmlsZSBhcmd1bWVudHMKLy8KJGNvbmZpZ2ZpbGUgPSBkaXJuYW1lKF9fRklMRV9fKS4nL2NvbmZpZy5waHAnOwokc2NyaXB0ID0gbnVsbDsKaWYoICRhcmdjID4gMSApIHsKICAkYXJncyA9ICRhcmd2OwogIHdoaWxlKCBjb3VudCgkYXJncykgKSB7CiAgICAkYXJnID0gYXJyYXlfc2hpZnQoJGFyZ3MpOwogICAgc3dpdGNoKCAkYXJnICkgewogICAgY2FzZSAnLWYnOgogICAgICAkY29uZmlnZmlsZSA9IGFycmF5X3NoaWZ0KCRhcmdzKTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgJHNjcmlwdCA9ICRhcmc7CiAgICAgIGJyZWFrOwogICAgfQogIH0KfQoKaWYoICFpc19yZWFkYWJsZSgkY29uZmlnZmlsZSkgKSB7CiAgZGllKCIkY29uZmdmaWxlIG5vdCBmb3VuZCIpOwp9CiRjb25maWcgPSBhcnJheSgpOwppbmNsdWRlX29uY2UoJGNvbmZpZ2ZpbGUpOwppZiggIWlzc2V0KCRjb25maWdbJ2Jhc2VVUkwnXSkgfHwgJGNvbmZpZ1snYmFzZVVSTCddID09ICcnICkgewogIGRpZSgnYmFzZVVSTCBpcyB1bmRlZmluZWQgaW4gdGhlIGNvbmZpZy5waHAgZmlsZScpOwp9CmlmKCAhaXNzZXQoJGNvbmZpZ1snYXBpa2V5J10pIHx8ICRjb25maWdbJ2FwaWtleSddID09ICcnICkgewogIGRpZSgnYXBpa2V5IGlzIHVuZGVmaW5lZCBpbiB0aGUgY29uZmlnLnBocCBmaWxlJyk7Cn0KCi8vIGhlcmUgd2UgZG8gb3VyIGJhc2ljIGNvbmZpZyBzdHVmZi4KZGVmaW5lKCdCQVNFX1VSTCcsJGNvbmZpZ1snYmFzZVVSTCddKTsKJF9hcGlrZXkgPSAkY29uZmlnWydhcGlrZXknXTsgLy8gdWdseSwgSSBrbm93CmRlZmluZSgnQVBJS0VZJywkY29uZmlnWydhcGlrZXknXSk7CgppZiggJHNjcmlwdGZpbGUgKSB7CiAgaWYoICFmaWxlX2V4aXN0cygkc2NyaXB0ZmlsZSkgKSB7CiAgICBkaWUoImZpbGUgJGZpbGVuYW1lIG5vdCBmb3VuZFxuIik7CiAgfQogICRfZmlsZWhhbmRsZSA9IGZvcGVuKCRzY3JpcHRmaWxlLCdyJyk7CiAgaWYoICEkX2ZpbGVoYW5kbGUgKSB7CiAgICBkaWUoImNvdWxkIG5vdCBvcGVuICRmaWxlbmFtZVxuIik7CiAgfQp9CmVsc2UgewogIGNscygpOwogIGVjaG8gIkNHU29jaWFsQXBwIENMSSBUZXN0IENsaWVudFxuIjsKICBlY2hvICItLSBMb2FkZWQgY29uZmlnIGZpbGUgJGNvbmZpZ2ZpbGVcblxuIjsKfQoKd2hpbGUoICgkX2ZpbGVoYW5kbGUgJiYgIWZlb2YoJF9maWxlaGFuZGxlKSkgfHwgISRhcHBfZG9uZSApCnsKICAvLyBnZXQgYSBjb21tYW5kLgogICRyZXMgPSBudWxsOwogICRvcHRzID0gcmVhZF9jb21tYW5kKCk7CiAgaWYoICRvcHRzICkgJGNvbW1hbmQgPSBhcnJheV9zaGlmdCgkb3B0cyk7CgogICRsZXZlbCA9IHN0cnRvbG93ZXIoZ2V0X2xldmVsKCkpOwogICRmbiA9ICRsZXZlbC4nX3Byb2Nlc3NfY29tbWFuZHMnOwogIGlmKCBmdW5jdGlvbl9leGlzdHMoJGZuKSApCiAgICB7CiAgICAgIC8vIHRoZSBmdW5jdGlvbiBleGlzdHMuLgogICAgICAkcmVzID0gJGZuKCRjb21tYW5kLCRvcHRzKTsKICAgICAgaWYoIGlzX251bGwoJHJlcykgKQoJewoJICBpZiggZ2V0X2xldmVsKCkgIT0gJ0NPTU1BTkQnICkKCSAgICB7CgkgICAgICAkcmVzID0gY29tbWFuZF9wcm9jZXNzX2NvbW1hbmRzKCRjb21tYW5kLCRvcHRzKTsKCSAgICAgIGlmKCBpc19udWxsKCRyZXMpICkKCQl7CgkJICBzZXRfZXJyb3Jtc2coJ0ludmFsaWQgY29tbWFuZDIgJy4kY29tbWFuZCk7CgkJfQoJICAgIH0KCX0KICAgIH0KICBlbHNlCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygnSW52YWxpZCBjb21tYW5kICcuJGNvbW1hbmQpOwogICAgfQoKICBpZiggISRyZXMgKQogICAgewogICAgICBlY2hvIGdldF9lcnJvcm1zZygpLiJcbiI7CiAgICB9Cn0KPz4K]]></data>
	</file>
	<file>
	  <filename>/client/client_activities.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGFjdGl2aXRpZXNfcHJvY2Vzc19jb21tYW5kcygkY21kLCRvcHRzKQp7CiAgc3dpdGNoKCAkY21kICkgewogIGNhc2UgJ0xJU1QnOgogICAgcmV0dXJuIGFjdGl2aXRpZXNfbGlzdCgkb3B0cyk7CiAgfQp9CgpmdW5jdGlvbiBhY3Rpdml0aWVzX2xpc3QoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewogICAgZWNobyA8PDxFT1QKICAgICAgdXNhZ2U6IGxpc3QKICAgICAgbGlzdCBhY3Rpdml0aWVzCgpFT1Q7CiAgICByZXR1cm47CiAgfQoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9hY3Rpdml0aWVzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdMSVNUJyk7CgogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMsVFJVRSk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CiAgcHJpbnRfcigkdG1wKTsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/client/client_badges.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGJhZGdlc19wcm9jZXNzX2NvbW1hbmRzKCRjbWQsJG9wdHMpCnsKICBzd2l0Y2goICRjbWQgKSB7CiAgY2FzZSAnTElTVCc6CiAgICByZXR1cm4gYmFkZ2VzX2xpc3QoJG9wdHMpOwogIGNhc2UgJ0dFVCc6CiAgICByZXR1cm4gYmFkZ2VzX2dldCgkb3B0cyk7CiAgY2FzZSAnTEVBREVSUyc6CiAgICByZXR1cm4gYmFkZ2VzX21lbWJlcnMoJG9wdHMpOwogIH0KfQoKZnVuY3Rpb24gYmFkZ2VzX2xpc3QoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewogICAgZWNobyA8PDxFT1QKdXNhZ2U6IGxpc3QKbGlzdCBiYWRnZXMKRU9UOwogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvYmFkZ2VzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdMSVNUJyk7CgogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgcHJpbnRfcigkcmVzKTsgZWNobyAiXG4iOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyxUUlVFKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBiYWRnZXNfZ2V0KCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGdldCBpZApnZXQgaW5mb3JtYXRpb24gZm9yIG9uZSBiYWRnZS4KRU9UOwogIH0KCiAgaWYoIGNvdW50KCRvcHRzKSAhPSAxICkgewogICAgc2V0X2Vycm9ybXNnKCdiYWRnZXNfZ2V0OiBNaXNzaW5nIGJhZGdlIGlkIHBhcmFtJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQogICR0aGVfaWQgPSAoaW50KSRvcHRzWzBdOwoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9iYWRnZXMnKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdHRVQnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdiYWRnZScsJHRoZV9pZCk7CgogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgcHJpbnRfcigkcmVzKTsKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyxUUlVFKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBsZWFkZXJib2FyZHNfbWVtYmVycygkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CiAgICBlY2hvIDw8PEVPVAp1c2FnZTogbGVhZGVycyBpZCBbbiBbb11dCnJldHJpZXZlIG1lbWJlciBpbmZvcm1hdGlvbiBmb3IgYSBiYWRnZQpFT1Q7CiAgfQoKICBpZiggY291bnQoJG9wdHMpIDwgMSApIHsKICAgIHNldF9lcnJvcm1zZygnbGVhZGVyYm9hcmRzX2dldDogTWlzc2luZyBsZWFkZXJib2FyZCBpZCBwYXJhbScpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICBpZiggY291bnQoJG9wdHMpID4gMyApIHsKICAgIHNldF9lcnJvcm1zZygnbGVhZGVyYm9hcmRzX2dldDogdG9vIG1hbnUgYXJndW1lbnRzJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQogICR0aGVfaWQgPSAoaW50KSRvcHRzWzBdOwoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9sZWFkZXJib2FyZHMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ01FTUJFUlMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYmFkZ2UnLCR0aGVfaWQpOwogIGlmKCBpc3NldCgkb3B0c1sxXSkgKSB7CiAgICAkcmVxLT5hZGRQYXJhbSgnbicsKGludCkkb3B0c1sxXSk7CiAgfQogIGlmKCBpc3NldCgkb3B0c1syXSkgKSB7CiAgICAkcmVxLT5hZGRQYXJhbSgnbycsKGludCkkb3B0c1syXSk7CiAgfQoKICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzLFRSVUUpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IC8vIHdvb3QgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/client/client_checkins.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGNoZWNraW5zX3Byb2Nlc3NfY29tbWFuZHMoJGNtZCwkb3B0cykKewogIHN3aXRjaCggJGNtZCApCiAgICB7CiAgICBjYXNlICdHRVQnOgogICAgICByZXR1cm4gY2hlY2tpbnNfZ2V0KCRvcHRzKTsKCiAgICBjYXNlICdERUwnOgogICAgICByZXR1cm4gY2hlY2tpbnNfZGVsKCRvcHRzKTsKCiAgICBjYXNlICdBREQnOgogICAgICByZXR1cm4gY2hlY2tpbnNfYWRkKCRvcHRzKTsKCiAgICBjYXNlICdFRElUJzoKICAgICAgcmV0dXJuIGNoZWNraW5zX2VkaXQoJG9wdHMpOwoKICAgIGNhc2UgJ0JZTE9DQVRJT04nOgogICAgICByZXR1cm4gY2hlY2tpbnNfYnlsb2NhdGlvbigkb3B0cyk7CgogICAgY2FzZSAnTVlMT0NBVElPTic6CiAgICAgIHJldHVybiBjaGVja2luc19teWxvY2F0aW9uKCRvcHRzKTsKCiAgICBjYXNlICdCWUZSSUVORFMnOgogICAgICByZXR1cm4gY2hlY2tpbnNfYnlmcmllbmRzKCRvcHRzKTsKICAgIH0KfQoKZnVuY3Rpb24gY2hlY2tpbnNfYWRkKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGFkZCBsb2M9bG9jYXRpb25faWQgW2FjdD1hY3Rpdml0eV9pZF0gW21zZz1zdHJpbmddIFtmaWxlPWZpbGVuYW1lXSBbdGFnPXVpZDEsdWlkMix1aWQzXSBbZXh0cmFfdXJsMT11cmxdCkNyZWF0ZSBhIG5ldyBjaGVja2luCnVzZXMgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdWlkCmxvY2F0aW9uIGlkIG11c3QgYmUgc3BlY2lmaWVkCmFjdGl2aXR5IGlkLCBmaWxlIGFuZCBtc2cgYXJlIG9wdGlvbmFsCm11bHRpcGxlIGZpbGVzIGNhbiBiZSB1cGxvYWRlZC5cbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIGlmKCBjb3VudCgkb3B0cykgPCAxICkgewogICAgc2V0X2Vycm9ybXNnKCdhZGQgY2hlY2tpbjogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHBhcm1zID0gYXJyYXkoKTsKICAkZmlsZXMgPSBhcnJheSgpOwogIGZvcmVhY2goICRvcHRzIGFzICRvcHQgKSB7CiAgICBsaXN0KCRrLCR2KSA9IGV4cGxvZGUoJz0nLCRvcHQsMik7CiAgICAkayA9IHRyaW0oJGspOwogICAgJHYgPSB0cmltKCR2KTsKICAgIHN3aXRjaCggc3RydG9sb3dlcigkaykgKSB7CiAgICBjYXNlICdhY3QnOgogICAgICAkayA9ICdhY3Rpdml0eSc7CiAgICAgICRwYXJtc1ska10gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbG9jJzoKICAgICAgJGsgPSAnbG9jYXRpb24nOwogICAgICAkcGFybXNbJGtdID0gJHY7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ21zZyc6CiAgICBjYXNlICd0YWcnOgogICAgICAkcGFybXNbJGtdID0gJHY7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2ZpbGUnOgogICAgICBpZiggIWZpbGVfZXhpc3RzKCR2KSApIHsKCXNldF9lcnJvcm1zZygnYWRkIGNoZWNraW46IGZpbGUgJy4kdi4nIGRvZXMgbm90IGV4aXN0Jyk7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KICAgICAgJGZpbGVzW10gPSAkdjsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgaWYoIHN0YXJ0c3dpdGgoJGssJ2V4dHJhXycpICkgewoJJHBhcm1zWyRrXSA9ICR2OwogICAgICB9CiAgICB9CiAgfQoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRNZXRob2QoJ1BPU1QnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9jaGVja2lucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnQUREJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ293bmVyJywkdWlkKTsKICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdiApIHsKICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHYpOwogIH0KICBpZiggY291bnQoJGZpbGVzKSA+IDAgKSB7CiAgICAkaWR4ID0gMTsKICAgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkgewogICAgICAkcmVxLT5hZGRQYXJhbSgnZmlsZScuJGlkeCsrLCdAJy4kb25lKTsKICAgIH0KICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CiAgZWNobyAiQ0hFQ0tJTklEOiAiLiR0bXAtPmRhdGEuIlxuIjsKICByZXR1cm4gVFJVRTsKfQoKCmZ1bmN0aW9uIGNoZWNraW5zX2dldCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBnZXQgPGlkPWludD4gW2RlZXA9aW50XQpSZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBhIGNoZWNraW4uXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAkcGFybXMgPSBhcnJheSgpOwogIGZvcmVhY2goICRvcHRzIGFzICRvbmUgKSB7CiAgICBsaXN0KCRrLCR2KSA9IGV4cGxvZGUoJz0nLCRvbmUsMik7CiAgICBzd2l0Y2goICRrICkgewogICAgY2FzZSAnaWQnOgogICAgICAkayA9ICdjaWQnOwogICAgICAvLyBmYWxsIHRocm91Z2gKICAgIGNhc2UgJ2RlZXAnOgogICAgICAkcGFybXNbJGtdID0gKGludCkkdjsKICAgICAgYnJlYWs7CiAgICB9CiAgfQoKICBpZiggIWlzc2V0KCRwYXJtc1snY2lkJ10pICkgewogICAgc2V0X2Vycm9ybXNnKCdhZGQgY2hlY2tpbjogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdHRVQnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9jaGVja2lucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnR0VUJyk7CiAgZm9yZWFjaCggJHBhcm1zIGFzICRrID0+ICR2ICkgewogICAgJHJlcS0+YWRkUGFyYW0oJGssJHYpOwogIH0KICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKS4iXG4iOwogIHJldHVybiBUUlVFOwp9CgoKZnVuY3Rpb24gY2hlY2tpbnNfZGVsKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGRlbCA8Y2hlY2tpbmlkPgpEZWxldGUgdGhlIHNwZWNpZmllZCBjaGVja2luLgpVc2VzIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJpZC4KVGhlIGNoZWNraW4gbXVzdCBiZSBjcmVhdGVkIGJ5IHRoZSBsb2dnZWQgaW4gdXNlci5cbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIGlmKCBjb3VudCgkb3B0cykgIT0gMSApIHsKICAgIHNldF9lcnJvcm1zZygnYWRkIGNoZWNraW46IGluc3VmZmljaWVudCBhcmd1bWVudHMnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CiAgJHVpZCA9IGdldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBpZiggJHVpZCA8PSAwICkgewogICAgc2V0X2Vycm9ybXNnKCdOb3QgbG9nZ2VkIGluLi4uIG5vdGhpbmcgdG8gZG8nKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2NoZWNraW5zJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdERUwnKTsKICAkcmVxLT5hZGRQYXJhbSgnb3duZXInLCR1aWQpOwogICRyZXEtPmFkZFBhcmFtKCdjaWQnLChpbnQpJG9wdHNbMF0pOwogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCkuIlxuIjsKICByZXR1cm4gVFJVRTsKfQoKCmZ1bmN0aW9uIGNoZWNraW5zX215Y2hlY2tpbnMoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogbXljaGVja2lucyBbb3B0aW9ucy4uLl0KcmV0cmlldmUgYSBsaXN0IG9mIGNoZWNraW5zIGZyb20gdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4KdGltZWxpbWl0ID0gaW50ZWdlciBtaW51dGVzLCBkZWZhdWx0IGlzIDAKbGltaXQgPSBpbnRlZ2VyLCBudW1iZXIgb2YgaXRlbXMgdG8gcmV0dXJuCm9mZnNldCA9IGludGVnZXIsIHN0YXIgcG9zaXRpb24KZGVlcCA9IGludGVnZXIKRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAkcGFybXMgPSBhcnJheSgpOwogIGlmKCBjb3VudCgkb3B0cykgKSB7CiAgICBmb3JlYWNoKCAkb3B0cyBhcyAkb25lICkgewogICAgICBsaXN0KCRrLCR2KSA9IGV4cGxvZGUoJz0nLCRvbmUsMik7CiAgICAgIHN3aXRjaCggJGsgKSB7CiAgICAgIGNhc2UgJ2xpbWl0JzoKICAgICAgY2FzZSAnb2Zmc2V0JzoKICAgICAgY2FzZSAndGltZWxpbWl0JzoKICAgICAgY2FzZSAnZGVlcCc6CgkkcGFybXNbJGtdID0gKGludCkkdjsKCWJyZWFrOwogICAgICB9CiAgICB9CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdHRVQnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9jaGVja2lucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnTVlDSEVDS0lOUycpOwogICRyZXEtPmFkZFBhcmFtKCdvd25lcicsJHVpZCk7CiAgZm9yZWFjaCggJHBhcm1zIGFzICRrZXkgPT4gJHYgKSB7CiAgICAkcmVxLT5hZGRQYXJhbSgkaywkdik7CiAgfQogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CgogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApLiJcbiI7CiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBjaGVja2luc19lZGl0KCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGVkaXQgY2hlY2tpbmlkIFtkZWxdfFtsb2M9bG9jYXRpb25faWRdIFthY3Q9YWN0aXZpdHlfaWRdIFttc2c9bXNnXSBbZXh0cmFfWFhYWFg9dmFsXQplZGl0IGFuIGV4aXN0aW5nIGNoZWNraW4KdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlciBtdXN0IG93biB0aGUgY2hlY2tpbgpzZWUgdGhlIGFkZCBjb21tYW5kCmZpbGUgdXBsb2FkcyBhcmUgbm90IHlldCBzdXBwb3J0ZWRcbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CiAgaWYoIGNvdW50KCRvcHRzKSA8IDIgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ2VkaXQgY2hlY2tpbjogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICAkY2lkID0gKGludCkkb3B0c1swXTsKICBhcnJheV9zaGlmdCgkb3B0cyk7CiAgJHBhcm1zID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkb3B0cyBhcyAkb3B0ICkgewogICAgbGlzdCgkaywkdikgPSBleHBsb2RlKCc9Jywkb3B0LDIpOwogICAgJGsgPSBzdHJ0b2xvd2VyKHRyaW0oJGspKTsKICAgICR2ID0gdHJpbSgkdik7CgogICAgc3dpdGNoKCRrKSB7CiAgICBjYXNlICdhY3QnOgogICAgY2FzZSAnYWN0aXZpdHknOgogICAgICAkayA9ICdhY3Rpdml0eSc7CiAgICAgICRwYXJtc1ska10gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbG9jJzoKICAgIGNhc2UgJ2xvY2F0aW9uJzoKICAgICAgJGsgPSAnbG9jYXRpb24nOwogICAgICAkcGFybXNbJGtdID0gJHY7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ21zZyc6CiAgICAgICRwYXJtc1ska10gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnZGVsJzoKICAgICAgJHYgPSAoaW50KSR2OwogICAgICAkcGFybXNbJGtdID0gJHY7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIGlmKCBzdGFydHN3aXRoKCRrLCdleHRyYV8nKSApIHsKCSRwYXJtc1ska10gPSAkdjsKICAgICAgfQogICAgfQogIH0KICAKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRNZXRob2QoJ1BPU1QnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9jaGVja2lucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnRURJVCcpOwogICRyZXEtPmFkZFBhcmFtKCdjaWQnLCRjaWQpOwogICRyZXEtPmFkZFBhcmFtKCdvd25lcicsJHVpZCk7CiAgZm9yZWFjaCggJHBhcm1zIGFzICRrZXkgPT4gJHZhbCApIHsKICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbCk7CiAgfQogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CgogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApLiJcbiI7CiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBjaGVja2luc19teWxvY2F0aW9uKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IG15bG9jYXRpb24gW2xhdCBsb25nXQpyZXRyaWV2ZSBvciBzZXQgY3VycmVudCBsb2NhdGlvbgp1c2VkIGZvciBjaGVja2luIGluZm9ybWF0aW9uLlxuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KICBpZiggY291bnQoJG9wdHMpICE9IDIgKSB7CiAgICAkbG9jID0gZ2V0X2FwcGRhdGEoJ2xvYycsJycpOwogICAgaWYoICEkbG9jICkgewogICAgICBlY2hvICJJTkZPOiBZb3VyIGxvY2F0aW9uIGlzIG5vdCBzZXRcbiI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgZWNobyAiSU5GTzogWW91ciBsb2NhdGlvbjogIGxhdD0iLiRsb2NbMF0uJyBsb249Jy4kbG9jWzFdLiJcbiI7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CiAgCiAgJGxvYyA9IGFycmF5KCRvcHRzWzBdLCRvcHRzWzFdKTsKICBzZXRfYXBwZGF0YSgnbG9jJywkbG9jKTsKICByZXR1cm4gVFJVRTsKfQoKZnVuY3Rpb24gY2hlY2tpbnNfYnlsb2NhdGlvbigkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnJldHJpZXZlIGNoZWNraW5zIGZvciB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uCnVzYWdlOiBieWxvY2F0aW9uIG9wdGlvbnMKb3B0aW9uczoKICBsb2M9aWQgKHJlcXVpcmVkKQogIGRlZXA9MSAob3B0aW9uYWwpIC0gZW5hYmxlIGRlZXAgbW9kZQogIHRpbWVsaW1pdD1OIChvcHRpb25hbCkgLSB0aW1lbGltaXQgaW4gbWludXRlcwogIGxpbWl0PU4gPSAob3B0aW9uYWwpIGludGVnZXIgbnVtYmVyIG9mIGFydGljbGVzIHRvIHJldHVybi4gIGRlZmF1bHQgPSA1MAogIG9mZnNldD1OID0gKG9wdGlvbmFsKSBpbnRlZ2VyIHN0YXJ0IHBvc2l0aW9uLiAgZGVmYXVsdCA9IDBcbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogICRwYXJtcyA9IGFycmF5KCk7CiAgZm9yZWFjaCggJG9wdHMgYXMgJG9uZSApIHsKICAgIGxpc3QoJGssJHYpID0gZXhwbG9kZSgnPScsJG9uZSwyKTsKICAgIHN3aXRjaCggJGsgKSB7CiAgICBjYXNlICdsb2MnOgogICAgICAkayA9ICdsaWQnOwogICAgICAkdiA9IChpbnQpJHY7CiAgICAgICRwYXJtc1ska10gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnZGVlcCc6CiAgICAgICR2ID0gKGludCkkdjsKICAgICAgJHBhcm1zWyRrXSA9ICR2OwogICAgICBicmVhazsKCiAgICBjYXNlICd0aW1lbGltaXQnOgogICAgICAkdiA9IChpbnQpJHY7CiAgICAgICRwYXJtc1ska10gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbGltaXQnOgogICAgICAkdiA9IChpbnQpJHY7CiAgICAgICRwYXJtc1ska10gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnb2Zmc2V0JzoKICAgICAgJHYgPSAoaW50KSR2OwogICAgICAkcGFybXNbJGtdID0gJHY7CiAgICAgIGJyZWFrOwoKICAgIH0KICB9CgogIGlmKCAhaXNzZXQoJHBhcm1zWydsaWQnXSkgKSB7CiAgICAkbXNnID0gJ0Vycm9yOiBtaXNzaW5nIHJlcXVpcmVkIGxvYyBhcnVtZW50JzsKICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnR0VUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvY2hlY2tpbnMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0JZTE9DQVRJT04nKTsKICBmb3JlYWNoKCAkcGFybXMgYXMgJGsgPT4gJHYgKSB7CiAgICAkcmVxLT5hZGRQYXJhbSgkaywkdik7CiAgfQogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CgogIHByaW50X3IoJHJlcyk7CiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IC8vIHdvb3QgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKCmZ1bmN0aW9uIGNoZWNraW5zX2J5ZnJpZW5kcygkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBieWZyaWVuZHMgW29wdD12YWx1ZV0uLi4KUmV0cmlldmUgaW5mb3JtYXRpb24gYWJvdXQgY2hlY2tpbnMgZnJvbSBteSBmcmllbmRzLgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIC8vIHBhcnNlIGFyZ3VtZW50cwogICRwYXJtcyA9IGFycmF5KCk7CiAgJHBhcm1zWyduJ10gPSA1MDsKICAkcGFybXNbJ28nXSA9IDA7CiAgZm9yZWFjaCggJG9wdHMgYXMgJGFyZyApIHsKICAgIGxpc3QoJGtleSwkdmFsKSA9IGV4cGxvZGUoJz0nLCRhcmcsMik7CiAgICAka2V5ID0gdHJpbSgka2V5KTsKICAgICR2YWwgPSB0cmltKCR2YWwpOwoKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ24nOgogICAgY2FzZSAnbyc6CiAgICBjYXNlICdkZWVwJzoKICAgICAgJHZhbCA9IChpbnQpJHZhbDsKICAgICAgJHBhcm1zWyRrZXldID0gJHZhbDsKICAgICAgYnJlYWs7CiAgICB9CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdHRVQnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9jaGVja2lucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnRlJJRU5EUycpOwogICRyZXEtPmFkZFBhcmFtKCd1aWQnLCR1aWQpOwogIGZvcmVhY2goICRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbHVlKTsKICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCkuIlxuIjsKICByZXR1cm4gVFJVRTsKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/client/client_favorites.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGZhdm9yaXRlc19wcm9jZXNzX2NvbW1hbmRzKCRjbWQsJG9wdHMpCnsKICBzd2l0Y2goICRjbWQgKSB7CiAgY2FzZSAnQUREJzoKICAgIHJldHVybiBmYXZvcml0ZXNfYWRkKCRvcHRzKTsKCiAgY2FzZSAnTElTVCc6CiAgICByZXR1cm4gZmF2b3JpdGVzX2xpc3QoJG9wdHMpOwoKICBjYXNlICdERUwnOgogIGNhc2UgJ0RFTEVURSc6CiAgICByZXR1cm4gZmF2b3JpdGVzX2RlbGV0ZSgkb3B0cyk7CgogIGNhc2UgJ0lTRkFWT1JJVEUnOgogICAgcmV0dXJuIGZhdm9yaXRlc19pc2Zhdm9yaXRlKCRvcHRzKTsKICB9Cn0KCmZ1bmN0aW9uIGZhdm9yaXRlc19saXN0KCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA+IDAgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogbGlzdApFT1Q7CiAgcmV0dXJuIFRSVUU7CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ2xvY2F0aW9uc19hZGQ6IE5vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvZmF2b3JpdGVzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdMSVNUJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ293bmVyJywoaW50KSR1aWQpOwogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CgogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApOyBlY2hvICJcbiI7IC8vIHdvb3QgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKZnVuY3Rpb24gZmF2b3JpdGVzX2FkZCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPiAwICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGFkZCBsb2NhdGlvbgogIGludGVnZXIgbG9jYXRpb24gaWQuCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIGlmKCBjb3VudCgkb3B0cykgIT0gMSApIHsKICAgIHNldF9lcnJvcm1zZygnbG9jYXRpb25zX2FkZDogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHVpZCA9IGdldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBpZiggJHVpZCA8PSAwICkgewogICAgc2V0X2Vycm9ybXNnKCdsb2NhdGlvbnNfYWRkOiBOb3QgbG9nZ2VkIGluLi4uIG5vdGhpbmcgdG8gZG8nKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogICRwYXJtc1snbG9jYXRpb24nXSA9IChpbnQpJG9wdHNbMF07CiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvZmF2b3JpdGVzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdBREQnKTsKICAkcmVxLT5hZGRQYXJhbSgnb3duZXInLChpbnQpJHVpZCk7CiAgaWYoIGNvdW50KCRwYXJtcykgKSB7CiAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbHVlKTsKICAgIH0KICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IGVjaG8gIlxuIjsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiBmYXZvcml0ZXNfZGVsZXRlKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA+IDAgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogZGVsIGxvY2F0aW9uCiAgaW50ZWdlciBsb2NhdGlvbiBpZC4KRU9UOwogIHJldHVybiBUUlVFOwogIH0KCiAgaWYoIGNvdW50KCRvcHRzKSAhPSAxICkgewogICAgc2V0X2Vycm9ybXNnKCdsb2NhdGlvbnNfYWRkOiBpbnN1ZmZpY2llbnQgYXJndW1lbnRzJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ2xvY2F0aW9uc19hZGQ6IE5vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHBhcm1zWydsb2NhdGlvbiddID0gKGludCkkb3B0c1swXTsKCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvZmF2b3JpdGVzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdERUxFVEUnKTsKICAkcmVxLT5hZGRQYXJhbSgnb3duZXInLChpbnQpJHVpZCk7CiAgaWYoIGNvdW50KCRwYXJtcykgKSB7CiAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbHVlKTsKICAgIH0KICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IGVjaG8gIlxuIjsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiBmYXZvcml0ZXNfaXNmYXZvcml0ZSgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPiAwICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGlzZmF2b3JpdGUgbG9jYXRpb24KICBpbnRlZ2VyIGxvY2F0aW9uIGlkLgpFT1Q7CiAgcmV0dXJuIFRSVUU7CiAgfQoKICBpZiggY291bnQoJG9wdHMpICE9IDEgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ2xvY2F0aW9uc19hZGQ6IGluc3VmZmljaWVudCBhcmd1bWVudHMnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogICR1aWQgPSBnZXRfYXBwZGF0YSgndWlkJywtMSk7CiAgaWYoICR1aWQgPD0gMCApIHsKICAgIHNldF9lcnJvcm1zZygnbG9jYXRpb25zX2FkZDogTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICAkcGFybXNbJ2xvY2F0aW9uJ10gPSAoaW50KSRvcHRzWzBdOwoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9mYXZvcml0ZXMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0lTRkFWT1JJVEUnKTsKICAkcmVxLT5hZGRQYXJhbSgnb3duZXInLChpbnQpJHVpZCk7CiAgaWYoIGNvdW50KCRwYXJtcykgKSB7CiAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbHVlKTsKICAgIH0KICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IGVjaG8gIlxuIjsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/client/client_friends.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGZyaWVuZHNfcHJvY2Vzc19jb21tYW5kcygkY21kLCRvcHRzKQp7CiAgc3dpdGNoKCAkY21kICkKICAgIHsKICAgIGNhc2UgJ0xJU1QnOgogICAgICByZXR1cm4gZnJpZW5kc19saXN0KCRvcHRzKTsKCiAgICBjYXNlICdERUwnOgogICAgICByZXR1cm4gZnJpZW5kc19kZWwoJG9wdHMpOwoKICAgIGNhc2UgJ1JFUVVFU1QnOgogICAgICByZXR1cm4gZnJpZW5kc19yZXF1ZXN0KCRvcHRzKTsKCiAgICBjYXNlICdBUFBST1ZFJzoKICAgICAgcmV0dXJuIGZyaWVuZHNfYXBwcm92ZSgkb3B0cyk7CgogICAgY2FzZSAnREVOWSc6CiAgICAgIHJldHVybiBmcmllbmRzX2RlbnkoJG9wdHMpOwogICAgICAKICAgIGNhc2UgJ1JFUVVFU1RMSVNUJzoKICAgICAgcmV0dXJuIGZyaWVuZHNfcmVxdWVzdGxpc3QoJG9wdHMpOwoKICAgIGNhc2UgJ0RFTlknOgogICAgICByZXR1cm4gZnJpZW5kc19kZW55KCRvcHRzKTsKICAgIH0KfQoKZnVuY3Rpb24gZnJpZW5kc19saXN0KCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBsaXN0IFtvcHRpb25zXQpsaXN0IG15IGN1cnJlbnQgZnJpZW5kc1xuCm11c3QgYmUgbG9nZ2VkIGluIHRvIHVzZSB0aGlzIGZ1bmN0aW9uLlxuCm9wdGlvbnM6XG4KICAgIG49aW50ZWdlciA6IG51bWJlciBvZiBmcmllbmRzIHRvIHJldHVyblxuCiAgICBvPWludGVnZXIgOiBzdGFydCBvZmZzZXRcbgogICAgZGVlcD1pbnQgIDogd2V0aGVyIHRvIHJldHVybiBhcnJheSBvZiB1aWQvdXNlcm5hbWUgcGFpcnMuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgJHBhcm1zID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkb3B0cyBhcyAkb3B0ICkgewogICAgbGlzdCgkaywkdikgPSBleHBsb2RlKCc9Jywkb3B0LDIpOwogICAgc3dpdGNoKCAkayApIHsKICAgIGNhc2UgJ24nOgogICAgY2FzZSAnbyc6CiAgICBjYXNlICdkZWVwJzoKICAgICAgJHBhcm1zWyRrXSA9ICR2OwogICAgICBicmVhazsKICAgIH0KICB9CiAgJHVpZCA9IGdldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBpZiggJHVpZCA8PSAwICkgewogICAgc2V0X2Vycm9ybXNnKCdOb3QgbG9nZ2VkIGluLi4uIG5vdGhpbmcgdG8gZG8nKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnR0VUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvZnJpZW5kcycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnTElTVCcpOwogICRyZXEtPmFkZFBhcmFtKCd1aWQnLCR1aWQpOwogIGZvcmVhY2goICRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbHVlKTsKICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgCiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICBpZiggaXNzZXQoJHRtcC0+ZGF0YSkgKSAgcHJpbnRfcigkdG1wLT5kYXRhKTsKICByZXR1cm4gVFJVRTsKfQoKCi8qCmZ1bmN0aW9uIGZyaWVuZHNfYWRkKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiAKbGlzdCBteSBjdXJyZW50IGZyaWVuZHMKbXVzdCBiZSBsb2dnZWQgaW4gdG8gdXNlIHRoaXMgZnVuY3Rpb24uXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICBpZiggY291bnQoJG9wdHMpICE9IDEgKQogICAgewogICAgICBzZXRfZXJyb3Jtc2coJ2FkZCBjaGVja2luOiBpbnN1ZmZpY2llbnQgYXJndW1lbnRzJyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKQogICAgewogICAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2ZyaWVuZHMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0FERCcpOwogICRyZXEtPmFkZFBhcmFtKCd1aWQnLCR1aWQpOwogICRyZXEtPmFkZFBhcmFtKCdmdWlkJywkb3B0c1swXSk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKQogICAgewogICAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApCgl7CgkgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKCX0KICAgICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgZWNobyAiQURERUQgRlJJRU5EXG4iOwogIHJldHVybiBUUlVFOwp9CiovCgpmdW5jdGlvbiBmcmllbmRzX2RlbCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogZGVsIDx1aWQ+CmRlbGV0ZSB0aGUgc3BlY2lmaWVkIGZyaWVuZCBmcm9tIGZyaWVuZCBsaXN0LgptdXN0IGJlIGxvZ2dlZCBpbiB0byB1c2UgdGhpcyBmdW5jdGlvbi5cbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIGlmKCBjb3VudCgkb3B0cykgIT0gMSApCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygnYWRkIGNoZWNraW46IGluc3VmZmljaWVudCBhcmd1bWVudHMnKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogICR1aWQgPSBnZXRfYXBwZGF0YSgndWlkJywtMSk7CiAgaWYoICR1aWQgPD0gMCApCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygnTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvZnJpZW5kcycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnREVMJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ3VpZCcsJHVpZCk7CiAgJHJlcS0+YWRkUGFyYW0oJ2Z1aWQnLCRvcHRzWzBdKTsKICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApCiAgICB7CiAgICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkKCXsKCSAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwoJfQogICAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICBlY2hvICJSRU1PVkVEIEZSSUVORFxuIjsKICByZXR1cm4gVFJVRTsKfQoKCmZ1bmN0aW9uIGZyaWVuZHNfcmVxdWVzdGxpc3QoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IHJlcXVlc3RsaXN0CnJldHJpZXZlIGEgbGlzdCBvZiBmcmllbmQgcmVxdWVzdHMuXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKQogICAgewogICAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnR0VUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvZnJpZW5kcycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnUkVRVUVTVExJU1QnKTsKICAkcmVxLT5hZGRQYXJhbSgndWlkJywkdWlkKTsKICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApCiAgICB7CiAgICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkKCXsKCSAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwoJfQogICAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICBwcmludF9yKCR0bXApOwogIGVjaG8gIk9LXG4iOwogIHJldHVybiBUUlVFOwp9CgoKZnVuY3Rpb24gZnJpZW5kc19yZXF1ZXN0KCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiByZXF1ZXN0IDx1aWQ+CnNlbmQgYSBmcmllbmQgcmVxdWVzdCB0byB0aGUgc3BlY2lmaWVkIHVzZXIuXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICBpZiggY291bnQoJG9wdHMpICE9IDEgKQogICAgewogICAgICBzZXRfZXJyb3Jtc2coJ2FkZCBjaGVja2luOiBpbnN1ZmZpY2llbnQgYXJndW1lbnRzJyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKQogICAgewogICAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2ZyaWVuZHMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ1JFUVVFU1QnKTsKICAkcmVxLT5hZGRQYXJhbSgndWlkJywkdWlkKTsKICAkcmVxLT5hZGRQYXJhbSgnZnVpZCcsJG9wdHNbMF0pOwogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CgogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkKICAgIHsKICAgICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKQoJewoJICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7Cgl9CiAgICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIGVjaG8gIkZSSUVORCBSRVFVRVNUIE9LXG4iOwogIHJldHVybiBUUlVFOwp9CgoKZnVuY3Rpb24gZnJpZW5kc19hcHByb3ZlKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBhcHByb3ZlIDx1aWQ+CmFwcHJvdmUgdGhlIHNwZWNpZmllZCB1c2VyIGFzIGEgZnJpZW5kLgptdXN0IGJlIGxvZ2dlZCBpbiB0byB1c2UgdGhpcyBmdW5jdGlvbiwgYW5kIHRoZSB1aWQgbXVzdCBleGlzdCBpbiB0aGUgcmVxdWVzdCBsaXN0LlxuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgaWYoIGNvdW50KCRvcHRzKSAhPSAxICkKICAgIHsKICAgICAgc2V0X2Vycm9ybXNnKCdhZGQgY2hlY2tpbjogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgJHVpZCA9IGdldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBpZiggJHVpZCA8PSAwICkKICAgIHsKICAgICAgc2V0X2Vycm9ybXNnKCdOb3QgbG9nZ2VkIGluLi4uIG5vdGhpbmcgdG8gZG8nKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRNZXRob2QoJ1BPU1QnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9mcmllbmRzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdBUFBST1ZFJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ3VpZCcsJHVpZCk7CiAgJHJlcS0+YWRkUGFyYW0oJ2Z1aWQnLCRvcHRzWzBdKTsKICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApCiAgICB7CiAgICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkKCXsKCSAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwoJfQogICAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICBlY2hvICJBUFBST1ZFRCBGUklFTkRcbiI7CiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBmcmllbmRzX2RlbnkoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGRlbnkgPHVpZD4KZGVueSB0aGUgc3BlY2lmaWVkIHVzZXIgZnJvbSBiZWNvbWluZyBhIGZyaWVuZC4KbXVzdCBiZSBsb2dnZWQgaW4gdG8gdXNlIHRoaXMgZnVuY3Rpb24sIGFuZCB0aGUgdWlkIG11c3QgZXhpc3QgaW4gdGhlIHJlcXVlc3QgbGlzdC5cbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIGlmKCBjb3VudCgkb3B0cykgIT0gMSApCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygnYWRkIGNoZWNraW46IGluc3VmZmljaWVudCBhcmd1bWVudHMnKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogICR1aWQgPSBnZXRfYXBwZGF0YSgndWlkJywtMSk7CiAgaWYoICR1aWQgPD0gMCApCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygnTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvZnJpZW5kcycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnREVOWScpOwogICRyZXEtPmFkZFBhcmFtKCd1aWQnLCR1aWQpOwogICRyZXEtPmFkZFBhcmFtKCdmdWlkJywkb3B0c1swXSk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKQogICAgewogICAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApCgl7CgkgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKCX0KICAgICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgZWNobyAiREVOSUVEIEZSSUVORFxuIjsKICByZXR1cm4gVFJVRTsKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/client/client_leaderboards.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGxlYWRlcmJvYXJkc19wcm9jZXNzX2NvbW1hbmRzKCRjbWQsJG9wdHMpCnsKICBzd2l0Y2goICRjbWQgKSB7CiAgY2FzZSAnTElTVCc6CiAgICByZXR1cm4gbGVhZGVyYm9hcmRzX2xpc3QoJG9wdHMpOwogIGNhc2UgJ0dFVCc6CiAgICByZXR1cm4gbGVhZGVyYm9hcmRzX2dldCgkb3B0cyk7CiAgY2FzZSAnQkFER0VTJzoKICAgIHJldHVybiBsZWFkZXJib2FyZHNfYmFkZ2VzKCRvcHRzKTsKICBjYXNlICdMRUFERVJTJzoKICAgIHJldHVybiBsZWFkZXJib2FyZHNfbGVhZGVycygkb3B0cyk7CiAgfQp9CgpmdW5jdGlvbiBsZWFkZXJib2FyZHNfbGlzdCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CiAgICBlY2hvIDw8PEVPVAp1c2FnZTogbGlzdApsaXN0IGxlYWRlcmJvYXJkcwpFT1Q7CiAgfQoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9sZWFkZXJib2FyZHMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0xJU1QnKTsKCiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyxUUlVFKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBsZWFkZXJib2FyZHNfZ2V0KCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGdldCBpZApnZXQgaW5mb3JtYXRpb24gZm9yIG9uZSBsZWFkZXJib2FyZC4KRU9UOwogIH0KCiAgaWYoIGNvdW50KCRvcHRzKSAhPSAxICkgewogICAgc2V0X2Vycm9ybXNnKCdsZWFkZXJib2FyZHNfZ2V0OiBNaXNzaW5nIGxlYWRlcmJvYXJkIGlkIHBhcmFtJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQogICR0aGVfaWQgPSAoaW50KSRvcHRzWzBdOwoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9sZWFkZXJib2FyZHMnKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdHRVQnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdib2FyZCcsJHRoZV9pZCk7CgogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgcHJpbnRfcigkcmVzKTsKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyxUUlVFKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBsZWFkZXJib2FyZHNfYmFkZ2VzKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGdldCBsZWFkZXJib2FyZGlkCmdldCBiYWRnZSBpbmZvcm1hdGlvbiBmb3Igb25lIGxlYWRlcmJvYXJkLgpFT1Q7CiAgfQoKICBpZiggY291bnQoJG9wdHMpICE9IDEgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ2xlYWRlcmJvYXJkc19nZXQ6IE1pc3NpbmcgbGVhZGVyYm9hcmQgaWQgcGFyYW0nKTsKICAgIHJldHVybiBGQUxTRTsKICB9CiAgJHRoZV9pZCA9IChpbnQpJG9wdHNbMF07CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2xlYWRlcmJvYXJkcycpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0JBREdFUycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ2JvYXJkJywkdGhlX2lkKTsKCiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICBwcmludF9yKCRyZXMpOwogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzLFRSVUUpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IC8vIHdvb3QgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKCmZ1bmN0aW9uIGxlYWRlcmJvYXJkc19sZWFkZXJzKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKICAgIGVjaG8gPDw8RU9UCnVzYWdlOiBsZWFkZXJzIGxlYWRlcmJvYXJkaWQgW251bWJlciBbb2Zmc2V0XV0KbGVhZGVyYm9hcmRpZCA9IChpbnQpIGxlYWRlcmJvYXJkIGlkZW50aWZpZXIKbiA9IE51bWJlciBvZiByZXN1bHRzCm8gPSBvZmZzZXQKcmV0cmlldmUgbGVhZGVyIGluZm9ybWF0aW9uIGZvciBhIGxlYWRlcmJvYXJkLgpFT1Q7CiAgfQoKICBpZiggY291bnQoJG9wdHMpIDwgMSApIHsKICAgIHNldF9lcnJvcm1zZygnbGVhZGVyYm9hcmRzX2xlYWRlcnM6IE1pc3NpbmcgbGVhZGVyYm9hcmQgaWQgcGFyYW0nKTsKICAgIHJldHVybiBGQUxTRTsKICB9CiAgaWYoIGNvdW50KCRvcHRzKSA+IDMgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ2xlYWRlcmJvYXJkc19sZWFkZXJzOiB0b28gbWFudSBhcmd1bWVudHMnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CiAgJHRoZV9pZCA9IChpbnQpJG9wdHNbMF07CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2xlYWRlcmJvYXJkcycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnTEVBREVSUycpOwogICRyZXEtPmFkZFBhcmFtKCdib2FyZCcsJHRoZV9pZCk7CiAgaWYoIGlzc2V0KCRvcHRzWzFdKSApIHsKICAgICRyZXEtPmFkZFBhcmFtKCduJywoaW50KSRvcHRzWzFdKTsKICB9CiAgaWYoIGlzc2V0KCRvcHRzWzJdKSApIHsKICAgICRyZXEtPmFkZFBhcmFtKCdvJywoaW50KSRvcHRzWzJdKTsKICB9CgogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMsVFJVRSk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKTsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/client/client_locations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGxvY2F0aW9uc19wcm9jZXNzX2NvbW1hbmRzKCRjbWQsJG9wdHMpCnsKICBzd2l0Y2goICRjbWQgKSB7CiAgY2FzZSAnSElFUkFSQ0hZJzoKICAgIHJldHVybiBsb2NhdGlvbnNfaGllcmFyY2h5KCRvcHRzKTsKCiAgY2FzZSAnQ0FURUdPUklFUyc6CiAgICByZXR1cm4gbG9jYXRpb25zX2NhdGVnb3JpZXMoJG9wdHMpOwoKICBjYXNlICdMSVNUJzoKICAgIHJldHVybiBsb2NhdGlvbnNfbGlzdCgkb3B0cyk7CgogIGNhc2UgJ01PU1RDSEVDS0lOUyc6CiAgICByZXR1cm4gbG9jYXRpb25zX21vc3RjaGVja2lucygkb3B0cyk7CgogIGNhc2UgJ01PU1RGQVZPUklURSc6CiAgY2FzZSAnTU9TVEZBVk9SSVRFUyc6CiAgICByZXR1cm4gbG9jYXRpb25zX2Zhdm9yaXRlKCRvcHRzKTsKCiAgY2FzZSAnR0VUJzoKICAgIHJldHVybiBsb2NhdGlvbnNfZ2V0KCRvcHRzKTsKCiAgY2FzZSAnQUREJzoKICAgIHJldHVybiBsb2NhdGlvbnNfYWRkKCRvcHRzKTsKCiAgY2FzZSAnRURJVCc6CiAgICByZXR1cm4gbG9jYXRpb25zX2VkaXQoJG9wdHMpOwoKICBjYXNlICdQSE9UT1VQTE9BRCc6CiAgICByZXR1cm4gbG9jYXRpb25zX3Bob3RvdXBsb2FkKCRvcHRzKTsKCiAgY2FzZSAnUEhPVE9ERUxFVEUnOgogICAgcmV0dXJuIGxvY2F0aW9uc19waG90b2RlbGV0ZSgkb3B0cyk7CiAgfQp9CgpmdW5jdGlvbiBsb2NhdGlvbnNfbGlzdCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBsaXN0IFtvcHQ9dmFsdWVdCm9wdGlvbnM6CiAgdG9kb1xuCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIC8vIHBhcnNlIGFyZ3VtZW50cwogICRwYXJtcyA9IGFycmF5KCk7CiAgZm9yZWFjaCggJG9wdHMgYXMgJGFyZyApIHsKICAgIGxpc3QoJGtleSwkdmFsKSA9IGV4cGxvZGUoJz0nLCRhcmcsMik7CiAgICAka2V5ID0gdHJpbSgka2V5KTsKICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgCiAgICAvLyBwYXJzZSBhcmd1bWVudHMuCiAgICAKICAgIC8vIGl0IHBhcnNlZCBva2F5LgogICAgJHBhcm1zWyRrZXldID0gJHZhbDsKICB9CgogIC8vIGJ1aWxkIHRoZSByZXF1ZXN0CiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvbG9jYXRpb25zJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdMSVNUJyk7CiAgaWYoIGNvdW50KCRwYXJtcykgKSB7CiAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbHVlKTsKICAgIH0KICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IGVjaG8gIlxuIjsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9CgoKZnVuY3Rpb24gbG9jYXRpb25zX21vc3RjaGVja2lucygkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBsaXN0IFtvcHQ9dmFsdWVdCm9wdGlvbnM6CiAgdG9kb1xuCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIC8vIHBhcnNlIGFyZ3VtZW50cwogICRwYXJtcyA9IGFycmF5KCk7CiAgZm9yZWFjaCggJG9wdHMgYXMgJGFyZyApIHsKICAgIGxpc3QoJGtleSwkdmFsKSA9IGV4cGxvZGUoJz0nLCRhcmcsMik7CiAgICAka2V5ID0gdHJpbSgka2V5KTsKICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgCiAgICAvLyBwYXJzZSBhcmd1bWVudHMuCiAgICAKICAgIC8vIGl0IHBhcnNlZCBva2F5LgogICAgJHBhcm1zWyRrZXldID0gJHZhbDsKICB9CgogIC8vIGJ1aWxkIHRoZSByZXF1ZXN0CiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvbG9jYXRpb25zJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdNT1NUQ0hFQ0tJTlMnKTsKICBpZiggY291bnQoJHBhcm1zKSApIHsKICAgIGZvcmVhY2goICRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgJHJlcS0+YWRkUGFyYW0oJGtleSwkdmFsdWUpOwogICAgfQogIH0KICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKTsgZWNobyAiXG4iOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCmZ1bmN0aW9uIGxvY2F0aW9uc19mYXZvcml0ZSgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBsaXN0IFtvcHQ9dmFsdWVdCm9wdGlvbnM6CiAgdG9kb1xuCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIC8vIHBhcnNlIGFyZ3VtZW50cwogICRwYXJtcyA9IGFycmF5KCk7CiAgZm9yZWFjaCggJG9wdHMgYXMgJGFyZyApIHsKICAgIGxpc3QoJGtleSwkdmFsKSA9IGV4cGxvZGUoJz0nLCRhcmcsMik7CiAgICAka2V5ID0gdHJpbSgka2V5KTsKICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgCiAgICAvLyBwYXJzZSBhcmd1bWVudHMuCiAgICAKICAgIC8vIGl0IHBhcnNlZCBva2F5LgogICAgJHBhcm1zWyRrZXldID0gJHZhbDsKICB9CgogIC8vIGJ1aWxkIHRoZSByZXF1ZXN0CiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvbG9jYXRpb25zJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdNT1NURkFWT1JJVEUnKTsKICBpZiggY291bnQoJHBhcm1zKSApIHsKICAgIGZvcmVhY2goICRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgJHJlcS0+YWRkUGFyYW0oJGtleSwkdmFsdWUpOwogICAgfQogIH0KICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKTsgZWNobyAiXG4iOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiBsb2NhdGlvbnNfY2F0ZWdvcmllcygkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CiAgICBlY2hvIDw8PEVPVAp1c2FnZTogY2F0ZWdvcmllcwpsaXN0IGFsbCBvZiB0aGUgcG9zc2libGUgY2F0ZWdvcmllcy5cbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIC8vIGJ1aWxkIHRoZSByZXF1ZXN0CiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvbG9jYXRpb25zJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdDQVRFR09SSUVTJyk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICAKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKTsgZWNobyAiXG4iOy8vIHdvb3QgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKCmZ1bmN0aW9uIGxvY2F0aW9uc19oaWVyYXJjaHkoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogaGllcmFyY2h5Cmxpc3QgYWxsIG9mIHRoZSBwb3NzaWJsZSBoaWVyYXJjaGllcy5cbgpFT1Q7CiAgcmV0dXJuIFRSVUU7CiAgfQoKICAvLyBidWlsZCB0aGUgcmVxdWVzdAogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2xvY2F0aW9ucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnSElFUkFSQ0hZJyk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICAKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKTsgZWNobyAiXG4iOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCmZ1bmN0aW9uIGxvY2F0aW9uc19nZXQoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogZ2V0IGxvY2F0aW9uPTxsb2NhdGlvbiBpZD4KZ2V0IGluZm9ybWF0aW9uIGZvciBhIHNpbmdsZSBsb2NhdGlvblxuCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIC8vIHBhcnNlIGFyZ3VtZW50cwogICRwYXJtcyA9IGFycmF5KCk7CiAgZm9yZWFjaCggJG9wdHMgYXMgJGFyZyApIHsKICAgICRrZXkgPSAkdmFsID0gJyc7CiAgICBpZiggc3RycG9zKCRhcmcsJz0nKSAhPT0gRkFMU0UgKSB7CiAgICAgIGxpc3QoJGtleSwkdmFsKSA9IGV4cGxvZGUoJz0nLCRhcmcsMik7CiAgICAgICRrZXkgPSB0cmltKCRrZXkpOwogICAgICAkdmFsID0gdHJpbSgkdmFsKTsKICAgIH0KCiAgICAvLyBwYXJzZSBhcmd1bWVudHMuCiAgICAKICAgIC8vIGl0IHBhcnNlZCBva2F5LgogICAgaWYoICRrZXkgPT0gJycgfHwgJHZhbCA9PSAnJyApIGNvbnRpbnVlOwogICAgJHBhcm1zWyRrZXldID0gJHZhbDsKICB9CgogIGlmKCAhaXNzZXQoJHBhcm1zWydsb2NhdGlvbiddKSApIHsKICAgIHNldF9lcnJvcm1zZygnbG9jYXRpb25zX2dldDogTWlzc2luZyBsb2NhdGlvbiBwYXJhbScpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgLy8gYnVpbGQgdGhlIHJlcXVlc3QKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9sb2NhdGlvbnMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0dFVCcpOwogIGlmKCBjb3VudCgkcGFybXMpICkgewogICAgZm9yZWFjaCggJHBhcm1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICAkcmVxLT5hZGRQYXJhbSgka2V5LCR2YWx1ZSk7CiAgICB9CiAgfQogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IGVjaG8gIlxuIjsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiBsb2NhdGlvbnNfYWRkKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGFkZAphZGQgYSBuZXcgbG9jYXRpb24uIFtjb21wYW55X25hbWU9c3RyaW5nXSBbYWRkcmVzcz1zdHJpbmd8bGF0aXR1ZGU9ZmxvYXQgbG9uZ2l0dWRlPWZsb2F0XQp0aGUgbG9jYXRpb24gbXVzdCBiZSBzZXQuCm9wdGlvbnM6IAogIGNvbXBhbnlfbmFtZT1zdHJpbmcgKHJlcXVpcmVkKQogIGFkZHJlc3M9c3RyaW5nIChvcHRpb25hbCkgCiAgdGVsZXBob25lPXN0cmluZyAob3B0aW9uYWwpCiAgZmF4PXN0cmluZyAob3B0aW9uYWwpCiAgY29udGFjdF9lbWFpbD1zdHJpbmcgKG9wdGlvbmFsKSBlbWFpbCBhZGRyZXNzLgogIHdlYnNpdGU9c3RyaW5nIChvcHRpb25hbCkgd2Vic2l0ZSB1cmwKICBkZXRhaWxzPXN0cmluZyAob3B0aW9uYWwpIHRleHQKICBoaWVyX2lkPWludGVnZXIgKG9wdGlvbmFsKQogIEY6ZmllbGRfbmFtZT1taXhlZCAob3B0aW9uYWwpIGZpZWxkIHZhbHVlLiAgRmllbGQgbmFtZSBtdXN0IGJlIHNwZWNpZmllZCxhbmQgdmFsaWQuICBNb3JlIHRoYW4gb25lIGNhbiBiZSBzcGVjaWZpZWQuCiAgQzpjYXRlZ29yeV9pZD1pbnQgKG9wdGlvbmFsKSBjYXRlZ29yeSBpZC4gIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkgaWQgY2FuIGJlIHNwZWZpaWVkLlxuCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIC8vIHBhcnNlIGFyZ3VtZW50cwogIGlmKCBjb3VudCgkb3B0cykgPCAxICkgewogICAgc2V0X2Vycm9ybXNnKCdsb2NhdGlvbnNfYWRkOiBpbnN1ZmZpY2llbnQgYXJndW1lbnRzJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQogICR1aWQgPSBnZXRfYXBwZGF0YSgndWlkJywtMSk7CiAgaWYoICR1aWQgPD0gMCApIHsKICAgIHNldF9lcnJvcm1zZygnbG9jYXRpb25zX2FkZDogTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQogICRsb2MgPSBnZXRfYXBwZGF0YSgnbG9jJywnJyk7CiAgaWYoICEkbG9jICkgewogICAgc2V0X2Vycm9ybXNnKCdsb2NhdGlvbnNfYWRkOiB5b3VyIGxvY2F0aW9uIGlzIG5vdCBzZXQnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogICRwYXJtcyA9IGFycmF5KCk7CiAgZm9yZWFjaCggJG9wdHMgYXMgJGFyZyApIHsKICAgICRrZXkgPSAkYXJnOwogICAgJHZhbCA9ICcnOwogICAgaWYoIHN0cnN0cigkYXJnLCc9JykgIT09IEZBTFNFICkgewogICAgICBsaXN0KCRrZXksJHZhbCkgPSBleHBsb2RlKCc9JywkYXJnLDIpOwogICAgICAka2V5ID0gdHJpbSgka2V5KTsKICAgICAgJHZhbCA9IHRyaW0oJHZhbCk7CiAgICB9CgogICAgLy8gaXQgcGFyc2VkIG9rYXkuCiAgICAkcGFybXNbJGtleV0gPSAkdmFsOwogIH0KICAKICAvLyBidWlsZCB0aGUgcmVxdWVzdAogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2xvY2F0aW9ucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnQUREJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ293bmVyJywkdWlkKTsKICBpZiggY291bnQoJHBhcm1zKSApIHsKICAgIGZvcmVhY2goICRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgJHJlcS0+YWRkUGFyYW0oJGtleSwkdmFsdWUpOwogICAgfQogIH0KICAkcmVxLT5hZGRQYXJhbSgnbGF0aXR1ZGUnLCRsb2NbMF0pOwogICRyZXEtPmFkZFBhcmFtKCdsb25naXR1ZGUnLCRsb2NbMV0pOwogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IGVjaG8gIlxuIjsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiBsb2NhdGlvbnNfZWRpdCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBlZGl0CkVkaXQgYW4gZXhpc3RpbmcgbG9jYXRpb24uIGxvY2F0aW9uPWludGVnZXIgW2NvbXBhbnlfbmFtZT1zdHJpbmddIFthZGRyZXNzPXN0cmluZ3xsYXRpdHVkZT1mbG9hdCBsb25naXR1ZGU9ZmxvYXRdCnRoZSBsb2NhdGlvbiBtdXN0IGJlIHNldC4Kb3B0aW9uczogCiAgbG9jYXRpb24gPWludGVnZXIgKHJlcXVpcmVkKQogIGNvbXBhbnlfbmFtZT1zdHJpbmcgKG9wdGlvbmFsKQogIGFkZHJlc3M9c3RyaW5nIChvcHRpb25hbCkgCiAgdGVsZXBob25lPXN0cmluZyAob3B0aW9uYWwpCiAgZmF4PXN0cmluZyAob3B0aW9uYWwpCiAgY29udGFjdF9lbWFpbD1zdHJpbmcgKG9wdGlvbmFsKSBlbWFpbCBhZGRyZXNzLgogIHdlYnNpdGU9c3RyaW5nIChvcHRpb25hbCkgd2Vic2l0ZSB1cmwKICBkZXRhaWxzPXN0cmluZyAob3B0aW9uYWwpIHRleHQKICBoaWVyX2lkPWludGVnZXIgKG9wdGlvbmFsKQogIGxhdGl0dWRlOmZsb2F0IChvcHRpb25hbCkKICBsb25naXR1ZGU6ZmxvYXQgKG9wdGlvbmFsKQogIEY6ZmllbGRfbmFtZT1taXhlZCAob3B0aW9uYWwpIGZpZWxkIHZhbHVlLiAgRmllbGQgbmFtZSBtdXN0IGJlIHNwZWNpZmllZCxhbmQgdmFsaWQuICBNb3JlIHRoYW4gb25lIGNhbiBiZSBzcGVjaWZpZWQuCiAgQzpjYXRlZ29yeV9pZD1pbnQgKG9wdGlvbmFsKSBjYXRlZ29yeSBpZC4gIG1vcmUgdGhhbiBvbmUgY2F0ZWdvcnkgaWQgY2FuIGJlIHNwZWZpaWVkLlxuCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIC8vIHBhcnNlIGFyZ3VtZW50cwogIGlmKCBjb3VudCgkb3B0cykgPCAxICkgewogICAgc2V0X2Vycm9ybXNnKCdsb2NhdGlvbnNfZWRpdDogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ2xvY2F0aW9uc19lZGl0OiBOb3QgbG9nZ2VkIGluLi4uIG5vdGhpbmcgdG8gZG8nKTsKICAgIHJldHVybiBGQUxTRTsKICB9Ci8vICAgJGxvYyA9IGdldF9hcHBkYXRhKCdsb2MnLCcnKTsKLy8gICBpZiggISRsb2MgKSB7Ci8vICAgICBzZXRfZXJyb3Jtc2coJ2xvY2F0aW9uc19hZGQ6IHlvdXIgbG9jYXRpb24gaXMgbm90IHNldCcpOwovLyAgICAgcmV0dXJuIEZBTFNFOwovLyAgIH0KCiAgJHBhcm1zID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkb3B0cyBhcyAkYXJnICkgewogICAgJGtleSA9ICRhcmc7CiAgICAkdmFsID0gJyc7CiAgICBpZiggc3Ryc3RyKCRhcmcsJz0nKSAhPT0gRkFMU0UgKSB7CiAgICAgIGxpc3QoJGtleSwkdmFsKSA9IGV4cGxvZGUoJz0nLCRhcmcsMik7CiAgICAgICRrZXkgPSB0cmltKCRrZXkpOwogICAgICAkdmFsID0gdHJpbSgkdmFsKTsKICAgIH0KCiAgICAvLyBpdCBwYXJzZWQgb2theS4KICAgICRwYXJtc1ska2V5XSA9ICR2YWw7CiAgfQoKICBpZiggIWlzc2V0KCRwYXJtc1snbG9jYXRpb24nXSkgfHwgIWlzX251bWVyaWMoJHBhcm1zWydsb2NhdGlvbiddKSApIHsKICAgIHNldF9lcnJvcm1zZygnbG9jYXRpb25zX2VkaXQ6IGlkIHNwZWNpZmllZCBpcyBpbnZhbGlkOiAnLiRwYXJtc1snbG9jYXRpb24nXSk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICAvLyBidWlsZCB0aGUgcmVxdWVzdAogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2xvY2F0aW9ucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnRURJVCcpOwogICRyZXEtPmFkZFBhcmFtKCdvd25lcicsJHVpZCk7CiAgaWYoIGNvdW50KCRwYXJtcykgKSB7CiAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICRyZXEtPmFkZFBhcmFtKCRrZXksJHZhbHVlKTsKICAgIH0KICB9CgovLyAgICRyZXEtPmFkZFBhcmFtKCdsYXRpdHVkZScsJGxvY1swXSk7Ci8vICAgJHJlcS0+YWRkUGFyYW0oJ2xvbmdpdHVkZScsJGxvY1sxXSk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICAKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKTsgZWNobyAiXG4iOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCmZ1bmN0aW9uIGxvY2F0aW9uc19waG90b3VwbG9hZCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBwaG90b3VwbG9hZCBsb2M9bG9jYXRpb25faWQgZmlsZT1maWxlbmFtZSAuLi4KVXBsb2FkIG9uZSBvciBtb3JlIHBob3RvcyB0byB0aGUgYWxidW0gYXNzb2NpYXRlZCB3aXRoIGEgbG9jYXRpb24uCm9wdGlvbnM6IAogIGxvY2F0aW9uID1pbnRlZ2VyIChyZXF1aXJlZCkKICBmaWxlPXN0cmluZyAoYXQgbGVhc3Qgb25lIHJlcXVpcmVkKQpFT1Q7CiAgcmV0dXJuIFRSVUU7CiAgfQoKICBpZiggY291bnQoJG9wdHMpIDwgMiApIHsKICAgIHNldF9lcnJvcm1zZygncGhvdG91cGxvYWQ6IGluc3VmZmljaWVudCBhcmd1bWVudHMnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CiAgJHVpZCA9IGdldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBpZiggJHVpZCA8PSAwICkgewogICAgc2V0X2Vycm9ybXNnKCdwaG90b3VwbG9hZDogTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICAkbG9jID0gJyc7CiAgJGZpbGVzID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkb3B0cyBhcyAkb3B0ICkgewogICAgbGlzdCgkaywkdikgPSBleHBsb2RlKCc9Jywkb3B0LDIpOwogICAgc3dpdGNoKCBzdHJ0b2xvd2VyKCRrKSApIHsKICAgIGNhc2UgJ2xvYyc6CiAgICAgICRsb2MgPSB0cmltKCR2KTsKICAgICAgYnJlYWs7CiAgICBjYXNlICdmaWxlJzoKICAgICAgaWYoICFmaWxlX2V4aXN0cygkdikgKSB7CglzZXRfZXJyb3Jtc2coJ3Bob3RvdXBsb2FkOiBmaWxlICcuJHYuJyBkb2VzIG5vdCBleGlzdCcpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CiAgICAgICRmaWxlc1tdID0gJHY7CiAgICAgIGJyZWFrOwogICAgfQogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvbG9jYXRpb25zJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdQSE9UT1VQTE9BRCcpOwogICRyZXEtPmFkZFBhcmFtKCdvd25lcicsJHVpZCk7CiAgJHJlcS0+YWRkUGFyYW0oJ2xvY2F0aW9uJywkbG9jKTsKICBpZiggY291bnQoJGZpbGVzKSA+IDAgKSB7CiAgICAkaWR4ID0gMTsKICAgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkgewogICAgICAkcmVxLT5hZGRQYXJhbSgnZmlsZVtdJywnQCcuJG9uZSk7CiAgICB9CiAgfQogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CgogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQogIHByaW50X3IoJHRtcCk7IGVjaG8gIlxuIjsKICByZXR1cm4gVFJVRTsKfQoKZnVuY3Rpb24gbG9jYXRpb25zX3Bob3RvZGVsZXRlKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IHBob3RvZGVsZXRlIGxvYz1sb2NhdGlvbl9pZCBmaWxlPWZpbGVuYW1lIC4uLgpEZWxldGUgb25lIG9yIG1vcmUgcGhvdG9zIHRvIHRoZSBhbGJ1bSBhc3NvY2lhdGVkIHdpdGggYSBsb2NhdGlvbi4Kb3B0aW9uczogCiAgbG9jYXRpb24gPWludGVnZXIgKHJlcXVpcmVkKQogIGZpbGU9c3RyaW5nIChhdCBsZWFzdCBvbmUgcmVxdWlyZWQpCkVPVDsKICByZXR1cm4gVFJVRTsKICB9CgogIGlmKCBjb3VudCgkb3B0cykgPCAyICkgewogICAgc2V0X2Vycm9ybXNnKCdwaG90b2RlbGV0ZTogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ3Bob3RvZGVsZXRlOiBOb3QgbG9nZ2VkIGluLi4uIG5vdGhpbmcgdG8gZG8nKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogICRsb2MgPSAnJzsKICAkZmlsZXMgPSBhcnJheSgpOwogIGZvcmVhY2goICRvcHRzIGFzICRvcHQgKSB7CiAgICBsaXN0KCRrLCR2KSA9IGV4cGxvZGUoJz0nLCRvcHQsMik7CiAgICBzd2l0Y2goIHN0cnRvbG93ZXIoJGspICkgewogICAgY2FzZSAnbG9jJzoKICAgICAgJGxvYyA9IHRyaW0oJHYpOwogICAgICBicmVhazsKICAgIGNhc2UgJ2ZpbGUnOgogICAgICAkZmlsZXNbXSA9ICR2OwogICAgICBicmVhazsKICAgIH0KICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL2xvY2F0aW9ucycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnUEhPVE9ERUxFVEUnKTsKICAkcmVxLT5hZGRQYXJhbSgnb3duZXInLCR1aWQpOwogICRyZXEtPmFkZFBhcmFtKCdsb2NhdGlvbicsJGxvYyk7CiAgaWYoIGNvdW50KCRmaWxlcykgPiAwICkgewogICAgJGlkeCA9IDE7CiAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJG9uZSApIHsKICAgICAgJHJlcS0+YWRkUGFyYW0oJ2ZpbGVbXScsJG9uZSk7CiAgICB9CiAgfQogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/client/client_social.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIHNvY2lhbF9wcm9jZXNzX2NvbW1hbmRzKCRjbWQsJG9wdHMpCnsKICBzd2l0Y2goICRjbWQgKSB7CiAgY2FzZSAnTElTVCc6CiAgICByZXR1cm4gc29jaWFsX2xpc3QoJG9wdHMpOwoKICBjYXNlICdHRVRLRVknOgogICAgcmV0dXJuIHNvY2lhbF9nZXRrZXkoJG9wdHMpOwoKICBjYXNlICdTRVRLRVknOgogICAgcmV0dXJuIHNvY2lhbF9zZXRrZXkoJG9wdHMpOwogIH0KfQoKZnVuY3Rpb24gc29jaWFsX2xpc3QoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewogICAgZWNobyA8PDxFT1QKdXNhZ2U6IGxpc3QKbGlzdCBhdmFpbGFibGUgc29jaWFsIG5ldHdvcmtzCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvc29jaWFsJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdMSVNUJyk7CgogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMsVFJVRSk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJpbnRfcigkdG1wKTsgLy8gd29vdCBkb25lLgogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiBzb2NpYWxfZ2V0a2V5KCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKICAgIGVjaG8gPDw8RU9UCnVzYWdlOiBnZXRrZXkgbmV0d29yaz1uZXR3b3JrbmFtZQpyZXRyaWV2ZSBhIGtleSBhc3NvY2lhdGVkIHdpdGggYSB1c2VyIGZvciB0aGUgc3BlY2lmaWVkIG5ldHdvcmsuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgJHBhcm1zID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkb3B0cyBhcyAkb25lICkgewogICAgbGlzdCgka2V5LCR2YWx1ZSkgPSBleHBsb2RlKCc9Jywkb25lLDIpOwogICAgCiAgICBzd2l0Y2goJGtleSkgewogICAgY2FzZSAnbmV0d29yayc6CiAgICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKICAgICAgJHBhcm1zWyRrZXldID0gJHZhbHVlOwogICAgICBicmVhazsKICAgIH0KICB9CgogIGlmKCAhaXNzZXQoJHBhcm1zWyduZXR3b3JrJ10pICkgewogICAgc2V0X2Vycm9ybXNnKCdzb2NpYWwgR0VUS0VZOiBpbnN1ZmZpY2llbnQgYXJndW1lbnRzJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQogICR1aWQgPSBnZXRfYXBwZGF0YSgndWlkJywtMSk7CiAgaWYoICR1aWQgPD0gMCApIHsKICAgIHNldF9lcnJvcm1zZygnTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy9zb2NpYWwnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0dFVEtFWScpOwogICRyZXEtPmFkZFBhcmFtKCd1aWQnLCR1aWQpOwogICRyZXEtPmFkZFBhcmFtKCduZXR3b3JrJywkcGFybXNbJ25ldHdvcmsnXSk7CiAgJHJlcS0+YWRkUGFyYW0oJ3YnLG1kNShfYXBpa2V5KCkuJHVpZC4kcGFybXNbJ25ldHdvcmsnXSkpOwoKICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzLFRSVUUpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKSB7CiAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKSB7CiAgICAgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKICAgIH0KICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaW50X3IoJHRtcCk7IC8vIHdvb3QgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKZnVuY3Rpb24gc29jaWFsX3NldGtleSgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CiAgICBlY2hvIDw8PEVPVAp1c2FnZTogc2V0a2V5IG5ldHdvcms9bmV0d29ya25hbWUgdG9rZW49dG9rZW4gc2VjcmV0PXNlY3JldAphc3NvY2lhdGUgYW4gYXV0aGVudGljYXRpb24ga2V5IChvciBhY2Nlc3MgdG9rZW4pIGZvciB0aGlzIG5ldHdvcmssIHdpdGggdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAkcGFybXMgPSBhcnJheSgpOwogIGZvcmVhY2goICRvcHRzIGFzICRvbmUgKSB7CiAgICBsaXN0KCRrZXksJHZhbHVlKSA9IGV4cGxvZGUoJz0nLCRvbmUsMik7CiAgICAKICAgIHN3aXRjaCgka2V5KSB7CiAgICBjYXNlICduZXR3b3JrJzoKICAgIGNhc2UgJ3Rva2VuJzoKICAgIGNhc2UgJ3NlY3JldCc6CiAgICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKICAgICAgJHBhcm1zWyRrZXldID0gJHZhbHVlOwogICAgICBicmVhazsKICAgIH0KICB9CgogIGlmKCAhaXNzZXQoJHBhcm1zWyduZXR3b3JrJ10pIHx8ICFpc3NldCgkcGFybXNbJ3NlY3JldCddKSB8fCAhaXNzZXQoJHBhcm1zWyd0b2tlbiddKSApIHsKICAgIHNldF9lcnJvcm1zZygnc29jaWFsIFNFVEtFWTogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvc29jaWFsJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdTRVRLRVknKTsKICAkcmVxLT5hZGRQYXJhbSgndWlkJywkdWlkKTsKICAkcmVxLT5hZGRQYXJhbSgnbmV0d29yaycsJHBhcm1zWyduZXR3b3JrJ10pOwogICRyZXEtPmFkZFBhcmFtKCd0b2tlbicsJHBhcm1zWyd0b2tlbiddKTsKICAkcmVxLT5hZGRQYXJhbSgnc2VjcmV0JywkcGFybXNbJ3NlY3JldCddKTsKICAkeCA9IG1kNShfYXBpa2V5KCkuJHVpZC4kcGFybXNbJ25ldHdvcmsnXS4kcGFybXNbJ3Rva2VuJ10uJHBhcm1zWydzZWNyZXQnXSk7CiAgJHJlcS0+YWRkUGFyYW0oJ3YnLCR4KTsKCiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyxUUlVFKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkgewogICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkgewogICAgICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7CiAgICB9CiAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwcmludF9yKCR0bXApOyAvLyB3b290IGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/client/client_user.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIHVzZXJzX3Byb2Nlc3NfY29tbWFuZHMoJGNtZCwkb3B0cykKewogIHN3aXRjaCggJGNtZCApCiAgICB7CiAgICBjYXNlICdMT0dJTic6CiAgICAgIHJldHVybiB1c2VyX2xvZ2luKCRvcHRzKTsKCiAgICBjYXNlICdJRCc6CiAgICAgIHJldHVybiB1c2VyX2lkKCRvcHRzKTsKICAgICAgCiAgICBjYXNlICdSRUdJU1RFUic6CiAgICAgIHJldHVybiB1c2VyX3JlZ2lzdGVyKCRvcHRzKTsKCiAgICBjYXNlICdQSU5HJzoKICAgICAgcmV0dXJuIHVzZXJfcGluZygkb3B0cyk7CgogICAgY2FzZSAnUFJPUFMnOgogICAgICByZXR1cm4gdXNlcl9nZXRwcm9wZXJ0aWVzKCRvcHRzKTsKCiAgICBjYXNlICdJTkZPJzoKICAgICAgcmV0dXJuIHVzZXJfZ2V0aW5mbygkb3B0cyk7CgogICAgY2FzZSAnU0VUUFJPUCc6CiAgICAgIHJldHVybiB1c2VyX3NldHByb3BzKCRvcHRzKTsKCiAgICBjYXNlICdMSVNUJzoKICAgICAgcmV0dXJuIHVzZXJfbGlzdCgkb3B0cyk7CgogICAgY2FzZSAnTE9HT1VUJzoKICAgICAgcmV0dXJuIHVzZXJfbG9nb3V0KCRvcHRzKTsKCiAgICBjYXNlICdCQURHRVMnOgogICAgICByZXR1cm4gdXNlcl9iYWRnZXMoJG9wdHMpOwogICAgfQp9CgpmdW5jdGlvbiB1c2VyX3JlZ2lzdGVyKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiByZWdpc3RlciB1c2VybmFtZSBwYXNzd29yZFxuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgaWYoIGNvdW50KCRvcHRzKSAhPSAyICkKICAgIHsKICAgICAgc2V0X2Vycm9ybXNnKCdyZWdpc3RlcjogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL3VzZXJzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdSRUdJU1RFUicpOwogICRyZXEtPmFkZFBhcmFtKCd1Jywkb3B0c1swXSk7CiAgJHJlcS0+YWRkUGFyYW0oJ3AnLCRvcHRzWzFdKTsKICAkcmVxLT5hZGRQYXJhbSgndicsbWQ1KF9hcGlrZXkoKS4kb3B0c1swXS4kb3B0c1sxXSkpOwogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKQogICAgewogICAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApCgl7CgkgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKCX0KICAgICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgZWNobyAiT0tcbiI7IC8vIHdvb3QsIGRvbmUuCiAgcmV0dXJuIFRSVUU7Cn0KCgpmdW5jdGlvbiB1c2VyX2xvZ2luKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBsb2dpbiB1c2VybmFtZSBwYXNzd29yZFxuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgaWYoIGNvdW50KCRvcHRzKSAhPSAyICkKICAgIHsKICAgICAgc2V0X2Vycm9ybXNnKCdsb2dpbjogaW5zdWZmaWNpZW50IGFyZ3VtZW50cycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnUE9TVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL3VzZXJzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdMT0dJTicpOwogICRyZXEtPmFkZFBhcmFtKCd1Jywkb3B0c1swXSk7CiAgJHJlcS0+YWRkUGFyYW0oJ3AnLCRvcHRzWzFdKTsKICAkcmVxLT5hZGRQYXJhbSgndicsbWQ1KF9hcGlrZXkoKS4kb3B0c1swXS4kb3B0c1sxXSkpOwogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgCiAgcHJpbnRfcigkcmVzKTsKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgcHJpbnRfcigkdG1wKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkKICAgIHsKICAgICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKQoJewoJICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7Cgl9CiAgICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIGlmKCBpc3NldCgkdG1wLT5kYXRhKSApCiAgICB7CiAgICAgIHNldF9hcHBkYXRhKCd1aWQnLCR0bXAtPmRhdGEpOwogICAgICBlY2hvICJPS1xuIjsgLy8gd29vdCwgZG9uZS4KICAgIH0KICByZXR1cm4gVFJVRTsKfQoKZnVuY3Rpb24gdXNlcl9sb2dvdXQoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGxvZ291dAp1c2VzIGN1cnJlbnRseSBsb2dnZWQgaW4gdWlkLlxuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgJHVpZCA9IGdldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBpZiggJHVpZCA8PSAwICkKICAgIHsKICAgICAgc2V0X2Vycm9ybXNnKCdOb3QgbG9nZ2VkIGluLi4uIG5vdGhpbmcgdG8gZG8nKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRNZXRob2QoJ1BPU1QnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy91c2VycycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnTE9HT1VUJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ3VpZCcsJHVpZCk7CiAgJHJlcS0+YWRkUGFyYW0oJ3YnLG1kNShfYXBpa2V5KCkuJHVpZCkpOwogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CgogICR0bXAgPSBqc29uX2RlY29kZSgkcmVzKTsKICBpZiggaXNzZXQoJHRtcC0+X3N0YXR1cykgJiYgJHRtcC0+X3N0YXR1cyAhPSAnT0snICkKICAgIHsKICAgICAgJG1zZyA9ICR0bXAtPl9zdGF0dXM7CiAgICAgIGlmKCBpc3NldCgkdG1wLT5fbWVzc2FnZSkgKQoJewoJICAkbXNnIC49ICc6ICcuJHRtcC0+X21lc3NhZ2U7Cgl9CiAgICAgIHNldF9lcnJvcm1zZygkbXNnKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIHNldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBlY2hvICJPS1xuIjsgLy8gd29vdCwgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKZnVuY3Rpb24gdXNlcl9pZCgkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBpZApyZXR1cm5zIGN1cnJlbnRseSBsb2dnZWQgaW4gdWlkLlxuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgJHVpZCA9IGdldF9hcHBkYXRhKCd1aWQnLC0xKTsKICBpZiggJHVpZCA8PSAwICkKICAgIGVjaG8gIk5PVCBMT0dHRUQgSU5cbiI7CiAgZWxzZQogICAgZWNobyAiVUlEIGlzICIuJHVpZC4iXG4iOwogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiB1c2VyX3BpbmcoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogcGluZwphIHBpbmcgdG8gdGhlIHNlcnZlciB0byByZXRhaW4gbG9nZ2VkIGluIHN0YXR1cy5cbgpFT1Q7CiAgICByZXR1cm4gVFJVRTsKICB9CgogICR1aWQgPSBnZXRfYXBwZGF0YSgndWlkJywtMSk7CiAgaWYoICR1aWQgPD0gMCApCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygnTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdHRVQnKTsKICAkcmVxLT5zZXRUYXJnZXQoQkFTRV9VUkwuJy91c2VycycpOwogICRyZXEtPmFkZFBhcmFtKCdhcGlrZXknLF9hcGlrZXkoKSk7CiAgJHJlcS0+YWRkUGFyYW0oJ29wJywnUElORycpOwogICRyZXEtPmFkZFBhcmFtKCd1aWQnLCR1aWQpOwogICRyZXEtPmFkZFBhcmFtKCd2JyxtZDUoX2FwaWtleSgpLiR1aWQpKTsKICAkcmVzID0gJHJlcS0+ZXhlY3V0ZSgpOwoKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApCiAgICB7CiAgICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgICBpZiggaXNzZXQoJHRtcC0+X21lc3NhZ2UpICkKCXsKCSAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwoJfQogICAgICBzZXRfZXJyb3Jtc2coJG1zZyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KICBlY2hvICJPS1xuIjsgLy8gd29vdCwgZG9uZS4KICByZXR1cm4gVFJVRTsKfQoKCmZ1bmN0aW9uIHVzZXJfZ2V0cHJvcGVydGllcygkb3B0cykKewogIGlmKCBjb3VudCgkb3B0cykgPT0gMSAmJiBzdHJ0b2xvd2VyKCRvcHRzWzBdKSA9PSAnaGVscCcgKSB7CmVjaG8gPDw8RU9UCnVzYWdlOiBwcm9wcwpyZXR1cm4gdGhlIHByb3BlcnRpZXMgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKQogICAgewogICAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnR0VUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvdXNlcnMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ1BST1BFUlRJRVMnKTsKICAkcmVxLT5hZGRQYXJhbSgndWlkJywkdWlkKTsKICAkcmVxLT5hZGRQYXJhbSgndicsbWQ1KF9hcGlrZXkoKS4kdWlkKSk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKQogICAgewogICAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApCgl7CgkgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKCX0KICAgICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgcHJpbnRfcigkdG1wKS4iXG4iOwogIHJldHVybiBUUlVFOwp9CgoKZnVuY3Rpb24gdXNlcl9nZXRpbmZvKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IHByb3BzCmdldCB0aGUgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKQogICAgewogICAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnR0VUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvdXNlcnMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0dFVElORk8nKTsKICAkcmVxLT5hZGRQYXJhbSgndWlkJywkdWlkKTsKICAkcmVxLT5hZGRQYXJhbSgndicsbWQ1KF9hcGlrZXkoKS4kdWlkKSk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKQogICAgewogICAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApCgl7CgkgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKCX0KICAgICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgcHJpbnRfcigkdG1wKS4iXG4iOwogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiB1c2VyX3NldHByb3BzKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IHNldHByb3AgcHJvcG5hbWU9dmFsdWUgLi4uCnNldCBvbmUgb3IgbW9yZSB1c2VyIHByb3BlcnRpZXMuXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAvLyB1c2FnZTogdWlkIGtleT12YWx1ZSBrZXk9dmFsdWUKICBpZiggY291bnQoJG9wdHMpIDwgMSApCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygncmVnaXN0ZXI6IGluc3VmZmljaWVudCBhcmd1bWVudHMnKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogICR1aWQgPSBnZXRfYXBwZGF0YSgndWlkJywtMSk7CiAgaWYoICR1aWQgPD0gMCApCiAgICB7CiAgICAgIHNldF9lcnJvcm1zZygnTm90IGxvZ2dlZCBpbi4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgJHJlcSA9IG5ldyBjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgJHJlcS0+c2V0TWV0aG9kKCdQT1NUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvdXNlcnMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ1NFVFBST1BTJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ3VpZCcsJHVpZCk7CiAgJHJlcS0+YWRkUGFyYW0oJ3YnLG1kNShfYXBpa2V5KCkuJHVpZCkpOwogIGZvcmVhY2goICRvcHRzIGFzICRvbmUgKQogICAgewogICAgICBsaXN0KCRrLCR2KSA9IGV4cGxvZGUoJz0nLCRvbmUsMik7CiAgICAgIGlmKCAhJGsgKSBjb250aW51ZTsKICAgICAgJHJlcS0+YWRkUGFyYW0oJGssJHYpOwogICAgfQogICRyZXMgPSAkcmVxLT5leGVjdXRlKCk7CiAgCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKQogICAgewogICAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApCgl7CgkgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKCX0KICAgICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgcHJpbnRfcigkdG1wKS4iXG4iOwogIHJldHVybiBUUlVFOwp9CgpmdW5jdGlvbiB1c2VyX2xpc3QoJG9wdHMpCnsKICBpZiggY291bnQoJG9wdHMpID09IDEgJiYgc3RydG9sb3dlcigkb3B0c1swXSkgPT0gJ2hlbHAnICkgewplY2hvIDw8PEVPVAp1c2FnZTogbGlzdCBbcHJvcD1wYXR0ZXJuIFtsaW1pdCBbb2Zmc2V0XV1dCmxpc3QgdXNlcnMsIGFsbG93cyBzcGVjaWZ5aW5nIGEgZmlsdGVyLlxuCkVPVDsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgLy8gdXNhZ2U6IFtwcm9wPXBhdHRlcm5dIFtsaW1pdF0gW29mZnNldF0KICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCAkdWlkIDw9IDAgKSB7CiAgICBzZXRfZXJyb3Jtc2coJ05vdCBsb2dnZWQgaW4uLi4gbm90aGluZyB0byBkbycpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgJHBhcm1zID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkb3B0cyBhcyAkYXJnICkgewogICAgbGlzdCgka2V5LCR2YWwpID0gZXhwbG9kZSgnPScsJGFyZywyKTsKICAgICRrZXkgPSB0cmltKCRrZXkpOwogICAgJHZhbCA9IHRyaW0oJHZhbCk7CgogICAgJHBhcm1zWyRrZXldID0gJHZhbDsKICB9CgogICRyZXEgPSBuZXcgY21zX2h0dHBfcmVxdWVzdCgpOwogICRyZXEtPnNldE1ldGhvZCgnR0VUJyk7CiAgJHJlcS0+c2V0VGFyZ2V0KEJBU0VfVVJMLicvdXNlcnMnKTsKICAkcmVxLT5hZGRQYXJhbSgnYXBpa2V5JyxfYXBpa2V5KCkpOwogICRyZXEtPmFkZFBhcmFtKCdvcCcsJ0xJU1QnKTsKICAkcmVxLT5hZGRQYXJhbSgndWlkJywkdWlkKTsKICBpZiggY291bnQoJHBhcm1zKSApIHsKICAgIGZvcmVhY2goICRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICBjYXNlICduJzoKICAgICAgY2FzZSAnbyc6CiAgICAgIGNhc2UgJ3VzZXJwYXR0ZXJuJzoKICAgICAgY2FzZSAnaWRsaXN0JzoKICAgICAgY2FzZSAncHJvcGVydHknOgogICAgICBjYXNlICdwcm9wcGF0dGVybic6CiAgICAgIGNhc2UgJ2Z1bGwnOgoJJHJlcS0+YWRkUGFyYW0oJGtleSwkdmFsdWUpOwoJYnJlYWs7CiAgICAgIH0KICAgIH0KICB9CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKICAKICAkdG1wID0ganNvbl9kZWNvZGUoJHJlcyk7CiAgaWYoIGlzc2V0KCR0bXAtPl9zdGF0dXMpICYmICR0bXAtPl9zdGF0dXMgIT0gJ09LJyApIHsKICAgICRtc2cgPSAkdG1wLT5fc3RhdHVzOwogICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApIHsKICAgICAgJG1zZyAuPSAnOiAnLiR0bXAtPl9tZXNzYWdlOwogICAgfQogICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KICBwcmludF9yKCR0bXApLiJcbiI7CiAgcmV0dXJuIFRSVUU7Cn0KCmZ1bmN0aW9uIHVzZXJfYmFkZ2VzKCRvcHRzKQp7CiAgaWYoIGNvdW50KCRvcHRzKSA9PSAxICYmIHN0cnRvbG93ZXIoJG9wdHNbMF0pID09ICdoZWxwJyApIHsKZWNobyA8PDxFT1QKdXNhZ2U6IGJhZGdlcyBbdWlkXQpnZXQgdGhlIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VyLCBvciB0aGUgc3BlY2lmaWVkIHVzZXIuXG4KRU9UOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAkdWlkID0gZ2V0X2FwcGRhdGEoJ3VpZCcsLTEpOwogIGlmKCBjb3VudCgkb3B0cykgPT0gMSApIHsKICAgICR1aWQgPSAoaW50KSRvcHRzWzBdOwogIH0KICBpZiggJHVpZCA8PSAwICkgewogICAgc2V0X2Vycm9ybXNnKCdOb3QgbG9nZ2VkIGluLCBhbmQgbm8gdWlkIHNwZWNpZmllZC4uLiBub3RoaW5nIHRvIGRvJyk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICAkcmVxID0gbmV3IGNtc19odHRwX3JlcXVlc3QoKTsKICAkcmVxLT5zZXRNZXRob2QoJ0dFVCcpOwogICRyZXEtPnNldFRhcmdldChCQVNFX1VSTC4nL3VzZXJzJyk7CiAgJHJlcS0+YWRkUGFyYW0oJ2FwaWtleScsX2FwaWtleSgpKTsKICAkcmVxLT5hZGRQYXJhbSgnb3AnLCdCQURHRVMnKTsKICAkcmVxLT5hZGRQYXJhbSgndWlkJywkdWlkKTsKICAkcmVxLT5hZGRQYXJhbSgndicsbWQ1KF9hcGlrZXkoKS4kdWlkKSk7CiAgJHJlcyA9ICRyZXEtPmV4ZWN1dGUoKTsKCiAgJHRtcCA9IGpzb25fZGVjb2RlKCRyZXMpOwogIGlmKCBpc3NldCgkdG1wLT5fc3RhdHVzKSAmJiAkdG1wLT5fc3RhdHVzICE9ICdPSycgKQogICAgewogICAgICAkbXNnID0gJHRtcC0+X3N0YXR1czsKICAgICAgaWYoIGlzc2V0KCR0bXAtPl9tZXNzYWdlKSApCgl7CgkgICRtc2cgLj0gJzogJy4kdG1wLT5fbWVzc2FnZTsKCX0KICAgICAgc2V0X2Vycm9ybXNnKCRtc2cpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgcHJpbnRfcigkdG1wKS4iXG4iOwogIHJldHVybiBUUlVFOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/client/config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRjb25maWdbJ2Jhc2VVUkwnXSA9ICdodHRwOi8vY2FsZ3V5MTAwMC5keW5kbnMub3JnL2Ntc19kZXYvaW5kZXgucGhwL2FwcC92MSc7CiRjb25maWdbJ2FwaWtleSddID0gJzdhOTE0MDIyJzsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/client/config.php.digitalrelativity</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRjb25maWdbJ2Jhc2VVUkwnXSA9ICdodHRwOi8vZGlnaXRhbHJlbGF0aXZpdHkudHYvaW5kZXgucGhwL2FwcC92MSc7CiRjb25maWdbJ2FwaWtleSddID0gJzkzYWU2MDRjJzsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/client/cookie.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBOZXRzY2FwZSBIVFRQIENvb2tpZSBGaWxlCiMgaHR0cDovL2N1cmwuaGF4eC5zZS9kb2NzL2h0dHAtY29va2llcy5odG1sCiMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgbGliY3VybCEgRWRpdCBhdCB5b3VyIG93biByaXNrLgoKY2FsZ3V5MTAwMC5keW5kbnMub3JnCUZBTFNFCS8JRkFMU0UJMAlDTVNTRVNTSUQwOTk3Y2UzMwlxOXZtbmcxMHRkOHZuNWhncGxnbG9hY3MxMQpjYWxndXkxMDAwLmR5bmRucy5vcmcJRkFMU0UJLwlGQUxTRQkxCV9fRkVVX18JZGVsZXRlZAo=]]></data>
	</file>
	<file>
	  <filename>/client/test_edit_location.cmd</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[bG9naW4gY2FsZ3V5MTAwMEBnbWFpbC5jb20gcGFzc3dvcmQKbG9jYXRpb25zCmVkaXQgbG9jYXRpb249MTM1IGRldGFpbHM9Zm9vYmFyCg==]]></data>
	</file>
	<file>
	  <filename>/client/test_edit_location2.cmd</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[bG9naW4gY2FsZ3V5MTAwMEBnbWFpbC5jb20gcGFzc3dvcmQKbG9jYXRpb25zCmVkaXQgbG9jYXRpb249MTM1IGRldGFpbHM9Zm9vYmFyMiBjb250YWN0X2VtYWlsPWNhbGd1eTEwMDBAZ21haWwuY29tIHVybD1odHRwOi8vd3d3LmZvb2Jhci5jb20K]]></data>
	</file>
	<file>
	  <filename>/client/test_mycheckins_deep.cmd</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[bG9naW4gY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyBwYXNzd29yZApteWNoZWNraW5zIGRlZXAKcXVpdAo=]]></data>
	</file>
	<file>
	  <filename>/defines.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpkZWZpbmUoJ0NHU09DSUFMX1RBQkxFX0FQSUtFWVMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnc29jaWFsX2FwaWtleXMnKTsKZGVmaW5lKCdDR1NPQ0lBTF9UQUJMRV9BQ1RJVklUSUVTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ3NvY2lhbF9hY3Rpdml0aWVzJyk7CmRlZmluZSgnQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnc29jaWFsX2NoZWNraW5zJyk7CmRlZmluZSgnQ0dTT0NJQUxfVEFCTEVfTE9HJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ3NvY2lhbF9sb2cnKTsKZGVmaW5lKCdDR1NPQ0lBTF9UQUJMRV9MRUFERVJCT0FSRCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfY2dzb2NpYWxfbGVhZGVyYm9hcmQnKTsKZGVmaW5lKCdDR1NPQ0lBTF9UQUJMRV9MRUFERVJCT0FSRF9NRU1CRVJTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ3NvY2lhbF9sZWFkZXJib2FyZF9tZW1iZXJzJyk7CmRlZmluZSgnQ0dTT0NJQUxfVEFCTEVfQkFER0VTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ3NvY2lhbF9iYWRnZXMnKTsKZGVmaW5lKCdDR1NPQ0lBTF9UQUJMRV9CQURHRVNfVVNFUlMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnc29jaWFsX2JhZGdlX3VzZXJzJyk7CmRlZmluZSgnQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2Nnc29jaWFsX3RhYmxlX2ZyaWVuZHNoaXBzJyk7CmRlZmluZSgnQ0dTT0NJQUxfVEFCTEVfRkFWT1JJVEVTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9jZ3NvY2lhbF90YWJsZV9mYXZvcml0ZXMnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/CGSocialApp API Reference.odt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczptZXRhPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1ldGE6MS4wIiB4bWxuczpvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L29mZmljZSIgeG1sbnM6Z3JkZGw9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvZy9kYXRhLXZpZXcjIiBvZmZpY2U6dmVyc2lvbj0iMS4yIj48b2ZmaWNlOm1ldGE+PG1ldGE6aW5pdGlhbC1jcmVhdG9yPlJvYmVydCBDYW1wYmVsbDwvbWV0YTppbml0aWFsLWNyZWF0b3I+PG1ldGE6Y3JlYXRpb24tZGF0ZT4yMDExLTEyLTI2VDEzOjQ1OjU2PC9tZXRhOmNyZWF0aW9uLWRhdGU+PGRjOmRhdGU+MjAxMy0wNC0yN1QxMToyNTo0NzwvZGM6ZGF0ZT48bWV0YTplZGl0aW5nLWR1cmF0aW9uPlAzRFQxNkg4TTIwUzwvbWV0YTplZGl0aW5nLWR1cmF0aW9uPjxtZXRhOmVkaXRpbmctY3ljbGVzPjkyPC9tZXRhOmVkaXRpbmctY3ljbGVzPjxtZXRhOmdlbmVyYXRvcj5MaWJyZU9mZmljZS8zLjYkTGludXhfeDg2IExpYnJlT2ZmaWNlX3Byb2plY3QvMzYwbTEkQnVpbGQtMjwvbWV0YTpnZW5lcmF0b3I+PGRjOnRpdGxlPkNHU29jaWFsQXBwIFJlc3RmdWwgQVBJIFJlZmVyZW5jZTwvZGM6dGl0bGU+PG1ldGE6ZG9jdW1lbnQtc3RhdGlzdGljIG1ldGE6dGFibGUtY291bnQ9IjAiIG1ldGE6aW1hZ2UtY291bnQ9IjAiIG1ldGE6b2JqZWN0LWNvdW50PSIwIiBtZXRhOnBhZ2UtY291bnQ9IjQ1IiBtZXRhOnBhcmFncmFwaC1jb3VudD0iOTI5IiBtZXRhOndvcmQtY291bnQ9IjgxNzQiIG1ldGE6Y2hhcmFjdGVyLWNvdW50PSI1MDY0NCIgbWV0YTpub24td2hpdGVzcGFjZS1jaGFyYWN0ZXItY291bnQ9IjQzNjg5Ii8+PC9vZmZpY2U6bWV0YT48L29mZmljZTpkb2N1bWVudC1tZXRhPlBLAwQUAAgICAA4i5tCAAAAAAAAAAAAAAAADAAAAG1hbmlmZXN0LnJkZs2TwW6DMBBE73yFZc5goJeCAjkU5Vy1X+Aak1gFL/IuJfx9XSeqohyqKs2hx12PZt5o5c32OA7sQzs0YGuepxln2irojN3XfKY+eeTbJtq4rq9e2h3zaouVn2p+IJoqIZZlSZeHFNxe5GVZiqwQRZF4RYKrJXlMLMa8iRgLHq1G5cxEPo19zfINZqp5EJwltE46vDmNMDulv6M6UJiCRIMJTNqGTIsC+t4oLfK0EKMmKab3fdyCmkdtiYsQLa6yf8tjMasOEp+lo3N1v7mFh181UmDJ46Xe9L8iIq2Dxj8QXna8532h6+Onk/fODPpGuot694Z7DdY/sp1W/kc10SdQSwcI/T2ruQABAACDAwAAUEsDBBQAAAgAADiLm0IAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAACAAAOIubQgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAICAgAOIubQgAAAAAAAAAAAAAAACcAAABDb25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQSwMEFAAACAAAOIubQgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwMEFAAACAAAOIubQgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAACAAAOIubQgAAAAAAAAAAAAAAABwAAABDb25maWd1cmF0aW9uczIvcHJvZ3Jlc3NiYXIvUEsDBBQAAAgAADiLm0IAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3Rvb2xwYW5lbC9QSwMEFAAACAAAOIubQgAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsDBBQAAAgAADiLm0IAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3BvcHVwbWVudS9QSwMEFAAICAgAOIubQgAAAAAAAAAAAAAAABUAAABNRVRBLUlORi9tYW5pZmVzdC54bWytVEtuwyAQ3fcUFtvK0GZVoThZVOoJ0gNM8NhBgsGCIYpvXxw1n6pKFavZzfe9xwywXB+8q/YYkw3UiFf5IiokE1pLfSM+Nx/1m1ivnpYeyHaYWJ+MqvRROruNyJF0gGSTJvCYNBsdBqQ2mOyRWP+s10ems3clYCFWT9WFr7MO69Ifx0t1l52rB+BdI9QtkEvYY2uh5nHARsAwOGuAS5naUyuPguW1Tsl4YKHmaNjsst8SWJcUn0w5UH9Dg/XQo5rys1gcjCFzbcDs8I7TbS1BHOdRmEA8jaCs6gbDNBw1pWfhJh4dpsfDInO5po8H9sjweNDvmIxtd8f+StXzbI73QJ3tczxCpIUCY9BhcUNUJsf493L/x3Xni0uZJgkyW2muESbypfr1zay+AFBLBwgNAyOmKwEAAKEEAABQSwECFAAUAAAIAAA4i5tCXsYyDCcAAAAnAAAACAAAAAAAAAAAAAAAAAAAAAAAbWltZXR5cGVQSwECFAAUAAAIAAA4i5tCHveglZ0YAACdGAAAGAAAAAAAAAAAAAAAAABNAAAAVGh1bWJuYWlscy90aHVtYm5haWwucG5nUEsBAhQAFAAICAgAOIubQoKppwiUAAAApQEAAAwAAAAAAAAAAAAAAAAAIBkAAGxheW91dC1jYWNoZVBLAQIUABQACAgIADiLm0JPe3kMFWoAAFuyBgALAAAAAAAAAAAAAAAAAO4ZAABjb250ZW50LnhtbFBLAQIUABQACAgIADiLm0KpFzRpFQwAACFSAAAKAAAAAAAAAAAAAAAAADyEAABzdHlsZXMueG1sUEsBAhQAFAAICAgAOIubQhk/ohaPBQAA3CMAAAwAAAAAAAAAAAAAAAAAiZAAAHNldHRpbmdzLnhtbFBLAQIUABQAAAgAADiLm0LRGwb3OQQAADkEAAAIAAAAAAAAAAAAAAAAAFKWAABtZXRhLnhtbFBLAQIUABQACAgIADiLm0L9Pau5AAEAAIMDAAAMAAAAAAAAAAAAAAAAALGaAABtYW5pZmVzdC5yZGZQSwECFAAUAAAIAAA4i5tCAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAADrmwAAQ29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwECFAAUAAAIAAA4i5tCAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAjnAAAQ29uZmlndXJhdGlvbnMyL21lbnViYXIvUEsBAhQAFAAICAgAOIubQgAAAAACAAAAAAAAACcAAAAAAAAAAAAAAAAAWZwAAENvbmZpZ3VyYXRpb25zMi9hY2NlbGVyYXRvci9jdXJyZW50LnhtbFBLAQIUABQAAAgAADiLm0IAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAALCcAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwECFAAUAAAIAAA4i5tCAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAADmnAAAQ29uZmlndXJhdGlvbnMyL3Rvb2xiYXIvUEsBAhQAFAAACAAAOIubQgAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAHJ0AAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwECFAAUAAAIAAA4i5tCAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAABWnQAAQ29uZmlndXJhdGlvbnMyL3Rvb2xwYW5lbC9QSwECFAAUAAAIAAA4i5tCAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAACOnQAAQ29uZmlndXJhdGlvbnMyL2ltYWdlcy9CaXRtYXBzL1BLAQIUABQAAAgAADiLm0IAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAMudAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAQIUABQACAgIADiLm0INAyOmKwEAAKEEAAAVAAAAAAAAAAAAAAAAAAOeAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAABIAEgCqBAAAcZ8AAAAA]]></data>
	</file>
	<file>
	  <filename>/doc/CGSocialApp API Reference.pdf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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tAaHE895MunZLCgrdewdt33ej4z8Gd73hKCqbi9RbHS4JmORTJhRdE2joTuftcDg/vXUhRgn+2mInS07VaOU5lqV+vbxrnJXR5lQVvxJBnYj4lT1DjVOCeID/p4qxVSo+r4BJtdv3AplbmRzdHJlYW0KZW5kb2JqCgozNDcgMCBvYmoKPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvQmFzZUZvbnQvSUFBQUFBK09wZW5TeW1ib2wKL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciAyCi9XaWR0aHNbMzY1IDM1NSA3OTQgXQovRm9udERlc2NyaXB0b3IgMzQ1IDAgUgovVG9Vbmljb2RlIDM0NiAwIFIKPj4KZW5kb2JqCgozNDggMCBvYmoKPDwvRjEgMzM3IDAgUi9GMiAzNDIgMCBSL0YzIDMyNyAwIFIvRjQgMzMyIDAgUi9GNSAzMTcgMCBSL0Y2IDMyMiAwIFIvRjcgMzA3IDAgUi9GOCAzNDcgMCBSCi9GOSAzMTIgMCBSCj4+CmVuZG9iagoKMzQ5IDAgb2JqCjw8L0ZvbnQgMzQ4IDAgUgovWE9iamVjdDw8L1RyMTA0IDEwNCAwIFIvVHIxMDkgMTA5IDAgUi9UcjExNCAxMTQgMCBSL1RyMTE5IDExOSAwIFIvVHIxMjQgMTI0IDAgUi9UcjEyOSAxMjkgMCBSL1RyMTM0IDEzNCAwIFIvVHIxMzkgMTM5IDAgUgovVHIxNCAxNCAwIFIvVHIxNDQgMTQ0IDAgUi9UcjE0OSAxNDkgMCBSL1RyMTU0IDE1NCAwIFIvVHIxNTkgMTU5IDAgUi9UcjE2NCAxNjQgMCBSL1RyMTY5IDE2OSAwIFIvVHIxNzQgMTc0IDAgUgovVHIxNzkgMTc5IDAgUi9UcjE4NCAxODQgMCBSL1RyMTg5IDE4OSAwIFIvVHIxOSAxOSAwIFIvVHIxOTQgMTk0IDAgUi9UcjE5OSAxOTkgMCBSL1RyMjA0IDIwNCAwIFIvVHIyMDkgMjA5IDAgUgovVHIyMTQgMjE0IDAgUi9UcjIxOSAyMTkgMCBSL1RyMjI0IDIyNCAwIFIvVHIyNCAyNCAwIFIvVHIyOSAyOSAwIFIvVHIzNCAzNCAwIFIvVHIzOSAzOSAwIFIvVHI0IDQgMCBSCi9UcjQ0IDQ0IDAgUi9UcjQ5IDQ5IDAgUi9UcjU0IDU0IDAgUi9UcjU5IDU5IDAgUi9UcjY0IDY0IDAgUi9UcjY5IDY5IDAgUi9Ucjc0IDc0IDAgUi9Ucjc5IDc5IDAgUgovVHI4NCA4NCAwIFIvVHI4OSA4OSAwIFIvVHI5IDkgMCBSL1RyOTQgOTQgMCBSL1RyOTkgOTkgMCBSPj4KL0V4dEdTdGF0ZTw8L0VHUzEwIDEwIDAgUi9FR1MxMDAgMTAwIDAgUi9FR1MxMDUgMTA1IDAgUi9FR1MxMTAgMTEwIDAgUi9FR1MxMTUgMTE1IDAgUi9FR1MxMjAgMTIwIDAgUi9FR1MxMjUgMTI1IDAgUi9FR1MxMzAgMTMwIDAgUgovRUdTMTM1IDEzNSAwIFIvRUdTMTQwIDE0MCAwIFIvRUdTMTQ1IDE0NSAwIFIvRUdTMTUgMTUgMCBSL0VHUzE1MCAxNTAgMCBSL0VHUzE1NSAxNTUgMCBSL0VHUzE2MCAxNjAgMCBSL0VHUzE2NSAxNjUgMCBSCi9FR1MxNzAgMTcwIDAgUi9FR1MxNzUgMTc1IDAgUi9FR1MxODAgMTgwIDAgUi9FR1MxODUgMTg1IDAgUi9FR1MxOTAgMTkwIDAgUi9FR1MxOTUgMTk1IDAgUi9FR1MyMCAyMCAwIFIvRUdTMjAwIDIwMCAwIFIKL0VHUzIwNSAyMDUgMCBSL0VHUzIxMCAyMTAgMCBSL0VHUzIxNSAyMTUgMCBSL0VHUzIyMCAyMjAgMCBSL0VHUzIyNSAyMjUgMCBSL0VHUzI1IDI1IDAgUi9FR1MzMCAzMCAwIFIvRUdTMzUgMzUgMCBSCi9FR1M0MCA0MCAwIFIvRUdTNDUgNDUgMCBSL0VHUzUgNSAwIFIvRUdTNTAgNTAgMCBSL0VHUzU1IDU1IDAgUi9FR1M2MCA2MCAwIFIvRUdTNjUgNjUgMCBSL0VHUzcwIDcwIDAgUgovRUdTNzUgNzUgMCBSL0VHUzgwIDgwIDAgUi9FR1M4NSA4NSAwIFIvRUdTOTAgOTAgMCBSL0VHUzk1IDk1IDAgUj4+Ci9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUMvSW1hZ2VJL0ltYWdlQl0KPj4KZW5kb2JqCgoxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMiAwIFI+PgplbmRvYmoKCjYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Bbm5vdHNbCjIyNiAwIFIgMjU4IDAgUiAyNTkgMCBSIDI2MCAwIFIgMjYxIDAgUiAyNjIgMCBSIDI2MyAwIFIgMjY0IDAgUiAyNjUgMCBSIDI2NiAwIFIgMjY3IDAgUiAyNjggMCBSIDI2OSAwIFIgMjcwIDAgUiAyNzEgMCBSCjI3MiAwIFIgMjczIDAgUiAyNzQgMCBSIDI3NSAwIFIgMjc2IDAgUiAyNzcgMCBSIDI3OCAwIFIgMjc5IDAgUiAyODAgMCBSIDI4MSAwIFIgMjgyIDAgUiAyODMgMCBSIDI4NCAwIFIgMjg1IDAgUiAyODYgMCBSCjI4NyAwIFIgMjg4IDAgUiAyODkgMCBSIDI5MCAwIFIgMjkxIDAgUiAyOTIgMCBSIDI5MyAwIFIgMjk0IDAgUiAyOTUgMCBSIDI5NiAwIFIgMjk3IDAgUiBdCi9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyA3IDAgUj4+CmVuZG9iagoKMTEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Bbm5vdHNbCjIyNyAwIFIgMjI4IDAgUiAyMjkgMCBSIDIzMCAwIFIgMjMxIDAgUiAyMzIgMCBSIDIzMyAwIFIgMjM0IDAgUiAyMzUgMCBSIDIzNiAwIFIgMjM3IDAgUiAyMzggMCBSIDIzOSAwIFIgMjQwIDAgUiAyNDEgMCBSCjI0MiAwIFIgMjQzIDAgUiAyNDQgMCBSIDI0NSAwIFIgMjQ2IDAgUiAyNDcgMCBSIDI0OCAwIFIgMjQ5IDAgUiAyNTAgMCBSIDI1MSAwIFIgMjUyIDAgUiAyNTMgMCBSIDI1NCAwIFIgMjU1IDAgUiAyNTYgMCBSCjI1NyAwIFIgXQovR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTIgMCBSPj4KZW5kb2JqCgoxNiAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDMwMiAwIFIvUmVzb3VyY2VzIDM0OSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDE3IDAgUj4+CmVuZG9iagoKMjEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAyMiAwIFI+PgplbmRvYmoKCjI2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMjcgMCBSPj4KZW5kb2JqCgozMSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDMwMiAwIFIvUmVzb3VyY2VzIDM0OSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDMyIDAgUj4+CmVuZG9iagoKMzYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAzNyAwIFI+PgplbmRvYmoKCjQxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vQW5ub3RzWwozMDEgMCBSIF0KL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDQyIDAgUj4+CmVuZG9iagoKNDYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyA0NyAwIFI+PgplbmRvYmoKCjUxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgNTIgMCBSPj4KZW5kb2JqCgo1NiAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDMwMiAwIFIvUmVzb3VyY2VzIDM0OSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDU3IDAgUj4+CmVuZG9iagoKNjEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyA2MiAwIFI+PgplbmRvYmoKCjY2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgNjcgMCBSPj4KZW5kb2JqCgo3MSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDMwMiAwIFIvUmVzb3VyY2VzIDM0OSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDcyIDAgUj4+CmVuZG9iagoKNzYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyA3NyAwIFI+PgplbmRvYmoKCjgxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgODIgMCBSPj4KZW5kb2JqCgo4NiAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDMwMiAwIFIvUmVzb3VyY2VzIDM0OSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDg3IDAgUj4+CmVuZG9iagoKOTEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyA5MiAwIFI+PgplbmRvYmoKCjk2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgOTcgMCBSPj4KZW5kb2JqCgoxMDEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAxMDIgMCBSPj4KZW5kb2JqCgoxMDYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAxMDcgMCBSPj4KZW5kb2JqCgoxMTEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAxMTIgMCBSPj4KZW5kb2JqCgoxMTYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAzMDIgMCBSL1Jlc291cmNlcyAzNDkgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Bbm5vdHNbCjMwMCAwIFIgXQovR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTE3IDAgUj4+CmVuZG9iagoKMTIxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTIyIDAgUj4+CmVuZG9iagoKMTI2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTI3IDAgUj4+CmVuZG9iagoKMTMxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTMyIDAgUj4+CmVuZG9iagoKMTM2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTM3IDAgUj4+CmVuZG9iagoKMTQxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTQyIDAgUj4+CmVuZG9iagoKMTQ2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTQ3IDAgUj4+CmVuZG9iagoKMTUxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTUyIDAgUj4+CmVuZG9iagoKMTU2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTU3IDAgUj4+CmVuZG9iagoKMTYxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTYyIDAgUj4+CmVuZG9iagoKMTY2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTY3IDAgUj4+CmVuZG9iagoKMTcxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTcyIDAgUj4+CmVuZG9iagoKMTc2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTc3IDAgUj4+CmVuZG9iagoKMTgxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTgyIDAgUj4+CmVuZG9iagoKMTg2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTg3IDAgUj4+CmVuZG9iagoKMTkxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTkyIDAgUj4+CmVuZG9iagoKMTk2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMTk3IDAgUj4+CmVuZG9iagoKMjAxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMjAyIDAgUj4+CmVuZG9iagoKMjA2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMjA3IDAgUj4+CmVuZG9iagoKMjExIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMjEyIDAgUj4+CmVuZG9iagoKMjE2IDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMjE3IDAgUj4+CmVuZG9iagoKMjIxIDAgb2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMzAyIDAgUi9SZXNvdXJjZXMgMzQ5IDAgUi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vQW5ub3RzWwoyOTggMCBSIDI5OSAwIFIgXQovR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMjIyIDAgUj4+CmVuZG9iagoKMzUwIDAgb2JqCjw8L0NvdW50IDcyL0ZpcnN0IDM1MSAwIFIvTGFzdCA0MjIgMCBSCj4+CmVuZG9iagoKMzUxIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNDkwMDZFMDA3NDAwNzIwMDZGMDA2NDAwNzUwMDYzMDA3NDAwNjkwMDZGMDA2RTAwM0E+Ci9EZXN0WzE2IDAgUi9YWVogNTYuNyA2NTkuMSAwXS9QYXJlbnQgMzUwIDAgUi9OZXh0IDM1MiAwIFI+PgplbmRvYmoKCjM1MiAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDQ2MDA2NTAwNjEwMDc0MDA3NTAwNzIwMDY1MDA3MzAwM0E+Ci9EZXN0WzIxIDAgUi9YWVogNTYuNyA2NTkuMSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM1MSAwIFIvTmV4dCAzNTMgMCBSPj4KZW5kb2JqCgozNTMgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA1MzAwNjUwMDcyMDA3NjAwNjUwMDcyMDAyMDAwNTIwMDY1MDA3MTAwNzUwMDY5MDA3MjAwNjUwMDZEMDA2NTAwNkUwMDc0MDA3MzAwM0E+Ci9EZXN0WzIxIDAgUi9YWVogNTYuNyAzNDguNCAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM1MiAwIFIvTmV4dCAzNTQgMCBSPj4KZW5kb2JqCgozNTQgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0QjAwNkUwMDZGMDA3NzAwNkUwMDIwMDA0QzAwNjkwMDZEMDA2OTAwNzQwMDYxMDA3NDAwNjkwMDZGMDA2RTAwNzMwMDNBPgovRGVzdFsyNiAwIFIvWFlaIDU2LjcgNjA5LjEgMF0vUGFyZW50IDM1MCAwIFIvUHJldiAzNTMgMCBSL05leHQgMzU1IDAgUj4+CmVuZG9iagoKMzU1IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNTQwMDZGMDAyMDAwNDIwMDY1MDAyMDAwNDMwMDZGMDA2RDAwNzAwMDZDMDA2NTAwNzQwMDY1MDA2NDAwM0E+Ci9EZXN0WzMxIDAgUi9YWVogNTYuNyA2NzEuMSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM1NCAwIFIvTmV4dCAzNTYgMCBSPj4KZW5kb2JqCgozNTYgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA1MzAwNjUwMDc0MDA3NTAwNzAwMDIwMDA0NzAwNzUwMDY5MDA2NDAwNjUwMDNBPgovRGVzdFszMSAwIFIvWFlaIDU2LjcgNDUxIDBdL1BhcmVudCAzNTAgMCBSL1ByZXYgMzU1IDAgUi9OZXh0IDM1NyAwIFI+PgplbmRvYmoKCjM1NyAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDQyMDA2MTAwNzMwMDY1MDAyMDAwNTUwMDUyMDA0QzAwM0E+Ci9EZXN0WzM2IDAgUi9YWVogNTYuNyA0MDUuOSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM1NiAwIFIvTmV4dCAzNTggMCBSPj4KZW5kb2JqCgozNTggMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA1MzAwNjUwMDYzMDA3NTAwNzIwMDY5MDA3NDAwNzkwMDNBPgovRGVzdFszNiAwIFIvWFlaIDU2LjcgMzI2LjEgMF0vUGFyZW50IDM1MCAwIFIvUHJldiAzNTcgMCBSL05leHQgMzU5IDAgUj4+CmVuZG9iagoKMzU5IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNDEwMDc1MDA3NDAwNjgwMDY1MDA2RTAwNzQwMDY5MDA2MzAwNjEwMDc0MDA2OTAwNkYwMDZFMDAzQT4KL0Rlc3RbNDEgMCBSL1hZWiA1Ni43IDY3MS4xIDBdL1BhcmVudCAzNTAgMCBSL1ByZXYgMzU4IDAgUi9OZXh0IDM2MCAwIFI+PgplbmRvYmoKCjM2MCAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDUwMDA2MTAwNzIwMDYxMDA2RDAwNjUwMDc0MDA2NTAwNzIwMDczMDAzQT4KL0Rlc3RbNDEgMCBSL1hZWiA1Ni43IDU5MS4zIDBdL1BhcmVudCAzNTAgMCBSL1ByZXYgMzU5IDAgUi9OZXh0IDM2MSAwIFI+PgplbmRvYmoKCjM2MSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDUyMDA2NTAwNzQwMDc1MDA3MjAwNkUwMDIwMDA0NDAwNjEwMDc0MDA2MTAwM0E+Ci9EZXN0WzQxIDAgUi9YWVogNTYuNyA1MTEuNSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM2MCAwIFIvTmV4dCAzNjIgMCBSPj4KZW5kb2JqCgozNjIgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA1MzAwNjEwMDZEMDA3MDAwNkMwMDY1MDAyMDAwNTIwMDY1MDA3MTAwNzUwMDY1MDA3MzAwNzQwMDNBPgovRGVzdFs0MSAwIFIvWFlaIDU2LjcgNDA0LjEgMF0vUGFyZW50IDM1MCAwIFIvUHJldiAzNjEgMCBSL05leHQgMzYzIDAgUj4+CmVuZG9iagoKMzYzIDAgb2JqCjw8L0NvdW50IDgvRmlyc3QgMzY0IDAgUi9MYXN0IDM3MSAwIFIKL1RpdGxlPEZFRkYwMDU1MDA3MzAwNjUwMDcyMDA3MzAwMjAwMDQxMDA1MDAwNDkwMDNBPgovRGVzdFs1MSAwIFIvWFlaIDU2LjcgNjU5LjEgMF0vUGFyZW50IDM1MCAwIFIvUHJldiAzNjIgMCBSL05leHQgMzcyIDAgUj4+CmVuZG9iagoKMzY0IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDUyMDA0NTAwNDcwMDQ5MDA1MzAwNTQwMDQ1MDA1Mj4KL0Rlc3RbNTEgMCBSL1hZWiA3MS4xIDYwMy40IDBdL1BhcmVudCAzNjMgMCBSL05leHQgMzY1IDAgUj4+CmVuZG9iagoKMzY1IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDRDMDA0RjAwNDcwMDQ5MDA0RT4KL0Rlc3RbNTEgMCBSL1hZWiA3MS4xIDI5My40IDBdL1BhcmVudCAzNjMgMCBSL1ByZXYgMzY0IDAgUi9OZXh0IDM2NiAwIFI+PgplbmRvYmoKCjM2NiAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA1MDAwNDkwMDRFMDA0Nz4KL0Rlc3RbNTYgMCBSL1hZWiA3MS4xIDU4MC4zIDBdL1BhcmVudCAzNjMgMCBSL1ByZXYgMzY1IDAgUi9OZXh0IDM2NyAwIFI+PgplbmRvYmoKCjM2NyAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0QzAwNEYwMDQ3MDA0RjAwNTUwMDU0PgovRGVzdFs1NiAwIFIvWFlaIDcxLjEgMzM1LjIgMF0vUGFyZW50IDM2MyAwIFIvUHJldiAzNjYgMCBSL05leHQgMzY4IDAgUj4+CmVuZG9iagoKMzY4IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDQ3MDA0NTAwNTQwMDQ5MDA0RTAwNDYwMDRGPgovRGVzdFs2MSAwIFIvWFlaIDcxLjEgNjcxLjEgMF0vUGFyZW50IDM2MyAwIFIvUHJldiAzNjcgMCBSL05leHQgMzY5IDAgUj4+CmVuZG9iagoKMzY5IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDUzMDA0NTAwNTQwMDUwMDA1MjAwNEYwMDUwMDA1Mz4KL0Rlc3RbNjEgMCBSL1hZWiA3MS4xIDM5NC4xIDBdL1BhcmVudCAzNjMgMCBSL1ByZXYgMzY4IDAgUi9OZXh0IDM3MCAwIFI+PgplbmRvYmoKCjM3MCAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0QzAwNDkwMDUzMDA1ND4KL0Rlc3RbNjYgMCBSL1hZWiA3MS4xIDYxNC41IDBdL1BhcmVudCAzNjMgMCBSL1ByZXYgMzY5IDAgUi9OZXh0IDM3MSAwIFI+PgplbmRvYmoKCjM3MSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0MjAwNDEwMDQ0MDA0NzAwNDUwMDUzPgovRGVzdFs2NiAwIFIvWFlaIDcxLjIgMjY3LjcgMF0vUGFyZW50IDM2MyAwIFIvUHJldiAzNzAgMCBSPj4KZW5kb2JqCgozNzIgMCBvYmoKPDwvQ291bnQgNy9GaXJzdCAzNzMgMCBSL0xhc3QgMzc5IDAgUgovVGl0bGU8RkVGRjAwNDYwMDcyMDA2OTAwNjUwMDZFMDA2NDAwNzMwMDIwMDA0MTAwNTAwMDQ5MDAzQT4KL0Rlc3RbNzYgMCBSL1hZWiA1Ni43IDY1OS4xIDBdL1BhcmVudCAzNTAgMCBSL1ByZXYgMzYzIDAgUi9OZXh0IDM4MCAwIFI+PgplbmRvYmoKCjM3MyAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA1MjAwNDUwMDUxMDA1NTAwNDUwMDUzMDA1NDAwNEMwMDQ5MDA1MzAwNTQ+Ci9EZXN0Wzc2IDAgUi9YWVogNzEuMSA1ODkuNiAwXS9QYXJlbnQgMzcyIDAgUi9OZXh0IDM3NCAwIFI+PgplbmRvYmoKCjM3NCAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA1MjAwNDUwMDUxMDA1NTAwNDUwMDUzMDA1ND4KL0Rlc3RbNzYgMCBSL1hZWiA3MS4xIDMzOS4xIDBdL1BhcmVudCAzNzIgMCBSL1ByZXYgMzczIDAgUi9OZXh0IDM3NSAwIFI+PgplbmRvYmoKCjM3NSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0MTAwNTAwMDUwMDA1MjAwNEYwMDU2MDA0NT4KL0Rlc3RbODEgMCBSL1hZWiA3MS4xIDY3MS4xIDBdL1BhcmVudCAzNzIgMCBSL1ByZXYgMzc0IDAgUi9OZXh0IDM3NiAwIFI+PgplbmRvYmoKCjM3NiAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0NDAwNDUwMDRFMDA1OT4KL0Rlc3RbODEgMCBSL1hZWiA3MS4xIDQzOS44IDBdL1BhcmVudCAzNzIgMCBSL1ByZXYgMzc1IDAgUi9OZXh0IDM3NyAwIFI+PgplbmRvYmoKCjM3NyAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA1MzAwNTUwMDQ3MDA0NzAwNDUwMDUzMDA1ND4KL0Rlc3RbODEgMCBSL1hZWiA3MS4xIDIwOC41IDBdL1BhcmVudCAzNzIgMCBSL1ByZXYgMzc2IDAgUi9OZXh0IDM3OCAwIFI+PgplbmRvYmoKCjM3OCAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0NDAwNDUwMDRDPgovRGVzdFs4NiAwIFIvWFlaIDcxLjEgNTc3LjIgMF0vUGFyZW50IDM3MiAwIFIvUHJldiAzNzcgMCBSL05leHQgMzc5IDAgUj4+CmVuZG9iagoKMzc5IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDRDMDA0OTAwNTMwMDU0PgovRGVzdFs4NiAwIFIvWFlaIDcxLjEgMzI3LjggMF0vUGFyZW50IDM3MiAwIFIvUHJldiAzNzggMCBSPj4KZW5kb2JqCgozODAgMCBvYmoKPDwvQ291bnQgMTIvRmlyc3QgMzgxIDAgUi9MYXN0IDM5MiAwIFIKL1RpdGxlPEZFRkYwMDRDMDA2RjAwNjMwMDYxMDA3NDAwNjkwMDZGMDA2RTAwNzMwMDIwMDA0MTAwNTAwMDQ5MDAzQT4KL0Rlc3RbOTYgMCBSL1hZWiA1Ni43IDY1OS4xIDBdL1BhcmVudCAzNTAgMCBSL1ByZXYgMzcyIDAgUi9OZXh0IDM5MyAwIFI+PgplbmRvYmoKCjM4MSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0ODAwNDkwMDQ1MDA1MjAwNDEwMDUyMDA0MzAwNDgwMDU5PgovRGVzdFs5NiAwIFIvWFlaIDcxLjEgNTg5LjYgMF0vUGFyZW50IDM4MCAwIFIvTmV4dCAzODIgMCBSPj4KZW5kb2JqCgozODIgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDMwMDQxMDA1NDAwNDUwMDQ3MDA0RjAwNTIwMDQ5MDA0NTAwNTM+Ci9EZXN0Wzk2IDAgUi9YWVogNzEuMSA0MTAuNiAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM4MSAwIFIvTmV4dCAzODMgMCBSPj4KZW5kb2JqCgozODMgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNEMwMDQ5MDA1MzAwNTQ+Ci9EZXN0Wzk2IDAgUi9YWVogNzEuMSAyMTMuNSAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM4MiAwIFIvTmV4dCAzODQgMCBSPj4KZW5kb2JqCgozODQgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDEwMDQ0MDA0ND4KL0Rlc3RbMTA2IDAgUi9YWVogNzEuMSA2MzQuOSAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM4MyAwIFIvTmV4dCAzODUgMCBSPj4KZW5kb2JqCgozODUgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDUwMDQ0MDA0OTAwNTQ+Ci9EZXN0WzExMSAwIFIvWFlaIDcxLjEgNTc5LjUgMF0vUGFyZW50IDM4MCAwIFIvUHJldiAzODQgMCBSL05leHQgMzg2IDAgUj4+CmVuZG9iagoKMzg2IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDUwMDA0ODAwNEYwMDU0MDA0RjAwNTUwMDUwMDA0QzAwNEYwMDQxMDA0ND4KL0Rlc3RbMTE2IDAgUi9YWVogNzEuMSA0OTEgMF0vUGFyZW50IDM4MCAwIFIvUHJldiAzODUgMCBSL05leHQgMzg3IDAgUj4+CmVuZG9iagoKMzg3IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDUwMDA0ODAwNEYwMDU0MDA0RjAwNDQwMDQ1MDA0QzAwNDUwMDU0MDA0NT4KL0Rlc3RbMTE2IDAgUi9YWVogNzEuMSAxNTAuOSAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM4NiAwIFIvTmV4dCAzODggMCBSPj4KZW5kb2JqCgozODggMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDQwMDQ1MDA0QzAwNDUwMDU0MDA0NT4KL0Rlc3RbMTIxIDAgUi9YWVogNzEuMSA0NTcuOCAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM4NyAwIFIvTmV4dCAzODkgMCBSPj4KZW5kb2JqCgozODkgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDcwMDQ1MDA1ND4KL0Rlc3RbMTIxIDAgUi9YWVogNzEuMSAzODkuNyAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM4OCAwIFIvTmV4dCAzOTAgMCBSPj4KZW5kb2JqCgozOTAgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDYwMDQxMDA1NjAwNEYwMDUyMDA0OTAwNTQwMDQ1MDA1Mz4KL0Rlc3RbMTIxIDAgUi9YWVogNzEuMSAxOTEuNCAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM4OSAwIFIvTmV4dCAzOTEgMCBSPj4KZW5kb2JqCgozOTEgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNEQwMDRGMDA1MzAwNTQwMDQzMDA0ODAwNDUwMDQzMDA0QjAwNDkwMDRFMDA1Mz4KL0Rlc3RbMTI2IDAgUi9YWVogNzEuMSA1NTkuMSAwXS9QYXJlbnQgMzgwIDAgUi9QcmV2IDM5MCAwIFIvTmV4dCAzOTIgMCBSPj4KZW5kb2JqCgozOTIgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNEQwMDRGMDA1MzAwNTQwMDQ2MDA0MTAwNTYwMDRGMDA1MjAwNDkwMDU0MDA0NTAwNTM+Ci9EZXN0WzEzMSAwIFIvWFlaIDcxLjEgNDIxLjcgMF0vUGFyZW50IDM4MCAwIFIvUHJldiAzOTEgMCBSPj4KZW5kb2JqCgozOTMgMCBvYmoKPDwvQ291bnQgMS9GaXJzdCAzOTQgMCBSL0xhc3QgMzk0IDAgUgovVGl0bGU8RkVGRjAwNDEwMDYzMDA3NDAwNjkwMDc2MDA2OTAwNzQwMDY5MDA2NTAwNzMwMDIwMDA0MTAwNTAwMDQ5MDAzQT4KL0Rlc3RbMTQxIDAgUi9YWVogNTYuNyA2NTkuMSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM4MCAwIFIvTmV4dCAzOTUgMCBSPj4KZW5kb2JqCgozOTQgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNEMwMDQ5MDA1MzAwNTQ+Ci9EZXN0WzE0MSAwIFIvWFlaIDcxLjEgNTg5LjYgMF0vUGFyZW50IDM5MyAwIFI+PgplbmRvYmoKCjM5NSAwIG9iago8PC9Db3VudCA4L0ZpcnN0IDM5NiAwIFIvTGFzdCA0MDMgMCBSCi9UaXRsZTxGRUZGMDA0MzAwNjgwMDY1MDA2MzAwNkIwMDY5MDA2RTAwNzMwMDIwMDA0MTAwNTAwMDQ5MDAzQT4KL0Rlc3RbMTQ2IDAgUi9YWVogNTYuNyA2NTkuMSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM5MyAwIFIvTmV4dCA0MDQgMCBSPj4KZW5kb2JqCgozOTYgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDIwMDU5MDA0QzAwNEYwMDQzMDA0MTAwNTQwMDQ5MDA0RjAwNEU+Ci9EZXN0WzE0NiAwIFIvWFlaIDcxLjEgNTM2LjIgMF0vUGFyZW50IDM5NSAwIFIvTmV4dCAzOTcgMCBSPj4KZW5kb2JqCgozOTcgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDYwMDUyMDA0OTAwNDUwMDRFMDA0NDAwNTM+Ci9EZXN0WzE1MSAwIFIvWFlaIDcxLjEgNjcxLjEgMF0vUGFyZW50IDM5NSAwIFIvUHJldiAzOTYgMCBSL05leHQgMzk4IDAgUj4+CmVuZG9iagoKMzk4IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDQ1MDA0NDAwNDkwMDU0PgovRGVzdFsxNTEgMCBSL1hZWiA3MS4xIDM1OS45IDBdL1BhcmVudCAzOTUgMCBSL1ByZXYgMzk3IDAgUi9OZXh0IDM5OSAwIFI+PgplbmRvYmoKCjM5OSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0RDAwNTkwMDQzMDA0ODAwNDUwMDQzMDA0QjAwNDkwMDRFMDA1Mz4KL0Rlc3RbMTU2IDAgUi9YWVogNzEuMSA2MzMuOCAwXS9QYXJlbnQgMzk1IDAgUi9QcmV2IDM5OCAwIFIvTmV4dCA0MDAgMCBSPj4KZW5kb2JqCgo0MDAgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDQwMDQ1MDA0Qz4KL0Rlc3RbMTU2IDAgUi9YWVogNzEuMSAzMTcuMSAwXS9QYXJlbnQgMzk1IDAgUi9QcmV2IDM5OSAwIFIvTmV4dCA0MDEgMCBSPj4KZW5kb2JqCgo0MDEgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDcwMDQ1MDA1ND4KL0Rlc3RbMTYxIDAgUi9YWVogNzEuMSA2NzEuMSAwXS9QYXJlbnQgMzk1IDAgUi9QcmV2IDQwMCAwIFIvTmV4dCA0MDIgMCBSPj4KZW5kb2JqCgo0MDIgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDEwMDQ0MDA0ND4KL0Rlc3RbMTYxIDAgUi9YWVogNzEuMSA0MjYgMF0vUGFyZW50IDM5NSAwIFIvUHJldiA0MDEgMCBSL05leHQgNDAzIDAgUj4+CmVuZG9iagoKNDAzIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDQxMDA1MDAwNTAwMDUyMDA0RjAwNTYwMDQ1PgovRGVzdFsxNjYgMCBSL1hZWiA3MS4xIDYyMCAwXS9QYXJlbnQgMzk1IDAgUi9QcmV2IDQwMiAwIFI+PgplbmRvYmoKCjQwNCAwIG9iago8PC9Db3VudCAzL0ZpcnN0IDQwNSAwIFIvTGFzdCA0MDcgMCBSCi9UaXRsZTxGRUZGMDA0QzAwNjUwMDYxMDA2NDAwNjUwMDcyMDA2MjAwNkYwMDYxMDA3MjAwNjQwMDIwMDA0MTAwNTAwMDQ5MDAzQT4KL0Rlc3RbMTcxIDAgUi9YWVogNTYuNyA2NTkuMSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDM5NSAwIFIvTmV4dCA0MDggMCBSPj4KZW5kb2JqCgo0MDUgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNEMwMDQ5MDA1MzAwNTQ+Ci9EZXN0WzE3MSAwIFIvWFlaIDcxLjEgNTg5LjYgMF0vUGFyZW50IDQwNCAwIFIvTmV4dCA0MDYgMCBSPj4KZW5kb2JqCgo0MDYgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDcwMDQ1MDA1ND4KL0Rlc3RbMTcxIDAgUi9YWVogNzEuMSAzODUuNyAwXS9QYXJlbnQgNDA0IDAgUi9QcmV2IDQwNSAwIFIvTmV4dCA0MDcgMCBSPj4KZW5kb2JqCgo0MDcgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNEMwMDQ1MDA0MTAwNDQwMDQ1MDA1MjAwNTM+Ci9EZXN0WzE3MSAwIFIvWFlaIDcxLjEgMTgwLjcgMF0vUGFyZW50IDQwNCAwIFIvUHJldiA0MDYgMCBSPj4KZW5kb2JqCgo0MDggMCBvYmoKPDwvQ291bnQgMy9GaXJzdCA0MDkgMCBSL0xhc3QgNDExIDAgUgovVGl0bGU8RkVGRjAwNDIwMDYxMDA2NDAwNjcwMDY1MDA3MzAwMjAwMDQxMDA1MDAwNDk+Ci9EZXN0WzE4MSAwIFIvWFlaIDU2LjcgNjU5LjEgMF0vUGFyZW50IDM1MCAwIFIvUHJldiA0MDQgMCBSL05leHQgNDEyIDAgUj4+CmVuZG9iagoKNDA5IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDRDMDA0OTAwNTMwMDU0PgovRGVzdFsxODEgMCBSL1hZWiA3MS4xIDU4OS42IDBdL1BhcmVudCA0MDggMCBSL05leHQgNDEwIDAgUj4+CmVuZG9iagoKNDEwIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDQ3MDA0NTAwNTQ+Ci9EZXN0WzE4MSAwIFIvWFlaIDcxLjEgNDAzLjggMF0vUGFyZW50IDQwOCAwIFIvUHJldiA0MDkgMCBSL05leHQgNDExIDAgUj4+CmVuZG9iagoKNDExIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDREMDA0NTAwNEQwMDQyMDA0NTAwNTIwMDUzPgovRGVzdFsxODEgMCBSL1hZWiA3MS4xIDE5OC44IDBdL1BhcmVudCA0MDggMCBSL1ByZXYgNDEwIDAgUj4+CmVuZG9iagoKNDEyIDAgb2JqCjw8L0NvdW50IDQvRmlyc3QgNDEzIDAgUi9MYXN0IDQxNiAwIFIKL1RpdGxlPEZFRkYwMDQ2MDA2MTAwNzYwMDZGMDA3MjAwNjkwMDc0MDA2NTAwNzMwMDIwMDA0MTAwNTAwMDQ5MDAzQT4KL0Rlc3RbMTkxIDAgUi9YWVogNTYuNyA2NTkuMSAwXS9QYXJlbnQgMzUwIDAgUi9QcmV2IDQwOCAwIFIvTmV4dCA0MTcgMCBSPj4KZW5kb2JqCgo0MTMgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNEMwMDQ5MDA1MzAwNTQ+Ci9EZXN0WzE5MSAwIFIvWFlaIDcxLjEgNjAzLjQgMF0vUGFyZW50IDQxMiAwIFIvTmV4dCA0MTQgMCBSPj4KZW5kb2JqCgo0MTQgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDEwMDQ0MDA0ND4KL0Rlc3RbMTkxIDAgUi9YWVogNzQuMiA0MDUuMiAwXS9QYXJlbnQgNDEyIDAgUi9QcmV2IDQxMyAwIFIvTmV4dCA0MTUgMCBSPj4KZW5kb2JqCgo0MTUgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNTAwMDNBMDAyMDAwNDkwMDUzMDA0NjAwNDEwMDU2MDA0RjAwNTIwMDQ5MDA1NDAwNDU+Ci9EZXN0WzE5MSAwIFIvWFlaIDc0LjIgMTg3LjcgMF0vUGFyZW50IDQxMiAwIFIvUHJldiA0MTQgMCBSL05leHQgNDE2IDAgUj4+CmVuZG9iagoKNDE2IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNEYwMDUwMDAzQTAwMjAwMDQ0MDA0NTAwNEMwMDQ1MDA1NDAwNDU+Ci9EZXN0WzE5NiAwIFIvWFlaIDcxLjEgNTU3LjkgMF0vUGFyZW50IDQxMiAwIFIvUHJldiA0MTUgMCBSPj4KZW5kb2JqCgo0MTcgMCBvYmoKPDwvQ291bnQgMy9GaXJzdCA0MTggMCBSL0xhc3QgNDIwIDAgUgovVGl0bGU8RkVGRjAwNTMwMDZGMDA2MzAwNjkwMDYxMDA2QzAwMjAwMDQxMDA1MDAwNDkwMDNBPgovRGVzdFsyMDEgMCBSL1hZWiA1Ni43IDY1OS4xIDBdL1BhcmVudCAzNTAgMCBSL1ByZXYgNDEyIDAgUi9OZXh0IDQyMSAwIFI+PgplbmRvYmoKCjQxOCAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0QzAwNDkwMDUzMDA1ND4KL0Rlc3RbMjAxIDAgUi9YWVogNzEuMSA1MjIuNCAwXS9QYXJlbnQgNDE3IDAgUi9OZXh0IDQxOSAwIFI+PgplbmRvYmoKCjQxOSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA0NzAwNDUwMDU0MDA0QjAwNDUwMDU5PgovRGVzdFsyMDEgMCBSL1hZWiA3MS4xIDMxNS44IDBdL1BhcmVudCA0MTcgMCBSL1ByZXYgNDE4IDAgUi9OZXh0IDQyMCAwIFI+PgplbmRvYmoKCjQyMCAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDRGMDA1MDAwM0EwMDIwMDA1MzAwNDUwMDU0MDA0QjAwNDUwMDU5PgovRGVzdFsyMDYgMCBSL1hZWiA3MS4xIDY1MyAwXS9QYXJlbnQgNDE3IDAgUi9QcmV2IDQxOSAwIFI+PgplbmRvYmoKCjQyMSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDQzMDA2ODAwNjUwMDYzMDA2QjAwNjkwMDZFMDAyMDAwNDEwMDcwMDA3MDAwNzIwMDZGMDA3NjAwNjEwMDZDMDA3MzAwM0E+Ci9EZXN0WzIxMSAwIFIvWFlaIDU2LjcgNjU5LjEgMF0vUGFyZW50IDM1MCAwIFIvUHJldiA0MTcgMCBSL05leHQgNDIyIDAgUj4+CmVuZG9iagoKNDIyIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNTMwMDYxMDA2RDAwNzAwMDZDMDA2NTAwMjAwMDQzMDA2QzAwNjkwMDY1MDA2RTAwNzQwMDNBPgovRGVzdFsyMjEgMCBSL1hZWiA1Ni43IDY1OS4xIDBdL1BhcmVudCAzNTAgMCBSL1ByZXYgNDIxIDAgUj4+CmVuZG9iagoKMzAyIDAgb2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAzNDkgMCBSCi9NZWRpYUJveFsgMCAwIDYxMiA3OTIgXQovS2lkc1sgMSAwIFIgNiAwIFIgMTEgMCBSIDE2IDAgUiAyMSAwIFIgMjYgMCBSIDMxIDAgUiAzNiAwIFIgNDEgMCBSIDQ2IDAgUiA1MSAwIFIgNTYgMCBSIDYxIDAgUiA2NiAwIFIgNzEgMCBSIDc2IDAgUgo4MSAwIFIgODYgMCBSIDkxIDAgUiA5NiAwIFIgMTAxIDAgUiAxMDYgMCBSIDExMSAwIFIgMTE2IDAgUiAxMjEgMCBSIDEyNiAwIFIgMTMxIDAgUiAxMzYgMCBSIDE0MSAwIFIgMTQ2IDAgUiAxNTEgMCBSIDE1NiAwIFIKMTYxIDAgUiAxNjYgMCBSIDE3MSAwIFIgMTc2IDAgUiAxODEgMCBSIDE4NiAwIFIgMTkxIDAgUiAxOTYgMCBSIDIwMSAwIFIgMjA2IDAgUiAyMTEgMCBSIDIxNiAwIFIgMjIxIDAgUiBdCi9Db3VudCA0NT4+CmVuZG9iagoKMjI2IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDYzOC45IDU1NS41IDY1Mi43XS9EZXN0WzE2IDAgUi9YWVogNTYuNyA2NTkuMSAwXT4+CmVuZG9iagoKMjI3IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDI0My4zIDU1NS41IDI1Ny4xXS9EZXN0WzIyMSAwIFIvWFlaIDU2LjcgNjU5LjEgMF0+PgplbmRvYmoKCjIyOCAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNzAuMiAyNTcuMSA1NTUuNSAyNzAuOV0vRGVzdFsyMTEgMCBSL1hZWiA1Ni43IDY1OS4xIDBdPj4KZW5kb2JqCgoyMjkgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgMjcwLjkgNTU1LjUgMjg0LjddL0Rlc3RbMjA2IDAgUi9YWVogNzEuMSA2NTMgMF0+PgplbmRvYmoKCjIzMCAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyAyODQuNyA1NTUuNSAyOTguNV0vRGVzdFsyMDEgMCBSL1hZWiA3MS4xIDMxNS44IDBdPj4KZW5kb2JqCgoyMzEgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgMjk4LjUgNTU1LjUgMzEyLjNdL0Rlc3RbMjAxIDAgUi9YWVogNzEuMSA1MjIuNCAwXT4+CmVuZG9iagoKMjMyIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDMxMi4zIDU1NS41IDMyNi4xXS9EZXN0WzIwMSAwIFIvWFlaIDU2LjcgNjU5LjEgMF0+PgplbmRvYmoKCjIzMyAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyAzMjYuMSA1NTUuNSAzMzkuOV0vRGVzdFsxOTYgMCBSL1hZWiA3MS4xIDU1Ny45IDBdPj4KZW5kb2JqCgoyMzQgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgMzM5LjkgNTU1LjUgMzUzLjddL0Rlc3RbMTkxIDAgUi9YWVogNzQuMiAxODcuNyAwXT4+CmVuZG9iagoKMjM1IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDM1My43IDU1NS41IDM2Ny41XS9EZXN0WzE5MSAwIFIvWFlaIDc0LjIgNDA1LjIgMF0+PgplbmRvYmoKCjIzNiAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyAzNjcuNSA1NTUuNSAzODEuM10vRGVzdFsxOTEgMCBSL1hZWiA3MS4xIDYwMy40IDBdPj4KZW5kb2JqCgoyMzcgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzcwLjIgMzgxLjMgNTU1LjUgMzk1LjFdL0Rlc3RbMTkxIDAgUi9YWVogNTYuNyA2NTkuMSAwXT4+CmVuZG9iagoKMjM4IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDM5NS4xIDU1NS41IDQwOC45XS9EZXN0WzE4MSAwIFIvWFlaIDcxLjEgMTk4LjggMF0+PgplbmRvYmoKCjIzOSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyA0MDguOSA1NTUuNSA0MjIuN10vRGVzdFsxODEgMCBSL1hZWiA3MS4xIDQwMy44IDBdPj4KZW5kb2JqCgoyNDAgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgNDIyLjcgNTU1LjUgNDM2LjVdL0Rlc3RbMTgxIDAgUi9YWVogNzEuMSA1ODkuNiAwXT4+CmVuZG9iagoKMjQxIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDQzNi41IDU1NS41IDQ1MC4zXS9EZXN0WzE4MSAwIFIvWFlaIDU2LjcgNjU5LjEgMF0+PgplbmRvYmoKCjI0MiAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyA0NTAuMyA1NTUuNSA0NjQuMV0vRGVzdFsxNzEgMCBSL1hZWiA3MS4xIDE4MC43IDBdPj4KZW5kb2JqCgoyNDMgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgNDY0LjEgNTU1LjUgNDc3LjldL0Rlc3RbMTcxIDAgUi9YWVogNzEuMSAzODUuNyAwXT4+CmVuZG9iagoKMjQ0IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDQ3Ny45IDU1NS41IDQ5MS43XS9EZXN0WzE3MSAwIFIvWFlaIDcxLjEgNTg5LjYgMF0+PgplbmRvYmoKCjI0NSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNzAuMiA0OTEuNyA1NTUuNSA1MDUuNV0vRGVzdFsxNzEgMCBSL1hZWiA1Ni43IDY1OS4xIDBdPj4KZW5kb2JqCgoyNDYgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgNTA1LjUgNTU1LjUgNTE5LjNdL0Rlc3RbMTY2IDAgUi9YWVogNzEuMSA2MjAgMF0+PgplbmRvYmoKCjI0NyAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyA1MTkuMyA1NTUuNSA1MzMuMV0vRGVzdFsxNjEgMCBSL1hZWiA3MS4xIDQyNiAwXT4+CmVuZG9iagoKMjQ4IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDUzMy4xIDU1NS41IDU0Ni45XS9EZXN0WzE2MSAwIFIvWFlaIDcxLjEgNjcxLjEgMF0+PgplbmRvYmoKCjI0OSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyA1NDYuOSA1NTUuNSA1NjAuN10vRGVzdFsxNTYgMCBSL1hZWiA3MS4xIDMxNy4xIDBdPj4KZW5kb2JqCgoyNTAgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgNTYwLjcgNTU1LjUgNTc0LjVdL0Rlc3RbMTU2IDAgUi9YWVogNzEuMSA2MzMuOCAwXT4+CmVuZG9iagoKMjUxIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDU3NC41IDU1NS41IDU4OC4zXS9EZXN0WzE1MSAwIFIvWFlaIDcxLjEgMzU5LjkgMF0+PgplbmRvYmoKCjI1MiAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyA1ODguMyA1NTUuNSA2MDIuMV0vRGVzdFsxNTEgMCBSL1hZWiA3MS4xIDY3MS4xIDBdPj4KZW5kb2JqCgoyNTMgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgNjAyLjEgNTU1LjUgNjE1LjldL0Rlc3RbMTQ2IDAgUi9YWVogNzEuMSA1MzYuMiAwXT4+CmVuZG9iagoKMjU0IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDYxNS45IDU1NS41IDYyOS43XS9EZXN0WzE0NiAwIFIvWFlaIDU2LjcgNjU5LjEgMF0+PgplbmRvYmoKCjI1NSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyA2MjkuNyA1NTUuNSA2NDMuNV0vRGVzdFsxNDEgMCBSL1hZWiA3MS4xIDU4OS42IDBdPj4KZW5kb2JqCgoyNTYgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzcwLjIgNjQzLjUgNTU1LjUgNjU3LjNdL0Rlc3RbMTQxIDAgUi9YWVogNTYuNyA2NTkuMSAwXT4+CmVuZG9iagoKMjU3IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDY1Ny4zIDU1NS41IDY3MS4xXS9EZXN0WzEzMSAwIFIvWFlaIDcxLjEgNDIxLjcgMF0+PgplbmRvYmoKCjI1OCAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyAxMDAuNyA1NTUuNSAxMTQuNV0vRGVzdFsxMjEgMCBSL1hZWiA3MS4xIDE5MS40IDBdPj4KZW5kb2JqCgoyNTkgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgMTE0LjUgNTU1LjUgMTI4LjNdL0Rlc3RbMTIxIDAgUi9YWVogNzEuMSAzODkuNyAwXT4+CmVuZG9iagoKMjYwIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDEyOC4zIDU1NS41IDE0Mi4xXS9EZXN0WzEyMSAwIFIvWFlaIDcxLjEgNDU3LjggMF0+PgplbmRvYmoKCjI2MSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyAxNDIuMSA1NTUuNSAxNTUuOV0vRGVzdFsxMTYgMCBSL1hZWiA3MS4xIDE1MC45IDBdPj4KZW5kb2JqCgoyNjIgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgMTU1LjkgNTU1LjUgMTY5LjddL0Rlc3RbMTE2IDAgUi9YWVogNzEuMSA0OTEgMF0+PgplbmRvYmoKCjI2MyAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyAxNjkuNyA1NTUuNSAxODMuNV0vRGVzdFsxMTEgMCBSL1hZWiA3MS4xIDU3OS41IDBdPj4KZW5kb2JqCgoyNjQgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0Wzg0LjMgMTgzLjUgNTU1LjUgMTk3LjNdL0Rlc3RbMTA2IDAgUi9YWVogNzEuMSA2MzQuOSAwXT4+CmVuZG9iagoKMjY1IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDE5Ny4zIDU1NS41IDIxMS4xXS9EZXN0Wzk2IDAgUi9YWVogNzEuMSAyMTMuNSAwXT4+CmVuZG9iagoKMjY2IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDIxMS4xIDU1NS41IDIyNC45XS9EZXN0Wzk2IDAgUi9YWVogNzEuMSA0MTAuNiAwXT4+CmVuZG9iagoKMjY3IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDIyNC45IDU1NS41IDIzOC43XS9EZXN0Wzk2IDAgUi9YWVogNzEuMSA1ODkuNiAwXT4+CmVuZG9iagoKMjY4IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDIzOC43IDU1NS41IDI1Mi41XS9EZXN0Wzk2IDAgUi9YWVogNTYuNyA2NTkuMSAwXT4+CmVuZG9iagoKMjY5IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDI1Mi41IDU1NS41IDI2Ni4zXS9EZXN0Wzg2IDAgUi9YWVogNzEuMSAzMjcuOCAwXT4+CmVuZG9iagoKMjcwIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDI2Ni4zIDU1NS41IDI4MC4xXS9EZXN0Wzg2IDAgUi9YWVogNzEuMSA1NzcuMiAwXT4+CmVuZG9iagoKMjcxIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDI4MC4xIDU1NS41IDI5My45XS9EZXN0WzgxIDAgUi9YWVogNzEuMSAyMDguNSAwXT4+CmVuZG9iagoKMjcyIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDI5My45IDU1NS41IDMwNy43XS9EZXN0WzgxIDAgUi9YWVogNzEuMSA0MzkuOCAwXT4+CmVuZG9iagoKMjczIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDMwNy43IDU1NS41IDMyMS41XS9EZXN0WzgxIDAgUi9YWVogNzEuMSA2NzEuMSAwXT4+CmVuZG9iagoKMjc0IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDMyMS41IDU1NS41IDMzNS4zXS9EZXN0Wzc2IDAgUi9YWVogNzEuMSAzMzkuMSAwXT4+CmVuZG9iagoKMjc1IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDMzNS4zIDU1NS41IDM0OS4xXS9EZXN0Wzc2IDAgUi9YWVogNzEuMSA1ODkuNiAwXT4+CmVuZG9iagoKMjc2IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDM0OS4xIDU1NS41IDM2Mi45XS9EZXN0Wzc2IDAgUi9YWVogNTYuNyA2NTkuMSAwXT4+CmVuZG9iagoKMjc3IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDM2Mi45IDU1NS41IDM3Ni43XS9EZXN0WzY2IDAgUi9YWVogNzEuMiAyNjcuNyAwXT4+CmVuZG9iagoKMjc4IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDM3Ni43IDU1NS41IDM5MC41XS9EZXN0WzY2IDAgUi9YWVogNzEuMSA2MTQuNSAwXT4+CmVuZG9iagoKMjc5IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDM5MC41IDU1NS41IDQwNC4zXS9EZXN0WzYxIDAgUi9YWVogNzEuMSAzOTQuMSAwXT4+CmVuZG9iagoKMjgwIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDQwNC4zIDU1NS41IDQxOC4xXS9EZXN0WzYxIDAgUi9YWVogNzEuMSA2NzEuMSAwXT4+CmVuZG9iagoKMjgxIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDQxOC4xIDU1NS41IDQzMS45XS9EZXN0WzU2IDAgUi9YWVogNzEuMSAzMzUuMiAwXT4+CmVuZG9iagoKMjgyIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDQzMS45IDU1NS41IDQ0NS43XS9EZXN0WzU2IDAgUi9YWVogNzEuMSA1ODAuMyAwXT4+CmVuZG9iagoKMjgzIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDQ0NS43IDU1NS41IDQ1OS41XS9EZXN0WzUxIDAgUi9YWVogNzEuMSAyOTMuNCAwXT4+CmVuZG9iagoKMjg0IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs4NC4zIDQ1OS41IDU1NS41IDQ3My4zXS9EZXN0WzUxIDAgUi9YWVogNzEuMSA2MDMuNCAwXT4+CmVuZG9iagoKMjg1IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDQ3My4zIDU1NS41IDQ4Ny4xXS9EZXN0WzUxIDAgUi9YWVogNTYuNyA2NTkuMSAwXT4+CmVuZG9iagoKMjg2IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDQ4Ny4xIDU1NS41IDUwMC45XS9EZXN0WzQxIDAgUi9YWVogNTYuNyA0MDQuMSAwXT4+CmVuZG9iagoKMjg3IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDUwMC45IDU1NS41IDUxNC43XS9EZXN0WzQxIDAgUi9YWVogNTYuNyA1MTEuNSAwXT4+CmVuZG9iagoKMjg4IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDUxNC43IDU1NS41IDUyOC41XS9EZXN0WzQxIDAgUi9YWVogNTYuNyA1OTEuMyAwXT4+CmVuZG9iagoKMjg5IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDUyOC41IDU1NS41IDU0Mi4zXS9EZXN0WzQxIDAgUi9YWVogNTYuNyA2NzEuMSAwXT4+CmVuZG9iagoKMjkwIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDU0Mi4zIDU1NS41IDU1Ni4xXS9EZXN0WzM2IDAgUi9YWVogNTYuNyAzMjYuMSAwXT4+CmVuZG9iagoKMjkxIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDU1Ni4xIDU1NS41IDU2OS45XS9EZXN0WzM2IDAgUi9YWVogNTYuNyA0MDUuOSAwXT4+CmVuZG9iagoKMjkyIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFs3MC4yIDU2OS45IDU1NS41IDU4My43XS9EZXN0WzMxIDAgUi9YWVogNTYuNyA0NTEgMF0+PgplbmRvYmoKCjI5MyAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNzAuMiA1ODMuNyA1NTUuNSA1OTcuNV0vRGVzdFszMSAwIFIvWFlaIDU2LjcgNjcxLjEgMF0+PgplbmRvYmoKCjI5NCAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNzAuMiA1OTcuNSA1NTUuNSA2MTEuM10vRGVzdFsyNiAwIFIvWFlaIDU2LjcgNjA5LjEgMF0+PgplbmRvYmoKCjI5NSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNzAuMiA2MTEuMyA1NTUuNSA2MjUuMV0vRGVzdFsyMSAwIFIvWFlaIDU2LjcgMzQ4LjQgMF0+PgplbmRvYmoKCjI5NiAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbODQuMyA4Ni45IDU1NS41IDEwMC43XS9EZXN0WzEyNiAwIFIvWFlaIDcxLjEgNTU5LjEgMF0+PgplbmRvYmoKCjI5NyAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNzAuMiA2MjUuMSA1NTUuNSA2MzguOV0vRGVzdFsyMSAwIFIvWFlaIDU2LjcgNjU5LjEgMF0+PgplbmRvYmoKCjI5OCAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbMTY4LjQgNDA2LjkgMzA4LjYgNDIwLjddL0E8PC9UeXBlL0FjdGlvbi9TL1VSSS9VUkkobWFpbHRvOnNvbWVib2R5QHNvbWV3aGVyZS5jb20pPj4KPj4KZW5kb2JqCgoyOTkgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzE4OC40IDQ0My4xIDMyOC42IDQ1Ni45XS9BPDwvVHlwZS9BY3Rpb24vUy9VUkkvVVJJKG1haWx0bzpzb21lYm9keUBzb21ld2hlcmUuY29tKT4+Cj4+CmVuZG9iagoKMzAwIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFsxNTYuNCAzNTAuNiAzODUuMiAzNjQuNF0vQTw8L1R5cGUvQWN0aW9uL1MvVVJJL1VSSShodHRwOi8vYmx1ZWltcC5naXRodWIuY29tL2pRdWVyeS1GaWxlLVVwbG9hZC8pPj4KPj4KZW5kb2JqCgozMDEgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzIxNy44IDEwOC4yIDM2My43IDExOS45XS9BPDwvVHlwZS9BY3Rpb24vUy9VUkkvVVJJKGh0dHA6Ly9teXNpdGUuY29tL2FwcC92MSk+Pgo+PgplbmRvYmoKCjQyMyAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMzAyIDAgUgovT3BlbkFjdGlvblsxIDAgUiAvWFlaIG51bGwgbnVsbCAwXQovVmlld2VyUHJlZmVyZW5jZXM8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZQo+PgovT3V0bGluZXMgMzUwIDAgUgovTGFuZyhlbi1VUykKPj4KZW5kb2JqCgo0MjQgMCBvYmoKPDwvVGl0bGU8RkVGRjAwNDMwMDQ3MDA1MzAwNkYwMDYzMDA2OTAwNjEwMDZDMDA0MTAwNzAwMDcwMDAyMDAwNTIwMDY1MDA3MzAwNzQwMDY2MDA3NTAwNkMwMDIwMDA0MTAwNTAwMDQ5MDAyMDAwNTIwMDY1MDA2NjAwNjUwMDcyMDA2NTAwNkUwMDYzMDA2NT4KL0F1dGhvcjxGRUZGMDA1MjAwNkYwMDYyMDA2NTAwNzIwMDc0MDAyMDAwNDMwMDYxMDA2RDAwNzAwMDYyMDA2NTAwNkMwMDZDPgovQ3JlYXRvcjxGRUZGMDA1NzAwNzIwMDY5MDA3NDAwNjUwMDcyPgovUHJvZHVjZXI8RkVGRjAwNEMwMDY5MDA2MjAwNzIwMDY1MDA0RjAwNjYwMDY2MDA2OTAwNjMwMDY1MDAyMDAwMzMwMDJFMDAzNj4KL0NyZWF0aW9uRGF0ZShEOjIwMTMwNTAxMDg0MjA1LTA2JzAwJyk+PgplbmRvYmoKCnhyZWYKMCA0MjUKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMTc4MTUxIDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAKMDAwMDAwMDY4OCAwMDAwMCBuIAowMDAwMDAwNzA4IDAwMDAwIG4gCjAwMDAwMDA4ODUgMDAwMDAgbiAKMDAwMDE3ODI5NyAwMDAwMCBuIAowMDAwMDAwOTI1IDAwMDAwIG4gCjAwMDAwMDI4NzkgMDAwMDAgbiAKMDAwMDAwMjkwMCAwMDAwMCBuIAowMDAwMDAzMDc3IDAwMDAwIG4gCjAwMDAxNzg3ODIgMDAwMDAgbiAKMDAwMDAwMzExOCAwMDAwMCBuIAowMDAwMDA0NTQzIDAwMDAwIG4gCjAwMDAwMDQ1NjUgMDAwMDAgbiAKMDAwMDAwNDc0MyAwMDAwMCBuIAowMDAwMTc5MTg5IDAwMDAwIG4gCjAwMDAwMDQ3ODQgMDAwMDAgbiAKMDAwMDAwNjEzNyAwMDAwMCBuIAowMDAwMDA2MTU5IDAwMDAwIG4gCjAwMDAwMDYzMzcgMDAwMDAgbiAKMDAwMDE3OTMzNyAwMDAwMCBuIAowMDAwMDA2Mzc4IDAwMDAwIG4gCjAwMDAwMDg1MzkgMDAwMDAgbiAKMDAwMDAwODU2MSAwMDAwMCBuIAowMDAwMDA4NzM5IDAwMDAwIG4gCjAwMDAxNzk0ODUgMDAwMDAgbiAKMDAwMDAwODc4MCAwMDAwMCBuIAowMDAwMDExMzQ2IDAwMDAwIG4gCjAwMDAwMTEzNjggMDAwMDAgbiAKMDAwMDAxMTU0NiAwMDAwMCBuIAowMDAwMTc5NjMzIDAwMDAwIG4gCjAwMDAwMTE1ODcgMDAwMDAgbiAKMDAwMDAxMzQyNCAwMDAwMCBuIAowMDAwMDEzNDQ2IDAwMDAwIG4gCjAwMDAwMTM2MjQgMDAwMDAgbiAKMDAwMDE3OTc4MSAwMDAwMCBuIAowMDAwMDEzNjY1IDAwMDAwIG4gCjAwMDAwMTU5NTggMDAwMDAgbiAKMDAwMDAxNTk4MCAwMDAwMCBuIAowMDAwMDE2MTU4IDAwMDAwIG4gCjAwMDAxNzk5MjkgMDAwMDAgbiAKMDAwMDAxNjE5OSAwMDAwMCBuIAowMDAwMDE4NzIwIDAwMDAwIG4gCjAwMDAwMTg3NDIgMDAwMDAgbiAKMDAwMDAxODkyMCAwMDAwMCBuIAowMDAwMTgwMDk2IDAwMDAwIG4gCjAwMDAwMTg5NjEgMDAwMDAgbiAKMDAwMDAyMDIxMSAwMDAwMCBuIAowMDAwMDIwMjMzIDAwMDAwIG4gCjAwMDAwMjA0MTEgMDAwMDAgbiAKMDAwMDE4MDI0NCAwMDAwMCBuIAowMDAwMDIwNDUyIDAwMDAwIG4gCjAwMDAwMjIyNTEgMDAwMDAgbiAKMDAwMDAyMjI3MyAwMDAwMCBuIAowMDAwMDIyNDUxIDAwMDAwIG4gCjAwMDAxODAzOTIgMDAwMDAgbiAKMDAwMDAyMjQ5MiAwMDAwMCBuIAowMDAwMDIzNzgwIDAwMDAwIG4gCjAwMDAwMjM4MDIgMDAwMDAgbiAKMDAwMDAyMzk4MCAwMDAwMCBuIAowMDAwMTgwNTQwIDAwMDAwIG4gCjAwMDAwMjQwMjEgMDAwMDAgbiAKMDAwMDAyNTgzMyAwMDAwMCBuIAowMDAwMDI1ODU1IDAwMDAwIG4gCjAwMDAwMjYwMzMgMDAwMDAgbiAKMDAwMDE4MDY4OCAwMDAwMCBuIAowMDAwMDI2MDc0IDAwMDAwIG4gCjAwMDAwMjc3NzUgMDAwMDAgbiAKMDAwMDAyNzc5NyAwMDAwMCBuIAowMDAwMDI3OTc1IDAwMDAwIG4gCjAwMDAxODA4MzYgMDAwMDAgbiAKMDAwMDAyODAxNiAwMDAwMCBuIAowMDAwMDI4NDg3IDAwMDAwIG4gCjAwMDAwMjg1MDggMDAwMDAgbiAKMDAwMDAyODY4NiAwMDAwMCBuIAowMDAwMTgwOTg0IDAwMDAwIG4gCjAwMDAwMjg3MjcgMDAwMDAgbiAKMDAwMDAzMDMyMiAwMDAwMCBuIAowMDAwMDMwMzQ0IDAwMDAwIG4gCjAwMDAwMzA1MjIgMDAwMDAgbiAKMDAwMDE4MTEzMiAwMDAwMCBuIAowMDAwMDMwNTYzIDAwMDAwIG4gCjAwMDAwMzE4MDIgMDAwMDAgbiAKMDAwMDAzMTgyNCAwMDAwMCBuIAowMDAwMDMyMDAyIDAwMDAwIG4gCjAwMDAxODEyODAgMDAwMDAgbiAKMDAwMDAzMjA0MyAwMDAwMCBuIAowMDAwMDMzNDUxIDAwMDAwIG4gCjAwMDAwMzM0NzMgMDAwMDAgbiAKMDAwMDAzMzY1MSAwMDAwMCBuIAowMDAwMTgxNDI4IDAwMDAwIG4gCjAwMDAwMzM2OTIgMDAwMDAgbiAKMDAwMDAzNDIyMyAwMDAwMCBuIAowMDAwMDM0MjQ0IDAwMDAwIG4gCjAwMDAwMzQ0MjIgMDAwMDAgbiAKMDAwMDE4MTU3NiAwMDAwMCBuIAowMDAwMDM0NDYzIDAwMDAwIG4gCjAwMDAwMzYxOTQgMDAwMDAgbiAKMDAwMDAzNjIxNiAwMDAwMCBuIAowMDAwMDM2Mzk0IDAwMDAwIG4gCjAwMDAxODE3MjQgMDAwMDAgbiAKMDAwMDAzNjQzNiAwMDAwMCBuIAowMDAwMDM4NDY0IDAwMDAwIG4gCjAwMDAwMzg0ODcgMDAwMDAgbiAKMDAwMDAzODY2NiAwMDAwMCBuIAowMDAwMTgxODc0IDAwMDAwIG4gCjAwMDAwMzg3MDggMDAwMDAgbiAKMDAwMDA0MDU1NCAwMDAwMCBuIAowMDAwMDQwNTc3IDAwMDAwIG4gCjAwMDAwNDA3NTYgMDAwMDAgbiAKMDAwMDE4MjAyNCAwMDAwMCBuIAowMDAwMDQwNzk4IDAwMDAwIG4gCjAwMDAwNDI2NDQgMDAwMDAgbiAKMDAwMDA0MjY2NyAwMDAwMCBuIAowMDAwMDQyODQ2IDAwMDAwIG4gCjAwMDAxODIxNzQgMDAwMDAgbiAKMDAwMDA0Mjg4OCAwMDAwMCBuIAowMDAwMDQ0OTExIDAwMDAwIG4gCjAwMDAwNDQ5MzQgMDAwMDAgbiAKMDAwMDA0NTExMyAwMDAwMCBuIAowMDAwMTgyMzQzIDAwMDAwIG4gCjAwMDAwNDUxNTUgMDAwMDAgbiAKMDAwMDA0NjYxOCAwMDAwMCBuIAowMDAwMDQ2NjQxIDAwMDAwIG4gCjAwMDAwNDY4MjAgMDAwMDAgbiAKMDAwMDE4MjQ5MyAwMDAwMCBuIAowMDAwMDQ2ODYyIDAwMDAwIG4gCjAwMDAwNDg5NTYgMDAwMDAgbiAKMDAwMDA0ODk3OSAwMDAwMCBuIAowMDAwMDQ5MTU4IDAwMDAwIG4gCjAwMDAxODI2NDMgMDAwMDAgbiAKMDAwMDA0OTIwMCAwMDAwMCBuIAowMDAwMDUxNTUxIDAwMDAwIG4gCjAwMDAwNTE1NzQgMDAwMDAgbiAKMDAwMDA1MTc1MyAwMDAwMCBuIAowMDAwMTgyNzkzIDAwMDAwIG4gCjAwMDAwNTE3OTUgMDAwMDAgbiAKMDAwMDA1MzUwMCAwMDAwMCBuIAowMDAwMDUzNTIzIDAwMDAwIG4gCjAwMDAwNTM3MDIgMDAwMDAgbiAKMDAwMDE4Mjk0MyAwMDAwMCBuIAowMDAwMDUzNzQ0IDAwMDAwIG4gCjAwMDAwNTQ4NDYgMDAwMDAgbiAKMDAwMDA1NDg2OSAwMDAwMCBuIAowMDAwMDU1MDQ4IDAwMDAwIG4gCjAwMDAxODMwOTMgMDAwMDAgbiAKMDAwMDA1NTA5MCAwMDAwMCBuIAowMDAwMDU3Mzg3IDAwMDAwIG4gCjAwMDAwNTc0MTAgMDAwMDAgbiAKMDAwMDA1NzU4OSAwMDAwMCBuIAowMDAwMTgzMjQzIDAwMDAwIG4gCjAwMDAwNTc2MzEgMDAwMDAgbiAKMDAwMDA1OTMwMSAwMDAwMCBuIAowMDAwMDU5MzI0IDAwMDAwIG4gCjAwMDAwNTk1MDMgMDAwMDAgbiAKMDAwMDE4MzM5MyAwMDAwMCBuIAowMDAwMDU5NTQ1IDAwMDAwIG4gCjAwMDAwNjEyODYgMDAwMDAgbiAKMDAwMDA2MTMwOSAwMDAwMCBuIAowMDAwMDYxNDg4IDAwMDAwIG4gCjAwMDAxODM1NDMgMDAwMDAgbiAKMDAwMDA2MTUzMCAwMDAwMCBuIAowMDAwMDYzMTc3IDAwMDAwIG4gCjAwMDAwNjMyMDAgMDAwMDAgbiAKMDAwMDA2MzM3OSAwMDAwMCBuIAowMDAwMTgzNjkzIDAwMDAwIG4gCjAwMDAwNjM0MjEgMDAwMDAgbiAKMDAwMDA2NDc4NSAwMDAwMCBuIAowMDAwMDY0ODA4IDAwMDAwIG4gCjAwMDAwNjQ5ODcgMDAwMDAgbiAKMDAwMDE4Mzg0MyAwMDAwMCBuIAowMDAwMDY1MDI5IDAwMDAwIG4gCjAwMDAwNjY1NjkgMDAwMDAgbiAKMDAwMDA2NjU5MiAwMDAwMCBuIAowMDAwMDY2NzcxIDAwMDAwIG4gCjAwMDAxODM5OTMgMDAwMDAgbiAKMDAwMDA2NjgxMyAwMDAwMCBuIAowMDAwMDY3NzAxIDAwMDAwIG4gCjAwMDAwNjc3MjMgMDAwMDAgbiAKMDAwMDA2NzkwMiAwMDAwMCBuIAowMDAwMTg0MTQzIDAwMDAwIG4gCjAwMDAwNjc5NDQgMDAwMDAgbiAKMDAwMDA2OTM5NSAwMDAwMCBuIAowMDAwMDY5NDE4IDAwMDAwIG4gCjAwMDAwNjk1OTcgMDAwMDAgbiAKMDAwMDE4NDI5MyAwMDAwMCBuIAowMDAwMDY5NjM5IDAwMDAwIG4gCjAwMDAwNzA0NjUgMDAwMDAgbiAKMDAwMDA3MDQ4NyAwMDAwMCBuIAowMDAwMDcwNjY2IDAwMDAwIG4gCjAwMDAxODQ0NDMgMDAwMDAgbiAKMDAwMDA3MDcwOCAwMDAwMCBuIAowMDAwMDcyMzQ0IDAwMDAwIG4gCjAwMDAwNzIzNjcgMDAwMDAgbiAKMDAwMDA3MjU0NiAwMDAwMCBuIAowMDAwMTg0NTkzIDAwMDAwIG4gCjAwMDAwNzI1ODggMDAwMDAgbiAKMDAwMDA3MzY2OCAwMDAwMCBuIAowMDAwMDczNjkxIDAwMDAwIG4gCjAwMDAwNzM4NzAgMDAwMDAgbiAKMDAwMDE4NDc0MyAwMDAwMCBuIAowMDAwMDczOTEyIDAwMDAwIG4gCjAwMDAwNzU4MzUgMDAwMDAgbiAKMDAwMDA3NTg1OCAwMDAwMCBuIAowMDAwMDc2MDM3IDAwMDAwIG4gCjAwMDAxODQ4OTMgMDAwMDAgbiAKMDAwMDA3NjA3OSAwMDAwMCBuIAowMDAwMDc3Mzc0IDAwMDAwIG4gCjAwMDAwNzczOTcgMDAwMDAgbiAKMDAwMDA3NzU3NiAwMDAwMCBuIAowMDAwMTg1MDQzIDAwMDAwIG4gCjAwMDAwNzc2MTggMDAwMDAgbiAKMDAwMDA4MDAxNCAwMDAwMCBuIAowMDAwMDgwMDM3IDAwMDAwIG4gCjAwMDAwODAyMTYgMDAwMDAgbiAKMDAwMDE4NTE5MyAwMDAwMCBuIAowMDAwMDgwMjU4IDAwMDAwIG4gCjAwMDAwODA2MTEgMDAwMDAgbiAKMDAwMDA4MDYzMyAwMDAwMCBuIAowMDAwMDgwODEyIDAwMDAwIG4gCjAwMDAxODUzNDMgMDAwMDAgbiAKMDAwMDA4MDg1NCAwMDAwMCBuIAowMDAwMDgyMDk3IDAwMDAwIG4gCjAwMDAwODIxMjAgMDAwMDAgbiAKMDAwMDA4MjI5OSAwMDAwMCBuIAowMDAwMTk3NTQxIDAwMDAwIG4gCjAwMDAxOTc2NjEgMDAwMDAgbiAKMDAwMDE5Nzc4MiAwMDAwMCBuIAowMDAwMTk3OTAzIDAwMDAwIG4gCjAwMDAxOTgwMjIgMDAwMDAgbiAKMDAwMDE5ODE0MyAwMDAwMCBuIAowMDAwMTk4MjY0IDAwMDAwIG4gCjAwMDAxOTgzODUgMDAwMDAgbiAKMDAwMDE5ODUwNiAwMDAwMCBuIAowMDAwMTk4NjI3IDAwMDAwIG4gCjAwMDAxOTg3NDggMDAwMDAgbiAKMDAwMDE5ODg2OSAwMDAwMCBuIAowMDAwMTk4OTkwIDAwMDAwIG4gCjAwMDAxOTkxMTEgMDAwMDAgbiAKMDAwMDE5OTIzMiAwMDAwMCBuIAowMDAwMTk5MzUzIDAwMDAwIG4gCjAwMDAxOTk0NzQgMDAwMDAgbiAKMDAwMDE5OTU5NSAwMDAwMCBuIAowMDAwMTk5NzE2IDAwMDAwIG4gCjAwMDAxOTk4MzcgMDAwMDAgbiAKMDAwMDE5OTk1OCAwMDAwMCBuIAowMDAwMjAwMDc3IDAwMDAwIG4gCjAwMDAyMDAxOTYgMDAwMDAgbiAKMDAwMDIwMDMxNyAwMDAwMCBuIAowMDAwMjAwNDM4IDAwMDAwIG4gCjAwMDAyMDA1NTkgMDAwMDAgbiAKMDAwMDIwMDY4MCAwMDAwMCBuIAowMDAwMjAwODAxIDAwMDAwIG4gCjAwMDAyMDA5MjIgMDAwMDAgbiAKMDAwMDIwMTA0MyAwMDAwMCBuIAowMDAwMjAxMTY0IDAwMDAwIG4gCjAwMDAyMDEyODUgMDAwMDAgbiAKMDAwMDIwMTQwNiAwMDAwMCBuIAowMDAwMjAxNTI3IDAwMDAwIG4gCjAwMDAyMDE2NDggMDAwMDAgbiAKMDAwMDIwMTc2OSAwMDAwMCBuIAowMDAwMjAxODkwIDAwMDAwIG4gCjAwMDAyMDIwMDkgMDAwMDAgbiAKMDAwMDIwMjEzMCAwMDAwMCBuIAowMDAwMjAyMjUxIDAwMDAwIG4gCjAwMDAyMDIzNzEgMDAwMDAgbiAKMDAwMDIwMjQ5MSAwMDAwMCBuIAowMDAwMjAyNjExIDAwMDAwIG4gCjAwMDAyMDI3MzEgMDAwMDAgbiAKMDAwMDIwMjg1MSAwMDAwMCBuIAowMDAwMjAyOTcxIDAwMDAwIG4gCjAwMDAyMDMwOTEgMDAwMDAgbiAKMDAwMDIwMzIxMSAwMDAwMCBuIAowMDAwMjAzMzMxIDAwMDAwIG4gCjAwMDAyMDM0NTEgMDAwMDAgbiAKMDAwMDIwMzU3MSAwMDAwMCBuIAowMDAwMjAzNjkxIDAwMDAwIG4gCjAwMDAyMDM4MTEgMDAwMDAgbiAKMDAwMDIwMzkzMSAwMDAwMCBuIAowMDAwMjA0MDUxIDAwMDAwIG4gCjAwMDAyMDQxNzEgMDAwMDAgbiAKMDAwMDIwNDI5MSAwMDAwMCBuIAowMDAwMjA0NDExIDAwMDAwIG4gCjAwMDAyMDQ1MzEgMDAwMDAgbiAKMDAwMDIwNDY1MSAwMDAwMCBuIAowMDAwMjA0NzcxIDAwMDAwIG4gCjAwMDAyMDQ4OTEgMDAwMDAgbiAKMDAwMDIwNTAxMSAwMDAwMCBuIAowMDAwMjA1MTMxIDAwMDAwIG4gCjAwMDAyMDUyNTEgMDAwMDAgbiAKMDAwMDIwNTM3MSAwMDAwMCBuIAowMDAwMjA1NDkxIDAwMDAwIG4gCjAwMDAyMDU2MDkgMDAwMDAgbiAKMDAwMDIwNTcyOSAwMDAwMCBuIAowMDAwMjA1ODQ5IDAwMDAwIG4gCjAwMDAyMDU5NjkgMDAwMDAgbiAKMDAwMDIwNjA4OSAwMDAwMCBuIAowMDAwMjA2MjA5IDAwMDAwIG4gCjAwMDAyMDYzNjAgMDAwMDAgbiAKMDAwMDIwNjUxMSAwMDAwMCBuIAowMDAwMjA2Njc4IDAwMDAwIG4gCjAwMDAxOTcxMDYgMDAwMDAgbiAKMDAwMDA4MjM0MSAwMDAwMCBuIAowMDAwMDkwMDE1IDAwMDAwIG4gCjAwMDAwOTAwMzggMDAwMDAgbiAKMDAwMDA5MDI0NyAwMDAwMCBuIAowMDAwMDkwNjQwIDAwMDAwIG4gCjAwMDAwOTA4OTcgMDAwMDAgbiAKMDAwMDA5NTM3OCAwMDAwMCBuIAowMDAwMDk1NDAxIDAwMDAwIG4gCjAwMDAwOTU2MDcgMDAwMDAgbiAKMDAwMDA5NTkzOCAwMDAwMCBuIAowMDAwMDk2MTQwIDAwMDAwIG4gCjAwMDAxMDczMzYgMDAwMDAgbiAKMDAwMDEwNzM2MCAwMDAwMCBuIAowMDAwMTA3NTc0IDAwMDAwIG4gCjAwMDAxMDgwMzYgMDAwMDAgbiAKMDAwMDEwODM2NCAwMDAwMCBuIAowMDAwMTIxMTY0IDAwMDAwIG4gCjAwMDAxMjExODggMDAwMDAgbiAKMDAwMDEyMTM4NyAwMDAwMCBuIAowMDAwMTIxOTc2IDAwMDAwIG4gCjAwMDAxMjI0MDkgMDAwMDAgbiAKMDAwMDEyODY0MiAwMDAwMCBuIAowMDAwMTI4NjY1IDAwMDAwIG4gCjAwMDAxMjg4NjIgMDAwMDAgbiAKMDAwMDEyOTE2NyAwMDAwMCBuIAowMDAwMTI5MzM5IDAwMDAwIG4gCjAwMDAxMzkyMTUgMDAwMDAgbiAKMDAwMDEzOTIzOCAwMDAwMCBuIAowMDAwMTM5NDQzIDAwMDAwIG4gCjAwMDAxMzk4ODQgMDAwMDAgbiAKMDAwMDE0MDE4NiAwMDAwMCBuIAowMDAwMTQ5OTY3IDAwMDAwIG4gCjAwMDAxNDk5OTAgMDAwMDAgbiAKMDAwMDE1MDE5MiAwMDAwMCBuIAowMDAwMTUwNjAyIDAwMDAwIG4gCjAwMDAxNTA4NzIgMDAwMDAgbiAKMDAwMDE3Mjc2MyAwMDAwMCBuIAowMDAwMTcyNzg3IDAwMDAwIG4gCjAwMDAxNzI5ODYgMDAwMDAgbiAKMDAwMDE3MzYyMyAwMDAwMCBuIAowMDAwMTc0MTA5IDAwMDAwIG4gCjAwMDAxNzYwMDMgMDAwMDAgbiAKMDAwMDE3NjAyNiAwMDAwMCBuIAowMDAwMTc2MjIwIDAwMDAwIG4gCjAwMDAxNzY1MjIgMDAwMDAgbiAKMDAwMDE3NjY5MCAwMDAwMCBuIAowMDAwMTc2ODE0IDAwMDAwIG4gCjAwMDAxODU1MjAgMDAwMDAgbiAKMDAwMDE4NTU4MCAwMDAwMCBuIAowMDAwMTg1NzM0IDAwMDAwIG4gCjAwMDAxODU4ODUgMDAwMDAgbiAKMDAwMDE4NjA4MCAwMDAwMCBuIAowMDAwMTg2MjY3IDAwMDAwIG4gCjAwMDAxODY0NDYgMDAwMDAgbiAKMDAwMDE4NjYwNyAwMDAwMCBuIAowMDAwMTg2NzU4IDAwMDAwIG4gCjAwMDAxODY5MDkgMDAwMDAgbiAKMDAwMDE4NzA4NCAwMDAwMCBuIAowMDAwMTg3MjQzIDAwMDAwIG4gCjAwMDAxODc0MDYgMDAwMDAgbiAKMDAwMDE4NzU4MSAwMDAwMCBuIAowMDAwMTg3NzY0IDAwMDAwIG4gCjAwMDAxODc5MTQgMDAwMDAgbiAKMDAwMDE4ODA2NSAwMDAwMCBuIAowMDAwMTg4MjEyIDAwMDAwIG4gCjAwMDAxODgzNjcgMDAwMDAgbiAKMDAwMDE4ODUyNiAwMDAwMCBuIAowMDAwMTg4Njg5IDAwMDAwIG4gCjAwMDAxODg4MzYgMDAwMDAgbiAKMDAwMDE4ODk3OCAwMDAwMCBuIAowMDAwMTg5MTY5IDAwMDAwIG4gCjAwMDAxODkzMzEgMDAwMDAgbiAKMDAwMDE4OTQ5MCAwMDAwMCBuIAowMDAwMTg5NjQ5IDAwMDAwIG4gCjAwMDAxODk3OTYgMDAwMDAgbiAKMDAwMDE4OTk1NSAwMDAwMCBuIAowMDAwMTkwMDk4IDAwMDAwIG4gCjAwMDAxOTAyMzIgMDAwMDAgbiAKMDAwMDE5MDQzMiAwMDAwMCBuIAowMDAwMTkwNTg2IDAwMDAwIG4gCjAwMDAxOTA3NTcgMDAwMDAgbiAKMDAwMDE5MDkwNCAwMDAwMCBuIAowMDAwMTkxMDQ4IDAwMDAwIG4gCjAwMDAxOTExOTYgMDAwMDAgbiAKMDAwMDE5MTM3MCAwMDAwMCBuIAowMDAwMTkxNTQ2IDAwMDAwIG4gCjAwMDAxOTE3MDIgMDAwMDAgbiAKMDAwMDE5MTg0NiAwMDAwMCBuIAowMDAwMTkyMDE0IDAwMDAwIG4gCjAwMDAxOTIxOTQgMDAwMDAgbiAKMDAwMDE5MjM2NSAwMDAwMCBuIAowMDAwMTkyNTY5IDAwMDAwIG4gCjAwMDAxOTI2OTEgMDAwMDAgbiAKMDAwMDE5Mjg4NyAwMDAwMCBuIAowMDAwMTkzMDQ2IDAwMDAwIG4gCjAwMDAxOTMyMDYgMDAwMDAgbiAKMDAwMDE5MzM1NCAwMDAwMCBuIAowMDAwMTkzNTI2IDAwMDAwIG4gCjAwMDAxOTM2NzAgMDAwMDAgbiAKMDAwMDE5MzgxNCAwMDAwMCBuIAowMDAwMTkzOTU2IDAwMDAwIG4gCjAwMDAxOTQxMDEgMDAwMDAgbiAKMDAwMDE5NDMwOSAwMDAwMCBuIAowMDAwMTk0NDQ0IDAwMDAwIG4gCjAwMDAxOTQ1ODggMDAwMDAgbiAKMDAwMDE5NDczNSAwMDAwMCBuIAowMDAwMTk0OTE5IDAwMDAwIG4gCjAwMDAxOTUwNTQgMDAwMDAgbiAKMDAwMDE5NTE5OCAwMDAwMCBuIAowMDAwMTk1MzQ1IDAwMDAwIG4gCjAwMDAxOTU1NDUgMDAwMDAgbiAKMDAwMDE5NTY4MCAwMDAwMCBuIAowMDAwMTk1ODI0IDAwMDAwIG4gCjAwMDAxOTU5OTYgMDAwMDAgbiAKMDAwMDE5NjEzOSAwMDAwMCBuIAowMDAwMTk2MzI3IDAwMDAwIG4gCjAwMDAxOTY0NjIgMDAwMDAgbiAKMDAwMDE5NjYxOCAwMDAwMCBuIAowMDAwMTk2NzU5IDAwMDAwIG4gCjAwMDAxOTY5NDcgMDAwMDAgbiAKMDAwMDIwNjgyNCAwMDAwMCBuIAowMDAwMjA2OTg3IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA0MjUvUm9vdCA0MjMgMCBSCi9JbmZvIDQyNCAwIFIKL0lEIFsgPDU0RkUwM0ZCNDI3MEI0QzVGNTY0NUQwMTBDOTNENUZCPgo8NTRGRTAzRkI0MjcwQjRDNUY1NjQ1RDAxMEM5M0Q1RkI+IF0KL0RvY0NoZWNrc3VtIC9DMUE2RUUzN0NEQkNEREJBMDIxQTFFN0E2MkVGNEQ4Nwo+PgpzdGFydHhyZWYKMjA3MzgyCiUlRU9GCg==]]></data>
	</file>
	<file>
	  <filename>/doc/checkin_approval.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R29hbAogLSBsb2NhdGlvbiBzdGFmZiBjYW4gJ2FwcHJvdmUnIGEgY2hlY2tpbgogICAobGlrZSBmb3IgZXhhbXBsZSBkcmlua2luZyBhIGJlZXIsIHRoaW5rIG9mIGl0IGFzIGEgJ2xveWFsdHkgcHJvZ3JhbScKCiAtIGNoZWNraW5zIGNhbiBiZSBmb3IgYW4gJ2l0ZW0nIG9yIGEgJ2xvY2F0aW9uJwogLSB1c2VyIHdvdWxkIGhhdmUgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsb2NhdGlvbgoKCiAgIC0gd291bGQgaGF2ZSB0byBlbnRlciBhIHBhc3N3b3Jk]]></data>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/event.CGSocialApp.OnCheckin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokY2hlY2tpbiA9IG51bGw7CiRjb21wYW55ID0gbnVsbDsKJGFjdGl2aXR5ID0gbnVsbDsKJGZldSA9IG51bGw7CiR1c2VyID0gbnVsbDsKJHVpZCA9IG51bGw7Cgp0cnkgewogIGlmKCAhaXNzZXQoJHBhcmFtc1snY2hlY2tpbiddKSApIHRocm93IG5ldyBDTVNFeGNlcHRpb24oJ01pc3NpbmcgcGFyYW1ldGVyIGNoZWNraW4gdG8gT25DaGVja2luIEV2ZW50Jyk7CiAgJGNoZWNraW4gPSAkcGFyYW1zWydjaGVja2luJ107CiAgaWYoICFpc19vYmplY3QoJGNoZWNraW4pICkgdGhyb3cgbmV3IENNU0V4Y2VwdGlvbignSW52YWxpZCBwYXJhbWV0ZXIgY2hlY2tpbiB0byBPbkNoZWNraW4gRXZlbnQnKTsKICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICBpZiggJHVpZCA8IDEgKSB0aHJvdyBuZXcgQ01TRXhjZXB0aW9uKCdPbkNoZWNraW4gZXZlbnQgY2FsbGVkLCBidXQgYSB1c2VyIGlzIG5vdCBsb2dnZWQgaW4nKTsKICBpZiggJGNoZWNraW4tPm93bmVyICE9ICR1aWQgKSB0aHJvdyBuZXcgQ01TRXhjZXB0aW9uKCdPbkNoZWNraW4gZXZlbnQgY2FsbGVkLCBidXQgY2hlY2tpbiBvd25lciBkb2VzIG5vdCBtYXRjaCBsb2dnZWQgaW4gdXNlciBpZCcpOwogICR1c2VyID0gJGZldS0+R2V0VXNlckluZm8oJHVpZCk7CiAgaWYoICFpc19hcnJheSgkdXNlcikgfHwgJHVzZXJbMF0gPT0gRkFMU0UgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdDb3VsZCBub3QgZmluZCB1c2VyIHdpdGggdWlkICR1aWQgaW4gRnJvbnRFbmRVc2VycycpOwogICR1c2VyID0gJHVzZXJbMV07CiAgdW5zZXQoJHVzZXJbJ3Bhc3N3b3JkJ10pOwoKICAkY29tcGFueSA9IG51bGw7CiAgJGFjdGl2aXR5ID0gbnVsbDsKICAkY29tcGFueSA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkY2hlY2tpbi0+bG9jYXRpb24pOwogIGlmKCAkY2hlY2tpbi0+YWN0aXZpdHkgKSAkYWN0aXZpdHkgPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2J5X2lkKCRjaGVja2luLT5hY3Rpdml0eSk7Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdQcm9ibGVtIGluIE9uQ2hlY2tpbjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICByZXR1cm47Cn0KCiRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKJHNtYXJ0eS0+YXNzaWduKCdjaGVja2luX3VzZXJuYW1lJywkdXNlclsndXNlcm5hbWUnXSk7CiRzbWFydHktPmFzc2lnbignY2hlY2tpbl91c2VyJywkdXNlcik7CiRzbWFydHktPmFzc2lnbignY2hlY2tpbicsJGNoZWNraW4pOwppZiggJGNvbXBhbnkgKSAkc21hcnR5LT5hc3NpZ24oJ2xvY2F0aW9uJywkY29tcGFueSk7CmlmKCAkYWN0aXZpdHkgKSAkc21hcnR5LT5hc3NpZ24oJ2FjdGl2aXR5JywkYWN0aXZpdHkpOwoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fc2VuZGVtYWlsJykgKSB7CgogIC8vIGdldCB0aGUgdXNlcnMgZnJpZW5kcy4KICAkZnJpZW5kcyA9IGNnc2FfZnJpZW5kczo6Z2V0X2ZyaWVuZHMoJHVpZCk7CiAgaWYoIGlzX2FycmF5KCRmcmllbmRzKSAmJiBjb3VudCgkZnJpZW5kcykgKSB7CiAgICAvLyByZWFkeSB0byBzZW5kIHNvbWUgbWFpbHMuCiAgICAkbWFpbGVyID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDTVNNYWlsZXInKTsKCiAgICBmb3JlYWNoKCAkZnJpZW5kcyBhcyAkZnVpZCApIHsKICAgICAgJGVtYWlsID0gJGZldS0+R2V0RW1haWwoJGZ1aWQpOwogICAgICBpZiggISRlbWFpbCApIGNvbnRpbnVlOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkZW1haWwpOyAvLyBmb3Igbm93LgogICAgICBkZWJ1Z190b19sb2coJ3NlbmQgY2hlY2tpbiBlbWFpbCB0byAnLiRlbWFpbCk7CiAgICAgICRzdWJqZWN0ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbWFpbHN1YmplY3QnKSk7CiAgICAgICRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbWFpbGJvZHknKSk7CiAgICAgICRtYWlsZXItPklzSFRNTCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb25jaGVja2luX21haWxodG1sJykpOwogICAgICAkbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgJG1haWxlci0+U2V0Qm9keSgkYm9keSk7CiAgICAgICRtYWlsZXItPkFkZEFkZHJlc3MoJGVtYWlsKTsKICAgICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbWFpbGJ1bGtoZHJzJykgKSB7CgkkbWFpbGVyLT5BZGRDdXN0b21IZWFkZXIoJ0ltcG9ydGFuY2U6IGxvdycpOwoJJG1haWxlci0+QWRkQ3VzdG9tSGVhZGVyKCdwcmVjZWRlbmNlOiBidWxrJyk7CiAgICAgIH0KICAgICAgJG1haWxlci0+c2VuZCgpOwogICAgICAkbWFpbGVyLT5yZXNldCgpOwogICAgfQogIH0KfQoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fc2VuZG5vdGlmJykgKSB7CiAgJG5vdGlmaWVyID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR05vdGlmaWVyJyk7CiAgaWYoICFpc19vYmplY3QoJG5vdGlmaWVyKSApIHsKICAgIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCkuJ05vdGlmaWNhdGlvbiBzZW5kaW5nIGlzIGVuYWJsZWQsIGJ1dCBjb3VsZCBub3QgZ2V0IHRoZSBDR05vdGlmaWVyIG1vZHVsZScpOwogIH0KICBlbHNlIHsKICAgIC8vIHNlbmQgYSBub3RpZmljYXRpb24KICAgICRtc2cgPSBuZXcgbm90aWZpY2F0aW9uX21lc3NhZ2UoKTsKICAgICRtc2ctPm1vZHVsZSA9ICR0aGlzLT5HZXROYW1lKCk7CiAgICAkbXNnLT5wcmlvcml0eSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbm90aWZwcmlvcml0eScpOwogICAgJG1zZy0+dG8gPSAkY2hlY2tpbi0+b3duZXI7CiAgICAkbXNnLT5pc2NoZWNraW4gPSBUUlVFOwogICAgJG1zZy0+c3ViamVjdCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb25jaGVja2luX25vdGlmc3ViamVjdCcpKTsKICAgICRtc2ctPmJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRoaXMtPkdldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9ub3RpZmJvZHknKSk7CiAgICBpZiggISRub3RpZmllci0+bm90aWZ5KCRtc2cpICkgewogICAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdTZW5kaW5nIG5vdGlmaWNhdGlvbiB0byB1c2VyIGlkICcuJG1zZy0+dG8uJyBmYWlsZWQnKTsKICAgIH0KICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/event.CGSocialApp.OnFriendApproved.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRhcHByb3ZlZF9lbWFpbCcpICkgcmV0dXJuOwokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiRtYWlsZXIgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU01haWxlcicpOwppZiggIWlzX29iamVjdCgkZmV1KSB8fCAhaXNfb2JqZWN0KCRtYWlsZXIpICkgcmV0dXJuOwoKJGVtYWlsID0gJGZldS0+R2V0RW1haWwoJHBhcmFtc1sndG8nXSk7CmlmKCAhJGVtYWlsICkgcmV0dXJuOwoKJGh0bWwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kYXBwcm92ZWRfZW1haWxodG1sJyk7CgovLyBnZXQgdGhlIGZyb20gdXNlcgokZnJvbXVzZXIgPSAkZmV1LT5HZXRVc2VySW5mbygkcGFyYW1zWydmcm9tJ10pOwppZiggIWlzX2FycmF5KCRmcm9tdXNlcikgfHwgISRmcm9tdXNlclswXSApIHJldHVybjsKJGZyb211c2VyID0gJGZyb211c2VyWzFdOwokZnJvbXVzZXJbJ3Byb3BzJ10gPSAkZmV1LT5HZXRVc2VyUHJvcGVydGllcygkcGFyYW1zWydmcm9tJ10pOwp1bnNldCgkZnJvbXVzZXJbJ3Bhc3N3b3JkJ10pOwoKLy8gZ2V0IHRoZSB0byB1c2VyCiR0b3VzZXIgPSAkZmV1LT5HZXRVc2VySW5mbygkcGFyYW1zWyd0byddKTsKaWYoICFpc19hcnJheSgkdG91c2VyKSB8fCAhJHRvdXNlclswXSApIHJldHVybjsKJHRvdXNlciA9ICR0b3VzZXJbMV07CiR0b3VzZXJbJ3Byb3BzJ10gPSAkZmV1LT5HZXRVc2VyUHJvcGVydGllcygkcGFyYW1zWyd0byddKTsKdW5zZXQoJHRvdXNlclsncGFzc3dvcmQnXSk7Cgokc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkdG91c2VyWyd1c2VybmFtZSddKTsKJHNtYXJ0eS0+YXNzaWduKCd0b3VzZXInLCR0b3VzZXIpOwokc21hcnR5LT5hc3NpZ24oJ2Zyb211c2VyJywkZnJvbXVzZXIpOwokc21hcnR5LT5hc3NpZ24oJ2Zyb21fdXNlcm5hbWUnLCRmcm9tdXNlclsndXNlcm5hbWUnXSk7Cgokc3ViamVjdCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kYXBwcm92ZWRfc3ViamVjdCcpKTsKJGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGFwcHJvdmVkX2JvZHl0cGwnKSk7CgokbWFpbGVyLT5Jc0hUTUwoJGh0bWwpOwokbWFpbGVyLT5BZGRBZGRyZXNzKCRlbWFpbCk7CiRtYWlsZXItPlNldFN1YmplY3QoJHN1YmplY3QpOwokbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKJG1haWxlci0+U2VuZCgpOwokbWFpbGVyLT5yZXNldCgpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/event.CGSocialApp.OnFriendRequest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRyZXFfZW1haWwnKSApIHJldHVybjsKJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwokbWFpbGVyID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDTVNNYWlsZXInKTsKaWYoICFpc19vYmplY3QoJGZldSkgfHwgIWlzX29iamVjdCgkbWFpbGVyKSApIHJldHVybjsKCiRlbWFpbCA9ICRmZXUtPkdldEVtYWlsKCRwYXJhbXNbJ3RvJ10pOwppZiggISRlbWFpbCApIHJldHVybjsKCiRodG1sID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZHJlcV9lbWFpbGh0bWwnKTsKCi8vIGdldCB0aGUgZnJvbSB1c2VyCiRmcm9tdXNlciA9ICRmZXUtPkdldFVzZXJJbmZvKCRwYXJhbXNbJ2Zyb20nXSk7CmlmKCAhaXNfYXJyYXkoJGZyb211c2VyKSB8fCAhJGZyb211c2VyWzBdICkgcmV0dXJuOwokZnJvbXVzZXIgPSAkZnJvbXVzZXJbMV07CiRmcm9tdXNlclsncHJvcHMnXSA9ICRmZXUtPkdldFVzZXJQcm9wZXJ0aWVzKCRwYXJhbXNbJ2Zyb20nXSk7CnVuc2V0KCRmcm9tdXNlclsncGFzc3dvcmQnXSk7CgovLyBnZXQgdGhlIHRvIHVzZXIKJHRvdXNlciA9ICRmZXUtPkdldFVzZXJJbmZvKCRwYXJhbXNbJ3RvJ10pOwppZiggIWlzX2FycmF5KCR0b3VzZXIpIHx8ICEkdG91c2VyWzBdICkgcmV0dXJuOwokdG91c2VyID0gJHRvdXNlclsxXTsKJHRvdXNlclsncHJvcHMnXSA9ICRmZXUtPkdldFVzZXJQcm9wZXJ0aWVzKCRwYXJhbXNbJ3RvJ10pOwp1bnNldCgkdG91c2VyWydwYXNzd29yZCddKTsKCiRzbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCR0b3VzZXJbJ3VzZXJuYW1lJ10pOwokc21hcnR5LT5hc3NpZ24oJ3RvdXNlcicsJHRvdXNlcik7CiRzbWFydHktPmFzc2lnbignZnJvbXVzZXInLCRmcm9tdXNlcik7CiRzbWFydHktPmFzc2lnbignZnJvbV91c2VybmFtZScsJGZyb211c2VyWyd1c2VybmFtZSddKTsKCiRzdWJqZWN0ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRyZXFfc3ViamVjdCcpKTsKJGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZHJlcV9ib2R5dHBsJykpOwoKJG1haWxlci0+SXNIVE1MKCRodG1sKTsKJG1haWxlci0+QWRkQWRkcmVzcygkZW1haWwpOwokbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKJG1haWxlci0+U2V0Qm9keSgkYm9keSk7CiRtYWlsZXItPlNlbmQoKTsKJG1haWxlci0+cmVzZXQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/event.CompanyDirectory.OnDeleteCompany.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NkX29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnKSApIHsKICAkcXVlcnkgPSAgbmV3IGNnc2FfY2hlY2tpbl9xdWVyeShhcnJheSgnbG9jYXRpb24nPT4kcGFyYW1zWydpZCddKSk7CiAgJHJzID0gJHF1ZXJ5LT5leGVjdXRlKCk7CiAgaWYoICRycyApIHsKICAgIHdoaWxlKCAhJHJzLT5FT0YgKSB7CiAgICAgICRvYiA9ICRycy0+ZmllbGRzOwogICAgICAkb2ItPmRlbGV0ZSgpOwogICAgfQogIH0KfQoKY2dzYV9mYXZvcml0ZXM6OmRlbGV0ZV9mb3JfbG9jYXRpb24oJHBhcmFtc1snaWQnXSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/event.FrontEndUsers.OnDeleteUser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBkZWxldGUgY2hlY2tpbnM/CmlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmV1X29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnLDEpICkgewogICRxdWVyeSA9IG5ldyBjZ3NhX2NoZWNraW5fcXVlcnkoYXJyYXkoJ293bmVyJz0+JHBhcmFtc1snaWQnXSkpOwogICRycyA9ICRxdWVyeS0+ZXhlY3V0ZSgpOwogIGlmKCAkcnMgKSB7CiAgICB3aGlsZSggISRycy0+RU9GICkgewogICAgICAkb2IgPSAkcnMtPmZpZWxkczsKICAgICAgJG9iLT5kZWxldGUoKTsKICAgIH0KICB9Cn0KCi8vIEB0b2RvOiBkZWxldGUgZmF2b3JpdGVzCmNnc2FfZmF2b3JpdGVzOjpkZWxldGVfYWxsKCRwYXJhbXNbJ2lkJ10pOwoKLy8gZGVsZXRlIHRoaXMgdXNlciBmcm9tIGFsbCBwZW9wbGUgd2hvIGhhdmUgdGhpcyBndXkgYXMgYSBmcmllbmQKJGZyaWVuZHMgPSBjZ3NhX2ZyaWVuZHM6OmdldF9mcmllbmRzKCRwYXJhbXNbJ2lkJ10pOwppZiggaXNfYXJyYXkoJGZyaWVuZHMpICYmIGNvdW50KCRmcmllbmRzKSApIHsKICBmb3JlYWNoKCAkZnJpZW5kcyBhcyAkb25lICkgewogICAgY2dzYV9mcmllbmRzOjpyZW1vdmVfZnJpZW5kc2hpcCgkb25lLCRwYXJhbXNbJ2lkJ10pOwogIH0KfQoKLy8gZGVsZXRlIHRoaXMgdXNlcnMgZnJpZW5kIGRhdGEKY2dzYV9mcmllbmRzOjpkZWxldGVfYWxsKCRwYXJhbXNbJ2lkJ10pOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_activities_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgZXhpdDsKCi8vCi8vIGluaXRpYWxpemF0aW9uCi8vCgovLwovLyBnZXQgdGhlIGRhdGEKLy8KJGFjdGl2aXRpZXMgPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2FsbF9hc190cmVlKCk7CiRzbWFydHktPmFzc2lnbignYWN0aXZpdGllcycsJGFjdGl2aXRpZXMpOwovLyBkZWJ1Z19kaXNwbGF5KCRhY3Rpdml0aWVzKTsgcmV0dXJuOwovLyBpZiggaXNfYXJyYXkoJGFjdGl2aXRpZXMpICYmIGNvdW50KCRhY3Rpdml0aWVzKSApIHsKLy8gICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkYWN0aXZpdGllcyk7ICRpKysgKSB7Ci8vICAgICAkcmVjID0mICRhY3Rpdml0aWVzWyRpXTsKLy8gICAgICRyZWNbJ2RlcHRoJ10gPSBtYXgoMCxjb3VudChleHBsb2RlKCcuJywkcmVjWydoaWVyYXJjaHknXSkpLTEpOwovLyAgICAgJHJlY1snZWRpdF91cmwnXSA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdhZG1pbl9hZGRhY3Rpdml0eScsJHJldHVybmlkLAovLyAJCQkJCWFycmF5KCdhY3RpZCc9PiRyZWNbJ2lkJ10pKTsKLy8gICAgICRyZWNbJ2VkaXRfbGluayddID0gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2FkZGFjdGl2aXR5JywkcmV0dXJuaWQsCi8vIAkJCQkJICAgICAgICR0aGlzLT5MYW5nKCdlZGl0JyksCi8vIAkJCQkJICAgICAgICdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAovLyAJCQkJCSAgICAgICBhcnJheSgnYWN0aWQnPT4kcmVjWydpZCddKSk7Ci8vICAgICAkcmVjWydkZWxldGVfbGluayddID0gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2RlbGFjdGl2aXR5JywkcmV0dXJuaWQsCi8vIAkJCQkJCSAkdGhpcy0+TGFuZygnZGVsZXRlJyksCi8vIAkJCQkJCSAnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAovLyAJCQkJCQkgYXJyYXkoJ2FjdGlkJz0+JHJlY1snaWQnXSkpOwovLyAgIH0KLy8gICAkc21hcnR5LT5hc3NpZ24oJ2FjdGl2aXRpZXMnLCRhY3Rpdml0aWVzKTsKLy8gfQoKLy8KLy8gZ2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLAoJCSR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl9hZGRhY3Rpdml0eScsJHJldHVybmlkLAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhZGRfYWN0aXZpdHknKSwKCQkJCSAgICAgICAnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLAoJCQkJICAgICAgIGFycmF5KCksJycsJycsJ0ZBTFNFJykpOwppZiggY291bnQoJGFjdGl2aXRpZXMpKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdvcmRlcmxpbmsnLAoJCSAgJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX29yZGVyYWN0aXZpdHknLCRyZXR1cm5pZCwKCQkJCQkgJHRoaXMtPkxhbmcoJ3Jlb3JkZXJfYWN0aXZpdHknKSwKCQkJCQkgJ2ljb25zL3N5c3RlbS9yZW9yZGVyLmdpZicsCgkJCQkJIGFycmF5KCksJycsJycsJ0ZBTFNFJykpOwp9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FjdGl2aXRpZXNfdGFiLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_add_checkin_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2FkZF9jaGVja2luJywKCQkJICAgICAnZGVmYXVsdF9hZGRfY2hlY2tpbl90ZW1wbGF0ZV9jb250ZW50cycsCgkJCSAgICAgJ2FkZF9jaGVja2luJywKCQkJICAgICAnY3VycmVudF9hZGRfY2hlY2tpbl90ZW1wbGF0ZScsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2FkZGVkaXRfYWRkY2hlY2tpbl90ZW1wbGF0ZScpLCcnLCdhZG1pbl90ZW1wbGF0ZXMnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_badgedetail_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2JhZGdlZGV0YWlsJywKCQkJICAgICAnZGVmYXVsdF9iYWRnZWRldGFpbF90ZW1wbGF0ZV9jb250ZW50cycsCgkJCSAgICAgJ2JhZGdlZGV0YWlsJywKCQkJICAgICAnY3VycmVudF9iYWRnZWRldGFpbF90ZW1wbGF0ZScsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2FkZGVkaXRfYmFkZ2VkZXRhaWxfdGVtcGxhdGUnKSwnJywnYWRtaW5fdGVtcGxhdGVzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_badgesummary_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2JhZGdlc3VtbWFyeScsCgkJCSAgICAgJ2RlZmF1bHRfYmFkZ2VzdW1tYXJ5X3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJICAgICAnYmFkZ2VzdW1tYXJ5JywKCQkJICAgICAnY3VycmVudF9iYWRnZXN1bW1hcnlfdGVtcGxhdGUnLAoJCQkgICAgICR0aGlzLT5MYW5nKCd0aXRsZV9hZGRlZGl0X2JhZGdlc3VtbWFyeV90ZW1wbGF0ZScpLCcnLCdhZG1pbl90ZW1wbGF0ZXMnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_checkinsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCgokc21hcnR5LT5hc3NpZ24oJ29uY2hlY2tpbl9zZW5kZW1haWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fc2VuZGVtYWlsJykpOwokc21hcnR5LT5hc3NpZ24oJ29uY2hlY2tpbl9zZW5kbm90aWYnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fc2VuZG5vdGlmJykpOwokc21hcnR5LT5hc3NpZ24oJ29uY2hlY2tpbl9tYWlsaHRtbCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9tYWlsaHRtbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdvbmNoZWNraW5fbWFpbGJ1bGtoZHJzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb25jaGVja2luX21haWxidWxraGRycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdvbmNoZWNraW5fbWFpbHN1YmplY3QnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbWFpbHN1YmplY3QnKSk7CiRzbWFydHktPmFzc2lnbignb25jaGVja2luX21haWxib2R5JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb25jaGVja2luX21haWxib2R5JykpOwoKJG5vdGlmaWVyID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR05vdGlmaWVyJyk7CiRzbWFydHktPmFzc2lnbignaGF2ZV9ub3RpZmllcicsaXNfb2JqZWN0KCRub3RpZmllcik/MTowKTsKJHByaW9yaXRpZXMgPSBhcnJheSgpOwokcHJpb3JpdGllc1tub3RpZmljYXRpb25fbWVzc2FnZTo6UFJJT1JJVFlfSElHSF0gPSAkdGhpcy0+TGFuZygnaGlnaCcpOwokcHJpb3JpdGllc1tub3RpZmljYXRpb25fbWVzc2FnZTo6UFJJT1JJVFlfTk9STUFMXSA9ICR0aGlzLT5MYW5nKCdub3JtYWwnKTsKJHByaW9yaXRpZXNbbm90aWZpY2F0aW9uX21lc3NhZ2U6OlBSSU9SSVRZX0xPV10gPSAkdGhpcy0+TGFuZygnbG93Jyk7CiRzbWFydHktPmFzc2lnbigncHJpb3JpdGllcycsJHByaW9yaXRpZXMpOwokc21hcnR5LT5hc3NpZ24oJ29uY2hlY2tpbl9ub3RpZnByaW9yaXR5JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnb25jaGVja2luX25vdGlmcHJpb3JpdHknKSk7CiRzbWFydHktPmFzc2lnbignb25jaGVja2luX25vdGlmc3ViamVjdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9ub3RpZnByaW9yaXR5JykpOwokc21hcnR5LT5hc3NpZ24oJ29uY2hlY2tpbl9ub3RpZmJvZHknLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbm90aWZib2R5JykpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2NoZWNraW5zZXR0aW5nc190YWInKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2NoZWNraW5zZXR0aW5nc190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_checkins_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpczo6UEVSTUlTU0lPTl9DSEVDS0lOUykgKSByZXR1cm47CgoKJHN0YXRzID0gYXJyYXkoKTsKJHF1ZXJ5ID0gJ1NFTEVDVCBDT1VOVChpZCkgQVMgbnVtIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUzsKJHN0YXRzWydudW1jaGVja2lucyddID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKCiRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoaWQpIEFTIG51bSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBjcmVhdGVkID49ID8nOwokc3RhdHNbJ251bWNoZWNraW5zMjQnXSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheShzdHJ0b3RpbWUoJy0xIGRheScpKSk7CgppZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NkX2NhdGVnb3JpZXNfYXBwcm92ZWRjaGVja2lucycpICkgewogICRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoaWQpIEFTIG51bSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBhcHByb3ZlZCA9IDAnOwogICRzdGF0c1snbnVtbm90YXBwcm92ZWQnXSA9ICRkYi0+R2V0T25lKCRxdWVyeSk7Cn0KCiRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoaWQpIEFTIG51bSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBwcm9jZXNzZWQgPSAwJzsKJHN0YXRzWydudW1ub3Rwcm9jZXNzZWQnXSA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CgokcXVlcnkgPSAnU0VMRUNUIENPVU5UKERJU1RJTkNUIG93bmVyKSBBUyBudW0gRlJPTSAnLkNHU09DSUFMX1RBQkxFX0NIRUNLSU5TOwokc3RhdHNbJ251bXVzZXJzJ10gPSAkZGItPkdldE9uZSgkcXVlcnkpOwoKJHF1ZXJ5ID0gJ1NFTEVDVCBDT1VOVChESVNUSU5DVCBvd25lcikgQVMgbnVtIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUy4nIFdIRVJFIGNyZWF0ZWQgPj0gPyc7CiRzdGF0c1snbnVtdXNlcnMyNCddID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KHN0cnRvdGltZSgnLTEgZGF5JykpKTsKCiRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoRElTVElOQ1QgbG9jYXRpb24pIEFTIG51bSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlM7CiRzdGF0c1snbnVtbG9jcyddID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKCiRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoRElTVElOQ1QgbG9jYXRpb24pIEFTIG51bSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBjcmVhdGVkID49ID8nOwokc3RhdHNbJ251bWxvY3MyNCddID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KHN0cnRvdGltZSgnLTEgZGF5JykpKTsKCiRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoRElTVElOQ1QgYWN0aXZpdHkpIEFTIG51bSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBhY3Rpdml0eSBJUyBOT1QgTlVMTCc7CiRzdGF0c1snbnVtYWN0cyddID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKCiRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoRElTVElOQ1QgbG9jYXRpb24pIEFTIG51bSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBhY3Rpdml0eSBJUyBOT1QgTlVMTCBBTkQgY3JlYXRlZCA+PSA/JzsKJHN0YXRzWydudW1hY3RzMjQnXSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheShzdHJ0b3RpbWUoJy0xIGRheScpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXRzJywkc3RhdHMpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fY2hlY2tpbnNfdGFiJywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY2hlY2tpbnNfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_default_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyBjZ2VfdGVtcGxhdGVfYWRtaW46OmdldF9zdGFydF90ZW1wbGF0ZV9mb3JtKCR0aGlzLCRpZCwnJywKCQkJCQkJICdkZWZhdWx0X2FkZF9jaGVja2luX3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJCQkJICdhZG1pbl90ZW1wbGF0ZXMnLCdkZWZhdWx0X3RlbXBsYXRlcycsCgkJCQkJCSAkdGhpcy0+TGFuZygnc3lzZGZsdF9hZGRfY2hlY2tpbl90ZW1wbGF0ZScpLAoJCQkJCQkgJ29yaWdfYWRkX2NoZWNraW4udHBsJyk7CgplY2hvIGNnZV90ZW1wbGF0ZV9hZG1pbjo6Z2V0X3N0YXJ0X3RlbXBsYXRlX2Zvcm0oJHRoaXMsJGlkLCcnLAoJCQkJCQkgJ2RlZmF1bHRfbGlzdF9jaGVja2luX3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJCQkJICdhZG1pbl90ZW1wbGF0ZXMnLCdkZWZhdWx0X3RlbXBsYXRlcycsCgkJCQkJCSAkdGhpcy0+TGFuZygnc3lzZGZsdF9saXN0X2NoZWNraW5zX3RlbXBsYXRlJyksCgkJCQkJCSAnb3JpZ19saXN0X2NoZWNraW5zLnRwbCcpOwoKZWNobyBjZ2VfdGVtcGxhdGVfYWRtaW46OmdldF9zdGFydF90ZW1wbGF0ZV9mb3JtKCR0aGlzLCRpZCwnJywKCQkJCQkJICdkZWZhdWx0X3ZpZXdfY2hlY2tpbl90ZW1wbGF0ZV9jb250ZW50cycsCgkJCQkJCSAnYWRtaW5fdGVtcGxhdGVzJywnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJCQkgJHRoaXMtPkxhbmcoJ3N5c2RmbHRfdmlld19jaGVja2luX3RlbXBsYXRlJyksCgkJCQkJCSAnb3JpZ192aWV3X2NoZWNraW4udHBsJyk7CgplY2hvIGNnZV90ZW1wbGF0ZV9hZG1pbjo6Z2V0X3N0YXJ0X3RlbXBsYXRlX2Zvcm0oJHRoaXMsJGlkLCcnLAoJCQkJCQkgJ2RlZmF1bHRfbGlzdF9hY3Rpdml0aWVzX3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJCQkJICdhZG1pbl90ZW1wbGF0ZXMnLCdkZWZhdWx0X3RlbXBsYXRlcycsCgkJCQkJCSAkdGhpcy0+TGFuZygnc3lzZGZsdF9saXN0X2FjdGl2aXRpZXNfdGVtcGxhdGUnKSwKCQkJCQkJICdvcmlnX2xpc3RfYWN0aXZpdGllcy50cGwnKTsKCmVjaG8gY2dlX3RlbXBsYXRlX2FkbWluOjpnZXRfc3RhcnRfdGVtcGxhdGVfZm9ybSgkdGhpcywkaWQsJycsCgkJCQkJCSAnZGVmYXVsdF92aWV3X2FjdGl2aXR5X3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJCQkJICdhZG1pbl90ZW1wbGF0ZXMnLCdkZWZhdWx0X3RlbXBsYXRlcycsCgkJCQkJCSAkdGhpcy0+TGFuZygnc3lzZGZsdF92aWV3X2FjdGl2aXR5X3RlbXBsYXRlJyksCgkJCQkJCSAnb3JpZ192aWV3X2FjdGl2aXR5LnRwbCcpOwoKZWNobyBjZ2VfdGVtcGxhdGVfYWRtaW46OmdldF9zdGFydF90ZW1wbGF0ZV9mb3JtKCR0aGlzLCRpZCwnJywKCQkJCQkJICdkZWZhdWx0X2ZyaWVuZHJlcV90ZW1wbGF0ZV9jb250ZW50cycsCgkJCQkJCSAnYWRtaW5fdGVtcGxhdGVzJywnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJCQkgJHRoaXMtPkxhbmcoJ3N5c2RmbHRfZnJpZW5kcmVxX3RlbXBsYXRlJyksCgkJCQkJCSAnb3JpZ19mcmllbmRyZXEudHBsJyk7CgplY2hvIGNnZV90ZW1wbGF0ZV9hZG1pbjo6Z2V0X3N0YXJ0X3RlbXBsYXRlX2Zvcm0oJHRoaXMsJGlkLCcnLAoJCQkJCQkgJ2RlZmF1bHRfZnJpZW5kcmVxbGlzdF90ZW1wbGF0ZV9jb250ZW50cycsCgkJCQkJCSAnYWRtaW5fdGVtcGxhdGVzJywnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJCQkgJHRoaXMtPkxhbmcoJ3N5c2RmbHRfZnJpZW5kcmVxbGlzdF90ZW1wbGF0ZScpLAoJCQkJCQkgJ29yaWdfZnJpZW5kcmVxbGlzdC50cGwnKTsKCmVjaG8gY2dlX3RlbXBsYXRlX2FkbWluOjpnZXRfc3RhcnRfdGVtcGxhdGVfZm9ybSgkdGhpcywkaWQsJycsCgkJCQkJCSAnZGVmYXVsdF9iYWRnZXN1bW1hcnlfdGVtcGxhdGVfY29udGVudHMnLAoJCQkJCQkgJ2FkbWluX3RlbXBsYXRlcycsJ2RlZmF1bHRfdGVtcGxhdGVzJywKCQkJCQkJICR0aGlzLT5MYW5nKCdzeXNkZmx0X2JhZGdlc3VtbWFyeV90ZW1wbGF0ZScpLAoJCQkJCQkgJ29yaWdfYmFkZ2Vfc3VtbWFyeS50cGwnKTsKCmVjaG8gY2dlX3RlbXBsYXRlX2FkbWluOjpnZXRfc3RhcnRfdGVtcGxhdGVfZm9ybSgkdGhpcywkaWQsJycsCgkJCQkJCSAnZGVmYXVsdF9iYWRnZWRldGFpbF90ZW1wbGF0ZV9jb250ZW50cycsCgkJCQkJCSAnYWRtaW5fdGVtcGxhdGVzJywnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJCQkgJHRoaXMtPkxhbmcoJ3N5c2RmbHRfYmFkZ2VkZXRhaWxfdGVtcGxhdGUnKSwKCQkJCQkJICdvcmlnX2JhZGdlX2RldGFpbC50cGwnKTsKCmVjaG8gY2dlX3RlbXBsYXRlX2FkbWluOjpnZXRfc3RhcnRfdGVtcGxhdGVfZm9ybSgkdGhpcywkaWQsJycsCgkJCQkJCSAnZGVmYXVsdF9sZWFkZXJib2FyZHN1bW1hcnlfdGVtcGxhdGVfY29udGVudHMnLAoJCQkJCQkgJ2FkbWluX3RlbXBsYXRlcycsJ2RlZmF1bHRfdGVtcGxhdGVzJywKCQkJCQkJICR0aGlzLT5MYW5nKCdzeXNkZmx0X2xlYWRlcmJvYXJkc3VtbWFyeV90ZW1wbGF0ZScpLAoJCQkJCQkgJ29yaWdfbGVhZGVyYm9hcmRfc3VtbWFyeS50cGwnKTsKCmVjaG8gY2dlX3RlbXBsYXRlX2FkbWluOjpnZXRfc3RhcnRfdGVtcGxhdGVfZm9ybSgkdGhpcywkaWQsJycsCgkJCQkJCSAnZGVmYXVsdF9sZWFkZXJib2FyZGRldGFpbF90ZW1wbGF0ZV9jb250ZW50cycsCgkJCQkJCSAnYWRtaW5fdGVtcGxhdGVzJywnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJCQkgJHRoaXMtPkxhbmcoJ3N5c2RmbHRfbGVhZGVyYm9hcmRkZXRhaWxfdGVtcGxhdGUnKSwKCQkJCQkJICdvcmlnX2xlYWRlcmJvYXJkX2RldGFpbC50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_friendreqlist_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2ZyaWVuZHJlcWxpc3QnLAoJCQkgICAgICdkZWZhdWx0X2ZyaWVuZHJlcWxpc3RfdGVtcGxhdGVfY29udGVudHMnLAoJCQkgICAgICdmcmllbmRyZXFsaXN0JywKCQkJICAgICAnY3VycmVudF9mcmllbmRyZXFsaXN0X3RlbXBsYXRlJywKCQkJICAgICAkdGhpcy0+TGFuZygndGl0bGVfYWRkZWRpdF9mcmllbmRyZXFsaXN0X3RlbXBsYXRlJyksJycsJ2FkbWluX3RlbXBsYXRlcycpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_friendreq_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2ZyaWVuZHJlcScsCgkJCSAgICAgJ2RlZmF1bHRfZnJpZW5kcmVxX3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJICAgICAnZnJpZW5kcmVxJywKCQkJICAgICAnY3VycmVudF9mcmllbmRyZXFfdGVtcGxhdGUnLAoJCQkgICAgICR0aGlzLT5MYW5nKCd0aXRsZV9hZGRlZGl0X2ZyaWVuZHJlcV90ZW1wbGF0ZScpLCcnLCdhZG1pbl90ZW1wbGF0ZXMnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_friendsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiRzbWFydHktPmFzc2lnbignZnJpZW5kcmVxX2VtYWlsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kcmVxX2VtYWlsJykpOwokc21hcnR5LT5hc3NpZ24oJ2ZyaWVuZHJlcV9lbWFpbGh0bWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRyZXFfZW1haWxodG1sJykpOwokc21hcnR5LT5hc3NpZ24oJ2ZyaWVuZHJlcV9zdWJqZWN0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kcmVxX3N1YmplY3QnKSk7CiRzbWFydHktPmFzc2lnbignZnJpZW5kcmVxX2JvZHl0cGwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRyZXFfYm9keXRwbCcpKTsKCiRzbWFydHktPmFzc2lnbignZnJpZW5kYXBwcm92ZWRfZW1haWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRhcHByb3ZlZF9lbWFpbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmcmllbmRhcHByb3ZlZF9lbWFpbGh0bWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRhcHByb3ZlZF9lbWFpbGh0bWwnKSk7CiRzbWFydHktPmFzc2lnbignZnJpZW5kYXBwcm92ZWRfc3ViamVjdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGFwcHJvdmVkX3N1YmplY3QnKSk7CiRzbWFydHktPmFzc2lnbignZnJpZW5kYXBwcm92ZWRfYm9keXRwbCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGFwcHJvdmVkX2JvZHl0cGwnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZnJpZW5kc2V0dGluZ3NfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2ZyaWVuZHNldHRpbmdzX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_keys_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8KLy8gaW5pdGlhbGl6ZQovLwokcXBhcm1zID0gYXJyYXkoKTsKCi8vIAovLyBoYW5kbGUgZm9ybSBzdWJtaXNzaW9uCi8vIAoKLy8gCi8vIGdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKLy8KJGRhdGEgPSBjZ3NhX2FwaWtleTo6bG9hZF9ieV9jcml0ZXJpYSgkcGFyYW1zKTsKaWYoIGNvdW50KCRkYXRhKSApCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkKICAgICAgewoJJHJvdyA9JiAkZGF0YVskaV07CglpZiggJHJvd1snYWN0aXZlJ10gKQoJICB7CgkgICAgJHJvd1snYWN0aXZlX2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl90b2dnbGVhY3RpdmVfYXBpa2V5JywkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ3NldF9pbmFjdGl2ZScpLAoJCQkJCQkJICdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLGFycmF5KCdhaWQnPT4kcm93WydpZCddLCdzdGF0dXMnPT4wKSwnJywkdGhpcy0+TGFuZygnYXNrX3NldGluYWN0aXZlJykpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcm93WydhY3RpdmVfbGluayddID0gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX3RvZ2dsZWFjdGl2ZV9hcGlrZXknLCRyZXR1cm5pZCwkdGhpcy0+TGFuZygnc2V0X2FjdGl2ZScpLAoJCQkJCQkJICdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLGFycmF5KCdhaWQnPT4kcm93WydpZCddLCdzdGF0dXMnPT4xKSk7CgkgIH0KCSRyb3dbJ2VkaXRfdXJsJ10gPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX2VkaXRfYXBpa2V5JywkcmV0dXJuaWQsYXJyYXkoJ2FpZCc9PiRyb3dbJ2lkJ10pKTsKCSRyb3dbJ2VkaXRfbGluayddID0gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2VkaXRfYXBpa2V5JywkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2VkaXQnKSwnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCQkJCQkJICAgYXJyYXkoJ2FpZCc9PiRyb3dbJ2lkJ10pKTsKCSRyb3dbJ2RlbGV0ZV9saW5rJ10gPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fZGVsZXRlX2FwaWtleScsJHJldHVybmlkLCR0aGlzLT5MYW5nKCdkZWxldGUnKSwnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAoJCQkJCQkgICAgIGFycmF5KCdhaWQnPT4kcm93WydpZCddKSwnJywkdGhpcy0+TGFuZygnYXNrX2RlbGV0ZScpKTsKICAgICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCdhcGlrZXlzJywkZGF0YSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdhZGRfbGluaycsJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2VkaXRfYXBpa2V5JywkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FkZF9hcGlrZXknKSwKCQkJCQkJICAnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLGFycmF5KCksJycsJycsZmFsc2UpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fa2V5c190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_leaderboarddetail_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2xlYWRlcmJvYXJkZGV0YWlsJywKCQkJICAgICAnZGVmYXVsdF9sZWFkZXJib2FyZGRldGFpbF90ZW1wbGF0ZV9jb250ZW50cycsCgkJCSAgICAgJ2xlYWRlcmJvYXJkZGV0YWlsJywKCQkJICAgICAnY3VycmVudF9sZWFkZXJib2FyZGRldGFpbF90ZW1wbGF0ZScsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2FkZGVkaXRfbGVhZGVyYm9hcmRkZXRhaWxfdGVtcGxhdGUnKSwnJywnYWRtaW5fdGVtcGxhdGVzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_leaderboardsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zYXZlbGVhZGVyYm9hcmRzZXR0aW5ncycpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnRlcnZhbF91cGRhdGVsZWFkZXJib2FyZHMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnRlcnZhbF91cGRhdGVsZWFkZXJib2FyZHMnLDE1KSk7CiRzbWFydHktPmFzc2lnbignaW50ZXJ2YWxfdXBkYXRlYmFkZ2VzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW50ZXJ2YWxfdXBkYXRlYmFkZ2VzJywzMCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xlYWRlcmJvYXJkc2V0dGluZ3NfdGFiLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_leaderboardsummary_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2xlYWRlcmJvYXJkc3VtbWFyeScsCgkJCSAgICAgJ2RlZmF1bHRfbGVhZGVyYm9hcmRzdW1tYXJ5X3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJICAgICAnbGVhZGVyYm9hcmRzdW1tYXJ5JywKCQkJICAgICAnY3VycmVudF9sZWFkZXJib2FyZHN1bW1hcnlfdGVtcGxhdGUnLAoJCQkgICAgICR0aGlzLT5MYW5nKCd0aXRsZV9hZGRlZGl0X2xlYWRlcmJvYXJkc3VtbWFyeV90ZW1wbGF0ZScpLCcnLCdhZG1pbl90ZW1wbGF0ZXMnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_leaderboards_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIGV4aXQ7CgokbGVhZGVyYm9hcmRzID0gY2dzYV9sZWFkZXJib2FyZDo6Z2V0X2FsbCgpOwppZiggaXNfYXJyYXkoJGxlYWRlcmJvYXJkcykgJiYgY291bnQoJGxlYWRlcmJvYXJkcykgKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdsZWFkZXJib2FyZHMnLCRsZWFkZXJib2FyZHMpOwp9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xlYWRlcmJvYXJkc190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_list_activities_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2xpc3RfYWN0aXZpdGllcycsCgkJCSAgICAgJ2RlZmF1bHRfbGlzdF9hY3Rpdml0aWVzX3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJICAgICAnbGlzdF9hY3Rpdml0aWVzJywKCQkJICAgICAnY3VycmVudF9saXN0X2FjdGl2aXRpZXNfdGVtcGxhdGUnLAoJCQkgICAgICR0aGlzLT5MYW5nKCd0aXRsZV9hZGRlZGl0X2xpc3RhY3Rpdml0aWVzX3RlbXBsYXRlJyksJycsJ2FkbWluX3RlbXBsYXRlcycpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_list_checkins_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ2xpc3RfY2hlY2tpbnMnLAoJCQkgICAgICdkZWZhdWx0X2xpc3RfY2hlY2tpbl90ZW1wbGF0ZV9jb250ZW50cycsCgkJCSAgICAgJ2xpc3RfY2hlY2tpbnMnLAoJCQkgICAgICdjdXJyZW50X2xpc3RfY2hlY2tpbnNfdGVtcGxhdGUnLAoJCQkgICAgICR0aGlzLT5MYW5nKCd0aXRsZV9hZGRlZGl0X2xpc3RjaGVja2luc190ZW1wbGF0ZScpLCcnLCdhZG1pbl90ZW1wbGF0ZXMnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_locationsettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zYXZlbG9jYXRpb25zZXR0aW5ncycpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXNlcycsCgkJYXJyYXkoJ2RyYWZ0Jz0+JHRoaXMtPkxhbmcoJ2RyYWZ0JyksCgkJICAgICAgJ3B1Ymxpc2hlZCc9PiR0aGlzLT5MYW5nKCdwdWJsaXNoZWQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ25ld2xvY2F0aW9uX3N0YXR1cycsCgkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX3N0YXR1cycsJ2RyYWZ0JykpOwokc21hcnR5LT5hc3NpZ24oJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl9ncm91cHMnLAoJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCduZXdsb2NhdGlvbl9ub3RpZmljYXRpb25fZ3JvdXBzJykpOwokc21hcnR5LT5hc3NpZ24oJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl9zdWJqZWN0JywKCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3N1YmplY3QnKSk7CiRzbWFydHktPmFzc2lnbignbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX2lzaHRtbCcsCgkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl9pc2h0bWwnKSk7CiRzbWFydHktPmFzc2lnbignbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3RlbXBsYXRlJywKCQkkdGhpcy0+R2V0VGVtcGxhdGUoJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl90ZW1wbGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCduZXdsb2NhdGlvbl9hbGxvdycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ25ld2xvY2F0aW9uX2FsbG93JywxKSk7CiRzbWFydHktPmFzc2lnbignbmV3bG9jYXRpb25fYWxsb3dlZGl0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fYWxsb3dlZGl0JywxKSk7CiRzbWFydHktPmFzc2lnbignbmV3bG9jYXRpb25fdGltZWxpbWl0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fdGltZWxpbWl0Jyw2MCkpOwokc21hcnR5LT5hc3NpZ24oJ25ld2xvY2F0aW9uX251bWxpbWl0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbmV3bG9jYXRpb25fbnVtbGltaXQnLDApKTsKCiRzbWFydHktPmFzc2lnbignY2Rfb25kZWxldGVfY2xlYW5jaGVja2lucycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NkX29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xvY2F0aW9uc2V0dGluZ3N0YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgZXhpdDsKCi8vCi8vIGluaXRpYWxpemUKLy8KCgovLwovLyBoYW5kbGUgZm9ybSBkYXRhCi8vCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXRfc2V0dGluZ3MnXSkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsdHJpbSgkcGFyYW1zWydmcmllbmRseW5hbWUnXSkpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsb2NhdGlvbnJlcXVpcmVkJywoaW50KSRwYXJhbXNbJ2xvY2F0aW9ucmVxdWlyZWQnXSk7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NoZWNraW5yYXRlbGltaXRpbmcnXSkgKSB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hlY2tpbnJhdGVsaW1pdGluZycsaW1wbG9kZSgnLCcsJHBhcmFtc1snY2hlY2tpbnJhdGVsaW1pdGluZyddKSk7CiAgfQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjaGVja2lucmF0ZWxpbWl0aW5nX2J5bG9jYXRpb24nLHRyaW0oJHBhcmFtc1snY2hlY2tpbnJhdGVsaW1pdGluZ19ieWxvY2F0aW9uJ10pKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hlY2tpbnJhdGVsaW1pdGluZ19ieXRpbWUnLHRyaW0oJHBhcmFtc1snY2hlY2tpbnJhdGVsaW1pdGluZ19ieXRpbWUnXSkpOwogIGlmKCBpc3NldCgkcGFyYW1zWydjZF9jYXRlZ29yaWVzX2FwcHJvdmVkY2hlY2tpbnMnXSkgKSB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2RfY2F0ZWdvcmllc19hcHByb3ZlZGNoZWNraW5zJyxzZXJpYWxpemUoJHBhcmFtc1snY2RfY2F0ZWdvcmllc19hcHByb3ZlZGNoZWNraW5zJ10pKTsKICB9CiAgZWxzZSB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2RfY2F0ZWdvcmllc19hcHByb3ZlZGNoZWNraW5zJywnJyk7CiAgfQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjZF9hcHByb3ZlX3B3ZmllbGQnLChpbnQpJHBhcmFtc1snY2RfYXBwcm92ZV9wd2ZpZWxkJ10pOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjZF9hcHByb3ZlX3VzZXJmaWVsZCcsKGludCkkcGFyYW1zWydjZF9hcHByb3ZlX3VzZXJmaWVsZCddKTsKfQoKLy8KLy8gZ2l2ZSB2ZXJ5dGhpbmcgdG8gc21hcnR5Ci8vCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zZXR0aW5ncycpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdmcmllbmRseW5hbWUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2xvY2F0aW9ucmVxdWlyZWQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsb2NhdGlvbnJlcXVpcmVkJywwKSk7CiRzbWFydHktPmFzc2lnbignY2hlY2tpbnJhdGVsaW1pdGluZycsZXhwbG9kZSgnLCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNraW5yYXRlbGltaXRpbmcnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NoZWNraW5yYXRlbGltaXRpbmdfb3B0aW9ucycsCgkJYXJyYXkoJ2J5bG9jYXRpb24nPT4kdGhpcy0+TGFuZygnY2hlY2tpbnJhdGVsaW1pdGluZ19ieWxvY2F0aW9uJyksCgkJICAgICAgJ2J5dGltZSc9PiR0aGlzLT5MYW5nKCdjaGVja2lucmF0ZWxpbWl0aW5nX2J5dGltZScpKSk7CiRzbWFydHktPmFzc2lnbignY2hlY2tpbnJhdGVsaW1pdGluZ19ieWxvY2F0aW9uJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tpbnJhdGVsaW1pdGluZ19ieWxvY2F0aW9uJywxKSk7CiRzbWFydHktPmFzc2lnbignY2hlY2tpbnJhdGVsaW1pdGluZ19ieXRpbWUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGVja2lucmF0ZWxpbWl0aW5nX2J5dGltZScsMTApKTsKCi8vIENvbXBhbnlEaXJlY3RvcnkgQ2F0ZWdvcmllcwokdG1wID0gY2RfdXRpbHM6OmdldF9jYXRlZ29yaWVzKFRSVUUsVFJVRSk7CmlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKICAkc21hcnR5LT5hc3NpZ24oJ2NkX2NhdGVnb3JpZXMnLCR0bXApOwogfQoKJHRtcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjZF9jYXRlZ29yaWVzX2FwcHJvdmVkY2hlY2tpbnMnKTsKaWYoICR0bXAgKSAkdG1wID0gdW5zZXJpYWxpemUoJHRtcCk7IGVsc2UgJHRtcCA9IGFycmF5KCk7CiRzbWFydHktPmFzc2lnbignY2RfY2F0ZWdvcmllc19hcHByb3ZlZGNoZWNraW5zJywkdG1wKTsKCi8vIENvbXBhbnlEaXJlY3RvcnkgZmllbGRkZWZzCiR0bXAgPSBjZF91dGlsczo6Z2V0X2ZpZWxkZGVmcyhGQUxTRSxGQUxTRSk7CmlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKICAkdG1wMiA9IGFycmF5KCk7CiAgJHRtcDJbLTFdID0gJHRoaXMtPkxhbmcoJ25vbmUnKTsKICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApIHsKICAgIGlmKCAkdG1wWyRpXVsndHlwZSddICE9ICd0ZXh0Ym94JyApIGNvbnRpbnVlOwogICAgaWYoICR0bXBbJGldWydwdWJsaWMnXSApIGNvbnRpbnVlOwogICAgJHRtcDJbJHRtcFskaV1bJ2lkJ11dID0gJHRtcFskaV1bJ25hbWUnXTsKICB9CiAgaWYoIGNvdW50KCR0bXAyKSApIHsKICAgICRzbWFydHktPmFzc2lnbignY2RfZmllbGRkZWZzJywkdG1wMik7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NkX2FwcHJvdmVfcHdmaWVsZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NkX2FwcHJvdmVfcHdmaWVsZCcsLTEpKTsKICAgICRzbWFydHktPmFzc2lnbignY2RfYXBwcm92ZV91c2VyZmllbGQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjZF9hcHByb3ZlX3VzZXJmaWVsZCcsLTEpKTsKICB9Cn0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fc2V0dGluZ3NfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_usersettings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHJldHVybjsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zYXZldXNlcnNldHRpbmdzJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiRzbWFydHktPmFzc2lnbignZmV1Z3JvdXBzJyxhcnJheV9mbGlwKCRmZXUtPkdldEdyb3VwTGlzdCgpKSk7CiRzbWFydHktPmFzc2lnbignZmV1X3VzZXJncm91cCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZldV91c2VyZ3JvdXAnLC0xKSk7CiRzbWFydHktPmFzc2lnbignZmV1X29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVfb25kZWxldGVfY2xlYW5jaGVja2lucycsMSkpOwokc21hcnR5LT5hc3NpZ24oJ2ZldV90YWdnZWRfcHJpb3JpdHknLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVfdGFnZ2VkX3ByaW9yaXR5Jyxub3RpZmljYXRpb25fbWVzc2FnZTo6UFJJT1JJVFlfTk9STUFMKSk7CiRzbWFydHktPmFzc2lnbignZmV1X3RhZ2dlZF9zdWJqZWN0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmV1X3RhZ2dlZF9zdWJqZWN0JykpOwokc21hcnR5LT5hc3NpZ24oJ2ZldV90YWdnZWRfdHBsJywkdGhpcy0+R2V0VGVtcGxhdGUoJ2ZldV90YWdnZWRfdHBsJykpOwoKJHByaW9yaXRpZXMgPSBhcnJheSgpOwokcHJpb3JpdGllc1stMV0gPSAkdGhpcy0+TGFuZygnb2ZmJyk7CiRwcmlvcml0aWVzW25vdGlmaWNhdGlvbl9tZXNzYWdlOjpQUklPUklUWV9ISUdIXSA9ICR0aGlzLT5MYW5nKCdoaWdoJyk7CiRwcmlvcml0aWVzW25vdGlmaWNhdGlvbl9tZXNzYWdlOjpQUklPUklUWV9OT1JNQUxdID0gJHRoaXMtPkxhbmcoJ25vcm1hbCcpOwokcHJpb3JpdGllc1tub3RpZmljYXRpb25fbWVzc2FnZTo6UFJJT1JJVFlfTE9XXSA9ICR0aGlzLT5MYW5nKCdsb3cnKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmlvcml0aWVzJywkcHJpb3JpdGllcyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3VzZXJzZXR0aW5nc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_view_activity_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ3ZpZXdfYWN0aXZpdHknLAoJCQkgICAgICdkZWZhdWx0X3ZpZXdfYWN0aXZpdHlfdGVtcGxhdGVfY29udGVudHMnLAoJCQkgICAgICd2aWV3X2FjdGl2aXR5JywKCQkJICAgICAnY3VycmVudF92aWV3X2FjdGl2aXR5X3RlbXBsYXRlJywKCQkJICAgICAkdGhpcy0+TGFuZygndGl0bGVfYWRkZWRpdF92aWV3YWN0aXZpdHlfdGVtcGxhdGUnKSwnJywnYWRtaW5fdGVtcGxhdGVzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_view_checkin_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJycsJ3ZpZXdfY2hlY2tpbicsCgkJCSAgICAgJ2RlZmF1bHRfdmlld19jaGVja2luX3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJICAgICAndmlld19jaGVja2luJywKCQkJICAgICAnY3VycmVudF92aWV3X2NoZWNraW5fdGVtcGxhdGUnLAoJCQkgICAgICR0aGlzLT5MYW5nKCd0aXRsZV9hZGRlZGl0X3ZpZXdjaGVja2luX3RlbXBsYXRlJyksJycsJ2FkbWluX3RlbXBsYXRlcycpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/help.html.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGEgc29jaWFsIGFwcGxpY2F0aW9uIGZyYW1ld29yayBidWlsdCBvbiB0b3Agb2YgQ01TTVMuICBJdCBpcyBkZXNpZ25lZCB0byBhbGxvdyBtb2JpbGUgZGV2ZWxvcGVycyB0byBidWlsZCBzbWFsbCB0byBtZWRpdW0gc2NhbGUgc3BlY2lhbGl6ZWQgc29jaWFsIGFwcGxpY2F0aW9ucyBhbmQgd2Vic2l0ZXMuICBpdCBjYW4gYmUgdXNlZCBmb3IgYWxsb3dpbmcgbW9iaWxlIHVzZXJzIHRvIGFkZCBvciBlZGl0IGxvY2F0aW9uIGluZm9ybWF0aW9uLCBtYW5hZ2UgZnJpZW5kc2hpcHMsIGFuZCBjcmVhdGUgdGltZSByZWxhdGVkIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gYSBsb2NhdGlvbi48L3A+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgUkVTVEZVTCBBUEkgdG8gYWxsb3cgc2VuZGluZyBhbmQgcmVjZWl2aW5nIHNvY2lhbCBkYXRhLCBhbmQgZm9yIGRpc3BsYXlpbmcgc29tZSBvZiB0aGF0IGRhdGEgb24gdGhlIENNU01TIHBvd2VyZWQgd2Vic2l0ZS48L3A+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGhhdmUgbXVjaCBmdW5jdGlvbmFsaXR5IG9mIGl0cyBvd24sIGl0IGlzIGRlc2lnbmVkIHRvIHByaW1hcmx5IHdvcmsgaW4gY29uanVuY3Rpb24gd2l0aCBhIGN1c3RvbSBkZXZlbG9wZWQgbW9iaWxlIGFwcGxpY2F0aW9uICh3aGljaCB5b3UgYXJlIGZyZWUgdG8gY3JlYXRlKS48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CiA8bGk+T25lIEluc3RhbGwgLSBNYW55IEFQUFMKICAgPHVsPgogICAgIDxsaT5VbmlxdWUgQVBJIEtleXMsIHdpdGggZXhwaXJ5PC9saT4KICAgICA8bGk+QWR2YW5jZWQgU2VjdXJpdHkuPC9saT4KICAgICA8bGk+QXRvbWljIHBlcm1pc3Npb25zIG1vZGVsLjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPlVzZXJzIEFQSQogICA8cD5UaGUgVXNlcnMgQVBJIGFsbG93cyBxdWVyeWluZywgcmVnaXN0ZXJpbmcsIGxvZ2dpbmcgaW4sIGxvZ2dpbmcgb3V0LCBhbmQgbW9kaWZ5aW5nIG9mIGEgdXNlciBhY2NvdW50LiAgSXQgdXNlcyB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZm9yIGF1dGhlbnRpY2F0aW9uLiAgVGhpcyBpcyB0aGUgcHJpbWFyeSBtZWNoYW5pc20gZm9yIGF1dGhlbnRpY2F0aW5nIHRvIHRoZSBzeXN0ZW0gKG90aGVyIHRoYW4gdGhlIEFQSSBrZXkpLiAgT25seSBhdXRoZW50aWNhdGVkIHVzZXJzIGNhbiBjcmVhdGUgbG9jYXRpb25zLCBhZGQgY2hlY2tpbmdzLCBlZGl0IGZyaWVuZCByZWxhdGlvbnNoaXBzIGV0Yy48L3A+CiAgIDx1bD4KICAgICA8bGk+UmVnaXN0ZXIgYSBuZXcgdXNlciA8ZW0+KFJFR0lTVEVSKTwvZW0+PC9saT4KICAgICA8bGk+TG9naW4gYW4gZXhpc3RpbmcgdXNlciA8ZW0+KExPR0lOKTwvZW0+PC9saT4KICAgICA8bGk+UElORyB0aGUgc2VydmVyIChrZWVwIGxvZ2luIHNlc3Npb24gYWxpdmUpIDxlbT4oUElORyk8L2VtPjwvbGk+CiAgICAgPGxpPkxvZ291dCBmcm9tIHRoZSBzeXN0ZW0gPGVtPihMT0dPVVQpPC9lbT48L2xpPgogICAgIDxsaT5SZXRyaWV2ZSB1c2VyIGluZm9ybWF0aW9uIChjdXJyZW50IHVzZXIpIDxlbT4oR0VUSU5GTyk8L2VtPjwvbGk+CiAgICAgPGxpPlJldHJpZXZlIHVzZXIgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIChjdXJyZW50IHVzZXIpIDxlbT4oUFJPUEVSVElFUyk8L2VtPjwvbGk+CiAgICAgPGxpPlNldCB1c2VyIGluZm9ybWF0aW9uIG9yIHByb3BlcnRpZXMgKGN1cnJlbnQgdXNlcikgPGVtPihTRVRQUk9QUyk8L2VtPjwvbGk+CiAgICAgPGxpPlJldHJpZXZlIHVzZXIgaGlzdG9yeSAoY3VycmVudCB1c2VyKSA8ZW0+KEhJU1RPUlkpPC9lbT48L2xpPgogICAgIDxsaT5MaXN0IFVzZXJzICh3aXRoIGJhc2ljIGZpbHRlcmluZykgPGVtPihMSVNUKTwvZW0+PC9saT4KICAgICA8bGk+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5UT0RPOjwvc3Bhbj4gRGVsZXRlIGN1cnJlbnQgdXNlciA8ZW0+KERFTEVURSk8L2VtPjwvbGk+CiAgIDwvdWw+CiA8L2xpPgogPGxpPkxvY2F0aW9ucyBBUEkKICAgICA8cD5UaGUgbG9jYXRpb25zIG1lY2hhbmlzbSB1c2VzIHRoZSBDb21wYW55RGlyZWN0b3J5IG1vZHVsZSB0byBtYW5hZ2UgYW5kIHN0b3JlIGRhdGEuICBMb2NhdGlvbnMgYWRkZWQgdmlhIHRoZSBSRVNURlVMIGFwaSBjYW4gYmUgbGlzdGVkIHVzaW5nIHRoZSBub3JtYWwgbWVjaGFuaXNtcyBpbiBDb21wYW55RGlyZWN0b3J5LiBTb21lIG9mIHRoZSBiYXNpYyBmZWF0dXJlcyBhcmU6PC9wPgogIDx1bD4KICAgICA8bGk+RmVhdHVyZTogUmF0ZSBMaW1pdGluZzwvbGk+CiAgICAgPGxpPkZlYXR1cmU6IFBob3RvIFVwbG9hZHM8L2xpPgogICAgIDxsaT5GZWF0dXJlOiBPcHRpb25hbCBBcHByb3ZhbDwvbGk+CiAgICAgPGxpPlJldHJpZXZlIGhpZXJhcmNoeSBsaXN0IDxlbT4oSElFUkFSQ0hZIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPlJldHJpZXZlIGNhdGVnb3J5IGxpc3QgPGVtPihDQVRFR09SSUVTIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkxpc3QgbG9jYXRpb25zICh3aXRoIGZpbHRlcmluZykgPGVtPihMSVNUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkdldCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGxvY2F0aW9uIDxlbT4oR0VUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkFkZCBhIGxvY2F0aW9uIDxlbT4oQUREIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkVkaXQgaW5mb3JtYXRpb24gYWJvdXQgYSBsb2NhdGlvbiA8ZW0+KEVESVQgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+QXR0YWNoIGEgcGhvdG8gdG8gYSBsb2NhdGlvbiA8ZW0+KFBIT1RPVVBMT0FEIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPlJlbW92ZSBhIHBob3RvIGZyb20gYSBsb2NhdGlvbiA8ZW0+KFBIT1RPREVMRVRFIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+ICAgICAKICAgICA8bGk+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5UT0RPOjwvc3Bhbj4gRGVsZXRlIGEgbG9jYXRpb24gPGVtPihERUxFVEUpPC9lbT48L2xpPgogIDwvdWw+CiA8L2xpPgogPGxpPkNoZWNraW5zIEFQSQogIDxwPlRoZSBDaGVja2lucyBtZWNoYW5pc20gYWxsb3dzIGEgbG9nZ2VkIGluIHVzZXIgdG8gc2F5IHRoYXQgdGhleSB3ZXJlIEFUIGEgc3BlY2lmaWMgbG9jYXRpb24gYXQgYSBzcGVjaWZpYyB0aW1lLjwvcD4KICA8dWw+CiAgICAgPGxpPkZlYXR1cmU6IEFjdGl2aXR5IGNhcGFiaWxpdGllcy48L2xpPgogICAgIDxsaT5GZWF0dXJlOiBPcHRpb25hbCBBcHByb3ZhbDwvbGk+CiAgICAgPGxpPkZlYXR1cmU6IEVuaGFuY2VkIHNlY3VyaXR5PC9saT4KICAgICA8bGk+RmVhdHVyZTogUmF0ZSBMaW1pdGluZyBhbmQgU3BhbSBwcm90ZWN0aW9uPC9saT4KICAgICA8bGk+QWRkIGEgY2hlY2tpbiA8ZW0+KEFERCBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5SZXRyaWV2ZSBhIHNpbmdsZSBjaGVja2luIDxlbT4oR0VUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkRlbGV0ZSBhIHNpbmdsZSBjaGVja2luIDxlbT4oREVMIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkFwcHJvdmUgYSBkcmFmdCBjaGVja2luIDxlbT4oQVBQUk9WRSBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5FZGl0IGEgc2luZ2xlIGNoZWNraW4gPGVtPihFRElUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkZpbmQgY2hlY2tpbnMgZm9yIGEgY2VydGFpbiBsb2NhdGlvbiAod2l0aCBwYWdpbmF0aW9uIGFuZCB0aW1lIGxpbWl0aW5nKSA8ZW0+KEJZTE9DQVRJT04gQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+RmluZCBjaGVja2lucyBmcm9tIGZyaWVuZHMgKHdpdGggcGFnaW5hdGlvbiBhbmQgdGltZSBsaW1pdGluZykgPGVtPihGUklFTkRTIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPkZpbmQgY2hlY2tpbnMgYnkgYWN0aXZpdHkgKHdpdGggcGFnaW5hdGlvbiBhbmQgdGltZSBsaW1pdGluZykgPGVtPihHRVQgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICA8L3VsPgogPC9saT4KIDxsaT5GYXZvcml0ZXMgQVBJCiAgICAgPHA+VGhlIGZhdm9yaXRlcyBBUEkgYWRkcyB0aGUgYWJpbGl0eSBmb3IgbG9nZ2VkIGluIHVzZXJzIHRvIG1hbmFnZSBhIGxpc3Qgb2YgJnF1b3Q7ZmF2b3JpdGUmcXVvdDsgbG9jYXRpb25zLiAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHN1cHBvcnRlZDo8L3A+CiAgICAgPHVsPgogICAgIDxsaT5MaXN0IGFsbCBmYXZvcml0ZSBsb2NhdGlvbiBpZHM8L2xpPgogICAgIDxsaT5BZGQgYSBsb2NhdGlvbiB0byB0aGUgZmF2b3JpdGVzIGxpc3QuPC9saT4KICAgICA8bGk+RGVsZXRlIGEgbG9jYXRpb24gdG8gdGhlIGZhdm9yaXRlcyBsaXN0LjwvbGk+CiAgICAgPGxpPlRlc3QgaWYgYSBsb2NhdGlvbiBpcyBhIGZhdm9yaXRlLjwvbGk+CiAgICAgPC91bD4KIDwvbGk+CiA8bGk+RnJpZW5kcyBBUEkKICA8cD5UaGUgZnJpZW5kcyBtZWNoYW5pc20gYWRkcyB0aGUgc29jaWFsIHBhcnQgdG8gdGhlIEFQSS4gIFVzZXJzIGNhbiBtYW5hZ2UgYSBmcmllbmRzIGxpc3QsIGFwcHJvdmUgYW5kIGRlbnkgZnJpZW5kIHJlcXVlc3RzLCBhbmQgc2VlIHdoYXQgdGhlaXIgZnJpZW5kcyBhcmUgZG9pbmcgd2l0aCB0aGUgYXBwbGljYXRpb24uPC9wPgogIDx1bD4KICAgICA8bGk+TGlzdCBGcmllbmRzIChmb3IgdGhlIGN1cnJlbnQgdXNlcikgPGVtPihMSVNUIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgICAgPGxpPlJlbW92ZSBhIGN1cnJlbnQgZnJpZW5kIGZyb20gdGhlIGxpc3QgKGZvciB0aGUgY3VycmVudCB1c2VyKSA8ZW0+KERFTCBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5TdWdnZXN0IEZyaWVuZHMgKGZvciB0aGUgY3VycmVudCB1c2VyKSA8ZW0+KFNVR0dFU1QgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+VmlldyBhIGxpc3Qgb2YgZnJpZW5kc2hpcCByZXF1ZXN0cyAoZm9yIHRoZSBjdXJyZW50IHVzZXIpIDxlbT4oUkVRVUVTVExJU1QgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+U2VuZCBhIGZyaWVuZCByZXF1ZXN0IHRvIGFub3RoZXIgdXNlciA8ZW0+KFJFUVVFU1QgQVBJIEZ1bmN0aW9uKTwvZW0+PC9saT4KICAgICA8bGk+QXBwcm92ZSBhIGZyaWVuZCByZXF1ZXN0IGZyb20gYW5vdGhlciB1c2VyIDxlbT4oQVBQUk9WRSBBUEkgRnVuY3Rpb24pPC9lbT48L2xpPgogICAgIDxsaT5EZW55IGEgZnJpZW5kIHJlcXVlc3QgZnJvbSBhbm90aGVyIHVzZXIgPGVtPihERU5ZIEFQSSBGdW5jdGlvbik8L2VtPjwvbGk+CiAgPC91bD4KIDwvbGk+CiA8bGk+TGVhZGVyYm9hcmQgLyBCYWRnZXMKICAgPHA+VGhlIExlYWRlcmJvYXJkIC8gQmFkZ2VzIGZ1bmN0aW9uYWxpdHkgYWxsb3dzIHJld2FyZGluZyB1c2VycyBmb3IgdXNpbmcgeW91ciBhcHBsaWNhdGlvbi48L3A+CiAgIDx1bD4KICAgPGxpPkNyZWF0ZSBudW1lcm91cyBsZWFkZXJib2FyZHMgYmFzZWQgb24gbnVtZXJvdXMgY3JpdGVyaXVtLCBpbmNsdWRpbmcgbG9jYXRpb24gYW5kIGFjdGl2aXR5LjwvbGk+CiAgIDxsaT5TY29yZXMgZm9yIGVhY2ggbGVhZGVyYm9hcmQgYXJlIGNhbGN1bGF0ZWQgcmVndWxhcmx5IGZyb20gdW5wcm9jZXNzZWQgY2hlY2tpbnMsIHVzaW5nIHRoZSBDR0pvYm1ncjwvbGk+CiAgIDxsaT5DcmVhdGUgbnVtZXJvdXMgYmFkZ2VzIG9uIGFueSBsZWFkZXJib2FyZC48L2xpPgogICA8bGk+QmFkZ2VzIGNhbiBiZSB1bmlxdWUgKG9ubHkgb25lIG1lbWJlciBjYW4gcG9zZXNzIHRoZSBiYWRnZSBhdCBhbnkgb25lIHRpbWUpLCBvciBub24gdW5pcXVlIGFsbG93aW5nIG51bWVyb3VzIG1lbWJlcnMuPC9saT4KICAgPGxpPkJhZGdlcyBhcmUgYmFzZWQgb24gc2NvcmUgZnJvbSBhIGxlYWRlcmJvYXJkLCBhbmQgY2FuIGhhdmUgYSBtaW5pbXVtLCBhbmQgb3B0aW9uYWxseSBhIG1heGltdW0gc2NvcmUuPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+Tm90aWZpY2F0aW9ucyBhbmQgRXZlbnRzOgogICA8cD5UaGlzIG1vZHVsZSBpcyBjYXBhYmlsZSBvZiBzZW5kaW5nIG5vdGlmaWNhdGlvbnMgKHVzaW5nIHRoZSBDR05vdGlmaWVyIGFuZCBvdGhlciBzdXBwb3J0aW5nIG1vZHVsZXMpIHRvIHB1Ymxpc2ggd2hlbiBiYWRnZXMgYXJlIGF3YXJkZWQuICBOb3RpZmljYXRpb25zIGNhbiBiZSBzZW50IHZpYSBTTVMgPGVtPihDR1NNUyk8L2VtPiwgVHdpdHRlciA8ZW0+KENHVHdpdHRlcik8L2VtPiwgRW1haWwgPGVtPihCdWlsdCBpbnRvIENHTm90aWZpZXIpPC9lbT4gYW5kIEZhY2Vib29rIDxlbT4oQ0dGQkFwcCk8L2VtPjwvcD4KICAgPHA+VGhlIG1vZHVsZSBzZW5kcyBldmVudHMgbG9naWNhbCBwbGFjZXMgaW4gdGhlIGNvZGUgYWxsb3dpbmcgb3RoZXIgbW9kdWxlcyBvciB1c2VyIGRlZmluZWQgdGFncyB0byBwZXJmb3JtIG1vcmUgZnVuY3Rpb25hbGl0eS48L3A+CiA8L2xpPgo8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0OjwvaDM+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgaXMgZm9yIGFkdmFuY2VkIHVzZXJzIG9ubHkuICBJbiBvcmRlciB0byBwcm9wZXJseSB1c2UgdGhpcyBtb2R1bGUgeW91IHdpbGwgcHJvYmFibHkgaGF2ZSB0byBjcmVhdGUgKG9yIGhhdmUgY3JlYXRlZCkgQSBtb2JpbGUgY2xpZW50IHRoYXQgaW50ZXJhY3RzIHdpdGggdGhpcyBtb2R1bGVzIFJFU1RGVUwgQVBJLiBBIFNhbXBsZSBQSFAgY29tbWFuZCBsaW5lIGNsaWVudCBhcHBsaWNhdGlvbiBpcyBpbmNsdWRlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4gVGhlIHJlZmVyZW5jZSBkb2N1bWVudCBmb3IgdGhlIFJFU1RGVUwgQVBJIGNhbiBiZSBmb3VuZCBpbiBhIFBERiBmaWxlIGluIHRoZSBkb2NzIGRpcmVjdG9yeS48L3A+CjxwPkFmdGVyIGluc3RhbGxhdGlvbiBhbmQgY29uZmlndXJhdGlvbiBvZiB0aGlzIG1vZHVsZSwgdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLCBUaGUgQ29tcGFueURpcmVjdG9yeSBtb2R1bGUsIGFuZCBhbnkgb3RoZXIgZGVwZW5kYW50cyB0aGVyZSBhcmUgYSBmZXcgc3RlcHMgdG8gZm9sbG93OjwvcD4KPHVsPgogIDxsaT5DcmVhdGUgYW4gQVBJIGtleTwvbGk+CiAgPGxpPk1vZGlmeSB0aGUgY2xpZW50LnBocCBhbmQgaW5zZXJ0IHRoZSBBUEkga2V5IGNyZWF0ZWQgYWJvdmUgaW50byB0aGUgYXBwcm9wcmlhdGUgc2VjdGlvbiBvZiB0aGUgY29kZS48L2xpPgogIDxsaT5DcmVhdGUgYXQgbGVhc3Qgb25lIHVzZXIgaW4gRkVVPC9saT4KICA8bGk+Q3JlYXRlIGF0IGxlYXN0IG9uZSBwdWJsaWMgbG9jYXRpb24gaW4gQ29tcGFueURpcmVjdG9yeSwgZm9yIHRlc3Rpbmc8L2xpPgogIDxsaT5MYXVuY2ggdGhlIHBocCBjbGllbnQgYXBwbGljYXRpb24uPC9saT4KPC91bD4KPGJyLz4KPGg0PkRpc3BsYXlpbmcgZGF0YSBvbiB0aGUgd2Vic2l0ZSBmcm9udGVuZDwvaDQ+CiAgPHVsPgogIDxsaT48c3Ryb25nIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5EaXNwbGF5aW5nIGNoZWNraW5zOjwvc3Ryb25nPgogICAgPHA+VGhlIGRlZmF1bHQgYWN0aW9uIG9mIHRoZSBtb2R1bGUgd2lsbCBkaXNwbGF5IGNoZWNraW5zLiAgVGhlIGRpc3BsYXkgb2YgY2hlY2tpbiBkYXRhIGNhbiBiZSBhbHRlcmVkIGJ5IHBhc3NpbmcgcGFyYW1ldGVycyBzdWNoIGFzIGxvY2F0aW9uLGFjdGl2aXR5LHRpbWVsaW1pdCxvd25lcixsaW1pdCxvZmZzZXQsc29ydGJ5IGFuZCBzb3J0b3JkZXIgdG8gdGhlIHRhZy4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIGRpc3BsYXkgYSBsaXN0IG9mIHRoZSBtb3N0IHJlY2VudCBjaGVja2lucy48L3A+CiAgICA8cD5UaGUgZGVmYXVsdCBjaGVja2luIGxpc3QgdGVtcGxhdGUgd2lsbCBwcm92aWRlIGxpbmtzIHRvIGEgdXNlciBkZXRhaWwgdmlldywgYSBsb2NhdGlvbiBkZXRhaWwgdmlldywgYW5kIHdoZXJlIHBvc3NpYmxlIGFuIGFjdGl2aXR5IGRldGFpbCB2aWV3LjwvcD4KICAgIDxwPmkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwfTwvY29kZT48L3A+CiAgICA8cD48c3Ryb25nPlRpcDo8L3N0cm9uZz4gaXQgaXMgYSBnb29kIGlkZWEgdG8gbW9kaWZ5IHRoZSBhcHJvcHJpYXRlIENvbXBhbnlEaXJlY3RvcnkgZGV0YWlsIHZpZXcgdGVtcGxhdGUgdG8gZGlzcGxheSBhIGxpc3Qgb2YgY2hlY2tpbnMgZm9yIHRoZSBsb2NhdGlvbi4gIGkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIGxvY2F0aW9uPSRlbnRyeS0+aWR9PC9jb2RlPjwvcD4KICAgIDxwPjxzdHJvbmc+VGlwOjwvc3Ryb25nPiBpdCBpcyBhIGdvb2QgaWRlYSB0byBtb2RpZnkgdGhlIEZyb250RW5kVXNlcnMgdmlldyB1c2VyIDxlbT4ob3IgYSBDR1VzZXJEaXJlY3RvcnkgZGV0YWlsIHRlbXBsYXRlKTwvZW0+IHRlbXBsYXRlIHRvIGRpc3BsYXkgYSBsaXN0IG9mIGNoZWNraW5zIGZvciB0aGUgdXNlci4gIGkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIG93bmVyPSR1c2VyaW5mby5pZH08L2NvZGU+PC9wPgogIDwvbGk+CiAgCiAgPGxpPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBncmVlbjsiPkRpc3BsYXlpbmcgYWN0aXZpdGllczo8L3N0cm9uZz4KICAgIDxwPlRoZSBsaXN0X2FjdGl2aXRpZXMgYWN0aW9uIGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgYSBoaWVyYXJjaGljYWwgbGlzdCBvZiBhY3Rpdml0aWVzIGluIHN1bW1hcnkgZm9ybS4gIEFuZCBmcm9tIHRoZXJlIGEgZGV0YWlsIHZpZXcgY2FuIGJlIGRpc3BsYXllZCBvZiBhIHNpbmdsZSBhY3Rpdml0eS48L3A+CiAgICA8cD5pLmU6IDxjb2RlPntjbXNfbW9kdWxlIG1vZHVsZT1DR1NvY2lhbEFwcCBhY3Rpb249bGlzdF9hY3Rpdml0aWVzfTwvY29kZT48L3A+CiAgPC9saT4KCiAgPGxpPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBncmVlbjsiPkRpc3BsYXlpbmcgYSBzaW5nbGUgYWN0aXZpdHk6PC9zdHJvbmc+CiAgPHA+VGhlIHZpZXdfYWN0aXZpdHkgYWN0aW9uIGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBhY3Rpdml0eS4gVGhlIGRlZmF1bHQgYWN0aXZpdHkgdmlldyB3aWxsIGFsc28gZGlzcGxheSBhIGxpc3Qgb2YgcmVjZW50IGNoZWNraW5zIGZvciB0aGF0IGFjdGl2aXR5LjwvcD4KICAgIDxwPmkuZTogPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIGFjdGlvbj12aWV3X2FjdGl2aXR5IGFjdGl2aXR5PSMjfTwvY29kZT48L3A+CiAgPC9saT4KICA8L3VsPgo8aDQ+RnJpZW5kIE1hbmFnZW1lbnQ6PC9oND4KICA8cD5JdCBpcyBwb3NzaWJsZSB0byBhbGxvdyB1c2VycyB0byBtYW5hZ2UgY3JlYXRlIGZyaWVuZCByZXF1c3RzLCBhbmQgYXBwcm92ZSBvciBkZW55IGluY29taW5nIGZyaWVuZCByZXF1ZXN0cyB1c2luZyB0aGUgdmFyaW91cyBzbWFydHkgcGx1Z2lucyBhbmQgYWN0aW9ucyBvZiB0aGlzIG1vZHVsZTo8L3A+CiAgPHVsPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5DcmVhdGUgPGVtPihvciByZW1vdmUpPC9lbT4gYSBGcmllbmQgUmVxdWVzdCBvciBGcmllbmRzaGlwOjwvc3Bhbj4KCQkgICA8cD48Y29kZT57Y2dzYV9mcmllbmRyZXFfbGlua308L2NvZGU+IFJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiB0byBGRVUsIGJ1dCB3aWxsIGRpc3BsYXkgYSBsaW5rIHRvIGluaXRpYXRlLCBvciByZW1vdmUgYSBmcmllbmQgcmVxdWVzdCBsaW5rIHRvIGEgcGFydGljdWxhciB1c2VyLiAgQXMgd2VsbCwgaWYgdGhlIHRhcmdldHRlZCB1c2VyIGlzIGFscmVhZHkgYSBmcmllbmQsIGEgbGluayB3aWxsIGJlIGdlbmVyYXRlZCBhbGxvd2luZyB0aGUgZnJpZW5kIHJlbGF0aW9uc2hpcCB0byBiZSByZW1vdmVkLiAgVGhpcyB0YWcgY2FuIGJlIGFkZGVkIHRvIHRoZSBDR1VTZXJEaXJlY3RvcnkgZGV0YWlsIHZpZXcgdGVtcGxhdGUsIG9yIHRvIHRoZSBGcm9udEVuZFVzZXJzIHZpZXcgdXNlciB0ZW1wbGF0ZS48L3A+CiAgICAgIDxwPklmIHRoZSBzZWxlY3RlZCB1c2VyIGlzIG5vdCBhIGZyaWVuZCwgdGhlIGxpbmsgd2lsbCwgd2hlbiBjbGlja2VkIHVwb24gd2lsbCBnZW5lcmF0ZSBhIGZvcm0gPGVtPihhY3Rpb249ZnJpZW5kcmVxKTwvZW0+LiAgVGhlIGZvcm0gYXNrcyB0aGUgdXNlciB0byBjb25maXJtIHRoZSBzZW5kaW5nIG9mIHRoZSBmcmllbmQgcmVxdWVzdC4gIE9uY2UgY29uZmlybWVkIDxlbT4ob3IgY2FuY2VsbGVkKTwvZW0+IHRoZSB1c2VyIGlzIHJlZGlyZWN0ZWQgYmFjayB0byB0aGUgb3JpZ2luYXRpbmcgVVJMLjwvcD4KICAgICAgPHA+aS5lOiA8Y29kZT57Y2dzYV9mcmllbmRyZXFfbGluayB1c2VyPSR1c2VyLmlkfTwvY29kZT48L3A+CiAgICA8L2xpPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5EaXNwbGF5IGEgbGlzdCBvZiBwZW5kaW5nIFJlcXVlc3RzOjwvc3Bhbj4KICAgICAgPHA+PGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPUNHU29jaWFsQXBwIGFjdGlvbj1mcmllbmRyZXFsaXN0fTwvY29kZT4gaXMgYW4gYWN0aW9uIHRoYXQgd2lsbCBkaXNwbGF5IGEgbGlzdCBvZiBhbGwgb2YgdGhlIHBlbmRpbmcgZnJpZW5kIHJlcXVlc3RzIGFuZCBhbGxvdyBhcHByb3ZpbmcsIG9yIGRlbnlpbmcgdGhlbS4gIFRoaXMgcGx1Z2luIHdpbGwgZGlzcGxheSBub3RoaW5nIGlmIHRoZSB1c2VyIGlzIG5vdCBsb2dnZWRpbiB0byBGcm9udEVuZFVzZXJzLiAgVGhpcyBwbHVnaW4gY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBib3R0b20gb2YgdGhlIEZyb250RW5kVXNlcnMgY2hhbmdlIHNldHRpbmdzIGZvcm0sPC9wPgogICAgPC9saT4KICA8L3VsPgo8aDQ+RmF2b3JpdGVzIE1hbmFnZW1lbnQ6PC9oND4KICAgPHA+VGhpcyBtb2R1bGUgYWxsb3dzIHVzZXJzIHRvIG1haW50YWluIGEgbGlzdCBvZiBmYXZvcml0ZSBsb2NhdGlvbnMuICBVc2VycyBjYW4gdmlldyB0aGVpciBmYXZvcml0ZXMgaW4gYSBsaXN0LCBhbmQgY2FuIGludGVyYWN0IHdpdGggZmF2b3JpdGUgbG9jYXRpb25zIGluIHZhcmlvdXMgd2F5cy48L3A+CiAgPHVsPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5BZGRpbmcgb3IgcmVtb3ZpbmcgYSBGYXZvcml0ZTwvc3Bhbj4KICAgICAgPHA+PGNvZGU+e2Nnc2FfdG9nZ2xlX2Zhdm9yaXRlbGluayBsb2NhdGlvbj0kbG9jYXRpb25faWR9PC9jb2RlPiB3aWxsIGRpc3BsYXkgYSBsaW5rIGFsbG93aW5nIHRoZSB1c2VyIHRvIGVpdGhlciBhZGQgdGhlIHNlbGVjdGVkIGxvY2F0aW9uIGFzIGEgZmF2b3JpdGUsIG9yIHJlbW92ZSBpdC4gIEl0IGlzIGJlc3QgY2FsbGVkIGZyb20gd2l0aGluIHRoZSBDb21wYW55RGlyZWN0b3J5IGRldGFpbCB0ZW1wbGF0ZSwgYnV0IG1heSBhbHNvIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgc3VtbWFyeSB0ZW1wbGF0ZS48L3A+CiAgICA8L2xpPgogICAgPGxpPjxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5WaWV3aW5nIEFsbCBGYXZvcml0ZXM8L3NwYW4+CiAgICAgIDxwPkl0IGlzIHBvc3NpYmxlIHRvIGRpc3BsYXkgYSBzdW1tZXJ5IHZpZXcgb2YgYWxsIGxvY2F0aW9ucyB0aGF0IGFyZSBpbiBhIHVzZXJzIGZhdm9yaXRlcyBsaXN0LiAgVGhlIGZhdm9yaXRlcyBsaXN0IGlzIHNpbXBseSBhIGxpc3Qgb2YgaW50ZWdlciBsb2NhdGlvbiBpZGVudGlmaWVycywgYW5kIHJldHJpZXZpbmcgYSBmYXZvcml0ZXMgbGlzdCByZXF1cmVzIHRoYXQgdGhlIHVzZXIgYmUgbG9nZ2VkIGluIHRvIEZFVS4gIFRoZXJlZm9yZSB0aGUgY29kZSBiZWxvdyB3b3JrcyBiZXN0IHdoZW4gZGlzcGxheWVkIG9uIGEgcHJvdGVjdGVkIHBhZ2UgKG9yIHN1cnJvdW5kZWQgYnkgY3VzdG9tY29udGVudCBsb2dpYykuPC9wPgogICAgICA8cHJlPntjZ3NhX2dldF9mYXZvcml0ZXMgYXNzaWduPSdteWZhdnMnfQp7YXNzaWduIHZhcj0nbXlmYXZzJyB2YWx1ZT0nLCd8aW1wbG9kZTokbXlmYXZzfQp7Q29tcGFueURpcmVjdG9yeSBpZGxpc3Q9JG15ZmF2c308L3ByZT4KICAgICAgPC9wcmU+CiAgICA8L2xpPgogIDwvdWw+CjxoMz5TbWFydHkgRnVuY3Rpb25zPC9oMz4KPHVsPgogIDxsaT57Y2dzYV9nZXRhY3Rpdml0eSBhY3Rpdml0eT0jIyBbYXNzaWduPSMjXX0KICAgIDxwPlJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBhY3Rpdml0eTwvcD4KICAgIDxwPk9wdGlvbnM6PC9wPgogICAgPHVsPgogICAgICAgPGxpPjxzdHJvbmc+YWN0aXZpdHkgPGVtPihyZXF1aXJlZCk8L2VtPjwvc3Ryb25nPiAtIFRoZSBpbnRlZ2VyIGFjdGl2aXR5IGlkLiAgTm90ZSwgYWlkIGlzIGFuIGFsaWFzIGZvciB0aGUgYWN0aXZpdHkgYXJndW1lbnQuPC9saT4KICAgICAgIDxsaT5hc3NpZ24gPGVtPihvcHRpb25hbCk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgIDwvdWw+CiAgICAgICA8cD5FeGFtcGxlOiA8Y29kZT57Y2dzYV9nZXRhY3Rpdml0eSBhY3Rpdml0eT0xIGFzc2lnbj10bXB9Jmx0O3ByZSZndDt7JHRtcHxAcHJpbnRfcn0mbHQ7cHJlJmd0OzwvY29kZT48L3A+CiAgPC9saT4KCiAgPGxpPntjZ3NhX3NlbGFjdGl2aXR5IFtwcmVmaXg9c3RyaW5nXSBuYW1lPXN0cmluZyBbaWQ9c3RyaW5nXSBbc2VsZWN0ZWQ9aW50XSBbbm9uZT1pbnRdIFthc3NpZ249c3RyaW5nXX0KICAgIDxwPlByb3ZpZGUgYSBkcm9wZG93biBsaXN0IHRvIHNlbGVjdCBhbiBhY3Rpdml0eS48L3A+CiAgICA8cD5PcHRpb25zOjwvcD4KICAgICAgPHVsPgogICAgICAgPGxpPjxzdHJvbmc+bmFtZSA8ZW0+KHJlcXVpcmVkKTwvZW0+PC9zdHJvbmc+IC0gQSBuYW1lIGZvciB0aGUgc2VsZWN0IGVsZW1lbnQuPC9saT4KICAgICAgIDxsaT5wcmVmaXggPGVtPihvcHRpb25hbCk8L2VtPiAtIEEgcHJlZml4IGZvciB0aGUgbmFtZSBvZiB0aGUgc2VsZWN0IGVsZW1lbnQuIFRoZSBwcmVmaXggaXMgdXN1YWxseSB1c2VkIHdoZW4gYnVpbGRpbmcgZm9ybXMgaW5zaWRlIG9mIGEgbW9kdWxlIGFjdGlvbiB0ZW1wbGF0ZS48L2xpPgogICAgICAgPGxpPmlkIDxlbT4ob3B0aW9uYWwpPC9lbT4gLSBBbiBpZCBmb3IgdGhlIHNlbGVjdCBlbGVtZW50LjwvbGk+CiAgICAgICA8bGk+Y2xhc3MgPGVtPihvcHRpb25hbCk8L2VtPiAtIEEgY2xhc3MgYXR0cmlidXRlIGZvciB0aGUgc2VsZWN0IGVsZW1lbnQuPC9saT4KICAgICAgIDxsaT5zZWxlY3RlZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gVGhlIGludGVnZXIgaWQgb2YgdGhlIGFjdGl2aXR5IHRvIGJlIHNlbGVjdGVkIGJ5IGRlZmF1bHQuPC9saT4KICAgICAgIDxsaT5hc3NpZ24gPGVtPihvcHRpb25hbCk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgICAgPC91bD4KICAgIDxwPkV4YW1wbGU6IDxjb2RlPntjZ3NhX3NlbGVhY3Rpdml0eSBuYW1lPXNlbF9hY3Rpdml0eX08L2NvZGU+PC9wPgogIDwvbGk+CgogIDxsaT57Y2dzYV9nZXRfZmF2b3JpdGVzIFthc3NpZ249c3RyaW5nfQogICAgPHA+UmV0dXJuIGEgbGlzdCBvZiBmYXZvcml0ZSBsb2NhdGlvbiBpZHMuIDxlbT4oaWYgYW55Lik8L2VtPjwvcD4KICAgIDxwPk9wdGlvbnM6PC9wPgogICAgPHVsPgogICAgICAgPGxpPmFzc2lnbiA8ZW0+KG9wdGlvbmFsKTwvZW0+IC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS48L2xpPgogICAgPC91bD4KICAgIDxwPkV4YW1wbGU6IDxjb2RlPntjZ3NhX2dldF9mYXZvcml0ZXMgYXNzaWduPXRtcH17ZGVidWdfZGlzcGxheSgkdG1wKX08L2NvZGU+PC9wPgogIDwvbGk+CgogIDxsaT57Y2dzYV9nZXRfZnJpZW5kcyBbYXNzaWduPXN0cmluZ30KICAgIDxwPlJldHVybiBhIGxpc3Qgb2YgZnJpZW5kIHVzZXIgaWRzLiA8ZW0+KGlmIGFueS4pPC9lbT48L3A+CiAgICA8cD5PcHRpb25zOjwvcD4KICAgIDx1bD4KICAgICAgIDxsaT5hc3NpZ24gPGVtPihvcHRpb25hbCk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgIDwvdWw+CiAgICA8cD5FeGFtcGxlOiA8Y29kZT57Y2dzYV9nZXRfZnJpZW5kcyBhc3NpZ249dG1wfXtkZWJ1Z19kaXNwbGF5KCR0bXApfTwvY29kZT48L3A+CiAgPC9saT4KCiAgPGxpPntjZ3NhX3RvZ2dsZWZhdm9yaXRlX2xpbmt9CiAgICA8cD5DcmVhdGUgYSBsaW5rIHRvIGFuIGFjdGlvbiB0aGF0IHdpbGwgdG9nZ2xlIHRoZSBzZWxlY3RlZCBsb2NhdGlvbiBhcyBhIGZhdm9yaXRlLiBUaGlzIHBsdWdpbiByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4gdG8gRkVVIChpZiB0aGUgdXNlciBpcyBub3Qgbm8gb3V0cHV0IHdpbGwgYmUgZGlzcGxheWVkKS4gIEFuZCBhbGxvd3MgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlciB0byB0b2dnbGUgYSBsb2NhdGlvbiBhcyBhIGZhdm9yaXRlIG9yIG5vdC48L3A+CiAgICA8cD5VbmRlciBub3JtYWwgY29uZGl0aW9ucyB0aGUgbGluayBjcmVhdGVkIGJ5IHRoaXMgcGx1Z2luIHdpbGwgcGVyZm9ybSB0aGUgYWN0aW9uIG9mIHNlbGVjdGluZyB0aGlzIGl0ZW0gYXMgYSBmYXZvcml0ZSAob3IgdW5zZWxlY3RpbmcgaXQpIGFuZCByZXR1cm4gdG8gdGhlIHVybCBvZiB0aGUgcGFnZSB0aHQgdGhlIHBsdWdpbiB3YXMgY2FsbGVkIGZyb20uPC9wPgogICAgPHA+T3B0aW9uczo8L3A+CiAgICA8dWw+CiAgICAgICA8bGk+PHN0cm9uZz5sb2NhdGlvbiAgPGVtPihyZXF1aXJlZCBpbnRlZ2VyKTwvZW0+PC9zdHJvbmc+IC0gVGhlIG51bWVyaWMgSUQgb2YgdGhlIGxvY2F0aW9uLjwvbGk+CiAgICAgICA8bGk+ZmF2dGV4dCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFNwZWNpZnkgZGlmZmVyZW50IHRleHQgZm9yIHRoZSBsaW5rIGlmIHRoZSBpdGVtIGlzIGN1cnJlbnRseSBub3QgYSBmYXZvcml0ZSwgYW5kIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGZhdm9yaXRlcyBsaXN0LjwvbGk+CiAgICAgICA8bGk+dW5mYXZ0ZXh0IDxlbT4ob3B0aW9uYWwgc3RyaW5nKTwvZW0+IC0gU3BlY2lmeSBkaWZmZXJlbnQgdGV4dCBmb3IgdGhlIGxpbmsgaWYgdGhlIGl0ZW0gaXMgY3VycmVudGx5IG5vdCBhIGZhdm9yaXRlIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgZmF2b3JpdGVzIGxpc3QuPC9saT4KICAgICAgIDxsaT5jbGFzcyA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFNwZWNpZnkgYSBjbGFzcyBhdHRyaWJ1dGUgZm9yIHRoZSBsaW5rIHRhZy48L2xpPgogICAgICAgPGxpPmlkIDxlbT4ob3B0aW9uYWwgc3RyaW5nKTwvZW0+IC0gU3BlY2lmeSBhIGlkIGF0dHJpYnV0ZSBmb3IgdGhlIGxpbmsgdGFnLjwvbGk+CiAgICAgICA8bGk+cmV0dXJuaWQgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gU3BlY2lmeSBhIGRpZmZlcmVudCByZXR1cm5pZCBmb3IgdGhlIGRlc3RpbmF0aW9uIGFjdGlvbiBhbmQgdG8gcmV0dXJuIHRvLjwvbGk+CiAgICAgICA8bGk+dXJsb25seSA8ZW0+KG9wdGlvbmFsIGludGVnZXIpPC9lbT4gLSBEbyBub3QgZ2VuZXJhdGUgYSBsaW5rLCBvbmx5IGEgVVJMLjwvbGk+CiAgICAgICA8bGk+anNmcmllbmRseSA8ZW0+KG9wdGlvbmFsIGludGVnZXIpPC9lbT4gLSBHZW5lcmF0ZSBhIFVSTCB0aGF0IGlzIHN1aXRhYmxlIGZvciB1c2UgaW4gamF2YXNjcmlwdCAoYWpheCk8L2xpPgogICAgICAgPGxpPm5vcmVkaXJlY3QgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gRG8gbm90IHJlZGlyZWN0IHRvIHRoZSBvcmlnaW5hbCBVUkwuPC9saT4KICAgICAgIDxsaT5yZWRpcmVjdGNvbnRlbnQgPGVtPihvcHRpb25hbCBpbnRlZ2VyKSAtIERvIG5vdCByZWRpcmVjdCB0byB0aGUgb3JpZ2luYXRpbmcgVVJMLCB1c2UgdGhlIHJldHVybmlkIGFuZCByZWRpcmVjdCB0byB0aGUgY29udGVudCBwYWdlLjwvbGk+CiAgICAgICA8bGk+YXNzaWduIDxlbT4ob3B0aW9uYWwgc3RyaW5nKTwvZW0+IC0gQXNzaWduIHRoZSBvdXRwdXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS48L2xpPgogICAgPC91bD4KICAgIDxwPkV4YW1wbGU6IHtjZ3NhX3RvZ2dsZWZhdm9yaXRlX2xpbmsgbG9jYXRpb249JGxvY2F0aW9uX2lkfTwvcD4KICA8L2xpPgoKICA8bGk+e2Nnc2FfZnJpZW5kcmVxX2xpbmt9CiAgICAgPHA+Q3JlYXRlIGEgbGluayB0byBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBpbnN0YW50aWF0ZSBhIGZyaWVuZCByZXF1ZXN0LiAgVGhpcyBwbHVnaW4gd2lsbCBjcmVhdGUgYSBsaW5rIHRvIGFuIGFjdGlvbiB0aGF0IHByb3ZpZGVzIGEgZm9ybS4gIE9uY2Ugc2VsZWN0ZWQgdGhlIGZvcm0gd2lsbCBjcmVhdGUgYSBmcmllbmQgcmVxdWVzdC4gIElmIGEgZnJpZW5kIHJlcXVlc3QgaGFzIGFscmVhZHkgYmVlbiBzZW50IHRvIHRoZSB1c2VyIHRoZSBsaW5rIHdpbGwgYWxsb3cgcmVtb3ZpbmcgdGhlIGZyaWVuZCByZXF1ZXN0LiAgVGhpcyBwbHVnaW4gcmVxdWlyZXMgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZS4gIElmIHRoZSB1c2VyIGlzIG5vdCBsb2dnZWRpbiwgbm8gb3V0cHV0IHdpbGwgYmUgcmV0dXJuZWQuPC9wPgogICAgPHA+VGhlIGxpbmsgY3JlYXRlZCBieSB0aGlzIHBsdWdpbiBzZW5kcyB0aGUgdXNlciB0byB0aGUgJnF1b3Q7ZnJpZW5kcmVxJnF1b3Q7IGFjdGlvbiB3aGljaCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gY29uZmlybSB0aGUgZnJpZW5kc2hpcCByZXF1ZXN0LiAgVW5kZXIgbm9ybWFsIHVzYWdlIGlmIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCBvciBjYW5jZWxsZWQgdGhlIHVzZXIgd2lsbCBiZSByZWRpcmVjdGVkIGJhY2sgdG8gdGhlIFVSTCB3aGVyZSB0aGUgbGluayBpcyBkaXNwbGF5ZWQuPC9wPgogICAgPHA+T3B0aW9uczo8L3A+CiAgICA8dWw+CiAgICAgICA8bGk+PHN0cm9uZz51c2VyIDxlbT4ocmVxdWlyZWQgaW50ZWdlcik8L3N0cm9uZz4gLSBUaGUgdXNlcmlkIHRoYXQgd2Ugd2FudCB0byBzZW5kIGEgZnJlbmQgcmVxdWVzdCB0by48L2xpPgogICAgICAgPGxpPnJlcXRleHQgPGVtPihvcHRpb25hbCBzdHJpbmcpIC0gVXNlIGFsdGVybmF0ZSB0ZXh0IGZvciB0aGUgbGluayB3aGVuIGNyZWF0aW5nIGEgZnJpZW5kIHJlcXVlc3QuPC9saT4KICAgICAgIDxsaT5ybXJlcXRleHQgPGVtPihvcHRpb25hbCBzdHJpbmcpIC0gVXNlIGFsdGVybmF0ZSB0ZXh0IGZvciB0aGUgbGluayB3aGVuIHJlbW92aW5nIGFuIGV4aXN0aW5nIGZyaWVuZCByZXF1ZXN0LjwvbGk+CiAgICAgICA8bGk+Y2xhc3MgPGVtPihvcHRpb25hbCBzdHJpbmcpPC9lbT4gLSBTcGVjaWZ5IGEgY2xhc3MgYXR0cmlidXRlIGZvciB0aGUgbGluayB0YWcuPC9saT4KICAgICAgIDxsaT5pZCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFNwZWNpZnkgYSBpZCBhdHRyaWJ1dGUgZm9yIHRoZSBsaW5rIHRhZy48L2xpPgogICAgICAgPGxpPnJldHVybmlkIDxlbT4ob3B0aW9uYWwgaW50ZWdlcik8L2VtPiAtIFNwZWNpZnkgYSBkaWZmZXJlbnQgcmV0dXJuaWQgb24gd2hpY2ggdG8gZGlzcGxheSB0aGUgZnJpZW5kcmVxIGFjdGlvbiwgYW5kIHJldHVybiB0by48L2xpPgogICAgICAgPGxpPnVybG9ubHkgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gRG8gbm90IGdlbmVyYXRlIGEgbGluaywgb25seSBhIFVSTC48L2xpPgogICAgICAgPGxpPmpzZnJpZW5kbHkgPGVtPihvcHRpb25hbCBpbnRlZ2VyKTwvZW0+IC0gR2VuZXJhdGUgYSBVUkwgdGhhdCBpcyBzdWl0YWJsZSBmb3IgdXNlIGluIGphdmFzY3JpcHQgKGFqYXgpPC9saT4KICAgICAgIDxsaT5ub3JlZGlyZWN0IDxlbT4ob3B0aW9uYWwgaW50ZWdlcik8L2VtPiAtIERvIG5vdCByZWRpcmVjdCB0byB0aGUgb3JpZ2luYWwgVVJMLjwvbGk+CiAgICAgICA8bGk+cmVkaXJlY3Rjb250ZW50IDxlbT4ob3B0aW9uYWwgaW50ZWdlcikgLSBEbyBub3QgcmVkaXJlY3QgdG8gdGhlIG9yaWdpbmF0aW5nIFVSTCwgdXNlIHRoZSByZXR1cm5pZCBhbmQgcmVkaXJlY3QgdG8gdGhlIGNvbnRlbnQgcGFnZS48L2xpPgogICAgICAgPGxpPnRlbXBsYXRlIDxlbT4ob3B0aW9uYWwgc3RyaW5nPjwvZW0+IC0gU3BlY2lmeSB0aGUgbmFtZSBvZiBhIG5vbiBzdGFuZGFyZCAmcXVvdDtGcmllbmQgUmVxdWVzdCBUZW1wbGF0ZSZxdW90OyB0byB1c2Ugd2hlbiBjcmVhdGluZyB0aGUgZnJpZW5kIHJlcXVlc3QgZm9ybS48L2xpPgogICAgICAgPGxpPmFzc2lnbiA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIEFzc2lnbiB0aGUgb3V0cHV0IHRvIHRoZSBuYW1lZCBzbWFydHkgdmFyaWFibGUuPC9saT4KICAgIDwvdWw+CiAgICA8cD5FeGFtcGxlOiB7Y2dzYV9mcmllbmRyZXFfbGluayB1c2VyPSRzb21lX3VzZXJpZH08L3A+CiAgPC9saT4KPC91bD4KCjxoMz5SZXF1aXJlbWVudHM8L2gzPgo8dWw+CiAgPGxpPkZFVSAtIExvZ2luIG1vcmUgdGhhbiBvbmNlIG11c3QgYmUgZW5hYmxlZC48L2xpPgogIDxsaT5QcmV0dHkgVVJMUyAobW9kX3Jld3JpdGUgb3IgaW50ZXJuYWwpIG11c3QgYmUgY29uZmlndXJlZC48L2xpPgogIDxsaT5UaGUgbW9iaWxlIGNsaWVudCBtdXN0IGhhdmUgY29va2llcyBjYXBhYmlsaXRpZXMuPC9saT4KICA8bGk+VGhlIENHSm9iTWdyIG1vZHVsZSBpcyByZXF1aXJlZCBmb3IgdGhlIGJhZGdlIGZ1bmN0aW9uYWxpdGllcy4gV2UgcmVjb21tZW5kIHRoYXQgbGVhZGVyYm9hcmRzIGJlIHVwZGF0ZWQgbW9yZSBmcmVxdWVudGx5IHRoYW4gYmFkZ2VzLiAgQnV0IG5vIG1vcmUgdGhhbiAzIG9yIDQgdGltZXMgcGVyIGhvdXIuICBJZGVhbCBpbnRlcnZhbHMgYXJlIGFwcHJveGltYXRlbHkgMjAgbWludXRlcyB0byB1cGRhdGUgbGVhZGVyYm9hcmRzLCBhbmQgMzAgbWludXRlcyBmb3IgdXBkYXRpbmcgYmFkZ2VzLjwvbGk+CiAgPGxpPlRoZSBkZWZhdWx0IChzYW1wbGUpIHRlbXBsYXRlcyB0YWtlIGFkdmFudGFnZSBvZiB0aGUge21vZHVsZV9hY3Rpb25fbGlua30gcGx1Z2luIGZyb20gdGhlIENHU2ltcGxlU21hcnR5IGxpYnJhcnkuPC9saT4KICA8bGk+VGhlIENHRmF2cyBtb2R1bGUgaXMgcmVxdWlyZWQgZm9yIGZhdm9yaXRlcyBtYW5hZ2VtZW50LjwvbGk+CiAgPGxpPk51bWVyb3VzIGZpZWxkcyBtYXkgYmUgcmVxdWlyZWQgaW4gdGhlIENvbXBhbnlEaXJlY3RvcnkgYW5kL29yIEZFVSBtb2R1bGVzIHRvIGFsbG93IGNlcnRhaW4gZnVuY3Rpb25hbGl0eS4gIGkuZTogQW4gQWxidW0gZmllbGQgaXMgcmVxdWlyZWQgaW4gdGhlIENvbXBhbnlEaXJlY3RvcnkgbW9kdWxlIHRvIGFsbG93IHRoZSBQSE9UT1VQTE9BRCBhY3Rpb24gdG8gd29yay48L3A+CiAgPGxpPlRoZSBzYW1wbGUgUEhQIGNsaWVudCByZWxpZXMgb24gdGhlIGN1cmwgcGhwIGV4dGVuc2lvbnMuPC9saT4KICA8bGk+Rm9yIE5vdGlmaWNhdGlvbnMgdG8gd29yayB0aGUgQ0dOb3RpZmllciBtb2R1bGUsIGFuZCBvdGhlciBzdXBwb3J0aW5nIG1vZHVsZXMgbGlrZSAoQ0dUd2VldCwgYW5kIENHU01TKSBhcmUgbmVlZGVkLCBhbmQgbXVzdCBiZSBwcm9wZXJseSBjb25maWd1cmVkLiBBZGR0aW9uYWxseSwgdGhlIHVzZXIgbXVzdCBoYXZlIGNyZWF0ZWQgYSBub3RpZmljYXRpb25zIHByb2ZpbGUuPC9saT4KPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJ3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/asterisk.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKKSURBVDjLpZNdSBRRGIbnzOzubSxBRReBYhTRDziQQlKxbmoKItp0YVRUsBB2UVQsWdkfilHaj6GuZqEkhJaSf6knISqUYIgooogWS2uRwjFd25yZ3Xn7NlKS3bzp4jDMzHne73zPfCMAEP5nzbux6gU5UifwsE+AWSMos89DVczz4xpD8ArjkxUsMW4AwZ7InSWwetJh8Vzo1YzPviNYjfTmQL8rY+KSqI1fFJWYAKrsjjSvgPV4F/DsAGbqFyF0nSVOX2Xu0M3lwKMdCHdlgGDtW5kox23BqGFes2UdBeyD2ZYKgn1Tlcynt6YAPB/TDUkg2PNPB9H1s4pxozWZTlIIgjX9XipVL0CoaW0U9sVINGsF2ahm8l/9OkmWZg3shNWXC/TnwnzgwtdSUR27IDpn942cluSPxZIsRGXpt5eCTINg7Y9pNdy1DejbDjzMhNm+BQSrgXMS/1wi+UdOSQiUOeH32rgwc4PxSH8eMFSECC+A2Z0Ns5PAgXygNxPoTqdrFoz2dMy0bKLTuCk0B6HmjXh3hALINCdZCFYyTFaIKn0mTqa50baZNmZQgAvG/TSMlkjqp5MSHz4h+T8ct+HtYRteFdl5jMTxctFJsjSrLw/hDtfvEL01DQSrBDsXnMToIphPN66H0ZGJL2ckf7ApGejJglazCu+P2XwLBpDp8smG1dS/gonalSDTHjLtm7q1AehyIXA5AS8P2r1xAwhWvtcm0Bjn08Rlg0xrBDvJtHukdBnQuRU6SXxzdDGG9jpiJ3HsvKgEzkpasDEZE3VrMFwszVV6fciuTjWmYLQ8CYN7HNrTQocStwUynUiyWkgWJ9Nzf90Lj115vt/BB3c7vE8KHfNE/gKM7aCNx0eNYwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2FjdGlvbnMnXSA9ICdBY3Rpb25zJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGl2ZSc7CiRsYW5nWydhY3Rpdml0eSddID0gJ0FjdGl2aXR5JzsKJGxhbmdbJ2FkZF9hY3Rpdml0eSddID0gJ0FkZCBBY3Rpdml0eSc7CiRsYW5nWydhZGRfYXBpa2V5J10gPSAnQWRkIG5ldyBBUEkgS2V5JzsKJGxhbmdbJ2FkZF9iYWRnZSddID0gJ0FkZCBhIG5ldyBCYWRnZSc7CiRsYW5nWydhZGRfYmFkZ2VfZm9yX2xlYWRlcmJvYXJkJ10gPSAnQWRkIEJhZGdlIGZvciBMZWFkZXJib2FyZCc7CiRsYW5nWydhZGRfbGVhZGVyYm9hcmQnXSA9ICdBZGQgYSBuZXcgTGVhZGVyYm9hcmQnOwokbGFuZ1snYW55J10gPSAnQW55JzsKJGxhbmdbJ2FwaWtleSddID0gJ0FQSSBLZXknOwokbGFuZ1snYXBwbmFtZSddID0gJ0FwcCBOYW1lJzsKJGxhbmdbJ2Fza19kZWxldGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgaXRlbT8nOwokbGFuZ1snYXNrX2RlbGV0ZV9iYWRnZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBiYWRnZSwgYW5kIGFsbCBjb2xsZWN0ZWQgaW5mb3JtYXRpb24/JzsKJGxhbmdbJ2Fza19kZWxldGVfbGVhZGVyYm9hcmQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgbGVhZGVyYm9hcmQsIGFuZCBhbGwgY29sbGVjdGVkIGluZm9ybWF0aW9uPyc7CgojQgokbGFuZ1snYmFkZ2Vob2xkZXJzJ10gPSAnTnVtYmVyIG9mIFVzZXJzJzsKJGxhbmdbJ2JhZGdlX2RldGFpbHMnXSA9ICdCYWRnZSBJbmZvcm1hdGlvbic7CiRsYW5nWydib2R5X3RlbXBsYXRlJ10gPSAnTm90aWZpY2F0aW9uIEJvZHkgVGVtcGxhdGUnOwoKI0MKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydjaGFyc19yZW1haW5pbmcnXSA9ICdDaGFyYWN0ZXJzIHJlbWFpbmluZyc7CiRsYW5nWydjaGVja2luJ10gPSAnQ2hlY2tpbic7CiRsYW5nWydjaGVja2luc19kZWxhbGwnXSA9ICcqKiBEZWxldGUgQWxsIENoZWNraW5zICoqJzsKJGxhbmdbJ2NoZWNraW5zX2RlbGJhZHVzZXInXSA9ICdEZWxldGUgQ2hlY2tpbnMgZm9yIGludmFsaWQgVXNlcnMnOwokbGFuZ1snY2hlY2tpbnNfZGVsYmFkbG9jJ10gPSAnRGVsZXRlIENoZWNraW5zIGZvciBpbnZhbGlkIExvY2F0aW9ucyc7CiRsYW5nWydjaGVja2luc19udW1jaGVja2lucyddID0gJ1RvdGFsIG51bWJlciBvZiBjaGVja2lucyc7CiRsYW5nWydjaGVja2luc19udW1jaGVja2luczI0J10gPSAnVG90YWwgbnVtYmVyIG9mIGNoZWNraW5zIGluIHRoZSBsYXN0IDI0IGhvdXJzJzsKJGxhbmdbJ2NoZWNraW5zX251bW5vdGFwcHJvdmVkJ109ICdOdW1iZXIgb2YgY2hlY2tpbnMgbm90IGFwcHJvdmVkJzsKJGxhbmdbJ2NoZWNraW5zX251bW5vdHByb2Nlc3NlZCddPSAnTnVtYmVyIG9mIGNoZWNraW5zIG5vdCBwcm9jZXNzZWQnOwokbGFuZ1snY2hlY2tpbnNfbnVtYWN0cyddID0gJ051bWJlciBvZiBkaXN0aW5jdCBhY3Rpdml0aWVzIGFzc29jaWF0ZWQgd2l0aCBjaGVja2lucyc7CiRsYW5nWydjaGVja2luc19udW1hY3RzMjQnXSA9ICdOdW1iZXIgb2YgZGlzdGluY3QgYWN0aXZpdGllcyBhc3NvY2lhdGVkIHdpdGggY2hlY2tpbnMgaW4gdGhlIGxhc3QgMjQgaG91cnMnOwokbGFuZ1snY2hlY2tpbnNfbnVtbG9jcyddID0gJ051bWJlciBvZiBkaXN0aW5jdCBsb2NhdGlvbnMgd2l0aCBjaGVja2lucyc7CiRsYW5nWydjaGVja2luc19udW1sb2NzMjQnXSA9ICdOdW1iZXIgb2YgZGlzdGluY3QgbG9jYXRpb25zIHdpdGggY2hlY2tpbnMgaW4gdGhlIGxhc3QgMjQgaG91cnMnOwokbGFuZ1snY2hlY2tpbnNfbnVtdXNlcnMnXSA9ICdOdW1iZXIgb2YgZGlzdGluY3QgdXNlcnMgd2l0aCBjaGVja2lucyc7CiRsYW5nWydjaGVja2luc19udW11c2VyczI0J10gPSAnTnVtYmVyIG9mIGRpc3RpbmN0IHVzZXJzIHRvIGNoZWNraW4gaW4gdGhlIGxhc3QgMjQgaG91cnMnOwokbGFuZ1snY2hlY2tpbnJhdGVsaW1pdGluZ19ieWxvY2F0aW9uJ10gPSAnTGltaXQgQ2hlY2tpbnMgdG8gcHJveGltaXR5JzsKJGxhbmdbJ2NoZWNraW5yYXRlbGltaXRpbmdfYnl0aW1lJ10gPSAnTGltaXQgQ2hlY2tpbnMgYnkgZnJlcXVlbmN5JzsKJGxhbmdbJ2NvbmZpcm0nXSA9ICdDb25maXJtJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdDdXJyZW50IFZhbHVlJzsKCiNECiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snZGVsZXRlX2JhZGdlJ10gPSAnRGVsZXRlIEJhZGdlJzsKJGxhbmdbJ2Rlc2NyaWJlX2V2ZW50X09uQ2hlY2tpbiddID0gJ0V2ZW50IHNlbnQgYWZ0ZXIgYSBuZXcgY2hlY2tpbiBpcyBzYXZlZC4nOwokbGFuZ1snZGVzY3JpYmVfZXZlbnRfT25VcGRhdGVDaGVja2luJ10gPSAnRXZlbnQgc2VudCBhZnRlciBhbiBleGlzdGluZyBjaGVja2luIGlzIG1vZGlmaWVkIGFuZCBzYXZlZC4nOwokbGFuZ1snZGVzY3JpYmVfZXZlbnRfUHJlRGVsZXRlQ2hlY2tpbiddID0gJ0V2ZW50IHNlbnQgaW1tZWRpYXRlbHkgYmVmb3JlIGEgY2hlY2tpbiBpcyBwZXJtYW5lbnRseSBkZWxldGVkJzsKJGxhbmdbJ2Rlc2NyaWJlX2V2ZW50X1Bvc3REZWxldGVDaGVja2luJ10gPSAnRXZlbnQgc2VudCBpbW1lZGlhdGVseSBhZnRlciBhIGNoZWNraW4gaXMgcGVybWFuZW50bHkgZGVsZXRlZCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnRGlzYWJsZWQnOwokbGFuZ1snZHJhZnQnXSA9ICdEcmFmdCc7CgojRQokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZWRpdF9hcGlrZXknXSA9ICdFZGl0IEFQSSBLZXknOwokbGFuZ1snZWRpdF9iYWRnZXMnXSA9ICdFZGl0IEJhZGdlcyc7CiRsYW5nWydlZGl0X2JhZGdlJ10gPSAnRWRpdCBCYWRnZSc7CiRsYW5nWydlZGl0X2JhZGdlX2Zvcl9sZWFkZXJib2FyZCddID0gJ0VkaXQgQmFkZ2UgZm9yIExlYWRlcmJvYXJkJzsKJGxhbmdbJ2VkaXRfbGVhZGVyYm9hcmQnXSA9ICdFZGl0IExlYWRlcmJvYXJkJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1snZXJyb3JfYWN0aXZpdHlub3Rmb3VuZCddID0gJ0FjdGl2aXR5IG5vdCBmb3VuZCc7CiRsYW5nWydlcnJvcl9iYWRnZW5vdGZvdW5kJ10gPSAnT29vcHMsIHNvbWV0aGluZyBtZXNzZWQgdXAgc29tZXdoZXJlLiAgV2UgY291bGRudCBmaW5kIHRoaXMgYmFkZ2UgaW5mbyc7CiRsYW5nWydlcnJvcl9jaGVja2luZGlzdGFuY2UnXSA9ICdZb3UgYXJlIHRvbyBmYXIgYXdheSBmcm9tIHRoZSBsb2NhdGlvbiB5b3UgYXJlIGNoZWNraW5nIGluIHRvJzsKJGxhbmdbJ2Vycm9yX2NoZWNraW5ub3Rmb3VuZCddID0gJ1dlIGNvdWxkIG5vdCBmaW5kIHRoZSBjaGVja2luIHlvdSByZXF1ZXN0ZWQnOwokbGFuZ1snZXJyb3JfY29vcmRzcmVxdWlyZWQnXSA9ICdDb29yZGluYXRlcyBhcmUgcmVxdWlyZWQgd2hlbiBjcmVhdGluZyBhIGNoZWNraW4nOwokbGFuZ1snZXJyb3JfZmFpbGVkJ10gPSAnT3BlcmF0aW9uIEZhaWxlZCc7CiRsYW5nWydlcnJvcl9sZWFkZXJib2FyZG5vdGZvdW5kJ10gPSAnVWgtb2gsIHNvbWV0aGluZyBpcyBtZXNzZWQgdXAuICBXZSBjb3VsZG50IGZpbmQgdGhlIGxlYWRlcmJvYXJkIGluZm8nOwokbGFuZ1snZXJyb3JfbWVzc2FnZXJlcXVpcmVkJ10gPSAnQSBtZXNzYWdlIGlzIHJlcXVpcmVkIHdoZW4gY3JlYXRpbmcgYSBjaGVja2luJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0EgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3Jfbm9hY3Rpdml0aWVzJ10gPSAnVGhlcmUgYXJlIG5vIGFjdGl2aXRpZXMgZGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub2JhZGdlcyddID0gJ09vcHMuLi4uIHdlIGNvdWxkbnQgZmluZCBhbnkgYmFkZ2VzJzsKJGxhbmdbJ2Vycm9yX25vbG9jYXRpb25jb29yZHMnXSA9ICdMb2NhdGlvbiBkb2VzIG5vdCBoYXZlIGNvb3JkaW5hdGUgaW5mb3JtYXRpb24nOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIHdpdGggdGhlIHVwbG9hZGVkIGZpbGUnOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyZXMnOwoKI0YKJGxhbmdbJ2ZpbGVzJ10gPSAnRmlsZXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBTb2NpYWwgQXBwIEZyYW1ld29yayc7CgojRwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0dlbmVyYWwgU2V0dGluZ3MnOwoKI0gKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPVApUT0RPCkVPVDsKJGxhbmdbJ2hpZ2gnXSA9ICdIaWdoJzsKCiNJCiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snaW1hZ2VzJ10gPSAnSW1hZ2VzJzsKJGxhbmdbJ2luZm9fYWRtaW5fY2hlY2tpbnNfdGFiJ10gPSAnVGhpcyB0YWIgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gdmlldyBzb21lIHN0YXRpc3RpY3MsIGFuZCBkbyBzb21lIG1pbm9yIG1haW50ZW5hbmNlIG9uIHRoZSBjaGVja2luIGRhdGFiYXNlJzsKJGxhbmdbJ2luZm9fYXBwbmFtZSddID0gJ1NwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uIHRoYXQgaXMgYWxsb3dlZCB0byB1c2UgdGhpcyBBUEknOwokbGFuZ1snaW5mb19vbmNoZWNraW5fbWFpbGJ1bGtoZHJzJ10gPSAnU2V0dGluZyBoZWFkZXJzIGluIHRoZSBlbWFpbCBpbmRpY2F0aW5nIHRoYXQgdGhlIG1haWwgaXMgYnVsayBtYXkgYmUgdXNlZnVsIGluIHByZXZlbnRpbmcgeW91ciBlbWFpbHMgZnJvbSBiZWluZyBkZXRlY3RlZCBhcyBzcGFtLiBpdCBpbmRpY2F0ZXMgdGhhdCB5b3VyIHVzZXJzIGhhdmUgYXNrZWQgZm9yIHRoaXMgbWFpbCwgYnV0IHRoYXQgaXQgaXMgb2YgbG93IGltcG9ydGFuYy4nOwokbGFuZ1snaW5mb19vbmNoZWNraW5fc2VuZGVtYWlsJ10gPSAnSWYgZW5hYmxlZCwgdGhlIHVzZXJzIGZyaWVuZHMgd2lsbCByZWNlaXZlIGFuIGVtYWlsIGFib3V0IHRoZSB1c2VycyBjaGVja2luJzsKJGxhbmdbJ2luZm9fb25jaGVja2luX3NlbmRub3RpZiddID0gJ0lmIGVuYWJsZWQsIHRoZSB1c2VycyBjcmVkZW50aWFscyBhbmQgbm90aWZpY2F0aW9uIHByb2ZpbGUgd2lsbCBiZSB1c2VkIHRvIHNlbmQgb3V0IGEgbm90aWZpY2F0aW9uLiAgVGhpcyBtYXkgaW5jbHVkZSBzZW5kaW5nIFNNUyBtZXNzYWdlcywgZW1haWxzLCB0d2l0dGVyLCBvciBmYWNlYm9vayBwb3N0cywgZXRjLic7IAokbGFuZ1snaW5mb19jZHB3ZmllbGQnXSA9ICdTZWxlY3QgdGhlIENvbXBhbnlEaXJlY3RvcnkgY3VzdG9tIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHBhc3N3b3JkIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwcm92ZSBjaGVja2lucyBmb3IgdGhhdCBjb21wYW55LiAgVGhpcyBmaWVsZCBtdXN0IG5vdCBiZSBwdWJsaWMuICBJZiB0aGVyZSBpcyBubyBmaWVsZCBsaXN0IGJlbG93IGl0IGNvdWxkIGJlIGJlY2F1c2UgeW91IGhhdmUgbm90IGNyZWF0ZWQgYSBzdWl0YWJsZSBmaWVsZCBkZWZpbml0aW9uIGluIHRoZSBDb21wYW55RGlyZWN0b3J5IG1vZHVsZS4gIElmICZxdW90O05vbmUmcXVvdDsgaXMgc2VsZWN0ZWQsIHRoZW4gbm8gYXBwcm92YWwgd2lsbCBiZSByZXF1aXJlZC4nOwokbGFuZ1snaW5mb19jaGVja2lucmF0ZWxpbWl0aW5nX2J5bG9jYXRpb24nXSA9ICdXaGVuIHNwZWNpZmllZCwgYW5kIGdyZWF0ZXIgdGhhbiB6ZXJvLCBkaXNhbGxvdyBjaGVja2lucyB0aGF0IGFyZSBmdXRoZXIgYXdheSB0aGFuIHRoZSBzcGVjaWZpZWQgZGlzdGFuY2UgZnJvbSB0aGUgbG9jYXRpb24nOwokbGFuZ1snaW5mb19jaGVja2lucmF0ZWxpbWl0aW5nX2J5dGltZSddID0gJ1doZW4gc3BlY2lmaWVkLCBhbmQgZ3JlYXRlciB0aGFuIHplcm8sIGRpc2FsbG93IGNoZWNraW5zIG1vcmUgZnJlcXVlbnQgdGhhbiB0aGUgc3BlY2lmaWVkIHRpbWUgbGltaXQgKGluIG1pbnV0ZXMpLic7CiRsYW5nWydpbmZvX2VtYWlsYWRkciddID0gJ1NwZWNpZnkgdGhlIGVtYWlsIGFkZHJlc3Mgb2YgdGhlIGNvbnRhY3QgcGVyc29uZWxsIGZvciB0aGlzIGFwcCc7CiRsYW5nWydpbmZvX2ZldV91c2VyZ3JvdXAnXSA9ICdTZWxlY3QgYW4gRkVVIHVzZXIgZ3JvdXAgZm9yIG5ld2x5IHJlZ2lzdGVyZWQgdXNlcnMuICBUaGlzIGdyb3VwIHdpbGwgYmUgdXNlZCB0byBzZWxlY3Qgd2hpY2ggcHJvcGVydGllcyBhcmUgYXZhaWxhYmxlIGZvciBzZXR0aW5nIGFuZCByZXRyaWV2YWwuICBJdCBpcyBub3QgcmVjb21tZW5kZWQgdGhhdCB5b3UgY2hhbmdlIHRoaXMgc2V0dGluZyBhZnRlciBzdGFydGluZyB0byByZWdpc3RlciB1c2Vycyc7CiRsYW5nWydpbmZvX2ZyaWVuZGx5bmFtZSddID0gJ1NwZWNpZnkgdGhlIG5hbWUgYnkgd2hpY2ggdGhpcyBtb2R1bGUgc2hvdWxkIGFwcGVhciBpbiB0aGUgYWRtaW4gbWVudS4gIElmIG5vdCBzcGVjaWZpZWQgYSBkZWZhdWx0IG5hbWUgd2lsbCBiZSB1c2VkJzsKJGxhbmdbJ2luZm9fZnJpZW5kcmVxX2hhbmRsaW5nJ10gPSAnVGhpcyB0YWIgZGVzY3JpYmVzIGhvdyBmcmllbmQgcmVxdWVzdHMgYW5kIHRoZWlyIHN1YnNlcXVlbnQgYXBwcm92YWxzIGFuZCByZWplY3Rpb25zIHdpbGwgYmUgaGFuZGxlZCc7CiRsYW5nWydpdGVtX2RlbGV0ZWQnXSA9ICdJdGVtIERlbGV0ZWQnOwokbGFuZ1snaXRlbV9lZGl0ZWQnXSA9ICdJdGVtIEVkaXRlZCc7CiRsYW5nWydpbmZvX2ltYWdlcyddID0gJ1RoZXNlIGltYWdlcyBoYXZlIGJlZW4gYXR0YWNoZWQgdG8gdGhpcyBjaGVja2luJzsKJGxhbmdbJ2luZm9faW50ZXJ2YWxfbGVhZGVyYm9hcmRzJ10gPSAnU3BlY2lmeSB0aGUgaW50ZXJ2YWwgKGluIG1pbnV0ZXMpIGluIHdoaWNoIGxlYWRlcmJvYXJkcyBzaG91bGQgYmUgdXBkYXRlZC4gIFRoaXMgaW50ZXJ2YWwgaXMgb25seSBhcHByb3hpbWF0ZSwgYW5kIGRlcGVuZHMgb24gaG93IG9mdGVuIHRoZSBDR0pvYk1nciBwcm9jZXNzIGFjdGlvbiBpcyBjYWxsZWQnOwokbGFuZ1snaW5mb19pbnRlcnZhbF91cGRhdGViYWRnZXMnXSA9ICdTcGVjaWZ5IHRoZSBpbnRlcnZhbCAoaW4gbWludXRlcykgaW4gd2hpY2ggYmFkZ2VzIHNob3VsZCBiZSB1cGRhdGVkLiAgVGhpcyBpbnRlcnZhbCBpcyBvbmx5IGFwcHJveGltYXRlLCBhbmQgZGVwZW5kcyBvbiBob3cgb2Z0ZW4gdGhlIENHSm9iTWdyIHByb2Nlc3MgYWN0aW9uIGlzIGNhbGxlZCc7CiRsYW5nWydpbmZvX2xvY2F0aW9uX25vdGlmaWNhdGlvbnMnXSA9ICdDb25maWd1cmUgaG93LCBpZiBhbnksIG5vdGlmaWNhdGlvbnMgc2hvdWxkIGJlIHNlbnQgd2hlbiBhIGxvY2F0aW9uIGlzIGFkZGVkIG9yIGVkaXRlZCc7CiRsYW5nWydpbmZvX21heF9zY29yZSddID0gJzxlbT4ob3B0aW9uYWwpPC9lbT4gU3BlY2lmeSBhbiBvcHRpb25hbCBtYXhpbXVtIHNjb3JlIHRoYXQgdXNlcnMgY2FuIGhhdmUgdG8gcG9zZXNzIHRoaXMgYmFkZ2UnOwokbGFuZ1snaW5mb19tdWx0aXBsZWJhZGdlcyddID0gJ0lmIGVuYWJsZWQsIHVzZXJzIGNhbiBwb3Nlc3MgbXVsdGlwbGUgYmFkZ2VzIGZyb20gdGhpcyBsZWFkZXJib2FyZCc7CiRsYW5nWydpbmZvX21pbl9zY29yZSddID0gJ1NwZWNpZnkgYSBtaW5pbXVtIHNjb3JlIHRoYXQgdXNlcnMgbXVzdCBvYnRhaW4gZm9yIHRoaXMgbGVhZGVyYm9hcmQgaW4gb3JkZXIgdG8gcmVjZWl2ZSB0aGlzIGJhZGdlJzsKJGxhbmdbJ2luZm9fbmV3bG9jYXRpb25fZ3JvdXBzJ10gPSAnU3BlY2lmeSBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGFkbWluIGdyb3Vwcy4gIFRoZSBtZW1iZXJzIG9mIHRoZXNlIGdyb3VwcyAod2hvIGhhdmUgdmFsaWQgZW1haWwgYWRkcmVzc2VzKSB3aWxsIGJlIG5vdGlmaWVkIG9mIG5ldyBsb2NhdGlvbnMnOwokbGFuZ1snaW5mb19ub3RpZmljYXRpb24nXSA9ICc8c3Ryb25nPk5vdGU8L3N0cm9uZz46IE5vdGlmaWNhdGlvbnMgY2FuIGJlIHNlbnQgd2hlbiBhIHVzZXIgaXMgYXdhcmRlZCBhIGJhZGdlLiBQbGVhc2UgZmlsbCBpbiB0aGUgZGV0YWlscyBvZiB0aGUgbm90aWZpY2F0aW9uIChpZiBkZXNpcmVkKS4gIE5vIG5vdGlmaWNhdGlvbiB3aWxsIGJlIHNlbnQgaWYgdGhlIHByaW9yaXR5IGlzIHNldCB0byAmcXVvdDtvZmYmcXVvdDsgb3IgdGhlIGJvZHkgaXMgZW1wdHkuICBBZGRpdGlvbmFsbHksIHRoZSBDR05vdGlmaWVyIG1vZHVsZSwgYW5kIG9uZSBvciBtb3JlIG5vdGlmaWVyIGNsaWVudCBtb2R1bGVzIChpLmU6IENHVHdlZXQpIG11c3QgYmUgaW5zdGFsbGVkIGFuZCBwcm9wZXJseSBjb25maWd1cmVkLiAgU2Vjb25kbHksIHNvbWUgbm90aWZpY2F0aW9uIG1ldGhvZHMgYXJlIG9ubHkgY2FwYWJsZSBvZiBzZW5kaW5nIGEgbGltaXRlZCBhbW91bnQgb2YgY2hhcmFjdGVycy4nOwokbGFuZ1snaW5mb19ub3RpZmljYXRpb25fcHJpb3JpdHknXSA9ICdTcGVjaWZ5IGEgcHJpb3JpdHkgZm9yIHRoZSBub3RpZmljYXRpb24uICBUaGUgcHJpb3JpdHkgY2FuIGluZmx1ZW5jZSB3aGF0IG1lY2hhbmlzbSBpcyB1c2VkIHRvIHNlbmQgdGhlIG5vdGlmaWNhdGlvbic7CiRsYW5nWydpbmZvX25vdGlmeV90byddID0gJ1NlbGVjdCBhIHVzZXIgcHJvZmlsZSB0byBzZW5kIHRoZSBub3RpZmljYXRpb24gdG8uICBJZiBhIHByb2ZpbGUgY2Fubm90IGJlIGZvdW5kIHRoYXQgbWF0Y2hlcyB0aGUgc2VsZWN0aW9uIG5vIG5vdGlmaWNhdGlvbiB3aWxsIGJlIHNlbnQuICBTZWxlY3RpbmcgJnF1b3Q7RGVmYXVsdCBQcm9maWxlJnF1b3Q7IHdpbGwgdXNlIHRoZSBkZWZhdWx0IHByb2ZpbGUgZnJvbSB0aGUgQ0dOb3RpZmllciBtb2R1bGUuICBTZWxlY3RpbmcgJnF1b3Q7VXNlciBQcm9maWxlJnF1b3Q7IHdpbGwgdXNlIHRoZSB1c2VycyBwcm9maWxlIGlmIG9uZSBjYW4gYmUgZm91bmQuJzsKJGxhbmdbJ2luZm9fc2VsY29tcGFueSddID0gJ0VudGVyIGEgcG9ydGlvbiBvZiBhIGxvY2F0aW9uIG5hbWUgdG8gZmluZCBtYXRjaGluZyBlbnRyaWVzJzsKJGxhbmdbJ2luZm9fc2VsZWN0Y2RjYXRlZ29yaWVzX2FwcHJvdmFsJ10gPSAnU2VsZWN0IHdoaWNoIENvbXBhbnlEaXJlY3RvcnkgY2F0ZWdvcmllcyBmb3Igd2hpY2ggY2hlY2tpbiBhcHByb3ZhbCBpcyByZXF1aXJlZC4gSWYgbm8gY2F0ZWdvcmllcyBhcmUgc2VsZWN0ZWQsIHRoZW4gY2hlY2tpbiBhcHByb3ZhbCB3aWxsIG5vdCBiZSByZXF1aXJlZC4nOwokbGFuZ1snaW5mb19zZW5kZnJpZW5kcmVxdWVzdCddID0gJ0NsaWNrIHRoZSBidXR0b24gYmVsb3cgdG8gc2VuZCBhIGZyaWVuZCByZXF1ZXN0IHRvIHRoZSBpbmRpY2F0ZWQgdXNlci4gIFRoZSB1c2VyIHdpbGwgcmVjZWl2ZSBhIG1lc3NhZ2UgYW5kIHdpbGwgaGF2ZSB0aGVlIG9wdGlvbiBvZiBhcHByb3Zpbmcgb3IgcmVqZWN0aW5nIHRoZSBmcmllbmQgcmVxdWVzdCc7CiRsYW5nWydpbmZvX3N1YmplY3QnXSA9ICdOb3QgYWxsIG5vdGlmaWNhdGlvbiBtZWNoYW5pc21zIHN1cHBvcnQgc3ViamVjdHMuICBIb3dldmVyIGl0IGlzIGFsd2F5cyBhIGdvb2QgaWRlYSB0byBzcGVjaWZ5IG9uZSc7CiRsYW5nWydpbmZvX3RhZ2dlZHVzZXJfbm90aWZpY2F0aW9ucyddID0gJ1NwZWNpZnkgdGhlIGluZm9ybWF0aW9uIGFzIHRvIGhvdyB0byBub3RpZnkgdXNlcnMgdGhhdCB3ZXJlIHRhZ2dlZCBpbiBhIGNoZWNraW4nOwokbGFuZ1snaW5mb191bmlxdWUnXSA9ICdJZiBzZWxlY3RlZCwgb25seSBvbmUgdXNlciBjYW4gcG9zZXNzIHRoaXMgYmFkZ2UgZm9yIHRoaXMgbGVhZGVyYm9hcmQuICBUaGUgdXNlciB3aXRoIHRoZSBtYXhpbXVtIHNjb3JlJzsKJGxhbmdbJ2luZm9fdXBsb2FkX2Rpc2FibGVkX29ubmV3J10gPSAnVXBsb2FkaW5nIGRpc2FibGVkIHVudGlsIHRoZSBpdGVtIGhhcyBiZWVuIGNyZWF0ZWQgaW4gdGhlIGRhdGFiYXNlJzsKCiNKCgoKI0sKCgojTAokbGFuZ1snbGVnZW5kX29uY2hlY2tpbl9zZW5kZW1haWwnXSA9ICdPbkNoZWNraW4gRW1haWwnOwokbGFuZ1snbGVnZW5kX29uY2hlY2tpbl9zZW5kbm90aWYnXSA9ICdPbkNoZWNraW4gTm90aWZpY2F0aW9uJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnQmFjayc7CiRsYW5nWydsYmxfaW50ZWdlciddID0gJ0ludGVnZXInOwokbGFuZ1snbGJsX25vdGlmeV9kZWZhdWx0X3Byb2ZpbGUnXSA9ICdEZWZhdWx0IFByb2ZpbGUnOwokbGFuZ1snbGJsX25vdGlmeV91c2VyX3Byb2ZpbGUnXSA9ICdVc2VyIFByb2ZpbGUnOwokbGFuZ1snbGJsX29iamVjdCddID0gJ09iamVjdCc7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWydsYmxfc3RyaW5nJ10gPSAnU3RyaW5nJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMnOwokbGFuZ1snbGVhZGVyYm9hcmQnXSA9ICdMZWFkZXJib2FyZCc7CiRsYW5nWydsZWFkZXJib2FyZHMnXSA9ICdMZWFkZXJib2FyZHMnOwokbGFuZ1snbGVhZGVyYm9hcmRfYWN0aXZpdHknXSA9ICdBY3Rpdml0eSBiYXNlZCBsZWFkZXJib2FyZCc7CiRsYW5nWydsZWFkZXJib2FyZF9jaGVja2lucyddID0gJ0NoZWNraW4gYmFzZWQgbGVhZGVyYm9hcmQnOwokbGFuZ1snbGVhZGVyYm9hcmRfZGVsZXRlZCddID0gJ0xlYWRlcmJvYXJkIGRlbGV0ZWQnOwokbGFuZ1snbGVhZGVyYm9hcmRfZnJpZW5kcyddID0gJ0ZyaWVuZHMgYmFzZWQgbGVhZGVyYm9hcmQnOwokbGFuZ1snbGVhZGVyYm9hcmRfbG9jYXRpb24nXSA9ICdMb2NhdGlvbiBiYXNlZCBsZWFkZXJib2FyZCc7CiRsYW5nWydsaXN0X2JhZGdlcyddID0gJ0xpc3QgQmFkZ2VzIGZvciBMZWFkZXJib2FyZCc7CiRsYW5nWydsb2NhdGlvbiddID0gJ0xvY2F0aW9uJzsKJGxhbmdbJ2xvdyddID0gJ0xvdyc7CgojTQokbGFuZ1snbWF0Y2hfYWN0aXZpdGllcyddID0gJ01hdGNoIHRoZXNlIGFjdGl2aXRpZXMnOwokbGFuZ1snbWF0Y2hfYWN0aXZpdHljaGlsZHJlbiddID0gJ0FuZCB0aGUgY2hpbGQgYWN0aXZpdGllcyc7CiRsYW5nWydtYXRjaF9oaWVyY2hpbGRyZW4nXSA9ICdJbmNsdWRlIGNoaWxkIGhpZXJhcmNoaWVzPyc7CiRsYW5nWydtYXRjaF9sb2NhdGlvbmhpZXInXSA9ICdDaGVja2luIGxvY2F0aW9uIG11c3QgYmUgaW4gdGhpcyBoaWVyYXJjaHknOwokbGFuZ1snbWF0Y2hfbG9jYXRpb25jYXRlZ29yeSddID0gJ0NoZWNraW4gbG9jYXRpb24gbXVzdCBiZSBpbiBvbmUgb2YgdGhlc2UgY2F0ZWdvcmllcyc7CiRsYW5nWydtYXRjaF9sb2NhdGlvbmlkJ10gPSAnQ2hlY2tpbiBtdXN0IGJlIGZvciB0aGlzIGxvY2F0aW9uJzsKJGxhbmdbJ21heF9zY29yZSddID0gJ01heCBTY29yZSc7CiRsYW5nWydtZXNzYWdlJ10gPSAnTWVzc2FnZSc7CiRsYW5nWydtaWxlcyddID0gJ01pbGVzJzsKJGxhbmdbJ21pbnV0ZXMnXSA9ICdNaW51dGVzJzsKJGxhbmdbJ21pbl9zY29yZSddID0gJ01uaW4gU2NvcmUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSBmb3IgZW5hYmxpbmcgYSBtb2JpbGUgc29jaWFsIHNpdGUnOwokbGFuZ1snbW9kaWZpZWQnXSA9ICdNb2RpZmllZCc7CiRsYW5nWydtb3JlJ10gPSAnTW9yZSc7CiRsYW5nWydtb3JlaW5mb19iYWRnZSddID0gJ1ZpZXcgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGJhZGdlJzsKJGxhbmdbJ21zZ19iYWRnZWNyZWF0ZWQnXSA9ICdCYWRnZSBDcmVhdGVkJzsKJGxhbmdbJ21zZ19iYWRnZXVwZGF0ZWQnXSA9ICdCYWRnZSBVcGRhdGVkJzsKJGxhbmdbJ21zZ19iYWRnZV91bmlxdWUnXSA9ICdPbmx5IG9uZSBwZXJzb24gYXQgYSB0aW1lIGNhbiB0aGlzIGJhZGdlJzsKJGxhbmdbJ21zZ19jaGVja2luc3VjY2VzcyddID0gJ1lvdXIgY2hlY2tpbiB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkJzsKJGxhbmdbJ21zZ19jaGVja2luc19kZWxldGVkJ10gPSAnJWQgQ2hlY2tpbnMgZGVsZXRlZCc7CiRsYW5nWydtc2dfY2hlY2tpbnNfbm9tYXRjaGVzJ10gPSAnTm8gQ2hlY2tpbnMgZm91bmQnOwokbGFuZ1snbXNnX2ZyaWVuZHN3aXRoYmFkZ2UnXSA9ICdIZXJlIGlzIGEgZmV3IG9mIHlvdXIgZnJpZW5kcyB0aGF0IGhhdmUgZWFybmVkIHRoaXMgYmFkZ2UnOwokbGFuZ1snbXNnX2xlYWRlcmJvYXJkX3VwZGF0ZWQnXSA9ICdMZWFkZXJib2FyZCBVcGRhdGVkJzsKJGxhbmdbJ21zZ19ub2ZyaWVuZHNoYXZlYmFkZ2UnXSA9ICdJdCBhcHBlYXJzIHRoYXQgbm9uZSBvZiB5b3VyIGZyaWVuZHMgaGF2ZSBlYXJuZWQgdGhpcyBiYWRnZSc7CiRsYW5nWydtc2dfbm9mcmllbmRyZXF1ZXN0cyddID0gJ1RoZXJlIGFyZSBubyBwZW5kaW5nIGZyaWVuZCByZXF1ZXN0cyc7CiRsYW5nWydtc2dfbm90bG9nZ2VkaW4nXSA9ICdZb3UgYXJlIG5vdCBsb2dnZWQgaW4uICBQbGVhc2UgbG9naW4gdG8gY29udGludWUnOwokbGFuZ1snbXNnX3JldHVybnRvcGFnZSddID0gJ1JldHVybiB0byBjb250ZW50JzsKJGxhbmdbJ21zZ19zdWNjZXNzJ10gPSAnT3BlcmF0aW9uIFN1Y2Nlc3NmdWwnOwoKI04KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25ld2xvY2F0aW9uX3Byb3hpbWl0eWxpbWl0J10gPSAnTGltaXQgY3JlYXRpb24gYnkgcHJveGltaXR5JzsKJGxhbmdbJ25ld2xvY2F0aW9uX3RpbWVsaW1pdCddID0gJ0xpbWl0IGxvY2F0aW9uIGJ5IHRpbWUgZnJlcXVlbmN5JzsKJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKJGxhbmdbJ25vcm1hbCddID0gJ05vcm1hbCc7CiRsYW5nWydub3RlJ10gPSAnTm90ZSc7CiRsYW5nWydub3RpZmljYXRpb25fdGVtcGxhdGUnXSA9ICdOb3RpZmljYXRpb24gVGVtcGxhdGUnOwoKI08KJGxhbmdbJ29mJ10gPSAnT2YnOwokbGFuZ1snb2ZmJ10gPSAnT2ZmJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYXRpb24gQ2FuY2VsbGVkJzsKJGxhbmdbJ29wZXJhdGlvbl9ub3Rjb25maXJtZWQnXSA9ICdBYm9ydGVkOiBPcGVyYXRpb24gbm90IENvbmZpcm1lZCc7CiRsYW5nWydvcGVyYXRpb25fc3VjY2Vzc2Z1bCddID0gJ09wZXJhdGlvbiBTdWNjZXNzZnVsJzsKCiNQCiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9IDw8PEVPVApTcGVjaWZ5IHRoZSBiZWhhdmlvciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgo8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIGNoZWNraW5zLiAgVmFyaW91cyBwYXJhbWV0ZXJzIGNhbiBiZSB1c2VkIHRvIGZpbHRlciB0aGUgb3V0cHV0LCBhbmQgdG8gZWZmZWN0IHNvcnRpbmcgYW5kIHBhZ2luYXRpb24uPC9saT4KICA8bGk+YWRkY2hlY2tpbiAtIERpc3BsYXkgYSBmb3JtIHRvIGFsbG93IGEgZnJvbnRlbmQgdXNlciB0byBhZGQgb3IgZWRpdCBjaGVja2lucy48L2xpPgogIDxsaT5iYWRnZXMgLSBEaXNwbGF5IGEgc3VtbWFyeSB2aWV3IG9mIGFsbCBiYWRnZXMuICBBIGxpc3Qgb2YgdGhlIGxvZ2dlZCBpbiB1c2VycyBiYWRnZXMsIGFuZCB0aGUgZnJpZW5kcyBiYWRnZXMgaXMgYWxzbyBhdmFpbGFibGUuPC9saT4KICA8bGk+YmFkZ2VfZGV0YWlsIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIGJhZGdlLiAgQSBsaXN0IG9mIHRoZSBsb2dnZWQgaW4gdXNlcnMgYmFkZ2VzLCBhbmQgYSBkZXRhaWxlZCBsaXN0IG9mIHdoaWNoIGZyaWVuZCBoYXMgd2hpY2ggYmFkZ2UgaXMgYWxzbyBhdmFpbGFibGUuPC9saT4KICA8bGk+ZGV0YWlsIC0gRGlzcGxheSBhIGRldGFpbGVkIHJlcG9ydCBhYm91dCBhIHNpbmdsZSBjaGVja2luLjwvbGk+CiAgPGxpPmxpc3RfYWN0aXZpdGllcyAtIERpc3BsYXkgYSBuZXN0ZWQgbGlzdCBvZiBhY3Rpdml0aWVzLjwvbGk+CiAgPGxpPnZpZXdfYWN0aXZpdHkgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzcGVjaWZpYyBhY3Rpdml0eS48L2xpPgogIDxsaT5mcmllbmRyZXFsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgZnJpZW5kIHJlcXVlc3RzLCB3aXRoIGxpbmtzIGFsbG93aW5nIGFwcHJvdmluZyBvciByZWplY3RpbmcgdGhlbS4gIFJlcXVpcmVzIHRoZSB1c2VyIGJlIGxvZ2dlZCBpbiB0byBGRVUuPC9saT4KICA8bGk+ZnJpZW5kcmVxIC0gQ3JlYXRlcyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gY3JlYXRlIGEgZnJpZW5kIHJlcXVlc3QgdG8gYW5vdGhlciB1c2VyLiAgUmVxdWlyZXMgdGhhdCB0aGUgc2VuZGluZyB1c2VyIGJlIGxvZ2dlZCBpbiB0byBGRVUuICBBbHNvIHJlcXVpcmVzIHRoYXQgdGhlIHVzZXJpZCBvZiB0aGUgdG8gdXNlciBiZSBwcm92aWRlZCB0byB0aGUgYWN0aW9uLjwvbGk+CiAgPGxpPlNwZWNpYWwgQWN0aW9uczoKICAgIDxwPlRoZXNlIGFjdGlvbnMgcGVyZm9ybSBhIHNpbmdsZSBmdW5jdGlvbiBhbmQgdGhlbiB0cnkgdG8gcmV0dXJuIHRvIHRoZSBwYWdlIHRoZXkgd2VyZSBnZW5lcmF0ZWQgZnJvbS4gIFRoZXkgY2FuIHdvcmsgdmlhIGFqYXgKICAgICAgIG9yIHZpYSBkaXJlY3QgcmVxdWVzdCAoc2VlIHRoZSBzbWFydHkgcGx1Z2lucyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUgZm9yIHNtYXJ0eSBwbHVnaW5zIHRoYXQgY3JlYXRlIGxpbmtzIHRvIHRoZXNlIGFjdGlvbnMpLjwvcD4KICAgIDx1bD4KICAgIDxsaT50b2dnbGVmYXZvcml0ZSAtIFRvZ2dsZXMgYSBsb2NhdGlvbiBhcyBlaXRoZXIgYSBmYXZvcml0ZSwgb3Igbm90IGEgZmF2b3JpdGUuPC9saT4KICAgIDxsaT5hcHByb3ZlZnJpZW5kcmVxIC0gQXBwcm92ZXMgKG9yIGRlbmllcykgYSBmcmllbmQgcmVxdWVzdCBhbmQgcmV0dXJucyB0byBlaXRoZXIgdGhlIHByZXZpb3VzIFVSTCBvciBwcmV2aW91cyBjb250ZW50IHBhZ2UuPC9saT4KICAgIDxsaT5ybWZyaWVuZCAtIFJlbW92ZXMgYSBmcmllbmQgcmVsYXRpb25zaGlwIGFuZCByZXR1cm5zIHRvIGVpdGhlciB0aGUgcHJldmlvdXMgVVJMIG9yIHByZXZpb3VzIGNvbnRlbnQgcGFnZS48L2xpPgogICAgPGxpPnJtZnJpZW5kcmVxIC0gUmVtb3ZlcyBhIGZyaWVuZCByZXF1ZXN0IGFuZCByZXR1cm5zIHRvIGVpdGhlciB0aGUgcHJldmlvdXMgVVJMIG9yIHByZXZpb3VzIGNvbnRlbnQgcGFnZS48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgpFT1Q7CiRsYW5nWydwYXJhbV9hY3Rpdml0eSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgPGVtPmRlZmF1bHQ8ZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGltaXQgdGhlIGNoZWNraW4gcmVzdWx0cyB0byBhIHNwZWNpZmljIGFjdGl2aXR5JzsKJGxhbmdbJ3BhcmFtX2FjdGl2aXR5cGFyZW50J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSA8ZW0+ZGVmYXVsdDxlbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBsaW1pdCB0aGUgY2hlY2tpbiByZXN1bHRzIHRvIGEgc3BlY2lmaWMgYWN0aXZpdHkgYW5kIGl0cyBjaGlsZHJlbi4nOwokbGFuZ1sncGFyYW1fYmFkZ2UnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBiYWRnZV9kZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGludGVnZXIgYmFkZ2UgaWQgdG8gZGlzcGxheSc7CiRsYW5nWydwYXJhbV9jaGVja2luJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBpbnRlZ2VyIGNoZWNraW5pZCB0byBkaXNwbGF5JzsKJGxhbmdbJ3BhcmFtX2Nvb3Jkc3JlcXVpcmVkJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkY2hlY2tpbiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IGNvb3JkaW5hdGVzIDxlbT4obGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSk8L2VtPiBtdXN0IGJlIHByb3ZpZGVkIGJlZm9yZSB0aGUgY2hlY2tpbiBjYW4gYmUgc2F2ZWQuJzsKJGxhbmdbJ3BhcmFtX2xpbWl0J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGltaXQgdGhlIHJlc3VsdHMgdG8gYSBzcGVjaWZpZWQgbnVtYmVyJzsKJGxhbmdbJ3BhcmFtX2xpc3RfdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGxpc3RfYWN0aXZpdGllcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgdGVtcGxhdGUnOwokbGFuZ1sncGFyYW1fbG9jYXRpb24nXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFuZCBhZGRjaGVja2luIGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGhhcyB0d28gYmVoYXZpb3JzLiAgRm9yIHRoZSBkZWZhdWx0IGFjdGlvbiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGxpbWl0IHRoZSByZXN1bHRzIHRvIGEgc3BlY2lmaWMgbG9jYXRpb24uICBJbiB0aGUgYWRkY2hlY2tpbiBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQsIGFuZCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIHRoYXQgdGhlIGNoZWNraW4gaXMgYmVpbmcgY3JlYXRlZCBmb3IuJzsKJGxhbmdbJ3BhcmFtX21zZ3JlcXVpcmVkJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkY2hlY2tpbiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIG1lc3NhZ2UgZmllbGQgaXMgYSByZXF1aXJlZCBmaWVsZCc7CiRsYW5nWydwYXJhbV9ub3JlZGlyZWN0J10gPSAnQXBwbGljYWJsZSB0byB0aGUgc3BlY2lhbCBhY3Rpb25zIChsaXN0ZWQgYWJvdmUpIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IHRoZSB1c2VyIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCB0byB0aGUgY29udGVudCBwYWdlIGFmdGVyIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuJzsKJGxhbmdbJ3BhcmFtX29mZnNldCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbmJlIHVzZWQgZm9yIHBhZ2luYXRpb24gdG8gc3BlY2lmeSB0aGUgc3RhcnQgb2Zmc2V0IG9mIG1hdGNoZXMgdG8gcmV0dXJuJzsKJGxhbmdbJ3BhcmFtX293bmVyJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGltaXQgdGhlIHJlc3VsdHMgdG8gYSBzcGVjaWZpYyBpbnRlZ2VyIG93bmVyIGlkJzsKJGxhbmdbJ3BhcmFtX293bmVycyddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGlpdCB0aGUgcmVzdWx0cyB0byB0aGUgc3BlY2lmaWVkIGludGVnZXIgb3duZXIgaWRzLiAgVGhpcyBwYXJhbWV0ZXIgYWNjZXB0cyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGludGVnZXIgb3duZXIgaWRzIG9yIGFuIGFycmF5IG9mIGludGVnZXJzJzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ1NwZWNpZnkgYSBkaWZmZXJlbnQgc29ydGluZyB0byB0aGUgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZTogaWQsIHBhcmVudF9pZCwgb3duZXIsIGxvY2F0aW9uLCBhY3Rpdml0eSwgY3JlYXRlZCAoZGVmYXVsdCknOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSBhIGRpZmZlcmVudCBzb3J0IG9yZGVyLiAgUG9zc2libGUgdmFsdWVzIGFyZSBhc2MsIGFuZCBkZXNjJzsKJGxhbmdbJ3BhcmFtX3N0YXJ0J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBsaXN0X2FjdGl2aXRpZXMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgbmFtZSBvZiBhIHN0YXJ0IGFjdGl2aXR5JzsKJGxhbmdbJ3BhcmFtX3RlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGVmYXVsdCwgYW5kIHZpZXdfYWN0aXZpdHkgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGUgYXBwcm9wcmlhdGUgdHlwZS4nOwokbGFuZ1sncGFyYW1fdGltZWxpbWl0J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gbGltaXQgdGhlIGNoZWNraW4gcmVzdWx0cyB0byBhIHNwZWNpZmljIHRpbWUgcmFuZ2UuICBBIHBvc2l0aXZlICB2YWx1ZSBzcGVjaWZpZXMgYW4gYWJzb2x1dGUgdW5peCB0aW1lc3RhbXAuICBBIG5lZ2F0aXZlIHZhbHVlIGluZGljYXRlcyBzZWNvbmRzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHRpbWUuJzsKJGxhbmdbJ3BhcmFtX3VzZXInXSA9ICdBcHBsaWNhYmxlIHRvIG51bWVyb3VzIGFjdGlvbnMgKGZyaWVuZHJlcSxhcHByb3ZlZnJpZW5kcmVxLHJtZnJpZW5kcmVxKSBzcGVjaWZpZXMgdGhlIHVzZXIgdGhhdCB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlciB3YW50cyB0byBjb21tdW5pY2F0ZSB3aXRoIG9yIGVmZmVjdCc7CiRsYW5nWydwZXInXSA9ICdwZXInOwokbGFuZ1sncGVybWlzc2lvbnMnXSA9ICdQZXJtaXNzaW9ucyc7CiRsYW5nWydwZXJtX2FjdGl2aXRpZXNfcmVhZCddID0gJ1JlYWQgQWN0aXZpdHkgTGlzdCc7CiRsYW5nWydwZXJtX2JhZGdlc19yZWFkJ10gPSAnUmVhZCBCYWRnZSBJbmZvcm1hdGlvbic7CiRsYW5nWydwZXJtX2NoZWNraW5zX3JlYWQnXSA9ICdSZWFkIENoZWNraW4gSW5mb3JtYXRpb24nOwokbGFuZ1sncGVybV9jaGVja2luc19hZGQnXSA9ICdBZGQgQ2hlY2tpbiBJbmZvcm1hdGlvbic7CiRsYW5nWydwZXJtX2NoZWNraW5zX2FwcHJvdmUnXSA9ICdBcHByb3ZlIENoZWNraW5zJzsKJGxhbmdbJ3Blcm1fY2hlY2tpbnNfZGVsJ10gPSAnRGVsZXRlIENoZWNraW4gSW5mb3JtYXRpb24nOwokbGFuZ1sncGVybV9jaGVja2luc19lZGl0J10gPSAnRWRpdCBDaGVja2luIEluZm9ybWF0aW9uJzsKJGxhbmdbJ3Blcm1fZmF2b3JpdGVzX3JlYWQnXSA9ICdSZWFkIFVzZXJzIEZhdm9yaXRlcyBMaXN0JzsKJGxhbmdbJ3Blcm1fZmF2b3JpdGVzX3dyaXRlJ10gPSAnV3JpdGUgdG8gVXNlcnMgRmF2b3JpdGVzIExpc3QnOwokbGFuZ1sncGVybV9mcmllbmRzX3JlYWQnXSA9ICdSZWFkIEZyaWVuZHNoaXAgUmVsYXRpb25zJzsKJGxhbmdbJ3Blcm1fZnJpZW5kc193cml0ZSddID0gJ1dyaXRlIEZyaWVuZHNoaXAgSW5mb3JtYXRpb24nOwokbGFuZ1sncGVybV9sZWFkZXJib2FyZHNfcmVhZCddID0gJ1JlYWQgTGVhZGVyYm9hcmQgSW5mb3JtYXRpb24nOwokbGFuZ1sncGVybV9sb2NhdGlvbnNfcmVhZCddID0gJ1JlYWQgTG9jYXRpb24gSW5mb3JtYXRpb24nOwokbGFuZ1sncGVybV9sb2NhdGlvbnNfd3JpdGUnXSA9ICdXcml0ZSBMb2NhdGlvbiBJbmZvcm1hdGlvbic7CiRsYW5nWydwZXJtX25vdGlmaWNhdGlvbl9zZW5kJ10gPSAnU2VuZCBub3RpZmljYXRpb25zJzsKJGxhbmdbJ3Blcm1fc29jaWFsX3JlYWQnXSA9ICdSZWFkIFNvY2lhbCBOZXR3b3JraW5nIFZhbHVlcyc7CiRsYW5nWydwZXJtX3NvY2lhbF93cml0ZSddID0gJ1dyaXRlIFNvY2lhbCBOZXR3b3JraW5nIFZhbHVlcyc7CiRsYW5nWydwZXJtX3NvY2lhbF9zZW5kJ10gPSAnU2VuZCBNZXNzYWdlcyB0byBTb2NpYWwgTmV0d29ya3MnOwokbGFuZ1sncGVybV91c2Vyc19yZWdpc3RlciddID0gJ1JlZ2lzdGVyIE5ldyBVc2Vycyc7CiRsYW5nWydwZXJtX3VzZXJzX2xvZ2luJ10gPSAnTG9naW4gVXNlcnMnOwokbGFuZ1sncGVybV91c2Vyc19yZWFkJ10gPSAnUmVhZCBVc2VyIEluZm9ybWF0aW9uJzsKJGxhbmdbJ3Blcm1fdXNlcnNfd3JpdGUnXSA9ICdNb2RpZnkgVXNlciBJbmZvcm1hdGlvbic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBDR1NvY2lhbEFwcCBtb2R1bGUgaXMgbm93IGluc3RhbGxlZC4gIFBsZWFzZSB2aXNpdCB0aGUgbW9kdWxlcyBhZG1pbiBwYW5lbCBhbmQgc3RhcnQgeW91ciBjb25maWd1cmF0aW9uIGFuZCBidWlsZGluZyBwcm9jZXNzJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgQ0dTb2NsYWxBcHAgbW9kdWxlIGlzIG5vdyB1bmluc3RhbGxlZCBhbmQgYWxsIGRhdGEgcmVtb3ZlZC4gICBZb3UgY2FuIG5vdyByZW1vdmUgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbW9kdWxlJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgbW9kdWxlLiAgQ29udGludWluZyB3aWxsIHJlbW92ZSBhbGwgZGF0YSBhbmQgc2V0dGluZ3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBtb2R1bGUgYW5kIG1heSBzZXJpb3VzbHkgaGFybSB0aGUgZnVuY3Rpb25hbGl0eSBvZiB5b3VyIHNpdGUnOwokbGFuZ1sncHJpb3JpdHknXSA9ICdQcmlvcml0eSc7CiRsYW5nWydwcm9tcHRfYWN0aXZlJ10gPSAnQWN0aXZlJzsKJGxhbmdbJ3Byb21wdF9hZGR0b2ZhdnMnXSA9ICdBZGQgdG8gTXkgRmF2b3JpdGVzJzsKJGxhbmdbJ3Byb21wdF9hcGlrZXknXSA9ICdBUEkgS2V5JzsKJGxhbmdbJ3Byb21wdF9hcHBuYW1lJ10gPSAnQXBwbGljYXRpb24gTmFtZSc7CiRsYW5nWydwcm9tcHRfYXBwcm92ZWNoZWNraW5zJ10gPSAnUmVxdWlyZSBjaGVja2lucyB0byBiZSBhcHByb3ZlZCc7CiRsYW5nWydwcm9tcHRfYXBwcm92ZV9mcmllbmRyZXEnXSA9ICdBcHByb3ZlIHJlcXVlc3QnOwokbGFuZ1sncHJvbXB0X2NkcHdmaWVsZCddID0gJ0NvbXBhbnlEaXJlY3RvcnkgUGFzc3dvcmQgRmllbGQnOwokbGFuZ1sncHJvbXB0X2NoZWNrMSddID0gJ1llcyBJIGFtIHN1cmUnOwokbGFuZ1sncHJvbXB0X2NoZWNrMiddID0gJ1llcyBJIGFtIHJlYWxseSBzdXJlJzsKJGxhbmdbJ3Byb21wdF9jaGVja2lucmF0ZWxpbWl0aW5nJ10gPSAnQ2hlY2tpbiBSYXRlIExpbWl0aW5nIE9wdGlvbnMnOwokbGFuZ1sncHJvbXB0X2NoZWNraW5yYXRlbGltaXRpbmdfYnlsb2NhdGlvbiddID0gJ0NoZWNraW4gUHJveGltaXR5IExpbWl0JzsKJGxhbmdbJ3Byb21wdF9jaGVja2lucmF0ZWxpbWl0aW5nX2J5dGltZSddID0gJ0NoZWNraW4gVGltZSBMaW1pdCc7CiRsYW5nWydwcm9tcHRfY2hlY2tpbnNldHRpbmdzJ10gPSAnQ2hlY2tpbiBTZXR0aW5ncyc7CiRsYW5nWydwcm9tcHRfY29uZmlybSddID0gJ0NvbmZpcm0gdGhpcyBhY3Rpb24nOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW1haWwgQWRkcmVzcyc7CiRsYW5nWydwcm9tcHRfZGVsZXRldXNlcnMnXSA9ICdVc2VyIERlbGV0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ3Byb21wdF9kZW55X2ZyaWVuZHJlcSddID0gJ0RlbnkgcmVxdWVzdCc7CiRsYW5nWydwcm9tcHRfZXhwaXJlcyddID0gJ0V4cGlyZXMnOwokbGFuZ1sncHJvbXB0X2ZldWdyb3VwJ10gPSAnRnJvbnRFbmRVc2VycyBHcm91cCBmb3IgTmV3IFVzZXJzJzsKJGxhbmdbJ3Byb3BtdF9mcmllbmRhcHByb3ZlZF9ib2R5dHBsJ10gPSAnRW1haWwgQm9keSBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfZnJpZW5kYXBwcm92ZWRfaGFuZGxpbmcnXSA9ICdBcHByb3ZlZCBGcmllbmRzaGlwcyc7CiRsYW5nWydwcm9tcHRfZnJpZW5kYXBwcm92ZWRfZW1haWwnXSA9ICdTZW5kIEVtYWlsIG9uIEZyaWVuZHNoaXAgQXBwcm92ZWQnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZGFwcHJvdmVkX2VtYWlsaHRtbCddID0gJ1NlbmQgYW4gSFRNTCBFbWFpbCc7CiRsYW5nWydwcm9tcHRfZnJpZW5kYXBwcm92ZWRfc3ViamVjdCddID0gJ0VtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZGx5bmFtZSddID0gJ0ZyaWVuZGx5IE5hbWUgZm9yIHRoaXMgTW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRyZXFfYm9keXRwbCddID0gJ0VtYWlsIEJvZHkgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZHJlcV9lbWFpbCddID0gJ1NlbmQgRW1haWwgb24gRnJpZW5kIFJlcXVlc3QnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZHJlcV9lbWFpbGh0bWwnXSA9ICdTZW5kIGFuIEhUTUwgRW1haWwnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZHJlcV9oYW5kbGluZyddID0gJ0ZyaWVuZCBSZXF1ZXN0IEhhbmRsaW5nJzsKJGxhbmdbJ3Byb21wdF9mcmllbmRyZXFfc3ViamVjdCddID0gJ0VtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZF9yZXF1ZXN0cyddID0gJ0ZyaWVuZCBSZXF1ZXN0cyc7CiRsYW5nWydwcm9tcHRfZ2VuZXJhbHNldHRpbmdzJ10gPSAnR2VuZXJhbCBTZXR0aW5ncyc7CiRsYW5nWydwcm9tcHRfZ2VuZXJhdGUnXSA9ICdHZW5lcmF0ZSc7CiRsYW5nWydwcm9tcHRfaW50ZXJ2YWxfdXBkYXRlbGVhZGVyYm9hcmRzJ10gPSAnSW50ZXJ2YWwgdG8gcmVmcmVzaCBsZWFkZXJib2FyZHMnOwokbGFuZ1sncHJvbXB0X2ludGVydmFsX3VwZGF0ZWJhZGdlcyddID0gJ0ludGVydmFsIHRvIHJlZnJlc2ggYmFkZ2VzJzsKJGxhbmdbJ3Byb21wdF9pbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ3Byb21wdF9sb2NhdGlvbmRlbGV0ZWQnXSA9ICdMb2NhdGlvbiBEZWxldGlvbic7CiRsYW5nWydwcm9tcHRfbG9jYXRpb25fbm90aWZpY2F0aW9uJ10gPSAnTG9jYXRpb24gY3JlYXRpb24gbm90aWZpY2F0aW9ucyc7CiRsYW5nWydwcm9tcHRfbG9jYXRpb25yZXF1aXJlZCddID0gJ0xvY2F0aW9uIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkIGZvciBhbGwgY2hlY2tpbnMnOwokbGFuZ1sncHJvbXB0X211bHRpcGxlYmFkZ2VzJ10gPSAnQWxsb3cgbXVsdGlwbGUgYmFkZ2VzIHBlciB1c2VyJzsKJGxhbmdbJ3Byb21wdF9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydwcm9tcHRfbmV3bG9jYXRpb24nXSA9ICdMb2NhdGlvbiBIYW5kbGluZyc7CiRsYW5nWydwcm9tcHRfbmV3bG9jYXRpb25fYWxsb3cnXSA9ICdBbGxvdyBjcmVhdGluZyBuZXcgbG9jYXRpb25zJzsKJGxhbmdbJ3Byb21wdF9uZXdsb2NhdGlvbl9hbGxvd2VkaXQnXSA9ICdBbGxvdyBlZGl0aW5nIGxvY2F0aW9ucyc7CiRsYW5nWydwcm9tcHRfbmV3bG9jYXRpb25fZ3JvdXBzJ10gPSAnR3JvdXAgbGlzdCB0byByZWNlaXZlIGVtYWlsIHdoZW4gbmV3IGxvY2F0aW9uIGlzIGNyZWF0ZWQnOwokbGFuZ1sncHJvbXB0X25ld2xvY2F0aW9uX2lzaHRtbCddID0gJ05vdGlmaWNhdGlvbiBlbWFpbCBpcyBhbiBodG1sIGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9uZXdsb2NhdGlvbl9yYXRlbGltaXRpbmcnXSA9ICdMaW1pdGluZyBvZiBsb2NhdGlvbiBhZGRpbmcnOwokbGFuZ1sncHJvbXB0X25ld2xvY2F0aW9uX3N0YXR1cyddID0gJ1N0YXR1cyBmb3IgdXNlciBjcmVhdGVkIGxvY2F0aW9ucyc7CiRsYW5nWydwcm9tcHRfbmV3bG9jYXRpb25fc3ViamVjdCddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBTdWJqZWN0JzsKJGxhbmdbJ3Byb21wdF9uZXdsb2NhdGlvbl90ZW1wbGF0ZSddID0gJ05vdGlmaWNhdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfbmV3dXNlcnMnXSA9ICdVc2VyIENyZWF0aW9uJzsKJGxhbmdbJ3Byb21wdF9vbmNoZWNraW5fYWN0aW9uJ10gPSAnQWN0aW9uIG9uIENoZWNraW4nOwokbGFuZ1sncHJvbXB0X29uY2hlY2tpbl9tYWlsYm9keSddID0gJ0VtYWlsIEJvZHknOwokbGFuZ1sncHJvbXB0X29uY2hlY2tpbl9tYWlsYnVsa2hkcnMnXSA9ICdTZW5kIGVtYWlsIGhlYWRlcnMgaW5kaWNhdGluZyBidWxrIGVtYWlsJzsKJGxhbmdbJ3Byb21wdF9vbmNoZWNraW5fbWFpbGh0bWwnXSA9ICdTZW5kIGFuIEhUTUwgRW1haWwnOwokbGFuZ1sncHJvbXB0X29uY2hlY2tpbl9tYWlsc3ViamVjdCddID0gJ0VtYWlsIFN1YmplY3QnOwokbGFuZ1sncHJvbXB0X29uY2hlY2tpbl9ub3RpZmJvZHknXSA9ICdOb3RpZmljYXRpb24gTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfb25jaGVja2luX25vdGlmcHJpb3JpdHknXSA9ICdOb3RpZmljYXRpb24gUHJpb3JpdHknOwokbGFuZ1sncHJvbXB0X29uY2hlY2tpbl9ub3RpZnN1YmplY3QnXSA9ICdOb3RpZmljYXRpb24gU3ViamVjdCc7CiRsYW5nWydwcm9tcHRfb25jaGVja2luX3NlbmRlbWFpbCddID0gJ1NlbmQgYW4gZW1haWwgdG8gdGhlIHVzZXJzIGZyaWVuZHMnOwokbGFuZ1sncHJvbXB0X29uY2hlY2tpbl9zZW5kbm90aWYnXSA9ICdTZW5kIGEgbm90aWZpY2F0aW9uIHZpYSB0aGUgY2hlY2tpbiB1c2VyJzsKJGxhbmdbJ3Byb21wdF9vbmRlbGV0ZV9jbGVhbmNoZWNraW5zJ10gPSAnRGVsZXRlIGFsbCB1c2VyIGNoZWNraW5zIHdoZW4gYSB1c2VyIGlzIGRlbGV0ZWQnOwokbGFuZ1sncHJvbXB0X3BhZ2UnXSA9ICdQYWdlJzsKJGxhbmdbJ3Byb21wdF9wYXJlbnQnXSA9ICdQYXJlbnQnOwokbGFuZ1sncHJvbXB0X3JlbW92ZWZhdiddID0gJ1JlbW92ZSBmcm9tIE15IEZhdm9yaXRlcyc7CiRsYW5nWydwcm9tcHRfcmVtb3ZlZnJpZW5kJ10gPSAnUmVtb3ZlIEZyaWVuZCBSZWxhdGlvbnNoaXAnOwokbGFuZ1sncHJvbXB0X3JlbW92ZWZyaWVuZHJlcSddID0gJ1JlbW92ZSBGcmllbmQgUmVxdWVzdCc7CiRsYW5nWydwcm9tcHRfdW5pcXVlJ10gPSAnVW5pcXVlJzsKJGxhbmdbJ3Byb21wdF91c2Vyc2V0dGluZ3MnXSA9ICdVc2VyIFNldHRpbmdzJzsKJGxhbmdbJ3Byb21wdF9zZW5kZnJpZW5kcmVxJ10gPSAnU2VuZCBGcmllbmQgUmVxdWVzdCc7CiRsYW5nWydwcm9tcHRfdGFnZ2VkdXNlcl9ub3RpZmljYXRpb25zJ10gPSAnVGFnZ2VkIFVzZXIgTm90aWZpY2F0aW9ucyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJsaXNoZWQnOwokbGFuZ1sncHJvbXB0X3doYXQnXSA9ICdXaGF0JzsKJGxhbmdbJ3Byb21wdF93aGVyZSddID0gJ1doZXJlJzsKJGxhbmdbJ3Byb21wdF93aGVuJ10gPSAnV2hlbic7CiRsYW5nWydwcm9tcHRfd2hvJ10gPSAnV2hvJzsKCiNRCgoKI1IKJGxhbmdbJ3Jlb3JkZXJfYWN0aXZpdHknXSA9ICdSZW9yZGVyIEFjdGl2aXRpZXMnOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldCc7CiRsYW5nWydyZXNldF9kZmx0J10gPSAnUmVzZXQgdG8gRGVmYXVsdCc7CiRsYW5nWydyZXR1cm4nXSA9ICdSZXR1cm4nOwokbGFuZ1sncmV2ZXJ0J10gPSAnUmV2ZXJ0JzsKCiNTCiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnU2VsZWN0IGFsbCc7CiRsYW5nWydzZW5kJ10gPSAnU2VuZCc7CiRsYW5nWydzZW5kZnJpZW5kcmVxdWVzdCddID0gJ1NlbmQgRnJpZW5kIFJlcXVlc3QnOwokbGFuZ1snc21hcnR5X3Zhcl9hY3Rpb24nXSA9ICdJbmRpY2F0ZXMgdGhlIGFjdGlvbiBmb3IgdGhlIGJhZGdlLiAgRWl0aGVyICZxdW90O2dyYW50ZWQmcXVvdDsgb3IgJnF1b3Q7cmV2b2tlZCZxdW90Oyc7CiRsYW5nWydzbWFydHlfdmFyX2JhZGdlJ10gPSAnVGhlIGNnc2FfYmFkZ2Ugb2JqZWN0IHJlbGF0ZWQgdG8gdGhlIGdyYW50ZWQsIG9yIHJldm9rZWQgYmFkZ2UnOwokbGFuZ1snc21hcnR5X3Zhcl91aWQnXSA9ICdUaGUgdXNlcnMgRkVVIHVpZCc7CiRsYW5nWydzbWFydHlfdmFyX3VzZXJuYW1lJ10gPSAnVGhlIHVzZXJzIHVzZXJuYW1lJzsKJGxhbmdbJ3NtYXJ0eV92YXJfZW1haWwnXSA9ICdUaGUgVXNlcnMgZW1haWwgYWRkcmVzcyc7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGljcyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QnOwokbGFuZ1snc3lzZGZsdF9hZGRfY2hlY2tpbl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBkZWZhdWx0ICZxdW90O0FkZCBDaGVja2luJnF1b3Q7IHRlbXBsYXRlJzsKJGxhbmdbJ3N5c2RmbHRfYmFkZ2VkZXRhaWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gZGVmYXVsdCBCYWRnZSBEZXRhaWwgdGVtcGxhdGUnOwokbGFuZ1snc3lzZGZsdF9iYWRnZXN1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gZGVmYXVsdCBCYWRnZSBTdW1tYXJ5IHRlbXBsYXRlJzsKJGxhbmdbJ3N5c2RmbHRfZnJpZW5kcmVxX3RlbXBsYXRlJ10gPSAnU3lzdGVtIGRlZmF1bHQgRnJpZW5kIFJlcXVlc3QgdGVtcGxhdGUnOwokbGFuZ1snc3lzZGZsdF9mcmllbmRyZXFsaXN0X3RlbXBsYXRlJ10gPSAnU3lzdGVtIGRlZmF1bHQgRnJpZW5kIFJlcXVlc3QgTGlzdCB0ZW1wbGF0ZSc7CiRsYW5nWydzeXNkZmx0X2xlYWRlcmJvYXJkZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIGRlZmF1bHQgTGVhZGVyYm9hcmQgRGV0YWlsIHRlbXBsYXRlJzsKJGxhbmdbJ3N5c2RmbHRfbGVhZGVyYm9hcmRzdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIGRlZmF1bHQgTGVhZGVyYm9hcmQgU3VtbWFyeSB0ZW1wbGF0ZSc7CiRsYW5nWydzeXNkZmx0X2xpc3RfYWN0aXZpdGllc190ZW1wbGF0ZSddID0gJ1N5c3RlbSBkZWZhdWx0IExpc3QgQWN0aXZpdGllcyB0ZW1wbGF0ZSc7CiRsYW5nWydzeXNkZmx0X2xpc3RfY2hlY2tpbnNfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gZGVmYXVsdCBMaXN0IENoZWNraW5zIHRlbXBsYXRlJzsKJGxhbmdbJ3N5c2RmbHRfdmlld19jaGVja2luX3RlbXBsYXRlJ10gPSAnU3lzdGVtIGRlZmF1bHQgJnF1b3Q7VmlldyBDaGVja2luJnF1b3Q7IHRlbXBsYXRlJzsKJGxhbmdbJ3N5c2RmbHRfdmlld19hY3Rpdml0eV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBkZWZhdWx0IFZpZXcgQWN0aXZpdHkgdGVtcGxhdGUnOwoKI1QKJGxhbmdbJ3RhYl9hY3Rpdml0aWVzJ10gPSAnQWN0aXZpdGllcyc7CiRsYW5nWyd0YWJfYWRkX2NoZWNraW5fdGVtcGxhdGVzJ10gPSAnQWRkIENoZWNraW4gVGVtcGxhdGVzJzsKJGxhbmdbJ3RhYl9hcGlrZXlzJ10gPSAnQXBpIEtleXMnOwokbGFuZ1sndGFiX2JhZGdlJ10gPSAnQmFkZ2UnOwokbGFuZ1sndGFiX2JhZGdlZGV0YWlsX3RlbXBsYXRlcyddID0gJ0JhZGdlIERldGFpbCBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2JhZGdlc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdCYWRnZSBTdW1tYXJ5IFRlbXBsYXRlcyc7CiRsYW5nWyd0YWJfY2hlY2tpbnMnXSA9ICdNYW5hZ2UgQ2hlY2tpbnMnOwokbGFuZ1sndGFiX2NoZWNraW5zZXR0aW5ncyddID0gJ0NoZWNraW4gU2V0dGluZ3MnOwokbGFuZ1sndGFiX2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnRGVmYXVsdCBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2ZyaWVuZHJlcV90ZW1wbGF0ZXMnXSA9ICdGcmllbmQgUmVxdWVzdCBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2ZyaWVuZHJlcWxpc3RfdGVtcGxhdGVzJ10gPSAnRnJpZW5kIFJlcXVlc3QgTGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2ZyaWVuZHNldHRpbmdzJ10gPSAnRnJpZW5kIFNldHRpbmdzJzsKJGxhbmdbJ3RhYl9nZW5lcmFsc2V0dGluZ3MnXSA9ICdHZW5lcmFsIFNldHRpbmdzJzsKJGxhbmdbJ3RhYl9sZWFkZXJib2FyZGRldGFpbF90ZW1wbGF0ZXMnXSA9ICdMZWFkZXJib2FyZCBEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ3RhYl9sZWFkZXJib2FyZHN1bW1hcnlfdGVtcGxhdGVzJ10gPSAnTGVhZGVyYm9hcmQgU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2xlYWRlcmJvYXJkc2V0dGluZ3MnXSA9ICdMZWFkZXJib2FyZCBTZXR0aW5ncyc7CiRsYW5nWyd0YWJfbGlzdF9hY3Rpdml0aWVzX3RlbXBsYXRlcyddID0gJ0xpc3QgQWN0aXZpdGllcyBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2xpc3RfY2hlY2tpbnNfdGVtcGxhdGVzJ10gPSAnTGlzdCBDaGVja2luIFRlbXBsYXRlcyc7CiRsYW5nWyd0YWJfbG9jYXRpb25zZXR0aW5ncyddID0gJ0xvY2F0aW9uIFNldHRpbmdzJzsKJGxhbmdbJ3RhYl9ub3RpZmljYXRpb24nXSA9ICdOb3RpZmljYXRpb24nOwokbGFuZ1sndGFiX3VzZXJzZXR0aW5ncyddID0gJ1VzZXIgU2V0dGluZ3MnOwokbGFuZ1sndGFiX3ZpZXdfYWN0aXZpdHlfdGVtcGxhdGVzJ10gPSAnVmlldyBBY3Rpdml0eSBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX3ZpZXdfY2hlY2tpbl90ZW1wbGF0ZXMnXSA9ICdWaWV3IENoZWNraW4gVGVtcGxhdGVzJzsKJGxhbmdbJ3RpdGxlX2FkZF9hY3Rpdml0eSddID0gJ0FkZCBBY3Rpdml0eSc7CiRsYW5nWyd0aXRsZV9hZGRlZGl0X2FkZGNoZWNraW5fdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhbiBBZGQgQ2hlY2tpbiB0ZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9hZGRlZGl0X2JhZGdlZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWRkIG9yIEVkaXQgYSBCYWRnZSBEZXRhaWwgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfYWRkZWRpdF9iYWRnZXN1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhIEJhZGdlIFN1bW1hcnkgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfYWRkZWRpdF9mcmllbmRyZXFfdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhIEZyaWVuZCBSZXF1ZXN0IHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2FkZGVkaXRfZnJpZW5kcmVxbGlzdF90ZW1wbGF0ZSddID0gJ0FkZCBvciBFZGl0IGEgRnJpZW5kIFJlcXVlc3QgTGlzdCB0ZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9hZGRlZGl0X2xlYWRlcmJvYXJkZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWRkIG9yIEVkaXQgYSBMZWFkZXJib2FyZCBEZXRhaWwgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfYWRkZWRpdF9sZWFkZXJib2FyZHN1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhIExlYWRlcmJvYXJkIFN1bW1hcnkgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfYWRkZWRpdF9saXN0YWN0aXZpdGllc190ZW1wbGF0ZSddID0gJ0FkZCBvciBFZGl0IGFuIEFjdGl2aXR5IExpc3QgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfYWRkZWRpdF9saXN0Y2hlY2tpbnNfdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhIENoZWNraW5zIExpc3QgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfYWRkZWRpdF92aWV3YWN0aXZpdHlfdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhbiBWaWV3IEFjdGl2aXR5IHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2FkZGVkaXRfdmlld2NoZWNraW5fdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhIFZpZXcgQ2hlY2tpbiB0ZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9kZWxhbGxjaGVja2lucyddID0gJ0RlbGV0ZSBhbGwgQ2hlY2tpbnMnOwokbGFuZ1sndGl0bGVfZGVsYmFkbG9jJ10gPSAnRGVsZXRlIGNoZWNraW5zIHdpdGggYmFkIGxvY2F0aW9ucyc7CiRsYW5nWyd0aXRsZV9kZWxiYWR1c2VyJ10gPSAnRGVsZXRlIGNoZWNraW5zIHdpdGggYmFkIHVzZXJzJzsKJGxhbmdbJ3RpdGxlX2RlbGV0ZV9hY3Rpdml0eSddID0gJ0RlbGV0ZSBBY3Rpdml0eSc7CiRsYW5nWyd0aXRsZV9lZGl0X2FjdGl2aXR5J10gPSAnRWRpdCBBY3Rpdml0eSc7CiRsYW5nWyd0aXRsZV9tb3JlJ10gPSAnU2VlIG1vcmUgYWJvdXQgdGhpcyBjaGVja2luJzsKJGxhbmdbJ3RpdGxlX25vdGlmaWNhdGlvbl9ib2R5X2hlbHAnXSA9ICdBdmFpbGFibGUgU21hcnR5IFZhcmlhYmxlcyc7CiRsYW5nWyd0byddID0gJ1RvJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKCiNVCiRsYW5nWyd1cGxvYWQnXSA9ICdVcGxvYWQnOwoKI1YKJGxhbmdbJ3ZpZXd1c2VyZGV0YWlscyddID0gJ1ZpZXcgdXNlciBkZXRhaWxzJzsKCiNXCiRsYW5nWyd3YXJuaW5nJ10gPSAnV2FybmluZyc7CiRsYW5nWyd3YXJuaW5nX25vY2RmaWVsZHMnXSA9ICdObyBzdWl0YWJsZSB0ZXh0IGZpZWxkcyBkZXRlY3RlZCBpbiBDb21wYW55RGlyZWN0b3J5IG1vZHVsZS4gIENoZWNraW5zIGNhbm5vdCBiZSBhcHByb3ZlZCc7CiRsYW5nWyd3aGF0J10gPSAnV2hhdCc7CiRsYW5nWyd3aGVuJ10gPSAnV2hlbic7CiRsYW5nWyd3aGVyZSddID0gJ1doZXJlJzsKJGxhbmdbJ3dobyddID0gJ1dobyc7CgojWAoKCiNZCgoKI1oKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.cgsa_activity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ3NhX2FjdGl2aXR5CnsKICBwcml2YXRlIHN0YXRpYyAkX2tleXMgPSBhcnJheSgnaWQnLCduYW1lJywncGFyZW50X2lkJywnaXRlbV9vcmRlcicsJ2hpZXJhcmNoeScsJ2ljb24nLCdpbWFnZScsJ2Rlc2NyaXB0aW9uJywnY2hpbGRyZW4nKTsKICBwcml2YXRlIHN0YXRpYyAkX2NhY2hlZF9hY3Rpdml0aWVzOwogIHByaXZhdGUgJF9ybzsKICBwcml2YXRlICRfZGF0YTsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAkdGhpcy0+X2RhdGEgPSBhcnJheSgpOwogICAgJHRoaXMtPl9kYXRhWydwYXJlbnRfaWQnXSA9IC0xOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgewogICAgaWYoICRrZXkgPT0gJ2ZpbGVfbG9jYXRpb24nICkgewogICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHU09DSUFMQVBQKTsKICAgICAgJGxvYyA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy9fJy4kbW9kLT5HZXROYW1lKCkuJy9hY3Rpdml0aWVzLycuJHRoaXMtPmlkOwogICAgICByZXR1cm4gJGxvYzsKICAgIH0KCiAgICBpZiggIWluX2FycmF5KCRrZXksc2VsZjo6JF9rZXlzKSApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byByZXRyaWV2ZSBpbnZhbGlkIGtleSAnLiRrZXkuJyBmcm9tIGNnc2FfYWN0aXZpdHkgb2JqZWN0Jyk7CiAgICB9CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHsKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKICAgIH0KICB9CiAgIAogIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWx1ZSkKICB7CiAgICBpZiggJHRoaXMtPl9ybyApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBhZGp1c3QgYSBjZ3NhX2FjdGl2aXR5IG9iamVjdCBpbiByZWFkb25seSBtb2RlLicpOwogICAgfQogICAgaWYoICFpbl9hcnJheSgka2V5LHNlbGY6OiRfa2V5cykgKSB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gc3RvcmUgaW52YWxpZCB2YWxpZCBpbnRvIGNnc2FfYWN0aXZpdHkgb2JqZWN0Jyk7CiAgICB9CiAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIF9faXNzZXQoJGtleSkKICB7CiAgICBpZiggIWluX2FycmF5KCRrZXksc2VsZjo6JF9rZXlzKSApIHJldHVybiBGQUxTRTsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9yZWFkb25seSgkZmxhZyA9IFRSVUUpCiAgewogICAgJHRoaXMtPl9ybyA9ICRmbGFnOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgewogICAgaWYoICR0aGlzLT5uYW1lID09ICcnIHx8ICR0aGlzLT5wYXJlbnRfaWQgPCAtMSApIHJldHVybiBGQUxTRTsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICB7CiAgICBpZiggISR0aGlzLT52YWxpZGF0ZSgpICkgcmV0dXJuIEZBTFNFOwoKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSB8fCAkdGhpcy0+X2RhdGFbJ2lkJ10gPCAxICkgewogICAgICByZXR1cm4gJHRoaXMtPl9pbnNlcnQoKTsKICAgIH0KICAgIHJldHVybiAkdGhpcy0+X3VwZGF0ZSgpOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9pbnNlcnQoKQogIHsKICAgIGlmKCAkdGhpcy0+X3JvICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHNhdmUgYSBjZ3NhX2FjdGl2aXR5IG9iamVjdCBpbiByZWFkb25seSBtb2RlLicpOwogICAgfQoKICAgICR0bXAgPSBzZXJpYWxpemUoJHRoaXMtPl9kYXRhKTsKCiAgICAvLyBjaGVjayBpZiBhbiBpdGVtIG9mIHRoZSBzYW1lIG5hbWUgZXhpc3RzIHdpdGggdGhlIHNhbWUgcGFyZW50CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQUNUSVZJVElFUy4nIFdIRVJFIG5hbWUgPSA/JzsKICAgICR0bXAyID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5uYW1lKSk7CiAgICBpZiggJHRtcDIgKSB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FuIGFjdGl2aXR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cyB3aXRoIHRoaXMgcGFyZW50Jyk7CiAgICB9CgogICAgLy8gZ2V0IHRoZSBhcHByb3ByaWF0ZSBpdGVtIG9yZGVyIChpZiB1bnNldCkKICAgIGlmKCAhaXNzZXQoJHRoaXMtPml0ZW1fb3JkZXIpICkgewogICAgICAkcXVlcnkgPSAnU0VMRUNUIE1BWChpdGVtX29yZGVyKSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQUNUSVZJVElFUy4nIFdIRVJFIHBhcmVudF9pZCA9ID8nOwogICAgICAkaXRlbV9vcmRlciA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpcy0+cGFyZW50X2lkKSk7CiAgICAgIGlmKCAhJGl0ZW1fb3JkZXIgKSAkaXRlbV9vcmRlciA9IDA7CiAgICAgICR0aGlzLT5pdGVtX29yZGVyID0gJGl0ZW1fb3JkZXIrMTsKICAgIH0KCiAgICAvLyBzZXQgdGhlIGhpZXJhcmNoeS4KICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHU09DSUFMX1RBQkxFX0FDVElWSVRJRVMuJyAobmFtZSxwYXJlbnRfaWQsaXRlbV9vcmRlcixkYXRhKQogICAgICAgVkFMVUVTKD8sPyw/LD8pJzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5uYW1lLCR0aGlzLT5wYXJlbnRfaWQsJHRoaXMtPml0ZW1fb3JkZXIsJHRtcCkpOwogICAgaWYoICEkZGJyICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdQcm9ibGVtIGluc2VydGluZyBhY3Rpdml0eSByZWNvcmQgaW50byBkYXRhYmFzZSAnLiRkYi0+c3FsLicgLS0gJy4kZGItPkVycm9yTXNnKCkpOwogICAgfQogICAgJHRoaXMtPmlkID0gJGRiLT5JbnNlcnRfSUQoKTsKICAgIHNlbGY6Ol91cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygpOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF91cGRhdGUoKQogIHsKICAgIGlmKCAkdGhpcy0+X3JvICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHNhdmUgYSBjZ3NhX2FjdGl2aXR5IG9iamVjdCBpbiByZWFkb25seSBtb2RlLicpOwogICAgfQoKICAgICR0bXAgPSBzZXJpYWxpemUoJHRoaXMtPl9kYXRhKTsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQUNUSVZJVElFUy4nIFdIRVJFIG5hbWUgPSA/IEFORCBpZCAhPSA/JzsKICAgICR0bXAyID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5uYW1lLCR0aGlzLT5pZCkpOwogICAgaWYoICR0bXAyICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBbiBhY3Rpdml0eSB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMgd2l0aCB0aGlzIHBhcmVudCcpOwogICAgfQoKICAgICRxdWVyeSA9ICdVUERBVEUgJy5DR1NPQ0lBTF9UQUJMRV9BQ1RJVklUSUVTLicgCiAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/LCBwYXJlbnRfaWQgPSA/LCBpdGVtX29yZGVyID0gPywgZGF0YSA9ID8KICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHRoaXMtPm5hbWUsJHRoaXMtPnBhcmVudF9pZCwkdGhpcy0+aXRlbV9vcmRlciwkdG1wLCR0aGlzLT5pZCkpOwogICAgaWYoICEkZGJyICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdQcm9ibGVtIGluc2VydGluZyBoaWVyYXJjaHkgcmVjb3JkIGludG8gZGF0YWJhc2UnKTsKICAgIH0KICAgIHNlbGY6Ol91cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkaWQpCiAgewogICAgJHRtcCA9IHNlbGY6OmxvYWRfYWxsX2FzX2FycmF5KCk7CiAgICAkcm93ID0gbnVsbDsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewogICAgICBpZiggc2VsZjo6JF9jYWNoZWRfYWN0aXZpdGllc1skaV1bJ2lkJ10gPT0gJGlkICkgewoJJHJvdyA9IHNlbGY6OiRfY2FjaGVkX2FjdGl2aXRpZXNbJGldOwoJYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpZiggIWlzX2FycmF5KCRyb3cpICkgcmV0dXJuOwoKICAgICRvYmogPSBzZWxmOjpfZnJvbV9hcnJheSgkcm93KTsKICAgIHJldHVybiAkb2JqOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9ieV9uYW1lKCRuYW1lKQogIHsKICAgICR0bXAgPSBzZWxmOjpsb2FkX2FsbF9hc19hcnJheSgpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKSB7CiAgICAgIGlmKCBzZWxmOjokX2NhY2hlZF9hY3Rpdml0aWVzWyRpXVsnbmFtZSddID09ICRuYW1lICkgewoJJHJvdyA9IHNlbGY6OiRfY2FjaGVkX2FjdGl2aXRpZXNbJGldOwoJYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpZiggIWlzX2FycmF5KCRyb3cpICkgcmV0dXJuOwoKICAgICRvYmogPSBzZWxmOjpfZnJvbV9hcnJheSgkcm93KTsKICAgIHJldHVybiAkb2JqOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX2FsbF9hc190cmVlKCRwYXJlbnRfaWQgPSAtMSwkYXNfb2JqZWN0cyA9IFRSVUUpCiAgewogICAgJGRhdGEgPSAnJzsKICAgIGlmKCAkYXNfb2JqZWN0cyApIHsKICAgICAgJGRhdGEgPSBzZWxmOjpsb2FkX2FsbCgkcGFyZW50X2lkKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkZGF0YSA9IHNlbGY6OmxvYWRfYWxsX2FzX2FycmF5KCRwYXJlbnRfaWQpOwogICAgfQogICAgaWYoICFjb3VudCgkZGF0YSkgKSByZXR1cm47CgogICAgZm9yKCAkbiA9IDA7ICRuIDwgY291bnQoJGRhdGEpOyAkbisrICkgewogICAgICBpZiggaXNfb2JqZWN0KCRkYXRhWyRuXSkgKSAkaWQgPSAkZGF0YVskbl0tPmlkOyBlbHNlICRpZCA9ICRkYXRhWyRuXVsnaWQnXTsKICAgICAgJHRtcCA9IHNlbGY6OmxvYWRfYWxsX2FzX3RyZWUoJGlkLCRhc19vYmplY3RzKTsKICAgICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgewoJaWYoICRhc19vYmplY3RzICkgewoJICAkZGF0YVskbl0tPmNoaWxkcmVuID0gJHRtcDsKCX0KCWVsc2UgewoJICAkZGF0YVskbl1bJ2NoaWxkcmVuJ10gPSAkdG1wOwoJfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gJGRhdGE7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX2FsbCgkcGFyZW50X2lkID0gJycpCiAgewogICAgJHRtcCA9IHNlbGY6OmxvYWRfYWxsX2FzX2FycmF5KCRwYXJlbnRfaWQpOwogICAgaWYoICFpc19hcnJheSgkdG1wKSApIHJldHVybjsKCiAgICAkcmVzID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewogICAgICAkcmVzW10gPSBzZWxmOjpfZnJvbV9hcnJheSgkdG1wWyRpXSk7CiAgICB9CiAgICByZXR1cm4gJHJlczsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9hbGxfYXNfYXJyYXkoJHBhcmVudF9pZCA9ICcnKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF9jYWNoZWRfYWN0aXZpdGllcykgKSB7CiAgICAgIC8vIGdldCB0aGVtIGFsbCBhbmQgY2FjaGUgZW0uLi4gYXMgYW4gYXJyYXkuCiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQUNUSVZJVElFUy4nIE9SREVSIEJZIGhpZXJhcmNoeSc7CiAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dTT0NJQUxBUFApOwogICAgICAKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgewoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKSB7CgkgICRyb3cgPSYgJHRtcFskaV07CgkgICRkYXRhID0gdW5zZXJpYWxpemUoJHJvd1snZGF0YSddKTsKCSAgaWYoIGlzX2FycmF5KCRkYXRhKSApIHsKCSAgICBpZiggaXNzZXQoJGRhdGFbJ2ljb24nXSkgKSAkcm93WydpY29uJ10gPSAkZGF0YVsnaWNvbiddOwoJICAgIGlmKCBpc3NldCgkZGF0YVsnaW1hZ2UnXSkgKSAkcm93WydpbWFnZSddID0gJGRhdGFbJ2ltYWdlJ107CgkgICAgJHJvd1snZGVzY3JpcHRpb24nXSA9ICRkYXRhWydkZXNjcmlwdGlvbiddOwoKCSAgICBpZiggaXNzZXQoJHJvd1snaW1hZ2UnXSkgJiYgJHJvd1snaW1hZ2UnXSAhPSAnJyApIHsKCSAgICAgIC8vIGFkZCBpbWFnZV91cmwgZmllbGQuLi4KCSAgICAgICRyb3dbJ2ltYWdlX3VybCddID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJG1vZC0+R2V0TmFtZSgpLicvYWN0dml0aWVzLycuJHJvd1snaWQnXS4nLycuJHJvd1snaW1hZ2UnXTsKCSAgICB9CgkgIH0KCSAgdW5zZXQoJHJvd1snZGF0YSddKTsKCX0KICAgICAgfQoKICAgICAgc2VsZjo6JF9jYWNoZWRfYWN0aXZpdGllcyA9ICR0bXA7CiAgICB9CgogICAgJHJlcyA9IHNlbGY6OiRfY2FjaGVkX2FjdGl2aXRpZXM7CiAgICBpZiggJHBhcmVudF9pZCAhPSAnJyApIHsKICAgICAgJHBhcmVudF9pZCA9IChpbnQpJHBhcmVudF9pZDsKICAgICAgJHJlcyA9IGFycmF5KCk7CgkKICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoc2VsZjo6JF9jYWNoZWRfYWN0aXZpdGllcyk7ICRpKysgKSB7CglpZiggc2VsZjo6JF9jYWNoZWRfYWN0aXZpdGllc1skaV1bJ3BhcmVudF9pZCddID09ICRwYXJlbnRfaWQgfHwgJHBhcmVudF9pZCA9PT0gJycgKSB7CgkgICRyZXNbXSA9IHNlbGY6OiRfY2FjaGVkX2FjdGl2aXRpZXNbJGldOwoJfQogICAgICB9CiAgICB9CgogICAgcmV0dXJuICRyZXM7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfYWxsX2FzX2Ryb3Bkb3duKCRhbGxvd19ub25lID0gVFJVRSkKICB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1NPQ0lBTEFQUCk7CiAgICAkZGF0YSA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYWxsX2FzX2FycmF5KCk7CiAgICAkbGlzdCA9IGFycmF5KCk7CiAgICBpZiggJGFsbG93X25vbmUgJiYgY291bnQoJGRhdGEpICkgJGRyb3Bkb3duWy0xXSA9ICRtb2QtPkxhbmcoJ25vbmUnKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKyApIHsKICAgICAgJGRlcHRoID0gY291bnQoZXhwbG9kZSgnLicsJGRhdGFbJGldWydoaWVyYXJjaHknXSkpOwogICAgICAkZHJvcGRvd25bJGRhdGFbJGldWydpZCddXSA9IHN0cl9yZXBlYXQoJyZuYnNwOycsJGRlcHRoLTEpLiRkYXRhWyRpXVsnbmFtZSddOwogICAgfQogICAgcmV0dXJuICRkcm9wZG93bjsKICB9CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uICZfZnJvbV9hcnJheSgkcm93KQogIHsKICAgICRvYmogPSBuZXcgY2dzYV9hY3Rpdml0eTsKICAgIGlmKCBpc3NldCgkcm93WydkYXRhJ10pICkgewogICAgICAkb2JqLT5fZGF0YSA9IHVuc2VyaWFsaXplKCRyb3dbJ2RhdGEnXSk7CiAgICB9CiAgICAkb2JqLT5fZGF0YVsnaWQnXSA9ICRyb3dbJ2lkJ107CiAgICAkb2JqLT5fZGF0YVsnbmFtZSddID0gJHJvd1snbmFtZSddOwogICAgJG9iai0+X2RhdGFbJ3BhcmVudF9pZCddID0gJHJvd1sncGFyZW50X2lkJ107CiAgICAkb2JqLT5fZGF0YVsnaXRlbV9vcmRlciddID0gJHJvd1snaXRlbV9vcmRlciddOwogICAgJG9iai0+X2RhdGFbJ2hpZXJhcmNoeSddID0gJHJvd1snaGllcmFyY2h5J107CiAgICAkb2JqLT5fZGF0YVsnZGVzY3JpcHRpb24nXSA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107CiAgICBpZiggaXNzZXQoJHJvd1snaW1hZ2UnXSkgKSAkb2JqLT5fZGF0YVsnaW1hZ2UnXSA9ICRyb3dbJ2ltYWdlJ107CiAgICByZXR1cm4gJG9iajsKICB9CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF91cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5DR1NPQ0lBTF9UQUJMRV9BQ1RJVklUSUVTLicgU0VUIGhpZXJhcmNoeSA9ID8gV0hFUkUgaWQgPSA/JzsKCiAgICAkYWN0aXZpdGllcyA9IHNlbGY6OmxvYWRfYWxsX2FzX2FycmF5KCk7CgogICAgLy8gbnVsbGlmeSBhbGwgaGllcmFyY2hpZXMKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRhY3Rpdml0aWVzKTsgJGkrKyApIHsKICAgICAgJGFjdGl2aXRpZXNbJGldWydoaWVyYXJjaHknXSA9ICcnOwogICAgfQoKICAgIC8vIGZvciBlYWNoIGFjdGl2aXR5IC4uLgogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGFjdGl2aXRpZXMpOyAkaSsrICkgewogICAgICAkaGllcmFyY2h5ID0gJyc7CiAgICAgICRyb3cgPSAkYWN0aXZpdGllc1skaV07CiAgICAgICRjcGkgPSAkcm93WydpZCddOwoKICAgICAgd2hpbGUoICRjcGkgPiAtMSApIHsKCS8vIGJ1aWxkIHRoZSBoaWVyYXJjaHkgYmFjayB1cCB0byB0aGUgdG9wLgoJLy8gZ2V0IHJvdyB3aXRoIGlkIGlmICdjcGknCgkkcm93MiA9ICcnOwoJZm9yKCAkaiA9IDA7ICRqIDwgY291bnQoJGFjdGl2aXRpZXMpOyAkaisrICkgewoJICBpZiggJGFjdGl2aXRpZXNbJGpdWydpZCddICE9ICRjcGkgKSBjb250aW51ZTsKCSAgJHJvdzIgPSAkYWN0aXZpdGllc1skal07CgkgIGJyZWFrOwoJfQoJaWYoICRyb3cyICkgewoJICAkaGllcmFyY2h5ID0gc3RyX3BhZCgkcm93MlsnaXRlbV9vcmRlciddLCA1LCAnMCcsIFNUUl9QQURfTEVGVCkuJy4nLiRoaWVyYXJjaHk7CgkgICRjcGkgPSAkcm93MlsncGFyZW50X2lkJ107Cgl9CgllbHNlIHsKCSAgJGNwaSA9IDA7Cgl9CiAgICAgIH0KCiAgICAgICRoaWVyYXJjaHkgPSBydHJpbSgkaGllcmFyY2h5LCcuJyk7CiAgICAgICRhY3Rpdml0aWVzWyRpXVsnaGllcmFyY2h5J10gPSAkaGllcmFyY2h5OwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRoaWVyYXJjaHksJGFjdGl2aXRpZXNbJGldWydpZCddKSk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlX2ZpbGVzKCkKICB7CiAgICBpZiggJHRoaXMtPl9ybyApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBhZGp1c3QgYSBjZ3NhX2FjdGl2aXR5IG9iamVjdCBpbiByZWFkb25seSBtb2RlLicpOwogICAgfQoKICAgIGlmKCAkdGhpcy0+aWQgPCAxICkgcmV0dXJuOwogICAgaWYoICR0aGlzLT5pbWFnZSA9PSAnJyApIHJldHVybjsKCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NvY2lhbEFwcCcpOwogICAgJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdfJy4kbW9kLT5HZXROYW1lKCksJ2FjdGl2aXRpZXMnLCR0aGlzLT5pZCk7CgogICAgJHRtcCA9IGFycmF5KCdwcmV2aWV3XycuJHRoaXMtPmltYWdlLCd0aHVtYl8nLiR0aGlzLT5pbWFnZSwkdGhpcy0+aW1hZ2UpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAkZm4gPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCRvbmUpOwogICAgICBAdW5saW5rKCRmbik7CiAgICB9CiAgICAkdGhpcy0+aW1hZ2UgPSAnJzsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkKICB7CiAgICBpZiggJHRoaXMtPl9ybyApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBhZGp1c3QgYSBjZ3NhX2FjdGl2aXR5IG9iamVjdCBpbiByZWFkb25seSBtb2RlLicpOwogICAgfQoKICAgIGlmKCAkdGhpcy0+aWQgPT0gJycgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIERlbGV0ZSBhbiBpbnZhbGlkIGFjdGl2aXR5Jyk7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICR0aGlzLT5kZWxldGVfZmlsZXMoKTsKCiAgICAvLyB1cGRhdGUgYW55IGRpcmVjdCBjaGlsZHJlbiB0byBoYXZlIC0xIGFzIGEgcGFyZW50IGlkLgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkNHU09DSUFMX1RBQkxFX0FDVElWSVRJRVMuJyBTRVQgcGFyZW50X2lkID0gPyBXSEVSRSBwYXJlbnRfaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KC0xLCR0aGlzLT5pZCkpOwoKICAgIC8vIGRlbGV0ZSB0aGUgYWN0aXZpdHkgcmVjb3JkIGl0c2VsZiAocmVmZXJlbnRpYWwgaW50ZWdyaXR5IHRvIG90aGVyIHRhYmxlcyBtYXkgYmUgYnJva2VuKQogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQUNUSVZJVElFUy4nIFdIRVJFIGlkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+aWQpKTsKCiAgICAkdGhpcy0+X3VwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCk7CgogICAgLy8gdG9kbzogc2VuZCBhIG1lc3NhZ2UvZXZlbnQKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYnVsa191cGRhdGUoJGxpc3QpCiAgewogICAgaWYoICFpc19hcnJheSgkbGlzdCkgfHwgY291bnQoJGxpc3QpID09IDAgKSByZXR1cm47CgogICAgLy8gYnVpbGQgdGhlIHF1ZXJ5IGZyb20gdGhlIGZpcnN0IGVsZW1lbnQKICAgICRyZWMgPSAkbGlzdFswXTsKICAgICR0bXAxID0gYXJyYXkoKTsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5DR1NPQ0lBTF9UQUJMRV9BQ1RJVklUSUVTOwogICAgaWYoIGlzc2V0KCRyZWNbJ3BhcmVudF9pZCddKSApIHsKICAgICAgJHRtcDFbXSA9ICdwYXJlbnRfaWQgPSA/JzsKICAgICAgJHRtcDJbXSA9ICdwYXJlbnRfaWQnOwogICAgfQogICAgaWYoIGlzc2V0KCRyZWNbJ25hbWUnXSkgKSB7CiAgICAgICR0bXAxW10gPSAnbmFtZSA9ID8nOwogICAgICAkdG1wMltdID0gJ25hbWUnOwogICAgfQogICAgaWYoIGlzc2V0KCRyZWNbJ2l0ZW1fb3JkZXInXSkgKSB7CiAgICAgICR0bXAxW10gPSAnaXRlbV9vcmRlciA9ID8nOwogICAgICAkdG1wMltdID0gJ2l0ZW1fb3JkZXInOwogICAgfQogICAgCiAgICBpZiggIWNvdW50KCR0bXAxKSApIHJldHVybjsKCiAgICAvLyBpbiBhIGxvb3AsIGJ1aWxkIGFuZCBleGVjdXRlIHRoZSBxdWVyaWVzLgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSAuPSAnIFNFVCAnLmltcGxvZGUoJywnLCR0bXAxKS4nIFdIRVJFIGlkID0gPyc7CiAgICBmb3JlYWNoKCAkbGlzdCBhcyAkcmVjICkgewogICAgICAkcGFybXMgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCAkdG1wMiBhcyAkZmxkICkgJHBhcm1zW10gPSAkcmVjWyRmbGRdOwogICAgICAkcGFybXNbXSA9ICRyZWNbJ2lkJ107CgogICAgICAvLyByZWFkeSB0byBleGVjdXRlLgogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkcGFybXMpOwogICAgfQoKICAgIHNlbGY6Ol91cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygpOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_apikey.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgY2dzYV9hcGlrZXkgaW1wbGVtZW50cyBBcnJheUFjY2Vzcwp7CiAgcHJpdmF0ZSBzdGF0aWMgJF9rZXlzID0gYXJyYXkoJ2lkJywnYXBpa2V5JywnYXBwbmFtZScsJ2VtYWlsJywnYWN0aXZlJywnY3JlYXRlZCcsJ2V4cGlyZXMnLCdtb2RpZmllZCcpOwogIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoKTsKCgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgJHRoaXMtPl9kYXRhWydhY3RpdmUnXSA9IDE7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFNldCgka2V5LCR2YWx1ZSkKICB7CiAgICBpZiggIWluX2FycmF5KCRrZXksc2VsZjo6JF9rZXlzKSApIHJldHVybjsKICAgIGlmKCAka2V5ID09ICdpZCcgKSByZXR1cm47IC8vIGNhbid0IHNldCB0aGUgaWQgdGhpcyB3YXkuCiAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygka2V5KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkgcmV0dXJuIEZBTFNFOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgka2V5KQogIHsKICAgIGlmKCBpbl9hcnJheSgka2V5LHNlbGY6OiRfa2V5cykgKQogICAgICB7CglpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApCgkgIHsKCSAgICByZXR1cm4gJHRoaXMtPl9kYXRhWyRrZXldOwoJICB9CiAgICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJGtleSkKICB7CiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDYW5ub3QgdW5zZXQgYSBtZW1iZXIgb2YgYW4gYXBpa2V5IG9iamVjdCcpOwogIH0KCgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGF1ZGl0KCRtc2cpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTb2NpYWxBcHAnKTsKICAgIGF1ZGl0KCcnLCdBcHAnLCRtc2cpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZV9hcGlfa2V5KCkKICB7CiAgICAkdGhpcy0+dmFsaWRhdGUoVFJVRSxUUlVFKTsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2FwaWtleSddKSAmJiAkdGhpcy0+X2RhdGFbJ2FwaWtleSddICE9ICcnICkgcmV0dXJuICR0aGlzLT5fZGF0YVsnYXBpa2V5J107CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgYXBpa2V5IEZST00gJy5DR1NPQ0lBTF9UQUJMRV9BUElLRVlTOwogICAgJGtleXMgPSAkZGItPkdldENvbCgkcXVlcnkpOwoKICAgICRjb3VudCA9ICcnOwogICAgJG1hc3RlciA9ICR0aGlzLT5fZGF0YVsnYXBwbmFtZSddLiR0aGlzLT5fZGF0YVsnZW1haWwnXTsKICAgIHdoaWxlKCAkY291bnQgPCAxMDAgKQogICAgICB7Cgkka2V5ID0gc3Vic3RyKHN0cl9zaHVmZmxlKG1kNSgkbWFzdGVyLiRjb3VudCkpLDAsOCk7CglpZiggIWlzX2FycmF5KCRrZXlzKSApIHJldHVybiAka2V5OwoJaWYoICFpbl9hcnJheSgka2V5LCRrZXlzKSApIHJldHVybiAka2V5OwoKCWlmKCAkY291bnQgPT0gJycgKSAkY291bnQgPSAxOwoJJGNvdW50Kys7CiAgICAgIH0KCiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyB2YWxpZCBBUEkga2V5IGNvdWxkIGJlIGNhbGN1bGF0ZWQnKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoJG5vX21ldGFkYXRhID0gRkFMU0UsJG5vX2RhdGFiYXNlID0gRkFMU0UpCiAgewogICAgZm9yZWFjaCggc2VsZjo6JF9rZXlzIGFzICRrZXkgKQogICAgICB7Cglzd2l0Y2goICRrZXkgKQoJICB7Ci8vIAkgIGNhc2UgJ2lkJzoKLy8gCSAgICBpZiggJG5vX21ldGFkYXRhICkgYnJlYWs7Ci8vIAkgICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pIHx8ICgkdGhpcy0+X2RhdGFbJGtleV0gIT0gJycgJiYgIWlzX251bWVyaWMoJHRoaXMtPl9kYXRhWyRrZXldKSkgKQovLyAJICAgICAgewovLyAJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgZGF0YTogaWQgaXMgJy4kdGhpcy0+X2RhdGFbJGtleV0pOwovLyAJICAgICAgfQovLyAJICAgIGJyZWFrOwoKCSAgY2FzZSAnYXBpa2V5JzoKCSAgICBpZiggJG5vX21ldGFkYXRhICkgYnJlYWs7CgoJICBjYXNlICdhcHBuYW1lJzoKCSAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgfHwgJHRoaXMtPl9kYXRhWyRrZXldID09ICcnICkKCSAgICAgIHsKCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGE6ICcuJGtleS4nIGlzIGVtcHR5Jyk7CgkgICAgICB9CgkgICAgYnJlYWs7CgkgICAgCgkgIGNhc2UgJ2VtYWlsJzoKCSAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgfHwgIWlzX2VtYWlsKCR0aGlzLT5fZGF0YVska2V5XSkgKQoJICAgICAgewoJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgZGF0YTogJy4ka2V5LicgaXMgaW52YWxpZCcpOwoJICAgICAgfQoJICAgIGJyZWFrOwoKCSAgY2FzZSAnYWN0aXZlJzoKCSAgICAkdG1wID0gY2dlX3V0aWxzOjp0b19ib29sKCR0aGlzLT5fZGF0YVska2V5XSxUUlVFKTsKCSAgICBpZiggaXNfbnVsbCgkdG1wKSApCgkgICAgICB7CgkJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBkYXRhOiAnLiRrZXkuJyBpcyBpbnZhbGlkJyk7CgkgICAgICB9CgkgICAgYnJlYWs7CgoJICBjYXNlICdleHBpcmVzJzoKCSAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgfHwgJHRoaXMtPl9kYXRhWyRrZXldID09ICcnIHx8ICFpc19udW1lcmljKCR0aGlzLT5fZGF0YVska2V5XSkgKQoJICAgICAgewoJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgZGF0YSBpbiBhcGlrZXk6ICcuJGtleS4nIGlzIGludmFsaWQnKTsKCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgLy8gZGF0YWJhc2UgdmFsaWRhdGlvbi4KICAgIGlmKCAkbm9fZGF0YWJhc2UgKSByZXR1cm47CgogICAgJHRtcCA9IG51bGw7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnaWQnXSkgJiYgJHRoaXMtPl9kYXRhWydpZCddICE9ICcnICkKICAgICAgewoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQVBJS0VZUy4nIFdIRVJFIChhcGlrZXkgPSA/IE9SIGFwcG5hbWUgPSA/KSBBTkQgaWQgIT0gPyc7CgkkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5fZGF0YVsnYXBpa2V5J10sJHRoaXMtPl9kYXRhWydhcHBuYW1lJ10sJHRoaXMtPl9kYXRhWydpZCddKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQVBJS0VZUy4nIFdIRVJFIGFwaWtleSA9ID8gT1IgYXBwbmFtZSA9ID8nOwoJJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpcy0+X2RhdGFbJ2FwaWtleSddLCR0aGlzLT5fZGF0YVsnYXBwbmFtZSddKSk7CiAgICAgIH0KICAgIGlmKCAkdG1wICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignQW4gaXRlbSB3aXRoIHRoZSBzYW1lIG5hbWUgb3Iga2V5IGFscmVhZHkgZXhpc3RzJyk7CiAgICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZXhwaXJlZCgpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2V4cGlyZXMnXSkgKSByZXR1cm4gVFJVRTsKICAgIGlmKCAkdGhpcy0+X2RhdGFbJ2V4cGlyZXMnXSA9PSAnJyApIHJldHVybiBUUlVFOwogICAgaWYoICR0aGlzLT5fZGF0YVsnZXhwaXJlcyddIDwgdGltZSgpICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGNoZWNrX3Blcm1pc3Npb24oJHBlcm0pCiAgewogICAgaWYoICFjZ3NhX2FwaWtleV9wZXJtczo6aXNfcGVybSgkcGVybSkgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZGF0YVsncGVybXMnXSkgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggIWluX2FycmF5KCRwZXJtLCR0aGlzLT5fZGF0YVsncGVybXMnXSkgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcGVybWlzc2lvbigkcGVybSkKICB7CiAgICBpZiggISRwZXJtICkgcmV0dXJuOwogICAgaWYoICFjZ3NhX2FwaWtleV9wZXJtczo6aXNfcGVybSgkcGVybSkgKSByZXR1cm47CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZGF0YVsncGVybXMnXSkgKSAkdGhpcy0+X2RhdGFbJ3Blcm1zJ10gPSBhcnJheSgpOwogICAgaWYoICFpbl9hcnJheSgkcGVybSwkdGhpcy0+X2RhdGFbJ3Blcm1zJ10pICkgCiAgICAgICR0aGlzLT5fZGF0YVsncGVybXMnXVtdID0gJHBlcm07CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlX3Blcm1pc3Npb24oJHBlcm0pCiAgewogICAgaWYoICEkcGVybSApIHJldHVybjsKICAgIGlmKCAhY2dzYV9hcGlrZXlfcGVybXM6OmlzX3Blcm0oJHBlcm0pICkgcmV0dXJuOwogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2RhdGFbJ3Blcm1zJ10pICkgcmV0dXJuOwogICAgaWYoICFpbl9hcnJheSgkcGVybSwkdGhpcy0+X2RhdGFbJ3Blcm1zJ10pICkgcmV0dXJuOwogICAgJHRtcCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+X2RhdGFbJ3Blcm1zJ10pOyAkaSsrICkKICAgICAgewoJaWYoICR0aGlzLT5fZGF0YVsncGVybXMnXVskaV0gPT0gJHBlcm0gKSBjb250aW51ZTsKCSR0bXBbXSA9ICR0aGlzLT5fZGF0YVsncGVybXMnXVskaV07CiAgICAgIH0KICAgICR0aGlzLT5fZGF0YVsncGVybXMnXSA9ICR0bXA7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpCiAgewogICAgJHRoaXMtPl9kYXRhWydhcGlrZXknXSA9ICR0aGlzLT5nZW5lcmF0ZV9hcGlfa2V5KCk7CiAgICAkdGhpcy0+dmFsaWRhdGUoKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJGRiciA9IG51bGw7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSAmJiAkdGhpcy0+X2RhdGFbJ2lkJ10gKQogICAgICB7CgkvLyB1cGRhdGUKCSRxdWVyeSA9ICdVUERBVEUgJy5DR1NPQ0lBTF9UQUJMRV9BUElLRVlTLicgCiAgICAgICAgICAgICAgICAgIFNFVCBhcGlrZXkgPSA/LCBhcHBuYW1lID0gPywgZW1haWwgPSA/LCBhY3RpdmUgPSA/LAogICAgICAgICAgICAgICAgICBleHBpcmVzID0gPywgcGVybXMgPSA/LCBtb2RpZmllZCA9IE5PVygpIFdIRVJFIGlkID0gPyc7CgkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+X2RhdGFbJ2FwaWtleSddLCR0aGlzLT5fZGF0YVsnYXBwbmFtZSddLCR0aGlzLT5fZGF0YVsnZW1haWwnXSwKCQkJCQkgJHRoaXMtPl9kYXRhWydhY3RpdmUnXSwkdGhpcy0+X2RhdGFbJ2V4cGlyZXMnXSwgc2VyaWFsaXplKCR0aGlzLT5fZGF0YVsncGVybXMnXSksCgkJCQkJIChpbnQpJHRoaXMtPl9kYXRhWydpZCddKSk7CgoJc2VsZjo6YXVkaXQoJ1VwZGF0ZWQgYXBwICcuJHRoaXMtPl9kYXRhWydhcHBuYW1lJ10uJygnLiR0aGlzLT5fZGF0YVsnYXBpa2V5J10uJyknKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBpbnNlcnQuCgkkcXVlcnkgPSAnSU5TRVJUICcuQ0dTT0NJQUxfVEFCTEVfQVBJS0VZUy4iIChhcGlrZXksYXBwbmFtZSxlbWFpbCxhY3RpdmUsZXhwaXJlcyxwZXJtcyxjcmVhdGVkLG1vZGlmaWVkKQogICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPykiOwoJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHRoaXMtPl9kYXRhWydhcGlrZXknXSwkdGhpcy0+X2RhdGFbJ2FwcG5hbWUnXSwkdGhpcy0+X2RhdGFbJ2VtYWlsJ10sCgkJCQkJICR0aGlzLT5fZGF0YVsnYWN0aXZlJ10sJHRoaXMtPl9kYXRhWydleHBpcmVzJ10sc2VyaWFsaXplKCR0aGlzLT5fZGF0YVsncGVybXMnXSksCgkJCQkJIHRpbWUoKSx0aW1lKCkpKTsKCSR0aGlzLT5fZGF0YVsnaWQnXSA9ICRkYi0+SW5zZXJ0X0lEKCk7CgkkdGhpcy0+X2RhdGFbJ2NyZWF0ZWQnXSA9ICR0aGlzLT5fZGF0YVsnbW9kaWZpZWQnXSA9IHRpbWUoKTsKCglzZWxmOjphdWRpdCgnQWRkZWQgYXBwICcuJHRoaXMtPl9kYXRhWydhcHBuYW1lJ10uJygnLiR0aGlzLT5fZGF0YVsnYXBpa2V5J10uJyknKTsKICAgICAgfQogIH0KCgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uICZsb2FkX2Zyb21fcm93KCRyb3cpCiAgewogICAgaWYoICFpc19hcnJheSgkcm93KSApIHJldHVybjsKCiAgICAkb2JqID0gbmV3IGNnc2FfYXBpa2V5OwogICAgZm9yZWFjaCggc2VsZjo6JF9rZXlzIGFzICRrZXkgKQogICAgICB7CglpZiggaXNzZXQoJHJvd1ska2V5XSkgKQoJICB7CgkgICAgJG9iai0+X2RhdGFbJGtleV0gPSAkcm93WyRrZXldOwoJICB9CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcm93WydwZXJtcyddKSAmJiAkcm93WydwZXJtcyddICkKICAgICAgewoJJG9iai0+X2RhdGFbJ3Blcm1zJ10gPSB1bnNlcmlhbGl6ZSgkcm93WydwZXJtcyddKTsKICAgICAgfQoKICAgICRvYmotPnZhbGlkYXRlKEZBTFNFLFRSVUUpOwogICAgcmV0dXJuICRvYmo7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX2J5X2lkKCRpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9BUElLRVlTLicgV0hFUkUgaWQgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkaWQpKTsKICAgIGlmKCBpc19hcnJheSgkdG1wKSApCiAgICAgIHsKCXJldHVybiBzZWxmOjpsb2FkX2Zyb21fcm93KCR0bXApOwogICAgICB9CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX2J5X2FwaWtleSgkYXBpa2V5KQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0FQSUtFWVMuJyBXSEVSRSBhcGlrZXkgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGFwaWtleSkpOwogICAgaWYoIGlzX2FycmF5KCR0bXApICkKICAgICAgewoJcmV0dXJuIHNlbGY6OmxvYWRfZnJvbV9yb3coJHRtcCk7CiAgICAgIH0KICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfYnlfY3JpdGVyaWEoJHBhcmFtcywkYXNfb2JqZWN0cyA9IEZBTFNFKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0FQSUtFWVM7CiAgICAkd2hlcmUgPSBhcnJheSgpOwogICAgJGxpbWl0ID0gLTE7CiAgICAkb2Zmc2V0ID0gLTE7CiAgICBpZiggaXNfYXJyYXkoJHBhcmFtcykgKQogICAgICB7Cglmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkKCSAgewoJICAgICRrZXkgPSBzdHJ0b2xvd2VyKCRrZXkpOwoJICAgIHN3aXRjaCggJGtleSApCgkgICAgICB7CgkgICAgICBjYXNlICdhcGlrZXknOgoJICAgICAgY2FzZSAnYXBwbmFtZSc6CgkgICAgICBjYXNlICdlbWFpbCc6CgkJaWYoIGlzX2FycmF5KCR2YWx1ZSkgKQoJCSAgewoJCSAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdmFsdWUpOyAkaSsrICkKCQkgICAgICB7CgkJCSR2YWx1ZVskaV0gPSAkZGItPnFzdHIoJHZhbHVlWyRpXSk7CgkJICAgICAgfQoJCSAgICAkd2hlcmVbXSA9ICIka2V5IElOICgiLmltcGxvZGUoJywnLCR2YWx1ZSkuJyknOwoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAgJHdoZXJlW10gPSAiJGtleSA9ICIuJGRiLT5xc3RyKCR2YWx1ZSk7CgkJICB9CgkJYnJlYWs7CgoJICAgICAgY2FzZSAnY3JlYXRlZCc6CgkgICAgICBjYXNlICdtb2RpZmllZCc6CgkgICAgICBjYXNlICdleHBpcmVzJzoKCQkvLyBkYXRlIGZpZWxkCgkJaWYoIGlzX2FycmF5KCR2YWx1ZSkgKQoJCSAgewoJCSAgICBpZiggY291bnQoJHZhbHVlKSA9PSAyICkKCQkgICAgICB7CgkJCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR2YWx1ZSk7ICRpKysgKQoJCQkgIHsKCQkJICAgIGlmKCAhaXNfbnVtZXJpYygkdmFsdWVbJGldKSApCgkJCSAgICAgIHsKCQkJCSR2YWx1ZVskaV0gPSAkZGItPlVuaXhUaW1lU3RhbXAoJHZhbHVlWyRpXSk7CgkJCSAgICAgIH0KCQkJICB9CgkJCSR3aGVyZVtdID0gIiRrZXkgQkVUV0VFTiB7JHZhbHVlWzBdfSBBTkQgeyR2YWx1ZVsxXX0iOwoJCSAgICAgIH0KCQkgICAgLy8gbm90IDIsIHdlIGRvbid0IGNhcmUuCgkJICB9CgkJZWxzZQoJCSAgewoJCSAgICBpZiggIWlzX251bWVyaWMoJHZhbHVlKSApICR2YWx1ZSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkdmFsdWUpOwoJCSAgICBpZiggJHZhbHVlWzBdID09ICctJyApCgkJICAgICAgewoJCQkkdmFsdWUgPSBhYnMoJHZhbHVlKTsKCQkJJHdoZXJlW10gPSAiJGtleSA8PSAiLiRkYi0+cXN0cigkdmFsdWUpOwoJCSAgICAgIH0KCQkgICAgZWxzZQoJCSAgICAgIHsKCQkJJHdoZXJlW10gPSAiJGtleSA+PSAiLiRkYi0+cXN0cigkdmFsdWUpOwoJCSAgICAgIH0KCQkgIH0KCQlicmVhazsKCgkgICAgICBjYXNlICdvcmRlcic6CgkJaWYoIGluX2FycmF5KCRrZXksc2VsZjo6JF9rZXlzKSApCgkJICB7CgkJICAgICRvcmRlciA9ICR2YWx1ZTsKCQkgIH0KCQlicmVhazsKCgkgICAgICBjYXNlICdvcmRlcmJ5JzoKCQkkdmFsdWUgPSBzdHJ0b2xvd2VyKCR2YWx1ZSk7CgkJc3dpdGNoKCAkdmFsdWUgKQoJCSAgewoJCSAgY2FzZSAnYXNjJzoKCQkgIGNhc2UgJ2Rlc2MnOgoJCSAgICAkb3JkZXJieSA9ICR2YWx1ZTsKCQkgICAgYnJlYWs7CgkJICB9CgkJYnJlYWs7CgoJICAgICAgY2FzZSAnbGltaXQnOgoJCSRsaW1pdCA9IGFicygoaW50KSRsaW1pdCk7CgkJYnJlYWs7CgoJICAgICAgY2FzZSAnb2Zmc2V0JzoKCQkkb2Zmc2V0ID0gYWJzKChpbnQpJGxpbWl0KTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgLy8gYXNzZW1ibGUgcXVlcnkuCiAgICBpZiggY291bnQoJHdoZXJlKSApCiAgICAgIHsKCSRxdWVyeSAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkb3JkZXIpICYmICRvcmRlciApCiAgICAgIHsKCSRxdWVyeSAuPSAnIE9SREVSIEJZICcuJG9yZGVyOwoJaWYoIGlzc2V0KCRvcmRlcmJ5KSAmJiAkb3JkZXJieSApCgkgIHsKCSAgICAkcXVlcnkgLj0gJyAnLiRvcmRlcmJ5OwoJICB9CiAgICAgIH0KCiAgICAkcmVzID0gbnVsbDsKICAgICR0bXAgPSAkZGItPlNlbGVjdExpbWl0KCAkcXVlcnksICRsaW1pdCwgJG9mZnNldCApOwogICAgaWYoICEkdG1wICkgcmV0dXJuICRyZXM7CiAgICAkZGJyID0gJHRtcC0+R2V0QXJyYXkoKTsKICAgICR0bXAtPkNsb3NlKCk7CgogICAgaWYoICEkYXNfb2JqZWN0cyApCiAgICAgIHsKCS8vIGp1c3QgcmV0dXJuIHRoZSBhcnJheSBhcyByb3dzLgoJcmV0dXJuICRkYnI7CiAgICAgIH0KCiAgICAkcmVzID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYnIpOyAkaSsrICkKICAgICAgewoJJHJlc1tdID0gc2VsZjo6bG9hZF9mcm9tX3JvdygkZGJyWyRpXSk7CiAgICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KCiAgCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfYnlfaWQoJGlkKQogIHsKICAgICRpZCA9IChpbnQpJGlkOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9BUElLRVlTLicgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRpZCkpOwoKICAgIHNlbGY6OmF1ZGl0KCdEZWxldGVkIEFwcCAnLiRpZCk7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_apikey_perms.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgY2dzYV9hcGlrZXlfcGVybXMKewogIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBjb25zdCBQRVJNX1VTRVJTX1JFR0lTVEVSID0gJ3Blcm1fdXNlcnNfcmVnaXN0ZXInOwogIGNvbnN0IFBFUk1fVVNFUlNfTE9HSU4gICAgPSAncGVybV91c2Vyc19sb2dpbic7CiAgY29uc3QgUEVSTV9VU0VSU19SRUFEICAgICA9ICdwZXJtX3VzZXJzX3JlYWQnOwogIGNvbnN0IFBFUk1fVVNFUlNfV1JJVEUgICAgPSAncGVybV91c2Vyc193cml0ZSc7CgogIGNvbnN0IFBFUk1fQUNUSVZJVElFU19SRUFEID0gJ3Blcm1fYWN0aXZpdGllc19yZWFkJzsKCiAgY29uc3QgUEVSTV9CQURHRVNfUkVBRCA9ICdwZXJtX2JhZGdlc19yZWFkJzsKCiAgY29uc3QgUEVSTV9DSEVDS0lOU19SRUFEICAgICA9ICdwZXJtX2NoZWNraW5zX3JlYWQnOwogIGNvbnN0IFBFUk1fQ0hFQ0tJTlNfQUREICAgICAgPSAncGVybV9jaGVja2luc19hZGQnOwogIGNvbnN0IFBFUk1fQ0hFQ0tJTlNfREVMICAgICAgPSAncGVybV9jaGVja2luc19kZWwnOwogIGNvbnN0IFBFUk1fQ0hFQ0tJTlNfRURJVCAgICAgPSAncGVybV9jaGVja2luc19lZGl0JzsKICBjb25zdCBQRVJNX0NIRUNLSU5TX0FQUFJPVkUgPSAncGVybV9jaGVja2luc19hcHByb3ZlJzsKCiAgY29uc3QgUEVSTV9GUklFTkRTX1JFQUQgICAgPSAncGVybV9mcmllbmRzX3JlYWQnOwogIGNvbnN0IFBFUk1fRlJJRU5EU19XUklURSAgID0gJ3Blcm1fZnJpZW5kc193cml0ZSc7CgogIGNvbnN0IFBFUk1fTEVBREVSQk9BUkRTX1JFQUQgPSAncGVybV9sZWFkZXJib2FyZHNfcmVhZCc7CgogIGNvbnN0IFBFUk1fTE9DQVRJT05TX1JFQUQgID0gJ3Blcm1fbG9jYXRpb25zX3JlYWQnOwogIGNvbnN0IFBFUk1fTE9DQVRJT05TX1dSSVRFID0gJ3Blcm1fbG9jYXRpb25zX3dyaXRlJzsKCiAgY29uc3QgUEVSTV9OT1RJRklDQVRJT05fU0VORCA9ICdwZXJtX25vdGlmaWNhdGlvbl9zZW5kJzsKCiAgY29uc3QgUEVSTV9TT0NJQUxfUkVBRCAgICAgPSAncGVybV9zb2NpYWxfcmVhZCc7CiAgY29uc3QgUEVSTV9TT0NJQUxfV1JJVEUgICAgPSAncGVybV9zb2NpYWxfcmVhZCc7CiAgY29uc3QgUEVSTV9TT0NJQUxfU0VORCAgICAgPSAncGVybV9zb2NpYWxfc2VuZCc7CgogIGNvbnN0IFBFUk1fRkFWT1JJVEVTX1JFQUQgICA9ICdwZXJtX2Zhdm9yaXRlc19yZWFkJzsKICBjb25zdCBQRVJNX0ZBVk9SSVRFU19XUklURSAgPSAncGVybV9mYXZvcml0ZXNfd3JpdGUnOwoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9hbGxfcGVybXMoKQogIHsKICAgICRyZXMgPSBhcnJheSgpOwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9VU0VSU19SRUdJU1RFUjsKICAgICRyZXNbXSA9IHNlbGY6OlBFUk1fVVNFUlNfTE9HSU47CiAgICAkcmVzW10gPSBzZWxmOjpQRVJNX1VTRVJTX1JFQUQ7CiAgICAkcmVzW10gPSBzZWxmOjpQRVJNX1VTRVJTX1dSSVRFOwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9BQ1RJVklUSUVTX1JFQUQ7CiAgICAkcmVzW10gPSBzZWxmOjpQRVJNX0JBREdFU19SRUFEOwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9DSEVDS0lOU19SRUFEOwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9DSEVDS0lOU19BREQ7CiAgICAkcmVzW10gPSBzZWxmOjpQRVJNX0NIRUNLSU5TX0RFTDsKICAgICRyZXNbXSA9IHNlbGY6OlBFUk1fQ0hFQ0tJTlNfRURJVDsKICAgICRyZXNbXSA9IHNlbGY6OlBFUk1fQ0hFQ0tJTlNfQVBQUk9WRTsKICAgICRyZXNbXSA9IHNlbGY6OlBFUk1fRlJJRU5EU19SRUFEOwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9GUklFTkRTX1dSSVRFOwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9MRUFERVJCT0FSRFNfUkVBRDsKICAgICRyZXNbXSA9IHNlbGY6OlBFUk1fTE9DQVRJT05TX1JFQUQ7CiAgICAkcmVzW10gPSBzZWxmOjpQRVJNX0xPQ0FUSU9OU19XUklURTsKICAgICRyZXNbXSA9IHNlbGY6OlBFUk1fTk9USUZJQ0FUSU9OX1NFTkQ7IC8vIGRvYyB0aGlzCiAgICAkcmVzW10gPSBzZWxmOjpQRVJNX1NPQ0lBTF9SRUFEOyAgLy8gZG9jIHRoaXMKICAgICRyZXNbXSA9IHNlbGY6OlBFUk1fU09DSUFMX1dSSVRFOyAvLyBkb2MgdGhpcwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9TT0NJQUxfU0VORDsgIC8vIGRvYyB0aGlzCiAgICAkcmVzW10gPSBzZWxmOjpQRVJNX0ZBVk9SSVRFU19SRUFEOyAvLyBkb2MgdGhpcwogICAgJHJlc1tdID0gc2VsZjo6UEVSTV9GQVZPUklURVNfV1JJVEU7IC8vIGRvYyB0aGlzCiAgICByZXR1cm4gJHJlczsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfcGVybSgkcGVybSkKICB7CiAgICBpZiggIWluX2FycmF5KCRwZXJtLHNlbGY6OmdldF9hbGxfcGVybXMoKSkgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gVFJVRTsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_badge.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBjZ3NhX2JhZGdlIAp7CiAgcHJpdmF0ZSBzdGF0aWMgJF9maWVsZHMgPSBhcnJheSgnaWQnLCdsZWFkZXJib2FyZF9pZCcsJ25hbWUnLCdkZXNjcmlwdGlvbicsJ2ltYWdlJywnbm90ZXMnLCdtaW5fc2NvcmUnLCdtYXhfc2NvcmUnLCdpc191bmlxdWUnLCdjcmVhdGVkJywnbm90aWZ5X3RvJywnbm90aWZ5X3ByaW9yaXR5Jywnbm90aWZ5X3N1YmplY3QnLCdub3RpZnlfdHBsJyk7CiAgcHJpdmF0ZSBzdGF0aWMgJF9yb2tleXMgPSBhcnJheSgnaWQnLCdsZWFkZXJib2FyZF9pZCcsJ2NyZWF0ZWQnKTsKICBwcml2YXRlIHN0YXRpYyAkX2NhY2hlOwoKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkX2RpcnR5OwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgkaykKICB7CiAgICBzd2l0Y2goICRrICkgewogICAgY2FzZSAnbm90aWZ5X3ByaW9yaXR5JzoKICAgIGNhc2UgJ25vdGlmeV9zdWJqZWN0JzoKICAgIGNhc2UgJ25vdGlmeV90cGwnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydleHRyYSddWyRrXSkgKSByZXR1cm4gJHRoaXMtPl9kYXRhWydleHRyYSddWyRrXTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAndXNlcmNvdW50JzoKICAgICAgcmV0dXJuICR0aGlzLT5jb3VudF9tZW1iZXJzKCk7CgogICAgZGVmYXVsdDoKICAgICAgaWYoICFpbl9hcnJheSgkayxzZWxmOjokX2ZpZWxkcykgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCRrLicgZ2V0OiBpcyBub3QgYSB2YWxpZCBmaWVsZCBmb3IgYSBjZ3NhX2JhZGdlJyk7CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtdKSApIHJldHVybiAkdGhpcy0+X2RhdGFbJGtdOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRrLCR2KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGssc2VsZjo6JF9maWVsZHMpICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkay4nIHNldDogaXMgbm90IGEgdmFsaWQgZmllbGQgZm9yIGEgY2dzYV9iYWRnZScpOwoKICAgIHN3aXRjaCggJGsgKSB7CiAgICBjYXNlICdub3RpZnlfcHJpb3JpdHknOgogICAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgfHwgIWlzX2FycmF5KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgKSAkdGhpcy0+X2RhdGFbJ2V4dHJhJ10gPSBhcnJheSgpOwogICAgICAkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtdID0gKGludCkkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbm90aWZ5X3N1YmplY3QnOgoKICAgIGNhc2UgJ25vdGlmeV90cGwnOgogICAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgfHwgIWlzX2FycmF5KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgKSAkdGhpcy0+X2RhdGFbJ2V4dHJhJ10gPSBhcnJheSgpOwogICAgICAkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtdID0gdHJpbSgkdik7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgICR0aGlzLT5fZGF0YVska10gPSAkdjsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IHRydWU7CiAgICAgIGJyZWFrOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlKCkKICB7CiAgICBpZiggdHJpbSgkdGhpcy0+bmFtZSkgPT0gJycgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIG5hbWUgaW4gYmFkZ2UnKTsKICAgIAogICAgaWYoICR0aGlzLT5taW5fc2NvcmUgPD0gMCApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgbWluIHNjb3JlJyk7CgogICAgaWYoICR0aGlzLT5tYXhfc2NvcmUgPiAwICYmICR0aGlzLT5tYXhfc2NvcmUgPD0gJHRoaXMtPm1pbl9zY29yZSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgbWF4IHNjb3JlJyk7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICR0bXAgPSBudWxsOwogICAgaWYoICR0aGlzLT5pZCA+IDAgKSB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0JBREdFUy4nIFdIRVJFIG5hbWUgPSA/IEFORCBpZCAhPSA/JzsKICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpcy0+bmFtZSwkdGhpcy0+aWQpKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9CQURHRVMuJyBXSEVSRSBuYW1lID0gPyc7CiAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXMtPm5hbWUpKTsKICAgIH0KICAgIGlmKCAkdG1wICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQSBiYWRnZSB3aXRoIHRoaXMgbmFtZSBhbHJlYWR5IGV4aXN0cycpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9kaXJ0eSApIHJldHVybjsKICAgICR0aGlzLT52YWxpZGF0ZSgpOwogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnaWQnXSkgJiYgJHRoaXMtPl9kYXRhWydpZCddID4gMCApIHJldHVybiAkdGhpcy0+X3VwZGF0ZSgpOwogICAgcmV0dXJuICR0aGlzLT5faW5zZXJ0KCk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2luc2VydCgpCiAgewogICAgaWYoICEkdGhpcy0+X2RpcnR5ICkgcmV0dXJuOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkbm93ID0gdGltZSgpOwogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQ0dTT0NJQUxfVEFCTEVfQkFER0VTLicKICAgICAgICAgICAgICAobGVhZGVyYm9hcmRfaWQsbmFtZSxkZXNjcmlwdGlvbixpbWFnZSxub3RlcyxkYXRhLG1pbl9zY29yZSxtYXhfc2NvcmUsaXNfdW5pcXVlLGNyZWF0ZWQpCiAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/KSc7CiAgICAkZXh0cmEgPSAnJzsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ10pICkgJGV4dHJhID0gc2VyaWFsaXplKCR0aGlzLT5fZGF0YVsnZXh0cmEnXSk7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+bGVhZGVyYm9hcmRfaWQsJHRoaXMtPm5hbWUsJHRoaXMtPmRlc2NyaXB0aW9uLCR0aGlzLT5pbWFnZSwKCQkJCSAgICAgJHRoaXMtPm5vdGVzLCRleHRyYSwkdGhpcy0+bWluX3Njb3JlLCR0aGlzLT5tYXhfc2NvcmUsJHRoaXMtPmlzX3VuaXF1ZSwkbm93KSk7CiAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwogICAgJHRoaXMtPl9kaXJ0eSA9IEZBTFNFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF91cGRhdGUoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9kaXJ0eSApIHJldHVybjsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkZXh0cmEgPSAnJzsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ10pICkgJGV4dHJhID0gc2VyaWFsaXplKCR0aGlzLT5fZGF0YVsnZXh0cmEnXSk7CgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkNHU09DSUFMX1RBQkxFX0JBREdFUy4nCiAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/LCBkZXNjcmlwdGlvbiA9ID8sIGltYWdlID0gPywgbm90ZXMgPSA/LCBkYXRhID0gPywKICAgICAgICAgICAgICAgICAgbWluX3Njb3JlID0gPywgbWF4X3Njb3JlID0gPywgaXNfdW5pcXVlID0gPwogICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJHRoaXMtPm5hbWUsJHRoaXMtPmRlc2NyaXB0aW9uLCR0aGlzLT5pbWFnZSwkdGhpcy0+bm90ZXMsCgkJCSAgICAgICRleHRyYSwgJHRoaXMtPm1pbl9zY29yZSwgJHRoaXMtPm1heF9zY29yZSwgJHRoaXMtPmlzX3VuaXF1ZSwKCQkJICAgICAgJHRoaXMtPmlkKSk7CiAgICAkdGhpcy0+X2RpcnR5ID0gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkKICB7CiAgICBpZiggISR0aGlzLT5pZCApIHJldHVybjsgLy8gY2FuJ3QgZGVsZXRlIGl0LgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkZGlyID0gY2dzYV91dGlsczo6Z2V0X2JhZGdlX2ZpbGVwYXRoX2J5X2JhZGdlX2lkKCR0aGlzLT5pZCk7CiAgICBpZiggaXNfZGlyKCRkaXIpICYmICR0aGlzLT5pbWFnZSApIGNnc2FfdXRpbHM6OmRlbGV0ZV9pbWFnZSgkZGlyLCR0aGlzLT5pbWFnZSk7CgogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQkFER0VTLicgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5pZCkpOwoKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0JBREdFU19VU0VSUy4nIFdIRVJFIGJhZGdlX2lkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+aWQpKTsKCiAgICB1bnNldChzZWxmOjokX2NhY2hlWyR0aGlzLT5pZF0pOwogICAgdW5zZXQoJHRoaXMtPl9kYXRhWydpZCddKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBjb3VudF9tZW1iZXJzKCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb3VudCh1aWQpIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9CQURHRVNfVVNFUlMuJyBXSEVSRSBiYWRnZV9pZCA9ID8nOwogICAgJGNvdW50ID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5pZCkpOwogICAgcmV0dXJuICRjb3VudDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBpc19tZW1iZXIoJHVpZCkKICB7CiAgICAkdWlkID0gKGludCkkdWlkOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgdWlkIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9CQURHRVNfVVNFUlMuJyBXSEVSRSBiYWRnZV9pZCA9ID8gQU5EIHVpZCA9ID8nOwogICAgJGNvdW50ID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5pZCwkdWlkKSk7CiAgICByZXR1cm4gJGNvdW50ICE9IDA7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gYWRkX21lbWJlcigkdWlkKQogIHsKICAgICR1aWQgPSAoaW50KSR1aWQ7CiAgICBpZiggJHRoaXMtPmlzX21lbWJlcigkdWlkKSApIHJldHVybiBGQUxTRTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQ0dTT0NJQUxfVEFCTEVfQkFER0VTX1VTRVJTLicgKGJhZGdlX2lkLGxlYWRlcmJvYXJkX2lkLHVpZCxjcmVhdGVkKSBWQUxVRVMgKD8sPyw/LD8pJzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5pZCwkdGhpcy0+bGVhZGVyYm9hcmRfaWQsJHVpZCx0aW1lKCkpKTsKICAgIGlmKCAkZGJyICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gbGlzdF9tZW1iZXJzKCRsaW1pdCA9IDI1LCRvZmZzZXQgPSAwLCR1c2VycyA9IG51bGwpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgdWlkIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9CQURHRVNfVVNFUlMuJyAKICAgICAgICAgICAgICBXSEVSRSBsZWFkZXJib2FyZF9pZCA9ID8KICAgICAgICAgICAgICBBTkQgYmFkZ2VfaWQgPSA/JzsKICAgICRwYXJtcyA9IGFycmF5KCR0aGlzLT5sZWFkZXJib2FyZF9pZCwkdGhpcy0+aWQpOwogICAgaWYoICFpc19udWxsKCR1c2VycykgKSB7CiAgICAgIGlmKCAhaXNfYXJyYXkoJHVzZXJzKSApICR1c2VycyA9IGFycmF5KCR1c2Vycyk7CiAgICAgICR0bXAgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCAkdXNlcnMgYXMgJG9uZSApIHsKCSRvbmUgPSAoaW50KSRvbmU7CglpZiggJG9uZSA8IDEgKSBjb250aW51ZTsKCSR0bXBbXSA9ICRvbmU7CiAgICAgIH0KICAgICAgJHF1ZXJ5IC49ICcgQU5EIHVpZCBJTiAoJy5pbXBsb2RlKCcsJywkdG1wKS4nKSc7CiAgICB9CiAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSBjcmVhdGVkIERFU0MnOwogICAgJHJzID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJGxpbWl0LCRvZmZzZXQsJHBhcm1zKTsKICAgICRyZXMgPSBhcnJheSgpOwogICAgd2hpbGUoICRycyAmJiAhJHJzLT5FT0YgKSB7CiAgICAgICRyZXNbXSA9ICRycy0+ZmllbGRzWyd1aWQnXTsKICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZV9tZW1iZXIoJHVpZCkKICB7CiAgICAkdWlkID0gKGludCkkdWlkOwogICAgaWYoICEkdGhpcy0+aXNfbWVtYmVyKCR1aWQpICkgcmV0dXJuIEZBTFNFOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9CQURHRVNfVVNFUlMuJyBXSEVSRSBiYWRnZV9pZCA9ID8gQU5EIGxlYWRlcmJvYXJkX2lkID0gPyBBTkQgdWlkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+aWQsJHRoaXMtPmxlYWRlcmJvYXJkX2lkLCR1aWQpKTsKICAgIGlmKCAkZGJyICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZsb2FkX2Zyb21fZGF0YSgkZGF0YSwkZGlydHkgPSBGQUxTRSkKICB7CiAgICBpZiggIWlzc2V0KCRkYXRhWydpZCddKSB8fCAhaXNzZXQoJGRhdGFbJ2xlYWRlcmJvYXJkX2lkJ10pIHx8ICFpc3NldCgkZGF0YVsnbmFtZSddKSApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBkYXRhIGluIGFycmF5IC4uLiBtaXNzaW5nIGRhdGEnKTsKICAgIH0KCiAgICBmb3JlYWNoKCAkZGF0YSBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgaWYoICFpbl9hcnJheSgka2V5LHNlbGY6OiRfZmllbGRzKSAmJiAka2V5ICE9ICdkYXRhJyApIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ2ludmFsaWQgZGF0YSBrZXk6ICcuJGtleS4nIGluIGFycmF5IC4uLi4gY2Fubm90IGxvYWQnKTsKICAgICAgfQogICAgfQoKICAgICRvYmogPSBuZXcgY2dzYV9iYWRnZTsKICAgIGlmKCBpc3NldCgkZGF0YVsnZGF0YSddKSApIHsKICAgICAgJGRhdGFbJ2V4dHJhJ10gPSB1bnNlcmlhbGl6ZSgkZGF0YVsnZGF0YSddKTsKICAgICAgdW5zZXQoJGRhdGFbJ2RhdGEnXSk7CiAgICB9CiAgICAkb2JqLT5fZGF0YSA9ICRkYXRhOwogICAgJG9iai0+X2RpcnR5ID0gJGRpcnR5OwogICAgcmV0dXJuICRvYmo7CiAgfQoKICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfZ2V0X2FsbCgpCiAgewogICAgaWYoICFpc19hcnJheShzZWxmOjokX2NhY2hlKSApIHsKICAgICAgc2VsZjo6JF9jYWNoZSA9IGFycmF5KCk7CgogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0JBREdFUzsKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgc2VsZjo6JF9jYWNoZSA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCdpZCcpOwogICAgfQoKICAgIHJldHVybiBzZWxmOjokX2NhY2hlOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkaWQsJGFzX29iaiA9IFRyVUUpCiAgewogICAgJGlkID0gKGludCkkaWQ7CiAgICBpZiggKGludCkkaWQgPD0gMCApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYmFkZ2UgaWQgc3BlY2lmaWVkJyk7CgogICAgc2VsZjo6X2dldF9hbGwoKTsKICAgIGlmKCBpc3NldChzZWxmOjokX2NhY2hlWyRpZF0pICkgewogICAgICBpZiggJGFzX29iaiApIHJldHVybiBzZWxmOjpsb2FkX2Zyb21fZGF0YShzZWxmOjokX2NhY2hlWyRpZF0pOwogICAgICByZXR1cm4gc2VsZjo6JF9jYWNoZVskaWRdOwogICAgfQogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYWxsKCRhc19vYmogPSBUUlVFKQogIHsKICAgIHNlbGY6Ol9nZXRfYWxsKCk7CiAgICBpZiggISRhc19vYmogKSByZXR1cm4gc2VsZjo6JF9jYWNoZTsKICAgIAogICAgJHJlcyA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCBzZWxmOjokX2NhY2hlIGFzICRvbmUgKSB7CiAgICAgICRyZXNbXSA9IHNlbGY6OmxvYWRfZnJvbV9kYXRhKCRvbmUpOwogICAgfQogICAgcmV0dXJuICRyZXM7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9mb3JfdXNlcigkdXNlcnMpCiAgewogICAgJHVzZXJsaXN0ID0gYXJyYXkoKTsKICAgIGlmKCAhaXNfYXJyYXkoJHVzZXJzKSApICR1c2VycyA9IGFycmF5KCR1c2Vycyk7CiAgICBmb3JlYWNoKCAkdXNlcnMgYXMgJG9uZSApIHsKICAgICAgJG9uZSA9IChpbnQpJG9uZTsKICAgICAgaWYoICRvbmUgPCAxICkgY29udGludWU7CiAgICAgICR1c2VybGlzdFtdID0gJG9uZTsKICAgIH0KICAgIGlmKCBjb3VudCgkdXNlcmxpc3QpID09IDAgKSByZXR1cm47CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgYmFkZ2VfaWQgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0JBREdFU19VU0VSUy4nIFdIRVJFIHVpZCBJTiAoJy4kdXNlcmxpc3QuJyknOwogICAgJHRtcCA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CiAgICBpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKSByZXR1cm4gJHRtcDsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_badge_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBjZ3NhX2JhZGdlX3V0aWxzIAp7CiAgcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X21lbWJlcl9iYWRnZXMoJHVpZCkKICB7CiAgICAkdWlkID0gKGludCkkdWlkOwogICAgaWYoICR1aWQgPD0gMCApIHJldHVybjsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCBiYWRnZV9pZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQkFER0VTX1VTRVJTLicgV0hFUkUgdWlkID0gPyc7CiAgICAkdG1wID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCR1aWQpKTsKICAgIHJldHVybiAkdG1wOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZW1vdmVfYmFkZ2VfbWVtYmVyKGNnc2FfYmFkZ2UmICRiYWRnZSwkdWlkKQogIHsKICAgICRiYWRnZS0+cmVtb3ZlX21lbWJlcigkdWlkKTsKCiAgICAvLyBzZW5kIG91dCBhIG5vdGlmaWNhdGlvbi4KICAgICRub3RpZmllciA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dOb3RpZmllcicpOwogICAgJGNnc2EgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU29jaWFsQXBwJyk7CiAgICBpZiggJG5vdGlmaWVyICYmICRiYWRnZS0+bm90aWZ5X3ByaW9yaXR5ID4gMCApIHsKICAgICAgJG1zZyA9IG5ldyBub3RpZmljYXRpb25fbWVzc2FnZSgpOwogICAgICAkbXNnLT5tb2R1bGUgPSAkY2dzYS0+R2V0TmFtZSgpOwogICAgICBpZiggJGJhZGdlLT5ub3RpZnlfdG8gPT0gJ3VzZXInICkgJG1zZy0+dG8gPSAkdWlkOwogICAgICAkbXNnLT5zdWJqZWN0ID0gJGJhZGdlLT5ub3RpZnlfc3ViamVjdDsKICAgICAgJG1zZy0+cHJpb3JpdHkgPSAkYmFkZ2UtPm5vdGlmeV9wcmlvcml0eTsKICAgICAgCiAgICAgICRzbWFydHkgPSBjbXNfdXRpbHM6OmdldF9zbWFydHkoKTsKICAgICAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2FjdGlvbicsJ3Jldm9rZWQnKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdiYWRnZScsJGJhZGdlKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCd1aWQnLCR1aWQpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkZmV1LT5HZXRVc2VyTmFtZSgkdWlkKSk7CiAgICAgICRzbWFydHktPmFzc2lnbignZW1haWwnLCRmZXUtPkdldEVtYWlsKCR1aWQpKTsKICAgICAgJG1zZy0+Ym9keSA9ICRub3RpZmllci0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJGJhZGdlLT5ub3RpZnlfdHBsKTsKCiAgICAgICRyZXMgPSAkbm90aWZpZXItPm5vdGlmeSgkbXNnKTsKICAgICAgaWYoICEkcmVzICkgewoJYXVkaXQoJycsJGNnc2EtPkdldE5hbWUoKSwnTm90aWZpY2F0aW9uIGZvciBiYWRnZSAnLiRiYWRnZS0+bmFtZS4nIGxlYWRlcmJvYXJkICgnLiRiYWRnZS0+bGVhZGVyYm9hcmRfaWQuJykgZmFpbGVkJyk7CiAgICAgIH0KICAgICAgZWxzZSB7CglhdWRpdCgnJywkY2dzYS0+R2V0TmFtZSgpLCdOb3RpZmljYXRpb24gc2VudCBmb3IgYmFkZ2UgJy4kYmFkZ2UtPm5hbWUuJyBsZWFkZXJib2FyZCAoJy4kYmFkZ2UtPmxlYWRlcmJvYXJkX2lkLicpIGZhaWxlZCcpOwogICAgICB9CiAgICB9CgogICAgLy8gc2VuZCBvdXQgdGhlIGV2ZW50LgogICAgJHBhcm1zID0gYXJyYXkoJ2JhZGdlJz0+JGJhZGdlLCd1aWQnPT4kdWlkKTsKICAgIGNnc2FfdXRpbHM6OnNlbmRfZXZlbnQoJ09uQmFkZ2VSZXZva2VkJywkcGFybXMpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBhZGRfYmFkZ2VfbWVtYmVyKGNnc2FfYmFkZ2UmICRiYWRnZSwkdWlkKQogIHsKICAgIC8vIGFkZCB0aGUgdXNlciB0byB0aGUgZGF0YWJhc2UKICAgICRiYWRnZS0+YWRkX21lbWJlcigkdWlkKTsKICAgIAogICAgLy8gc2VuZCBvdXQgYSBub3RpZmljYXRpb24uCiAgICAkbm90aWZpZXIgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHTm90aWZpZXInKTsKICAgICRjZ3NhID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NvY2lhbEFwcCcpOwogICAgaWYoICRub3RpZmllciAmJiAkYmFkZ2UtPm5vdGlmeV9wcmlvcml0eSA+IDAgKSB7CgogICAgICAkbXNnID0gbmV3IG5vdGlmaWNhdGlvbl9tZXNzYWdlKCk7CiAgICAgICRtc2ctPm1vZHVsZSA9ICRjZ3NhLT5HZXROYW1lKCk7CiAgICAgIGlmKCAkYmFkZ2UtPm5vdGlmeV90byA9PSAndXNlcicgKSAkbXNnLT50byA9ICR1aWQ7CiAgICAgICRtc2ctPnN1YmplY3QgPSAkYmFkZ2UtPm5vdGlmeV9zdWJqZWN0OwogICAgICAkbXNnLT5wcmlvcml0eSA9ICRiYWRnZS0+bm90aWZ5X3ByaW9yaXR5OwogICAgICAKICAgICAgJHNtYXJ0eSA9IGNtc191dGlsczo6Z2V0X3NtYXJ0eSgpOwogICAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgICRzbWFydHktPmFzc2lnbignYWN0aW9uJywnZ3JhbnRlZCcpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2JhZGdlJywkYmFkZ2UpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3VpZCcsJHVpZCk7CiAgICAgICRzbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCRmZXUtPkdldFVzZXJOYW1lKCR1aWQpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdlbWFpbCcsJGZldS0+R2V0RW1haWwoJHVpZCkpOwogICAgICAkbXNnLT5ib2R5ID0gJG5vdGlmaWVyLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkYmFkZ2UtPm5vdGlmeV90cGwpOwoKICAgICAgJHJlcyA9ICRub3RpZmllci0+bm90aWZ5KCRtc2cpOwogICAgICBpZiggISRyZXMgKSB7CglhdWRpdCgnJywkY2dzYS0+R2V0TmFtZSgpLCdOb3RpZmljYXRpb24gZm9yIGJhZGdlICcuJGJhZGdlLT5uYW1lLicgbGVhZGVyYm9hcmQgKCcuJGJhZGdlLT5sZWFkZXJib2FyZF9pZC4nKSBmYWlsZWQnKTsKICAgICAgfQogICAgICBlbHNlIHsKCWF1ZGl0KCcnLCRjZ3NhLT5HZXROYW1lKCksJ05vdGlmaWNhdGlvbiBzZW50IGZvciBiYWRnZSAnLiRiYWRnZS0+bmFtZS4nIGxlYWRlcmJvYXJkICgnLiRiYWRnZS0+bGVhZGVyYm9hcmRfaWQuJykgZmFpbGVkJyk7CiAgICAgIH0KICAgIH0KCiAgICAvLyBzZW5kIG91dCB0aGUgZXZlbnQuCiAgICAkcGFybXMgPSBhcnJheSgnYmFkZ2UnPT4kYmFkZ2UsJ3VpZCc9PiR1aWQpOwogICAgY2dzYV91dGlsczo6c2VuZF9ldmVudCgnT25CYWRnZUF3YXJkZWQnLCRwYXJtcyk7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_checkin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmdW5jdGlvbiBzZXJpYWxpemVfbm90ZW1wdHkoJGRhdGEpCnsKICAkcmVzID0gbnVsbDsKICBpZiggKGlzX2FycmF5KCRkYXRhKSAmJiBjb3VudCgkZGF0YSkpIHx8IChpc19zdHJpbmcoJGRhdGEpICYmICRkYXRhICE9ICcnKSApIHsKICAgICRyZXMgPSBzZXJpYWxpemUoJGRhdGEpOwogIH0KICByZXR1cm4gJHJlczsKfQoKY2xhc3MgY2dzYV9jaGVja2luCnsKICBwcml2YXRlIHN0YXRpYyAkX2tleXMgPSBhcnJheSgnaWQnLCdvYmlkJywnb3duZXInLCdwYXJlbnRfaWQnLCdsb2NhdGlvbicsJ2FjdGl2aXR5JywnbXNnJywnbGF0JywnbG5nJywnY3JlYXRlZCcsJ2FwcHJvdmVkJywnZGF0YScsJ3Byb2Nlc3NlZCcpOwogIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoKTsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRwYXJhbXMgPSAnJykKICB7CiAgICBpZiggIWlzX2FycmF5KCRwYXJhbXMpICkgcmV0dXJuOwogICAgJHRoaXMtPl9idWlsZF9mcm9tX2FycmF5KCRwYXJhbXMpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgewogICAgaWYoICRrZXkgPT0gJ29iaWQnICkgewogICAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnb2JpZCddKSB8fCAkdGhpcy0+X2RhdGFbJ29iaWQnXSA9PSAnJyApIHsKCSR0aGlzLT5fZGF0YVsnb2JpZCddID0gc3RyX3JlcGxhY2UoJy4nLCdfJyx1bmlxaWQoJ2MnLHRydWUpKTsKICAgICAgfQogICAgfQoKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ29iaWQnOgogICAgY2FzZSAnb3duZXInOgogICAgY2FzZSAncGFyZW50X2lkJzoKICAgIGNhc2UgJ2xvY2F0aW9uJzoKICAgIGNhc2UgJ2FjdGl2aXR5JzoKICAgIGNhc2UgJ21zZyc6CiAgICBjYXNlICdsYXQnOgogICAgY2FzZSAnbG5nJzoKICAgIGNhc2UgJ2NyZWF0ZWQnOgogICAgY2FzZSAnYXBwcm92ZWQnOgogICAgY2FzZSAncHJvY2Vzc2VkJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICBicmVhazsKCiAgICBjYXNlICdmaWxlcyc6CiAgICAgICRrZXkgPSAnZXh0cmFfJy4ka2V5OwogICAgICAvLyBmYWxsIHRocm91Z2guCgogICAgZGVmYXVsdDoKICAgICAgaWYoIHN0YXJ0c3dpdGgoJGtleSwnZXh0cmFfJykgKSB7CglpZiggaXNfYXJyYXkoJHRoaXMtPl9kYXRhWydkYXRhJ10pICYmIGlzc2V0KCR0aGlzLT5fZGF0YVsnZGF0YSddWyRrZXldKSApIHJldHVybiAkdGhpcy0+X2RhdGFbJ2RhdGEnXVska2V5XTsKICAgICAgfQogICAgICBlbHNlIHsKCXRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0F0dGVtcHQgdG8gcmV0cmlldmUgaW52YWxpZCBmaWVsZCAnLiRrZXkuJyBmcm9tIGNnc2FfY2hlY2tpbiBvYmplY3QnKTsKICAgICAgfQogICAgICBicmVhazsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWx1ZSkKICB7CiAgICBpZiggJGtleSA9PSAnaWQnICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBzZXQgaWQgaW50byBjZ3NhX2FjdGl2aXR5IG9iamVjdCcpOwogICAgaWYoICRrZXkgPT0gJ29iaWQnICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBzZXQgb2JpZCBpbnRvIGNnc2FfYWN0aXZpdHkgb2JqZWN0Jyk7CgogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnaWQnOgogICAgY2FzZSAnb2JpZCc6CiAgICBjYXNlICdvd25lcic6CiAgICBjYXNlICdwYXJlbnRfaWQnOgogICAgY2FzZSAnbG9jYXRpb24nOgogICAgY2FzZSAnYWN0aXZpdHknOgogICAgY2FzZSAnbXNnJzoKICAgIGNhc2UgJ2xhdCc6CiAgICBjYXNlICdsbmcnOgogICAgY2FzZSAnY3JlYXRlZCc6CiAgICBjYXNlICdhcHByb3ZlZCc6CiAgICBjYXNlICdwcm9jZXNzZWQnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2ZpbGVzJzoKICAgICAgJGtleSA9ICdleHRyYV8nLiRrZXk7CiAgICAgIC8vIGZhbGwgdGhyb3VnaC4KCiAgICBkZWZhdWx0OgogICAgICBpZiggc3RhcnRzd2l0aCgka2V5LCdleHRyYV8nKSApIHsKCWlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydkYXRhJ10pIHx8ICFpc19hcnJheSgkdGhpcy0+X2RhdGFbJ2RhdGEnXSkgKSAkdGhpcy0+X2RhdGFbJ2RhdGEnXSA9IGFycmF5KCk7CgkkdGhpcy0+X2RhdGFbJ2RhdGEnXVska2V5XSA9ICR2YWx1ZTsKCXJldHVybjsKICAgICAgfQogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHNldCBpbnZhbGlkIGZpZWxkICcuJGtleS4nIGludG8gY2dzYV9jaGVja2luIG9iamVjdCcpOwogICAgfQogICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9faXNzZXQoJGtleSkKICB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdvYmlkJzoKICAgIGNhc2UgJ293bmVyJzoKICAgIGNhc2UgJ3BhcmVudF9pZCc6CiAgICBjYXNlICdsb2NhdGlvbic6CiAgICBjYXNlICdhY3Rpdml0eSc6CiAgICBjYXNlICdtc2cnOgogICAgY2FzZSAnbGF0JzoKICAgIGNhc2UgJ2xuZyc6CiAgICBjYXNlICdjcmVhdGVkJzoKICAgIGNhc2UgJ2FwcHJvdmVkJzoKICAgIGNhc2UgJ3Byb2Nlc3NlZCc6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIGlmKCBzdGFydHN3aXRoKCRrZXksJ2V4dHJhXycpICkgewogICAgICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X2RhdGFbJ2RhdGEnXSkgJiYgaXNzZXQoJHRoaXMtPl9kYXRhWydkYXRhJ11bJGtleV0pICkgcmV0dXJuIFRSdUU7CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgaWYoICFpbl9hcnJheSgka2V5LHNlbGY6OiRfa2V5cykgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHJldHJpZXZlIGludmFsaWQga2V5ICcuJGtleS4nIGZyb20gY2dzYV9jaGVja2luIG9iamVjdCcpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoJGRlZXAgPSBmYWxzZSkKICB7CiAgICBpZiggJHRoaXMtPm93bmVyID09ICcnIHx8ICR0aGlzLT5tc2cgPT0gJycgfHwgJHRoaXMtPmxvY2F0aW9uID09ICcnICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignY2dzYV9jaGVja2luIG9iamVjdCBkb2VzIG5vdCB2YWxpZGF0ZScpOwoKICAgIGlmKCAkZGVlcCApIHRocm93IG5ldyBFeGNlcHRpb24oJ2Nnc2FfY2hlY2tpbiBvYmplY3QgZG9lcyBub3QgdmFsaWRhdGUgKGRlZXAgdmFsaWRhdGlvbiBmYWlsZWQnKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiB0YWdfdXNlcigkbWl4ZWRfaW4pCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ3VzZXJ0YWdzJ10pICkgJHRoaXMtPl9kYXRhWyd1c2VydGFncyddID0gYXJyYXkoKTsKCiAgICAkbWl4ZWQgPSBhcnJheSgpOwogICAgaWYoICFpc19hcnJheSgkbWl4ZWRfaW4pICkgewogICAgICAkdG1wID0gZXhwbG9kZSgnLCcsJG1peGVkX2luKTsKICAgICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgewoJZm9yZWFjaCggJHRtcCBhcyAkdCApIHsKCSAgJHQgPSAoaW50KXRyaW0oJHQpOwoJICBpZiggJHQgPj0gMCApICRtaXhlZFtdID0gJHQ7Cgl9CiAgICAgIH0KICAgIH0KICAgIGVsc2UgewogICAgICAkbWl4ZWQgPSAkbWl4ZWRfaW47CiAgICB9CiAgICAKICAgICRuID0gMDsKICAgIGZvcmVhY2goICRtaXhlZCBhcyAkb25ldXNlciApIHsKICAgICAgLy8gdmFsaWQgdXNlcj8KICAgICAgJG9uZXVzZXIgPSAoaW50KSRvbmV1c2VyOwogICAgICBpZiggJG9uZXVzZXIgPD0gMCApIGNvbnRpbnVlOwogICAgICBpZiggIWluX2FycmF5KCRvbmV1c2VyLCR0aGlzLT5fZGF0YVsndXNlcnRhZ3MnXSkgKSB7CgkkdGhpcy0+X2RhdGFbJ3VzZXJ0YWdzJ11bXSA9ICRvbmV1c2VyOwoJJG4rKzsKICAgICAgfQogICAgfQogICAgcmV0dXJuICRuOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF90YWdnZWRfdXNlcnMoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ3VzZXJ0YWdzJ10pICkgewogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWyd1c2VydGFncyddOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgICR0aGlzLT52YWxpZGF0ZSgpOwoKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSB8fCAkdGhpcy0+X2RhdGFbJ2lkJ10gPCAxICkgcmV0dXJuICR0aGlzLT5faW5zZXJ0KCk7CiAgICByZXR1cm4gJHRoaXMtPl91cGRhdGUoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKQogIHsKICAgIGlmKCAhJHRoaXMtPmlkICkgcmV0dXJuOwoKICAgIC8vIGNhbiBvbmx5IGRlbGV0ZSBpZiBpdGVtIGRvZXMgbm90IGhhdmUgY2hpbGRyZW4uCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBwYXJlbnRfaWQgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXMtPmlkKSk7CiAgICBpZiggJHRtcCApIHJldHVybiBGQUxTRTsKCiAgICAvLyBzZW5kIGFuIGV2ZW50CiAgICBjZ3NhX3V0aWxzOjpzZW5kX2V2ZW50KCdQcmVEZWxldGVDaGVja2luJyxhcnJheSgnY2hlY2tpbic9PiR0aGlzKSk7CgogICAgLy8gZGVsZXRlIGFueSBmaWxlcwogICAgaWYoIGlzX2FycmF5KCR0aGlzLT5kYXRhKSAmJiBpc19hcnJheSgkdGhpcy0+ZGF0YVsnZmlsZXMnXSkgJiYgY291bnQoJHRoaXMtPmRhdGFbJ2ZpbGVzJ10pICkgewogICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU29jaWFsQXBwJyk7CiAgICAgIGZvcmVhY2goICR0aGlzLT5kYXRhWydmaWxlcyddIGFzICRmaWxlICkgewoJJGZpbGVzID0gZ2xvYihjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdfJy4kbW9kLT5HZXROYW1lKCksJyonLiRmaWxlKSk7CglpZiggaXNfYXJyYXkoJGZpbGVzKSAmJiBjb3VudCgkZmlsZXMpICkgewoJICBmb3JlYWNoKCRmaWxlcyBhcyAkb25lKSB7CgkgICAgQHVubGluaygkb25lKTsKCSAgfQoJfQogICAgICB9CiAgICB9CgogICAgLy8gZGVsZXRlIHRoZSBpdGVtLgogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBpZCA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+aWQpKTsKCiAgICAvLyBsb2cgaXQKICAgIGNnc2FfbG9nOjphZGQoJ2NoZWNraW5zJywnQ2hlY2tpbiBkZWxldGVkICcsbnVsbCwkdGhpcy0+aWQpOwoKICAgIC8vIHNlbmQgYW4gZXZlbnQKICAgIGNnc2FfdXRpbHM6OnNlbmRfZXZlbnQoJ1Bvc3REZWxldGVDaGVja2luJyxhcnJheSgnY2hlY2tpbl9pZCc9PiR0aGlzLT5pZCkpOwoKICAgIC8vIGFuZCBkb25lLgogICAgdW5zZXQoJHRoaXMtPl9kYXRhWydpZCddKTsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgcHJpdmF0ZSBmdW5jdGlvbiBfaW5zZXJ0KCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICRub3cgPSB0aW1lKCk7CiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5DR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUy4iIChwYXJlbnRfaWQsIG9iaWQsIG93bmVyLCBsb2NhdGlvbiwgYWN0aXZpdHksIGxhdCwgbG5nLCBtc2csIGNyZWF0ZWQsIGFwcHJvdmVkLCBwcm9jZXNzZWQsIGRhdGEpCiAgICAgIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LCRub3csPyw/LD8pIjsKICAgICR0bXAgPSBudWxsOwogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnZGF0YSddKSApICR0bXAgPSAkdGhpcy0+X2RhdGFbJ2RhdGEnXTsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5wYXJlbnRfaWQsJHRoaXMtPm9iaWQsJHRoaXMtPm93bmVyLCR0aGlzLT5sb2NhdGlvbiwkdGhpcy0+YWN0aXZpdHksCgkJCQkgICAgICR0aGlzLT5sYXQsJHRoaXMtPmxuZywkdGhpcy0+bXNnLCR0aGlzLT5hcHByb3ZlZCwKCQkJCSAgICAgJHRoaXMtPnByb2Nlc3NlZCxzZXJpYWxpemVfbm90ZW1wdHkoJHRtcCkpKTsKICAgIGlmKCAhJGRiciApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zZXJ0IG9mIGNoZWNraW4gZmFpbGVkICcuJGRiLT5zcWwuJyAtLSAnLiRkYi0+RXJyb3JNc2coKSk7CiAgICB9CiAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwoKICAgIC8vICBsb2cgaXQKICAgIGNnc2FfbG9nOjphZGQoJ2NoZWNraW5zJywnQ2hlY2tpbiBhZGRlZCcsJHRoaXMtPm93bmVyLCR0aGlzLT5fZGF0YVsnaWQnXSk7CgogICAgLy8gc2VuZCBhbiBldmVudAogICAgY2dzYV91dGlsczo6c2VuZF9ldmVudCgnT25DaGVja2luJyxhcnJheSgnY2hlY2tpbic9PiR0aGlzKSk7CgogICAgcmV0dXJuIFRSVUU7CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIF91cGRhdGUoKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAKICAgICRxdWVyeSA9ICdVUERBVEUgJy5DR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUy4nCiAgICAgICAgICAgICAgU0VUIHBhcmVudF9pZCA9ID8sIG93bmVyID0gPywgbG9jYXRpb24gPSA/LCBhY3Rpdml0eSA9ID8sIG1zZyA9ID8sIGRhdGEgPSA/LCBhcHByb3ZlZCA9ID8sIHByb2Nlc3NlZCA9ID8KICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCWFycmF5KCR0aGlzLT5wYXJlbnRfaWQsJHRoaXMtPm93bmVyLCR0aGlzLT5sb2NhdGlvbiwkdGhpcy0+YWN0aXZpdHksCgkJCSAgICAgICR0aGlzLT5tc2csc2VyaWFsaXplX25vdGVtcHR5KCR0aGlzLT5fZGF0YVsnZGF0YSddKSwKCQkJICAgICAgJHRoaXMtPmFwcHJvdmVkLCR0aGlzLT5wcm9jZXNzZWQsJHRoaXMtPmlkKSk7CiAgICBpZiggISRkYnIgKSB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1VwZGF0ZSBvZiBjaGVja2luIGZhaWxlZCAnKTsKICAgIH0KCiAgICAvLyB0b2RvOiBsb2cgaXQKICAgIGNnc2FfbG9nOjphZGQoJ2NoZWNraW5zJywnQ2hlY2tpbiBtb2RpZmllZCcsJHRoaXMtPm93bmVyLCR0aGlzLT5pZCk7CgogICAgLy8gdG9kbzogc2VuZCBldmVudAogICAgY2dzYV91dGlsczo6c2VuZF9ldmVudCgnT25VcGRhdGVDaGVja2luJyxhcnJheSgnY2hlY2tpbicsJHRoaXMpKTsKCiAgICByZXR1cm4gVFJVRTsKICB9CgoKICAvLyBsb2FkIGEgc2luZ2xlIG1lc3NhZ2UKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZsb2FkX2J5X2lkKCRpZCwkYXNfYXJyYXkgPSBGQUxTRSkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQ0hFQ0tJTlMuJyBXSEVSRSBpZCA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgoaW50KSRpZCkpOwogICAgaWYoICFpc19hcnJheSgkcm93KSApIHJldHVybjsKCiAgICBpZiggaXNzZXQoJHJvd1snZGF0YSddKSAmJiAkcm93WydkYXRhJ10gIT0gJycgKSAkcm93WydkYXRhJ10gPSB1bnNlcmlhbGl6ZSgkcm93WydkYXRhJ10pOwogICAgaWYoICRhc19hcnJheSApIHJldHVybiAkcm93OwogICAgJG9iaiA9IHNlbGY6OmxvYWRfZnJvbV9hcnJheSgkcm93KTsKICAgIHJldHVybiAkb2JqOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX2J1aWxkX2Zyb21fYXJyYXkoJGRhdGEpCiAgewogICAgZm9yZWFjaCggJGRhdGEgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgIGlmKCAka2V5ID09ICdkYXRhJyAmJiAhaXNfYXJyYXkoJHZhbHVlKSAmJiAkdmFsdWUgIT0gJycgKSAkdmFsdWUgPSB1bnNlcmlhbGl6ZSgkdmFsdWUpOwogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CiAgICB9CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZsb2FkX2Zyb21fYXJyYXkoJGRhdGEpCiAgewogICAgJG9iaiA9IG5ldyBjZ3NhX2NoZWNraW47CiAgICAkb2JqLT5fYnVpbGRfZnJvbV9hcnJheSgkZGF0YSk7CiAgICByZXR1cm4gJG9iajsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdG9fYXJyYXkoJG9iaikKICB7CiAgICBpZiggaXNfYXJyYXkoJG9iaikgKSByZXR1cm4gJG9iajsKCiAgICAkZGF0YSA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCBzZWxmOjokX2tleXMgYXMgJGtleSApIHsKICAgICAgaWYoICRrZXkgPT0gJ2RhdGEnICkgewoJJGRhdGFbJGtleV0gPSAkb2JqLT5fZGF0YVsnZGF0YSddOwogICAgICB9CiAgICAgIGVsc2UgewoJJGRhdGFbJGtleV0gPSAkb2JqLT4ka2V5OwogICAgICB9CiAgICB9CiAgICByZXR1cm4gJGRhdGE7CiAgfQoKICAvLyBsb2FkIGEgdGhyZWFkCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX2J5X3VzZXIoJHVpZCwkbGltaXQgPSA1MCwkb2Zmc2V0ID0gMCkKICB7CiAgICAvLyB1aWQgY2FuIGJlIGEgc2luZ2xlIHVzZXIuLi4gb3IgYW4gYXJyYXkgb2YgdWlkcwogICAgaWYoICFpc19hcnJheSgkdWlkKSAmJiBpc19udW1lcmljKCR1aWQpICkgewogICAgICAkdWlkID0gYXJyYXkoKGludCkkdWlkKTsKICAgIH0KCiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdWlkKTsgJGkrKyApIHsKICAgICAgJHVpZFskaV0gPSAoaW50KSR1aWRbJGldOwogICAgfQogICAgJHVpZCA9IGFycmF5X3VuaXF1ZSgkdWlkKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUy4nCiAgICAgICAgICAgICAgV0hFUkUgb3duZXIgSU4gKCcuaW1wbG9kZSgnLCcsJHVpZCkuJykKICAgICAgICAgICAgICBPUkRFUiBCWSBjcmVhdGVkIERFU0MnOwogICAgJGRiciA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5LCRsaW1pdCwkb2Zmc2V0KTsKICAgIGlmKCAhJGRiciApIHsKICAgICAgLy8gdG9kbzogdGhyb3cgYW4gZXhjZXB0aW9uCiAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgJHJlcyA9IGFycmF5KCk7CiAgICB3aGlsZSggISRkYnItPkVPRiApIHsKICAgICAgJHJlc1tdID0gc2VsZjo6bG9hZF9mcm9tX2FycmF5KCRkYnItPmZpZWxkcyk7CiAgICAgICRkYnItPk1vdmVOZXh0KCk7CiAgICB9CiAgICAkZGJyLT5DbG9zZSgpOwoKICAgIGlmKCBjb3VudCgkcmVzKSA9PSAxICkgcmV0dXJuICRyZXNbMF07CiAgICByZXR1cm4gJHJlczsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_checkin_pagination.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTIgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBjZ3NhX2NoZWNraW5fcGFnaW5hdGlvbiAKewogIHByaXZhdGUgJF9pZCA9ICdjZ3NhXyc7CiAgcHJpdmF0ZSAkX2FjdGlvbiA9ICdkZWZhdWx0JzsKICBwcml2YXRlICRfcmV0dXJuaWQ7CiAgcHJpdmF0ZSAkX3F1ZXJ5OwogIHByaXZhdGUgJF9yczsKICBwcml2YXRlICRfZXh0cmFwYXJtczsKICBwcml2YXRlICRfaW5saW5lOwogIHByaXZhdGUgJF9ucGFnZXM7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChjZ3NhX2NoZWNraW5fcXVlcnkgJHF1ZXJ5LCBjZ3NhX2NoZWNraW5fcmVzdWx0c2V0ICRycykKICB7CiAgICAkdGhpcy0+X3F1ZXJ5ID0gJHF1ZXJ5OwogICAgJHRoaXMtPl9ycyA9ICRyczsKICAgICR0aGlzLT5fcmV0dXJuaWQgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2NvbnRlbnRfaWQnKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfYWN0aW9uKCRhY3Rpb24pIAogIHsKICAgIGlmKCAkYWN0aW9uICkgJHRoaXMtPl9hY3Rpb24gPSAkYWN0aW9uOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldF9leHRyYXBhcmFtcygkcGFyYW1zKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHBhcmFtcykgKSByZXR1cm47CgogICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2V4dHJhcGFybXMpICkgJHRoaXMtPl9leHRyYXBhcm1zID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgIGlmKCBpc19udW1lcmljKCRrZXkpICkgY29udGludWU7CiAgICAgIGlmKCBpc19vYmplY3QoJHZhbHVlKSB8fCBpc19hcnJheSgkdmFsdWUpICkgY29udGludWU7CiAgICAgICR0aGlzLT5fZXh0cmFwYXJtc1ska2V5XSA9ICR2YWx1ZTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiByZXNldF9leHRyYXBhcmFtcygpCiAgewogICAgJHRoaXMtPl9leHRyYXBhcm1zID0gbnVsbDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfaW5saW5lKCRmbGFnID0gVFJVRSkKICB7CiAgICAkdGhpcy0+X2lubGluZSA9ICRmbGFnOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wYWdlX2NvdW50KCkKICB7CiAgICBpZiggaXNfbnVsbCgkdGhpcy0+X25wYWdlcykgKSB7CiAgICAgICRuaXRlbXMgPSAkdGhpcy0+X3JzLT5nZXRfZm91bmRfcm93cygpOwogICAgICAkbGltaXQgPSAkdGhpcy0+X3F1ZXJ5WydsaW1pdCddOwogICAgICAKICAgICAgJG5wYWdlcyA9IChpbnQpKCRuaXRlbXMgLyAkbGltaXQpOwogICAgICBpZiggJG5pdGVtcyAlICRsaW1pdCApICRucGFnZXMrKzsKCiAgICAgICR0aGlzLT5fbnBhZ2VzID0gJG5wYWdlczsKICAgIH0KICAgIHJldHVybiAkdGhpcy0+X25wYWdlczsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfY3VycmVudF9wYWdlKCkKICB7CiAgICAkbyA9IChpbnQpJHRoaXMtPl9xdWVyeVsnb2Zmc2V0J107CiAgICAkcGFnZSA9IChpbnQpKCRvIC8gJHRoaXMtPl9xdWVyeVsnbGltaXQnXSkgKyAxOwogICAgcmV0dXJuICRwYWdlOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wYWdlbGltaXQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3F1ZXJ5WydsaW1pdCddOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF9maXJzdHBhZ2VfdXJsKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmdldF9wYWdlX3VybCgxKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfcHJldnBhZ2VfdXJsKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmdldF9wYWdlX3VybCgkdGhpcy0+Z2V0X2N1cnJlbnRfcGFnZSgpLTEpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmV4dHBhZ2VfdXJsKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmdldF9wYWdlX3VybCgkdGhpcy0+Z2V0X2N1cnJlbnRfcGFnZSgpKzEpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfbGFzdHBhZ2VfdXJsKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmdldF9wYWdlX3VybCgkdGhpcy0+Z2V0X3BhZ2VfY291bnQoKSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BhZ2VfdXJsKCRwYWdlbnVtKQogIHsKICAgICRwYWdlbnVtID0gKGludCkkcGFnZW51bTsKICAgICRwYWdlbnVtID0gbWF4KDEsJHBhZ2VudW0pOwogICAgJHBhZ2VudW0gPSBtaW4oJHBhZ2VudW0sJHRoaXMtPmdldF9wYWdlX2NvdW50KCkpOwogICAgJHBhcm1zID0gJHRoaXMtPl9xdWVyeS0+Z2V0X3BhcmFtcygpOwogICAgJHBhcm1zWydvZmZzZXQnXSA9ICgkcGFnZW51bSAtIDEpICogJHRoaXMtPl9xdWVyeVsnbGltaXQnXTsKCiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NvY2lhbEFwcCcpOwogICAgJHVybCA9ICRtb2QtPmNyZWF0ZV91cmwoJHRoaXMtPl9pZCwkdGhpcy0+X2FjdGlvbiwkdGhpcy0+X3JldHVybmlkLCRwYXJtcywkdGhpcy0+X2lubGluZSk7CiAgICByZXR1cm4gJHVybDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfcGFnZV9saW5rKCRwYWdlbnVtLCR0ZXh0KQogIHsKICAgICRwYWdlbnVtID0gKGludCkkcGFnZW51bTsKICAgICRwYWdlbnVtID0gbWF4KDEsJHBhZ2VudW0pOwogICAgJHBhZ2VudW0gPSBtaW4oJHBhZ2VudW0sJHRoaXMtPmdldF9wYWdlX2NvdW50KCkpOwogICAgJHBhcm1zID0gJHRoaXMtPl9xdWVyeS0+Z2V0X3BhcmFtcygpOwogICAgaWYoIGlzX2FycmF5KCR0aGlzLT5fZXh0cmFwYXJtcykgKSB7CiAgICAgICRwYXJtcyA9IGFycmF5X21lcmdlKCR0aGlzLT5fZXh0cmFwYXJtcywkcGFybXMpOwogICAgfQogICAgJHBhcm1zWydvZmZzZXQnXSA9ICgkcGFnZW51bSAtIDEpICogJHRoaXMtPl9xdWVyeVsnbGltaXQnXTsKICAgIAogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTb2NpYWxBcHAnKTsKICAgICRsaW5rID0gJG1vZC0+Q3JlYXRlTGluaygkdGhpcy0+X2lkLCR0aGlzLT5fYWN0aW9uLCR0aGlzLT5fcmV0dXJuaWQsJHRleHQsJHBhcm1zLCcnLGZhbHNlLCR0aGlzLT5faW5saW5lKTsKICAgIHJldHVybiAkbGluazsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_checkin_query.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ3NhX2NoZWNraW5fcXVlcnkgaW1wbGVtZW50cyBBcnJheUFjY2Vzcwp7CiAgcHJpdmF0ZSBzdGF0aWMgJF9rZXlzID0gYXJyYXkoJ2xvY2F0aW9uJywnYWN0aXZpdHknLCdhY3Rpdml0eXBhcmVudCcsJ3RpbWVsaW1pdCcsJ293bmVyJywnb3duZXJzJywnbGltaXQnLCdvZmZzZXQnLCdzb3J0YnknLCdzb3J0b3JkZXInLCdhcHByb3ZlZCcpOwogIHByaXZhdGUgc3RhdGljICRfc29ydGluZ3MgPSBhcnJheSgnaWQnLCdvd25lcicsJ2xvY2F0aW9uJywnYWN0aXZpdHknLCdhY3Rpdml0eXBhcmVudCcsJ2NyZWF0ZWQnKTsKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3NvcnRieSddID0gJ2NyZWF0ZWQnOwogICAgJHRoaXMtPl9kYXRhWydzb3J0b3JkZXInXSA9ICdERVNDJzsKICAgICR0aGlzLT5fZGF0YVsnb2Zmc2V0J10gPSAwOwogICAgJHRoaXMtPl9kYXRhWydsaW1pdCddID0gNTAwOwoKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICR0aGlzWyRrZXldID0gJHZhbHVlOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgka2V5KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHJldHJpZXZlIGludmFsaWQgdmFsdWUgZnJvbSBjZ3NhX2NoZWNraW5fcXVlcnknKTsKICAgIH0KICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJGtleSwkdmFsdWUpCiAgewogICAgaWYoICFpbl9hcnJheSgka2V5LHNlbGY6OiRfa2V5cykgKSB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gc2V0IGludmFsaWQga2V5IGludG8gY2dzYV9jaGVja2luX3F1ZXJ5OiAnLiRrZXkpOwogICAgfQoKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2FwcHJvdmVkJzoKICAgICAgJHZhbHVlID0gY2dlX3V0aWxzOjp0b19ib29sKCR2YWx1ZSk7CiAgICAgIGlmKCAkdmFsdWUgKSAKCSR2YWx1ZSA9IDE7CiAgICAgIGVsc2UKCSR2YWx1ZSA9IDA7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbG9jYXRpb24nOgogICAgICAvLyBhY2NlcHRzIGEgc2luZ2xlIHBvc2l0aXZlIGludGVnZXIsIG9yIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcG9zaXRpdmUgaW50ZWdlcnMsIG9yIGV2ZW4gYW4gYXJyYXkgb2YgaW50ZWdlcnMKICAgICAgaWYoIGlzX2ludCgkdmFsdWUpICkgewoJJHZhbHVlID0gYXJyYXkoJHZhbHVlKTsKICAgICAgfQogICAgICBlbHNlIGlmKCBpc19zdHJpbmcoJHZhbHVlKSApIHsKCSR2YWx1ZSA9IGV4cGxvZGUoJywnLCR2YWx1ZSk7CiAgICAgIH0KICAgICAgaWYoIGlzX2FycmF5KCR2YWx1ZSkgJiYgY291bnQoJHZhbHVlKSApIHsKCSR0bXAgPSBhcnJheSgpOwoJZm9yZWFjaCggJHZhbHVlIGFzICRvbmUgKSB7CgkgICRvbmUgPSAoaW50KSRvbmU7CgkgIGlmKCAkb25lID4gMCApICR0bXBbXSA9ICRvbmU7Cgl9CglpZiggY291bnQoJHRtcCkgKSAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdG1wOwogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2FjdGl2aXR5JzoKICAgIGNhc2UgJ2FjdGl2aXR5cGFyZW50JzoKICAgICAgJHZhbHVlID0gKGludCkkdmFsdWU7CiAgICAgICR2YWx1ZSA9IG1heCgxLCR2YWx1ZSk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAndGltZWxpbWl0JzoKICAgICAgLy8gcG9zaXRpdmUgdmFsdWUgaXMgYWJzb2x1dGUgdGltZSBmcm9tIGVwb2NoCiAgICAgIC8vIG5lZ2F0aXZlIHZhbHVlIGlzIHJlbGF0aXZlIHRvIG5vdy4KICAgICAgJHZhbHVlID0gKGludCkkdmFsdWU7CiAgICAgIGlmKCAkdmFsdWUgPCAwICkgJHZhbHVlID0gdGltZSgpIC0gKCR2YWx1ZSAqIC0xKTsKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogICAgICBicmVhazsKCiAgICBjYXNlICdsaW1pdCc6CiAgICAgICR2YWx1ZSA9IChpbnQpJHZhbHVlOwogICAgICAkdmFsdWUgPSBtYXgoMSwkdmFsdWUpOwogICAgICAkdmFsdWUgPSBtaW4oMTAwMDAsJHZhbHVlKTsKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogICAgICBicmVhazsKCiAgICBjYXNlICdvZmZzZXQnOgogICAgICAkdmFsdWUgPSAoaW50KSR2YWx1ZTsKICAgICAgJHZhbHVlID0gbWF4KDAsJHZhbHVlKTsKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogICAgICBicmVhazsKCiAgICBjYXNlICdzb3J0YnknOgogICAgICBpZiggIWluX2FycmF5KCR2YWx1ZSxzZWxmOjokX3NvcnRpbmdzKSApIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gc2V0IGludmFsaWQgc29ydGluZyBpbnRvIGNnc2FfY2hlY2tpbl9xdWVyeTogJy4kdmFsdWUpOwogICAgICB9CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnc29ydG9yZGVyJzoKICAgICAgc3dpdGNoKCBzdHJ0b3VwcGVyKCR2YWx1ZSkgKSB7CiAgICAgIGNhc2UgJ0FTQyc6CiAgICAgIGNhc2UgJ0RFU0MnOgoJJHZhbHVlID0gc3RydG91cHBlcigkdmFsdWUpOwoJJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwoJYnJlYWs7CgogICAgICBkZWZhdWx0OgoJdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBzZXQgaW52YWxpZCBzb3J0IG9yZGVyIGludG8gY2dzYV9jaGVja2luX3F1ZXJ5Jyk7CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSAnb3duZXInOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydvd25lcnMnXSkgKSB1bnNldCgkdGhpcy0+X2RhdGFbJ293bmVycyddKTsKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogICAgICBicmVhazsKCiAgICBjYXNlICdvd25lcnMnOgogICAgICBpZiggaXNfYXJyYXkoJHZhbHVlKSAmJiBjb3VudCgkdmFsdWUpICkgewoJaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnb3duZXInXSkgKSB1bnNldCgkdGhpcy0+X2RhdGFbJ293bmVyJ10pOwoJJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogICAgICB9CiAgICAgIGJyZWFrOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygka2V5KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHJldHJpZXZlIGludmFsaWQgdmFsdWUgZnJvbSBjZ3NhX2NoZWNraW5fcXVlcnknKTsKICAgIH0KICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJGtleSkKICB7CiAgICBpZiggIWluX2FycmF5KCRrZXksc2VsZjo6JF9rZXlzKSApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBzZXQgaW52YWxpZCBrZXkgaW50byBjZ3NhX2NoZWNraW5fcXVlcnknKTsKICAgIH0KICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgdW5zZXQoJHRoaXMtPl9kYXRhWyRrZXldKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfcGFyYW1zKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9kYXRhOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uICZleGVjdXRlKCkKICB7CiAgICAkcnMgPSBuZXcgY2dzYV9jaGVja2luX3Jlc3VsdHNldCgkdGhpcyk7CiAgICByZXR1cm4gJHJzOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_checkin_resultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTIgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBjZ3NhX2NoZWNraW5fcmVzdWx0c2V0CnsKICBwcml2YXRlICRfcXVlcnk7CiAgcHJpdmF0ZSAkX2V4ZWN1dGVkOwogIHByaXZhdGUgJF9yczsKICBwcml2YXRlICRfZm91bmRfcm93czsKCgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChjZ3NhX2NoZWNraW5fcXVlcnkgJHF1ZXJ5KQogIHsKICAgICR0aGlzLT5fcXVlcnkgPSAkcXVlcnk7CiAgICAkdGhpcy0+X2V4ZWN1dGUoKTsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF9leGVjdXRlKCkKICB7CiAgICAkcXVlcnkgPSAkdGhpcy0+X3F1ZXJ5OwogICAgZGVidWdfdG9fbG9nKCRxdWVyeSwnY2hlY2tpbiBxdWVyeScpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkc3FsID0gJ1NFTEVDVCBTUUxfQ0FMQ19GT1VORF9ST1dTIGNpLiogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0NIRUNLSU5TLicgY2knOwogICAgJHdoZXJlID0gYXJyYXkoKTsKICAgICRxcGFybXMgPSBhcnJheSgpOwoKICAgIC8vIGJ1aWxkIHRoZSBxdWVyeQogICAgaWYoIGlzX2FycmF5KCRxdWVyeVsnbG9jYXRpb24nXSkgJiYgY291bnQoJHF1ZXJ5Wydsb2NhdGlvbiddKSApIHsKICAgICAgJHdoZXJlW10gPSAnY2kubG9jYXRpb24gSU4gKCcuaW1wbG9kZSgnLCcsJHF1ZXJ5Wydsb2NhdGlvbiddKS4nKSc7CiAgICB9CgogICAgaWYoICRxdWVyeVsnYWN0aXZpdHknXSA+IDAgKSB7CiAgICAgICR3aGVyZVtdID0gJ2NpLmFjdGl2aXR5ICA9ID8nOwogICAgICAkcXBhcm1zW10gPSAkcXVlcnlbJ2FjdGl2aXR5J107CiAgICB9CiAgICBlbHNlIGlmKCAkcXVlcnlbJ2FjdGl2aXR5cGFyZW50J10gPiAwICkgewogICAgICAkdHF1ZXJ5ID0gJ1NFTEVDVCBoaWVyYXJjaHkgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0FDVElWSVRJRVMuJyBXSEVSRSBpZCA9ID8nOwogICAgICAkdG1wMiA9ICRkYi0+R2V0T25lKCR0cXVlcnksYXJyYXkoKGludCkkcXVlcnlbJ2FjdGl2aXR5cGFyZW50J10pKTsKICAgICAgaWYoICR0bXAyICkgewoJJHNxbC49ICcgTEVGVCBKT0lOICcuQ0dTT0NJQUxfVEFCTEVfQUNUSVZJVElFUy4nIGNhIE9OIGNpLmFjdGl2aXR5ID0gY2EuaWQnOwogICAgICAgICR3aGVyZVtdID0gJ2NhLmhpZXJhcmNoeSBMSUtFID8nOwoJJHFwYXJtc1tdID0gJHRtcDIuJyUnOwogICAgICB9CiAgICB9CgogICAgaWYoICRxdWVyeVsndGltZWxpbWl0J10gPiAwICkgewogICAgICAkd2hlcmVbXSA9ICdjaS5jcmVhdGVkID4gPyc7CiAgICAgICRxcGFybXNbXSA9ICRxdWVyeVsndGltZWxpbWl0J107CiAgICB9CgogICAgaWYoICRxdWVyeVsnYXBwcm92ZWQnXSApIHsKICAgICAgJHdoZXJlW10gPSAnY2kuYXBwcm92ZWQgPSA/JzsKICAgICAgJHFwYXJtc1tdID0gJHF1ZXJ5WydhcHByb3ZlZCddOwogICAgfQoKICAgIGlmKCAkcXVlcnlbJ293bmVyJ10gIT0gJycgKSB7CiAgICAgICR3aGVyZVtdID0gJ2NpLm93bmVyID0gPyc7CiAgICAgICRxcGFybXNbXSA9ICRxdWVyeVsnb3duZXInXTsKICAgIH0KICAgIGVsc2VpZiggaXNfYXJyYXkoJHF1ZXJ5Wydvd25lcnMnXSkgJiYgY291bnQoJHF1ZXJ5Wydvd25lcnMnXSkgKSB7CiAgICAgICR0bXAgPSBhcnJheSgpOwogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkcXVlcnlbJ293bmVycyddKTsgJGkrKyApIHsKCSR0bXBbXSA9ICRkYi0+cXN0cigkcXVlcnlbJ293bmVycyddWyRpXSk7CiAgICAgIH0KICAgICAgJHdoZXJlW10gPSAnY2kub3duZXIgSU4gKCcuaW1wbG9kZSgnLCcsJHRtcCkuJyknOwogICAgfQoKICAgIGlmKCBjb3VudCgkd2hlcmUpICkgJHNxbCAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CgogICAgJHNxbCAuPSAnIE9SREVSIEJZICcuJHF1ZXJ5Wydzb3J0YnknXS4nICcuJHF1ZXJ5Wydzb3J0b3JkZXInXTsKICAgICR0aGlzLT5fcnMgPSAkZGItPlNlbGVjdExpbWl0KCRzcWwsJHF1ZXJ5WydsaW1pdCddLCRxdWVyeVsnb2Zmc2V0J10sJHFwYXJtcyk7CiAgICBpZiggISR0aGlzLT5fcnMgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJTlRFUk5BTCBFUlJPUjogUXVlcnkgZmFpbGVkIC0gJy4kZGItPnNxbC4nIC0tICcuJGRiLT5FcnJvck1zZygpKTsKCiAgICAkdGhpcy0+X2ZvdW5kX3Jvd3MgPSAkZGItPkdldE9uZSgnU0VMRUNUIEZPVU5EX1JPV1MoKScpOwogICAgJHRoaXMtPl9leGVjdXRlZCA9IFRSVUU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gUmVjb3JkQ291bnQoKQogIHsKICAgIGlmKCAkdGhpcy0+X3JzICkgcmV0dXJuICR0aGlzLT5fcnMtPlJlY29yZENvdW50KCk7CiAgICByZXR1cm4gMDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBNb3ZlRmlyc3QoKQogIHsKICAgIGlmKCAkdGhpcy0+X3JzICkgcmV0dXJuICR0aGlzLT5fcnMtPk1vdmVGaXJzdCgpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE1vdmVOZXh0KCkKICB7CiAgICBpZiggJHRoaXMtPl9ycyApIHJldHVybiAkdGhpcy0+X3JzLT5Nb3ZlTmV4dCgpOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIEVPRigpCiAgewogICAgaWYoICR0aGlzLT5fcnMgKSByZXR1cm4gJHRoaXMtPl9ycy0+RU9GKCk7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBDbG9zZSgpCiAgewogICAgaWYoICR0aGlzLT5fcnMgKSByZXR1cm4gJHRoaXMtPl9ycy0+Q2xvc2UoKTsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgewogICAgaWYoICRrZXkgPT0gJ0VPRicgJiYgJHRoaXMtPl9ycyApIHJldHVybiAkdGhpcy0+X3JzLT5FT0Y7CiAgICBpZiggJGtleSA9PSAnZmllbGRzJyAmJiAkdGhpcy0+X3JzICkgewogICAgICAkb2JqID0gbmV3IGNnc2FfY2hlY2tpbigkdGhpcy0+X3JzLT5maWVsZHMpOwogICAgICByZXR1cm4gJG9iajsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X2NoZWNraW4oKQogIHsKICAgIGlmKCAhJHRoaXMtPl9ycyApIHJldHVybjsKCiAgICAkb2JqID0gbmV3IGNnc2FfY2hlY2tpbigkdGhpcy0+X3JzLT5maWVsZHMpOwogICAgcmV0dXJuICRvYmo7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gJmdldF9wYWdpbmF0aW9uKCkKICB7CiAgICAkcmVzID0gbnVsbDsKICAgIGlmKCAhJHRoaXMtPl9ycyApIHJldHVybiAkcmVzOwogICAgJG9iID0gbmV3IGNnc2FfY2hlY2tpbl9wYWdpbmF0aW9uKCR0aGlzLT5fcXVlcnksJHRoaXMpOwogICAgcmV0dXJuICRvYjsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfZm91bmRfcm93cygpCiAgewogICAgaWYoICEkdGhpcy0+X3JzICkgcmV0dXJuOwogICAgcmV0dXJuICR0aGlzLT5fZm91bmRfcm93czsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_checkin_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBjZ3NhX2NoZWNraW5fdXRpbHMgCnsKICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBub3RpZnlfdGFnZ2VkX3VzZXJzKGNnc2FfY2hlY2tpbiAkY2hlY2tpbikKICB7CiAgICAkbm90aWZpZXIgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHTm90aWZpZXInKTsKICAgICRjZ3NhID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NvY2lhbEFwcCcpOwogICAgJHVzZXJzID0gJGNoZWNraW4tPmdldF90YWdnZWRfdXNlcnMoKTsKICAgICRwcmlvcml0eSA9ICRjZ3NhLT5HZXRQcmVmZXJlbmNlKCdmZXVfdGFnZ2VkX3ByaW9yaXR5Jyk7CiAgICBpZiggJG5vdGlmaWVyICYmIGNvdW50KCR1c2VycykgPiAwICYmICRwcmlvcml0eSA+IDAgKSB7CiAgICAgIGZvcmVhY2goICR1c2VycyBhcyAkdWlkICkgewoJJG1zZyA9IG5ldyBub3RpZmljYXRpb25fbWVzc2FnZSgpOwoJJG1zZy0+bW9kdWxlID0gJGNnc2EtPkdldE5hbWUoKTsKCWlmKCAkYmFkZ2UtPm5vdGlmeV90byA9PSAndXNlcicgKSB7CgkgICRtc2ctPnRvID0gJHVpZDsKCX0KCSRtc2ctPnN1YmplY3QgPSAkY2dzYS0+R2V0UHJlZmVyZW5jZSgnZmV1X3RhZ2dlZF9zdWJqZWN0Jyk7CgkkbXNnLT5wcmlvcml0eSA9ICRjZ3NhLT5TZXRQcmVmZXJlbmNlKCdmZXVfdGFnZ2VkX3ByaW9yaXR5Jyk7CiAgICAgCgkkc21hcnR5ID0gY21zX3V0aWxzOjpnZXRfc21hcnR5KCk7Cgkkc21hcnR5LT5hc3NpZ24oJ2NoZWNraW4nLCRjaGVja2luKTsKCSRsb2NhdGlvbiA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkY2hlY2tpbi0+bG9jYXRpb24pOwoJJHNtYXJ0eS0+YXNzaWduKCdsb2NhdGlvbicsJGxvY2F0aW9uKTsKCgkkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7Cgkkc21hcnR5LT5hc3NpZ24oJ3VpZCcsJHVpZCk7Cgkkc21hcnR5LT5hc3NpZ24oJ3VzZXJuYW1lJywkZmV1LT5HZXRVc2VyTmFtZSgkdWlkKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2VtYWlsJywkZmV1LT5HZXRFbWFpbCgkdWlkKSk7CgkKCSRtc2ctPmJvZHkgPSAkY2dzYS0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdmZXVfdGFnZ2VkX3RwbCcpOwoJJG5vdGlmaWVyLT5ub3RpZnkoJG1zZyk7CiAgICAgIH0KCiAgICAgIGF1ZGl0KCRjaGVja2luLT5pZCwkY2dzYS0+R2V0TmFtZSgpLCdOb3RpZmljYXRpb25zIHNlbnQgZm9yIGNoZWNraW4nKTsKICAgIH0KICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_db_friend_manipulator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGNnc2Ffc2ltcGxlX2ZyaWVuZF9tYW5pcHVsYXRvciBleHRlbmRzIGNnc2FfZnJpZW5kX21hbmlwdWxhdG9yCnsKICAvKioKICAgKiBSZXRyaWV2ZSBhIGxpc3Qgb2YgdGhlIHVzZXJzIGZyaWVuZHMKICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXIgaWRlbnRpZmllcgogICAqIEBwYXJhbSBpbnRlZ2VyIFRoZSBsaW1pdCB0byB0aGUgbnVtYmVyIG9mIGZyaWVuZHMgKG5vdCBpbXBsZW1lbnRlZCkKICAgKiBAcGFyYW0gaW50ZWdlciBUaGUgb2Zmc2V0IChub3QgaW1wbGVtZW50ZWQpCiAgICogQHJldHVybiBhcnJheSBvZiB1aWRzIG9yIG51bGwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZyaWVuZHMoJHVpZCwkbGltaXQgPSAxMDAwMDAsJG9mZnNldCA9IDApCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgZnVpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMuJyBXSEVSRSB1aWQgPSA/IEFORCByZWxuID0gMSc7CiAgICAkZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJGxpbWl0LCRvZmZzZXQsYXJyYXkoJHVpZCkpOwogICAgaWYoICRkYnIgKSB7CiAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICB3aGlsZSggISRkYnItPkVPRiApIHsKCSRvdXRbXSA9ICRkYnItPmZpZWxkc1snZnVpZCddOwoJJGRici0+TW92ZU5leHQoKTsKICAgICAgfQogICAgICByZXR1cm4gJG91dDsKICAgIH0KICB9CgogIC8qKgogICAqIFRlc3QgaWYgdGhlIHVzZXIgYW5kIGZ1aWQgYXJlIGZyaWVuZHMuCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyIGlkIHRvIGFkZCB0bwogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGZyaWVuZHMgdXNlciBpZC4KICAgKiBAcmV0dXJuIGJvb2wKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gaXNfZnJpZW5kKCR1aWQsJGZ1aWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgZnVpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMuJyBXSEVSRSB1aWQgPSA/IEFORCBmdWlkID0gPyBBTkQgcmVsbiA9IDEnOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdWlkLCRmdWlkKSk7CiAgICBpZiggJHRtcCApIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgLyoqCiAgICogQWRkIGZ1aWQgYXMgYSBmcmllbmQgdG8gdWlkCiAgICogVGhpcyBpcyBhIGRhdGFiYXNlIGZ1bmN0aW9uIG9ubHkuICBObyBldmVudHMgYXJlIHNlbnQuCiAgICogVGhpcyBmdW5jdGlvbiBvbmx5IGVmZmVjdHMgb25lIHNpZGUgb2YgdGhlIGZyaWVuZCByZWxhdGlvbnNoaXAKICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXIgaWQgdG8gYWRkIHRvCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kcyB1c2VyIGlkLgogICAqIEByZXR1cm4gbnVsbAogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBhZGRfZnJpZW5kKCR1aWQsJGZ1aWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAvLyBkZWxldGUgZnJvbSBub3RmcmllbmRzIGFuZCByZXF1ZXN0cy4uLgogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMuJyBXSEVSRSB1aWQgPSA/IEFORCBmdWlkID0gPyBBTkQgcmVsbiAhPSAxJzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHVpZCwkZnVpZCkpOwoKICAgIC8vIG1ha2Ugc3VyZSBub3QgYWxyZWFkeSBhIGZyaWVuZAogICAgJHF1ZXJ5ID0gJ1NFTEVDVCB1aWQgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0ZSSUVORFNISVBTLicgV0hFUkUgdWlkID0gPyBBTkQgZnVpZCA9ID8gQU5EIHJlbG4gPSAxJzsKICAgICRyMSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdWlkLCRmdWlkKSk7CiAgICBpZiggJHIxICkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHU09DSUFMX1RBQkxFX0ZSSUVORFNISVBTLicgKHVpZCxmdWlkLHJlbG4pIFZBTFVFUyAoPyw/LD8pJzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR1aWQsJGZ1aWQsMSk7CiAgfQoKICAvKioKICAgKiBEZWxldGUgYSBmcmllbmQgcmVsYXRpb25zaGlwCiAgICogVGhpcyBpcyBhIGRhdGFiYXNlIGZ1bmN0aW9uIG9ubHksIG5vIGV2ZW50cyBhcmUgdHJpZ2dlcmVkCiAgICogVGhpcyBtZXRob2Qgb25seSBkZWxldGVzIG9uZSBzaWRlIG9mIHRoZSBmcmllbmQgcmVsYXRpb25zaGlwLCBub3QgYm90aAogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlcmlkCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kcyB1c2VyIGlkCiAgICogQHJldHVybiBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGRlbF9mcmllbmQoJHVpZCwkZnVpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgIC8vIGRlbGV0ZSBmcm9tIG5vdGZyaWVuZHMKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0ZSSUVORFNISVBTLicgV0hFUkUgdWlkID0gPyBBTkQgZnVpZCA9ID8gQU5EIHJlbG4gPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHVpZCwkZnVpZCwxKSk7CiAgfQoKICAvKioKICAgKiBHZXQgYSBsaXN0IG9mIHRoZSB1aWRzIHRoYXQgd2UgaGF2ZSBkZW5pZWQgZnJvbSBiZWluZyBmcmllbmRzCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyaWQKICAgKiBAcmV0dXJuIGFycmF5IG9mIHVzZXIgaWRzCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9ub3RmcmllbmRzKCR1aWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgZnVpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMuJyBXSEVSRSB1aWQgPSA/IEFORCByZWxuID0gLTEnOwogICAgJGRiciA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5LCRsaW1pdCwkb2Zmc2V0LGFycmF5KCR1aWQpKTsKICAgIGlmKCAkZGJyICkgewogICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgd2hpbGUoICEkZGJyLT5FT0YgKSB7Cgkkb3V0W10gPSAkZGJyLT5maWVsZHNbJ2Z1aWQnXTsKCSRkYnItPk1vdmVOZXh0KCk7CiAgICAgIH0KICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CiAgfQoKICAvKioKICAgKiBBZGQgYSB1c2VyIHRvIG91ciBsaXN0IG9mIG5vdGZyaWVuZHMKICAgKiBUaGlzIG1ldGhvZCBvbmx5IGVmZmVjdHMgb25lIHNpZGUgb2YgdGhlIGZyaWVuZHNoaXAgcmVsYXRpb24sIGFuZCBkb2VzIG5vdCBleHBsaWNpdGx5IHJlbW92ZSBhIGZyaWVuZCBmcm9tIHRoZSBmcmllbmRzbGlzdAogICAqIEl0IGlzIHBvc3NpYmxlIHVzaW5nIHRoaXMgbWV0aG9kIHRvIGhhdmUgYSB1aWQgaW4gdGhlIGZyaWVuZHMgbGlzdCBhbmQgbm90IGZyaWVuZHMgbGlzdC4gIERldmVsb3BlcnMgbXVzdCB1c2UgY2F1dGlvbi4KICAgKiBUaGlzIG1ldGhvZCBkb2VzIHRoZSBkYXRhYmFzZSB3b3JrIG9ubHksIG5vIGV2ZW50cyBhcmUgc2VudC4KICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXIgaWQKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBmcmllbmRzIHVzZXIgaWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gYWRkX25vdGZyaWVuZCgkdWlkLCRmdWlkKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgLy8gZGVsZXRlIGZyb20gZnJpZW5kcyBvciBmcmllbmQgcmVxdWVzdHMuCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9GUklFTkRTSElQUy4nIFdIRVJFIHVpZCA9ID8gQU5EIGZ1aWQgPSA/IEFORCByZWxuICE9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdWlkLCRmdWlkLC0xKSk7CgogICAgLy8gbWFrZSBzdXJlIG5vdCBhbHJlYWR5IGEgbm90ZnJpZW5kCiAgICAkcXVlcnkgPSAnU0VMRUNUIHVpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMuJyBXSEVSRSB1aWQgPSA/IEFORCBmdWlkID0gPyBBTkQgcmVsbiA9IC0xJzsKICAgICRyMSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdWlkLCRmdWlkKSk7CiAgICBpZiggJHIxICkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHU09DSUFMX1RBQkxFX0ZSSUVORFNISVBTLicgKHVpZCxmdWlkLHJlbG4pIFZBTFVFUyAoPyw/LD8pJzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR1aWQsJGZ1aWQsLTEpOwogIH0KCgogIC8qKgogICAqIFJlbW92ZSBhIHVzZXIgZnJvbSBvdXIgbGlzdCBvZiBub3RmcmllbmRzCiAgICogVGhpcyBtZXRob2Qgb25seSBlZmZlY3RzIG9uZSBzaWRlIG9mIHRoZSBmcmllbmRzaGlwIHJlbGF0aW9uLiAKICAgKiBUaGlzIG1ldGhvZCBkb2VzIHRoZSBkYXRhYmFzZSB3b3JrIG9ubHksIG5vIGV2ZW50cyBhcmUgc2VudC4KICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXIgaWQKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBmcmllbmRzIHVzZXIgaWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZGVsX25vdGZyaWVuZCgkdWlkLCRmdWlkKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgLy8gZGVsZXRlIGZyb20gbm90ZnJpZW5kcwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMuJyBXSEVSRSB1aWQgPSA/IEFORCBmdWlkID0gPyBBTkQgcmVsbiA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdWlkLCRmdWlkLC0xKSk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9mcmllbmRyZXF1ZXN0cygkdWlkLCRsaW1pdCA9IDEwMDAsJG9mZnNldCA9IDApCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgZnVpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMuJyBXSEVSRSB1aWQgPSA/IEFORCByZWxuID0gLTInOwogICAgJGRiciA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5LCRsaW1pdCwkb2Zmc2V0LGFycmF5KCR1aWQpKTsKICAgIGlmKCAkZGJyICkgewogICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgd2hpbGUoICEkZGJyLT5FT0YgKSB7Cgkkb3V0W10gPSAkZGJyLT5maWVsZHNbJ2Z1aWQnXTsKCSRkYnItPk1vdmVOZXh0KCk7CiAgICAgIH0KICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CiAgfQoKICAvKioKICAgKiBDcmVhdGUgYSBmcmllbmQgcmVxdWVzdCB0byB0aGUgdXNlciBpZGVudGlmaWVkIGJ5IGZ1aWQgZnJvbSB0aGUgdXNlciBpZGVudGlmaWVkIGJ5IHVpZAogICAqIFRoaXMgZnVuY3Rpb24gZG9lcyB0aGUgZGF0YWJhc2Ugd29yayBvbmx5LCBub3RpZmljYXRpb25zIGFyZSBub3Qgc2VudC4KICAgKiAKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBwb3RlbnRpYWwgZnJpZW5kcyB1c2VyIGlkCiAgICogQHBhcmFtIHN0cmluZyBUaGUgY3VycmVudCB1c2VycyB1aWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gYWRkX2ZyaWVuZHJlcXVlc3QoJGZ1aWQsJHVpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgIC8vIG1ha2Ugc3VyZSBub3QgYWxyZWFkeSBpbiB0aGUgZGIgc29tZWhvdy4KICAgICRxdWVyeSA9ICdTRUxFQ1QgdWlkIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9GUklFTkRTSElQUy4nIFdIRVJFIHVpZCA9ID8gQU5EIGZ1aWQgPSA/JzsKICAgICRyMSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdWlkLCRmdWlkKSk7CiAgICBpZiggJHIxICkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHU09DSUFMX1RBQkxFX0ZSSUVORFNISVBTLicgKHVpZCxmdWlkLHJlbG4pIFZBTFVFUyAoPyw/LD8pJzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR1aWQsJGZ1aWQsLTIpOwogIH0KCgogIC8qKgogICAqIERlbGV0ZSBhIGZyaWVuZCByZXF1ZXN0IHRvIHRoZSB1c2VyIGlkZW50aWZpZWQgYnkgZnVpZCBmcm9tIHRoZSB1c2VyIGlkZW50aWZpZWQgYnkgdWlkCiAgICogVGhpcyBmdW5jdGlvbiBkb2VzIHRoZSBkYXRhYmFzZSB3b3JrIG9ubHksIG5vdGlmaWNhdGlvbnMgYXJlIG5vdCBzZW50LgogICAqIAogICAqIEBwYXJhbSBzdHJpbmcgdGhlIHBvdGVudGlhbCBmcmllbmRzIHVzZXIgaWQKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBjdXJyZW50IHVzZXJzIGlkCiAgICogQHJldHVybiBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGRlbF9mcmllbmRyZXF1ZXN0KCRmdWlkLCR1aWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAvLyBkZWxldGUgZnJvbSBub3RmcmllbmRzCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9GUklFTkRTSElQUy4nIFdIRVJFIHVpZCA9ID8gQU5EIGZ1aWQgPSA/IEFORCByZWxuID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR1aWQsJGZ1aWQsLTIpKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfYWxsKCR1aWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0ZSSUVORFNISVBTLicgV0hFUkUgdWlkID0gPyBBTkQgZnVpZCA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdWlkLCRmdWlkKSk7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_favorites.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBjZ3NhX2Zhdm9yaXRlcwp7CiAgcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbGlzdF9mb3JfdXNlcigkdWlkLCRsaW1pdCA9IDEwMDAwMCwkb2Zmc2V0ID0gMCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBsb2NhdGlvbiBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRkFWT1JJVEVTLicgV0hFUkUgZnVpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5LChpbnQpJGxpbWl0LChpbnQpJG9mZnNldCxhcnJheSgoaW50KSR1aWQpKTsKICAgIGlmKCAkZGJyICkgewogICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgd2hpbGUoICEkZGJyLT5FT0YgKSB7Cgkkb3V0W10gPSAkZGJyLT5maWVsZHNbJ2xvY2F0aW9uJ107CgkkZGJyLT5Nb3ZlTmV4dCgpOwogICAgICB9CiAgICAgIHJldHVybiAkb3V0OwogICAgfQogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjaGVjaygkdWlkLCRsb2NhdGlvbikKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9GQVZPUklURVMuJyBXSEVSRSBmdWlkID0gPyBBTkQgbG9jYXRpb24gPSA/JzsKICAgICRkYnIgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkdWlkLChpbnQpJGxvY2F0aW9uKSk7CiAgICBpZiggaXNfYXJyYXkoJGRicikgJiYgY291bnQoJGRicikgKSByZXR1cm4gVFJVRTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYWRkKCR1aWQsJGxvY2F0aW9uKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5DR1NPQ0lBTF9UQUJMRV9GQVZPUklURVMuJyAoZnVpZCxsb2NhdGlvbikgVkFMVUVTICg/LD8pJzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KChpbnQpJHVpZCwoaW50KSRsb2NhdGlvbikpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGUoJHVpZCwkbG9jYXRpb24pCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0ZBVk9SSVRFUy4nIFdIRVJFIGZ1aWQgPSA/IEFORCBsb2NhdGlvbiA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoKGludCkkdWlkLChpbnQpJGxvY2F0aW9uKSk7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9hbGwoJHVpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRkFWT1JJVEVTLicgV0hFUkUgZnVpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoKGludCkkdWlkKSk7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9mb3JfbG9jYXRpb24oJGxvY2F0aW9uKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9GQVZPUklURVMuJyBXSEVSRSBsb2NhdGlvbiA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoKGludCkkbG9jYXRpb24pKTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X21vc3Rwb3B1bGFyKCRwYXJtcykKICB7CiAgICAkdXNlcmxpc3QgID0gbnVsbDsKICAgICRsb2NhdGlvbnMgPSBudWxsOwogICAgJGxpbWl0ICAgICA9IDEwMDAwMDsKICAgICRvZmZzZXQgICAgPSAwOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3VzZXJsaXN0J10pICYmIGlzX2FycmF5KCRwYXJtc1sndXNlcmxpc3QnXSkgJiYgY291bnQoJHBhcm1zWyd1c2VybGlzdCddKSApICR1c2VybGlzdCA9ICRwYXJtc1sndXNlcmxpc3QnXTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydsb2NhdGlvbnMnXSkgJiYgaXNfYXJyYXkoJHBhcm1zWydsb2NhdGlvbnMnXSkgJiYgY291bnQoJHBhcm1zWydsb2NhdGlvbnMnXSkgKSAkbG9jYXRpb25zID0gJHBhcm1zWydsb2NhdGlvbnMnXTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydsaW1pdCddKSApICRsaW1pdCA9IChpbnQpJHBhcmFtc1snbGltaXQnXTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydvZmZzZXQnXSkgKSAkb2Zmc2V0ID0gKGludCkkcGFyYW1zWydvZmZzZXQnXTsKICAgICRsaW1pdCA9IG1heCgxLG1pbigxMDAwMDAsJGxpbWl0KSk7CiAgICAkb2Zmc2V0ID0gbWF4KDAsJG9mZnNldCk7CiAgICAKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUIGxvY2F0aW9uLGNvdW50KGZ1aWQpIEFTIGNudCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfRkFWT1JJVEVTOwoKICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICBpZiggaXNfYXJyYXkoJHVzZXJsaXN0KSAmJiBjb3VudCgkdXNlcmxpc3QpID4gMCApIHsKICAgICAgJHRtcCA9IGFycmF5KCk7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR1c2VybGlzdCk7ICRpKysgKSB7CgkkbiA9IChpbnQpJHVzZXJsaXN0WyRpXTsKCWlmKCAkbiA8IDEgKSBjb250aW51ZTsKCWlmKCBpbl9hcnJheSgkbiwkdG1wKSApIGNvbnRpbnVlOwoJJHRtcFtdID0gJG47CiAgICAgIH0KICAgICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApID4gMCApIHsKCSR3aGVyZVtdID0gJ2Z1aWQgSU4gKCcuaW1wbG9kZSgnLCcsJHRtcCkuJyknOwogICAgICB9CiAgICB9CgogICAgaWYoIGlzX2FycmF5KCRsb2NhdGlvbnMpICYmIGNvdW50KCRsb2NhdGlvbnMpICkgewogICAgICAkd2hlcmVbXSA9ICdsb2NhdGlvbiBJTiAoJy5pbXBsb2RlKCcsJywkbG9jYXRpb25zKS4nKSc7CiAgICB9CgogICAgaWYoIGNvdW50KCR3aGVyZSkgKSB7CiAgICAgICRxdWVyeSAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLiR3aGVyZSk7CiAgICB9CgoKICAgICRxdWVyeSAuPSAnIEdST1VQIEJZIGxvY2F0aW9uIE9SREVSIEJZIGNudCBERVNDJzsKCiAgICAkb3V0ID0gbnVsbDsKICAgICRyZXMgPSAkZGItPlNlbGVjdCgkcXVlcnksJGxpbWl0LCRvZmZzZXQpOwogICAgaWYoICRyZXMgKSB7CiAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICB3aGlsZSggISRyZXMtPkVPRiApIHsKCSRyb3cgPSAkcmVzLT5maWVsZHM7Cgkkb3V0WyRyb3dbJ2xvY2F0aW9uJ11dID0gJHJvd1snY250J107CgkkcmVzLT5Nb3ZlTmV4dCgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_friends.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBjZ3NhX2ZyaWVuZHMKewogIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQogIHByaXZhdGUgc3RhdGljICRfbWFuaXB1bGF0b3I7CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdldF9tYW5pcHVsYXRvcigpCiAgewogICAgaWYoIGlzX251bGwoc2VsZjo6JF9tYW5pcHVsYXRvcikgKSB7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU29jaWFsQXBwJyk7CiAgICAgICRtYW5pcG5hbWUgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRzX21hbmlwdWxhdG9yJywnY2dzYV9zaW1wbGVfZnJpZW5kX21hbmlwdWxhdG9yJyk7CiAgICAgIHNlbGY6OiRfbWFuaXB1bGF0b3IgPSBuZXcgJG1hbmlwbmFtZTsKICAgIH0KICAgIHJldHVybiBzZWxmOjokX21hbmlwdWxhdG9yOwogIH0KCgogIC8qKgogICAqIFJldHJpZXZlIGEgbGlzdCBvZiB0aGUgdXNlcnMgZnJpZW5kcwogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZGVudGlmaWVyCiAgICogQHBhcmFtIGludGVnZXIgVGhlIGxpbWl0IHRvIHRoZSBudW1iZXIgb2YgZnJpZW5kcyAobm90IGltcGxlbWVudGVkKQogICAqIEBwYXJhbSBpbnRlZ2VyIFRoZSBvZmZzZXQgKG5vdCBpbXBsZW1lbnRlZCkKICAgKiBAcmV0dXJuIGFycmF5IG9mIHVpZHMgb3IgbnVsbAogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZyaWVuZHMoJHVpZCwkbGltaXQgPSAxMDAwMDAsJG9mZnNldCA9IDApCiAgewogICAgcmV0dXJuIHNlbGY6OmdldF9tYW5pcHVsYXRvcigpLT5nZXRfZnJpZW5kcygkdWlkLCRsaW1pdCwkb2Zmc2V0KTsKICB9CgogIC8qKgogICAqIFRlc3QgaWYgdGhlIHVzZXIgaXMgY3VycmVudGx5IGEgZnJpZW5kLgogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZGVudGlmaWVyLgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGZyaWVuZHMgdXNlciBpZC4KICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzX2ZyaWVuZCgkdWlkLCRmdWlkKQogIHsKICAgIHJldHVybiBzZWxmOjpnZXRfbWFuaXB1bGF0b3IoKS0+aXNfZnJpZW5kKCR1aWQsJGZ1aWQpOwogIH0KCiAgLyoqCiAgICogVGVzdCBpZiBhIGZyaWVuZCByZXF1ZXN0IGV4aXN0cyBmcm9tIG9uZSB1c2VyIHRvIGFub3RoZXIuCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyIGlkZW50aWZpZXIuCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kcyB1c2VyIGlkLgogICAqIEByZXR1cm4gYm9vbGVhbgogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfcmVxdWVzdGVkKCR1aWQsJGZ1aWQpCiAgewogICAgcmV0dXJuIHNlbGY6OmdldF9tYW5pcHVsYXRvcigpLT5pc19yZXF1ZXN0ZWQoJHVpZCwkZnVpZCk7CiAgfQoKICAvKioKICAgKiBBZGQgZnVpZCBhcyBhIGZyaWVuZCB0byB1aWQKICAgKiBUaGlzIGlzIGEgZGF0YWJhc2UgZnVuY3Rpb24gb25seS4gIE5vIGV2ZW50cyBhcmUgc2VudC4KICAgKiBUaGlzIGZ1bmN0aW9uIG9ubHkgZWZmZWN0cyBvbmUgc2lkZSBvZiB0aGUgZnJpZW5kIHJlbGF0aW9uc2hpcAogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZCB0byBhZGQgdG8KICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBmcmllbmRzIHVzZXIgaWQuCiAgICogQHJldHVybiBudWxsCiAgICovCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gYWRkX2ZyaWVuZCgkdWlkLCRmdWlkKQogIHsKICAgIHJldHVybiBzZWxmOjpnZXRfbWFuaXB1bGF0b3IoKS0+YWRkX2ZyaWVuZCgkdWlkLCRmdWlkKTsKICB9CgoKICAvKioKICAgKiBEZWxldGUgYSBmcmllbmQgcmVsYXRpb25zaGlwCiAgICogVGhpcyBpcyBhIGRhdGFiYXNlIGZ1bmN0aW9uIG9ubHksIG5vIGV2ZW50cyBhcmUgdHJpZ2dlcmVkCiAgICogVGhpcyBtZXRob2Qgb25seSBkZWxldGVzIG9uZSBzaWRlIG9mIHRoZSBmcmllbmQgcmVsYXRpb25zaGlwLCBub3QgYm90aAogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlcmlkCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kcyB1c2VyIGlkCiAgICogQHJldHVybiBudWxsCiAgICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxfZnJpZW5kKCR1aWQsJGZ1aWQpCiAgewogICAgcmV0dXJuIHNlbGY6OmdldF9tYW5pcHVsYXRvcigpLT5kZWxfZnJpZW5kKCR1aWQsJGZ1aWQpOwogIH0KCgogIC8qKgogICAqIFJlbW92ZSBhIGZyaWVuZHNoaXAgcmVsYXRpb25zaGlwCiAgICogVGhpcyBpcyBhIGhpZ2ggbGV2ZWwgZnVuY3Rpb24gdGhhdCBtYXkgc2VuZCBldmVudHMgb3Igbm90aWZpY2F0aW9ucwogICAqIFRoaXMgbWV0aG9kIHdpbGwgZW5zdXJlIHRoYXQgdGhlIGZyaWVuZHNoaXAgcmVsYXRpb25zaGlwCiAgICogaXMgcmVtb3ZlZCBiZXR3ZWVuIGJvdGggdGhlIGZ1aWQgYW5kIHVpZC4KICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGN1cnJlbnQgdWlkCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kcyB1aWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJlbW92ZV9mcmllbmRzaGlwKCR1aWQsJGZ1aWQpCiAgewogICAgc2VsZjo6ZGVsX2ZyaWVuZCgkdWlkLCRmdWlkKTsKICAgIHNlbGY6OmRlbF9mcmllbmQoJGZ1aWQsJHVpZCk7CgogICAgY2dzYV91dGlsczo6c2VuZF9ldmVudCgnT25GcmllbmRSZW1vdmVkJyxhcnJheSgnZnJvbSc9PiR1aWQsJ3RvJz0+JGZ1aWQpKTsKICB9CgoKICAvKioKICAgKiBHZXQgYSBsaXN0IG9mIHRoZSB1aWRzIHRoYXQgd2UgaGF2ZSBkZW5pZWQgZnJvbSBiZWluZyBmcmllbmRzCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyaWQKICAgKiBAcmV0dXJuIGFycmF5IG9mIHVzZXIgaWRzCiAgICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfbm90ZnJpZW5kcygkdWlkKQogIHsKICAgIHJldHVybiBzZWxmOjpnZXRfbWFuaXB1bGF0b3IoKS0+Z2V0X25vdGZyaWVuZHMoJHVpZCk7CiAgfQoKICAKICAvKioKICAgKiBBZGQgYSB1c2VyIHRvIG91ciBsaXN0IG9mIG5vdGZyaWVuZHMKICAgKiBUaGlzIG1ldGhvZCBvbmx5IGVmZmVjdHMgb25lIHNpZGUgb2YgdGhlIGZyaWVuZHNoaXAgcmVsYXRpb24sIGFuZCBkb2VzIG5vdCBleHBsaWNpdGx5IHJlbW92ZSBhIGZyaWVuZCBmcm9tIHRoZSBmcmllbmRzbGlzdAogICAqIEl0IGlzIHBvc3NpYmxlIHVzaW5nIHRoaXMgbWV0aG9kIHRvIGhhdmUgYSB1aWQgaW4gdGhlIGZyaWVuZHMgbGlzdCBhbmQgbm90IGZyaWVuZHMgbGlzdC4gIERldmVsb3BlcnMgbXVzdCB1c2UgY2F1dGlvbi4KICAgKiBUaGlzIG1ldGhvZCBkb2VzIHRoZSBkYXRhYmFzZSB3b3JrIG9ubHksIG5vIGV2ZW50cyBhcmUgc2VudC4KICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXIgaWQKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBmcmllbmRzIHVzZXIgaWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBhZGRfbm90ZnJpZW5kKCR1aWQsJGZ1aWQpCiAgewogICAgcmV0dXJuIHNlbGY6OmdldF9tYW5pcHVsYXRvcigpLT5hZGRfbm90ZnJpZW5kKCR1aWQsJGZ1aWQpOwogIH0KCiAgCiAgLyoqCiAgICogUmVtb3ZlIGEgdXNlciBmcm9tIG91ciBsaXN0IG9mIG5vdGZyaWVuZHMKICAgKiBUaGlzIG1ldGhvZCBvbmx5IGVmZmVjdHMgb25lIHNpZGUgb2YgdGhlIGZyaWVuZHNoaXAgcmVsYXRpb24uIAogICAqIFRoaXMgbWV0aG9kIGRvZXMgdGhlIGRhdGFiYXNlIHdvcmsgb25seSwgbm8gZXZlbnRzIGFyZSBzZW50LgogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZAogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGZyaWVuZHMgdXNlciBpZAogICAqIEByZXR1cm4gbnVsbAogICAqLwogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGRlbF9ub3RmcmllbmQoJHVpZCwkZnVpZCkKICB7CiAgICByZXR1cm4gc2VsZjo6Z2V0X21hbmlwdWxhdG9yKCktPmRlbF9ub3RmcmllbmQoJHVpZCwkZnVpZCk7CiAgfQoKCiAgLyoqCiAgICogU3VnZ2VzdCBwb3NzaWJsZSBmcmllbmRzIHRvIGEgdXNlci4gIFRoaXMgbWV0aG9kIHVzZXMgdGhlIAogICAqIG1hbmlwdWxhdG9ycyB0byBnYXRoZXIgYSBsaXN0IG9mIGZyaWVuZHMgb2YgZnJpZW5kcyB0aGF0CiAgICogd2UgaGF2ZSBub3QgYWxyZWFkeSBhZGRlZCB0byBvdXIgZnJpZW5kcyBsaXN0IGFuZCB0aGF0IGhhdmUKICAgKiBub3QgZXhwbGljaXRseSBkZW5pZWQgdXMsIG9yIHdlIGhhdmUgbm90IGV4cGxpY2l0aWx5IGFscmVhZHkgZGVuaWVkCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyIGlkCiAgICogQHBhcmFtIGludGVnZXIgQSBsaW1pdCB0byB0aGUgbnVtYmVyIG9mIGZyaWVuZHMKICAgKiBAcmV0dXJuIGFycmF5IG9mIHVzZXIgaWRzCiAgICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzdWdnZXN0KCR1aWQsJGxpbWl0ID0gNTApCiAgewogICAgJGZyaWVuZHMgPSBzZWxmOjpnZXRfZnJpZW5kcygkdWlkKTsKICAgICRub3RmcmllbmRzID0gc2VsZjo6Z2V0X25vdGZyaWVuZHMoJHVpZCk7CiAgICAKICAgIC8vIHRvZG86IGl0IHdvdWxkIGJlIG5lYXQgaGVyZSBpZiB3ZSBnYXRoZXJlZCBzb21ldGhpbmcgZnJvbSBpbnRlcmVzdHMuLi4KCiAgICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZnJpZW5kcyk7ICRpKysgKSB7CiAgICAgIGlmKCBjb3VudCgkcmVzdWx0cykgPj0gJGxpbWl0ICkgYnJlYWs7CgogICAgICAkaGlzZnJpZW5kcyA9IHNlbGY6OmdldF9mcmllbmRzKCRmcmllbmRzWyRpXSk7CiAgICAgIGlmKCBpc19hcnJheSgkaGlzZnJpZW5kcykgJiYgY291bnQoJGhpc2ZyaWVuZHMpICkgewoJZm9yKCAkaiA9IDA7ICRqIDwgY291bnQoJGhpc2ZyaWVuZHMpOyAkaisrICkgewoJICBpZiggaXNfYXJyYXkoJG5vdGZyaWVuZHMpICYmIGNvdW50KCRub3RmcmllbmRzKSAmJiAhaW5fYXJyYXkoJGhpc2ZyaWVuZHNbJGldLCRub3RmcmllbmRzKSApIHsKCSAgICAvLyB3ZSBoYXZlIGFscmVhZHkgZGVjbGluZWQgYSByZXF1ZXN0IGZyb20gdGhpcyBndXkKCSAgICBicmVhazsKCSAgfQoKCSAgJGhpc3JlcXVlc3RzID0gc2VsZjo6Z2V0X2ZyaWVuZHJlcXVlc3RzKCRoaXNmcmllbmRzWyRpXSk7CgkgIGlmKCBpc19hcnJheSgkaGlzcmVxdWVzdHMpICYmIGNvdW50KCRoaXNyZXF1ZXN0cykgJiYgaW5fYXJyYXkoJHVpZCwkaGlzcmVxdWVzdHMpICkgewoJICAgIC8vIHdlJ3ZlIGFscmVhZHkgc2VudCB0aGlzIHVzZXIgYSByZXF1ZXN0Li4uIG5vIG5lZWQgdG8gc3VnZ2VzdCBpdCBhZ2Fpbi4KCSAgICBicmVhazsKCSAgfQoKCSAgJGhpc25vdGZyaWVuZHMgPSBzZWxmOjpnZXRfbm90ZnJpZW5kcygkaGlzZnJpbmRzWyRpXSk7CgkgIGlmKCBpc19hcnJheSgkaGlzbm90ZnJpZW5kcykgJiYgY291bnQoJGhpc25vdGZyaWVuZHMpICYmIGluX2FycmF5KCR1aWQsJGhpc25vdGZyaWVuZHMpICkgewoJICAgIC8vIHRoaXMgdXNlciBoYXMgYWxyZWFkeSByZWplY3RlZCB1cy4uLiBubyBuZWVkIHRvIHN1Z2dlc3QgaXQgYWdhaW4uCgkgICAgYnJlYWs7CgkgIH0KCgkgICRyZXN1bHRzW10gPSAkaGlzZnJpZW5kc1skaV07CgkgIGlmKCBjb3VudCgkcmVzdWx0cykgPj0gJGxpbWl0ICkgYnJlYWs7Cgl9CiAgICAgIH0KICAgIH0KCiAgICBpZiggY291bnQoJHJlc3VsdHMpICkgcmV0dXJuICRyZXN1bHRzOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZyaWVuZHJlcXVlc3RzKCR1aWQsJGxpbWl0ID0gMTAwMCwkb2Zmc2V0ID0gMCkKICB7CiAgICByZXR1cm4gc2VsZjo6Z2V0X21hbmlwdWxhdG9yKCktPmdldF9mcmllbmRyZXF1ZXN0cygkdWlkLCRsaW1pdCwkb2Zmc2V0KTsKICB9CgoKICAvKioKICAgKiBDcmVhdGUgYSBmcmllbmQgcmVxdWVzdCB0byB0aGUgdXNlciBpZGVudGlmaWVkIGJ5IGZ1aWQgZnJvbSB0aGUgdXNlciBpZGVudGlmaWVkIGJ5IHVpZAogICAqIFRoaXMgZnVuY3Rpb24gZG9lcyB0aGUgZGF0YWJhc2Ugd29yayBvbmx5LCBub3RpZmljYXRpb25zIGFyZSBub3Qgc2VudC4KICAgKiAKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBwb3RlbnRpYWwgZnJpZW5kcyB1c2VyIGlkCiAgICogQHBhcmFtIHN0cmluZyBUaGUgY3VycmVudCB1c2VycyB1aWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBhZGRfZnJpZW5kcmVxdWVzdCgkZnVpZCwkdWlkKQogIHsKICAgIHJldHVybiBzZWxmOjpnZXRfbWFuaXB1bGF0b3IoKS0+YWRkX2ZyaWVuZHJlcXVlc3QoJGZ1aWQsJHVpZCk7CiAgfQoKCiAgLyoqCiAgICogRGVsZXRlIGEgZnJpZW5kIHJlcXVlc3QgdG8gdGhlIHVzZXIgaWRlbnRpZmllZCBieSBmdWlkIGZyb20gdGhlIHVzZXIgaWRlbnRpZmllZCBieSB1aWQKICAgKiBUaGlzIGZ1bmN0aW9uIGRvZXMgdGhlIGRhdGFiYXNlIHdvcmsgb25seSwgbm90aWZpY2F0aW9ucyBhcmUgbm90IHNlbnQuCiAgICogCiAgICogQHBhcmFtIHN0cmluZyB0aGUgcG90ZW50aWFsIGZyaWVuZHMgdXNlciBpZAogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGN1cnJlbnQgdXNlcnMgaWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbF9mcmllbmRyZXF1ZXN0KCRmdWlkLCR1aWQpCiAgewogICAgcmV0dXJuIHNlbGY6OmdldF9tYW5pcHVsYXRvcigpLT5kZWxfZnJpZW5kcmVxdWVzdCgkZnVpZCwkdWlkKTsKICB9CgoKICAvKioKICAgKiBDcmVhdGUgYSBuZXcgZnJpZW5kIHJlcXVlc3QuCiAgICogVGhpcyBtZXRob2Qgd2lsbCBjcmVhdGUgYSBuZXcgZnJpZW5kIHJlcXVlc3QgZnJvbSB1aWQgdG8gZnVpZAogICAqIFRoaXMgaXMgYSBoaWdoIGxldmVsIG1ldGhvZCB0aGF0IG1heSBzZW5kIGV2ZW50cyBvciBub3RpZmljYXRpb25zLgogICAqIFRoaXMgbWV0aG9kIG1heSBhbHNvIGNoZWNrIHBlcm1pc3Npb25zIGV0Yy4KICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGZyaWVuZHMgdWlkCiAgICogQHBhcmFtIHN0cmluZyBUaGUgY3VycmVudCB1aWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZV9mcmllbmRyZXF1ZXN0KCRmdWlkLCR1aWQpCiAgewogICAgc2VsZjo6Z2V0X21hbmlwdWxhdG9yKCktPmFkZF9mcmllbmRyZXF1ZXN0KCRmdWlkLCR1aWQpOwoKICAgIGNnc2FfdXRpbHM6OnNlbmRfZXZlbnQoJ09uRnJpZW5kUmVxdWVzdCcsYXJyYXkoJ3RvJz0+JGZ1aWQsJ2Zyb20nPT4kdWlkKSk7CiAgfQoKCiAgLyoqCiAgICogQXBwcm92ZSBhbiBleGlzdGluZyBmcmllbmQgcmVxdWVzdCBmcm9tIGZ1aWQgdG8gdWlkCiAgICogVGhpcyBtZXRob2QgaXMgbm9ybWFsbHkgY2FsbGVkIGJ5IHRoZSBmdWlkIHRvIGFwcHJvdmUgYSByZXF1ZXN0IG1hZGUgYnkgdWlkCiAgICogRGV2ZWxvcGVycyBtdXN0IHVzZSBjYXV0aW9uIHdoZW4gdXNpbmcgdGhpcyBtZXRob2QgYXMgaXQgbWF5IGFsbG93IHRoZW0gdG8gYXJiaXRyYXJpbHkKICAgKiBhcHByb3ZlIGZyaWVuZCByZXF1ZXN0cy4gIE9uY2UgYXBwcm92ZWQgdGhlIHVzZXJzIGFyZSBhc3NlcnRlZCBhcyBtdXR1YWwgZnJpZW5kcwogICAqIFRoaXMgaXMgYSBoaWdoIGxldmVsIG1ldGhvZCB0aGF0IG1heSBzZW5kIGV2ZW50cyBvciBub3RpZmljYXRpb25zLgogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgY3VycmVudCB1c2VycyB1aWQgCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kIHVzZXJzIHVpZC4KICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFwcHJvdmVfZnJpZW5kcmVxdWVzdCgkdWlkLCRmdWlkKQogIHsKICAgIGlmKCAhJHVpZCB8fCAhJGZ1aWQgKSByZXR1cm47CiAgICAkcmVxdWVzdHMgPSBzZWxmOjpnZXRfZnJpZW5kcmVxdWVzdHMoJHVpZCk7CiAgICBpZiggIWlzX2FycmF5KCRyZXF1ZXN0cykgfHwgY291bnQoJHJlcXVlc3RzKSA9PSAwICkgcmV0dXJuOwoKICAgIGlmKCBpbl9hcnJheSgkZnVpZCwkcmVxdWVzdHMpICkgewogICAgICBzZWxmOjpkZWxfZnJpZW5kcmVxdWVzdCgkZnVpZCwkdWlkKTsKCiAgICAgIC8vIGFkZCB0aGVtIHRvIGVhY2ggb3RoZXJzICdmcmllbmRzJyBsaXN0LgogICAgICBzZWxmOjphZGRfZnJpZW5kKCR1aWQsJGZ1aWQpOwogICAgICBzZWxmOjphZGRfZnJpZW5kKCRmdWlkLCR1aWQpOwoKICAgICAgY2dzYV91dGlsczo6c2VuZF9ldmVudCgnT25GcmllbmRBcHByb3ZlZCcsYXJyYXkoJ3RvJz0+JGZ1aWQsJ2Zyb20nPT4kdWlkKSk7CiAgICB9CiAgfQoKCiAgLyoqIAogICAqIERlbnkgYW4gZXhpc3RpbmcgZnJpZW5kIHJlcXVlc3QgZnJvbSBmdWlkIHRvIHVpZAogICAqIFRoaXMgbWV0aG9kIGlzIGEgaGlnaCBsZXZlbCBtZXRob2QgdGhhdCBtYXkgc2VuZCBub3RpZmljYXRpb25zIG9yIGV2ZW50cwogICAqIE9uY2UgY29uZmlybWVkIHRoZSBkZW5pZWQgdXNlciAoZnVpZCkgaXMgYWRkZWQgdG8gdGhlIGN1cnJlbnQgdXNlcnMgbm90ZnJpZW5kcyBsaXN0LgogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgY3VycmVudCB1c2VycyB1aWQKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBmcmllbmRzIHVpZAogICAqIEByZXR1cm4gbnVsbAogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGVueV9mcmllbmRyZXF1ZXN0KCR1aWQsJGZ1aWQpCiAgewogICAgaWYoICEkdWlkIHx8ICEkZnVpZCApIHJldHVybjsKICAgICRyZXF1ZXN0cyA9IHNlbGY6OmdldF9mcmllbmRyZXF1ZXN0cygkdWlkKTsgLy8gZ2V0IG15IGZyaWVuZCByZXF1ZXN0cy4KICAgIGlmKCAhaXNfYXJyYXkoJHJlcXVlc3RzKSB8fCBjb3VudCgkcmVxdWVzdHMpID09IDAgKSByZXR1cm47CgogICAgaWYoIGluX2FycmF5KCRmdWlkLCRyZXF1ZXN0cykgKSB7CiAgICAgIHNlbGY6OmRlbF9mcmllbmRyZXF1ZXN0KCRmdWlkLCR1aWQpOwoKICAgICAgLy8gYW5kIGFkZCBmdWlkIHRvIHRoZSBub3RmcmllbmRzIGxpc3QuCiAgICAgIHNlbGY6OmFkZF9ub3RmcmllbmQoJHVpZCwkZnVpZCk7CgogICAgICAvLyB0b2RvOiBtYXliZSBhZGQgbm90aWZpY2F0aW9ucyBoZXJlLgogICAgICBjZ3NhX3V0aWxzOjpzZW5kX2V2ZW50KCdPbkZyaWVuZFJlamVjdGVkJyxhcnJheSgndG8nPT4kZnVpZCwnZnJvbSc9PiR1aWQpKTsKICAgIH0KICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9hbGwoJHVpZCkKICB7CiAgICBpZiggISR1aWQgKSByZXR1cm47CiAgICByZXR1cm4gc2VsZjo6Z2V0X21hbmlwdWxhdG9yKCktPmRlbGV0ZV9hbGwoJHVpZCk7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_friend_manipulator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmFic3RyYWN0IGNsYXNzIGNnc2FfZnJpZW5kX21hbmlwdWxhdG9yCnsKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZyaWVuZHMoJHVpZCwkbGltaXQgPSAxMDAwMDAsJG9mZnNldCA9IDApOwoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gaXNfZnJpZW5kKCR1aWQsJGZ1aWQpOwoKICAvKioKICAgKiBUZXN0IGlmIHRoZXJlIGlzIGEgZnJpZW5kIHJlcXVlc3QgZnJvbSBvbmUgdXNlciB0byBhbm90aGVyLgogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZGVudGlmaWVyIG9mIHRoZSBmcm9tIHVzZXIuCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZGVudGlmaWVyIG9mIHRoZSB0byB1c2VyLgogICAqIEByZXR1cm4gYm9vbGVhbgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBpc19yZXF1ZXN0ZWQoJHVpZCwkZnVpZCkKICB7CiAgICAkbGlzdCA9ICR0aGlzLT5nZXRfZnJpZW5kcmVxdWVzdHMoJGZ1aWQpOwogICAgaWYoIGlzX2FycmF5KCRsaXN0KSAmJiBjb3VudCgkbGlzdCkgKSB7CiAgICAgIGlmKCBpbl9hcnJheSgkdWlkLCRsaXN0KSApIHJldHVybiBUUlVFOwogICAgfQogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGFkZF9mcmllbmQoJHVpZCwkZnVpZCk7CgogIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBkZWxfZnJpZW5kKCR1aWQsJGZ1aWQpOwoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X25vdGZyaWVuZHMoJHVpZCk7CgogIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBhZGRfbm90ZnJpZW5kKCR1aWQsJGZ1aWQpOwoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZGVsX25vdGZyaWVuZCgkdWlkLCRmdWlkKTsKCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9mcmllbmRyZXF1ZXN0cygkdWlkLCRsaW1pdCA9IDEwMDAsJG9mZnNldCA9IDApOwoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gYWRkX2ZyaWVuZHJlcXVlc3QoJGZ1aWQsJHVpZCk7CgogIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBkZWxfZnJpZW5kcmVxdWVzdCgkZnVpZCwkdWlkKTsKCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZV9hbGwoJHVpZCk7Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_leaderboard.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ3NhX2xlYWRlcmJvYXJkIAp7CiAgcHJpdmF0ZSBzdGF0aWMgJF9maWVsZHMgPSBhcnJheSgnaWQnLCduYW1lJywndHlwZScsJ2ltYWdlJywnZGVzY3JpcHRpb24nLCdjcmVhdGVkJywnbW9kaWZpZWQnLCdtdWx0aXBsZWJhZGdlcycsJ21hdGNoX2xvY2F0aW9uJywnY3JpdGVyaWFfbG9jYXRpb25jYXRlZ29yeScsJ2NyaXRlcmlhX2xvY2F0aW9uaGllcicsJ2NyaXRlcmlhX2xvY2F0aW9uaGllcmNoaWxkcmVuJywnY3JpdGVyaWFfYWN0aXZpdHlpZCcsJ2NyaXRlcmlhX2FjdGl2aXR5Y2hpbGRyZW4nKTsKICBwcml2YXRlIHN0YXRpYyAkX3Jva2V5cyA9IGFycmF5KCdpZCcsJ2NyZWF0ZWQnLCdtb2RpZmllZCcpOwogIHByaXZhdGUgc3RhdGljICRfdHlwZXMgPSBhcnJheSgnbG9jYXRpb24nLCdjaGVja2lucycsJ2ZyaWVuZHMnLCdhY3Rpdml0eScpOwogIHByaXZhdGUgc3RhdGljICRfY2FjaGVkOwogIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoKTsKICBwcml2YXRlICRfZGlydHk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgJHRoaXMtPl9kYXRhWydtYXRjaF9sb2NhdGlvbiddID0gJ2xvY2F0aW9uaWQnOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF90eXBlcygpIAogIHsKICAgIHJldHVybiBzZWxmOjokX3R5cGVzOwogIH0KCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX3ZhbGlkX2tleSgka2V5KQogIHsKICAgIGlmKCBpbl9hcnJheSgka2V5LHNlbGY6OiRfZmllbGRzKSApIHJldHVybiBUUlVFOwogICAgaWYoIHN0YXJ0c3dpdGgoJGtleSwnY3JpdGVyaWFfJykgKSByZXR1cm4gVFJVRTsKICAgIGlmKCBzdGFydHN3aXRoKCRrZXksJ21hdGNoXycpICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGspCiAgewogICAgaWYoICFzZWxmOjpfdmFsaWRfa2V5KCRrKSApCiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJGsuJyBpcyBub3QgYSB2YWxpZCBmaWVsZCBmb3IgYSBsZWFkZXJib2FyZCcpOwoKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtdKSApCiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJGtdOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRrLCR2KQogIHsKICAgIGlmKCAhc2VsZjo6X3ZhbGlkX2tleSgkaykgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCRrLicgaXMgbm90IGEgdmFsaWQgZmllbGQgZm9yIHRoaXMgb2JqZWN0Jyk7CgogICAgaWYoICRrID09ICd0eXBlJyAmJiAhaW5fYXJyYXkoJHYsc2VsZjo6JF90eXBlcykgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCR2LicgaXMgYW4gaW52YWxpZCBsZWFkZXJib2FyZCB0eXBlJyk7CgogICAgJHRoaXMtPl9kYXRhWyRrXSA9ICR2OwogICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2RpcnR5KCkKICB7CiAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICB7CiAgICAkdGhpcy0+dmFsaWRhdGUoKTsKCiAgICBpZiggISR0aGlzLT5fZGlydHkgKSByZXR1cm47CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSAmJiAkdGhpcy0+X2RhdGFbJ2lkJ10gPiAwICkgewogICAgICByZXR1cm4gJHRoaXMtPnVwZGF0ZSgpOwogICAgfQogICAgcmV0dXJuICR0aGlzLT5pbnNlcnQoKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ25hbWUnXSkgfHwgdHJpbSgkdGhpcy0+X2RhdGFbJ25hbWUnXSkgPT0gJycgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIG9iamVjdCBkYXRhOiBuYW1lIGlzIG5vdCBzcGVjaWZpZWQnKTsKCiAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsndHlwZSddKSApCiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgb2JqZWN0IGRhdGE6IHR5cGUgaXMgbm90IHNwZWNpZmllZCcpOwogICAgCiAgICBpZiggIWluX2FycmF5KCR0aGlzLT5fZGF0YVsndHlwZSddLHNlbGY6OiRfdHlwZXMpICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBvYmplY3QgZGF0YTogdHlwZSBvZiAnLiR0aGlzLT5fZGF0YVsndHlwZSddLicgaXMgaW52YWxpZCcpOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSApIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkQuJyBXSEVSRSBuYW1lID0gPyBBTkQgaWQgIT0gPyc7CiAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXMtPl9kYXRhWyduYW1lJ10sJHRoaXMtPl9kYXRhWydpZCddKSk7CiAgICAgIGlmKCAkdG1wICkKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgb2JqZWN0IGRhdGE6IG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UnKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9MRUFERVJCT0FSRC4nIFdIRVJFIG5hbWUgPSA/JzsKICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpcy0+X2RhdGFbJ25hbWUnXSkpOwogICAgICBpZiggJHRtcCApCgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIG9iamVjdCBkYXRhOiBuYW1lIGlzIGFscmVhZHkgaW4gdXNlJyk7CiAgICB9CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5zZXJ0KCkKICB7CiAgICBpZiggISR0aGlzLT5fZGlydHkgKSByZXR1cm47CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJG5vdyA9IHRpbWUoKTsKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJELiIKICAgICAgICAgICAgICAobmFtZSx0eXBlLGRlc2NyaXB0aW9uLGltYWdlLGRhdGEsY3JlYXRlZCxtb2RpZmllZCkgVkFMVUVTICg/LD8sPyw/LD8sPyw/KSI7CgogICAgJGRhdGEgPSAkdGhpcy0+X2RhdGE7CiAgICB1bnNldCgkZGF0YVsnaWQnXSk7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJHRoaXMtPm5hbWUsJHRoaXMtPnR5cGUsJHRoaXMtPmRlc2NyaXB0aW9uLCR0aGlzLT5pbWFnZSwKCQkJICAgICAgc2VyaWFsaXplKCRkYXRhKSwkbm93LCRub3cpKTsKICAgIGlmKCAhJGRiciApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRGF0YWJhc2UgRXJyb3I6ICcuJGRiLT5zcWwuJyAtLSAnLiRkYi0+RXJyb3JNc2coKSk7CiAgICB9CiAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwogICAgJHRoaXMtPl9kaXJ0eSA9IGZhbHNlOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIHVwZGF0ZSgpCiAgewogICAgaWYoICEkdGhpcy0+X2RpcnR5ICkgcmV0dXJuOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRub3cgPSB0aW1lKCk7CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkQuJwogICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgdHlwZSA9ID8sIGRlc2NyaXB0aW9uID0gPywgaW1hZ2UgPSA/LCBkYXRhID0gPywgbW9kaWZpZWQgPSA/CiAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKCiAgICAkZGF0YSA9ICR0aGlzLT5fZGF0YTsKICAgIHVuc2V0KCRkYXRhWydpZCddKTsKCiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJHRoaXMtPm5hbWUsJHRoaXMtPnR5cGUsJHRoaXMtPmRlc2NyaXB0aW9uLCR0aGlzLT5pbWFnZSwKCQkJICAgICAgc2VyaWFsaXplKCRkYXRhKSwkbm93LCR0aGlzLT5pZCkpOwogICAgaWYoICEkZGJyICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdEYXRhYmFzZSBFcnJvcjogJy4kZGItPnNxbC4nIC0tICcuJGRiLT5FcnJvck1zZygpKTsKICAgIH0KICAgICR0aGlzLT5fZGlydHkgPSBmYWxzZTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJmxvYWRfZnJvbV9kYXRhKCRkYXRhKQogIHsKICAgIGlmKCAhaXNzZXQoJGRhdGFbJ2lkJ10pIHx8ICFpc3NldCgkZGF0YVsnbmFtZSddKSApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBkYXRhIGluIGFycmF5IC4uLiBtaXNzaW5nIGRhdGEnKTsKICAgIH0KCiAgICBmb3JlYWNoKCAkZGF0YSBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgaWYoICFzZWxmOjpfdmFsaWRfa2V5KCRrZXkpICYmICRrZXkgIT0gJ2RhdGEnICkgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBkYXRhIGtleSAnLiRrZXkuJyBpbiBhcnJheSAuLi4gY2Fubm90IGxvYWQnKTsKICAgICAgfQogICAgfQoKICAgICRvYmogPSBuZXcgY2dzYV9sZWFkZXJib2FyZDsKICAgIGlmKCBpc3NldCgkZGF0YVsnZGF0YSddKSApIHsKICAgICAgJG9iai0+X2RhdGEgPSB1bnNlcmlhbGl6ZSgkZGF0YVsnZGF0YSddKTsKICAgICAgJG9iai0+X2RhdGFbJ2lkJ10gPSAkZGF0YVsnaWQnXTsKICAgIH0KICAgIGVsc2UgewogICAgICAkb2JqLT5fZGF0YSA9ICRkYXRhOwogICAgfQogICAgCiAgICByZXR1cm4gJG9iajsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGVsZXRlX2J5X2lkKCRpZCkKICB7CiAgICBpZiggKGludCkkaWQgPD0gMCApCiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgaWQgc3BlY2lmaWVkJyk7CgogICAgJGRpciA9IGNnc2FfdXRpbHM6OmdldF9sZWFkZXJib2FyZF9maWxlcGF0aCgpOwogICAgJGxlYWRlcmJvYXJkID0gc2VsZjo6bG9hZF9ieV9pZCgkaWQpOwogICAgY2dzYV91dGlsczo6ZGVsZXRlX2ltYWdlKCRkaXIsJGxlYWRlcmJvYXJkLT5pbWFnZSk7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0JBREdFUy4nIFdIRVJFIGxlYWRlcmJvYXJkX2lkID0gPyc7CiAgICAkYmFkZ2VzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCRpZCkpOwogICAgaWYoIGlzX2FycmF5KCRiYWRnZXMpICYmIGNvdW50KCRiYWRnZXMpICkgewogICAgICBmb3JlYWNoKCAkYmFkZ2VzIGFzICRvbmUgKSB7CgkkZGlyID0gY2dzYV91dGlsczo6Z2V0X2JhZGdlX2ZpbGVwYXRoX2J5X2JhZGdlX2lkKCRvbmUpOwoJaWYoICRkaXIgJiYgaXNfZGlyKCRkaXIpICkgewoJICByZWN1cnNpdmVfZGVsZXRlKCRkaXIpOwoJfQogICAgICB9CiAgICB9CgogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQkFER0VTX1VTRVJTLicgV0hFUkUgbGVhZGVyYm9hcmRfaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRpZCkpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQkFER0VTLicgV0hFUkUgbGVhZGVyYm9hcmRfaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRpZCkpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkRfTUVNQkVSUy4nIFdIRVJFIGJvYXJkX2lkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkaWQpKTsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJELicgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRpZCkpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkaWQsJGFzX29iaiA9IFRSVUUpCiAgewogICAgaWYoIChpbnQpJGlkIDw9IDAgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIGlkIHNwZWNpZmllZCcpOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJELicgV0hFUkUgaWQgPSA/JzsKICAgICRvbmUgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGlkKSk7CgogICAgaWYoIGlzc2V0KCRvbmVbJ2RhdGEnXSkgfHwgaXNfbnVsbCgkb25lWydkYXRhJ10pICkgewogICAgICBpZiggJG9uZVsnZGF0YSddICE9ICcnICkgJG9uZVsnZGF0YSddID0gdW5zZXJpYWxpemUoJG9uZVsnZGF0YSddKTsKICAgICAgaWYoIGlzX2FycmF5KCRvbmVbJ2RhdGEnXSkgKSB7Cglmb3JlYWNoKCAkb25lWydkYXRhJ10gYXMgJGsgPT4gJHYgKSB7CgkgIGlmKCBpbl9hcnJheSgkayxzZWxmOjokX2ZpZWxkcykgKSB7CgkgICAgJG9uZVska10gPSAkdjsKCSAgfQoJfQogICAgICB9CiAgICAgIHVuc2V0KCRvbmVbJ2RhdGEnXSk7CiAgICB9CgogICAgaWYoICRhc19vYmogKSB7CiAgICAgIHJldHVybiBzZWxmOjpsb2FkX2Zyb21fZGF0YSgkb25lKTsKICAgIH0KICAgIHJldHVybiAkb25lOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYWxsKCRhc19vYmogPSBUUlVFKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF9jYWNoZWQpICkgewogICAgICBzZWxmOjokX2NhY2hlZCA9IGFycmF5KCk7CiAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkQuJyBPUkRFUiBCWSBpZCBERVNDJzsKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgCiAgICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKCWZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKCSAgaWYoIGlzc2V0KCRvbmVbJ2RhdGEnXSkgfHwgaXNfbnVsbCgkb25lWydkYXRhJ10pICkgewoJICAgIGlmKCAkb25lWydkYXRhJ10gIT0gJycgKSAkb25lWydkYXRhJ10gPSB1bnNlcmlhbGl6ZSgkb25lWydkYXRhJ10pOwoJICAgIGlmKCBpc19hcnJheSgkb25lWydkYXRhJ10pICkgewoJICAgICAgZm9yZWFjaCggJG9uZVsnZGF0YSddIGFzICRrID0+ICR2ICkgewoJCWlmKCBpbl9hcnJheSgkayxzZWxmOjokX2ZpZWxkcykgKSB7CgkJICAkb25lWyRrXSA9ICR2OwoJCX0KCSAgICAgIH0KCSAgICB9CgkgICAgdW5zZXQoJG9uZVsnZGF0YSddKTsKCSAgICBzZWxmOjokX2NhY2hlZFtdID0gJG9uZTsKCSAgfQoJfQogICAgICB9CiAgICB9CgogICAgJHJlcyA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCBzZWxmOjokX2NhY2hlZCBhcyAkb25lICkgewogICAgICBpZiggJGFzX29iaiApIHsKCSRyZXNbXSA9IHNlbGY6OmxvYWRfZnJvbV9kYXRhKCRvbmUpOwogICAgICB9CiAgICAgIGVsc2UgewoJJHJlc1tdID0gJG9uZTsKICAgICAgfQogICAgfQogICAgcmV0dXJuICRyZXM7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gbWF0Y2hlcyhjZ3NhX2NoZWNraW4gJGNoZWNraW4pCiAgewogICAgc3dpdGNoKCAkdGhpcy0+dHlwZSApIHsKICAgIGNhc2UgJ2ZyaWVuZHMnOgogICAgICByZXR1cm4gRkFMU0U7CgogICAgY2FzZSAnY2hlY2tpbnMnOgogICAgICByZXR1cm4gVFJVRTsKICAgICAgCiAgICBjYXNlICdsb2NhdGlvbic6CiAgICAgIHN3aXRjaCggJHRoaXMtPm1hdGNoX2xvY2F0aW9uICkgewogICAgICBjYXNlICdsb2NhdGlvbmlkJzoKCWlmKCAkY2hlY2tpbi0+bG9jYXRpb24gPT0gJHRoaXMtPmNyaXRlcmlhX2xvY2F0aW9uaWQgKSB7CgkgIHJldHVybiBUUlVFOwoJfQoJYnJlYWs7CgogICAgICBjYXNlICdjYXRlZ29yeSc6CgkkY2F0ZWdvcmllcyA9ICR0aGlzLT5jcml0ZXJpYV9sb2NhdGlvbmNhdGVnb3J5OwoJLy8gdGVzdCBpZiB0aGUgY2hlY2tpbiBsb2NhdGlvbiBpcyBpbiBvbmUgb2YgdGhlc2UgY2F0ZWdvcmllcy4KCSRjZG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ29tcGFueURpcmVjdG9yeScpOyAvLyBtYWtlIHN1cmUgaXQncyBsb2FkZWQuCgkkY29tcGFueSA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkY2hlY2tpbi0+bG9jYXRpb24sJycsVFJVRSxGQUxTRSk7CglpZiggaXNfb2JqZWN0KCRjb21wYW55KSApIHsKCSAgJGNvbXBfY2F0ZWdvcmllcyA9ICRjb21wYW55LT5saXN0X2NhdGVnb3JpZXMoRkFMU0UpOwoJICBpZiggaXNfYXJyYXkoJGNvbXBfY2F0ZWdvcmllcykgJiYgY291bnQoJGNvbXBfY2F0ZWdvcmllcykgKSB7CgkgICAgJGludGVyc2VjdCA9IGFycmF5X2ludGVyc2VjdCgkY2F0ZWdvcmllcywkY29tcF9jYXRlZ29yaWVzKTsKCSAgICBpZiggaXNfYXJyYXkoJGludGVyc2VjdCkgJiYgY291bnQoJGludGVyc2VjdCkgKSB7CgkgICAgICByZXR1cm4gVFJVRTsKCSAgICB9CgkgIH0KCX0KCXJldHVybiBGQUxTRTsKCiAgICAgIGNhc2UgJ2hpZXInOgoJJGhpZXIgPSAkdGhpcy0+Y3JpdGVyaWFfbG9jYXRpb25oaWVyOwoJJGhpZXJjaGlsZHJlbiA9ICR0aGlzLT5jcml0ZXJpYV9sb2NhdGlvbmhpZXJjaGlsZHJlbjsKCSRjZG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ29tcGFueURpcmVjdG9yeScpOyAvLyBtYWtlIHN1cmUgaXQncyBsb2FkZWQuCgkkY29tcGFueSA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkY2hlY2tpbi0+bG9jYXRpb24sJycsVFJVRSxGQUxTRSk7CglpZiggaXNfb2JqZWN0KCRjb21wYW55KSApIHsKCSAgaWYoICRoaWVyID09ICRjb21wYW55LT5oaWVyX2lkICkgcmV0dXJuIFRSVUU7CgkgIGlmKCAkaGllcmNoaWxkcmVuICkgewoJICAgIGlmKCBjZF91dGlsczo6aGllcmFyY2h5X21hdGNoX3BhcmVudCgkY29tcGFueS0+aGllcl9pZCwkaGllcikgKSB7CgkgICAgICByZXR1cm4gVFJVRTsKCSAgICB9CgkgIH0KCX0KICAgICAgfQogICAgICByZXR1cm4gRkFMU0U7CgogICAgY2FzZSAnYWN0aXZpdHknOgogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgICAKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmluZF9tYXRjaGluZyhjZ3NhX2NoZWNraW4gJGNoZWNraW4pCiAgewogICAgJGFsbCA9IHNlbGY6OmdldF9hbGwoKTsKICAgIGlmKCAhaXNfYXJyYXkoJGFsbCkgfHwgY291bnQoJGFsbCkgPT0gMCApIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgICRyZXMgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGFsbCBhcyAkb25lICkgewogICAgICBpZiggJG9uZS0+bWF0Y2hlcygkY2hlY2tpbikgKSB7CgkkcmVzW10gPSAkb25lOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gJHJlczsKICB9CgogIC8vCiAgLy8gbWVtYmVycyBzdHVmZgogIC8vCiAgcHVibGljIGZ1bmN0aW9uIGFkZF9tZW1iZXIoJHVpZCwkc2NvcmUsJG5vdGVzID0gJycpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2lkJ10pIHx8ICR0aGlzLT5fZGF0YVsnaWQnXSA8PSAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IGFkZCBhIG1lbWJlciB0byBhbiB1bnNhdmVkIGxlYWRlcmJvYXJkJyk7CgogICAgJHVpZCA9IChpbnQpJHVpZDsKICAgICRzY29yZSA9IChpbnQpJHNjb3JlOwogICAgaWYoICR1aWQgPCAwIHx8ICRzY29yZSA8IDAgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDYW5ub3QgYWRkIG1lbWJlcnNoaXAuICBJbnZhbGlkIHVpZCBhbmQvb3Igc2NvcmUnKTsKCiAgICAvLyBtZW1iZXJzIGNhbiBvbmx5IGJlIGluIHRoZSB0YWJsZSBvbmNlLgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJEX01FTUJFUlMuJwogICAgICAgICAgICAgIChib2FyZF9pZCx1aWQsc2NvcmUsbm90ZXMpIFZBTFVFUyAoPyw/LD8sPykKICAgICAgICAgICAgICBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBzY29yZSA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+X2RhdGFbJ2lkJ10sJHVpZCwkc2NvcmUsJG5vdGVzLCRzY29yZSkpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGFkanVzdF9zY29yZSgkdWlkLCRkZWx0YSA9IDEpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2lkJ10pIHx8ICR0aGlzLT5fZGF0YVsnaWQnXSA8PSAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IGFkZCBhIG1lbWJlciB0byBhbiB1bnNhdmVkIGxlYWRlcmJvYXJkJyk7CgogICAgJHVpZCA9IChpbnQpJHVpZDsKICAgICRkZWx0YSA9IChpbnQpJGRlbHRhOwogICAgaWYoICR1aWQgPCAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IGFkZCBtZW1iZXJzaGlwLiAgSW52YWxpZCB1aWQgYW5kL29yIHNjb3JlJyk7CgogICAgaWYoICRkZWx0YSA9PSAwICkgcmV0dXJuOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJEX01FTUJFUlMuJyBXSEVSRSBib2FyZF9pZCA9ID8gQU5EIHVpZCA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdGhpcy0+X2RhdGFbJ2lkJ10sJHVpZCkpOwogICAgaWYoICFpc19hcnJheSgkcm93KSB8fCBjb3VudCgkcm93KSA9PSAwICkgewogICAgICByZXR1cm4gJHRoaXMtPmFkZF9tZW1iZXIoJHVpZCwkZGVsdGEpOwogICAgfQoKICAgICRxdWVyeSA9ICdVUERBVEUgJy5DR1NPQ0lBTF9UQUJMRV9MRUFERVJCT0FSRF9NRU1CRVJTLicgU0VUIHNjb3JlID0gc2NvcmUgKyA/IAogICAgICAgICAgICAgIFdIRVJFIGJvYXJkX2lkID0gPyBBTkQgdWlkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRkZWx0YSwkdGhpcy0+X2RhdGFbJ2lkJ10sJHVpZCkpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZV9tZW1iZXIoJHVpZCkKICB7CiAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnaWQnXSkgfHwgJHRoaXMtPl9kYXRhWydpZCddIDw9IDAgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDYW5ub3QgcmVtb3ZlIGEgbWVtYmVyIHRvIGFuIHVuc2F2ZWQgbGVhZGVyYm9hcmQnKTsKCiAgICAkdWlkID0gKGludCkkdWlkOwogICAgaWYoICR1aWQgPCAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IHJlbW92ZSBtZW1iZXJzaGlwLiAgSW52YWxpZCB1aWQnKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkRfTUVNQkVSUy4nCiAgICAgICAgICAgICAgV0hFUkUgYm9hcmRfaWQgPSA/LCBBTkQgdWlkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5fZGF0YVsnaWQnXSwkdWlkKSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X21lbWJlcl9yYW5rKCR1aWQpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2lkJ10pIHx8ICR0aGlzLT5fZGF0YVsnaWQnXSA8PSAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IGdldCBtZW1iZXIgcmFuayBmcm9tIGFuIHVuc2F2ZWQgbGVhZGVyYm9hcmQnKTsKCiAgICAkdWlkID0gKGludCkkdWlkOwogICAgaWYoICR1aWQgPCAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IHJlbW92ZSBtZW1iZXJzaGlwLiAgSW52YWxpZCB1aWQnKTsKCiAgICAkcXVlcnkgPSAnU0VUIEByYW5rID0gMDsgCiAgICAgICAgICAgICAgU0VMRUNUIEByYW5rOj1AcmFuaysxIEFTIHJhbmsKICAgICAgICAgICAgICBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkRfTUVNQkVSUy4nCiAgICAgICAgICAgICAgT1JERVIgQlkgc2NvcmUgREVTQyAKICAgICAgICAgICAgICBXSEVSRSBib2FyZF9pZCA9ID8gQU5EIHVpZCA9ID8nOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpcy0+X2RhdGFbJ2lkJ10sJHVpZCkpOwogICAgcmV0dXJuICR0bXA7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X21lbWJlcl9pbmZvKCR1aWQpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2lkJ10pIHx8ICR0aGlzLT5fZGF0YVsnaWQnXSA8PSAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IHJlbW92ZSBhIG1lbWJlciB0byBhbiB1bnNhdmVkIGxlYWRlcmJvYXJkJyk7CgogICAgJHVpZCA9IChpbnQpJHVpZDsKICAgIGlmKCAkdWlkIDwgMCApCiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Nhbm5vdCByZXRyaWV2ZSBtZW1iZXJzaGlwLiAgSW52YWxpZCB1aWQnKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9MRUFERVJCT0FSRF9NRU1CRVJTLicKICAgICAgICAgICAgICBXSEVSRSBib2FyZF9pZCA9ID8gQU5EIHVpZCA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdGhpcy0+X2RhdGFbJ2lkJ10sJHVpZCkpOwogICAgcmV0dXJuICRyb3c7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gY291bnRfbWVtYmVycygpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2lkJ10pIHx8ICR0aGlzLT5fZGF0YVsnaWQnXSA8PSAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IHJlbW92ZSBhIG1lbWJlciB0byBhbiB1bnNhdmVkIGxlYWRlcmJvYXJkJyk7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQodWlkKSBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkRfTUVNQkVSUy4nCiAgICAgICAgICAgICAgV0hFUkUgYm9hcmRfaWQgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXMtPl9kYXRhWydpZCddKSk7CiAgICByZXR1cm4gJHRtcDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBjb3VudF9tZW1iZXJzX2J5X3Njb3JlKCRtaW5fc2NvcmUsJG1heF9zY29yZSA9IG51bGwpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2lkJ10pIHx8ICR0aGlzLT5fZGF0YVsnaWQnXSA8PSAwICkKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IHJlbW92ZSBhIG1lbWJlciB0byBhbiB1bnNhdmVkIGxlYWRlcmJvYXJkJyk7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRtaW5fc2NvcmUgPSAoaW50KSRtaW5fc2NvcmU7CiAgICBpZiggJG1pbl9zY29yZSA8IDAgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHZhbHVlIGZvciBtaW4gc2NvcmUnKTsKICAgIAogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBDT1VOVCh1aWQpIAogICAgICAgICAgICAgIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9MRUFERVJCT0FSRF9NRU1CRVJTLicgCiAgICAgICAgICAgICAgV0hFUkUgYm9hcmRfaWQgPSA/IEFORCBzY29yZSA+PSA/JzsKICAgICRwYXJtcyA9IGFycmF5KCR0aGlzLT5fZGF0YVsnaWQnXSk7CiAgICAkcGFybXNbXSA9ICRtaW5fc2NvcmU7CiAgICAKICAgIGlmKCAkbWF4X3Njb3JlICkgewogICAgICAkbWF4X3Njb3JlID0gKGludCkkbWF4X3Njb3JlOwogICAgICBpZiggJG1heF9zY29yZSA8IDAgKSAKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWUgZm9yIG1heCBzY29yZScpOwoKICAgICAgaWYoICRtYXhfc2NvcmUgPiAkbWluX3Njb3JlICkgewoJJHF1ZXJ5IC49ICcgQU5EIHNjb3JlIDw9ID8nOwoJJHBhcm1zW10gPSAkbWF4X3Njb3JlOwogICAgICB9CiAgICB9CgogICAgJHJlc3VsdCA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcGFybXMpOwogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlX21lbWJlcnNfYnlfc2NvcmUoKQogIHsKICAgIC8vIEB0b2RvCiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X21lbWJlcl9zY29yZXMoJHVpZGxpc3QpCiAgewogICAgLy8gQHRvZG8KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfbWVtYmVyX3JhbmtpbmdzKCR1aWRsaXN0KQogIHsKICAgIC8vIEB0b2RvCiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2xlYWRlcnMoJGxpbWl0LCRvZmZzZXQgPSAwKQogIHsKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSB8fCAkdGhpcy0+X2RhdGFbJ2lkJ10gPD0gMCApCiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Nhbm5vdCBnZXQgbWVtYmVyIHJhbmsgZnJvbSBhbiB1bnNhdmVkIGxlYWRlcmJvYXJkJyk7CgogICAgJGxpbWl0ID0gKGludCkkbGltaXQ7CiAgICAkb2Zmc2V0ID0gKGludCkkb2Zmc2V0OwogICAgaWYoICRsaW1pdCA8IDAgfHwgJG9mZnNldCA8IDAgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIGxpbWl0IGFuZC9vciBvZmZzZXQnKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCB1aWQKICAgICAgICAgICAgICBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkRfTUVNQkVSUy4nCiAgICAgICAgICAgICAgV0hFUkUgYm9hcmRfaWQgPSA/CiAgICAgICAgICAgICAgT1JERVIgQlkgc2NvcmUgREVTQyc7CiAgICAkdG1wID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJGxpbWl0LCRvZmZzZXQsYXJyYXkoJHRoaXMtPl9kYXRhWydpZCddKSk7CiAgICAkcmVzID0gYXJyYXkoKTsKICAgIHdoaWxlKCAkdG1wICYmICEkdG1wLT5FT0YgKSB7CiAgICAgICRyZXNbXSA9ICR0bXAtPmZpZWxkc1sndWlkJ107CiAgICAgICR0bXAtPk1vdmVOZXh0KCk7CiAgICB9CiAgICByZXR1cm4gJHJlczsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfYmFkZ2VzKCRhc19vYmogPSBUUlVFKQogIHsKICAgIGlmKCAhJHRoaXMtPmlkICkgcmV0dXJuOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0JBREdFUy4nCiAgICAgICAgICAgICAgV0hFUkUgbGVhZGVyYm9hcmRfaWQgPSA/JzsKICAgICRkYXRhID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHRoaXMtPmlkKSk7CiAgICBpZiggaXNfYXJyYXkoJGRhdGEpICYmIGNvdW50KCRkYXRhKSApIHsKICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2goICRkYXRhIGFzICRvbmUgKSB7CglpZiggJGFzX29iaiApIHsKCSAgJG9iaiA9IGNnc2FfYmFkZ2U6OmxvYWRfZnJvbV9kYXRhKCRvbmUpOwoJICBpZiggaXNfb2JqZWN0KCRvYmopICkgewoJICAgICRvdXRbXSA9ICRvYmo7CgkgIH0KCX0KCWVsc2UgewoJICAkb3V0W10gPSAkb25lOwoJfQogICAgICB9CiAgICAgIHJldHVybiAkb3V0OwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uICZnZXRfYmFkZ2VfYnlfaWQoJGJhZGdlX2lkKQogIHsKICAgIGlmKCAhJHRoaXMtPmlkICkgcmV0dXJuOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0JBREdFUy4nCiAgICAgICAgICAgICAgV0hFUkUgbGVhZGVyYm9hcmRfaWQgPSA/IEFORCBpZCA9ID8nOwogICAgJGRhdGEgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHRoaXMtPmlkLCRiYWRnZV9pZCkpOwogICAgaWYoIGlzX2FycmF5KCRkYXRhKSAmJiBjb3VudCgkZGF0YSkgKSB7CiAgICAgICRvYmogPSBjZ3NhX2JhZGdlOjpsb2FkX2Zyb21fZGF0YSgkZGF0YSk7CiAgICAgIGlmKCBpc19vYmplY3QoJG9iaikgKSByZXR1cm4gJG9iajsKICAgIH0KICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_leaderboard_tasks.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKICAvLyBpbnRlcm5hbC4KZmluYWwgY2xhc3MgY2dzYV9sZWFkZXJib2FyZF90YXNrcyAKewogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdXBkYXRlX2xlYWRlcmJvYXJkX3Njb3JlcyhjZ2pvYm1ncl90YXNrJiAkdGFzaykKICB7CiAgICAvLyBnZXQgYWxsIGxlYWRlcmJvYXJkcwogICAgLy8gZm9yIGVhY2ggbGVhZGVyYm9hcmQKICAgIC8vICAgY291bnQgKHByb2Nlc3NlZCkgY2hlY2tpbnMgdGhhdCBtYXRjaCBpdC4KICAgIC8vICAgICAob25lIHNlcmllcyBvZiBmdW5reSBhZHZhbmNlZCBxdWVyaWVzKQogICAgLy8gICAgIHJldHVybiBVSUQgYW5kIHNjb3JlCiAgICAvLyAgIGRlbGV0ZSBtZW1iZXJzIGZvciB0aGlzIGxlYWRlcmJvYXJkCiAgICAvLyAgIGZvcmVhY2ggdWlkCiAgICAvLyAgICAgaW5zZXJ0IHNjb3JlcwogIH0KCiAgLy8gQHRvZG86IHJlbmFtZSB0aGlzIGZ1bmN0aW9uCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB1cGRhdGVfb25lX2xlYWRlcmJvYXJkKGNnam9ibWdyX3Rhc2smICR0YXNrKQogIHsKICAgIGF1ZGl0KCcnLCdDR1NvY2lhbEFwcCcsJ3VwZGF0ZV9vbmVfbGVhZGVyYm9hcmQnKTsKCiAgICAvLyBmaW5kIGNoZWNraW5zIHRoYXQgYXJlIG5vdCBwcm9jZXNzZWQKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0NIRUNLSU5TLicKICAgICAgICAgICAgICBXSEVSRSBDT0FMRVNDRShwcm9jZXNzZWQsMCkgPSAwIEFORCBhcHByb3ZlZCA9IDEgTElNSVQgNTAnOwogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgIGlmKCAhaXNfYXJyYXkoJGRicikgfHwgY291bnQoJGRicikgPT0gMCApIHsKICAgICAgcmV0dXJuIGNnam9ibWdyX3Rhc2s6OlNUQVRVU19DT01QTEVURTsKICAgIH0KCiAgICBmb3JlYWNoKCAkZGJyIGFzICRyb3cgKSB7CiAgICAgICRjaGVja2luID0gY2dzYV9jaGVja2luOjpsb2FkX2Zyb21fYXJyYXkoJHJvdyk7CgogICAgICAvLyBpZiB0aGVyZSBhcmUgdGFnZ2VkIHVzZXJzIAogICAgICAkdGFnZ2VkID0gJGNoZWNraW4tPmdldF90YWdnZWRfdXNlcnMoKTsKICAgICAgaWYoIGlzX2FycmF5KCR0YWdnZWQpICYmIGNvdW50KCR0YWdnZWQpICkgewoJLy8gbm90aWZ5IHVzZXIgdGhhdCBoZSB3YXMgdGFnZ2VkLgoJY2dzYV9jaGVja2luX3V0aWxzOjpub3RpZnlfdGFnZ2VkX3VzZXJzKCRjaGVja2luKTsKICAgICAgfQoKICAgICAgJHJlcyA9IGNnc2FfbGVhZGVyYm9hcmQ6OmZpbmRfbWF0Y2hpbmcoJGNoZWNraW4pOwogICAgICBpZiggaXNfYXJyYXkoJHJlcykgKSB7CgkvLyB3ZSBoYXZlIG9uZSBvciBtb3JlIG1hdGNoaW5nIGxlYWRlcmJvYXJkLgoJZm9yZWFjaCggJHJlcyBhcyAkbGVhZGVyYm9hcmQgKSB7CgkgIC8vIGFkZCBhIHNjb3JlIGZvciB0aGlzIGl0ZW0uCgkgICRsZWFkZXJib2FyZC0+YWRqdXN0X3Njb3JlKCRjaGVja2luLT5vd25lcik7CgkgIGF1ZGl0KCRjaGVja2luLT5vd25lciwnQ0dTb2NpYWxBcHAnLCdBZGp1c3RlZCBzY29yZSBmb3IgbGVhZGVyYm9hcmQgJy4kbGVhZGVyYm9hcmQtPmlkKTsKCX0KICAgICAgfQogICAgICAkY2hlY2tpbi0+cHJvY2Vzc2VkID0gMTsKICAgICAgJGNoZWNraW4tPnNhdmUoKTsKICAgIH0KCiAgICByZXR1cm4gY2dqb2JtZ3JfdGFzazo6U1RBVFVTX0lOQ09NUExFVEU7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVwZGF0ZV9iYWRnZXNfZm9yX2xlYWRlcmJvYXJkKGNnam9ibWdyX3Rhc2smICR0YXNrKQogIHsKICAgIGF1ZGl0KCcnLCdDR1NvY2lhbEFwcCcsJ3VwZGF0ZV9iYWRnZXNfZm9yX2xlYWRlcmJvYXJkJyk7CgogICAgJG9mZnNldCA9ICR0YXNrLT5nZXRfcGVyc2lzdGVudF9kYXRhKCdsZWFkZXJib2FyZF9vZmZzZXQnLDApOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkNHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJEOwogICAgJGRiciA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5LDIwLCRvZmZzZXQpOwoKICAgICRucmVjb3JkcyA9ICRkYnItPlJlY29yZENvdW50KCk7CiAgICB3aGlsZSggJGRiciAmJiAhJGRici0+RU9GICkgewogICAgICAkbGVhZGVyYm9hcmQgPSBjZ3NhX2xlYWRlcmJvYXJkOjpsb2FkX2Zyb21fZGF0YSgkZGJyLT5maWVsZHMpOwogICAgICBpZiggIWlzX29iamVjdCgkbGVhZGVyYm9hcmQpICkgewoJLy8gc2hvdWxkIGF1ZGl0IHRoaXMuLgoJJGRici0+TW92ZU5leHQoKTsKCWNvbnRpbnVlOwogICAgICB9CgogICAgICAkYmFkZ2VzID0gJGxlYWRlcmJvYXJkLT5nZXRfYmFkZ2VzKCk7CiAgICAgIGlmKCAhaXNfYXJyYXkoJGJhZGdlcykgfHwgY291bnQoJGJhZGdlcykgPT0gMCApIHsKCSRkYnItPk1vdmVOZXh0KCk7Cgljb250aW51ZTsKICAgICAgfQoKICAgICAgZm9yZWFjaCggJGJhZGdlcyBhcyAkb25lX2JhZGdlICkgewoJJG1heF9zY29yZSA9ICRvbmVfYmFkZ2UtPm1heF9zY29yZTsKCWlmKCAkbWF4X3Njb3JlIDwgMSApICRtYXhfc2NvcmUgPSAxMDAwMDAwOwoKCS8vIGRlbGV0ZSBiYWRnZSBtZW1iZXJzIHdobyBubyBsb25nZXIgbWVldCB0aGUgY3JpdGVyaWEKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIEJVLnVpZCBGUk9NICcuQ0dTT0NJQUxfVEFCTEVfQkFER0VTX1VTRVJTLicgQlUKICAgICAgICAgICAgICAgICAgTEVGVCBKT0lOICcuQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkRfTUVNQkVSUy4nIExNCiAgICAgICAgICAgICAgICAgIE9OIEJVLnVpZCA9IExNLnVpZCAKICAgICAgICAgICAgICAgICAgQU5EIEJVLmxlYWRlcmJvYXJkX2lkID0gTE0uYm9hcmRfaWQgCiAgICAgICAgICAgICAgICAgIEFORCBCVS5iYWRnZV9pZCA9ID8KICAgICAgICAgICAgICAgICAgV0hFUkUgTE0uc2NvcmUgTk9UIEJFVFdFRU4gPyBBTkQgPyc7CgkkdWlkcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSxhcnJheSgkb25lX2JhZGdlLT5pZCwkb25lX2JhZGdlLT5taW5fc2NvcmUsJG1heF9zY29yZSkpOwoJaWYoIGlzX2FycmF5KCR1aWRzKSAmJiBjb3VudCgkdWlkcykgKSB7CgkgIGZvcmVhY2goICR1aWRzIGFzICRvbmVfdWlkICkgewoJICAgIGNnc2FfYmFkZ2VfdXRpbHM6OnJlbW92ZV9iYWRnZV9tZW1iZXIoJG9uZV9iYWRnZSwkb25lX3VpZCk7CgkgIH0KCX0KCglpZiggJG9uZV9iYWRnZS0+aXNfdW5pcXVlICkgewoJICBpZiggJG9uZV9iYWRnZS0+Y291bnRfbWVtYmVycygpICE9IDAgKSB7CgkgICAgY29udGludWU7CgkgIH0KCX0KCgkvLyBnZXQgdXNlcnMgd2hvJ3Mgc2NvcmUgbWF0Y2hlcwoJJHF1ZXJ5ID0gJ1NFTEVDVCBMTS51aWQgRlJPTSAnLkNHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJEX01FTUJFUlMuJyBMTQogICAgICAgICAgICAgICAgICBXSEVSRSBMTS5ib2FyZF9pZCA9ID8gQU5EIExNLnNjb3JlIEJFVFdFRU4gPyBBTkQgPyc7CgkkdWlkczEgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJGxlYWRlcmJvYXJkLT5pZCwoaW50KSRvbmVfYmFkZ2UtPm1pbl9zY29yZSwKCQkJCQkgJG1heF9zY29yZSkpOwoJaWYoICFpc19hcnJheSgkdWlkczEpIHx8IGNvdW50KCR1aWRzMSkgPT0gMCApIHsKCSAgY29udGludWU7Cgl9CiAgICAgICAgCgkvLyBjaGVjayBpZiBhbnkgb2YgdGhlc2UgdXNlcnMgaGF2ZSB0aGlzIGJhZGdlIGFscmVhZHkKCSRxdWVyeSA9ICdTRUxFQ1QgQlUudWlkIEZST00gJy5DR1NPQ0lBTF9UQUJMRV9CQURHRVNfVVNFUlMuJyBCVQogICAgICAgICAgICAgICAgICBXSEVSRSBCVS5sZWFkZXJib2FyZF9pZCA9ID8gQU5EIEJVLmJhZGdlX2lkID0gPyBBTkQgQlUudWlkIElOICgnLmltcGxvZGUoJywnLCR1aWRzMSkuJyknOwoJJHVpZHMyID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KChpbnQpJGxlYWRlcmJvYXJkLT5pZCwoaW50KSRvbmVfYmFkZ2UtPmlkKSk7CgoJaWYoICFpc19hcnJheSgkdWlkczIpIHx8IGNvdW50KCR1aWRzMikgPT0gMCApIHsKCSAgJG5ld19iYWRnZV91aWRzID0gJHVpZHMxOwoJfQoJZWxzZSB7CgkgICRuZXdfYmFkZ2VfdWlkcyA9IGFycmF5X2RpZmYoJHVpZHMxLCR1aWRzMik7Cgl9CgoJaWYoICFpc19hcnJheSgkbmV3X2JhZGdlX3VpZHMpIHx8IGNvdW50KCRuZXdfYmFkZ2VfdWlkcykgPT0gMCApIHsKCSAgY29udGludWU7Cgl9CgoJZm9yZWFjaCggJG5ld19iYWRnZV91aWRzIGFzICRuZXdtZW1iZXIgKSB7CgkgIGNnc2FfYmFkZ2VfdXRpbHM6OmFkZF9iYWRnZV9tZW1iZXIoJG9uZV9iYWRnZSwkbmV3bWVtYmVyKTsKCSAgYXVkaXQoJG5ld21lbWJlciwnQ0dTb2NpYWxBcHAnLCdBZGRlZCBiYWRnZSAnLiRvbmVfYmFkZ2UtPm5hbWUpOwoJfQogICAgICB9CiAgICAgICRkYnItPk1vdmVOZXh0KCk7CiAgICB9CiAgICBpZiggJG5yZWNvcmRzIDwgMjAgKSB7CiAgICAgIC8vIHRhc2sgaXMgY29tcGxldGUKICAgICAgJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2xlYWRlcmJvYXJkX29mZnNldCcsMCk7CiAgICAgIHJldHVybiBjZ2pvYm1ncl90YXNrOjpTVEFUVVNfQ09NUExFVEU7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHRhc2stPnNldF9wZXJzaXN0ZW50X2RhdGEoJ2xlYWRlcmJvYXJkX29mZnNldCcsJG9mZnNldCskbnJlY29yZHMpOwogICAgICByZXR1cm4gY2dqb2JtZ3JfdGFzazo6U1RBVFVTX0lOQ09NUExFVEU7CiAgICB9CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_log.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ3NhX2xvZ19lbnRyeQp7CiAgc3RhdGljIHByaXZhdGUgJF9rZXlzID0gYXJyYXkoJ3VpZCcsJ3doZW4nLCdpdGVtJywnaXRlbV9pZCcsJ2Rlc2NyaXB0aW9uJywnbm90ZXMnKTsKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgJHRoaXMtPl9kYXRhWyd3aGVuJ10gPSB0aW1lKCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGssJHYpCiAgewogICAgc3dpdGNoKCAkayApIHsKICAgIGNhc2UgJ3VpZCc6CiAgICBjYXNlICd3aGVuJzoKICAgIGNhc2UgJ2l0ZW1faWQnOgogICAgICBpZiggKGludCkkdiA9PSAwICkgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdDEgdG8gc3RvcmUgaW52YWxpZCB2YWx1ZSBmb3IgJy4kay4nICgnLiR2LicpIGludG8gY2dzYV9sb2dfZW50cnkgb2JqZWN0Jyk7CiAgICAgIH0KICAgICAgJHRoaXMtPl9kYXRhWyRrXSA9IChpbnQpJHY7CiAgICAgIGJyZWFrOwogICAgICAKICAgIGNhc2UgJ2l0ZW0nOgogICAgICBpZiggdHJpbSgkdikgPT0gJycgKSB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0MiB0byBzdG9yZSBpbnZhbGlkIHZhbHVlIGZvciAnLiRrLicgKCcuJHYuJykgaW50byBjZ3NhX2xvZ19lbnRyeSBvYmplY3QnKTsKICAgICAgfQogICAgICAkdGhpcy0+X2RhdGFbJGtdID0gdHJpbSgkdik7CiAgICAgIGJyZWFrOwogICAgICAKICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgJHRoaXMtPl9kYXRhWyRrXSA9IHRyaW0oJHYpOwogICAgICBicmVhazsKICAgICAgCiAgICBjYXNlICdub3Rlcyc6CiAgICAgICR0aGlzLT5fZGF0YVska10gPSAkdjsKICAgICAgYnJlYWs7CiAgICAgIAogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdDMgdG8gc3RvcmUgaW52YWxpZCB2YWx1ZSBmb3IgJy4kay4nICgnLiR2LicpIGludG8gY2dzYV9sb2dfZW50cnkgb2JqZWN0Jyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGspCiAgewogICAgaWYoICFpbl9hcnJheSgkayxzZWxmOjokX2tleXMpICkgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHJldHJpZXZlIGludmFsaWQga2V5ICcuJGtleS4nIGZyb20gY2dzYV9sb2dfZW50cnkgb2JqZWN0Jyk7CiAgICB9CgogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska10pICkgcmV0dXJuICR0aGlzLT5fZGF0YVska107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gX19pc3NldCgkaykKICB7CiAgICBpZiggIWluX2FycmF5KCRrLHNlbGY6OiRfa2V5cykgKSB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gcmV0cmlldmUgaW52YWxpZCBrZXkgJy4ka2V5LicgZnJvbSBjZ3NhX2xvZ19lbnRyeSBvYmplY3QnKTsKICAgIH0KCiAgICByZXR1cm4gKGlzc2V0KCR0aGlzLT5fZGF0YVska10pKT9UUlVFOkZBTFNFOwogIH0KCn0KCmNsYXNzIGNnc2FfbG9nCnsKICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBhZGRFbnRyeShjZ3NhX2xvZ19lbnRyeSAkZW50cnkpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHU09DSUFMX1RBQkxFX0xPRy4nICh3aGVuLGl0ZW0sZGVzY3JpcHRpb24sbm90ZXMpIFZBTFVFUyAoPyw/LD8sPyknOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCWFycmF5KCRlbnRyeS0+d2hlbiwkZW50cnktPml0ZW0sJGVudHJ5LT5kZXNjcmlwdGlvbiwkZW50cnktPm5vdGVzKSk7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFkZCgkaXRlbSwkZGVzY3JpcHRpb24sJHVpZCA9IG51bGwsJGl0ZW1faWQgPSBudWxsLCRub3RlcyA9IG51bGwpCiAgewogICAgZGVidWdfdG9fbG9nKCJjZ3NhX2xvZzo6YWRkKCckaXRlbScsJyRkZXNjcmlwdGlvbicsJHVpZCwkaXRlbV9pZCwnJG5vdGVzJykiKTsKICAgICRlbnRyeSA9IG5ldyBjZ3NhX2xvZ19lbnRyeTsKICAgICRlbnRyeS0+aXRlbSA9ICRpdGVtOwogICAgJGVudHJ5LT5kZXNjcmlwdGlvbiA9ICRkZXNjcmlwdGlvbjsKICAgICRlbnRyeS0+aXRlbV9pZCA9ICRpdGVtX2lkOwogICAgJGVudHJ5LT51aWQgPSAkdWlkOwogICAgJGVudHJ5LT5ub3RlcyA9ICRub3RlczsKCiAgICByZXR1cm4gc2VsZjo6YWRkRW50cnkoJGVudHJ5KTsKICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_simple_friend_manipulator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGNnc2Ffc2ltcGxlX2ZyaWVuZF9tYW5pcHVsYXRvciBleHRlbmRzIGNnc2FfZnJpZW5kX21hbmlwdWxhdG9yCnsKICAvKioKICAgKiBSZXRyaWV2ZSB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZyaWVuZHMgbGlzdAogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZGVudGlmaWVyCiAgICogQHJldHVybiBhIGNnZmF2IG9iamVjdCBvciBudWxsCiAgICovCiAgcHJpdmF0ZSBmdW5jdGlvbiAmZ2V0X2ZyaWVuZHNfb2JqKCR1aWQpCiAgewogICAgcmV0dXJuIGNnZmF2X29wczo6bG9hZF9vbmUoJHVpZCwnQ0dTb2NpYWxBcHAnLCdmcmllbmRzJyk7CiAgfQoKCiAgLyoqCiAgICogUmV0cmlldmUgYSBsaXN0IG9mIHRoZSB1c2VycyBmcmllbmRzCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyIGlkZW50aWZpZXIKICAgKiBAcGFyYW0gaW50ZWdlciBUaGUgbGltaXQgdG8gdGhlIG51bWJlciBvZiBmcmllbmRzIChub3QgaW1wbGVtZW50ZWQpCiAgICogQHBhcmFtIGludGVnZXIgVGhlIG9mZnNldCAobm90IGltcGxlbWVudGVkKQogICAqIEByZXR1cm4gYXJyYXkgb2YgdWlkcyBvciBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9mcmllbmRzKCR1aWQsJGxpbWl0ID0gMTAwMDAwLCRvZmZzZXQgPSAwKQogIHsKICAgICRvYmogPSAkdGhpcy0+Z2V0X2ZyaWVuZHNfb2JqKCR1aWQpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSApIHsKICAgICAgLy8gdG9kbzogaGFuZGxlIGxpbWl0IGFuZCBvZmZzZXQuCiAgICAgIGlmKCAkb2JqLT5kYXRhICkgcmV0dXJuIHVuc2VyaWFsaXplKCRvYmotPmRhdGEpOwogICAgfQogIH0KCiAgLyoqCiAgICogVGVzdCBpZiBvbmUgdXNlciBpcyBhIGZyaWVuZCBvZiB0aGUgY3VycmVudCB1c2VyLgogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlciBpZGVudGlmaWVyIG9mIHRoZSBjdXJyZW50IHVzZXIKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyIGlkZW50aWZpZXIgb2YgdGhlIHVzZXIgdG8gdGVzdCBhZ2FpbnN0LgogICAqIEByZXR1cm4gYm9vbGVhbgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBpc19mcmllbmQoJHVpZCwkZnVpZCkKICB7CiAgICAkZnJpZW5kcyA9ICR0aGlzLT5nZXRfZnJpZW5kcygkdWlkKTsKICAgIGlmKCBpc19hcnJheSgkZnJpZW5kcykgJiYgY291bnQoJGZyaWVuZHMpICYmIGluX2FycmF5KCRmdWlkLCRmcmllbmRzKSApIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgLyoqCiAgICogQWRkIGZ1aWQgYXMgYSBmcmllbmQgdG8gdWlkCiAgICogVGhpcyBpcyBhIGRhdGFiYXNlIGZ1bmN0aW9uIG9ubHkuICBObyBldmVudHMgYXJlIHNlbnQuCiAgICogVGhpcyBmdW5jdGlvbiBvbmx5IGVmZmVjdHMgb25lIHNpZGUgb2YgdGhlIGZyaWVuZCByZWxhdGlvbnNoaXAKICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXIgaWQgdG8gYWRkIHRvCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kcyB1c2VyIGlkLgogICAqIEByZXR1cm4gbnVsbAogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBhZGRfZnJpZW5kKCR1aWQsJGZ1aWQpCiAgewogICAgaWYoICEkZnVpZCApIHJldHVybjsKICAgICRvYmogPSAkdGhpcy0+Z2V0X2ZyaWVuZHNfb2JqKCR1aWQpOwogICAgaWYoICFpc19vYmplY3QoJG9iaikgKSB7CiAgICAgICRvYmogPSBuZXcgY2dmYXY7CiAgICAgICRvYmotPnVpZCA9ICR1aWQ7CiAgICAgICRvYmotPmtleTEgPSAnQ0dTb2NpYWxBcHAnOwogICAgICAkb2JqLT5rZXkyID0gJ2ZyaWVuZHMnOwogICAgfQogICAgJGZyaWVuZHMgPSBhcnJheSgpOwogICAgaWYoICRvYmotPmRhdGEgKSB7CiAgICAgICRmcmllbmRzID0gdW5zZXJpYWxpemUoJG9iai0+ZGF0YSk7CiAgICB9CiAgICBpZiggIWluX2FycmF5KCRmdWlkLCRmcmllbmRzKSApIHsKICAgICAgJGZyaWVuZHNbXSA9ICRmdWlkOwogICAgICAkb2JqLT5kYXRhID0gc2VyaWFsaXplKCRmcmllbmRzKTsKICAgICAgJG9iai0+c2F2ZSgpOwogICAgfQogIH0KCiAgLyoqCiAgICogRGVsZXRlIGEgZnJpZW5kIHJlbGF0aW9uc2hpcAogICAqIFRoaXMgaXMgYSBkYXRhYmFzZSBmdW5jdGlvbiBvbmx5LCBubyBldmVudHMgYXJlIHRyaWdnZXJlZAogICAqIFRoaXMgbWV0aG9kIG9ubHkgZGVsZXRlcyBvbmUgc2lkZSBvZiB0aGUgZnJpZW5kIHJlbGF0aW9uc2hpcCwgbm90IGJvdGgKICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXJpZAogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGZyaWVuZHMgdXNlciBpZAogICAqIEByZXR1cm4gbnVsbAogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBkZWxfZnJpZW5kKCR1aWQsJGZ1aWQpCiAgewogICAgaWYoICEkZnVpZCApIHJldHVybjsKICAgICRvYmogPSAkdGhpcy0+Z2V0X2ZyaWVuZHNfb2JqKCR1aWQpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSAmJiAkb2JqLT5kYXRhICkKICAgICAgewoJJGZyaWVuZHMgPSB1bnNlcmlhbGl6ZSgkb2JqLT5kYXRhKTsKCSRmdW5jID0gY3JlYXRlX2Z1bmN0aW9uKCckaXRlbSwkZnVpZCcsJ3JldHVybiAkaXRlbSAhPSAkZnVpZCcpOwoJJGZyaWVuZHMgPSBhcnJheV9maWx0ZXIoJGZyaWVuZHMsJGZ1bmMpOwoJaWYoIGNvdW50KCRmcmllbmRzKSA9PSAwICkKCSAgewoJICAgICRvYmotPmRhdGEgPSAnJzsKCSAgfQoJZWxzZQoJICB7CgkgICAgJG9iai0+ZGF0YSA9IHNlcmlhbGl6ZSgkZnJpZW5kcyk7CgkgIH0KCSRvYmotPnNhdmUoKTsKICAgICAgfQogIH0KCiAgLyoqCiAgICogR2V0IHRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgbGlzdCBvZiBkZW5pZWQgZnJpZW5kcwogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlcmlkCiAgICogQHJldHVybiBjZ2ZhdiBvYmplY3Qgb3IgbnVsbAogICAqLwogIHByaXZhdGUgZnVuY3Rpb24gJmdldF9ub3RmcmllbmRzX29iaigkdWlkKQogIHsKICAgIHJldHVybiBjZ2Zhdl9vcHM6OmxvYWRfb25lKCR1aWQsJ0NHU29jaWFsQXBwJywnbm90ZnJpZW5kcycpOwogIH0KCiAgLyoqCiAgICogR2V0IGEgbGlzdCBvZiB0aGUgdWlkcyB0aGF0IHdlIGhhdmUgZGVuaWVkIGZyb20gYmVpbmcgZnJpZW5kcwogICAqCiAgICogQHBhcmFtIHN0cmluZyBUaGUgdXNlcmlkCiAgICogQHJldHVybiBhcnJheSBvZiB1c2VyIGlkcwogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRfbm90ZnJpZW5kcygkdWlkKQogIHsKICAgICRvYmogPSAkdGhpcy0+Z2V0X25vdGZyaWVuZHNfb2JqKCR1aWQpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSApCiAgICAgIHsKCWlmKCAkb2JqLT5kYXRhICkgcmV0dXJuIHVuc2VyaWFsaXplKCRvYmotPmRhdGEpOwogICAgICB9CiAgfQoKICAvKioKICAgKiBBZGQgYSB1c2VyIHRvIG91ciBsaXN0IG9mIG5vdGZyaWVuZHMKICAgKiBUaGlzIG1ldGhvZCBvbmx5IGVmZmVjdHMgb25lIHNpZGUgb2YgdGhlIGZyaWVuZHNoaXAgcmVsYXRpb24sIGFuZCBkb2VzIG5vdCBleHBsaWNpdGx5IHJlbW92ZSBhIGZyaWVuZCBmcm9tIHRoZSBmcmllbmRzbGlzdAogICAqIEl0IGlzIHBvc3NpYmxlIHVzaW5nIHRoaXMgbWV0aG9kIHRvIGhhdmUgYSB1aWQgaW4gdGhlIGZyaWVuZHMgbGlzdCBhbmQgbm90IGZyaWVuZHMgbGlzdC4gIERldmVsb3BlcnMgbXVzdCB1c2UgY2F1dGlvbi4KICAgKiBUaGlzIG1ldGhvZCBkb2VzIHRoZSBkYXRhYmFzZSB3b3JrIG9ubHksIG5vIGV2ZW50cyBhcmUgc2VudC4KICAgKgogICAqIEBwYXJhbSBzdHJpbmcgVGhlIHVzZXIgaWQKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBmcmllbmRzIHVzZXIgaWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gYWRkX25vdGZyaWVuZCgkdWlkLCRmdWlkKQogIHsKICAgIGlmKCAhJHVpZCB8fCAhJGZ1aWQgKSByZXR1cm47CiAgICAkb2JqID0gJHRoaXMtPmdldF9ub3RmcmllbmRzX29iaigkdWlkKTsKICAgIGlmKCAhaXNfb2JqZWN0KCRvYmopICkgewogICAgICAkb2JqID0gbmV3IGNnZmF2OwogICAgICAkb2JqLT51aWQgPSAkdWlkOwogICAgICAkb2JqLT5rZXkxID0gJ0NHU29jaWFsQXBwJzsKICAgICAgJG9iai0+a2V5MiA9ICdub3RmcmllbmRzJzsKICAgIH0KICAgICRub3RmcmllbmRzID0gYXJyYXkoKTsKICAgIGlmKCAkb2JqLT5kYXRhICkgJG5vdGZyaWVuZHMgPSB1bnNlcmlhbGl6ZSgkb2JqLT5kYXRhKTsKICAgIGlmKCAhaW5fYXJyYXkoJGZ1aWQsJGZyaWVuZHMpICkgewogICAgICAvLyB0b2RvOiB0cmlnZ2VyIGFuIGV2ZW50IG9yIHNvbWV0aGluZy4uLiBtYXliZSBhIG1lc3NhZ2UuCiAgICAgICRub3RmcmllbmRzW10gPSAkZnVpZDsKICAgICAgJG9iai0+ZGF0YSA9IHNlcmlhbGl6ZSgkbm90ZnJpZW5kcyk7CiAgICAgICRvYmotPnNhdmUoKTsKICAgIH0KICB9CgoKICAvKioKICAgKiBSZW1vdmUgYSB1c2VyIGZyb20gb3VyIGxpc3Qgb2Ygbm90ZnJpZW5kcwogICAqIFRoaXMgbWV0aG9kIG9ubHkgZWZmZWN0cyBvbmUgc2lkZSBvZiB0aGUgZnJpZW5kc2hpcCByZWxhdGlvbi4gCiAgICogVGhpcyBtZXRob2QgZG9lcyB0aGUgZGF0YWJhc2Ugd29yayBvbmx5LCBubyBldmVudHMgYXJlIHNlbnQuCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyIGlkCiAgICogQHBhcmFtIHN0cmluZyBUaGUgZnJpZW5kcyB1c2VyIGlkCiAgICogQHJldHVybiBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGRlbF9ub3RmcmllbmQoJHVpZCwkZnVpZCkKICB7CiAgICBpZiggISRmdWlkICkgcmV0dXJuOwogICAgJG9iaiA9ICR0aGlzLT5nZXRfZnJpZW5kc19vYmooJHVpZCk7CiAgICBpZiggaXNfb2JqZWN0KCRvYmopICYmICRvYmotPmRhdGEgKSB7CiAgICAgICRub3RmcmllbmRzID0gdW5zZXJpYWxpemUoJG9iai0+ZGF0YSk7CiAgICAgICRmdW5jID0gY3JlYXRlX2Z1bmN0aW9uKCckaXRlbSwkZnVpZCcsJ3JldHVybiAkaXRlbSAhPSAkZnVpZCcpOwogICAgICAkbm90ZnJpZW5kcyA9IGFycmF5X2ZpbHRlcigkbm90ZnJpZW5kcywkZnVuYyk7CiAgICAgIGlmKCBjb3VudCgkbm90ZnJpZW5kcykgPT0gMCApIHsKCSRvYmotPmRhdGEgPSAnJzsKICAgICAgfQogICAgICBlbHNlIHsKCSRvYmotPmRhdGEgPSBzZXJpYWxpemUoJG5vdGZyaWVuZHMpOwogICAgICB9CiAgICAgICRvYmotPnNhdmUoKTsKICAgIH0KICB9CgoKICAvKioKICAgKiBHZXQgdGhlIG9iamVjdCBjb250YWluaW5nIHRoZSBsaXN0IG9mIGN1cnJlbnQgZnJpZW5kIHJlcXVlc3RzCiAgICoKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VyaWQKICAgKiBAcmV0dXJuIGNnZmF2IG9iamVjdCBvciBudWxsCiAgICovCiAgcHJpdmF0ZSBmdW5jdGlvbiAmZ2V0X2ZyaWVuZHJlcXVlc3RzX29iaigkdWlkKQogIHsKICAgIHJldHVybiBjZ2Zhdl9vcHM6OmxvYWRfb25lKCR1aWQsJ0NHU29jaWFsQXBwJywnZnJpZW5kcmVxdWVzdHMnKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZyaWVuZHJlcXVlc3RzKCR1aWQsJGxpbWl0ID0gMTAwMDAsJG9mZnNldCA9IDApCiAgewogICAgJG9iaiA9ICR0aGlzLT5nZXRfZnJpZW5kcmVxdWVzdHNfb2JqKCR1aWQpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSAmJiAkb2JqLT5kYXRhICkgewogICAgICAkdG1wID0gdW5zZXJpYWxpemUoJG9iai0+ZGF0YSk7CiAgICAgIHJldHVybiAkdG1wOwogICAgfQogIH0KCiAgLyoqCiAgICogQ3JlYXRlIGEgZnJpZW5kIHJlcXVlc3QgdG8gdGhlIHVzZXIgaWRlbnRpZmllZCBieSBmdWlkIGZyb20gdGhlIHVzZXIgaWRlbnRpZmllZCBieSB1aWQKICAgKiBUaGlzIGZ1bmN0aW9uIGRvZXMgdGhlIGRhdGFiYXNlIHdvcmsgb25seSwgbm90aWZpY2F0aW9ucyBhcmUgbm90IHNlbnQuCiAgICogCiAgICogQHBhcmFtIHN0cmluZyBUaGUgcG90ZW50aWFsIGZyaWVuZHMgdXNlciBpZAogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGN1cnJlbnQgdXNlcnMgdWlkCiAgICogQHJldHVybiBudWxsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGFkZF9mcmllbmRyZXF1ZXN0KCRmdWlkLCR1aWQpCiAgewogICAgLy8gYWRkIGl0IHRvIHRoZSBmcmllbmRzIHJlcXVlc3RzIHRoaW5nCgogICAgaWYoICEkdWlkIHx8ICEkZnVpZCApIHJldHVybjsKICAgICRvYmogPSAkdGhpcy0+Z2V0X2ZyaWVuZHJlcXVlc3RzX29iaigkZnVpZCk7CiAgICBpZiggIWlzX29iamVjdCgkb2JqKSApIHsKICAgICAgJG9iaiA9IG5ldyBjZ2ZhdjsKICAgICAgJG9iai0+dWlkID0gJGZ1aWQ7CiAgICAgICRvYmotPmtleTEgPSAnQ0dTb2NpYWxBcHAnOwogICAgICAkb2JqLT5rZXkyID0gJ2ZyaWVuZHJlcXVlc3RzJzsKICAgIH0KICAgICRyZXF1ZXN0cyA9IGFycmF5KCk7CiAgICBpZiggJG9iai0+ZGF0YSApICRyZXF1ZXN0cyA9IHVuc2VyaWFsaXplKCRvYmotPmRhdGEpOwogICAgaWYoICFpbl9hcnJheSgkdWlkLCRyZXF1ZXN0cykgKSB7CiAgICAgICRyZXF1ZXN0c1tdID0gJHVpZDsKICAgICAgJG9iai0+ZGF0YSA9IHNlcmlhbGl6ZSgkcmVxdWVzdHMpOwogICAgICAkb2JqLT5zYXZlKCk7CiAgICB9CiAgfQoKCiAgLyoqCiAgICogRGVsZXRlIGEgZnJpZW5kIHJlcXVlc3QgdG8gdGhlIHVzZXIgaWRlbnRpZmllZCBieSBmdWlkIGZyb20gdGhlIHVzZXIgaWRlbnRpZmllZCBieSB1aWQKICAgKiBUaGlzIGZ1bmN0aW9uIGRvZXMgdGhlIGRhdGFiYXNlIHdvcmsgb25seSwgbm90aWZpY2F0aW9ucyBhcmUgbm90IHNlbnQuCiAgICogCiAgICogQHBhcmFtIHN0cmluZyB0aGUgcG90ZW50aWFsIGZyaWVuZHMgdXNlciBpZAogICAqIEBwYXJhbSBzdHJpbmcgVGhlIGN1cnJlbnQgdXNlcnMgaWQKICAgKiBAcmV0dXJuIG51bGwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZGVsX2ZyaWVuZHJlcXVlc3QoJGZ1aWQsJHVpZCkKICB7CiAgICBpZiggISR1aWQgfHwgISRmdWlkICkgcmV0dXJuOwogICAgJG9iaiA9ICR0aGlzLT5nZXRfZnJpZW5kcmVxdWVzdHNfb2JqKCR1aWQpOwogICAgaWYoIGlzX29iamVjdCgkb2JqKSAmJiAkb2JqLT5kYXRhICkgewogICAgICAkcmVxdWVzdHMgPSB1bnNlcmlhbGl6ZSgkb2JqLT5kYXRhKTsKICAgICAgJGZ1bmMgPSBjcmVhdGVfZnVuY3Rpb24oJyRpdGVtLCRmdWlkJywncmV0dXJuICRpdGVtICE9ICRmdWlkJyk7CiAgICAgICRyZXF1ZXN0cyA9IGFycmF5X2ZpbHRlcigkcmVxdWVzdHMsJGZ1bmMpOwogICAgICBpZiggY291bnQoJHJlcXVlc3RzKSA9PSAwICkgewoJJG9iai0+ZGVsZXRlKCk7CiAgICAgIH0KICAgICAgZWxzZSB7Cgkkb2JqLT5kYXRhID0gc2VyaWFsaXplKCRyZXF1ZXN0cyk7Cgkkb2JqLT5zYXZlKCk7CiAgICAgIH0KICAgIH0KICB9CgogIC8qKgogICAqIERlbGV0ZSBhbGwgZnJpZW5kIGluZm9ybWF0aW9uIChmcmllbmRzIGxpc3QsIG5vdGZyaWVuZHMgbGlzdCwgcmVxdWVzdCBsaXN0KSBmb3IgYSB1c2VyLgogICAqIFRoaXMgZnVuY3Rpb24gZG9lcyB0aGUgZGF0YWJhc2Ugd29yayBvbmx5LCBub3RpZmljYXRpb25zIGFyZSBub3Qgc2VudC4KICAgKiAKICAgKiBAcGFyYW0gc3RyaW5nIFRoZSB1c2VycyBpZAogICAqIEByZXR1cm4gbnVsbAogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfYWxsKCR1aWQpCiAgewogICAgJG9iID0gJHRoaXMtPmdldF9mcmllbmRzX29iaigpOwogICAgaWYoIGlzX29iamVjdCgkb2IpICkgJG9iLT5kZWxldGUoKTsKICAgICRvYiA9ICR0aGlzLT5nZXRfbm90ZnJpZW5kc19vYmooKTsKICAgIGlmKCBpc19vYmplY3QoJG9iKSApICRvYi0+ZGVsZXRlKCk7CiAgICAkb2IgPSAkdGhpcy0+Z2V0X2ZyaWVuZHJlcXVlc3RzX29iaigpOwogICAgaWYoIGlzX29iamVjdCgkb2IpICkgJG9iLT5kZWxldGUoKTsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_social.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgY2dzYV9zb2NpYWwgCnsKICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgLyoqCiAgICogTGlzdCBrbm93biwgYW5kIGF2YWlsYWJsZSBzb2NpYWwgbmV0d29ya3MKICAgKgogICAqIEByZXR1cm4gaGFzaCBvZiBNb2R1bGUgTmFtZSwgYW5kIHByaW50YWJsZSBuYW1lLgogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X25ldHdvcmtfbGlzdCgpCiAgewogICAgJG1vZHVsZXMgPSBNb2R1bGVPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+Z2V0X21vZHVsZXNfd2l0aF9jYXBhYmlsaXR5KCdjZ19tZXNzYWdpbmdfY2xpZW50Jyk7CiAgICBpZiggIWlzX2FycmF5KCRtb2R1bGVzKSB8fCBjb3VudCgkbW9kdWxlcykgPT0gMCApIHJldHVybjsKCiAgICAkb3V0ID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICRtb2R1bGVzIGFzICRvbmUgKSB7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG9uZSk7CiAgICAgIGlmKCAhaXNfb2JqZWN0KCRtb2QpICkgY29udGludWU7CgogICAgICBpZiggbWV0aG9kX2V4aXN0cygkb25lLCdnZXRfdXNlcl9rZXknKSAmJiBtZXRob2RfZXhpc3RzKCRvbmUsJ3NldF91c2VyX2tleScpICYmCgkgIG1ldGhvZF9leGlzdHMoJG9uZSwnZ2V0X3RyYW5zcG9ydF9uYW1lJykpIHsKCWlmKCAhaXNzZXQoJG91dFskbW9kLT5HZXROYW1lKCldKSApICRvdXRbJG1vZC0+R2V0TmFtZSgpXSA9ICRtb2QtPmdldF90cmFuc3BvcnRfbmFtZSgpOwogICAgICB9CiAgICB9CiAgICBpZiggY291bnQoJG91dCkgKSByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmluZF9uZXR3b3JrX21vZHVsZSgkc3RyKQogIHsKICAgIGlmKCAhJHN0ciApIHJldHVybjsKICAgICRsaXN0ID0gc2VsZjo6Z2V0X25ldHdvcmtfbGlzdCgpOwogICAgaWYoICFpc19hcnJheSgkbGlzdCkgfHwgY291bnQoJGxpc3QpID09IDAgKSByZXR1cm47CgogICAgZm9yZWFjaCggJGxpc3QgYXMgJG1vZCA9PiAkbGJsICkgewogICAgICBpZiggJHN0ciA9PSAkbW9kICkgcmV0dXJuICRtb2Q7CiAgICAgIGlmKCAkbGJsID09ICRzdHIgKSByZXR1cm4gJG1vZDsKCiAgICAgICR0bXAgPSBzdHJfcmVwbGFjZSgnXycsJyAnLCRzdHIpOwogICAgICBpZiggJHRtcCA9PSAkbGJsICkgcmV0dXJuICRtb2Q7CgogICAgICAkdG1wID0gc3RyX3JlcGxhY2UoJy0nLCcgJywkc3RyKTsKICAgICAgaWYoICR0bXAgPT0gJGxibCApIHJldHVybiAkbW9kOwogICAgfQogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsa_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgY2dzYV91dGlscwp7CiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXR1cm5fZXJyb3IoJG1zZykKICB7CiAgICAkbmFtZSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnQ0dTb2NpYWxBcHAnKS0+R2V0TmFtZSgpOwogICAgYXVkaXQoJycsJG5hbWUsJG1zZyk7CgogICAgJGRhdGEgPSBhcnJheSgnX3N0YXR1cyc9PidFUlJPUicsJ19tZXNzYWdlJz0+JG1zZyk7CiAgICBzZWxmOjpyZXR1cm5fc3VjY2VzcygkZGF0YSk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXR1cm5fc3VjY2VzcygkZGF0YSkKICB7CiAgICAkY29kZSA9IDIwMDsKICAgICRyZXMgPSBhcnJheSgpOwogICAgaWYoIGlzX2FycmF5KCRkYXRhKSApIHsKICAgICAgLy8gaXRzIGFuIGFycmF5CiAgICAgIGlmKCBpc3NldCgkZGF0YVsnX3N0YXR1cyddKSApCgkkcmVzID0gJGRhdGE7CiAgICAgIGVsc2UKCSRyZXNbJ2RhdGEnXSA9ICRkYXRhOwogICAgfQogICAgZWxzZSBpZiggaXNfb2JqZWN0KCRkYXRhKSApIHsKICAgICAgLy8gaXRzIGFuIG9iamVjdAogICAgICAkcmVzWydkYXRhJ10gPSAkZGF0YTsKICAgIH0KICAgIGVsc2UgaWYoICRkYXRhICE9ICcnICkgewogICAgICAkcmVzWydkYXRhJ10gPSAkZGF0YTsKICAgIH0KICAgIGlmKCAhaXNzZXQoJHJlc1snX3N0YXR1cyddKSApIHsKICAgICAgJHJlc1snX3N0YXR1cyddID0gJ09LJzsKICAgIH0KCiAgICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IAogICAgZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KICAgIGhlYWRlcigiSFRUUC8xLjAgJGNvZGUgT0siKTsKICAgIGhlYWRlcigiU3RhdHVzOiAkY29kZSBPSyIpOwogICAgJHRtcCA9IGpzb25fZW5jb2RlKCRyZXMpOwogICAgZWNobyAkdG1wOwogICAgZXhpdCgpOwogIH0KICAKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc19nZXRfcmVxdWVzdCgpCiAgewogICAgaWYoIHN0cnRvdXBwZXIoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10pID09ICdHRVQnICkgCiAgICAgIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfcG9zdF9yZXF1ZXN0KCkKICB7CiAgICBpZiggc3RydG91cHBlcigkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSkgPT0gJ1BPU1QnICkgCiAgICAgIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc19yZXF1ZXN0X3NlY3VyZSgpCiAgewogICAgaWYoICFpc3NldCgkX1NFUlZFUlsnSFRUUFMnXSkgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggJF9TRVJWRVJbJ0hUVFBTJ10gPT0gJycgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggc3RydG91cHBlcigkX1NFUlZFUlsnSFRUUFMnXSkgPT0gJ09GRicgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZ2YWxpZGF0ZV9hcGlrZXkoJGtleSkKICB7CiAgICAkcmVzID0gbnVsbDsKICAgICRvYmogPSBjZ3NhX2FwaWtleTo6bG9hZF9ieV9hcGlrZXkoJGtleSk7CiAgICBpZiggIWlzX29iamVjdCgkb2JqKSApIHJldHVybiAkcmVzOwogICAgaWYoICRvYmotPmV4cGlyZWQoKSApIHJldHVybiAkcmVzOwogICAgcmV0dXJuICRvYmo7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdW5pcXVlX2ZpbGVuYW1lKCRrZXkpCiAgewogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJHN1ZmZpeCA9ICcnOwogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTb2NpYWxBcHAnKTsKICAgICRyb290ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwnXycuJG1vZC0+R2V0TmFtZSgpKTsKICAgICRmaWxlbGltaXQgPSAxMDAwMDsKCiAgICAvLyBub3cgZ2VuZXJhdGUgYSB1bmlxdWUgZmlsZW5hbWUKICAgICRmbiA9ICdmJy5tZDUoJGtleS4kc3VmZml4KTsKICAgIHdoaWxlKCAoaW50KSRzdWZmaXggPCAxMDAgKSB7CiAgICAgICR0bXAgPSBjbXNfam9pbl9wYXRoKCRyb290ZGlyLCRmbik7CiAgICAgICRmaWxlcyA9IGdsb2IoJHRtcC4nKicpOwogICAgICBpZiggIWlzX2FycmF5KCRmaWxlcykgfHwgY291bnQoJGZpbGVzKSA9PSAwICkgcmV0dXJuICRmbjsKICAgICAgJHN1ZmZpeCA9IChpbnQpJHN1ZmZpeCArIDE7CiAgICAgICRmbiA9ICdmJy5tZDUoJGtleS4kc3VmZml4KTsKICAgIH0KICAgIGRpZSgncHJvYmxlbScpOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NoZWNraW5fYXBwcm92YWxfcGFzc3dvcmQoJGxvY2F0aW9uX2lkKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU29jaWFsQXBwJyk7CiAgICBpZiggKCRwd2ZpZWxkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2RfYXBwcm92ZV9wd2ZpZWxkJywtMSkpID09IC0xICkgcmV0dXJuOwoKICAgIC8vIGdldCB0aGUgY29tcGFueSBkaXJlY3RvcnkgbW9kdWxlCiAgICAkY2Rtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NvbXBhbnlEaXJlY3RvcnknKTsKCiAgICAvLyBpcyB0aGlzIGNvbXBhbnkgaW4gb25lIG9mIHRoZSBjYXRlZ29yaWVzIHdlJ3JlIGNvbmNlcm5lZCBhYm91dD8KICAgICR0bXAgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjZF9jYXRlZ29yaWVzX2FwcHJvdmVkY2hlY2tpbnMnKTsKICAgIGlmKCAhJHRtcCApIHJldHVybjsKICAgICR0bXAgPSB1bnNlcmlhbGl6ZSgkdG1wKTsKICAgIGlmKCAhJHRtcCApIHJldHVybjsKICAgICR0bXAgPSBhcnJheV9rZXlzKCR0bXApOwoKICAgIC8vIGdldCB0aGUgY2F0ZWdvcmllcyBmb3IgdGhpcyBjb21wYW55LgogICAgJGNhdHMgPSAkY2Rtb2QtPkdldENhdGVnb3JpZXNGb3JDb21wYW55KCRsb2NhdGlvbl9pZCk7CiAgICBpZiggIWlzX2FycmF5KCRjYXRzKSB8fCBjb3VudCgkY2F0cykgPT0gMCApIHJldHVybjsKCiAgICAkZm5kID0gMDsKICAgIGZvcmVhY2goICRjYXRzIGFzICRrZXkgPT4gJGNhdCApIHsKICAgICAgaWYoIGluX2FycmF5KCRrZXksJHRtcCkgKSB7CgkkZm5kID0gMTsKCWJyZWFrOwogICAgICB9CiAgICB9CiAgICBpZiggISRmbmQgKSByZXR1cm47CgogICAgLy8gZ2V0IHRoZSBmaWVsZCBkZWZpbml0aW9ucyBmb3IgdGhpcyBjb21wYW55LgogICAgJGZpZWxkZGVmcyA9ICRjZG1vZC0+R2V0RmllbGREZWZzRm9yQ29tcGFueSgkaWQsZmFsc2UsZmFsc2UpOwogICAgaWYoICFpc19hcnJheSgkZmllbGRkZWZzKSB8fCBjb3VudCgkZmllbGRkZWZzKSA9PSAwICkgcmV0dXJuOwoKICAgIC8vIGdldCB0aGUgcGFzc3dvcmQuCiAgICBmb3JlYWNoKCAkZmllbGRkZWZzIGFzICRrID0+ICRvbmVkZWYgKSB7CiAgICAgIGlmKCAkb25lZGVmWydpZCddID09ICRwd2ZpZWxkICkgewoJcmV0dXJuIHRyaW0oJG9uZWRlZlsnZGF0YSddKTsKICAgICAgfQogICAgfQoKICAgIC8vIHBhc3N3b3JkIGZpZWxkIG5vdCBmb3VuZC4KICAgIHJldHVybjsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzX2NoZWNraW5fYXBwcm92YWxfcmVxdWlyZWQoJGxvY2F0aW9uX2lkKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU29jaWFsQXBwJyk7CiAgICAkY2Rtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NvbXBhbnlEaXJlY3RvcnknKTsKCiAgICAkdG1wID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2RfY2F0ZWdvcmllc19hcHByb3ZlZGNoZWNraW5zJyk7CiAgICBpZiggISR0bXAgKSByZXR1cm4gRkFMU0U7CiAgICAkdG1wID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICBpZiggISR0bXAgKSByZXR1cm4gRkFMU0U7CiAgICAkdG1wID0gYXJyYXlfa2V5cygkdG1wKTsKICAgIAogICAgJGNhdHMgPSAkY2Rtb2QtPkdldENhdGVnb3JpZXNGb3JDb21wYW55KCRsb2NhdGlvbl9pZCk7CiAgICBpZiggIWlzX2FycmF5KCRjYXRzKSB8fCBjb3VudCgkY2F0cykgPT0gMCApIHJldHVybiBGQUxTRTsKICAgIAogICAgZm9yZWFjaCggJGNhdHMgYXMgJGtleSA9PiAkY2F0ICkgewogICAgICBpZiggaW5fYXJyYXkoJGtleSwkdG1wKSAmJiAkY2F0LT52YWx1ZSA9PSAxICkgewoJcmV0dXJuIFRSVUU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNoZWNrX3VzZXJfdG9fbG9jYXRpb24oJGxvY2F0aW9uX2lkLCR1aWQsJHB3ID0gJycpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTb2NpYWxBcHAnKTsKICAgICR1c2VyZmllbGQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjZF9hcHByb3ZlX3VzZXJmaWVsZCcsLTEpOwogICAgJHB3ZmllbGQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjZF9hcHByb3ZlX3B3ZmllbGQnLC0xKTsKICAgIGlmKCAkdXNlcmZpZWxkID09IC0xICYmICRwd2ZpZWxkID09IC0xICkgcmV0dXJuIEZBTFNFOyAvLyBubyBwYXNzd29yZCBvciB1c2VyZmllbGQgc3BlY2lmaWVkLi4uIGNhbid0IGFwcHJvdmUgc2hpdC4KCiAgICAvLyBnZXQgdGhlIGNvbXBhbnkgZGlyZWN0b3J5IG1vZHVsZQogICAgJGNkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDb21wYW55RGlyZWN0b3J5Jyk7CgogICAgLy8gZ2V0IHRoZSBmaWVsZCBkZWZpbml0aW9ucyBmb3IgdGhpcyBjb21wYW55LgogICAgJGZpZWxkZGVmcyA9ICRjZG1vZC0+R2V0RmllbGREZWZzRm9yQ29tcGFueSgkaWQsZmFsc2UsZmFsc2UpOwogICAgaWYoICFpc19hcnJheSgkZmllbGRkZWZzKSB8fCBjb3VudCgkZmllbGRkZWZzKSA9PSAwICkgcmV0dXJuOwoKICAgIGlmKCAkcHdmaWVsZCA+IDAgKSB7CiAgICAgIC8vIGZpbmQgYW5kIHZhbGlkYXRlIHRoZSBwYXNzd29kLi4uCiAgICAgIGlmKCAkcHcgPT0gJycgKSByZXR1cm4gRkFMU0U7IC8vIG5vIHBhc3N3b3JkIHN1cHBsaWVkLgogICAgICAkZm5kID0gMDsKICAgICAgZm9yZWFjaCggJGZpZWxkZGVmcyBhcyAkayA9PiAkb25lZGVmICkgewoJaWYoICRvbmVkZWZbJ2lkJ10gIT0gJHB3ZmllbGQgKSBjb250aW51ZTsKCQoJaWYoIG1kNSgkb253ZGVmWyd2YWx1ZSddKSA9PSAkcHcgKSB7CgkgICRmbmQgPSAxOwoJfQoJYnJlYWs7CiAgICAgIH0KICAgICAgaWYoICEkZm5kICkgcmV0dXJuIEZBTFNFOyAvLyBwYXNzd29yZCBmaWVsZCBlaXRoZXIgbm90IGZvdW5kLCBvciBkaWQgbm90IG1hdGNoLgogICAgfQoKICAgIGlmKCAkdXNlcmZpZWxkID4gMCApIHsKICAgICAgLy8gdmFsaWRhdGUgdXNlcm5hbWUvdWlkCiAgICAgIGZvcmVhY2goICRmaWVsZGRlZnMgYXMgJGsgPT4gJG9uZWRlZiApIHsKCWlmKCAkb25lZGVmWydpZCddICE9ICR1c2VyZmllbGQgKSBjb250aW51ZTsKCQoJLy8gZm91bmQgdGhlIGZpZWxkLgoJJGRhdGEgPSAkb25lZGVmWyd2YWx1ZSddOwoJaWYoICEkZGF0YSApIGJyZWFrOwoJJGRhdGEgPSBleHBsb2RlKCcsJywkZGF0YSk7CglpZiggIWlzX2FycmF5KCRkYXRhKSB8fCBjb3VudCgkZGF0YSkgPT0gMCApIHJldHVybiBGQUxTRTsKCQoJLy8gbm90ZTogZXhwZW5zaXZlLi4uIGFsbCB1c2VybmFtZXMvdWlkIHNob3VsZCBnbyBpbnRvIG9uZSBsYXJnZSBPUiBxdWVyeQoJZm9yZWFjaCggJGRhdGEgYXMgJG9uZSApIHsKCSAgJG9uZSA9IHRyaW0oJG9uZSk7CgkgIGlmKCBpc19pbnQoJG9uZSkgJiYgJG9uZSA9PSAkdWlkICkgewoJICAgIC8vIGZvdW5kIG1hdGNoaW5nIHVzZXIgdmlhIHVpZAoJICAgIHJldHVybiBUUlVFOwoJICB9CgkgIAoJICAkcXVlcnkgPSBuZXcgZmV1X3VzZXJfcXVlcnkoMSk7CgkgICRxdWVyeS0+YWRkX2FuZF9vcHQoZmV1X3VzZXJfcXVlcnlfb3B0OjpNQVRDSF9VU0VSTkFNRSwkb25lKTsKCSAgJHJzID0gJHF1ZXJ5LT5leGVjdXRlKCk7CgkgIGlmKCAkcnMtPmdldF9mb3VuZF9yb3dzKCkgKSB7CgkgICAgLy8gZm91bmQgbWF0Y2hpbmcgdXNlciB2aWEgdXNlcm5hbWUKCSAgICByZXR1cm4gVFJVRTsKCSAgfQoJfQoJYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLyoqCiAgICogQSBzbWFydHkgcGx1Z2luIHRvIGNyZWF0ZSBhIGRyb3Bkb3duIGZvciBzZWxlY3RpbmcgYW4gYWN0aXZpdHkuCiAgICoKICAgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNtYXJ0eV9zZWxhY3Rpdml0eSgkcGFyYW1zLCRzbWFydHkpCiAgewoJJHByZWZpeCA9ICcnOwoJJGlkID0gJyc7CgkkbmFtZSA9ICdjZ3NhX3NlbGFjdGl2aXR5JzsKCSRjbGFzcyA9ICdjZ3NhX3NlbGFjdGl2aXR5JzsKCSRzZWxlY3RlZCA9ICcnOwoJJGFueSA9ICcnOwoKCWlmKCBpc3NldCgkcGFyYW1zWydwcmVmaXgnXSkgKSAkcHJlZml4ID0gdHJpbSgkcGFyYW1zWydwcmVmaXgnXSk7CglpZiggaXNzZXQoJHBhcmFtc1snaWQnXSkgKSAkaWQgPSB0cmltKCRwYXJhbXNbJ2lkJ10pOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2NsYXNzJ10pICkgJGNsYXNzID0gdHJpbSgkcGFyYW1zWydjbGFzcyddKTsKCWlmKCBpc3NldCgkcGFyYW1zWyduYW1lJ10pICkgJG5hbWUgPSB0cmltKCRwYXJhbXNbJ25hbWUnXSk7CglpZiggaXNzZXQoJHBhcmFtc1snc2VsZWN0ZWQnXSkgKSAkc2VsZWN0ZWQgPSB0cmltKCRwYXJhbXNbJ3NlbGVjdGVkJ10pOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2FueSddKSApIHsKCSAgJHRtcCA9ICRwYXJhbXNbJ2FueSddOwoJICBpZiggKGludCkkdG1wICE9IDAgKQoJICAgICRhbnkgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHU09DSUFMQVBQKS0+TGFuZygnYW55Jyk7CgkgIGVsc2UgCgkgICAgJGFueSA9ICR0bXA7Cgl9CgoJLy8gZ2V0IHRoZSBoaWVyYXJjaHkgYXMgYSBmbGF0IGxpc3QuCgkkaXRlbXMgPSBjZ3NhX2FjdGl2aXR5Ojpsb2FkX2FsbF9hc19hcnJheSgpOwoJaWYoICFpc19hcnJheSgkaXRlbXMpIHx8IGNvdW50KCRpdGVtcykgPT0gMCApIHJldHVybjsKCSR0bXAgPSBhcnJheSgpOwoJZm9yZWFjaCggJGl0ZW1zIGFzICRyb3cgKSB7CgkgICR0MiA9IGV4cGxvZGUoJy4nLCRyb3dbJ2hpZXJhcmNoeSddKTsKCSAgJGRlcHRoID0gY291bnQoJHQyKTsKCSAgJHRtcFskcm93WydpZCddXSA9IHN0cl9yZXBlYXQoJyZuYnNwJm5ic3A7JywkZGVwdGgtMSkuJHJvd1snbmFtZSddOwoJfQoJJGl0ZW1zID0gJHRtcDsKCgkvLyBidWlsZCB0aGUgb3V0cHV0LgoJJG91dCA9ICc8c2VsZWN0IG5hbWU9IicuJHByZWZpeC4kbmFtZS4nIic7CglpZiggJGNsYXNzICkgJG91dCAuPSAnIGNsYXNzPSInLiRjbGFzcy4nIic7CglpZiggJGlkICkgJG91dCAuPSAnIGlkPSInLiRpZC4nIic7Cgkkb3V0IC49ICc+JzsKCWlmKCAkYW55ICE9ICcnICkgJG91dCAuPSAnPG9wdGlvbiB2YWx1ZT0iIj4nLiRhbnkuJzwvb3B0aW9uPic7Cglmb3JlYWNoKCAkaXRlbXMgYXMgJGlkID0+ICRsYWJlbCApIHsKCSAgJG91dCAuPSAnPG9wdGlvbiB2YWx1ZT0iJy4kaWQuJyInOwoJICBpZiggJGlkID09ICRzZWxlY3RlZCApICRvdXQgLj0gJyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzsKCSAgJG91dCAuPSAnPicuJGxhYmVsLic8L29wdGlvbj4nOwoJfQoJJG91dCAuPSAnPC9zZWxlY3Q+JzsKCglpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkgewoJICAkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1snYXNzaWduJ10sJG91dCk7CgkgIHJldHVybjsKCX0KCXJldHVybiAkb3V0OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzbWFydHlfZ2V0YWN0aXZpdHkoJHBhcmFtcywkc21hcnR5KQogIHsKICAgICRhaWQgPSAnJzsKICAgICRvYiA9IG51bGw7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snYWlkJ10pICkgJGFpZCA9IChpbnQpJHBhcmFtc1snYWlkJ107CiAgICBpZiggaXNzZXQoJHBhcmFtc1snYWN0aXZpdHknXSkgKSAkYWlkID0gKGludCkkcGFyYW1zWydhY3Rpdml0eSddOwogICAgCiAgICBpZiggJGFpZCA+IDAgKSB7CiAgICAgICRvYiA9IGNnc2FfYWN0aXZpdHk6OmxvYWRfYnlfaWQoJGFpZCk7CiAgICB9CgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSApIHsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbiddLCRvYik7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICByZXR1cm4gJG9iOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzbWFydHlfZ2V0X2Zhdm9yaXRlcygkcGFyYW1zLCRzbWFydHkpCiAgewogICAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICFpc19vYmplY3QoJGZldSkgKSByZXR1cm47CiAgICAKICAgICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICBpZiggJHVpZCA8IDEgKSByZXR1cm47IC8vIG5vdCBsb2dnZWQgaW4uCgogICAgJG91dCA9IGNnc2FfZmF2b3JpdGVzOjpsaXN0X2Zvcl91c2VyKCR1aWQpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSApIHsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbiddLCRvdXQpOwogICAgICByZXR1cm47CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc21hcnR5X2dldF9mcmllbmRzKCRwYXJhbXMsJHNtYXJ0eSkKICB7CiAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggIWlzX29iamVjdCgkZmV1KSApIHJldHVybjsKICAgIAogICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgIGlmKCAkdWlkIDwgMSApIHJldHVybjsgLy8gbm90IGxvZ2dlZCBpbi4KCiAgICAkb3V0ID0gY2dzYV9mcmllbmRzOjpnZXRfZnJpZW5kcygkdWlkKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKSB7CiAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkb3V0KTsKICAgICAgcmV0dXJuOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9sZWFkZXJib2FyZF9maWxlcGF0aCgpCiAgewogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTb2NpYWxBcHAnKTsKICAgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdfJy4kbW9kLT5HZXROYW1lKCksJ2xlYWRlcmJvYXJkcycpOwogICAgcmV0dXJuICRkaXI7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9sZWFkZXJib2FyZF9maWxldXJsKCkKICB7CiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NvY2lhbEFwcCcpOwogICAgJHVybCA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy9fJy4kbW9kLT5HZXROYW1lKCkuJy9sZWFkZXJib2FyZHMnOwogICAgcmV0dXJuICR1cmw7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9iYWRnZV9maWxlcGF0aF9ieV9iYWRnZV9pZCgkaWQpCiAgewogICAgaWYoICRpZCA8IDEgKSByZXR1cm47CiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NvY2lhbEFwcCcpOwogICAgJGRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ18nLiRtb2QtPkdldE5hbWUoKSwnYmFkZ2VzJywnYicuJGlkKTsKICAgIHJldHVybiAkZGlyOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYmFkZ2VfZmlsZXBhdGgoY2dzYV9iYWRnZSAkYmFkZ2UpCiAgewogICAgaWYoICRiYWRnZS0+aWQgPCAxICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignQ2Fubm90IGNyZWF0ZSBhIGZpbGVwYXRoIGZvciBhIGJhZGdlIHdpdGggbm8gaWQnKTsKICAgIHJldHVybiBzZWxmOjpnZXRfYmFkZ2VfZmlsZXBhdGhfYnlfYmFkZ2VfaWQoJGJhZGdlLT5pZCk7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9iYWRnZV9maWxldXJsKGNnc2FfYmFkZ2UgJGJhZGdlKQogIHsKICAgIGlmKCAkYmFkZ2UtPmlkIDwgMSApIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0Nhbm5vdCBjcmVhdGUgYSBmaWxlcGF0aCBmb3IgYSBiYWRnZSB3aXRoIG5vIGlkJyk7CiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NvY2lhbEFwcCcpOwogICAgJHVybCA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy9fJy4kbW9kLT5HZXROYW1lKCkuJy9iYWRnZXMvYicuJGJhZGdlLT5pZDsKICAgIHJldHVybiAkdXJsOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGVfaW1hZ2UoJGRpciwkbmFtZSkKICB7CiAgICBpZiggJGRpciA9PSAnJyB8fCAkbmFtZSA9PSAnJyApIHJldHVybiBGQUxTRTsKICAgIGlmKCAhaXNfZGlyKCRkaXIpICkgcmV0dXJuIEZBTFNFOwoKICAgICRmaWxlcyA9IGdsb2IoY21zX2pvaW5fcGF0aCgkZGlyLCcqJy4kbmFtZSkpOwogICAgaWYoICFpc19hcnJheSgkZmlsZXMpIHx8IGNvdW50KCRmaWxlcykgPT0gMCApIHJldHVybiBGQUxTRTsKCiAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJG9uZSApIHsKICAgICAgQHVubGluaygkb25lKTsKICAgIH0KICAgIHJldHVybiBUUlVFOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzbWFydHlfdG9nZ2xlZmF2b3JpdGVfbGluaygkcGFyYW1zLCRzbWFydHkpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTb2NpYWxBcHAnKTsKICAgICRmYXZ0ZXh0ID0gJG1vZC0+TGFuZygncHJvbXB0X2FkZHRvZmF2cycpOwogICAgJHVuZmF2dGV4dCA9ICRtb2QtPkxhbmcoJ3Byb21wdF9yZW1vdmVmYXYnKTsKICAgICRjbGFzcyA9ICcnOwogICAgJGNsYXNzdHJ1ZSA9ICcnOwogICAgJGNsYXNzZmFsc2UgPSAnJzsKICAgICRtaWQgPSAnY250bnQwMSc7CiAgICAkaWQgPSAnJzsKICAgICR1cmxvbmx5ID0gMDsKICAgICRqc2ZyaWVuZGx5ID0gMDsKICAgICRub3JlZGlyZWN0ID0gMDsKICAgICRyZXR1cm5pZCA9IGNtc191dGlsczo6Z2V0X2N1cnJlbnRfcGFnZWlkKCk7CiAgICAkcmVkaXJlY3Rjb250ZW50ID0gMDsKICAgICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhaXNfb2JqZWN0KCRmZXUpICkgcmV0dXJuOwogICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgIGlmKCR1aWQgPCAxKSByZXR1cm47CgogICAgaWYoICFpc3NldCgkcGFyYW1zWydsb2NhdGlvbiddKSApIHJldHVybjsKICAgICRsb2NhdGlvbiA9IChpbnQpJHBhcmFtc1snbG9jYXRpb24nXTsKICAgIGlmKCAkbG9jYXRpb24gPCAxICkgcmV0dXJuOwoKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgY2FzZSAnZmF2dGV4dCc6CiAgICAgIGNhc2UgJ3VuZmF2dGV4dCc6CiAgICAgIGNhc2UgJ2NsYXNzJzoKICAgICAgY2FzZSAnY2xhc3N0cnVlJzoKICAgICAgY2FzZSAnY2xhc3NmYWxzZSc6CiAgICAgIGNhc2UgJ2lkJzoKCSQka2V5ID0gdHJpbSgkdmFsdWUpOwoJYnJlYWs7CgogICAgICBjYXNlICdyZXR1cm5pZCc6CgkkJGtleSA9IChpbnQpJHZhbHVlOwoJYnJla2E7CgogICAgICBjYXNlICd1cmxvbmx5JzoKICAgICAgY2FzZSAnanNmcmllbmRseSc6CiAgICAgIGNhc2UgJ25vcmVkaXJlY3QnOgogICAgICBjYXNlICdyZWRpcmVjdGNvbnRlbnQnOgoJJCRrZXkgPSBjbXNfdG9fYm9vbCgkdmFsdWUpOwoJYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICAkcGFybXMgPSBhcnJheSgnbG9jYXRpb24nPT4kbG9jYXRpb24pOwogICAgJHBhcm1zWydub3JlZGlyZWN0J10gPSAkbm9yZWRpcmVjdDsKICAgIGlmKCAhJHJlZGlyZWN0Y29udGVudCApICRwYXJtc1snZGVzdCddID0gYmFzZTY0X2VuY29kZShjZ2VfdXJsOjpjdXJyZW50X3VybCgpKTsKICAgICR1cmwgPSAkbW9kLT5jcmVhdGVfdXJsKCRtaWQsJ3RvZ2dsZWZhdm9yaXRlJywkcmV0dXJuaWQsJHBhcm1zKTsKICAgIGlmKCAkanNmcmllbmRseSApICR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdXJsKS4nJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CgogICAgJG91dCA9IG51bGw7CiAgICBpZiggJHVybG9ubHkgKSB7CiAgICAgICRvdXQgPSAkdXJsOwogICAgfQogICAgZWxzZSB7CiAgICAgICRvdXQgPSAnPGEgaHJlZj0iJy4kdXJsLiciJzsKICAgICAgaWYoICRpZCApICRvdXQgLj0gIiBpZD1cInskaWR9XCIiOwogICAgICAkdHh0ID0gJyc7CiAgICAgIGlmKCBjZ3NhX2Zhdm9yaXRlczo6Y2hlY2soJHVpZCwkbG9jYXRpb24pICkgewoJJHR4dCAuPSAkdW5mYXZ0ZXh0OwoJaWYoICRjbGFzc3RydWUgKSAkY2xhc3M9JGNsYXNzdHJ1ZTsKICAgICAgfSBlbHNlIHsKCSR0eHQgLj0gJGZhdnRleHQ7CglpZiggJGNsYXNzZmFsc2UgKSAkY2xhc3M9JGNsYXNzZmFsc2U7CiAgICAgIH0KICAgICAgaWYoICRjbGFzcyApICRvdXQgLj0gIiBjbGFzcz1cInskY2xhc3N9XCIiOwogICAgICAkb3V0IC49ICc+Jy4kdHh0OwogICAgICAkb3V0IC49ICc8L2E+JzsKICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkgewogICAgICAkc21hcnR5LT5hc3NpZ24odHJpbSgkcGFyYW1zWydhc3NpZ24nXSksJG91dCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJldHVybiAkb3V0OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzbWFydHlfZnJpZW5kcmVxX2xpbmsoJHBhcmFtcywkc21hcnR5KQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU29jaWFsQXBwJyk7CiAgICAkcmVxdGV4dCA9ICRtb2QtPkxhbmcoJ3Byb21wdF9zZW5kZnJpZW5kcmVxJyk7CiAgICAkcm1yZXF0ZXh0ID0gJG1vZC0+TGFuZygncHJvbXB0X3JlbW92ZWZyaWVuZHJlcScpOwogICAgJHJtZnJpZW5kdGV4dCA9ICRtb2QtPkxhbmcoJ3Byb21wdF9yZW1vdmVmcmllbmQnKTsKICAgICRjbGFzcyA9ICcnOwogICAgJG1pZCA9ICdjbnRudDAxJzsKICAgICRpZCA9ICcxJzsKICAgICR1cmxvbmx5ID0gMDsKICAgICRqc2ZyaWVuZGx5ID0gMDsKICAgICRyZWRpcmVjdGNvbnRlbnQgPSAwOwogICAgJG5vcmVkaXJlY3QgPSAwOwogICAgJGFjdGlvbiA9ICdmcmllbmRyZXEnOwogICAgJHJldHVybmlkID0gY21zX3V0aWxzOjpnZXRfY3VycmVudF9wYWdlaWQoKTsKICAgICR0ZXh0ID0gJHJlcXRleHQ7CgogICAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICFpc19vYmplY3QoJGZldSkgKSByZXR1cm47CiAgICAkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgaWYoJHVpZCA8IDEpIHJldHVybjsKCiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ3VzZXInXSkgKSByZXR1cm47CiAgICAkZnVpZCA9IChpbnQpJHBhcmFtc1sndXNlciddOwogICAgaWYoICRmdWlkIDwgMSApIHJldHVybjsKCiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgIGNhc2UgJ3JlcXRleHQnOgogICAgICBjYXNlICdybXJlcXRleHQnOgogICAgICBjYXNlICdjbGFzcyc6CiAgICAgIGNhc2UgJ2lkJzoKCSQka2V5ID0gdHJpbSgkdmFsdWUpOwoJYnJlYWs7CgogICAgICBjYXNlICdyZXR1cm5pZCc6CgkkJGtleSA9IChpbnQpJHZhbHVlOwoJYnJla2E7CgogICAgICBjYXNlICd1cmxvbmx5JzoKICAgICAgY2FzZSAnanNmcmllbmRseSc6CiAgICAgIGNhc2UgJ25vcmVkaXJlY3QnOgogICAgICBjYXNlICdyZWRpcmVjdGNvbnRlbnQnOgoJJCRrZXkgPSBjbXNfdG9fYm9vbCgkdmFsdWUpOwoJYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpZiggJHVpZCA9PSAkZnVpZCApIHJldHVybjsKCiAgICBpZiggY2dzYV9mcmllbmRzOjppc19mcmllbmQoJHVpZCwkZnVpZCkgKSB7CiAgICAgIC8vIGhlJ3MgYWxyZWFkeSBhIGZyaWVuZCwgd2UgY2FuIHJlbW92ZSBoaW0KICAgICAgJHRleHQgPSAkcm1mcmllbmR0ZXh0OwogICAgICAkYWN0aW9uID0gJ3JtZnJpZW5kJzsKICAgIH0KICAgIGVsc2UgaWYoIGNnc2FfZnJpZW5kczo6aXNfcmVxdWVzdGVkKCR1aWQsJGZ1aWQpICkgewogICAgICAvLyBmcmllbmQgcmVxdWVzdCBleGlzdHMuCiAgICAgICR0ZXh0ID0gJHJtcmVxdGV4dDsKICAgICAgJGFjdGlvbiA9ICdybWZyaWVuZHJlcSc7CiAgICB9CgogICAgJHBhcm1zID0gYXJyYXkoJ3VzZXInPT4kZnVpZCk7CiAgICAkcGFybXNbJ25vcmVkaXJlY3QnXSA9ICRub3JlZGlyZWN0OwogICAgaWYoICEkcmVkaXJlY3Rjb250ZW50ICkgJHBhcm1zWydkZXN0J10gPSBiYXNlNjRfZW5jb2RlKGNnZV91cmw6OmN1cnJlbnRfdXJsKCkpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgJHBhcm1zWyd0ZW1wbGF0ZSddID0gdHJpbSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKICAgICR1cmwgPSAkbW9kLT5jcmVhdGVfdXJsKCRtaWQsJGFjdGlvbiwkcmV0dXJuaWQsJHBhcm1zKTsKICAgIGlmKCAkanNmcmllbmRseSApICR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdXJsKS4nJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CgogICAgJG91dCA9IG51bGw7CiAgICBpZiggJHVybG9ubHkgKSB7CiAgICAgICRvdXQgPSAkdXJsOwogICAgfQogICAgZWxzZSB7CiAgICAgICRvdXQgPSAnPGEgaHJlZj0iJy4kdXJsLiciJzsKICAgICAgaWYoICRpZCApICRvdXQgLj0gIiBpZD1cInskaWR9XCIiOwogICAgICBpZiggJGNsYXNzICkgJG91dCAuPSAiIGNsYXNzPVwieyRjbGFzc31cIiI7CiAgICAgICRvdXQgLj0gIj4iLiR0ZXh0LiI8L2E+IjsKICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkgewogICAgICAkc21hcnR5LT5hc3NpZ24odHJpbSgkcGFyYW1zWydhc3NpZ24nXSksJG91dCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJldHVybiAkb3V0OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXZlbnRzKCkKICB7CiAgICByZXR1cm4gYXJyYXkoJ09uQ2hlY2tpbicsJ09uVXBkYXRlQ2hlY2tpbicsJ1ByZURlbGV0ZUNoZWNraW4nLCdQb3N0RGVsZXRlQ2hlY2tpbicsCgkJICdPbkJhZGdlQXdhcmRlZCcsJ09uQmFkZ2VSZXZva2VkJywnT25GcmllbmRSZXF1ZXN0JywnT25GcmllbmRBcHByb3ZlZCcsCgkJICdPbkZyaWVuZFJlamVjdGVkJywnT25GcmllbmRSZW1vdmVkJyk7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNlbmRfZXZlbnQoJGV2ZW50LCRwYXJhbXMgPSBhcnJheSgpKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHU09DSUFMQVBQKTsKICAgICRtb2QtPlNlbmRFdmVudCgkZXZlbnQsJHBhcmFtcyk7CgogICAgaWYoIGluX2FycmF5KCRldmVudCxzZWxmOjpnZXRfZXZlbnRzKCkpICkgJHJlcyA9ICRtb2QtPkRvRXZlbnQoJG1vZC0+R2V0TmFtZSgpLCRldmVudCwkcGFyYW1zKTsKICB9CgogIC8qKgogICAqIENyZWF0ZSBhIGxpbmsgdGhhdCBhbGxvd3MgdXNlcnMgdG8gYXBwcm92ZSwgb3IgZGVueSBmcmllbmQgcmVsYXRpb25zaGlwcy4KICAgKgogICAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIGxpbmsgKG9yIGEgVVJMKSB0aGF0IHdoZW4gcmVxdWVzdGVkIHdpbGwgZWl0aGVyIGFwcHJvdmUsIG9yIGRlbnkgYSBmcmllbmRzaGlwIHJlbGF0aW9uc2hpcCwgYW5kIHRoZW4KICAgKiByZWRpcmVjdCB0aGUgdXNlciBiYWNrIHRvIHRoZSBVUkwgZnJvbSB3aGljaCB0aGUgcmVxdWVzdCBpbml0aWF0ZWQuCiAgICoKICAgKiBQYXJhbWV0ZXJzOgogICAqICAgdXNlciAgICAgICAocmVxdWlyZWQgaW50ZWdlcikgLSBUaGUgdXNlciB0byB3aGljaCB3ZSBhcmUgYXBwcm92aW5nIChvciBkZW55aW5nKSB0aGUgZnJpZW5kIHJlbGF0aW9uc2hpcAogICAqICAgbm9yZWRpcmVjdCAoYm9vbGVhbikgLSBEbyBub3QgcmVkaXJlY3QgYWZ0ZXIgcGVyZm9ybWluZyB0aGUgYWN0aW9uLiAodXNlZnVsIGZvciBhamF4IHJlcXVlc3RzKQogICAqICAgcmVkaXJlY3Rjb250ZW50IChib29sZWFuKSAtIERvIG5vdCByZWRpcmVjdCB0byB0aGUgb3JpZ2luYXRpbmcgVVJMLCB1c2UgdGhlIHJldHVybmlkIGFuZCByZWRpcmVjdCB0byB0aGUgY29udGVudCBwYWdlLgogICAqICAgcmV0dXJuaWQgICAoaW50ZWdlcikgLSBVc2UgYW4gYWx0ZXJuYXRlIHBhZ2UgaWQgZm9yIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuCiAgICogICBzdGF0ZSAgICAgIChpbnRlZ2VyKSAtIFBvc2l0aXZlIHZhbHVlIHRvIGFwcHJvdmUgYSBmcmllbmQgcmVxdWVzdCwgMCBvciBuZWdhdGl2ZSB2YWx1ZSB0byBkZW55IGEgZnJpZW5kIHJlcXVlc3QuCiAgICogICBhcHByb3ZldGV4dCAoc3RyaW5nKSAtIFRleHQgdG8gdXNlIGluIHRoZSBsaW5rIHRoYXQgYXBwcm92ZXMgYSBmcmllbmQgcmVxdWVzdC4KICAgKiAgIGRlbnl0ZXh0ICAgKHN0cmluZykgIC0gVGV4dCB0byB1c2UgaW4gdGhlIGxpbmsgdGhhdCBkZW5pZXMgYSBmcmllbmQgcmVxdWVzdC4KICAgKiAgIGlkICAgICAgICAgKHN0cmluZykgIC0gaWQgdGFnIGZvciB0aGUgZ2VuZXJhdGVkIGxpbmsKICAgKiAgIGNsYXNzICAgICAgKHN0cmluZykgIC0gY2xhc3MgYXR0cmlidXRlIGZvciB0aGUgZ2VuZXJhdGVkIGxpbmsKICAgKiAgIHVybG9ubHkgICAgKGJvb2xlYW4pIC0gRG8gbm90IGdlbmVyYXRlIGEgbGluaywganVzdCBnZW5lcmF0ZSBhIFVSTC4KICAgKiAgIGpzZnJpZW5kbHkgKGJvb2xlYW4pIC0gR2VuZXJhdGUgYSBVUkwgc3VpdGFibGUgZm9yIGphdmFzY3JpcHQsIG9yIGFqYXguCiAgICoKICAgKiBAcmV0dXJuIHN0cmluZwogICAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlX2FwcHJvdmVmcmllbmRyZXFfdXJsKCRwYXJhbXMpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dTT0NJQUxBUFApOwogICAgJHVybG9ubHkgPSAwOwogICAgJHN0YXRlID0gMTsKICAgICRtaWQgPSAnY250bnQwMSc7CiAgICAkY2xhc3MgPSAnJzsKICAgICRpZCA9ICcnOwogICAgJHJldHVybmlkID0gY21zX3V0aWxzOjpnZXRfY3VycmVudF9wYWdlaWQoKTsKICAgICRhcHByb3ZldGV4dCA9ICRtb2QtPkxhbmcoJ3Byb21wdF9hcHByb3ZlX2ZyaWVuZHJlcScpOwogICAgJGRlbnl0ZXh0ID0gJG1vZC0+TGFuZygncHJvbXB0X2RlbnlfZnJpZW5kcmVxJyk7CiAgICAkbm9yZWRpcmVjdCA9IDA7CiAgICAkanNmcmllbmRseSA9IDA7CiAgICAkcmVkaXJlY3Rjb250ZW50ID0gMDsKICAgICR1c2VyID0gJyc7CgogICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICBjYXNlICdub3JlZGlyZWN0JzoKICAgICAgY2FzZSAncmVkaXJlY3Rjb250ZW50JzoKICAgICAgY2FzZSAncmV0dXJuaWQnOgogICAgICBjYXNlICdzdGF0ZSc6CiAgICAgIGNhc2UgJ3VzZXInOgogICAgICBjYXNlICdqc2ZyaWVuZGx5JzoKICAgICAgY2FzZSAndXJsb25seSc6CgkkJGtleSA9IChpbnQpJHZhbHVlOwoJYnJlYWs7CgogICAgICBjYXNlICdhcHByb3ZldGV4dCc6CiAgICAgIGNhc2UgJ2Rlbnl0ZXh0JzoKICAgICAgY2FzZSAnaWQnOgogICAgICBjYXNlICdjbGFzcyc6CgkkJGtleSA9IHRyaW0oJHZhbHVlKTsKCWJyZWFrOwogICAgICB9CiAgICB9CgogICAgaWYoICR1c2VyIDwgMSApIHJldHVybjsKICAgICRwYXJtcyA9IGFycmF5KCd1c2VyJz0+JHVzZXIpOwogICAgJHBhcm1zWydub3JlZGlyZWN0J10gPSAkbm9yZWRpcmVjdDsKICAgIGlmKCAhJHJlZGlyZWN0Y29udGVudCApICRwYXJtc1snZGVzdCddID0gYmFzZTY0X2VuY29kZShjZ2VfdXJsOjpjdXJyZW50X3VybCgpKTsKICAgICR1cmwgPSAkbW9kLT5jcmVhdGVfdXJsKCRtaWQsJ2FwcHJvdmVmcmllbmRyZXEnLCRyZXR1cm5pZCwkcGFybXMpOwogICAgaWYoICRqc2ZyaWVuZGx5ICkgJHVybCA9IHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLCR1cmwpLicmc2hvd3RlbXBsYXRlPWZhbHNlJzsKCiAgICAkdGV4dCA9ICRhcHByb3ZldGV4dDsKICAgIGlmKCAkc3RhdGUgPCAxICkgJHRleHQgPSAkZGVueXRleHQ7CgogICAgJG91dCA9IG51bGw7CiAgICBpZiggJHVybG9ubHkgKSB7CiAgICAgICRvdXQgPSAkdXJsOwogICAgfQogICAgZWxzZSB7CiAgICAgICRvdXQgPSAnPGEgaHJlZj0iJy4kdXJsLiciJzsKICAgICAgaWYoICRpZCApICRvdXQgLj0gJyBpZD0iJy4kaWQuJyInOwogICAgICBpZiggJGNsYXNzICkgJG91dCAuPSAnIGNsYXNzPSInLiRjbGFzcy4nIic7CiAgICAgICRvdXQgLj0gJz4nLiR0ZXh0Lic8L2E+JzsKICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkgewogICAgICAkc21hcnR5LT5hc3NpZ24odHJpbSgkcGFyYW1zWydhc3NpZ24nXSksJG91dCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJldHVybiAkb3V0OwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8KLy8gY3JlYXRlIHRhYmxlcwovLwokZGIgPSBjbXNtcygpLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgokZmxkcyA9ICdpZCBJIEtFWSBBVVRPIE5PVCBOVUxMLAogICAgICAgICBhcGlrZXkgQygxMCkgS0VZIE5PVCBOVUxMLAogICAgICAgICBhcHBuYW1lIEMoMjU1KSBLRVkgTk9UIE5VTEwsCiAgICAgICAgIGVtYWlsICAgQygyNTUpIE5PVCBOVUxMLAogICAgICAgICBhY3RpdmUgIEkxLAogICAgICAgICBwZXJtcyAgIFgsCiAgICAgICAgIGNyZWF0ZWQgSSwKICAgICAgICAgbW9kaWZpZWQgSSwKICAgICAgICAgZXhwaXJlcyBJJzsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENHU09DSUFMX1RBQkxFX0FQSUtFWVMsJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiaWQgSSBLRVkgQVVUTywKICAgICAgICAgbmFtZSBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgIHBhcmVudF9pZCBJLAogICAgICAgICBpdGVtX29yZGVyIEksCiAgICAgICAgIGhpZXJhcmNoeSBDKDI1NSksCiAgICAgICAgIGRhdGEgWCI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChDR1NPQ0lBTF9UQUJMRV9BQ1RJVklUSUVTLCRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gImlkIEkgS0VZIEFVVE8sCiAgICAgICAgIG9iaWQgQygyNTUpLAogICAgICAgICBwYXJlbnRfaWQgSSwKICAgICAgICAgb3duZXIgSSwKICAgICAgICAgbG9jYXRpb24gSSwKICAgICAgICAgYWN0aXZpdHkgSSwKICAgICAgICAgbGF0IEYsCiAgICAgICAgIGxuZyBGLAogICAgICAgICBtc2cgQygyNTUpIE5PVCBOVUxMLAogICAgICAgICBjcmVhdGVkIEksCiAgICAgICAgIGFwcHJvdmVkIEkxLAogICAgICAgICBwcm9jZXNzZWQgSTEsCiAgICAgICAgIGRhdGEgWCI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChDR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUywkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICJpZCBJIEtFWSBBVVRPLAogICAgICAgICB1aWQgIEkgTk9UIE5VTEwsCiAgICAgICAgIHdoZW4gSSBOT1QgTlVMTCwKICAgICAgICAgaXRlbSBDKDUwKSwKICAgICAgICAgaXRlbV9pZCBJLAogICAgICAgICBkZXNjcmlwdGlvbiBDKDI1NSksCiAgICAgICAgIG5vdGVzIFgiOyAgICAgCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChDR1NPQ0lBTF9UQUJMRV9MT0csJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiaWQgSSBLRVkgQVVUTywKICAgICAgICAgbmFtZSBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgIGRlc2NyaXB0aW9uIFgsCiAgICAgICAgIGltYWdlIEMoMjU1KSwKICAgICAgICAgdHlwZSBDKDI1KSwKICAgICAgICAgZGF0YSBYLAogICAgICAgICBjcmVhdGVkIEksCiAgICAgICAgIG1vZGlmaWVkIEkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkQsJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiYm9hcmRfaWQgSSBLRVksCiAgICAgICAgIHVpZCAgIEkgS0VZLAogICAgICAgICBzY29yZSBJLAogICAgICAgICBub3RlcyBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJEX01FTUJFUlMsJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiaWQgSSBLRVkgQVVUTywKICAgICAgICAgbGVhZGVyYm9hcmRfaWQgSSBOT1QgTlVMTCwKICAgICAgICAgbmFtZSBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgIGRlc2NyaXB0aW9uIFgsCiAgICAgICAgIGltYWdlIEMoMjU1KSwKICAgICAgICAgbm90ZXMgWCwKICAgICAgICAgZGF0YSAgWCwKICAgICAgICAgbWluX3Njb3JlIEksCiAgICAgICAgIG1heF9zY29yZSBJLAogICAgICAgICBpc191bmlxdWUgSTEsCiAgICAgICAgIGNyZWF0ZWQgICBJIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENHU09DSUFMX1RBQkxFX0JBREdFUywkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICJiYWRnZV9pZCBJIE5PVCBOVUxMLAogICAgICAgICBsZWFkZXJib2FyZF9pZCBJIE5PVCBOVUxMLAogICAgICAgICB1aWQgSSBOT1QgTlVMTCwKICAgICAgICAgY3JlYXRlZCBJIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENHU09DSUFMX1RBQkxFX0JBREdFU19VU0VSUywkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICJ1aWQgSSBOT1QgTlVMTCwKICAgICAgICAgZnVpZCBJIE5PVCBOVUxMLAogICAgICAgICByZWxuIEkgTk9UIE5VTEwiOyAgLyogMSBmb3IgZnJpZW5kc2hpcCwgLTEgZm9yIG5vdCBhIGZyaWVuZCAocmVqZWN0ZWQgcmVxdWVzdCksIC0yIGZvciBmcmllbmQgcmVxdWVzdCAqLwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMsJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiZnVpZCBJIE5PVCBOVUxMIEtFWSwKICAgICAgICAgbG9jYXRpb24gSSBOT1QgTlVMTCBLRVkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfRkFWT1JJVEVTLCRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vCi8vIGNyZWF0ZSBldmVudHMKLy8KZm9yZWFjaCggY2dzYV91dGlsczo6Z2V0X2V2ZW50cyBhcyAkc3RyICkgewogICR0aGlzLT5DcmVhdGVFdmVudCgkc3RyKTsKfQoKLy8gdG9kbzogYWRkIGV2ZW50IGZvciBMZWFkZXJib2FyZFNjb3JlTWF0Y2ggb3Igc29tZXRoaW5nIGxpa2UgdGhhdAovLyB0b2RvOiBhZGQgZXZlbnQgZm9yIEJhZGdlc0NoYW5nZWQgb3Igc29tZXRoaW5nIGxpa2UgdGhhdAoKLy8KLy8gY3JlYXRlIHBlcm1pc3Npb25zCi8vCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKENHU29jaWFsQXBwOjpQRVJNSVNTSU9OLENHU29jaWFsQXBwOjpQRVJNSVNTSU9OKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oQ0dTb2NpYWxBcHA6OlBFUk1JU1NJT05fQ0hFQ0tJTlMsQ0dTb2NpYWxBcHA6OlBFUk1JU1NJT05fQ0hFQ0tJTlMpOwoKLy8KLy8gY3JlYXRlIHRlbXBsYXRlcwovLwokdHh0ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19uZXdsb2NhdGlvbl9ub3RpZmljYXRpb25fdGVtcGxhdGUnKTsKaWYoICR0eHQgKSAkdGhpcy0+U2V0VGVtcGxhdGUoJ25ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl90ZW1wbGF0ZScsJHR4dCk7CgokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfYWRkX2NoZWNraW4udHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9hZGRfY2hlY2tpbl90ZW1wbGF0ZV9jb250ZW50cycsJHNyYyk7CiAgJHRoaXMtPlNldFRlbXBsYXRlKCdhZGRfY2hlY2tpblNhbXBsZScsJHNyYyk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfYWRkX2NoZWNraW5fdGVtcGxhdGUnLCdTYW1wbGUnKTsKfQoKJGZuID0gX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX2xpc3RfY2hlY2tpbnMudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9saXN0X2NoZWNraW5fdGVtcGxhdGVfY29udGVudHMnLCRzcmMpOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnbGlzdF9jaGVja2luc1NhbXBsZScsJHNyYyk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfbGlzdF9jaGVja2luc190ZW1wbGF0ZScsJ1NhbXBsZScpOwp9CgokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfdmlld19jaGVja2luLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICRzcmMgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfdmlld19jaGVja2luX3RlbXBsYXRlX2NvbnRlbnRzJywkc3JjKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3ZpZXdfY2hlY2tpbnNTYW1wbGUnLCRzcmMpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X3ZpZXdfY2hlY2tpbl90ZW1wbGF0ZScsJ1NhbXBsZScpOwp9CgokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfbGlzdF9hY3Rpdml0aWVzLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICRzcmMgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfbGlzdF9hY3Rpdml0aWVzX3RlbXBsYXRlX2NvbnRlbnRzJywkc3JjKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2xpc3RfYWN0aXZpdGllc1NhbXBsZScsJHNyYyk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfbGlzdF9hY3Rpdml0aWVzX3RlbXBsYXRlJywnU2FtcGxlJyk7Cn0KCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ192aWV3X2FjdGl2aXR5LnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICRzcmMgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfdmlld19hY3Rpdml0eV90ZW1wbGF0ZV9jb250ZW50cycsJHNyYyk7CiAgJHRoaXMtPlNldFRlbXBsYXRlKCd2aWV3X2FjdGl2aXR5U2FtcGxlJywkc3JjKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF92aWV3X2FjdGl2aXR5X3RlbXBsYXRlJywnU2FtcGxlJyk7Cn0KCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19mcmllbmRyZXEudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9mcmllbmRyZXFfdGVtcGxhdGVfY29udGVudHMnLCRzcmMpOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZnJpZW5kcmVxU2FtcGxlJywkc3JjKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9mcmllbmRyZXFfdGVtcGxhdGUnLCdTYW1wbGUnKTsKfQoKJGZuID0gX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX2ZyaWVuZHJlcWxpc3QudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9mcmllbmRyZXFsaXN0X3RlbXBsYXRlX2NvbnRlbnRzJywkc3JjKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZyaWVuZHJlcWxpc3RTYW1wbGUnLCRzcmMpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2ZyaWVuZHJlcWxpc3RfdGVtcGxhdGUnLCdTYW1wbGUnKTsKfQoKJGZuID0gX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX2JhZGdlX3N1bW1hcnkudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9iYWRnZV9zdW1tYXJ5X3RlbXBsYXRlX2NvbnRlbnRzJywkc3JjKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2JhZGdlc3VtbWFyeVNhbXBsZScsJHNyYyk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfYmFkZ2VzdW1tYXJ5X3RlbXBsYXRlJywnU2FtcGxlJyk7Cn0KCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19iYWRnZV9kZXRhaWwudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9iYWRnZV9kZXRhaWxfdGVtcGxhdGVfY29udGVudHMnLCRzcmMpOwogICR0aGlzLT5TZXRUZW1wbGF0ZSgnYmFkZ2VkZXRhaWxTYW1wbGUnLCRzcmMpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2JhZGdlZGV0YWlsX3RlbXBsYXRlJywnU2FtcGxlJyk7Cn0KCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19sZWFkZXJib2FyZF9zdW1tYXJ5LnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICRzcmMgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfbGVhZGVyYm9hcmRfc3VtbWFyeV90ZW1wbGF0ZV9jb250ZW50cycsJHNyYyk7CiAgJHRoaXMtPlNldFRlbXBsYXRlKCdsZWFkZXJib2FyZHN1bW1hcnlTYW1wbGUnLCRzcmMpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2xlYWRlcmJvYXJkc3VtbWFyeV90ZW1wbGF0ZScsJ1NhbXBsZScpOwp9CgokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfbGVhZGVyYm9hcmRfZGV0YWlsLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICRzcmMgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfbGVhZGVyYm9hcmRfZGV0YWlsX3RlbXBsYXRlX2NvbnRlbnRzJywkc3JjKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2xlYWRlcmJvYXJkZGV0YWlsU2FtcGxlJywkc3JjKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9sZWFkZXJib2FyZGRldGFpbF90ZW1wbGF0ZScsJ1NhbXBsZScpOwp9CgoKLy8KLy8gY3JlYXRlIHByZWZlcmVuY2VzCi8vCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnLCR0aGlzLT5HZXROYW1lKCkpOwokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfdGFnZ2VkX25vdGlmaWNhdGlvbi50cGwnOwokdHBsID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiR0aGlzLT5TZXRUZW1wbGF0ZSgnZmV1X3RhZ2dlZF90cGwnLCR0cGwpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZHJlcV9lbWFpbCcsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRyZXFfZW1haWxodG1sJywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZHJlcV9zdWJqZWN0JywnRnJpZW5kIFJlcXVlc3QnKTsKJHRwbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvZnJpZW5kcmVxX2JvZHkudHBsJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRyZXFfYm9keXRwbCcsJHRwbCk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnb25jaGVja2luX3NlbmRlbWFpbCcsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fc2VuZG5vdGlmJywwKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9tYWlsaHRtbCcsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbWFpbGJ1bGtoZHJzJywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9tYWlsc3ViamVjdCcsJ0EgRnJpZW5kIGhhcyBjaGVja2VkaW4gdXNpbmcge3NpdGVuYW1lfScpOwokdHBsID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL3RlbXBsYXRlcy9vbmNoZWNraW5fYm9keS50cGwnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ29uY2hlY2tpbl9tYWlsYm9keScsJHRwbCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbm90aWZwcmlvcml0eScsbm90aWZpY2F0aW9uX21lc3NhZ2U6OlBSSU9SSVRZX0xPVyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbm90aWZzdWJqZWN0JywnQ2hlY2tpbiBvbiB7c2l0ZW5hbWV9Jyk7CiR0cGwgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29uY2hlY2tpbl9ub3RpZmJvZHkudHBsJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdvbmNoZWNraW5fbm90aWZib2R5JywkdHBsKTsKCi8vIGV2ZW50IGhhbmRsZXJzCiR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0Zyb250RW5kVXNlcnMnLCdPbkRlbGV0ZVVzZXInKTsKJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29tcGFueURpcmVjdG9yeScsJ09uRGVsZXRlQ29tcGFueScpOwoKLy8gam9icwokdGhpcy0+U2V0dXBKb2JzKCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovLwovLyByZW1vdmUgdGFibGVzCi8vCiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggQ0dTT0NJQUxfVEFCTEVfQVBJS0VZUyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIENHU09DSUFMX1RBQkxFX0FDVElWSVRJRVMgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBDR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIENHU09DSUFMX1RBQkxFX0xPRyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIENHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJEICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkRfTUVNQkVSUyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIENHU09DSUFMX1RBQkxFX0JBREdFUyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIENHU09DSUFMX1RBQkxFX0JBREdFU19VU0VSUyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIENHU09DSUFMX1RBQkxFX0ZSSUVORFNISVBTICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggQ0dTT0NJQUxfVEFCTEVfRkFWT1JJVEVTICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgovLwovLyByZW1vdmUgZXZlbnRzCi8vCgovLwovLyByZW1vdmUgcGVybWlzc2lvbnMKLy8KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oQ0dTb2NpYWxBcHA6OlBFUk1JU1NJT04pOwoKLy8KLy8gcmVtb3ZlIHRlbXBsYXRlcwovLwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCi8vCi8vIHJlbW92ZSBwcmVmZXJlbmNlcwovLwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8KLy8gcmVtb3ZlIGV2ZW50cwovLwpmb3JlYWNoKCBjZ3NhX3V0aWxzOjpnZXRfZXZlbnRzKCkgYXMgJGV2ZW50ICkgewogICR0aGlzLT5SZW1vdmVFdmVudCgkZXZlbnQpOwp9CgovLwovLyBSZW1vdmUgam9icwovLwokam9icyA9IGNnam9ibWdyX3V0aWxzOjpnZXRfam9icyhhcnJheSgnbmFtZSc9PiR0aGlzLT5HZXROYW1lKCkuJyonKSk7CmlmKCBpc19hcnJheSgkam9icykgJiYgY291bnQoJGpvYnMpICkgewogIGZvcmVhY2goICRqb2JzIGFzICYkam9iICkgewogICAgJGpvYi0+ZGVsZXRlKCk7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQXBwIChjKSAyMDExIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRkYiA9ICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcxLjAuMScpIDwgMCApCiAgewogICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChDR1NPQ0lBTF9UQUJMRV9DSEVDS0lOUywnYXBwcm92ZWQgSTEnKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICB9CmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzEuMC4yJykgPCAwICkKICB7CiAgICAkdHh0ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3RlbXBsYXRlJyk7CiAgICBpZiggJHR4dCApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnbmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3RlbXBsYXRlJywkdHh0KTsKICAgICAgfQogIH0KaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwnMS4wLjMnKSA8IDAgKQogIHsKICAgICRmbGRzID0gImlkIEkgS0VZIEFVVE8sCiAgICAgICAgIG5hbWUgQygyNTUpIE5PVCBOVUxMLAogICAgICAgICBkZXNjcmlwdGlvbiBYLAogICAgICAgICBpbWFnZSBDKDI1NSksCiAgICAgICAgIHR5cGUgQygyNSksCiAgICAgICAgIGNyZWF0ZWQgSSwKICAgICAgICAgbW9kaWZpZWQgSSI7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfTEVBREVSQk9BUkQsJGZsZHMsJHRhYm9wdGFycmF5KTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgICAkZmxkcyA9ICJib2FyZF9pZCBJIEtFWSwKICAgICAgICAgdWlkICAgSSBLRVksCiAgICAgICAgIHNjb3JlIEksCiAgICAgICAgIG5vdGVzIFgiOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJEX01FTUJFUlMsJGZsZHMsJHRhYm9wdGFycmF5KTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICB9CmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzEuMC40JykgPCAwICkKICB7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKENHU09DSUFMX1RBQkxFX0xFQURFUkJPQVJELCdkYXRhIFgnKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICB9CmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzEuMC42JykgPCAwICkgewogICR0aGlzLT5TZXR1cEpvYnMoKTsKfQppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcxLjAuNycpIDwgMCApIHsKICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKENHU09DSUFMX1RBQkxFX0NIRUNLSU5TLCdwcm9jZXNzZWQgSTEnKTsKICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICRmbGRzID0gImlkIEkgS0VZIEFVVE8sCiAgICAgICAgICAgbGVhZGVyYm9hcmRfaWQgSSBOT1QgTlVMTCwKICAgICAgICAgICBuYW1lIEMoMjU1KSBOT1QgTlVMTCwKICAgICAgICAgICBkZXNjcmlwdGlvbiBYLAogICAgICAgICAgIGltYWdlIEMoMjU1KSwKICAgICAgICAgICBub3RlcyBYLAogICAgICAgICAgIGRhdGEgIFgsCiAgICAgICAgICAgbWluX3Njb3JlIEksCiAgICAgICAgICAgbWF4X3Njb3JlIEksCiAgICAgICAgICAgaXNfdW5pcXVlIEkxLAogICAgICAgICAgIGNyZWF0ZWQgICBJIjsKICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfQkFER0VTLCRmbGRzLCR0YWJvcHRhcnJheSk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkZmxkcyA9ICJiYWRnZV9pZCBJIE5PVCBOVUxMLAogICAgICAgICAgIGxlYWRlcmJvYXJkX2lkIEkgTk9UIE5VTEwsCiAgICAgICAgICAgdWlkIEkgTk9UIE5VTEwsCiAgICAgICAgICAgY3JlYXRlZCBJIjsKICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfQkFER0VTX1VTRVJTLCRmbGRzLCR0YWJvcHRhcnJheSk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkdGhpcy0+Q3JlYXRlRXZlbnQoJ09uQmFkZ2VBd2FyZGVkJyk7CiAgJHRoaXMtPkNyZWF0ZUV2ZW50KCdPbkJhZGdlUmV2b2tlZCcpOwp9CmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzEuMS4xJykgPCAwICkgewogICRmbGRzID0gInVpZCBJIE5PVCBOVUxMLAogICAgICAgICAgIGZ1aWQgSSBOT1QgTlVMTCwKICAgICAgICAgICByZWxuIEkgTk9UIE5VTEwiOyAgLyogMSBmb3IgZnJpZW5kc2hpcCwgLTEgZm9yIG5vdCBhIGZyaWVuZCAocmVqZWN0ZWQgcmVxdWVzdCkgKi8KICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfRlJJRU5EU0hJUFMsJGZsZHMsJHRhYm9wdGFycmF5KTsKICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfdGFnZ2VkX25vdGlmaWNhdGlvbi50cGwnOwogICR0cGwgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZldV90YWdnZWRfdHBsJywkdHBsKTsKCiAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignRnJvbnRFbmRVc2VycycsJ09uRGVsZXRlVXNlcicpOwp9CmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzEuMicpIDwgMCApIHsKICAkZmxkcyA9ICJmdWlkIEkgTk9UIE5VTEwgS0VZLAogICAgICAgICAgIGxvY2F0aW9uIEkgTk9UIE5VTEwgS0VZIjsKICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dTT0NJQUxfVEFCTEVfRkFWT1JJVEVTLCRmbGRzLCR0YWJvcHRhcnJheSk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkdGhpcy0+Q3JlYXRlRXZlbnQoJ09uRnJpZW5kUmVxdWVzdCcpOwogICR0aGlzLT5DcmVhdGVFdmVudCgnT25GcmllbmRBcHByb3ZlZCcpOwogICR0aGlzLT5DcmVhdGVFdmVudCgnT25GcmllbmRSZWplY3RlZCcpOwogICR0aGlzLT5DcmVhdGVFdmVudCgnT25GcmllbmRSZW1vdmVkJyk7CgogICR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvbXBhbnlEaXJlY3RvcnknLCdPbkRlbGV0ZUNvbXBhbnknKTsKCiAgJGZuID0gX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX2ZyaWVuZHJlcS50cGwnOwogIGlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZWZhdWx0X2ZyaWVuZHJlcV90ZW1wbGF0ZV9jb250ZW50cycsJHNyYyk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZyaWVuZHJlcVNhbXBsZScsJHNyYyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9mcmllbmRyZXFfdGVtcGxhdGUnLCdTYW1wbGUnKTsKICB9CgogICRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19mcmllbmRyZXFsaXN0LnRwbCc7CiAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgICAkc3JjID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfZnJpZW5kcmVxbGlzdF90ZW1wbGF0ZV9jb250ZW50cycsJHNyYyk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2ZyaWVuZHJlcWxpc3RTYW1wbGUnLCRzcmMpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfZnJpZW5kcmVxbGlzdF90ZW1wbGF0ZScsJ1NhbXBsZScpOwogIH0KfQppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcxLjMnKSA8IDAgKSB7CiAgJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oQ0dTb2NpYWxBcHA6OlBFUk1JU1NJT05fQ0hFQ0tJTlMsQ0dTb2NpYWxBcHA6OlBFUk1JU1NJT05fQ0hFQ0tJTlMpOwp9CmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzEuNCcpIDwgMCApIHsKICAkZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfYWRkX2NoZWNraW4udHBsJzsKICBpZiggZmlsZV9leGlzdHMoJGZuKSApIHsKICAgICRzcmMgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9hZGRfY2hlY2tpbl90ZW1wbGF0ZV9jb250ZW50cycsJHNyYyk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2FkZF9jaGVja2luU2FtcGxlJywkc3JjKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X2FkZF9jaGVja2luX3RlbXBsYXRlJywnU2FtcGxlJyk7CiAgfQoKICAkZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfdmlld19jaGVja2luLnRwbCc7CiAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgICAkc3JjID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfdmlld19jaGVja2luX3RlbXBsYXRlX2NvbnRlbnRzJywkc3JjKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgndmlld19jaGVja2luc1NhbXBsZScsJHNyYyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF92aWV3X2NoZWNraW5fdGVtcGxhdGUnLCdTYW1wbGUnKTsKICB9Cn0KCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzEuNScpIDwgMCApIHsKICAkZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfYmFkZ2Vfc3VtbWFyeS50cGwnOwogIGlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICAgJHNyYyA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZWZhdWx0X2JhZGdlX3N1bW1hcnlfdGVtcGxhdGVfY29udGVudHMnLCRzcmMpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdiYWRnZXN1bW1hcnlTYW1wbGUnLCRzcmMpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfYmFkZ2VzdW1tYXJ5X3RlbXBsYXRlJywnU2FtcGxlJyk7CiAgfQoKICAkZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfYmFkZ2VfZGV0YWlsLnRwbCc7CiAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgICAkc3JjID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfYmFkZ2VfZGV0YWlsX3RlbXBsYXRlX2NvbnRlbnRzJywkc3JjKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnYmFkZ2VkZXRhaWxTYW1wbGUnLCRzcmMpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfYmFkZ2VkZXRhaWxfdGVtcGxhdGUnLCdTYW1wbGUnKTsKICB9CgogICRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19sZWFkZXJib2FyZF9zdW1tYXJ5LnRwbCc7CiAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKSB7CiAgICAkc3JjID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfbGVhZGVyYm9hcmRfc3VtbWFyeV90ZW1wbGF0ZV9jb250ZW50cycsJHNyYyk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2xlYWRlcmJvYXJkc3VtbWFyeVNhbXBsZScsJHNyYyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9sZWFkZXJib2FyZHN1bW1hcnlfdGVtcGxhdGUnLCdTYW1wbGUnKTsKICB9CgogICRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19sZWFkZXJib2FyZF9kZXRhaWwudHBsJzsKICBpZiggZmlsZV9leGlzdHMoJGZuKSApIHsKICAgICRzcmMgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF9sZWFkZXJib2FyZF9kZXRhaWxfdGVtcGxhdGVfY29udGVudHMnLCRzcmMpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdsZWFkZXJib2FyZGRldGFpbFNhbXBsZScsJHNyYyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9sZWFkZXJib2FyZGRldGFpbF90ZW1wbGF0ZScsJ1NhbXBsZScpOwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_activities_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Z1bmN0aW9uIGFjdGl2aXR5X3JvdyBkZXB0aD0wfQogIHtmb3JlYWNoICRkYXRhIGFzICRvbmV9CiAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fYWRkYWN0aXZpdHknIGFjdGlkPSRvbmUtPmlkIHVybG9ubHk9MSBhc3NpZ249J2VkaXR1cmwnfQogICAgPHRyPgogICAgICA8dGQ+e3JlcGVhdCBzdHJpbmc9JyAtICcgdGltZXM9JGRlcHRofTxhIGhyZWY9InskZWRpdHVybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfZWRpdF9hY3Rpdml0eScpfSI+eyRvbmUtPm5hbWV9PC9hPjwvdGQ+CiAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fYWRkYWN0aXZpdHknIGFjdGlkPSRvbmUtPmlkIGltYWdlPSdlZGl0LmdpZicgaW1hZ2Vvbmx5PTEgdGV4dD0kbW9kLT5MYW5nKCd0aXRsZV9lZGl0X2FjdGl2aXR5Jyl9PC90ZD4KICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdDR1NvY2lhbEFwcCcgYWN0aW9uPSdhZG1pbl9kZWxhY3Rpdml0eScgYWN0aWQ9JG9uZS0+aWQgaW1hZ2U9J2RlbGV0ZS5naWYnIGltYWdlb25seT0xIHRleHQ9JG1vZC0+TGFuZygndGl0bGVfZGVsZXRlX2FjdGl2aXR5Jyl9PC90ZD4KICAgIDwvdHI+CiAgICB7aWYgaXNzZXQoJG9uZS0+Y2hpbGRyZW4pfQogICAgICB7YWN0aXZpdHlfcm93IGRhdGE9JG9uZS0+Y2hpbGRyZW4gZGVwdGg9ZGVwdGgrMX0KICAgIHsvaWZ9CiAgey9mb3JlYWNofQp7L2Z1bmN0aW9ufQoKe2lmIGlzc2V0KCRhY3Rpdml0aWVzKX0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAge2FjdGl2aXR5X3JvdyBkYXRhPSRhY3Rpdml0aWVzfQogIDwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfSZuYnNwO3skb3JkZXJsaW5rfGRlZmF1bHQ6Jyd9PC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_addactivity.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRhY3Rpdml0eS0+aWQgPiAwfQogIDxoMz57JG1vZC0+TGFuZygndGl0bGVfZWRpdF9hY3Rpdml0eScpfTwvaDM+CntlbHNlfQogIDxoMz57JG1vZC0+TGFuZygndGl0bGVfYWRkX2FjdGl2aXR5Jyl9PC9oMz4Key9pZn0KCnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW5hbWUiIHZhbHVlPSJ7JGFjdGl2aXR5LT5uYW1lfSIvPgogIDwvcD4KPC9kaXY+Cgp7aWYgaXNzZXQoJGFjdGl2aXRpZXMpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9wYXJlbnQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXBhcmVudF9pZCI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kYWN0aXZpdGllcyBzZWxlY3RlZD0kYWN0aXZpdHktPnBhcmVudF9pZH0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZXNjcmlwdGlvbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3d5c2l3eWcgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWRlc2NyaXB0aW9uIHZhbHVlPSRhY3Rpdml0eS0+ZGVzY3JpcHRpb259CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ltYWdlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskbW9kLT5MYW5nKCd1cGxvYWQnKX06IDxpbnB1dCB0eXBlPSJmaWxlIiBzaXplPSI1MCIgbmFtZT0ieyRhY3Rpb25pZH1pbWFnZSIgdmFsdWU9InskYWN0aXZpdHktPmltYWdlfSIvPgogICAge2lmICRhY3Rpdml0eS0+aW1hZ2UgIT0gJyd9CiAgICA8YnIvPnskbW9kLT5MYW5nKCdjdXJyZW50X3ZhbHVlJyl9OiB7JGFjdGl2aXR5LT5pbWFnZX0KICAgIDxici8+eyRtb2QtPkxhbmcoJ2RlbGV0ZScpfTogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWRlbGV0ZV9pbWFnZSIgdmFsdWU9IjEiIHRpdGxlPSJ7JG1vZC0+TGFuZygnZGVsZXRlJyl9Ii8+CiAgICB7L2lmfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_addedit_badge.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICEkYmFkZ2UtPmlkfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9iYWRnZV9mb3JfbGVhZGVyYm9hcmQnKX06ICZxdW90OzxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPnskbGVhZGVyYm9hcmQtPm5hbWV9PC9zcGFuPiZxdW90OzwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfYmFkZ2VfZm9yX2xlYWRlcmJvYXJkJyl9OiAmcXVvdDs8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57JGxlYWRlcmJvYXJkLT5uYW1lfTwvc3Bhbj4mcXVvdDs8L2gzPgp7L2lmfQoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNyZXNldF9kZmx0JykubGl2ZSgnY2xpY2snLGZ1bmN0aW9uKCl7CiAgICBhbGVydCgndG9kbzogYWpheCBnZXQgZGZsdCB0ZW1wbGF0ZScpOwogICAgcmV0dXJuIGZhbHNlOwogIH0pOwogICQoJ2ltZy5ub3RpZnlfdHBsX2hlbHAnKS5saXZlKCdjbGljaycsZnVuY3Rpb24oKXsKICAgICQoJyNub3RpZnlfdHBsX2hlbHAnKS5kaWFsb2coKTsKICB9KTsKfSk7CnsvbGl0ZXJhbH08L3NjcmlwdD4KCnskZm9ybXN0YXJ0fQp7Y2dlX3N0YXJ0X3RhYnN9CntjZ2VfdGFiaGVhZGVyIG5hbWU9J2JhZGdlJyBsYWJlbD0kbW9kLT5MYW5nKCd0YWJfYmFkZ2UnKX0Ke2NnZV90YWJoZWFkZXIgbmFtZT0nbm90aWZpY2F0aW9uJyBsYWJlbD0kbW9kLT5MYW5nKCd0YWJfbm90aWZpY2F0aW9uJyl9Cgp7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0nYmFkZ2UnfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW5hbWUiIHZhbHVlPSJ7JGJhZGdlLT5uYW1lfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRtb2QtPkxhbmcoJ21pbl9zY29yZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1taW5fc2NvcmUiIHZhbHVlPSJ7JGJhZGdlLT5taW5fc2NvcmV9IiBzaXplPSI0IiBtYXhsZW5ndGg9IjQiLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fbWluX3Njb3JlJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbWF4X3Njb3JlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW1heF9zY29yZSIgdmFsdWU9InskYmFkZ2UtPm1heF9zY29yZX0iIHNpemU9IjQiIG1heGxlbmd0aD0iNCIvPgogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19tYXhfc2NvcmUnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdW5pcXVlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9aXNfdW5pcXVlIHNlbGVjdGVkPSRiYWRnZS0+aXNfdW5pcXVlfQogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb191bmlxdWUnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfaW1hZ2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2lmICRiYWRnZS0+aWQgPCAxfQogICAgICA8c3Ryb25nPnskbW9kLT5sYW5nKCd3YXJuaW5nJyl9Ojwvc3Ryb25nPiZuYnNwO3skbW9kLT5MYW5nKCdpbmZvX3VwbG9hZF9kaXNhYmxlZF9vbm5ldycpfQogICAge2Vsc2V9CiAgICAgIHtpZiAkYmFkZ2UtPmltYWdlICE9ICcnfQogICAgICAgIDxzdHJvbmc+eyRtb2QtPkxhbmcoJ2N1cnJlbnRfdmFsdWUnKX06PC9zdHJvbmc+Jm5ic3A7eyRiYWRnZS0+aW1hZ2V9PGJyLz4KICAgICAgICB7JG1vZC0+TGFuZygnZGVsZXRlJyl9OiZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1kZWxldGVfaW1hZ2UiIHZhbHVlPSIxIi8+CiAgICAgICAgPGJyLz4KICAgICAgey9pZn0KICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9aW1hZ2UiLz4KICAgIHsvaWZ9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZGVzY3JpcHRpb24gY29udGVudD0kYmFkZ2UtPmRlc2NyaXB0aW9uIHd5c2l3eWc9MX0KICA8L3A+CjwvZGl2PgoKe2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J25vdGlmaWNhdGlvbid9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiB7JG1vZC0+TGFuZygnaW5mb19ub3RpZmljYXRpb24nKX0KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RvJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1ub3RpZnlfdG8iPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHRvX29wdHMgc2VsZWN0ZWQ9JGJhZGdlLT5ub3RpZnlfdG99CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19ub3RpZnlfdG8nKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcmlvcml0eScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9bm90aWZ5X3ByaW9yaXR5Ij4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRwcmlvcml0aWVzIHNlbGVjdGVkPSRiYWRnZS0+bm90aWZ5X3ByaW9yaXR5fQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3ViamVjdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1ub3RpZnlfc3ViamVjdCIgdmFsdWU9InskYmFkZ2UtPm5vdGlmeV9zdWJqZWN0fSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX3N1YmplY3QnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdib2R5X3RlbXBsYXRlJyl9OiZuYnNwO3tjZ2ltYWdlIGNsYXNzPSJub3RpZnlfdHBsX2hlbHAiIGltYWdlPSJpY29ucy9zeXN0ZW0vaW5mby5naWYifQo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1ub3RpZnlfdHBsIiByb3dzPSIxMCIgY29scz0iODAiPnskYmFkZ2UtPm5vdGlmeV90cGx9PC90ZXh0YXJlYT4KICA8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0icmVzZXRfZGZsdCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldF9kZmx0Jyl9IiBuYW1lPSJyZXNldF9kZmx0Ii8+CiAgPC9wPgogIDxkaXYgaWQ9Im5vdGlmeV90cGxfaGVscCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3RpdGxlX25vdGlmaWNhdGlvbl9ib2R5X2hlbHAnKX0iPgogICAgPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogICAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICAgIDx0aD57JG1vZC0+TGFuZygndHlwZScpfTwvdGg+CiAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9PC90aD4KICAgICAgICA8L3RyPgogICAgICA8L3RoZWFkPgogICAgICA8dGJvZHk+CiAgICAgICAgPHRyPgogICAgICAgICAgPHRkPmFjdGlvbjwvdGQ+CiAgICAgICAgICA8dGQ+eyRtb2QtPkxhbmcoJ2xibF9zdHJpbmcnKX08L3RkPgogICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdzbWFydHlfdmFyX2FjdGlvbicpfTwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgICA8dHI+CiAgICAgICAgICA8dGQ+YmFkZ2U8L3RkPgogICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdsYmxfb2JqZWN0Jyl9PC90ZD4KICAgICAgICAgIDx0ZD57JG1vZC0+TGFuZygnc21hcnR5X3Zhcl9iYWRnZScpfTwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgICA8dHI+CiAgICAgICAgICA8dGQ+dWlkPC90ZD4KICAgICAgICAgIDx0ZD57JG1vZC0+TGFuZygnbGJsX2ludGVnZXInKX08L3RkPgogICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdzbWFydHlfdmFyX3VpZCcpfTwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgICA8dHI+CiAgICAgICAgICA8dGQ+dXNlcm5hbWU8L3RkPgogICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdsYmxfc3RyaW5nJyl9PC90ZD4KICAgICAgICAgIDx0ZD57JG1vZC0+TGFuZygnc21hcnR5X3Zhcl91c2VybmFtZScpfTwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgICA8dHI+CiAgICAgICAgICA8dGQ+ZW1haWw8L3RkPgogICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdsYmxfc3RyaW5nJyl9PC90ZD4KICAgICAgICAgIDx0ZD57JG1vZC0+TGFuZygnc21hcnR5X3Zhcl9lbWFpbCcpfTwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgPC90Ym9keT4KICAgIDwvdGFibGU+CiAgPC9kaXY+CjwvZGl2PgoKe2NnZV90YWJjb250ZW50X2VuZH0Ke2NnZV9lbmRfdGFic30KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_addedit_leaderboard.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/admin_addedit_leaderboard.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj57bGl0ZXJhbH0KZGl2LnR5cGVhcmVhIHsKICBkaXNwbGF5OiBub25lOwp9CnsvbGl0ZXJhbH08L3N0eWxlPgoKe2NvbXBkaXJfaW5pdGpzfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+e2xpdGVyYWx9CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgdmFyIHYgPSAnI3R5cGVfJyskKCcjYm9hcmR0eXBlJykudmFsKCk7CiAgJCh2KS5zaG93KCk7CgogICQoJyNib2FyZHR5cGUnKS5jaGFuZ2UoZnVuY3Rpb24oKXsKICAgICQoJ2Rpdi50eXBlYXJlYScpLmhpZGUoKTsKICAgIHZhciB2ID0gJyN0eXBlXycrJCh0aGlzKS52YWwoKTsKICAgICQodikuc2hvdygpOwogIH0pOwoKICAkKCcjY2Rfc2VsY29tcGFueScpLmNvbXBkaXJfY2hvb3NlY29tcGFueSgpOwp9KTsKey9saXRlcmFsfTwvc2NyaXB0PgoKe2lmICRsZWFkZXJib2FyZC0+aWQgJiYgJGxlYWRlcmJvYXJkLT5pZCA+IDAgfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfbGVhZGVyYm9hcmQnKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGRfbGVhZGVyYm9hcmQnKX08L2gzPgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1uYW1lIiB2YWx1ZT0ieyRsZWFkZXJib2FyZC0+bmFtZX0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndHlwZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9dHlwZSIgaWQ9ImJvYXJkdHlwZSI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGJvYXJkdHlwZXMgc2VsZWN0ZWQ9JGxlYWRlcmJvYXJkLT50eXBlfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHR5cGVhcmVhIiBpZD0idHlwZV9sb2NhdGlvbiI+CiAgeyogY3JpdGVyaWEgZm9yIGxvY2F0aW9uIG1hdGNoZXMgKn0KICA8ZGl2IGNsYXNzPSJwYWdldGV4dCI+CiAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9bWF0Y2hfbG9jYXRpb24iIHZhbHVlPSJsb2NhdGlvbmlkIiBpZD0ibWF0Y2hfbG9jYXRpb25pZCIge2lmICRsZWFkZXJib2FyZC0+bWF0Y2hfbG9jYXRpb24gPT0gJ2xvY2F0aW9uaWQnfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPgogICAgPGxhYmVsIGZvcj0ibWF0Y2hfbG9jYXRpb25pZCI+eyRtb2QtPkxhbmcoJ21hdGNoX2xvY2F0aW9uaWQnKX06PC9sYWJlbD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxpbnB1dCBpZD0iY2Rfc2VsY29tcGFueSIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jcml0ZXJpYV9sb2NhdGlvbmlkIiBzaXplPSI1MCIgdmFsdWU9IjciLz4KICAgICB7KjxpbnB1dCBpZD0iY2Rfc2VsY29tcGFueSIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jcml0ZXJpYV9sb2NhdGlvbmlkIiBzaXplPSI1MCIgdmFsdWU9InskbGVhZGVyYm9hcmQtPmNyaXRlcmlhX2xvY2F0aW9uaWR9Ii8+Kn0KICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX3NlbGNvbXBhbnknKX0KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZXRleHQiPgogICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfW1hdGNoX2xvY2F0aW9uIiB2YWx1ZT0iY2F0ZWdvcnkiIGlkPSJtYXRjaF9sb2NhdGlvbmNhdGVnb3J5IiB7aWYgJGxlYWRlcmJvYXJkLT5tYXRjaF9sb2NhdGlvbiA9PSAnY2F0ZWdvcnknfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPgogICAgPGxhYmVsIGZvcj0ibWF0Y2hfbG9jYXRpb25jYXRlZ29yeSI+eyRtb2QtPkxhbmcoJ21hdGNoX2xvY2F0aW9uY2F0ZWdvcnknKX06PC9sYWJlbD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHtjZF9zZWxjYXRlZ29yeSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9J2NyaXRlcmlhX2xvY2F0aW9uY2F0ZWdvcnknIG11bHRpcGxlPTEgc2l6ZT01IHNlbGVjdGVkPSRsZWFkZXJib2FyZC0+Y3JpdGVyaWFfbG9jYXRpb25jYXRlZ29yeX0KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZXRleHQiPgogICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfW1hdGNoX2xvY2F0aW9uIiB2YWx1ZT0iaGllciIgaWQ9Im1hdGNoX2xvY2F0aW9uaGllciIge2lmICRsZWFkZXJib2FyZC0+bWF0Y2hfbG9jYXRpb24gPT0gJ2hpZXInfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPgogICAgPGxhYmVsIGZvcj0ibWF0Y2hfbG9jYXRpb25oaWVyIj57JG1vZC0+TGFuZygnbWF0Y2hfbG9jYXRpb25oaWVyJyl9OjwvbGFiZWw+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7Y2Rfc2VsaGllcmFyY2h5IHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nY3JpdGVyaWFfbG9jYXRpb25oaWVyJyBzZWxlY3RlZD0kbGVhZGVyYm9hcmQtPmNyaXRlcmlhX2xvY2F0aW9uaGllcn08YnIvPgogICAgIHskbW9kLT5MYW5nKCdtYXRjaF9oaWVyY2hpbGRyZW4nKX06Jm5ic3A7e2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nY3JpdGVyaWFfbG9jYXRpb25oaWVyY2hpbGRyZW4nIHNlbGVjdGVkPSRsZWFkZXJib2FyZC0+Y3JpdGVyaWFfbG9jYXRpb25oaWVyY2hpbGRyZW59CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgdHlwZWFyZWEiIGlkPSJ0eXBlX2FjdGl2aXR5Ij4KICA8ZGl2IGNsYXNzPSJwYWdldGV4dCI+CiAgICB7JG1vZC0+TGFuZygnbWF0Y2hfYWN0aXZpdGllcycpfToKICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHtjZ3NhX3NlbGFjdGl2aXR5IHByZWZpeD0kYWN0aW9uaWQgbmFtZT1jcml0ZXJpYV9hY3Rpdml0eWlkIHNlbGVjdGVkPSRsZWFkZXJib2FyZC0+Y3JpdGVyaWFfYWN0aXZpdHlpZH08YnIvPgogICAgIHskbW9kLT5MYW5nKCdtYXRjaF9hY3Rpdml0eWNoaWxkcmVuJyl9OiZuYnNwO3tjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9J2NyaXRlcmlhX2FjdGl2aXR5Y2hpbGRyZW4nIHNlbGVjdGVkPSRsZWFkZXJib2FyZC0+Y3JpdGVyaWFfYWN0aXZpdHljaGlsZHJlbn0KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X211bHRpcGxlYmFkZ2VzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9bXVsdGlwbGViYWRnZXMgc2VsZWN0ZWQ9JGxlYWRlcmJvYXJkLT5tdWx0aXBsZWJhZGdlc30KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19tdWx0aXBsZWJhZGdlcycpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZGVzY3JpcHRpb24gd3lzaXd5Zz0xIGNvbnRlbnQ9JGxlYWRlcmJvYXJkLT5kZXNjcmlwdGlvbn0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltYWdlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtpZiAkbGVhZGVyYm9hcmQtPmlkIDwgMX0KICAgICAgPHN0cm9uZz57JG1vZC0+bGFuZygnd2FybmluZycpfTo8L3N0cm9uZz4mbmJzcDt7JG1vZC0+TGFuZygnaW5mb191cGxvYWRfZGlzYWJsZWRfb25uZXcnKX0KICAgIHtlbHNlfQogICAgICB7aWYgJGxlYWRlcmJvYXJkLT5pbWFnZSAhPSAnJ30KICAgICAgICA8c3Ryb25nPnskbW9kLT5MYW5nKCdjdXJyZW50X3ZhbHVlJyl9Ojwvc3Ryb25nPiZuYnNwO3skbGVhZGVyYm9hcmQtPmltYWdlfTxici8+CiAgICAgICAgeyRtb2QtPkxhbmcoJ2RlbGV0ZScpfTombmJzcDs8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9ZGVsZXRlX2ltYWdlIiB2YWx1ZT0iMSIvPgogICAgICAgIDxici8+CiAgICAgIHsvaWZ9CiAgICAgIDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJ7JGFjdGlvbmlkfWltYWdlIi8+CiAgICB7L2lmfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_checkinsettings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X29uY2hlY2tpbl9hY3Rpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGxhYmVsIGZvcj0ib25jaGVja2luX3NlbmRlbWFpbCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9vbmNoZWNraW5fc2VuZGVtYWlsJyl9OjwvbGFiZWw+Jm5ic3A7CiAgICA8c2VsZWN0IGlkPSJvbmNoZWNraW5fc2VuZGVtYWlsIiBuYW1lPSJ7JGFjdGlvbmlkfW9uY2hlY2tpbl9zZW5kZW1haWwiIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb19vbmNoZWNraW5fc2VuZGVtYWlsJyl9Ij57Y2dlX3llc25vX29wdGlvbnMgc2VsZWN0ZWQ9JG9uY2hlY2tpbl9zZW5kZW1haWx9PC9zZWxlY3Q+CiAgICA8YnIvPgogICAge2lmICRoYXZlX25vdGlmaWVyfQogICAgICA8bGFiZWwgZm9yPSJvbmNoZWNraW5fc2VuZG5vdGlmIj57JG1vZC0+TGFuZygncHJvbXB0X29uY2hlY2tpbl9zZW5kbm90aWYnKX06PC9sYWJlbD4mbmJzcDsKICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW9uY2hlY2tpbl9zZW5kbm90aWYiIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb19vbmNoZWNraW5fc2VuZG5vdGlmJyl9Ij57Y2dlX3llc25vX29wdGlvbnMgc2VsZWN0ZWQ9JG9uY2hlY2tpbl9zZW5kbm90aWZ9PC9zZWxlY3Q+CiAgICB7ZWxzZX0KICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+eyRtb2QtPkxhbmcoJ3dhcm5pbmdfbm9ub3RpZmllcicpfTwvc3Bhbj4KICAgIHsvaWZ9CiAgPC9wPgo8L2Rpdj4KPGJyLz4KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2xlZ2VuZF9vbmNoZWNraW5fc2VuZGVtYWlsJyl9OjwvbGVnZW5kPgogIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19vbmNoZWNraW5fc2VuZGVtYWlsJyl9PC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PGxhYmVsIGZvcj0ib25jaGVja2luX21haWxodG1sIj57JG1vZC0+TGFuZygncHJvbXB0X29uY2hlY2tpbl9tYWlsaHRtbCcpfTo8L2xhYmVsPjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8c2VsZWN0IGlkPSJvbmNoZWNraW5fbWFpbGhtdGwiIG5hbWU9InskYWN0aW9uaWR9b25jaGVja2luX21haWxodG1sIj57Y2dlX3llc25vX29wdGlvbnMgc2VsZWN0ZWQ9JG9uY2hlY2tpbl9tYWlsaHRtbH08L3NlbGVjdD4KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48bGFiZWwgZm9yPSJvbmNoZWNraW5fbWFpbGJ1bGtoZHJzIj57JG1vZC0+TGFuZygncHJvbXB0X29uY2hlY2tpbl9tYWlsYnVsa2hkcnMnKX06PC9sYWJlbD48L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHNlbGVjdCBpZD0ib25jaGVja2luX21haWxobXRsIiBuYW1lPSJ7JGFjdGlvbmlkfW9uY2hlY2tpbl9tYWlsYnVsa2hkcnMiIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb19vbmNoZWNraW5fbWFpbGJ1bGtoZHJzJyl9Ij57Y2dlX3llc25vX29wdGlvbnMgc2VsZWN0ZWQ9JG9uY2hlY2tpbl9tYWlsYnVsa2hkcnN9PC9zZWxlY3Q+CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PGxhYmVsIGZvcj0ib25jaGVja2luX21haWxzdWJqZWN0Ij57JG1vZC0+TGFuZygncHJvbXB0X29uY2hlY2tpbl9tYWlsc3ViamVjdCcpfTo8L2xhYmVsPjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgaWQ9Im9uY2hlY2tpbl9tYWlsc3ViamVjdCIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1vbmNoZWNraW5fbWFpbHN1YmplY3QiIHZhbHVlPSJ7JG9uY2hlY2tpbl9tYWlsc3ViamVjdH0iIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPjxsYWJlbCBmb3I9Im9uY2hlY2tpbl9tYWlsYm9keSI+eyRtb2QtPkxhbmcoJ3Byb21wdF9vbmNoZWNraW5fbWFpbGJvZHknKX06PC9sYWJlbD48L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHRleHRhcmVhIGNsYXNzPSJ0YV9yZXNpemFibGUiIGlkPSJvbmNoZWNraW5fbWFpbGJvZHkiIG5hbWU9InskYWN0aW9uaWR9b25jaGVja2luX21haWxib2R5Ij57JG9uY2hlY2tpbl9tYWlsYm9keX08L3RleHRhcmVhPgogICAgICA8YnIvPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0bWFpbGJvZHkiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZXQnKX0iLz4KICAgIDwvcD4KICA8L2Rpdj4KPC9maWVsZHNldD4KCntpZiAkaGF2ZV9ub3RpZmllcn0KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2xlZ2VuZF9vbmNoZWNraW5fc2VuZG5vdGlmJyl9OjwvbGVnZW5kPgogIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19vbmNoZWNraW5fc2VuZG5vdGlmJyl9PC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PGxhYmVsIGZvcj0ib25jaGVja2luX25vdGlmcHJpb3JpdHkiPnskbW9kLT5MYW5nKCdwcm9tcHRfb25jaGVja2luX25vdGlmcHJpb3JpdHknKX06PC9sYWJlbD48L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHNlbGVjdCBpZD0ib25jaGVja2luX25vdGlmcHJpb3JpdHkiIG5hbWU9InskYWN0aW9uaWR9b25jaGVja2luX25vdGlmcHJpb3JpdHkiIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb19vbmNoZWNraW5fbm90aWZwcmlvcml0eScpfSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcHJpb3JpdGllcyBzZWxlY3RlZD0kb25jaGVja2luX25vdGlmcHJpb3JpdHl9CiAgICAgIDwvc2VsZWN0PgogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPjxsYWJlbCBmb3I9Im9uY2hlY2tpbl9ub3RpZnN1YmplY3QiPnskbW9kLT5MYW5nKCdwcm9tcHRfb25jaGVja2luX25vdGlmc3ViamVjdCcpfTo8L2xhYmVsPjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgaWQ9Im9uY2hlY2tpbl9ub3RpZnN1YmplY3QiIHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9b25jaGVja2luX25vdGlmc3ViamVjdCIgdmFsdWU9Inskb25jaGVja2luX25vdGlmc3ViamVjdH0iIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPjxsYWJlbCBmb3I9Im9uY2hlY2tpbl9ub3RpZmJvZHkiPnskbW9kLT5MYW5nKCdwcm9tcHRfb25jaGVja2luX25vdGlmYm9keScpfTo8L2xhYmVsPjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8dGV4dGFyZWEgY2xhc3M9InRhX3Jlc2l6YWJsZSIgaWQ9Im9uY2hlY2tpbl9ub3RpZmJvZHkiIG5hbWU9InskYWN0aW9uaWR9b25jaGVja2luX25vdGlmYm9keSI+eyRvbmNoZWNraW5fbm90aWZib2R5fTwvdGV4dGFyZWE+CiAgICAgIDxici8+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRub3RpZmJvZHkiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZXQnKX0iLz4KICAgIDwvcD4KICA8L2Rpdj4KPC9maWVsZHNldD4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_checkins_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KdGFibGUuc3RhdHMgewogIG1hcmdpbi1sZWZ0OiAyZW07CiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CiAgcGFkZGluZzogMWVtOwp9CnRhYmxlLnN0YXRzIHRoIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CiAgcGFkZGluZy1yaWdodDogMWVtOwp9Cjwvc3R5bGU+Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX2FkbWluX2NoZWNraW5zX3RhYicpfTwvZGl2Pgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnc3RhdGlzdGljcycpfTo8L2xlZ2VuZD4KICA8dGFibGUgY2xhc3M9InN0YXRzIj4KICAgIDx0Ym9keT4KICAgICAgPHRyPjx0aD57JG1vZC0+TGFuZygnY2hlY2tpbnNfbnVtY2hlY2tpbnMnKX06PC90aD48dGQ+eyRzdGF0cy5udW1jaGVja2luc308L3RkPjwvdHI+CiAgICAgIDx0cj48dGg+eyRtb2QtPkxhbmcoJ2NoZWNraW5zX251bWNoZWNraW5zMjQnKX06PC90aD48dGQ+eyRzdGF0cy5udW1jaGVja2luczI0fTwvdGQ+PC90cj4Ke2lmIGlzc2V0KCRzdGF0cy5udW1ub3RhcHByb3ZlZCl9CiAgICAgIDx0cj48dGg+eyRtb2QtPkxhbmcoJ2NoZWNraW5zX251bW5vdGFwcHJvdmVkJyl9OjwvdGg+PHRkIHtpZiAkc3RhdHMubnVtbm90YXBwcm92ZWQgPiAwfXN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBzYWxtb247InsvaWZ9Pnskc3RhdHMubnVtbm90YXBwcm92ZWR9PC90ZD48L3RyPgp7L2lmfQogICAgICA8dHI+PHRoPnskbW9kLT5MYW5nKCdjaGVja2luc19udW1ub3Rwcm9jZXNzZWQnKX06PC90aD48dGQge2lmICRzdGF0cy5udW1ub3Rwcm9jZXNzZWQgPiAwfXN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBzYWxtb247InsvaWZ9Pnskc3RhdHMubnVtbm90cHJvY2Vzc2VkfTwvdGQ+PC90cj4KICAgICAgPHRyPjx0aD57JG1vZC0+TGFuZygnY2hlY2tpbnNfbnVtdXNlcnMnKX06PC90aD48dGQ+eyRzdGF0cy5udW11c2Vyc308L3RkPjwvdHI+CiAgICAgIDx0cj48dGg+eyRtb2QtPkxhbmcoJ2NoZWNraW5zX251bXVzZXJzMjQnKX06PC90aD48dGQ+eyRzdGF0cy5udW11c2VyczI0fTwvdGQ+PC90cj4KICAgICAgPHRyPjx0aD57JG1vZC0+TGFuZygnY2hlY2tpbnNfbnVtbG9jcycpfTo8L3RoPjx0ZD57JHN0YXRzLm51bWxvY3N9PC90ZD48L3RyPgogICAgICA8dHI+PHRoPnskbW9kLT5MYW5nKCdjaGVja2luc19udW1sb2NzMjQnKX06PC90aD48dGQ+eyRzdGF0cy5udW1sb2NzMjR9PC90ZD48L3RyPgogICAgICA8dHI+PHRoPnskbW9kLT5MYW5nKCdjaGVja2luc19udW1hY3RzJyl9OjwvdGg+PHRkPnskc3RhdHMubnVtYWN0c308L3RkPjwvdHI+CiAgICAgIDx0cj48dGg+eyRtb2QtPkxhbmcoJ2NoZWNraW5zX251bWFjdHMyNCcpfTo8L3RoPjx0ZD57JHN0YXRzLm51bWFjdHMyNH08L3RkPjwvdHI+CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CjwvZmllbGRzZXQ+Cjxici8+CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdhY3Rpb25zJyl9OjwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGJ1dHRvbiBpZD0iZGVsYmFkdXNlciIgdmFsdWU9ImRlbGJhZHVzZXIiIG5hbWU9InskYWN0aW9uaWR9Y2hlY2tpbl9hY3Rpb24iPnskbW9kLT5MYW5nKCdjaGVja2luc19kZWxiYWR1c2VyJyl9PC9idXR0b24+CiAgICAgIDxici8+CiAgICAgIDxidXR0b24gaWQ9ImRlbGJhZGxvYyIgdmFsdWU9ImRlbGJhZGxvYyIgbmFtZT0ieyRhY3Rpb25pZH1jaGVja2luX2FjdGlvbiI+eyRtb2QtPkxhbmcoJ2NoZWNraW5zX2RlbGJhZGxvYycpfTwvYnV0dG9uPgogICAgICA8YnIvPgogICAgICA8YnV0dG9uIGlkPSJkZWxiYWRsb2MiIHZhbHVlPSJkZWxhbGxjaGVja2lucyIgbmFtZT0ieyRhY3Rpb25pZH1jaGVja2luX2FjdGlvbiI+eyRtb2QtPkxhbmcoJ2NoZWNraW5zX2RlbGFsbCcpfTwvYnV0dG9uPgogICAgPC9wPgogIDwvZGl2Pgo8L2ZlbGRzZXQ+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_doubleconfirm.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGV9PC9oMz4KCgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY29uZmlybScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y2hlY2sxIiB2YWx1ZT0iMSIgaWQ9ImNoZWNrMSI+Jm5ic3A7PGxhYmVsIGZvcj0iY2hlY2sxIj57JG1vZC0+TGFuZygncHJvbXB0X2NoZWNrMScpfTwvbGFiZWw+PGJyLz4KICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jaGVjazIiIHZhbHVlPSIxIiBpZD0iY2hlY2syIj4mbmJzcDs8bGFiZWwgZm9yPSJjaGVjazIiPnskbW9kLT5MYW5nKCdwcm9tcHRfY2hlY2syJyl9PC9sYWJlbD4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jb25maXJtIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NvbmZpcm0nKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_apikey.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxhbGwnKS5saXZlKCdjbGljaycsZnVuY3Rpb24oKXsKICAgIHZhciB4ID0gJCh0aGlzKS5hdHRyKCdjaGVja2VkJyk7CiAgICBpZiggeCA9PSAnY2hlY2tlZCcgKSB7CiAgICAgICQoJy5wZXJtYm94JykuYXR0cignY2hlY2tlZCcsJ2NoZWNrZWQnKTsKICAgIH0gZWxzZSB7CiAgICAgICQoJy5wZXJtYm94JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5wZXJtYm94JykubGl2ZSgnY2xpY2snLGZ1bmN0aW9uKCl7CiAgICAkKCcjc2VsYWxsJykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogIH0pOwp9KTsKPC9zY3JpcHQ+Cgp7aWYgJGFwaWtleS5pZCAhPSAnJ30KICA8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfYXBpa2V5Jyl9PC9oMz4Ke2Vsc2V9CiAgPGgzPnskbW9kLT5MYW5nKCdhZGRfYXBpa2V5Jyl9PC9oMz4Key9pZn0KCnskZm9ybXN0YXJ0fQo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2dlbmVyYWxfc2V0dGluZ3MnKX06PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FwcG5hbWUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9YXBwbmFtZSIgdmFsdWU9InskYXBpa2V5LmFwcG5hbWV9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19hcHBuYW1lJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWVtYWlsIiB2YWx1ZT0ieyRhcGlrZXkuZW1haWx9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19lbWFpbGFkZHInKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYXBpa2V5Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskYXBpa2V5LmFwaWtleX0KICAgIHtpZiAkYXBpa2V5LmFwaWtleSA9PSAnJ30KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Byb21wdF9nZW5lcmF0ZScpfSIvPgogICAge2Vsc2V9CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWFwaWtleSIgdmFsdWU9InskYXBpa2V5LmFwaWtleX0iLz4KICAgIHsvaWZ9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FjdGl2ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWFjdGl2ZSBzZWxlY3RlZD0kYXBpa2V5LmFjdGl2ZX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZXhwaXJlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2FwdHVyZSBhc3NpZ249dG1wfXskYWN0aW9uaWR9ZXhwaXJlc197L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBzdGFydF95ZWFyPSItMSIgZW5kX3llYXI9IisxNSIgdGltZT0kYXBpa2V5LmV4cGlyZXN9CiAgPC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxici8+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncGVybWlzc2lvbnMnKX06PC9sZWdlbmQ+CjxkaXYgc3R5bGU9ImhlaWdodDogMTBlbTsgb3ZlcmZsb3c6IGF1dG87Ij4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InNlbGFsbCIgdmFsdWU9IjEiLz4mbmJzcDs8bGFiZWwgZm9yPSJzZWxhbGwiPnskbW9kLT5MYW5nKCdzZWxlY3RfYWxsJyl9PC9sYWJlbD48YnIvPjxici8+Cntmb3JlYWNoIGZyb209JGFsbHBlcm1zIGl0ZW09J3Blcm0nfQogICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJwZXJtYm94IiBpZD0ieyRwZXJtfSIgbmFtZT0ieyRhY3Rpb25pZH17JHBlcm19IiB2YWx1ZT0iMSJ7aWYgJGFwaWtleS0+Y2hlY2tfcGVybWlzc2lvbigkcGVybSkgfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPiZuYnNwOwogICAgICA8bGFiZWwgZm9yPSJ7JHBlcm19Ij57JG1vZC0+TGFuZygkcGVybSl9PC9sYWJlbD48YnIvPgp7L2ZvcmVhY2h9CiAgICA8L3A+CiAgPC9kaXY+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_friendsettings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19mcmllbmRyZXFfaGFuZGxpbmcnKX08L2Rpdj4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X2ZyaWVuZHJlcV9oYW5kbGluZycpfTo8L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZyaWVuZHJlcV9lbWFpbCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nZnJpZW5kcmVxX2VtYWlsJyBzZWxlY3RlZD0kZnJpZW5kcmVxX2VtYWlsfQogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZnJpZW5kcmVxX2VtYWlsaHRtbCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nZnJpZW5kcmVxX2VtYWlsaHRtbCcgc2VsZWN0ZWQ9JGZyaWVuZHJlcV9lbWFpbGh0bWx9CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZnJpZW5kcmVxX3N1YmplY3QnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWZyaWVuZHJlcV9zdWJqZWN0IiB2YWx1ZT0ieyRmcmllbmRyZXFfc3ViamVjdH0iIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19mcmllbmRyZXFfc3ViamVjdCcpfQogICAgPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZyaWVuZHJlcV9ib2R5dHBsJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1mcmllbmRyZXFfYm9keXRwbCIgY2xhc3M9InRhX3Jlc2l6YWJsZSI+eyRmcmllbmRyZXFfYm9keXRwbH08L3RleHRhcmVhPgogICAgICA8YnIvPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0cmVxIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ii8+CiAgICAgIDxici8+CiAgICAgIHskbW9kLT5MYW5nKCdpbmZvX2ZyaWVuZHJlcV9ib2R5dHBsJyl9CiAgICA8L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9mcmllbmRhcHByb3ZlZF9oYW5kbGluZycpfTo8L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZyaWVuZGFwcHJvdmVkX2VtYWlsJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdmcmllbmRhcHByb3ZlZF9lbWFpbCcgc2VsZWN0ZWQ9JGZyaWVuZGFwcHJvdmVkX2VtYWlsfQogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZnJpZW5kYXBwcm92ZWRfZW1haWxodG1sJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdmcmllbmRhcHByb3ZlZF9lbWFpbGh0bWwnIHNlbGVjdGVkPSRmcmllbmRhcHByb3ZlZF9lbWFpbGh0bWx9CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZnJpZW5kYXBwcm92ZWRfc3ViamVjdCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZnJpZW5kYXBwcm92ZWRfc3ViamVjdCIgdmFsdWU9InskZnJpZW5kYXBwcm92ZWRfc3ViamVjdH0iIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19mcmllbmRhcHByb3ZlZF9zdWJqZWN0Jyl9CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZnJpZW5kYXBwcm92ZWRfYm9keXRwbCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9ZnJpZW5kYXBwcm92ZWRfYm9keXRwbCIgY2xhc3M9InRhX3Jlc2l6YWJsZSI+eyRmcmllbmRhcHByb3ZlZF9ib2R5dHBsfTwvdGV4dGFyZWE+CiAgICAgIDxici8+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRhcHByb3ZlZCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldCcpfSIvPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19mcmllbmRhcHByb3ZlZF9ib2R5dHBsJyl9CiAgICA8L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_keys_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhcGlrZXlzKX0Ke2lmICRhcGlrZXlzfEBjb3VudCBndCAyMH0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkX2xpbmt9PC9kaXY+CnsvaWZ9Cgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdhcHBuYW1lJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdlbWFpbCcpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnYXBpa2V5Jyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdhY3RpdmUnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2NyZWF0ZWQnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ21vZGlmaWVkJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdleHBpcmVzJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD57KiBlZGl0ICp9CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+eyogZGVsZXRlICp9CiAgICA8L3RyPgogIDwvdGhlYWQ+CiAge2ZvcmVhY2ggZnJvbT0kYXBpa2V5cyBpdGVtPSdyb3cnfQogICAgPHRyPgogICAgICA8dGQ+PGEgaHJlZj0ieyRyb3cuZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXQnKX0iPnskcm93LmFwcG5hbWV9PC9hPjwvdGQ+CiAgICAgIDx0ZD57JHJvdy5lbWFpbH08L3RkPgogICAgICA8dGQ+eyRyb3cuYXBpa2V5fTwvdGQ+CiAgICAgIDx0ZD57JHJvdy5hY3RpdmVfbGlua308L3RkPgogICAgICA8dGQ+eyRyb3cuY3JlYXRlZHxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgICAgPHRkPnskcm93Lm1vZGlmaWVkfGNtc19kYXRlX2Zvcm1hdH08L3RkPgogICAgICA8dGQ+eyRyb3cuZXhwaXJlc3xjbXNfZGF0ZV9mb3JtYXQ6JyV4J308L3RkPgogICAgICA8dGQ+eyRyb3cuZWRpdF9saW5rfTwvdGQ+CiAgICAgIDx0ZD57JHJvdy5kZWxldGVfbGlua308L3RkPgogICAgPC90cj4KICB7L2ZvcmVhY2h9CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRfbGlua308L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_leaderboardsettings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfaW50ZXJ2YWxfdXBkYXRlbGVhZGVyYm9hcmRzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWludGVydmFsX3VwZGF0ZWxlYWRlcmJvYXJkcyIgdmFsdWU9InskaW50ZXJ2YWxfdXBkYXRlbGVhZGVyYm9hcmRzfSIgc2l6ZT0iMyIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2ludGVydmFsX2xlYWRlcmJvYXJkcycpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ludGVydmFsX3VwZGF0ZWJhZGdlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1pbnRlcnZhbF91cGRhdGViYWRnZXMiIHZhbHVlPSJ7JGludGVydmFsX3VwZGF0ZWJhZGdlc30iIHNpemU9IjMiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19pbnRlcnZhbF91cGRhdGViYWRnZXMnKX0KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_leaderboards_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRsZWFkZXJib2FyZHMpfQo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogPHRoZWFkPgogIDx0cj4KICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD57KiBsZWFkZXJib2FyZHMgKn0KICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD57KiBlZGl0ICp9CiAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+eyogZGVsZXRlICp9CiAgPC90cj4KIDwvdGhlYWQ+CiA8dGJvZHk+CiB7Zm9yZWFjaCBmcm9tPSRsZWFkZXJib2FyZHMgaXRlbT0nb25lJ30KICA8dHI+CiAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fYWRkZWRpdF9sZWFkZXJib2FyZCcgbGVhZGVyYm9hcmQ9JG9uZS0+aWQgdGV4dD0kb25lLT5uYW1lfTwvdGQ+CiAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fbGlzdGJhZGdlcycgbGVhZGVyYm9hcmQ9JG9uZS0+aWQgaW1hZ2U9J2FzdGVyaXNrLnBuZycgaW1hZ2Vvbmx5PTEgdGV4dD0kbW9kLT5MYW5nKCdlZGl0X2JhZGdlcycpfTwvdGQ+CiAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fYWRkZWRpdF9sZWFkZXJib2FyZCcgbGVhZGVyYm9hcmQ9JG9uZS0+aWQgaW1hZ2U9J2ljb25zL3N5c3RlbS9lZGl0LmdpZicgaW1hZ2Vvbmx5PTEgdGV4dD0kbW9kLT5MYW5nKCdlZGl0Jyl9PC90ZD4KICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdDR1NvY2lhbEFwcCcgYWN0aW9uPSdhZG1pbl9kZWxldGVfbGVhZGVyYm9hcmQnIGxlYWRlcmJvYXJkPSRvbmUtPmlkIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgaW1hZ2Vvbmx5PTEgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGUnKSBjb25mbWVzc2FnZT0kbW9kLT5MYW5nKCdhc2tfZGVsZXRlX2xlYWRlcmJvYXJkJyl9PC90ZD4KICA8L3RyPgogey9mb3JlYWNofQogPC90Ym9keT4KPC90YWJsZT4Key9pZn0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgp7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fYWRkZWRpdF9sZWFkZXJib2FyZCcgaW1hZ2U9J25ld29iamVjdC5naWYnIHRleHQ9JG1vZC0+TGFuZygnYWRkX2xlYWRlcmJvYXJkJyl9CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_listbadges.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdsaXN0X2JhZGdlcycpfTogJnF1b3Q7PHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+eyRsZWFkZXJib2FyZC0+bmFtZX0mcXVvdDs8L3NwYW4+PC9oMz4KCntpZiBpc3NldCgkYmFkZ2VzKX0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoIHdpZHRoPSI1JSI+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdtaW5fc2NvcmUnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ21heF9zY29yZScpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+eyogZWRpdCAqfQogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPnsqIGRlbGV0ZSAqfQogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICB7Zm9yZWFjaCBmcm9tPSRiYWRnZXMgaXRlbT0nYmFkZ2UnfQogICAgPHRyPgogICAgICA8dGQ+eyRiYWRnZS0+aWR9PC90ZD4KICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdDR1NvY2lhbEFwcCcgYWN0aW9uPSdhZG1pbl9hZGRlZGl0X2JhZGdlJyBsZWFkZXJib2FyZD0kbGVhZGVyYm9hcmQtPmlkIGJhZGdlPSRiYWRnZS0+aWQgdGV4dD0kYmFkZ2UtPm5hbWUgdGl0bGU9JG1vZC0+TGFuZygnZWRpdF9iYWRnZScpfTwvdGQ+CiAgICAgIDx0ZD57JGJhZGdlLT5taW5fc2NvcmV9PC90ZD4KICAgICAgPHRkPntpZiAkYmFkZ2UtPm1heF9zY29yZSBndCAwfXskYmFkZ2UtPm1heF9zY29yZX17ZWxzZX1OL0F7L2lmfTwvdGQ+CiAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fYWRkZWRpdF9iYWRnZScgbGVhZGVyYm9hcmQ9JGxlYWRlcmJvYXJkLT5pZCBiYWRnZT0kYmFkZ2UtPmlkIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGltYWdlb25seT0xIHRleHQ9JG1vZC0+TGFuZygnZWRpdF9iYWRnZScpfTwvdGQ+CiAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nYWRtaW5fZGVsZXRlX2JhZGdlJyBsZWFkZXJib2FyZD0kbGVhZGVyYm9hcmQtPmlkIGJhZGdlPSRiYWRnZS0+aWQgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSB0ZXh0PSRtb2QtPkxhbmcoJ2RlbGV0ZV9iYWRnZScpIGNvbmZtZXNzYWdlPSRtb2QtPkxhbmcoJ2Fza19kZWxldGVfYmFkZ2UnKX08L3RkPgogICAgPC90cj4KICB7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4Ke21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0NHU29jaWFsQXBwJyBhY3Rpb249J2FkbWluX2FkZGVkaXRfYmFkZ2UnIGxlYWRlcmJvYXJkPSRsZWFkZXJib2FyZC0+aWQgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJyB0ZXh0PSRtb2QtPkxhbmcoJ2FkZF9iYWRnZScpfSZuYnNwOwp7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ0dTb2NpYWxBcHAnIGFjdGlvbj0nZGVmYXVsdGFkbWluJyBpbWFnZT0naWNvbnMvc3lzdGVtL2JhY2suZ2lmJyB0ZXh0PSRtb2QtPkxhbmcoJ3JldHVybicpIGNnX2FjdGl2ZXRhYj0nbGVhZGVyYm9hcmRzJ30KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_locationsettingstab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KPC9kaXY+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9sb2NhdGlvbmRlbGV0ZWQnKX06PC9sZWdlbmQ+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdjZF9vbmRlbGV0ZV9jbGVhbmNoZWNraW5zJyBzZWxlY3RlZD0kY2Rfb25kZWxldGVfY2xlYW5jaGVja2luc30KICA8L3A+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9uZXdsb2NhdGlvbicpfTo8L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmV3bG9jYXRpb25fYWxsb3cnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1uZXdsb2NhdGlvbl9hbGxvdyBzZWxlY3RlZD0kbmV3bG9jYXRpb25fYWxsb3d9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmV3bG9jYXRpb25fYWxsb3dlZGl0Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9bmV3bG9jYXRpb25fYWxsb3dlZGl0IHNlbGVjdGVkPSRuZXdsb2NhdGlvbl9hbGxvd2VkaXR9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmV3bG9jYXRpb25fcmF0ZWxpbWl0aW5nJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXhUIiBuYW1lPSJ7JGFjdGlvbmlkfW5ld2xvY2F0aW9uX251bWxpbWl0IiB2YWx1ZT0ieyRuZXdsb2NhdGlvbl9udW1saW1pdH0iIHNpemU9IjIiIG1heGxlbmd0aD0iMiIvPgogICAgJm5ic3A7eyRtb2QtPkxhbmcoJ3BlcicpfSZuYnNwOwogICAgPGlucHV0IHR5cGU9InRleFQiIG5hbWU9InskYWN0aW9uaWR9bmV3bG9jYXRpb25fdGltZWxpbWl0IiB2YWx1ZT0ieyRuZXdsb2NhdGlvbl90aW1lbGltaXR9IiBzaXplPSIzIiBtYXhsZW5ndGg9IjMiLz4KICAgICZuYnNwLnskbW9kLT5MYW5nKCdtaW51dGVzJyl9PGJyLz4KICA8L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfbG9jYXRpb25fbm90aWZpY2F0aW9uJyl9OjwvbGVnZW5kPgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij57JG1vZC0+TGFuZygnaW5mb19sb2NhdGlvbl9ub3RpZmljYXRpb25zJyl9PC9wPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9uZXdsb2NhdGlvbl9zdGF0dXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW5ld2xvY2F0aW9uX3N0YXR1cyI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc3RhdHVzZXMgc2VsZWN0ZWQ9JG5ld2xvY2F0aW9uX3N0YXR1c30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X25ld2xvY2F0aW9uX2dyb3VwcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1uZXdsb2NhdGlvbl9ub3RpZmljYXRpb25fZ3JvdXBzIiB2YWx1ZT0ieyRuZXdsb2NhdGlvbl9ub3RpZmljYXRpb25fZ3JvdXBzfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fbmV3bG9jYXRpb25fZ3JvdXBzJyl9OgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X25ld2xvY2F0aW9uX3N1YmplY3QnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3N1YmplY3QiIHZhbHVlPSJ7JG5ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl9zdWJqZWN0fSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmV3bG9jYXRpb25faXNodG1sJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1uZXdsb2NhdGlvbl9ub3RpZmljYXRpb25faXNodG1sIj4KICAgICAge2NnZV95ZXNub19vcHRpb25zIHNlbGVjdGVkPSRuZXdsb2NhdGlvbl9ub3RpZmljYXRpb25faXNodG1sfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmV3bG9jYXRpb25fdGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9bmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3RlbXBsYXRlIiBjbGFzcz0idGFfcmVzaXphYmxlIj57JG5ld2xvY2F0aW9uX25vdGlmaWNhdGlvbl90ZW1wbGF0ZX08L3RleHRhcmVhPgogICAgPGJyLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9bmV3bG9jYXRpb25fbm90aWZpY2F0aW9uX3RlbXBsYXRlX3Jlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_orderactivity.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBwYXJzZVRyZWUodWwpIHsKICB2YXIgdGFncyA9IFtdOwogIHVsLmNoaWxkcmVuKCdsaScpLmVhY2goZnVuY3Rpb24oKXsKICAgIHZhciBzdWJ0cmVlID0gJCh0aGlzKS5jaGlsZHJlbigndWwnKTsKICAgIGlmKCBzdWJ0cmVlLnNpemUoKSA+IDAgKQogICAgICB0YWdzLnB1c2goWyQodGhpcykuYXR0cignaWQnKSwgcGFyc2VUcmVlKHN1YnRyZWUpXSk7CiAgICBlbHNlCiAgICAgIHRhZ3MucHVzaCgkKHRoaXMpLmF0dHIoJ2lkJykpOwogIH0pOwogIHJldHVybiB0YWdzOwp9CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgndWwjc29ydGFibGUnKS5uZXN0ZWRTb3J0YWJsZSh7CiAgICBkaXNhYmxlTmVzdGluZzogJ25vLW5lc3QnLAogICAgZm9yY2VQbGFjZWhvbGRlclNpemU6IHRydWUsCiAgICBoYW5kbGU6ICdkaXYnLAogICAgaXRlbXM6ICdsaScsCiAgICBvcGFjaXR5OiAuNiwKICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLAogICAgdGFiU2l6ZTogMjUsCiAgICB0b2xlcmFuY2U6ICdwb2ludGVyJywKICAgIGxpc3RUeXBlOiAndWwnLAogICAgdG9sZXJlbmNlRWxlbWVudDogJz4gZGl2JwogIH0pOwogICQoJyNzdWJtaXQnKS5saXZlKCdjbGljaycsZnVuY3Rpb24oKXsKICAgdmFyIHggPSAkLnRvSlNPTihwYXJzZVRyZWUoJCgndWwjc29ydGFibGUnKSkpOwogICB2YXIgYWpheF9yZXMgPSBmYWxzZTsKICAgJC5hamF4KHsKICAgICB0eXBlOiAnUE9TVCcsCiAgICAgdXJsOiAgJ3ttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUNHU29jaWFsQXBwIGFjdGlvbj1hZG1pbl9vcmRlcmFjdGl2aXR5IHVybG9ubHk9MSBqc2ZyaWVuZGx5PTF9JnNob3d0ZW1wbGF0ZT1mYWxzZScsCiAgICAgZGF0YTogeyB7JGFjdGlvbmlkfWFqYXhkYXRhOiB4LCB7JGFjdGlvbmlkfXN1Ym1pdDogMSB9LAogICAgIGNhY2hlOiBmYWxzZSwKICAgICBhc3luYzogZmFsc2UsCiAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7CiAgICAgICBhamF4X3JlcyA9IHRydWU7CiAgICAgfQogICB9KTsKICAgcmV0dXJuIGFqYXhfcmVzOwogIH0pOwp9KTsKPC9zY3JpcHQ+Cgp7JGZvcm1zdGFydH0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCBpZD0iY2FuY2VsIiB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogICAgPGlucHV0IGlkPSJyZXZlcnQiIHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1yZXZlcnQiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmV2ZXJ0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KCntmdW5jdGlvbiB1bF9hY3Rpdml0aWVzIGRlcHRoPTB9Cjx1bCB7aWYgJGRlcHRoPT0wfWlkPSJzb3J0YWJsZSIgY2xhc3M9InNvcnRhYmxlTGlzdCJ7L2lmfT4KICB7Zm9yZWFjaCAkZGF0YSBhcyAkb25lfQogIDxsaSBpZD0iYWN0X3skb25lLT5pZH0iPgogICAgPGRpdiBjbGFzcz0ibGFiZWwiPnskb25lLT5uYW1lfTwvZGl2PgogICAge2lmIGlzc2V0KCRvbmUtPmNoaWxkcmVuKX0KICAgICAge3VsX2FjdGl2aXRpZXMgZGF0YT0kb25lLT5jaGlsZHJlbiBkZXB0aD0kZGVwdGgrMX0KICAgIHsvaWZ9CiAgPC9saT4KICB7L2ZvcmVhY2h9CjwvdWw+CnsvZnVuY3Rpb259Cgo8YnIvPjxici8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cnt1bF9hY3Rpdml0aWVzIGRhdGE9JGFjdGl2aXRpZXN9CjwvZGl2PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_orderactivity_sub.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kYWN0aXZpdGllcyBpdGVtPSdvbmUnfQo8dHI+CiAgPHRkPntyZXBlYXQgdGltZXM9JGRlcHRoIHN0cmluZz0nJm5ic3A7Jm5ic3A7J30oeyRvbmUtPmhpZXJhcmNoeX0pJm5ic3A7eyRvbmUtPm5hbWV9PC90ZD4KICB7aWYgaXNzZXQoJG9uZS0+Y2hpbGRyZW4pfQogICAge2luY2x1ZGUgZmlsZT0kc21hcnR5LnRlbXBsYXRlIGFjdGl2aXRpZXM9JG9uZS0+Y2hpbGRyZW4gZGVwdGg9JGRlcHRoKzF9CiAgey9pZn0KPC90cj4Key9mb3JlYWNofQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_settings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RfYWxsJykuY2xpY2soZnVuY3Rpb24oKXsKICAgICQoJy5jZF9jYXRlZ29yaWVzX2FwcHJvdmVkY2hlY2tpbnMnKS5hdHRyKCdjaGVja2VkJyx0aGlzLmNoZWNrZWQpOwogIH0pOwp9KTsKey9saXRlcmFsfTwvc2NyaXB0PgoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXRfc2V0dGluZ3MiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CjwvZGl2PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfZ2VuZXJhbHNldHRpbmdzJyl9OjwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9mcmllbmRseW5hbWUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZnJpZW5kbHluYW1lIiB2YWx1ZT0ieyRmcmllbmRseW5hbWV9IiBzaXplPSIyMCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19mcmllbmRseW5hbWUnKX0KICA8L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0Pjxici8+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9jaGVja2luc2V0dGluZ3MnKX06PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2xvY2F0aW9ucmVxdWlyZWQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nbG9jYXRpb25yZXF1aXJlZCcgc2VsZWN0ZWQ9JGxvY2F0aW9ucmVxdWlyZWR9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY2hlY2tpbnJhdGVsaW1pdGluZycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y2hlY2tpbnJhdGVsaW1pdGluZ1tdIHNpemU9IjIiIG11bHRpcGxlPSJtdWx0aXBsZSIiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGNoZWNraW5yYXRlbGltaXRpbmdfb3B0aW9ucyBzZWxlY3RlZD0kY2hlY2tpbnJhdGVsaW1pdGluZ30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NoZWNraW5yYXRlbGltaXRpbmdfYnlsb2NhdGlvbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jaGVja2lucmF0ZWxpbWl0aW5nX2J5bG9jYXRpb24iIHZhbHVlPSJ7JGNoZWNraW5yYXRlbGltaXRpbmdfYnlsb2NhdGlvbn0iIHNpemU9IjUiLz57JG1vZC0+TGFuZygnbWlsZXMnKX0KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19jaGVja2lucmF0ZWxpbWl0aW5nX2J5bG9jYXRpb24nKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jaGVja2lucmF0ZWxpbWl0aW5nX2J5dGltZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jaGVja2lucmF0ZWxpbWl0aW5nX2J5dGltZSIgdmFsdWU9InskY2hlY2tpbnJhdGVsaW1pdGluZ19ieXRpbWV9IiBzaXplPSI1Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fY2hlY2tpbnJhdGVsaW1pdGluZ19ieXRpbWUnKX0KICA8L3A+CjwvZGl2Pgp7aWYgaXNzZXQoJGNkX2FwcHJvdmVfdXNlcmZpZWxkKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY2Rwd2ZpZWxkJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzdHJvbmc+eyRtb2QtPkxhbmcoJ25vdGUnKX06PC9zdHJvbmc+Jm5ic3A7eyRtb2QtPkxhbmcoJ2luZm9fY2Rwd2ZpZWxkJyl9CiAgICB7aWYgaXNzZXQoJGNkX2FwcHJvdmVfdXNlcmZpZWxkKX08YnIvPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWNkX2FwcHJvdmVfdXNlcmZpZWxkIj4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kY2RfZmllbGRkZWZzIHNlbGVjdGVkPSRjZF9hcHByb3ZlX3VzZXJmaWVsZH0KICAgIDwvc2VsZWN0PgogICAge2Vsc2V9CiAgICA8ZGl2IGNsYXNzPSJwYWdld2FybmluZyI+eyRtb2QtPkxhbmcoJ3dhcm5pbmdfbm9jZGZpZWxkcycpfTwvcD4KICAgIHsvaWZ9ICAgIAogIDwvcD4KPC9kaXY+CnsvaWZ9CntpZiBpc3NldCgkY2RfY2F0ZWdvcmllcyl9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FwcHJvdmVjaGVja2lucycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7JG1vZC0+TGFuZygnaW5mb19zZWxlY3RjZGNhdGVnb3JpZXNfYXBwcm92YWwnKX08YnIvPgogICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0ic2VsZWN0X2FsbCIgdmFsdWU9IjEiPiZuYnNwOzxsYWJlbCBmb3I9InNlbGVjdF9hbGwiPjxzdHJvbmc+eyRtb2QtPkxhbmcoJ3NlbGVjdF9hbGwnKX08L3N0cm9uZz48L2xhYmVsPjo8YnIvPgogICAge2ZvcmVhY2ggZnJvbT0kY2RfY2F0ZWdvcmllcyBrZXk9J25hbWUnIGl0ZW09J2l0ZW0nfXthc3NpZ24gdmFyPSd0bXAnIHZhbHVlPSRpdGVtLT5pZH0KICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNkX2NhdGVnb3J5X2FwcHJvdmVkY2hlY2tpbnNfeyRpdGVtLT5pZH0iIGNsYXNzPSJjZF9jYXRlZ29yaWVzX2FwcHJvdmVkY2hlY2tpbnMiIG5hbWU9InskYWN0aW9uaWR9Y2RfY2F0ZWdvcmllc19hcHByb3ZlZGNoZWNraW5zW3skaXRlbS0+aWR9XSIgdmFsdWU9IjEiIHtpZiBpc3NldCgkY2RfY2F0ZWdvcmllc19hcHByb3ZlZGNoZWNraW5zWyR0bXBdKX1jaGVja2VkPSJjaGVja2VkInsvaWZ9PiZuYnNwOzxsYWJlbCBmb3I9ImNkX2NhdGVnb3JpZXNfYXBwcm92ZWRjaGVja2luc197JGl0ZW0tPmlkfSI+eyRuYW1lfTwvbGFiZWw+PGJyLz4KICAgIHsvZm9yZWFjaH0KICA8L3A+CjwvZGl2Pgp7L2lmfQo8L2ZpZWxkc2V0PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_usersettings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CjwvZGl2PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9uZXd1c2VycycpfTwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmV1Z3JvdXAnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1mZXVfdXNlcmdyb3VwIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRmZXVncm91cHMgc2VsZWN0ZWQ9JGZldV91c2VyZ3JvdXB9CiAgICAgIDwvc2VsZWN0PgogICAgIDxici8+CiAgICAgIHskbW9kLT5MYW5nKCdpbmZvX2ZldV91c2VyZ3JvdXAnKX0KICAgIDwvcD4KICA8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVsZXRldXNlcnMnKX08L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X29uZGVsZXRlX2NsZWFuY2hlY2tpbnMnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZmV1X29uZGVsZXRlX2NsZWFuY2hlY2tpbnMgc2VsZWN0ZWQ9JGZldV9vbmRlbGV0ZV9jbGVhbmNoZWNraW5zfQogICAgPC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF90YWdnZWR1c2VyX25vdGlmaWNhdGlvbnMnKX06PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX3RhZ2dlZHVzZXJfbm90aWZpY2F0aW9ucycpfTwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcmlvcml0eScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWZldV90YWdnZWRfcHJpb3JpdHkiPgogICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcHJpb3JpdGllcyBzZWxlY3RlZD0kZmV1X3RhZ2dlZF9wcmlvcml0eX0KICAgICAgPC9zZWxlY3Q+CiAgICAgIDxici8+CiAgICAgIHskbW9kLT5MYW5nKCdpbmZvX25vdGlmaWNhdGlvbl9wcmlvcml0eScpfQogICAgPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3ViamVjdCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZmV1X3RhZ2dlZF9zdWJqZWN0IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiIHZhbHVlPSJ7JGZldV90YWdnZWRfc3ViamVjdH0iLz4KICAgICAgPGJyLz4KICAgICAgeyRtb2QtPkxhbmcoJ2luZm9fc3ViamVjdCcpfQogICAgPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbm90aWZpY2F0aW9uX3RlbXBsYXRlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1mZXVfdGFnZ2VkX3RwbCIgY2xhc3M9InRhX3Jlc2l6YWJsZSI+eyRmZXVfdGFnZ2VkX3RwbH08L3RleHRhcmVhPgogICAgICA8YnIvPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ii8+CiAgICA8L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/friendapproved_body.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkhlbGxvIHskdXNlcm5hbWV9PC9oMz4KCjxwPllvdXIgZnJpZW5kc2hpcCByZXF1ZXN0IHdpdGggeyRvdGhlcl91c2VybmFtZX0gaGFzIGJlZW4gYXBwcm92ZWQuICBZb3UgbWF5IG5vdyBzZWUgYW5kIHZpZXcgeW91ciBmcmllbmRzIGNoZWNraW5zLCBhbmQgeW91ciBmcmllbmRzIGZhdm9yaXRlcy48L3A+Cgo8cD5UaGFuayB5b3UsIGZyb20gdGhlIG1hbmFnZW1lbnQgYXQge3NpdGVuYW1lfTwvcD4K]]></data>
	</file>
	<file>
	  <filename>/templates/friendreq_body.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkhlbGxvIHskdXNlcm5hbWV9PC9oMz4KCjxwPnskZnJvbV91c2VybmFtZX0gaGFzIHJlcXVlc3RlZCB0byBiZSB5b3VyIGZyaWVuZCBvbiB7c2l0ZW5hbWV9LiAgWW91IGNhbiBzZWUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHVzZXIsIGFuZCBlaXRoZXIgYXBwcm92ZSwgb3IgZGVueSB0aGUgcmVxdWVzdCBieSBjbGlja2luZyA8YSBocmVmPSJ7JGFwcHJvdmVsaW5rfSI+aGVyZTwvYT48L3A+Cgo8cD5UaGFuayB5b3UsIGZyb20gdGhlIG1hbmFnZW1lbnQgYXQge3NpdGVuYW1lfTwvcD4K]]></data>
	</file>
	<file>
	  <filename>/templates/oncheckin_body.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogb25jaGVja2luIGVtYWlsIG1lc3NhZ2UgYm9keSAqfQo8aDM+SGVsbG8geyR1c2VybmFtZX08L2gzPgoKPHByZT57JGNoZWNraW5fdXNlcnxAcHJpbnRfcn08L3ByZT4KCnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUNHVXNlckRpcmVjdG9yeSBhY3Rpb249ZGV0YWlsIHVpZD0kdXNlci5pZCBwYWdlPSdob21lJyBhc3NpZ249dXNlcl91cmx9Cnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUNvbXBhbnlEaXJlY3RvcnkgYWN0aW9uPWRldGFpbHMgY29tcGlkPSRjaGVja2luLT5sb2NhdGlvbiB1cmxvbmx5PTEgcGFnZT0naG9tZScgYXNzaWduPSdjb21wYW55X3VybCd9Cgo8cD48YSBocmVmPSJ7JHVzZXJfdXJsfSI+eyRjaGVja2luX3VzZXJuYW1lfTwvYT4gcmVjZW50bHkgY2hlY2tlZCBpbiB0byA8YSBocmVmPSJ7JGNvbXBhbnlfdXJsfSI+eyRsb2NhdGlvbi0+Y29tcGFueV9uYW1lfTwvYT4gb24gPGEgaHJlZj0ie3Jvb3RfdXJsfSI+e3NpdGVuYW1lfTwvYT48L3A+Cgp7aWYgJGNoZWNraW4tPm1zZ30KPGg0PlRoaXMgaXMgd2hhdCB3YXMgc2FpZDo8L2g0Pgo8cD57JGNoZWNraW4tPm1zZ308L3A+CnsvaWZ9Cgp7aWYgaXNzZXQoJGFjdGl2aXR5KX0KPGgzPkFjdGl2aXR5IEluZm88L2gzPgo8cHJlPnskYWN0aXZpdHl8QHByaW50X3J9PC9wcmU+CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/oncheckin_notifbody.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRjaGVja2luX3VzZXJuYW1lfSBjaGVja2VkIGluIHRvIHskbG9jYXRpb24tPmNvbXBhbnlfbmFtZX0gb24gPGEgaHJlZj0ie3Jvb3RfdXJsfSI+e3NpdGVuYW1lfTwvYT46IHskY2hlY2tpbi0+bXNnfHRydW5jYXRlOjgwfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_add_checkin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CnsqIGFkZCBjaGVja2luIGZvcm0gKn0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zKXsKICAgICQoJyNmbGRfbGF0JykudmFsKHBvcy5jb29yZHMubGF0aXR1ZGUpOwogICAgJCgnI2ZsZF9sb25nJykudmFsKHBvcy5jb29yZHMubG9uZ2l0dWRlKTsKICB9KTsKCiAgZnVuY3Rpb24gX3VwZGF0ZV9udW1jaGFycygpIHsKICAgICQoJ3NwYW4jZmxkX2NoYXJzJykuaHRtbCgyNTUgLSAkKCcjZmxkX21zZycpLnZhbCgpLmxlbmd0aCk7CiAgfQogIF91cGRhdGVfbnVtY2hhcnMoKTsKICAkKCcjZmxkX21zZycpLmxpdmUoJ2NoYW5nZScsZnVuY3Rpb24oKXsKICAgIF91cGRhdGVfbnVtY2hhcnMoKTsKICB9KTsKICAkKCcjZmxkX21zZycpLmxpdmUoJ2tleXVwJyxmdW5jdGlvbigpewogICAgX3VwZGF0ZV9udW1jaGFycygpOwogIH0pOwp9KTsKPC9zY3JpcHQ+Cgp7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gJycgfTxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWVycm9yIj57JGVycm9yfTwvZGl2PnsvaWZ9CntpZiBpc3NldCgkbWVzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gJyd9CiAgPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtaW5mbyI+eyRtZXNzYWdlfTwvZGl2PgogIDxkaXYgY2xhc3M9IndlbGwiPntjbXNfc2VsZmxpbmsgcGFnZT0kcmV0dXJuaWQgdGV4dD0ieyRtb2QtPkxhbmcoJ21zZ19yZXR1cm50b3BhZ2UnKX0ifTwvZGl2Pgp7L2lmfQoKe2lmIGlzc2V0KCRmb3Jtc3RhcnQpfQogIHskZm9ybXN0YXJ0fQogIDxpbnB1dCBpZD0iZmxkX2xhdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWNnc19sYXQiIHZhbHVlPSIiLz4KICA8aW5wdXQgaWQ9ImZsZF9sb25nIiB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y2dzX2xvbmciIHZhbHVlPSIiLz4KCiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxkaXYgY2xhc3M9InNwYW40Ij57JG1vZC0+TGFuZygnbG9jYXRpb24nKX06PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzcGFuOCI+CiAgICAgIHskbG9jYXRpb24tPmNvbXBhbnlfbmFtZX0KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8ZGl2IGNsYXNzPSJzcGFuNCI+eyRtb2QtPkxhbmcoJ2FjdGl2aXR5Jyl9OjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3BhbjgiPgogICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y2dzX2FjdGl2aXR5Ij4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRhY3Rpdml0aWVzfQogICAgICA8L3NlbGVjdD4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8ZGl2IGNsYXNzPSJzcGFuNCI+eyRtb2QtPkxhbmcoJ21lc3NhZ2UnKX06PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzcGFuOCI+CiAgICAgIDx0ZXh0YXJlYSBpZD0iZmxkX21zZyIgbmFtZT0ieyRhY3Rpb25pZH1jZ3NfbXNnIj48L3RleHRhcmVhPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnY2hhcnNfcmVtYWluaW5nJyl9OiZuYnNwOzxzcGFuIGlkPSJmbGRfY2hhcnMiPjwvc3Bhbj4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8ZGl2IGNsYXNzPSJzcGFuNCI+eyRtb2QtPkxhbmcoJ2ZpbGVzJyl9OjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3BhbjgiPgogICAgICA8aW5wdXQgaWQ9ImZsZF9maWxlcyIgdHlwZT0iZmlsZSIgc2l6ZT0iNTAiIG5hbWU9InskYWN0aW9uaWR9Y2dzX2ZpbGVzW10iIG11bHRpcGxlPSJtdWx0aXBsZSIgYWNjZXB0PSJpbWFnZS8qIi8+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPGJ1dHRvbiBuYW1lPSJ7JGFjdGlvbmlkfWNnc19jaGVja2luIj57JG1vZC0+TGFuZygnY2hlY2tpbicpfTwvYnV0dG9uPgogIDwvZGl2PgogIHskZm9ybWVuZH0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_badge_detail.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYmFkZ2UgZGV0YWlsIHRlbXBsYXRlICp9CjxkaXYgY2xhc3M9InJvdy1mbHVpZCI+PGgzPnskbW9kLT5MYW5nKCdiYWRnZV9kZXRhaWxzJyl9PC9oMz48L2Rpdj4KPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICA8ZGl2IGNsYXNzPSJzcGFuMyI+CiAgICB7aWYgJGJhZGdlLT5pbWFnZX17Q0dTbWFydEltYWdlIHNyYz0kYmFkZ2UtPmltYWdlfXsvaWZ9CiAgICB7KiB3ZSBjb3VsZCBoYXZlIGFuIGVsc2Ugc3RhdGVtZW50IHRvIGRpc3BsYXkgYSBkZWZhdWx0IGltYWdlICp9CiAgPC9kaXY+CiAgPC9kaXYgY2xhc3M9InNwYW45Ij4KICAgIDxoND57JGJhZGdlLT5uYW1lfTwvaDQ+CiAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPntldmFsIHZhcj0kYmFkZ2UtPmRlc2NyaXB0aW9ufTwvZGl2PgogICAge2lmICRiYWRnZS0+aXNfdW5pcXVlfTxkaXYgY2xhc3M9InJvdy1mbHVpZCB3ZWxsIj57JG1vZC0+TGFuZygnbXNnX2JhZGdlX3VuaXF1ZScpfTwvZGl2PnsvaWZ9CiAgPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_badge_summary.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYmFkZ2Ugc3VtbWFyeSB0ZW1wbGF0ZSAqfQp7aWYgIWlzX2FycmF5KCRhbGxiYWRnZXMpfQogPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtZXJyb3IiPnskbW9kLT5MYW5nKCdlcnJvcl9ub2JhZGdlcycpfTwvZGl2Pgp7ZWxzZX0KICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAge2ZvcmVhY2ggZnJvbT0kYWxsYmFkZ2VzIGl0ZW09J2JhZGdlJ30KICAgIDxkaXYgY2xhc3M9InNwYW40IiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Ij4KICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+eyRiYWRnZS0+bmFtZX08L2Rpdj4KICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+e0NHU21hcnRJbWFnZSBzcmM9IiRiYWRnZS0+aW1hZ2UifTwvZGl2PgogICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj57JGJhZGdlLT5kZXNjcmlwdGlvbn08L2Rpdj4KICAgIDwvZGl2PgogICAgey9mb3JlYWNofQogIDwvZGl2PnsqIHJvdy1mbHVpZCAqfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_friendreq.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZnJpZW5kIHJlcXVlc3QgdGVtcGxhdGUgKn0KPGgzPnskQ0dTb2NpYWxBcHAtPkxhbmcoJ3NlbmRmcmllbmRyZXF1ZXN0Jyl9PC9oMz4KCjxwPnskQ0dTb2NpYWxBcHAtPkxhbmcoJ2luZm9fc2VuZGZyaWVuZHJlcXVlc3QnKX08L3A+CnskbXlhY3Rpb25pZD0kYWN0aW9uaWR9eyogYmVjYXVzZSBjYWxsaW5nIGFub3RoZXIgbW9kdWxlIHdpbGwgY2hhbmdlIHRoZSBhY3Rpb25pZCB2YXJpYWJsZSAqfQoKe0Zyb250RW5kVXNlcnMgYWN0aW9uPXZpZXd1c2VyIHVpZD0kdXNlcn0KCnskZm9ybXN0YXJ0fQogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskbXlhY3Rpb25pZH1jZ3Nfc3VibWl0IiB2YWx1ZT0ieyRDR1NvY2lhbEFwcC0+TGFuZygnc2VuZCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskbXlhY3Rpb25pZH1jZ3NfY2FuY2VsIiB2YWx1ZT0ieyRDR1NvY2lhbEFwcC0+TGFuZygnY2FuY2VsJyl9Ii8+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_friendreqlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZnJpZW5kIHJlcXVlc3QgbGlzdCB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJHJlcXVlc3RzKX0KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9mcmllbmRfcmVxdWVzdHMnKX06PC9sZWdlbmQ+CiAgPHVsPgogIHtmb3JlYWNoIGZyb209JHJlcXVlc3RzIGl0ZW09J3JlcSd9CiAgPGxpIHN0eWxlPSJwYWRkaW5nLWJvdHRvbTogMS41ZW07Ij4KICAgIDxzcGFuPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUNHVXNlckRpcmVjdG9yeSBhY3Rpb249ZGV0YWlsIHVpZD0kcmVxLmlkIHRleHQ9JHJlcS51c2VybmFtZX08L3NwYW4+Jm5ic3A7CiAgICA8c3Bhbj57JHJlcS5hcHByb3ZlX2ZyaWVuZHJlcXVlc3RfbGlua308L3NwYW4+Jm5ic3A7CiAgICA8c3Bhbj57JHJlcS5kZW55X2ZyaWVuZHJlcXVlc3RfbGlua308L3NwYW4+CiAgPC9saT4KICB7L2ZvcmVhY2h9CiAgPC91bD4Ke2Vsc2V9CiAgPHA+eyRtb2QtPkxhbmcoJ21zZ19ub2ZyaWVuZHJlcXVlc3RzJyl9PC9wPgo8L2ZpZWxkc2V0Pgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_leaderboard_detail.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbGVhZGVyYm9hcmQgZGV0YWlsICp9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_leaderboard_summary.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbGVhZGVyYm9hcmQgc3VtbWFyeSAqfQp7aWYgIWlzc2V0KCRsZWFkZXJib2FyZHMpfQp7ZWxzZX0KICB7JHR5cGU9Jyd9CiAge2ZvcmVhY2ggJGxlYWRlcmJvYXJkcyBhcyAkYm9hcmR9CiAgICB7aWYgJGJvYXJkLnR5cGUgIT0gJHR5cGV9CiAgICAgIHtpZiAkYm9hcmRAaW5kZXggIT0gMH08L3VsPnsvaWZ9CiAgICAgIDxoMz57JGtleT0nY2hlY2tpbnR5cGVfJ3xjYXQ6JGJvYXJkLnR5cGV9eyRDR1NvY2lhbEFwcC0+TGFuZygka2V5KX08L2gzPgogICAgICA8dWw+CiAgICB7L2lmfSAgICAgICAgIAogICAgPGxpPgogICAgICA8cD57JGJvYXJkLT5uYW1lfSAgCiAgICA8L2xpPgogIHsvZm9yZWFjaH0KICA8L3VsPgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_list_activities.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYWN0aXZpdHkgbGlzdCB0ZW1wbGF0ZSAqfQp7c3RyaXB9CntpZiAhaXNzZXQoJGFkZXB0aCl9e2Fzc2lnbiB2YXI9J2FkZXB0aCcgdmFsdWU9MH17L2lmfQoKPHVsIGNsYXNzPSJhY3Rpdml0eV9saXN0X2x2bHskYWRlcHRofSIvPgp7Zm9yZWFjaCBmcm9tPSR0cmVlIGtleT0na2V5JyBpdGVtPSdpdGVtJ30KICA8bGkge2lmIGlzc2V0KCRhY3RpdmVfYWN0aXZpdHkpIGFuZCAkaXRlbS0+aWQgPT0gJGFjdGl2ZV9hY3Rpdml0eX1jbGFzcz0iYWN0aXZlInsvaWZ9PiAKICB7KiBkaXNwbGF5IGEgbGluayB0byBhIGRldGFpbCB2aWV3IGZvciB0aGlzIGFjdGl2aXR5ICp9CiAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9Q0dTb2NpYWxBcHAgYWN0aW9uPXZpZXdfYWN0aXZpdHkgYWN0aXZpdHk9JGl0ZW0tPmlkIHVybG9ubHk9MSBhc3NpZ249J2R0bF91cmwnfQogIDxhIGhyZWY9InskZHRsX3VybH0iPnskaXRlbS0+bmFtZX08L2E+CgogIHsqIGRpc3BsYXkgZnVydGhlciBpdGVtcyBpbiB0aGUgdHJlZSAqfQogIHtpZiBpc3NldCgkaXRlbS0+Y2hpbGRyZW4pfQogICAge2luY2x1ZGUgZmlsZT0kc21hcnR5LnRlbXBsYXRlIHRyZWU9JGl0ZW0tPmNoaWxkcmVuIGFkZXB0aD0kYWRlcHRoKzF9CiAgey9pZn0KICA8L2xpPgp7L2ZvcmVhY2h9CjwvdWw+Cnsvc3RyaXB9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_list_checkins.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGlzcGxheSBhIGxpc3Qgb2YgY2hlY2tpbnMgbWF0Y2hpbmcgc29tZSBjcml0ZXJpYSAqfQp7KiBOT1RFOiAgVGhpcyBzYW1wbGUgdGVtcGxhdGUgdXNlcyBGRVUgZmllbmRzIGVudGl0bGVkIGF2YXRhciwgYW5kIGZ1bGxfbmFtZS4gIFlvdSB3aWxsIG5lZWQgdG8gY2hhbmdlIHRoaXMgdGVtcGxhdGUgdG8gbWF0Y2ggdGhlIG5hbWUgb2YgeW91ciBGRVUgcHJvcGVydGllcyAqfQoKPGgzPlJlY2VudCBDaGVja2luczwvaDM+Cgp7aWYgaXNzZXQoJHBhZ2luYXRpb24pICYmICRwYWdpbmF0aW9uLT5nZXRfcGFnZV9jb3VudCgpID4gMX17c3RyaXB9CiAge2Fzc2lnbiB2YXI9J2N1cl9wYWdlJyB2YWx1ZT0kcGFnaW5hdGlvbi0+Z2V0X2N1cnJlbnRfcGFnZSgpfQogIHtpZiAkY3VyX3BhZ2UgPiAxfQogICAgPGEgaHJlZj0ieyRwYWdpbmF0aW9uLT5nZXRfZmlyc3RwYWdlX3VybCgpfSIgdGl0bGU9InskQ0dTb2NpYWxBcHAtPkxhbmcoJ3Byb21wdF9maXJzdHBhZ2UnKX0iPiZsdDsmbHQ7PC9hPiZuYnNwOwogICAgPGEgaHJlZj0ieyRwYWdpbmF0aW9uLT5nZXRfcHJldnBhZ2VfdXJsKCl9IiB0aXRsZT0ieyRDR1NvY2lhbEFwcC0+TGFuZygncHJvbXB0X3ByZXZwYWdlJyl9Ij4mbHQ7PC9hPiZuYnNwOwogIHsvaWZ9CiAgeyRDR1NvY2lhbEFwcC0+TGFuZygncHJvbXB0X3BhZ2UnKX0mbmJzcDt7JGN1cl9wYWdlfSZuYnNwO3skQ0dTb2NpYWxBcHAtPkxhbmcoJ29mJyl9Jm5ic3A7eyRwYWdpbmF0aW9uLT5nZXRfcGFnZV9jb3VudCgpfQogIHtpZiAkY3VyX3BhZ2UgPCAkcGFnaW5hdGlvbi0+Z2V0X3BhZ2VfY291bnQoKX0KICAgICAmbmJzcDs8YSBocmVmPSJ7JHBhZ2luYXRpb24tPmdldF9uZXh0cGFnZV91cmwoKX0iPiZndDs8L2E+CiAgICAgJm5ic3A7PGEgaHJlZj0ieyRwYWdpbmF0aW9uLT5nZXRfbGFzdHBhZ2VfdXJsKCl9Ij4mZ3Q7Jmd0OzwvYT4KICB7L2lmfQp7L3N0cmlwfXsvaWZ9Cgp7c3RyaXB9e3VwbG9hZHNfdXJsIGFzc2lnbj0ndXBsb2Fkc191cmwnfQo8ZGl2IGNsYXNzPSJjZ3NhX2NoZWNraW5fbGlzdCI+CntpZiBpc3NldCgkY2hlY2tpbnMpfQogIHtmb3JlYWNoIGZyb209JGNoZWNraW5zIGl0ZW09J2Nnc2FfZW50cnknfQogICAgPGRpdiBjbGFzcz0iY2dzYV9jaGVja2luX3N1bW1hcnllbnRyeSIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDFlbTsiPgogICAgICB7KiBnZXQgdGhlIG93bmVyIGluZm8sIGFuZCBjcmVhdGUgYSB1cmwgKn0KICAgICAgeyogeW91IGNvdWxkIHNwZWNpZnkgYSByZXR1cm5pZCBoZXJlIHRvIHVzZSBhIGRpZmZlcmVudCBkZXRhaWwgcGFnZSAqfQogICAgICB7YXNzaWduIHZhcj0ndWluZm8nIHZhbHVlPSR1c2VyaW5mb1skY2dzYV9lbnRyeS0+b3duZXJdfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1DR1VzZXJEaXJlY3RvcnkgYWN0aW9uPWRldGFpbCBwYWdlPWhvbWUgdWlkPSRjZ3NhX2VudHJ5LT5vd25lciB1cmxvbmx5PTEgYXNzaWduPSd1c2VyaHJlZid9CgogICAgICB7KiBjcmVhdGUgYSBsaW5rIHdpdGggdGhlICB1c2VyIG5hbWUsIGFuZCBhbiBvcHRpb25hbCBhdmF0YXIgKG5vdGUgdGhlIGhhcmRjb2RlZCBwcm9wZXJ0eSBuYW1lLiAgCiAgICAgICAgIElmIHRoZSBpbWFnZSBpcyBhIGRpZmZlcmVudCBwcm9wZXJ0eSB5b3Ugd2lsbCBuZWVkIHRvIGNoYW5nZSBpdCBoZXJlICp9CiAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndXNlcl9pbWdsaW5rJ317c3RyaXB9CiAgICAgICAgPGEgaHJlZj0ieyR1c2VyaHJlZn0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndmlld3VzZXJkZXRhaWxzJyl9Ij4gICAgCiAgICAgICAge2lmIGlzc2V0KCR1aW5mby5wcm9wcy5hdmF0YXIpICYmICR1aW5mby5wcm9wcy5hdmF0YXIgIT0gJyd9CiAgICAgICAgICB7Q0dTbWFydEltYWdlIGNsYXNzPSJjZ3NhX2F2YXRhciIgc3JjMT0kdXBsb2Fkc191cmwgc3JjMj1mZXVzZXJzIHNyYzM9JHVpbmZvLnByb3BzLmF2YXRhciBtYXhfd2lkdGg9MTAwIG1heF9oZWlnaHQ9MTAwfQogICAgICAgIHtlbHNlfQogICAgICAgICAge0NHU21hcnRJbWFnZSBjbGFzcz0iY2dzYV9hdmF0YXIiIHNyYzE9JHVwbG9hZHNfdXJsIHNyYzI9J21pc3NpbmdfYXZhdGFyLmpwZycgbWF4X3dpZHRoPTEwMCBtYXhfaGVpZ2h0PTEwMH0KICAgICAgICB7L2lmfQogICAgICAgIDwvYT4KICAgICAgey9zdHJpcH17L2NhcHR1cmV9CgogICAgICB7Y2FwdHVyZSBhc3NpZ249J3Vzcl9saW5rJ308YSBocmVmPSJ7JHVzcmhyZWZ9Ij57JHVpbmZvLnVzZXJuYW1lfTwvYT57L2NhcHR1cmV9CgogICAgICB7KiBnZXQgYSBsaW5rIHRvIHRoZSBsb2NhdGlvbiBkZXRhaWwgdmlldyAqfQogICAgICB7KiB5b3UgY291bGQgc3BlY2lmeSBhIHJldHVybmlkIGhlcmUgdG8gdXNlIGEgZGlmZmVyZW50IGRldGFpbCBwYWdlICp9CiAgICAgIHtjZF9nZXRjb21wYW55IGlkPSRjZ3NhX2VudHJ5LT5sb2NhdGlvbiBhc3NpZ249J2xvYyd9CiAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdDb21wYW55RGlyZWN0b3J5JyBhY3Rpb249ZGV0YWlscyBjb21wYW55aWQ9JGNnc2FfZW50cnktPmxvY2F0aW9uIHBhZ2U9aG9tZSB0ZXh0PSRsb2MtPmNvbXBhbnlfbmFtZSBhc3NpZ249J2xvY2xpbmsnIHVybG9ubHk9MX0KCiAgICAgIHsqIGdldCBhIGxpbmsgdG8gdGhlIGNoZWNraW4gZGV0YWlsIHZpZXcgKHNvIHdlIGNhbiB2aWV3IGltYWdlcywgYW5kIHJlc3BvbmQgdG8gdGhpcyB0aGluZyAqfQogICAgICB7KiB5b3UgY291bGQgc3BlY2lmeSBhIHJldHVybmlkIGhlcmUgdG8gdXNlIGEgZGlmZmVyZW50IGRldGFpbCBwYWdlICp9CiAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdDR1NvY2lhbEFwcCcgYWN0aW9uPWRldGFpbCBjaGVja2luPSRjZ3NhX2VudHJ5LT5pZCB1cmxvbmx5PTEgYXNzaWduPSdkZXRhaWxfdXJsJ30KCiAgICAgIHsqIHB1dCBpdCBhbGwgdG9nZXRoZXIsIGFuZCBkaXNwbGF5IGl0ICp9CiAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjIiPnskdXNlcl9pbWdsaW5rfTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4xMCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY2dzYV93aG8iPgogICAgICAgICAgICB7JENHU29jaWFsQXBwLT5MYW5nKCd3aG8nKX06IDxhIGhyZWY9InskdXNlcmhyZWZ9Ij57aWYgaXNzZXQoJHVpbmZvLnByb3BzLmZ1bGxfbmFtZSkgJiYgJHVpbmZvLnByb3BzLmZ1bGxfbmFtZSAhPSAnJ317JHVpbmZvLnByb3BzLmZ1bGxfbmFtZX17ZWxzZX17JHVpbmZvLnVzZXJuYW1lfXsvaWZ9PC9hPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY2dzYV93aGVyZSI+eyRDR1NvY2lhbEFwcC0+TGFuZygnd2hlcmUnKX06IDxhIGhyZWY9InskbG9jbGlua30iPnskbG9jLT5jb21wYW55X25hbWV9PC9hPjwvZGl2PgogICAgICAgICAge2lmICRjZ3NhX2VudHJ5LT5hY3Rpdml0eSAhPSAnJ30KICAgICAgICAgICAge2Nnc2FfZ2V0YWN0aXZpdHkgYWN0aXZpdHk9JGNnc2FfZW50cnktPmFjdGl2aXR5IGFzc2lnbj0nYWN0J30KICAgICAgICAgICAge2lmICRhY3QgIT0gJyd9CiAgICAgICAgICAgICAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0NHU29jaWFsQXBwJyBhY3Rpb249J3ZpZXdfYWN0aXZpdHknIGFjdGl2aXR5PSRjZ3NhX2VudHJ5LT5hY3Rpdml0eSB1cmxvbmx5PTEgYXNzaWduPSdhY3R1cmwnfQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY2dzYV93aGF0Ij57JENHU29jaWFsQXBwLT5MYW5nKCd3aGF0Jyl9OiA8YSBocmVmPSJ7JGFjdHVybH0iPnskYWN0LT5uYW1lfTwvYT48L2Rpdj4KICAgICAgICAgICAgey9pZn0KICAgICAgICAgIHsvaWZ9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY2dzYV9kYXRlIj57JENHU29jaWFsQXBwLT5MYW5nKCd3aGVuJyl9OiB7JGNnc2FfZW50cnktPmNyZWF0ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L2Rpdj4KICAgICAgICAgIHtpZiAkY2dzYV9lbnRyeS0+bXNnICE9ICcnfQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY2dzYV9tc2ciPnskQ0dTb2NpYWxBcHAtPkxhbmcoJ21lc3NhZ2UnKX06IHskY2dzYV9lbnRyeS0+bXNnfTwvZGl2PgogICAgICAgICAgey9pZn0KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+PGEgY2xhc3M9ImNnc2FfZGV0YWlsX2xpbmsiIGhyZWY9InskZGV0YWlsX3VybH0iIHRpdGxlPSJ7JENHU29jaWFsQXBwLT5MYW5nKCd0aXRsZV9tb3JlJyl9Ij57JENHU29jaWFsQXBwLT5MYW5nKCdtb3JlJyl9Li4uPC9hPjwvZGl2PgogICAgICAgIDwvZGl2PnsqIC5zcGFuOCAqfQogICAgICA8L2Rpdj57KiAucm93LWZsdWlkICp9CiAgICA8L2Rpdj57KiAuY2dzYS1zdW1tYXJ5LWVudHJ5ICp9CiAgey9mb3JlYWNofQp7ZWxzZX0KICA8ZGl2IGNsYXNzPSJ3ZWxsIj57JENHU29jaWFsQXBwLT5MYW5nKCdtc2dfY2hlY2tpbnNfbm9tYXRjaGVzJyl9PC9kaXY+CnsvaWZ9CjwvZGl2Pnsvc3RyaXB9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_newlocation_notification_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZW1haWwgdGVtcGxhdGUsIHNlbnQgd2hlbiBhIG5ldyBsb2NhdGlvbiBpcyBjcmVhdGVkIHZpYSB0aGUgYXBpICp9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_tagged_notification.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdGFnZ2VkIG5vdGlmaWNhdGlvbiB0ZW1wbGF0ZSAqfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_view_activity.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogb3JpZ2luYWwgdmlldyBhY3Rpdml0eSAqfXtzdHJpcH0KCjxkaXYgY2xhc3M9ImNnc2FfYWN0aXZpdHkiPgogIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAge2lmICRhY3Rpdml0eS0+aW1hZ2V9CiAgICA8ZGl2IGNsYXNzPSJzcGFuMiI+CiAgICB7Q0dTbWFydEltYWdlIHNyYzE9JGFjdGl2aXR5LT5maWxlX2xvY2F0aW9uIHNyYzI9JGFjdGl2aXR5LT5pbWFnZSBhbHQ9JGFjdGl2aXR5LT5pbWFnZSBtYXhfaGVpZ2h0PTE1MCBtYXhfd2lkdGg9MTUwfQogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzcGFuMTAiPjxoND57JGFjdGl2aXR5LT5uYW1lfTwvaDQ+e2lmICRhY3Rpdml0eS0+ZGVzY3JpcHRpb259eyRhY3Rpdml0eS0+ZGVzY3JpcHRpb259ey9pZn0KPC9kaXY+CiAge2Vsc2V9CiAgICA8aDQ+eyRhY3Rpdml0eS0+bmFtZX08L2g0PgogICAge2lmICRhY3Rpdml0eS0+ZGVzY3JpcHRpb259eyRhY3Rpdml0eS0+ZGVzY3JpcHRpb259ey9pZn0KICAgIAogIHsvaWZ9CiAgPC9kaXY+CjwvZGl2PgoKeyogZGlzcGxheSByZWNlbnQgY2hlY2tpbnMgZm9yIHRoaXMgYWN0aXZpdHkgKn0Ke2Ntc19tb2R1bGUgbW9kdWxlPSdDR1NvY2lhbEFwcCcgYWN0aXZpdHk9JGFjdGl2aXR5LT5pZCBsaW1pdD0yMH0Key9zdHJpcH0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_view_checkin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdmlldyBjaGVja2luIHRlbXBsYXRlICp9CnsqIE5PVEU6ICBUaGlzIHNhbXBsZSB0ZW1wbGF0ZSB1c2VzIEZFVSBmaWVuZHMgZW50aXRsZWQgYXZhdGFyLCBhbmQgZnVsbF9uYW1lLiAgWW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhpcyB0ZW1wbGF0ZSB0byBtYXRjaCB0aGUgbmFtZSBvZiB5b3VyIEZFVSBwcm9wZXJ0aWVzICp9Cgp7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gJyd9CiAgPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtZXJyb3IiPnskZXJyb3J9PC9kaXY+CntlbHNlfQogIDxkaXYgY2xhc3M9ImNnc2FfY2hlY2tpbiI+CiAgICB7aWYgaXNzZXQoJG1lc3NhZ2UpICYmICRtZXNzYWdlICE9ICcnfTxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWluZm8iPnskbWVzc2FnZX08L2Rpdj57L2lmfQoKICAgIHsqIGdldCB0aGUgb3duZXIgaW5mbywgYW5kIGNyZWF0ZSBhIHVybCAqfQogICAgeyogeW91IGNvdWxkIHNwZWNpZnkgYSByZXR1cm5pZCBoZXJlIHRvIHVzZSBhIGRpZmZlcmVudCBkZXRhaWwgcGFnZSAqfQogICAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9Q0dVc2VyRGlyZWN0b3J5IGFjdGlvbj1kZXRhaWwgcGFnZT1ob21lIHVpZD0kY2hlY2tpbi0+b3duZXIgdXJsb25seT0xIGFzc2lnbj0ndXNlcmhyZWYnfQoKICAgIHsqIGNyZWF0ZSBhIGxpbmsgd2l0aCB0aGUgIHVzZXIgbmFtZSwgYW5kIGFuIG9wdGlvbmFsIGF2YXRhciAobm90ZSB0aGUgaGFyZGNvZGVkIHByb3BlcnR5IG5hbWUuICAKICAgICAgIHlvdSB3aWxsIHByb2xseSBoYXZlIHRvIGNoYW5nZSB0aGlzLgogICAgICAgSWYgdGhlIGltYWdlIGlzIGEgZGlmZmVyZW50IHByb3BlcnR5IHlvdSB3aWxsIG5lZWQgdG8gY2hhbmdlIGl0IGhlcmUgKn0KICAgIHtjYXB0dXJlIGFzc2lnbj0ndXNlcl9hdmF0YXInfXtzdHJpcH0KICAgICAgPGEgaHJlZj0ieyR1c2VyaHJlZn0iIHRpdGxlPSJ7JENHU29jaWFsQXBwLT5MYW5nKCd2aWV3dXNlcmRldGFpbHMnKX0iPgogICAgICB7aWYgaXNzZXQoJHVpbmZvLnByb3BzLmF2YXRhcikgJiYgJHVpbmZvLnByb3BzLmF2YXRhciAhPSAnJ30KICAgICAgICB7Q0dTbWFydEltYWdlIGNsYXNzPSJjZ3NhX2F2YXRhciIgc3JjMT0kdXBsb2Fkc191cmwgc3JjMj1mZXVzZXJzIHNyYzM9JHVpbmZvLnByb3BzLmF2YXRhciBtYXhfd2lkdGg9MTAwIG1heF9oZWlnaHQ9MTAwfQogICAgICB7ZWxzZX0KICAgICAgICB7Q0dTbWFydEltYWdlIGNsYXNzPSJjZ3NhX2F2YXRhciIgc3JjMT0kdXBsb2Fkc191cmwgc3JjMj0nbWlzc2luZ19hdmF0YXIuanBnJyBtYXhfd2lkdGg9MTAwIG1heF9oZWlnaHQ9MTAwfQogICAgICB7L2lmfQogICAgICA8L2E+CiAgICB7L3N0cmlwfXsvY2FwdHVyZX0KICAgIHtjYXB0dXJlIGFzc2lnbj0ndXNlcl9saW5rJ308YSBocmVmPSJ7JHVzcmhyZWZ9Ij57JHVpbmZvLnVzZXJuYW1lfTwvYT57L2NhcHR1cmV9CgogICAgeyogZ2V0IGEgbGluayB0byB0aGUgbG9jYXRpb24gZGV0YWlsIHZpZXcgKn0KICAgIHsqIHlvdSBjb3VsZCBzcGVjaWZ5IGEgcmV0dXJuaWQgaGVyZSB0byB1c2UgYSBkaWZmZXJlbnQgZGV0YWlsIHBhZ2UgKn0KICAgIHtjZF9nZXRjb21wYW55IGlkPSRjaGVja2luLT5sb2NhdGlvbiBhc3NpZ249J2xvYyd9CiAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQ29tcGFueURpcmVjdG9yeScgYWN0aW9uPWRldGFpbHMgY29tcGFueWlkPSRjaGVja2luLT5sb2NhdGlvbiBwYWdlPWhvbWUgdGV4dD0kbG9jLT5jb21wYW55X25hbWUgYXNzaWduPSdsb2NsaW5rJyB1cmxvbmx5PTF9CgogICAgeyogcHV0IGl0IGFsbCB0b2dldGhlciwgYW5kIGRpc3BsYXkgaXQgKn0KICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgIDxkaXYgY2xhc3M9InNwYW4yIj57JHVzZXJfYXZhdGFyfTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCBjZ3NhX3dobyI+CiAgICAgICAgICB7JENHU29jaWFsQXBwLT5MYW5nKCd3aG8nKX06IDxhIGhyZWY9InskdXNlcmhyZWZ9Ij57aWYgaXNzZXQoJHVpbmZvLnByb3BzLmZ1bGxfbmFtZSkgJiYgJHVpbmZvLnByb3BzLmZ1bGxfbmFtZSAhPSAnJ317JHVpbmZvLnByb3BzLmZ1bGxfbmFtZX17ZWxzZX17JHVpbmZvLnVzZXJuYW1lfXsvaWZ9PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCBjZ3NhX3doZXJlIj57JENHU29jaWFsQXBwLT5MYW5nKCd3aGVyZScpfTogPGEgaHJlZj0ieyRsb2NsaW5rfSI+eyRsb2MtPmNvbXBhbnlfbmFtZX08L2E+PC9kaXY+CiAgICAgICAge2lmICRjaGVja2luLT5hY3Rpdml0eSAhPSAnJ30KICAgICAgICAgIHtjZ3NhX2dldGFjdGl2aXR5IGFjdGl2aXR5PSRjaGVja2luLT5hY3Rpdml0eSBhc3NpZ249J2FjdCd9CiAgICAgICAgICB7aWYgJGFjdCAhPSAnJ30KICAgICAgICAgICAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0NHU29jaWFsQXBwJyBhY3Rpb249J3ZpZXdfYWN0aXZpdHknIGFjdGl2aXR5PSRjaGVja2luLT5hY3Rpdml0eSB1cmxvbmx5PTEgYXNzaWduPSdhY3R1cmwnfQogICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIGNnc2Ffd2hhdCI+eyRDR1NvY2lhbEFwcC0+TGFuZygnd2hhdCcpfTogPGEgaHJlZj0ieyRhY3R1cmx9Ij57JGFjdC0+bmFtZX08L2E+PC9kaXY+CiAgICAgICAgICB7L2lmfQogICAgICAgIHsvaWZ9CiAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIGNnc2FfZGF0ZSI+eyRDR1NvY2lhbEFwcC0+TGFuZygnd2hlbicpfTogeyRjaGVja2luLT5jcmVhdGVkfGRhdGVfZm9ybWF0OicleCAlWCd9PC9kaXY+CiAgICAgICAge2lmICRjaGVja2luLT5tc2cgIT0gJyd9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY2dzYV9tc2ciPnskQ0dTb2NpYWxBcHAtPkxhbmcoJ21lc3NhZ2UnKX06IHskY2hlY2tpbi0+bXNnfTwvZGl2PgogICAgICAgIHsvaWZ9CiAgICAgIDwvZGl2PnsqIC5zcGFuOCAqfQogICAgPC9kaXY+eyogLnJvdy1mbHVpZCAqfQogICAgeyRmaWxlcz0kY2hlY2tpbi0+ZmlsZXN9CiAgICB7aWYgaXNfYXJyYXkoJGZpbGVzKSAmJiBjb3VudCgkZmlsZXMpfQogICAgICA8ZmllbGRzZXQ+CiAgICAgICAgPGxlZ2VuZD57JENHU29jaWFsQXBwLT5MYW5nKCdpbWFnZXMnKX08L2xlZ2VuZD4KICAgICAgICA8ZGl2IGNsYXNzPSJ3ZWxsIj57JENHU29jaWFsQXBwLT5MYW5nKCdpbmZvX2ltYWdlcycpfTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICB7Zm9yZWFjaCAkZmlsZXMgYXMgJGZpbGV9CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIj4KICAgICAgICAgICAge2lmICRmaWxlID09ICcnfXtjb250aW51ZX17L2lmfQogICAgICAgICAgICB7Q0dTbWFydEltYWdlIHNyYzE9JGZpbGVzX3VybCBzcmMyPSRmaWxlIG1heF93aWR0aD04MDAgbWF4X2hlaWdodD02MDAgbm90YWc9MSBub2VtYmVkPTEgYXNzaWduPSdmdWxsX3VybCd9CiAgICAgICAgICAgIDxhIGNsYXNzPSJmYW5jeWJveCIgcmVsPSJjaGVja2luX2FsYnVtIiBocmVmPSJ7JGZ1bGxfdXJsfSI+e0NHU21hcnRJbWFnZSBzcmMxPSRmaWxlc191cmwgc3JjMj0kZmlsZSB3aWR0aD0xNTAgaGVpZ2h0PTE1MH08L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgey9mb3JlYWNofQogICAgICAgIDwvZGl2PgogICAgICA8L2ZpZWxkc2V0PgogICAgey9pZn0KICA8L2Rpdj4Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/todo.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VXNlcnMKIC0gU2VhcmNoCgpMb2NhdGlvbnMKIC0gQnkgQWN0aXZpdHkKCkNoZWNraW5zCiA9IEF0dGFjaCBJbWFnZXMKCkZyb250ZW5kIAo=]]></data>
	</file>
</module>
