<?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>LeadManager</name>
	<version>1.1</version>
  <mincmsversion>1.11.10-custom1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkEgZmxleGlibGUgYW5kIHNpbXBsZSBtb2R1bGUgdG8gZ2F0aGVyIHNhbGVzIGxlYWQgaW5mb3JtYXRpb24gZnJvbSBzaXRlIHZpc2l0b3JzLiAgU2l0ZSB2aXNpdG9ycyB3aG8gcmVhY2ggYSBsYW5kaW5nIHBhZ2UgY2FuIHByb3ZpZGUgaW5mb3JtYXRpb24gdmlhIGZpbGxpbmcgaW4gYSBmb3JtLiAgVGhhdCBpbmZvcm1hdGlvbiBpcyBhdHRhY2hlZCB0byBhIHRpbWUgbGltaXRlZCAmcXVvdDtjYW1wYWlnbiZxdW90OyBmb3IgYSBzcGVjaWZpYyBjb21wYW55IDxlbT4oc2VlIHRoZSBDb21wYW55RGlyZWN0b3J5IG1vZHVsZSk8L2VtPi4gIFRoZSBsZWFkIGluZm9ybWF0aW9uIGlzIHRoZW4gc2VudCB0byB0aGUgZW1haWwgYWRkcmVzcyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbXBhbnkuPC9wPgo8aDM+RmVhdHVyZXM6PC9oMz4KIDx1bD4KICA8bGk+VGltZSBsaW1pdGVkIGNhbXBhaWduczwvbGk+CiAgPGxpPkNhbXBhaWducyB0aWVkIHRvIGEgQ29tcGFueURpcmVjdG9yeSBjb21wYW55PC9saT4KICA8bGk+RmxleGlibGUgZmllbGRzICh0ZXh0IGJveGVzLCB0ZXh0IGFyZWFzLCBjaGVja2JveGVzLCBkcm9wZG93bnMsIGFuZCBtdWx0aXNlbGVjdCk8L2xpPgogIDxsaT5UaGUgYWJpbGl0eSB0byBzYXZlIGZpZWxkICZxdW90O3R5cGVzJnF1b3Q7IHdpdGggcHJlLWRlZmluZWQgb3B0aW9ucyBhbmQgcmUtdXNlIHRob3NlIHR5cGVzIGluIGRpZmZlcmVudCBjYW1wYWlnbnMuPC9saT4KICA8bEk+VGhlIGFiaWxpdHkgdG8gdHJhY2sgYWRkaXRpb25hbCB2YXJpYWJsZXMgc3VjaCBhcyB1dG1fbWVkaXVtLCB1dG1fY2FtcGFpZ24gZXRjLiAgQW5kIGFkZGl0aW9uYWwgdmFyaWFibGVzIHN1cHBsaWVkIGluIHRoZSB0YWcuPC9saT4KICA8bGk+U2ltcGxlLCBidXQgcG93ZXJmdWwgYm90IGFuZCBmbG9vZCBwcmV0ZWN0aW9uOgogICAgPHVsPgogICAgICA8bGk+Rmxvb2QgUHJvdGVjdGlvbiAocmVzdHJpY3QgdGhlIHNhbWUgYnJvd3NlciBmcm9tIHN1Ym1pdHRpbmcgYSBsZWFkIG1vcmUgdGhhbiBvbmNlIGluIGEgc2V0IHRpbWUgcGVyaW9kKTwvbGk+CiAgICAgIDxsaT5TaW1wbGUgY2FwdGNoYSBtZWNoYW5pc20gdG8gcHJldmVudCBtYW55IGJvdHMuPC9saT4KICAgICAgPGxpPkRldGVjdCBib3RzIHZpYSB0aGVpciB1c2VyIGFnZW50LjwvbGk+CiAgICAgIDxsaT5EeW5hbWljIG1lY2hhbmlzbSB0byBhZGQgbW9yZSBib3RzIHRvIHRoZSBpZ25vcmUgbGlzdC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5MZWFkcyBhcmUgc2VudCB2aWEgZW1haWwgdG8gY29tcGFueSBvd25lcnMuPC9saT4KICA8bGk+VHJhY2tpbmcgb2Ygd2hpY2ggbGVhZHMgaGF2ZSBiZWVuIHZpZXdlZCA8ZW0+KG9uIHRoZSB3ZWJzaXRlKTwvZW0+IGJ5IHRoZSBjb21wYW55IG93bmVycy48L2xpPgogIDxsaT5BIGNvbXBsZXRlIGRhc2hib2FyZCBhbmQgZnJvbnRlbmQgbWFuYWdlbWVudCBwYW5lbCBmb3IgY29tcGFueSBvd25lcnMuCiAgICA8dWw+CiAgICAgIDxsaT5EaXNwbGF5IGEgbGlzdCBvZiB0aGUgZmlyc3QgZmV3ICZxdW90O3Vudmlld2VkJnF1b3Q7IGxlYWRzLCBhbmQgYWxsb3cgdmlld2luZyB0aGVtLjwvbGk+CiAgICAgIDxsaT5EaXNwbGF5IGEgbGlzdCBvZiB0aGUgY3VycmVudCBjYW1wYWlnbnMgZm9yIHRoZSB1c2VycyAmcXVvdDtjb21wYW5pZXMmcXVvdDs8L2xpPgogICAgICA8bGk+RGlzcGxheSBhIGxpc3Qgb2YgYWxsIGxlYWRzIGZvciBhbiBhY3RpdmUgY2FtcGFpZ248L2xpPgogICAgICA8bGk+VGhlIGFiaWxpdHkgdG8gbWFyayBhIGxlYWQgYXMgJnF1b3Q7YmFkJnF1b3Q7IHdoaWNoIHdpbGwgdGhlbiBhZGQgdGhlIHVzZXIgYWdlbnQgdXNlZCBpbiB0aGUgbGlzdCB0byB0aGUgaWdub3JlIGxpc3QuPC9saT4KICAgICAgPGxpPlRoZSBhYmlsaXR5IHRvIGV4cG9ydCBjb21wbGV0ZWQgbGVhZHMgZm9yIGEgY2FtcGFpZ24gdG8gYSBmb3JtYXQgc3VpdGFibGUgZm9yIHVzZSBpbiBleGNlbC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5BIGNhbXBhaWduIHNlYXJjaCB0b29sIHRvIHNlYXJjaCBmb3IgYWN0aXZlIGNhbXBhaWducyB2aWEgYSBrZXl3b3JkLjwvbGk+CiA8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0OjwvaDM+CiAgPHVsPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUKICAgICAgPHVsPgogICAgICAgIDxsaT5DcmVhdGUgYXQgbGVhc3Qgb25lIHByb3BlcnR5LjwvbGk+CiAgICAgICAgPGxpPkNyZWF0ZSBhdCBsZWFzdCBvbmUgZ3JvdXAuPC9saT4KICAgICAgICA8bGk+Q2FsbCBGcm9udEVuZHVzZXJzIG9uIGEgY29udGVudCBwYWdlIG9yIHBhZ2UgdGVtcGxhdGUuPC9saT4KICAgICAgPC91bD4KICAgIDwvbGk+CiAgICA8bGk+SW5zdGFsbCBhbmQgY29uZmlndXJlIHRoZSBDb21wYW55RGlyZWN0b3J5IG1vZHVsZS4KICAgICAgPHA+WW91IHNob3VsZCAodGhvdWdoIGl0IGlzIG5vdCBzdHJpY3RseSByZXF1aXJlZCkgY29uZmlndXJlIENvbXBhbnlEaXJlY3RvcnkgdG8gYWxsb3cgZm9yIEZyb250RW5kVXNlcnMgdG8gYWRkIG9yIGVkaXQgY29tcGFuaWVzLjwvcD4KICAgICAgPHVsPgogICAgICAgICA8bGk+RW5hYmxlIHRoZSBhcHByb3ByaWF0ZSBvcHRpb25zIGluIHRoZSBDb21wYW55RGlyZWN0b3J5IHNldHRpbmdzLjwvbGk+CiAgICAgICAgIDxsaT5BZGQgPGNvZGU+e0NvbXBhbnlEaXJlY3RvcnkgYWN0aW9uPWZyb250ZW5kbGlzdH08L2NvZGU+IHRvIGEgY29udGVudCBwYWdlIHRoYXQgaXMgcHJvdGVjdGVkIHRvIG9ubHkgbWVtYmVycyBvZiBzdWl0YWJsZSBncm91cHMuPC9saT4KICAgICAgPC91bD4KICAgICAgPGxpPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSW4gb3JkZXIgdG8gY3JlYXRlIGNhbXBhaWducyB0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBjb21wYW55IGV4aXN0aW5nIGFuZCBwdWJsaXNoZWQgaW4gdGhlIGRhdGFiYXNlLjwvbGk+CiAgICA8L2xpPgogICAgPGxpPkNyZWF0ZSBhdCBsZWFzdCBvbmUgY2FtcGFpZ246CiAgICAgIDx1bD4KICAgICAgICA8bGk+RW50ZXIgYSBuYW1lIGZvciB0aGUgY2FtcGFpZ24uPC9saT4KICAgICAgICA8bGk+RW50ZXIgYSBrZXl3b3JkIGZvciB0aGUgY2FtcGFpZ24KICAgICAgICAgIDxwPlRoZSBrZXl3b3JkIG11c3QgYmUgdW5pcXVlIHRvIGFsbCBhY3RpdmUgY2FtcGFpZ25zLiAgSXQgaXMgdXNlZCB0byBwcm92aWRlIGEgY29udmVuaWVudCBtZXRob2QgZm9yIHNpdGUgdmlzaXRvcnMgdG8gYmUgYWJsZSB0byBmaW5kIGFuIGFjdGl2ZSBjYW1wYWlnbi48L3A+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+U2VsZWN0IGEgY29tcGFueSBmb3IgdGhlIGNhbXBhaWduLgogICAgICAgICAgPHA+VGhpcyBpcyBhbiBhdXRvY29tcGxldGUgZmllbGQuICBCZWdpbiBieSB0eXBpbmcgYSBwb3J0aW9uIG9mIGEgY29tcGFueSBuYW1lIGludG8gdGhlIGZpZWxkLiAgQSBkcm9wZG93biB3aWxsIGFwcGVhciB0byBkaXNwbGF5IHRoZSBmaXJzdCBmZXcgbWF0Y2hlcy4gIFNlbGVjdCBvbmUgb2YgdGhlIG1hdGNoZXMuPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPkRlZmluZSBzdGFydCBhbmQgZW5kIGRhdGVzLCBwcm92aWRlIGEgZGVzY3JpcHRpb24gYW5kIGEgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHRoZSB2aXNpdG9yIG9uIGNvbXBsZXRpb24uPC9saT4KICAgICAgICA8bGk+RGVmaW5lIGZpZWxkcyBmb3IgdGhlIGZvcm0uCgk8cD5WYXJpb3VzIGRpZmZlcmVudCB0eXBlcyBvZiBmaWVsZHMgY2FuIGJlIGRlZmluZWQgKHRleHQgZmllbGRzLCB0ZXh0IGFyZWFzLCBjaGVja2JveGVzLCBkcm9wZG93bnMsIGFuZCBtdWx0aXNlbGVjdCBmaWVsZHMpLiBGaWVsZHMgaGF2ZSBkaWZmZXJlbnQgcHJvcGVydGllcywgYW5kIGhvdyBlYWNoIGZpZWxkIGlzIGRpc3BsYXllZCBpcyBkZXBlbmRlbnQgb24gdGhlIGNvZGUgaW4gdGhlIGZvcm0gdGVtcGxhdGUuPC9wPgogICAgICAgICAgPHVsPgogIAkgICAgPGxpPkZpZWxkIG5hbWVzIG11c3QgYmUgdW5pcXVlIHRvIGEgZm9ybS4gIFRoZXkgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIG9yIHVuZGVycnNjb3Jlcy4gICBUaGUgbmFtZSBpcyB1c2VkIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBmaWVsZCBmcm9tIHdpdGhpbiBzbWFydHkgdGVtcGxhdGVzIGFuZCB3aGVuIGV4cG9ydGluZyBsZWFkcy4gSXQgaXMgYWxzbyB1c2VkIGluIHRoZSBmcm9udGVuZCBsZWFkIGRpc3BsYXkgZm9yIGF1dGhvcml6ZWQgY29tcGFueSBvd25lcnMuPC9saT4KCSAgICA8bGk+VGhlIGZpZWxkIHByb21wdCBpcyBhIGh1bWFuIHJlYWRhYmxlIHZhbHVlIGZvciB0aGlzIGZpZWxkLCBmb3IgdXNlIGluIHRoZSBmb3JtLiAgaXQgbWF5IGNvbnRhaW4gc3BhY2VzLCBwdW5jdHVhdGlvbiBvciBsYW5ndWFnZSBzcGVjaWZpYyBjaGFyYWN0ZXJzLjwvbGk+CiAgICAgICAgICAgIDxsaT5UaGUgZmllbGQgdHlwZQoJICAgICAgPHA+VGhlIGRyb3Bkb3duIGZvciB0aGUgZmllbGQgdHlwZSBhbGxvd3MgY3JlYXRpbmcgc2ltcGxlIGZpZWxkcywgb3IgdG8gY3JlYXRlIGEgZmllbGQgZnJvbSBhbiBhbiBleGlzdGluZyBmaWVsZCB0eXBlLiAgVGhpcyBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byByZS11c2UgZmllbGRzIG9uIGRpZmZlcmVudCBjYW1wYWlnbnMuPC9wPgoJICAgICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBBbHRob3VnaCByYWRpbyBncm91cHMgYXJlIG5vdCBhIGZpZWxkIHR5cGUsIGl0IGlzIHBvc3NpYmxlIHRvIGRpc3BsYXkgYSBkcm9wZG93biBmaWVsZCBpbiB0aGUgZm9ybSBvZiBhIHJhZGlvIGdyb3VwIGJ5IG1vZGlmeWluZyB0aGUgZm9ybSB0ZW1wbGF0ZS48L3A+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT5SZXF1aXJlZCAtIFdldGhlciBvciBub3QgdGhlIHVzZXIgaXMgbWFuZGF0ZWQgdG8gc3VibWl0IGEgdmFsdWUgZm9yIHRoYXQgZmllbGQuPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+T3B0aW9uYWxseSB1cGxvYWQgc29tZSBQREYgYXR0YWNobWVudHMuCiAgICAgICAgICA8cD5FYWNoIGNhbXBhaWduIGNhbiBoYXZlIG51bWVyb3VzIFBERiBhdHRhY2htZW50cyB0aGF0IG1heSBiZSB1c2VmdWwgdG8gYWxsb3cgdmlld2luZyBvciBkb3dubG9hZCB3aGVuIHRoZSB1c2VyIGlzIGNvbXBsZXRpbmcgdGhlIGNhbXBhaWduIGZvcm0uPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPk9wdGlvbmFsbHkgdXBsb2FkIHNvbWUgaW1hZ2VzLgogICAgICAgICAgPHA+RWFjaCBjYW1wYWlnbiBjYW4gaGF2ZSBudW1lcm91cyBpbWFnZXMgdGhhdCBtYXkgYmUgdXNlZnVsIHdoZW4gZGVzaWduaW5nIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjYW1wYWlnbiBsYW5kaW5nIHBhZ2UuPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPk9wdGlvbmFsbHkgc2VsZWN0IGEgZm9ybSB0ZW1wbGF0ZSBmb3IgdGhlIGNhbXBhaWduLgogCSAgPHA+VW5saWtlIGluIG90aGVyIG1vZHVsZXMsIHRoaXMgbW9kdWxlIGFsbG93cyBzZWxlY3RpbmcgYSBkaWZmZXJlbnQgZm9ybSB0ZW1wbGF0ZSBmb3IgZWFjaCBjYW1wYWlnbi4gIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IGZvcm0gdGVtcGxhdGUgY2FuIGJlIHVzZWQuICBUaGUgZm9ybSB0ZW1wbGF0ZSBjYW4gYWxzbyBiZSBvdmVycmlkZW4gdmlhIHRoZSA8Y29kZT57Y2dlX21vZHVsZV9oaW50fTwvY29kZT4gdGFnLiAgPGVtPihTZWUgQ0dFeHRlbnNpb25zIEhlbHApPC9lbT48L3A+CiAgICAgICAgPC9saT4KICAgICAgPC91bD4gIAogICAgPC9saT4KICAgIDxsaT5DYWxsIHRoZSBkYXNoYm9hcmQgYWN0aW9uIG9uIGEgcHJvdGVjdGVkIHBhZ2UuCgk8cD48Y29kZT57TGVhZE1hbmFnZXIgYWN0aW9uPWRhc2hib2FyZH08L2NvZGU+PC9wPgogICAgPC9saT4KICA8L3VsPgo8aDM+QWN0aW9uczwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhyZWUgcHJpbWFyeSBmcm9udGVuZCBhY3Rpb25zOjwvcD4KICA8dWw+CiAgICA8bGk+VGhlIDxjb2RlPmRlZmF1bHQ8L2NvZGU+IGFjdGlvbi4KICAgICAgPHA+VGhpcyBhY3Rpb24gZGlzcGxheXMgYSBzaW1wbGUgZm9ybSB0byBhbGxvdyB2aXNpdG9ycyB0byBmaW5kIGFuIGFjdGl2ZSBjYW1wYWlnbiBieSBlbnRlcmluZyBhIGtleXdvcmQuIE9uIHN1Y2Nlc3MgdGhlIHVzZXIgaXMgcmVkaXJlY3RlZCB0byB0aGUgZmVfbGVhZCBhY3Rpb24uIGNhbGwgaXQgd2l0aCA8Y29kZT57TGVhZE1hbmFnZXJ9PC9jb2RlPjwvcD4KICAgIDwvbGk+CiAgIDxsaT5UaGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4gYWN0aW9uIGRpc3BsYXlzIHRoZSBmb3JtIHRoYXQgZ2VuZXJhdGVzIGxlYWRzLiAgCiAgICAgIDxwPlRoZSBsYXlvdXQgb2YgdGhpcyBmb3JtIGlzIGRlcGVuZGVudCBvbiB0aGUgZm9ybSB0ZW1wbGF0ZSBzZWxlY3RlZCAoZWl0aGVyIHRoZSBkZWZhdWx0LCB0aGUgdGVtcGxhdGUgc3BlY2lmaWVkIGluIHRoZSBjYW1wYWlnbiwgb3IgYW55IHRlbXBhbHRlIG5hbWUgc3BlY2lmaWVkIGluIHBhcmFtZXRlcnMsIG9yIHZpYSB0aGUgPGNvZGU+e2NnZV9tb2R1bGVfaGludH08L2NvZGU+IHRhZy48L3A+IAogICA8L2xpPgogICA8L2xpPlRoZSA8Y29kZT5kYXNoYm9hcmQ8L2NvZGU+IGFjdGlvbiBkaXNwbGF5cyBhIHJlcG9ydCBvZiBhY3RpdmUgY2FtcGFpZ25zLCBhbmQgdW52aWV3ZWQgbGVhZHMuCiAgICAgPHA+PHN0cm9uZz5SZXF1aXJlZCBQYXJhbWV0ZXJzOiA8L3N0cm9uZz4gbm9uZTwvcD4KICAgICA8cD5UaGlzIGFjdGlvbiBpcyBvbmx5IHZpc2libGUgdG8gbG9nZ2VkIGluIEZyb250RW5kVXNlcnMgd2hvIG93biBjb21wYW5pZXMgaW4gdGhlIENvbXBhbnlEaXJlY3RvcnkgbW9kdWxlLjwvcD4KICAgICA8cD5UaGlzIGFjdGlvbiB1c2VzIGEgJnF1b3Q7ZGFzaGJvYXJkIHRlbXBsYXRlJnF1b3Q7IHRvIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdW52aWV3ZWQgbGVhZHMsIGFuZCBhY3RpdmUgY2FtcGFpZ25zLiAgSXQgYWxzbyBwcm92aWRlcyBtZWNoYW5pc21zIHRvIGRpc3BsYXkgaW5kaXZpZHVhbCB1bnZpZXdlZCBsZWFkcyBhbmQgdG8gdmlldyBoaXN0b3JpY2FsIGNhbXBhaWducyBmb3IgYSB1c2VycyBjb21wYW5pZXMuPC9wPgogICAgIDxwPlRoaXMgYWN0aW9uIGhhcyB0aGUgZm9sbG93aW5nIHN1Yi1hY3Rpb25zOjwvcD4KICAgICA8dWw+CiAgICAgICA8bGk+VGhlIDxjb2RlPnZpZXdfY2FtcGFpZ248L2NvZGU+IGFjdGlvbgogICAgICAgICA8cD48c3Ryb25nPlJlcXVpcmVkIFBhcmFtZXRlcnM6IDwvc3Ryb25nPiBjYW1wYWlnbiAtIGFuIGludGVnZXIgY2FtcGFpZ24gaWQuPC9wPgogICAgICAgICA8cD5UaGlzIGFjdGlvbiBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBjYW1wYWlnbi4gIEluY2x1ZGluZyBhbGwgb2YgdGhlIGxlYWRzLiAgRnJvbSBoZXJlIGEgY29tcGFueSBvd25lciBjYW4gdmlldyBhbnkgbGVhZHMsIGFuZCBleHBvcnQgY2FtcGFpZ25zIHRvIGV4Y2VsLjwvcD4KICAgICAgICAgPHA+VGhpcyBhY3Rpb24gaXMgb25seSB2aXNpYmxlIHRvIGxvZ2dlZCBpbiBGcm9udEVuZFVzZXJzIHdobyBvd24gdGhlIGNvbXBhbnkgbGlua2VkIHRvIHRoZSBzcGVjaWZpZWQgY2FtcGFpZ24uPC9saT4KICAgICAgICAgPHA+VGhpcyBhY3Rpb24gaGFzIHRoZSBmb2xsb3dpbmcgc3ViLWFjdGlvbnM6PC9wPgogICAgICAgICA8dWw+CiAgICAgICAgICAgPGxpPlRoZSA8Y29kZT5leHBvcnRfY2FtcGFpZ248L2NvZGU+IGFjdGlvbgogICAgICAgICAgICAgPHA+PHN0cm9uZz5SZXF1aXJlZCBQYXJhbWV0ZXJzOiA8L3N0cm9uZz4gY2FtcGFpZ24gLSBhbiBpbnRlZ2VyIGNhbXBhaWduIGlkLjwvcD4KCSAgICAgPHA+VGhpcyBhY3Rpb24gZ2VuZXJhdGVzIGFuIFhNTCBmb3JtYXQgZmlsZSB0aGF0IGlzIHN1aXRhYmxlIGZvciB1c2UgaW4gc3ByZWFkc2hlZXQgcHJvZ3JhbXMgc3VjaCBhcyBFeGNlbCZ0cmFkZTsgb3IgT3BlbiBPZmZpY2UuPC9wPgogICAgICAgICAgICAgPHA+VGhpcyBhY3Rpb24gaXMgb25seSB1c2FibGUgYnkgbG9nZ2VkIGluIEZyb250RW5kVXNlcnMgd2hvIG93biB0aGUgY29tcGFueSBsaW5rZWQgdG8gdGhlIHNwZWNpZmllZCBjYW1wYWlnbi48L2xpPgogICAgICAgICAgIDwvbGk+CiAgICAgICAgIDwvdWw+CiAgICAgICA8L2xpPiAgICAgICAKICAgICAgIDxsaT5UaGUgPGNvZGU+dmlld19sZWFkPC9jb2RlPiBhY3Rpb24KICAgICAgICAgPHA+PHN0cm9uZz5SZXF1aXJlZCBQYXJhbWV0ZXJzOiA8L3N0cm9uZz4gY2FtcGFpZ24gLSBhbiBpbnRlZ2VyIGNhbXBhaWduIGlkLiAgbGVhZCAtIGFuIGludGVnZXIgbGVhZCBpZDwvcD4KICAgICAgICAgPHA+VGhpcyBhY3Rpb24gZGlzcGxheXMgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgbGVhZC4gIElmIHRoZSBzcGVjaWZpZWQgbGVhZCB3YXMgcHJldmlvdXNseSB1bnZpZXdlZCBpdCBpcyBhdXRvbWF0aWNhbGx5IG1hcmtlZCBhcyAmcXVvdDt2aWV3ZWQmcXVvdDsgb24gZGlzcGxheS4gIEZyb20gdGhpcyB2aWV3IGNvbXBhbnkgb3duZXJzIGNhbiBtYXJrIGEgbGVhZCBhcyAmcXVvdDtiYWQmcXVvdDsgd2hpY2ggYWRkcyB0aGUgdXNlciBhZ2VudCBzdXBwbGllZCB3aXRoIHRoZSBsZWFkIHRvIHRoZSBpZ25vcmUgbGlzdCBhbmQgYXNzaXN0cyBpbiB0aGUgYm90IHByb3RlY3Rpb24gbWVjaGFuaXNtLjwvcD4KICAgICAgIDwvbGk+CiAgICAgPC91bD4KICAgPC9saT4KICA8L3VsPgo8aDM+QWRkaXRpb25hbCBUcmFja2luZyBGaWVsZHM8L2gzPgogIDxwPlRoZSBtb2R1bGUgd2lsbCBhdXRvbWF0aWNhbGx5IHRyYWNrIG51bWVyb3VzIHZhbHVlcyBpbiBhZGRpdGlvbiB0byB0aGUgdmFsdWVzIHN1Ym1pdHRlZCBpbiB0aGUgZm9ybS4gIFRoZXNlIGluY2x1ZGU6PC9wPgogIDx1bD4KICAgIDxsaT51c2VyX2FnZW50IC0gVGhlIHVzZXIgYWdlbnQgc3RyaW5nIHByb3ZpZGVkIGJ5IHRoZSB2aXNpdG9ycyBicm93c2VyLjwvbGk+CiAgICA8bGk+cmVtb3RlX2lwICAtIEEgYmVzdCBndWVzcyBhdCB0aGUgaXAgYWRkcmVzcyB0aGUgdmlzaXQgb3JpZ2luYXRlZCBmcm9tLjwvbGk+CiAgICA8bGk+cmVmZXJlciAtIHRoZSBhZGRyZXNzIChpZiBhbnkpIHRoYXQgdGhlIHZpc2l0b3IgdXNlZCB0byBnZXQgdG8gdGhlIGxhbmRpbmcgcGFnZS48L2xpPgogICAgPGxpPnV0bV9zb3VyY2UgLSBBIGdvb2dsZSB0cmFja2luZyBwYXJhbWV0ZXIuPC9saT4KICAgIDxsaT51dG1fbWVkaXVtIC0gQSBnb29nbGUgdHJhY2tpbmcgcGFyYW1ldGVyLjwvbGk+CiAgICA8bGk+dXRtX2NhbXBhaWduIC0gQSBnb29nbGUgdHJhY2tpbmcgcGFyYW1ldGVyLjwvbGk+CiAgICA8bGk+ZmV1X3VpZCAtIElmIGxvZ2dlZCBpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUsIHRoaXMgaXMgdGhlIHVpZCBvZiB0aGF0IHVzZXIuPC9saT4KICAgIDxsaT5mZXVfZW1haWwgLSBJZiBsb2dnZWQgaW4gdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLCB0aGlzIGlzIHRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoYXQgdXNlci48L2xpPgogIDwvdWw+CiAgPHA+SXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBhZGRpdGlvbmFsIHRyYWNraW5nIHBhcmFtZXRlcnMgYnkgc3BlY2lmaW5nIHRoZW0gb24gdGhlIDxjb2RlPntMZWFkTWFuYWdlcn08L2NvZGU+IHRhZywgb3IgdmlhIHVzaW5nIHRoZSA8Y29kZT57Y2dlX21vZHVsZV9oaW50fTwvY29kZT4gbWVjaGFuaXNtLiBpLmU6ICB7TGVhZE1hbmFnZXIgbG1fa2V5MT1Qcm9kdWN0IGxtX3ZhbDE9NDV9IHdvdWxkIGFkZCAmcXVvdDtQcm9kdWN0PTQ1JnF1b3Q7IHRvIHRoZSB0cmFja2VkIGZpZWxkcy4gIFNpbWlsYXJseSBzcGVjaWZ5aW5nIHtjZ2VfbW9kdWxlX2hpbnQgbW9kdWxlPUxlYWRNYW5hZ2VyIGxtX2tleTE9TmV3cyBsbV92YWwxPTExIGxtX2tleTI9UHJvZHVjdCBsbV92YWwyPTIxfSB3b3VsZCBhZGQgdHdvIHRyYWNraW5nIGZpZWxkcy48L3A+CgoKPGgzPkludGVybmFsIE9iamVjdCBIZWxwPC9oMz4KIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgaW5mb3JtYXRpb24gaXMgc3ViamVjdCB0byBjaGFuZ2UsIGFuZCBpcyBpbnRlbmRlZCBvbmx5IGFzIGEgcm91Z2ggZ3VpZGUuICBGb3IgZnVydGhlciBkZXRhaWxzIHlvdSBtYXkgaGF2ZSB0byBjb25zdWx0IHRoZSBQSFAgY29kZSBkaXJlY3RseS48L2Rpdj4KPHVsPgogIDxsaT5DYW1wYWlnbiBPYmplY3RzCiAgICA8cD5DYW1wYWlnbiBvYmplY3RzIGRlc2NyaWJlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgY2FtcGFpZ24uICBJbiB0aGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4sIDxjb2RlPnZpZXdfY2FtcGFpZ248L2NvZGU+LCBhbmQgPGNvZGU+dmlld19hY3Rpb248L2NvZGU+IGFjdGlvbnMgYSBzaW5nbGUgY2FtcGFpZ24gb2JqZWN0IGlzIGF2YWlsYWJsZSBhcyB0aGUgc21hcnR5IHZhcmlhYmxlIDxjb2RlPnskY2FtcGFpZ259PC9jb2RlPi4gIENhbXBhaWduIG9iamVjdHMgYXJlIHJlYWQgb25seSBpbiBhbGwgZnJvbnRlbmQgdGVtcGxhdGVzLiAgVGhleSBwcm92aWRlIHRoZSBmb2xsb3dpbmcgcHVibGljIG1lbWJlcnMgYW5kIG1ldGhvZHMgdG8gc21hcnR5OjwvcD4KICAgIDx1bD4KICAgICA8bGk+TWVtYmVyczoKICAgICAgIDx1bD4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uaWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpbnRlZ2VyIGlkIGZvciB0aGUgY2FtcGFpZ24uPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24ubmFtZX08L2NvZGU+IChzdHJpbmcpIHRoZSBuYW1lIG9mIHRoZSBjYW1wYWlnbi48L2xpPgogICAgICAgICA8bGk+PGNvZGU+eyRjYW1wYWlnbi5rZXl3b3JkfTwvY29kZT4gKHN0cmluZykgdGhlIGtleXdvcmQgb2YgdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmNvbXBhbnlfaWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpbnRlZ2VyIGlkIG9mIHRoZSBjb21wYW55IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FtcGFpZ24uPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uc3RhcnRfZGF0ZX08L2NvZGU+IChpbnRlZ2VyKSB0aGUgdW5peCB0aW1lc3RhbXAgZm8gdGhlIHN0YXJ0IGRhdGUgb2YgdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmVuZF9kYXRlfTwvY29kZT4gKGludGVnZXIpIHRoZSB1bml4IHRpbWVzdGFtcCBmbyB0aGUgZW5kIGRhdGUgb2YgdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmNyZWF0ZWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXggdGltZXN0YW1wIG9mIHRoZSB0aW1lIHRoZSBjYW1wYWlnbiB3YXMgaW5pdGlhbGx5IGNyZWF0ZWQuPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uZmluaXNoZWRfbXNnfTwvY29kZT4gKEhUTUwgc3RyaW5nKSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHVzZXJzIG9uY2UgYSBsZWFkIGZvciB0aGlzIGNhbXBhaWduIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjcmVhdGVkLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmRlc2NyaXB0aW9ufTwvY29kZT4gKEhUTUwgc3RyaW5nKSBBIGRlc2NyaXB0aW9uIGZvciB0aGlzIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmZpZWxkc308L2NvZGU+IChPYmplY3QgYXJyYXkpIEFuIGFycmF5IG9mIGZpZWxkIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBmaWVsZHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW1wYWlnbiBpbiB0aGUgc3BlY2lmaWVkIG9yZGVyLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmV4dGVybmFsX3VybH08L2NvZGU+IChzdHJpbmcpIFRoZSB2YWx1ZSBvZiB0aGUgZXh0ZXJuYWwgdXJsIGZpZWxkLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmF0dGFjaG1lbnRzfTwvY29kZT4gKHN0cmluZyBhcnJheSkgQSBsaXN0IG9mIHRoZSBQREYgZmlsZXMgYXR0YWNoZWQgdG8gdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmltYWdlc308L2NvZGU+IChzdHJpbmcgYXJyYXkpIEEgbGlzdCBvZiB0aGUgaW1hZ2UgZmlsZXMgYXR0YWNoZWQgdG8gdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLnRlbXBsYXRlfTwvY29kZT4gKHN0cmluZykgVGhlIG5hbWUgb2YgdGhlIHRlbXBsYXRlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmF0dGFjaG1lbnRfbG9jYXRpb259PC9jb2RlPiAoc3RyaW5nKSBUaGUgVVJMIHByZWZpeCBmb3IgUERGIGZpbGVzIGF0dGFjaGVkIHRvIHRoaXMgZG9tYWluLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmltYWdlX2xvY2F0aW9ufTwvY29kZT4gKHN0cmluZykgVGhlIFVSTCBwcmVmaXggZm9yIGltYWdlIGZpbGVzIGF0dGFjaGVkIHRvIHRoaXMgZG9tYWluLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmxlYWRjb3VudH08L2NvZGU+IChpbnRlZ2VyKSBUaGUgdG90YWwgbnVtYmVyIG9mIDxlbT4obm9uIGJhZCk8L2VtPiBsZWFkcyBnYXRoZXJlZCB0aGlzIGNhbXBhaWduIHRvIGRhdGUuPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uY29tcGxldGVjb3VudH08L2NvZGU+IChpbnRlZ2VyKSBUaGUgdG90YWwgbnVtYmVyIG9mIGNvbXBsZXRlZCBsZWFkcyBnYXRoZXJlZCBmb3IgdGhpcyBjYW1wYWlnbiB0byBkYXRlPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24udW52aWV3ZWRjb3VudH08L2NvZGU+IChpbnRlZ2VyKSBUaGUgdG90YWwgbnVtYmVyIG9mIHVudmlld2VkIGxlYWRzIGdhdGhlcmVkIGZvciB0aGlzIGNhbXBhaWduIHRvIGRhdGU8L2xpPgogICAgICAgPC91bD4KICAgICA8L2xpPgogICAgPC91bD4KICAgCiAgPC9saT4KICA8bGk+RmllbGQgT2JqZWN0cwogICAgPHA+RmllbGQgb2JqZWN0cyBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IGEgZm9ybSBmaWVsZCB1c2VkIGluIHRoZSBsZWFkIGdlbmVyYXRpb24gcHJvY2Vzcy4gIEFuIGFzc29jaWF0ZWQgYXJyYXkgb2YgZmllbGQgb2JqZWN0cyBpcyBwcm92aWRlZCB0byB0aGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4gYWN0aW9uIHZpYSB0aGUgc21hcnR5IHZhcmlhYmxlIDxjb2RlPnskZm9ybWZpZWxkc308L2NvZGU+LiAgVGhlIGtleSBpcyB0aGUgZmllbGQgbmFtZSwgdG8gYWxsb3cgZm9yIGRpcmVjdCBhY2Nlc3Npbmcgb2YgaW5mb3JtYXRpb24gZm9yIHNwZWNpZmljIGZpZWxkcy4gIEZpZWxkIG9iamVjdHMgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBtZW1iZXJzOjwvcD4KICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPnskZmllbGQuaWR9PC9jb2RlPiAoaW50ZWdlcikgVGhlIHVuaXF1ZSBmaWVsZCBpZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRmaWVsZC5uYW1lfTwvY29kZT4gKHN0cmluZykgVGhlIG5hbWUgb2YgdGhpcyBmaWVsZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRmaWVsZC5wcm9tcHR9PC9jb2RlPiAoc3RyaW5nKSBUaGUgcHJvbXB0IG9mIHRoaXMgZmllbGQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskZmllbGQuYmFzZV90eXBlfTwvY29kZT4gKHN0cmluZykgdGhlIGJhc2UgdHlwZSBvZiBmaWVsZCAoaS5lOiB0ZXh0Ym94LCBkcm9wZG93biwgY2hlY2tib3guLi4uKTwvbGk+CiAgICAgIDxsaT48Y29kZT57JGZpZWxkLmNhbXBhaWdufTwvY29kZT4gKGludGVnZXIpIFRoZSB1bmlxdWUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgY2FtcGFpZ24uPC9saT4KICAgICAgPGxpPjxjb2RlPnskZmllbGQucmVxdWlyZWR9PC9jb2RlPiAoaW50ZWdlcikgSW5kaWNhdGVzIHdldGhlciBvciBub3QgdGhpcyBpcyBhIHJlcXVpcmVkIGZpZWxkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGZpZWxkLml0ZW1fb3JkZXJ9PC9jb2RlPiAoaW50ZWdlcikgVGhlIGRpc3BsYXkgb3JkZXIgb2YgdGhlIGZpZWxkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGZpZWxkLm9wdGlvbnN9PC9jb2RlPiAoYXNzb2NpYXRpdmUgYXJyYXkpIC0gRm9yIGZpZWxkcyB3aGljaCByZXF1aXJlIG51bWVyb3VzIG9wdGlvbnMgKGRyb3Bkb3ducywgbXVsdGlzZWxlY3RzKSB0aGlzIG1lbWJlciBwcm92aWRlcyB0aG9zZSBvcHRpb25zLiAgSXQgaXMgc3VpdGFibGUgZm9yIHVzZSBieSB0aGUgc21hcnR5IDxjb2RlPntodG1sX29wdGlvbnN9PC9jb2RlPiBwbHVnaW4uPC9saT4KICAgIDwvdWw+CiAgICAKICA8L2xpPgogIDxsaT5MZWFkIE9iamVjdHMKICAgIDxwPkxlYWQgb2JqZWN0cyBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGxlYWQuICBUaGlzIGluY2x1ZGVzIGFsbCBvZiB0aGUgZmllbGQgdmFsdWVzIHRoYXQgd2VyZSBlbnRlcmVkIGJ5IHRoZSB1c2VyIGluIHRoZSBsZWFkIGdlbmVyYXRpb24gZm9ybSwgYWRkZWQgdmlhIHRoZSA8Y29kZT57TGVhZE1hbmFnZXJ9PC9jb2RlPiB0YWcsIG9yIGF1dG9tYXRpY2FsbHkgZGV0ZWN0ZWQuPC9wPgogICAgPHA+QSBvYmplY3QgaXMgdXNlZCBpbiB0aGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4gYWN0aW9uIHRvIGF1dG8gZmlsbCBmaWVsZHMgaW5jYXNlIG9mIGFuIGVycm9yLiBJdCBpcyBhdmFpbGFibGUgdmlhIHRoZSA8Y29kZT57JGxlYWR9PC9jb2RlPiBzbWFydHkgdmFyaWFibGUuPC9wPgogICAgPHA+SW4gdGhlIDxjb2RlPmRhc2hib2FyZDwvY29kZT4gYWN0aW9uLCB1bnZpZXdlZCBsZWFkIG9iamVjdHMgYXJlIHByb3ZpZGVkIGJ5IHRoZSA8Y29kZT57JHVudmlld2VkX2xlYWRzfTwvY29kZT4gc21hcnR5IHZhcmlhYmxlLiAgSW4gdGhlIDxjb2RlPnZpZXdfbGVhZDwvY29kZT4gYWN0aW9uIGEgc2luZ2xlIGxlYWQgb2JqZWN0IGlzIHByb3ZpZGVkIGJ5IHRoZSA8Y29kZT57JGxlYWR9PC9jb2RlPiBzbWFydHkgdmFyaWFibGUuICBJbiB0aGUgPGNvZGU+dmlld19jYW1wYWlnbjwvY29kZT4gYWN0aW9uLCBhbiBhcnJheSBvZiBsZWFkIG9iamVjdHMgaXMgcHJvdmlkZWQgaW4gdGhlIDxjb2RlPnskbGVhZHN9PC9jb2RlPiBzbWFydHkgdmFyaWFibGUuPC9wPgogICAgPHVsPgogICAgICA8bGk+TWVtYmVycwogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQuaWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpZCBvZiB0aGlzIGxlYWQuPC9saT4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQuY2FtcGFpZ259PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgY2FtcGFpZ24gdGhhdCB0aGlzIGxlYWQgaXMgYXNzb2NpYXRlZCB3aXRoLjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+eyRsZWFkLnN0YXR1c308L2NvZGU+IChzdHJpbmcpIHRoZSBzdGF0dXMgb2YgdGhlIGxlYWQuICBlaXRoZXIgJnF1b3Q7aW5jb21wZXRlJnF1b3Q7LCZxdW90O2NvbXBsZXRlJnF1b3Q7LCBvciAmcXVvdDtiYWQmcXVvdDs8L2xpPgogICAgICAgICAgPGxpPjxjb2RlPnskbGVhZC5jcmVhdGVkfTwvY29kZT4gKGludGVnZXIpIHRoZSB1bml4IHRpbWVzdGFtcCBvZiB3aGVuIHRoaXMgbGVhZCB3YXMgb3JpZ2luYWxseSBzYXZlZC48L2xpPgogICAgICAgICAgPGxpPjxjb2RlPnskbGVhZC5tb2RpZmllZH08L2NvZGU+IChpbnRlZ2VyKSB0aGUgdW5peCB0aW1lc3RhbXAgb2Ygd2hlbiB0aGlzIGxlYWQgd2FzIGxhc3Qgc2F2ZWQuPC9saT4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQudmlld2VkfTwvY29kZT4gKGludGVnZXIpIHRoZSB1bml4IHRpbWVzdGFtcCB3aGVuIHRoaXMgbGVhZCB3YXMgbWFya2VkIGFzIHZpZXdlZC4gIG9yIDAgZm9yIHVudmlld2VkIGxlYWRzLjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+eyRsZWFkLmVtYWlsfTwvY29kZT4gKHN0cmluZykgc2VhcmNoZXMgZm9yLCBhbmQgcmV0dXJucyB0aGUgZmlyc3QgdmFsaWQgZW1haWwgYWRkcmVzcyBzdG9yZWQgd2l0aCB0aGlzIGxlYWQuPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2xpPgogICAgICA8bGk+TWV0aG9kcwogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQtPmZpZWxkX2xpc3QoKX08L2NvZGU+IChzdHJpbmcgYXJyYXkpIHJldHVybnMgYSBsaXN0IG9mIGFsbCBvZiB0aGUgbmFtZXMgb2YgYWxsIG9mIHRoZSB2YWx1ZXMgYXR0YWNoZWQgdG8gdGhpcyBsZWFkLjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+eyRsZWFkLT5maWVsZF9leGlzdHMoc3RyaW5nKX08L2NvZGU+IChib29sZWFuKSBpbmRpY2F0ZXMgaWYgYSBzcGVjaWZpZWQgbmFtZWQgdmFsdWUgZXhpc3RzIHdpdGhpbiB0aGlzIGxlYWQuPC9saT4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQtPmZpZWxkX2dldChzdHJpbmcpfTwvY29kZT4gKG1peGVkKSByZXR1cm5zIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLiAgSWYgaXQgZXhpc3RzLjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9saT4KICAgIDwvdWw+CiAgPC9saT4KCiAgPGxpPkNvbXBhbnkgT2JqZWN0cwogICAgPHA+QSBjb21wYW55IG9iamVjdCBpcyB1c3VhbGx5IHN1cHBsaWVkIGluIGZyb250ZW5kIGFjdGlvbnMgd2hlcmUgYSBzaW5nbGUgY29tcGFueSBjYW4gYmUgZGV0ZXJtaWVkIHZpYSB0aGUgPGNvZGU+eyRjb21wYW55fTwvY29kZT4gc21hcnR5IHZhcmlhYmxlLiAgTWFueSBvZiB0aGUgZmllbGRzIG9mIHRoZSBjb21wYW55IG9iamVjdCBtYXkgYmUgZW1wdHkuPC9wPgogICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIGluZm9ybWF0aW9uIGlzIHN1YmplY3QgdG8gY2hhbmdlLCBpZiB0aGlzIGRvY3VtZW50YXRpb24gaXMgZm91bmQgdG8gYmUgaW4gZXJyb3IgcGxlYXNlIHJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGFuZCB0ZW1wbGF0ZXMgb2YgdGhlIENvbXBhbnlEaXJlY3RvcnkgbW9kdWxlLjwvcD4KICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+aWR9PC9jb2RlPiAoaW50ZWdlcikgdW5pcXVlIGNvbXBhbnkgaWQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+Y29tcGFueV9uYW1lfTwvY29kZT4gKHN0cmluZykgVGhlIGNvbXBhbnkgbmFtZS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5hZGRyZXNzfTwvY29kZT4gKHN0cmluZykgVGhlIGNvbXBhbnkgYWRkcmVzcy48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT50ZWxlcGhvbmV9PC9jb2RlPiAoc3RyaW5nKSBUaGUgY29tcGFueSB0ZWxlcGhvbmUgbnVtYmVyLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmZheH08L2NvZGU+IChzdHJpbmcpIFRoZSBjb21wYW55IHRlbGVwaG9uZSBmYXguPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+Y29udGFjdF9lbWFpbH08L2NvZGU+IChzdHJpbmcpIEFuIGVtYWlsIGFkZHJlc3MgdG8gY29udGFjdCB0aGUgY29tcGFueS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT53ZWJzaXRlfTwvY29kZT4gKHN0cmluZykgQSB3ZWJzaXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcGFueS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5kZXRhaWxzfTwvY29kZT4gKEhUTUwgc3RyaW5nKSBUZXh0IGRlc2NyaXB0aW9uIGZvciB0aGUgY29tcGFueSByZWNvcmQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+cGljdHVyZV9sb2NhdGlvbn08L2NvZGU+IChzdHJpbmcpIE5hbWUgb2YgYW4gaW1hZ2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wYW55LjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmxvZ29fbG9jYXRpb259PC9jb2RlPiAoc3RyaW5nKSBOYW1lIG9mIGEgbG9nbyBpbWFnZSAod2ViIGZvcm1hdCkgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wYW55LjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmNyZWF0ZV9kYXRlfTwvY29kZT4gKHN0cmluZykgTXlTUUwgZm9ybWF0IGRhdGUgdGhhdCB0aGUgY29tcGFueSByZWNvcmQgd2FhIGluaXRpYWxseSBjcmVhdGVkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPm1vZGlmaWVkX2RhdGV9PC9jb2RlPiAoc3RyaW5nKSBNeVNRTCBmb3JtYXQgZGF0ZSB0aGF0IHRoZSBjb21wYW55IHJlY29yZCB3YWEgbGFzdCBjcmVhdGVkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmxhdGl0dWRlfTwvY29kZT4gKGZsb2F0KSBUaGUgbGF0aXR1ZGUgcG9ydGlvbiBvZiB0aGUgY29vcmRpbmF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVjb3JkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmxvbmdpdHVkZX08L2NvZGU+IChmbG9hdCkgVGhlIGxvbmdpdHVkZSBwb3J0aW9uIG9mIHRoZSBjb29yZGluYXRlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZWNvcmQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+b3duZXJfaWR9PC9jb2RlPiAoaW50ZWdlcikgVGhlIGZldV91aWQgKGlmIHBvc2l0aXZlKSBvZiB0aGUgb3duZXIgb2YgdGhlIHJlY29yZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5oaWVyX2lkfTwvY29kZT4gKGludGVnZXIpIFRoZSBpZCBvZiB0aGUgcG9zaXRpb24gaW4gdGhlIGhpZXJhcmNoeSB0byB3aGljaCB0aGlzIHJlY29yZCBpcyBhc3NvY2lhdGVkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPnVybH08L2NvZGU+IChzdHJpbmcpIFRoZSB1bmlxdWUgdXJsIGZvciB0aGlzIHJlY29yZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5waWN0dXJlX3BhdGh9PC9jb2RlPiAoc3RyaW5nKSBUaGUgVVJMIHByZWZpeCB3aGVyZSB0aGUgY29tcGFueSBpbWFnZSBmaWxlIG1heSBiZSBmb3VuZCAoaWYgaXQgZXhpc3RzKS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5sb2dvX3BhdGh9PC9jb2RlPiAoc3RyaW5nKSBUaGUgVVJMIHByZWZpeCB3aGVyZSB0aGUgY29tcGFueSBsb2dvIGZpbGUgYmUgZm91bmQgKGlmIGl0IGV4aXN0cykuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KPC91bD4KCgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KbG1fa2V5IwpsbV92YWwjPGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DR0V4dGVuc2lvbnMgPSZndDsgMS4zOC4xPC9saT48bGk+Q29tcGFueURpcmVjdG9yeSA9Jmd0OyAxLjE5Ljc8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAxLjcuMTwvbGk+PGxpPkZyb250RW5kVXNlcnMgPSZndDsgMS4yMi4zPC9saT48bGk+RmlsZU1hbmFnZXIgPSZndDsgMS40LjM8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGVhZD0iIiAtIChpbnRlZ2VyKSAtIFVzZWQgZm9yIHRoZSB2aWV3X2xlYWQgYWN0aW9uIHRvIHNwZWNpZnkgdGhlIGxlYWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYW1wYWlnbj0iIiAtIChpbnRlZ2VyKSAtIFVzZWQgZm9yIHRoZSBmZV9sZWFkLCB2aWV3X2xlYWQsIHZpZXdfY2FtYWlnbiwgYW5kIGV4cG9ydF9jYW1wYWlnbiBhY3Rpb25zIHRvIHNwZWNpZnkgdGhlIGxlYWQgdG8gb3BlcmF0ZSB3aXRoLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2FtcGFpZ25wYWdlPSIiIC0gKHN0cmluZykgLSBUaGUgcGFnZSBJRCBvciBhbGlhcyB0byBkaXNwbGF5IHRoZSBsZWFkIGdlbmVyYXRpb24gZm9ybSBvbi4gIERlZmF1bHQgdmFsdWUgaXMgYSBwcmVmZXJlbmNlIHNwZWNpZmllZCBpbiB0aGUgbW9kdWxlcyBhZG1pbiBwYW5lbCwgb3IgdGhlIGN1cnJlbnQgcGFnZSBpZiBub3Qgb3RoZXJ3aXNlIHNwZWNpZmllZDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2FtcGFpZ250ZW1wbGF0ZT0iIiAtIChzdHJpbmcpIC0gVGhlIHBhZ2UgSUQgb3IgYWxpYXMgdG8gZGlzcGxheSB0aGUgbGVhZCBnZW5lcmF0aW9uIGZvcm0gb24uICBEZWZhdWx0IHZhbHVlIGlzIGEgcHJlZmVyZW5jZSBzcGVjaWZpZWQgaW4gdGhlIG1vZHVsZXMgYWRtaW4gcGFuZWwsIG9yIHRoZSBjdXJyZW50IHBhZ2UgaWYgbm90IG90aGVyd2lzZSBzcGVjaWZpZWQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGtleXdvcmR0ZW1wbGF0ZT0iIiAtIChzdHJpbmcpIC0gVXNlIGEgZGlmZmVyZW50IHRlbXBsYXRlIGZvciB0aGUga2V5d29yZCBmb3JtIHRoYW4gdGhlIGN1cnJlbnQgZGVmYXVsdCBrZXl3b3JkIHRlbXBsYXRlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYW1wYWlnbmxpc3R0ZW1wbGF0ZT0iIiAtIChzdHJpbmcpIC0gU3BlY2lmeSBhIGRpZmZlcmVudCB0ZW1wbGF0ZSBmb3IgdGhlIGNhbXBhaWduIGxpc3QgdmlldyB0aGFuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhpcyB0eXBlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkYXNoYm9hcmR0ZW1wbGF0ZT0iIiAtIChzdHJpbmcpIC0gU3BlY2lmeSBhIGRpZmZlcmVudCB0ZW1wbGF0ZSBmb3IgdGhlIGRhc2hib2FyZCByZXBvcnQgdGhhbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoaXMgdHlwZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdmlld2NhbXBhaWdudGVtcGxhdGU9IiIgLSAoc3RyaW5nKSAtIFNwZWNpZnkgYSBkaWZmZXJlbnQgdGVtcGxhdGUgZm9yIHRoZSBjYW1wYWlnbiB2aWV3IHJlcG9ydCB0aGFuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhpcyB0eXBlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB2aWV3bGVhZHRlbXBsYXRlPSIiIC0gKHN0cmluZykgLSBTcGVjaWZ5IGEgZGlmZmVyZW50IHRlbXBsYXRlIGZvciB0aGUgbGVhZCB2aWV3IHJlcG9ydCB0aGFuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhpcyB0eXBlPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMTxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPlRPRE88YnIgLz4=]]></about>
	<description><![CDATA[A simple, somewhat generic lead management mechanism]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.38.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>CompanyDirectory</requiredname>
	  <requiredversion>1.19.7</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.7.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.22.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>FileManager</requiredname>
	  <requiredversion>1.4.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.#action.admin_edit_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/action.admin_ajax_get_fieldtype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKCiRvdXQgPSBudWxsOwokdHlwZWlkID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ3R5cGVpZCcpOwppZiggJHR5cGVpZCA+IDAgKSB7CiAgdHJ5IHsKICAgICRmaWVsZHR5cGUgPSBsbV9maWVsZHR5cGU6OmxvYWRfYnlfaWQoJHR5cGVpZCk7CiAgICAkb3V0ID0ganNvbl9lbmNvZGUoJGZpZWxkdHlwZS0+dG9fYXJyYXkoKSk7CgogICAgJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKICAgIGZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CiAgICBoZWFkZXIoJ1ByYWdtYTogcHVibGljJyk7CiAgICBoZWFkZXIoJ0V4cGlyZXM6IDAnKTsKICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlLCBwb3N0LWNoZWNrPTAsIHByZS1jaGVjaz0wJyk7CiAgICBoZWFkZXIoJ0NhY2hlLUNvbnRyb2w6IHByaXZhdGUnLGZhbHNlKTsKICAgIGhlYWRlcignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJyk7CiAgICBlY2hvICRvdXQ7CiAgfQogIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgfQp9CmV4aXQ7IC8vIGFqYXgKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_ajax_upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKCiRjYW1wYWlnbl9pZCA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKaWYoICRjYW1wYWlnbl9pZCA8IDEgKSB7CiAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nIGFkbWluX2FqYXhfdXBsb2FkJywnTWlzc2luZyBvciBpbnZhbGlkIGNhbXBhaWduIGlkJyk7CiAgZXhpdDsKfQoKJGZpbGVtYW4gPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0ZpbGVNYW5hZ2VyJyk7IC8vIGVuc3VyZSBpdHMgbG9hZGVkLgpjbGFzcyBMZWFkTWFuYWdlckNhbXBhaWduVXBsb2FkSGFuZGxlciBleHRlbmRzIGpxdWVyeV91cGxvYWRfaGFuZGxlcgp7CiAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG9wdGlvbnM9bnVsbCkKICB7CiAgICBpZiggIWlzc2V0KCRvcHRpb25zWydjYW1wYWlnbiddKSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignTWlzc2luZyBwYXJhbSBjYW1wYWlnbiBmb3IgJy5fX0NMQVNTX18pOwoKICAgICRjYW1wYWlnbl9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkb3B0aW9ucywnY2FtcGFpZ24nKTsKICAgICRvcHRpb25zWydvcmllbnRfaW1hZ2UnXSA9IGZhbHNlOyAgLy8gdHVybiBvZmYgYXV0byBpbWFnZSByb3RhdGlvbgogICAgJG9wdGlvbnNbJ2ltYWdlX3ZlcnNpb25zJ10gPSBhcnJheSgpOwogICAgJG9wdGlvbnNbJ2ltYWdlX2ZpbGVfdHlwcyddID0gbnVsbDsKICAgICRvcHRpb25zWydkZWxldGVfdHlwZSddID0gJ1BPU1QnOwoKICAgIHN3aXRjaCggJG9wdGlvbnNbJ3R5cGUnXSApIHsKICAgIGNhc2UgJ2F0dGFjaCc6CiAgICBjYXNlICdhdHRhY2htZW50JzoKICAgICAgJG9wdGlvbnNbJ3VwbG9hZF9kaXInXSA9IGxtX3V0aWxzOjpnZXRfY2FtcGFpZ25fYXR0YWNobWVudF9kaXIoJGNhbXBhaWduX2lkKS4nLyc7CiAgICAgICRvcHRpb25zWyd1cGxvYWRfdXJsJ10gPSBsbV91dGlsczo6Z2V0X2NhbXBhaWduX2F0dGFjaG1lbnRfdXJsKCRjYW1wYWlnbl9pZCkuJy8nOwogICAgICAkb3B0aW9uc1snYWNjZXB0X2ZpbGVfdHlwZXMnXSA9ICcvXC4ocGRmfGRvY3xkb2N4fGdpZnxqcGU/Z3xwbmd8Ym1wfHN2ZykkL2knOyAvLyB3aXNoIHRoaXMgd2FzIG1pbWUKICAgICAgY2dlX2Rpcjo6bWtkaXJyKCRvcHRpb25zWyd1cGxvYWRfZGlyJ10pOwogICAgICBicmVhazsKCiAgICBjYXNlICdpbWFnZSc6CiAgICBkZWZhdWx0OgogICAgICAkb3B0aW9uc1sndXBsb2FkX2RpciddID0gbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9pbWFnZV9kaXIoJGNhbXBhaWduX2lkKS4nLyc7CiAgICAgICRvcHRpb25zWyd1cGxvYWRfdXJsJ10gPSBsbV91dGlsczo6Z2V0X2NhbXBhaWduX2ltYWdlX3VybCgkY2FtcGFpZ25faWQpLicvJzsKICAgICAgJG9wdGlvbnNbJ2FjY2VwdF9maWxlX3R5cGVzJ10gPSAnL1wuKGdpZnxqcGU/Z3xwbmd8Ym1wfHN2ZykkL2knOyAvLyB3aXNoIHRoaXMgd2FzIG1pbWUKICAgICAgY2dlX2Rpcjo6bWtkaXJyKCRvcHRpb25zWyd1cGxvYWRfZGlyJ10pOwogICAgICBicmVhazsKICAgIH0KCiAgICAvLyBzZXQgZXZlcnl0aGluZyB1cC4KICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJG9wdGlvbnMpOwogIH0KfQoKdHJ5IHsKICAkb3B0aW9ucyA9IGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCwncGFyYW1fbmFtZSc9PidsbV9maWxldXBsb2FkJywndHlwZSc9PidpbWFnZScpOwogIGlmKCBpc3NldCgkcGFyYW1zWyduYW1lJ10pICkgJG9wdGlvbnNbJ3BhcmFtX25hbWUnXSA9IHRyaW0oJHBhcmFtc1snbmFtZSddKTsKICBpZiggaXNzZXQoJHBhcmFtc1sndHlwZSddKSApICRvcHRpb25zWyd0eXBlJ10gPSB0cmltKCRwYXJhbXNbJ3R5cGUnXSk7CiAgJHVwbG9hZF9oYW5kbGVyID0gbmV3IExlYWRNYW5hZ2VyQ2FtcGFpZ25VcGxvYWRIYW5kbGVyKCRvcHRpb25zKTsgLy8gdGhhdCdzIGl0LCB0aGF0J3MgYWxsIHdlIGdvdHRhIGRvLgp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgZGVidWdfdG9fbG9nKCRlLT5HZXRNZXNzYWdlKCkpOwogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJGUtPkdldE1lc3NhZ2UoKSk7Cn0KZXhpdDsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_block_ua.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWducycpOwoKdHJ5IHsKICAkY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKICAkbGVhZF9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdsZWFkJyk7CiAgaWYoICRjYW1wYWlnbl9pZCA8IDEgfHwgJGxlYWRfaWQgPCAxICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoKICAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQpOwogICRsZWFkID0gbG1fbGVhZDo6bG9hZF9ieV9pZCgkbGVhZF9pZCwkY2FtcGFpZ25faWQpOwogIAogICR1YSA9ICRsZWFkLT5maWVsZF9nZXQoJ3VzZXJfYWdlbnQnKTsKICBpZiggJHVhICkgewogICAgJHRtcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdibG9ja2VkX3VzZXJhZ2VudHMnKTsKICAgICRibG9ja2VkID0gYXJyYXkoKTsKICAgIGlmKCAkdG1wICkgJGJsb2NrZWQgPSB1bnNlcmlhbGl6ZSgkYmxvY2tlZCk7CiAgICBpZiggIWluX2FycmF5KCR1YSwkYmxvY2tlZCkgKSB7CiAgICAgICRibG9ja2VkW10gPSAkdWE7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdibG9ja2VkX3VzZXJhZ2VudHMnLHNlcmlhbGl6ZSgkYmxvY2tlZCkpOwogICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3VhX2Jsb2NrZWQnKSk7CiAgICB9CiAgfSBlbHNlIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3Jfbm91c2VyYWdlbnQnKSk7CiAgfQogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCcnLCcnLGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCksJ2FkbWluX3ZpZXdfbGVhZHMnKTsKfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYignJywnJyxhcnJheSgnY2FtcGFpZ24nPT4kY2FtcGFpZ25faWQpLCdhZG1pbl92aWV3X2xlYWRzJyk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_copy_campaign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWduJyk7CgokX2luY3JlbWVudF9zdWZmaXggPSBmdW5jdGlvbigkc3RyLCRmbGQgPSAnbmFtZScpCnsKICBkZWJ1Z19kaXNwbGF5KCJ0ZXN0ICRmbGQgb2YgJHN0ciIpOwogICRtYXRjaGVzID0gYXJyYXkoKTsKICAkbiA9IDA7CiAgaWYoIHByZWdfbWF0Y2hfYWxsKCIvKC4qPykoXGQrKSQvIiwgJHN0ciwgJG1hdGNoZXMpICkgewogICAgaWYoIGNvdW50KCRtYXRjaGVzWzFdKSA9PSAxICkgewogICAgICAkc3RyID0gdHJpbSgkbWF0Y2hlc1sxXVswXSk7CiAgICAgICRuID0gKGludCkkbWF0Y2hlc1syXVswXTsKICAgIH0KICB9CgogICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgaWYoICRmbGQgIT0gJ25hbWUnICkgJGZsZCA9ICdrZXl3b3JkJzsKICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5MTV9DQU1QQUlHTlNfVEFCTEUuJyBXSEVSRSAnLiRmbGQuJyA9ID8nOwogICRjbnQgPSAwOwogIGRvIHsKICAgICR0ZXN0ID0gJHN0cjsKICAgIGlmKCAkbiA+IDAgKSAkdGVzdCAuPSAkbjsKICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRlc3QpKTsKICAgIGlmKCAkdG1wIDw9IDAgKSB7CiAgICAgICRzdHIgPSAkdGVzdDsKICAgICAgYnJlYWs7CiAgICB9CiAgICAkbisrOwogICAgaWYoICRuID09IDEgKSAkbisrOwogICAgJGNudCsrOwogIH0gd2hpbGUoICRjbnQgPCAxMDAgKTsKICAKICBpZiggJGNudCA+PSAxMDAgKSB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdMZWFkTWFuYWdlcicpOwogICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJvcl9jYW50ZmluZHVuaXF1ZW5hbWUnKSk7CiAgfQogIHJldHVybiAkc3RyOwp9OwoKdHJ5IHsKICAkY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKICBpZiggJGNhbXBhaWduX2lkIDwgMSApIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKCiAgJGNhbXBhaWduID0gbG1fY2FtcGFpZ246OmxvYWRfYnlfaWQoJGNhbXBhaWduX2lkKTsKICAkbmFtZSA9ICRfaW5jcmVtZW50X3N1ZmZpeCgkY2FtcGFpZ25bJ25hbWUnXSk7CiAgJGtleXdvcmQgPSAkX2luY3JlbWVudF9zdWZmaXgoJGNhbXBhaWduWydrZXl3b3JkJ10sJ2tleXdvcmQnKTsKCiAgJGNhbXBhaWduLT5jb3B5KCRuYW1lLCRrZXl3b3JkKTsgLy8gc2V0IHRoZSBrZXl3b3JkIHRvIGVtcHR5LgogICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FtcGFpZ25fY29waWVkJykpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAkdGhpcy0+U2V0RXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_campaign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWducycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApIHsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2NhbmNlbGxlZCcpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9CgokY2FtcGFpZ24gPSBudWxsOwp0cnkgewogICRjYW1wYWlnbl9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdjYW1wYWlnbicpOwogIGlmKCAkY2FtcGFpZ25faWQgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CgogICRjYW1wYWlnbiA9IGxtX2NhbXBhaWduOjpsb2FkX2J5X2lkKCRjYW1wYWlnbl9pZCk7CgogIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgICAkY29uZmlybTEgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2NvbmZpcm0xJyk7CiAgICAkY29uZmlybTIgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2NvbmZpcm0yJyk7CiAgICBpZiggISRjb25maXJtMSB8fCAhJGNvbmZpcm0yICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm90Y29uZmlybWVkJykpOwoKICAgICRjYW1wYWlnbi0+ZGVsZXRlKCk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2NhbXBhaWduX2RlbGV0ZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwogIH0KfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ2NhbXBhaWduJywkY2FtcGFpZ24pOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZGVsZXRlX2NhbXBhaWduJywkcmV0dXJuaWQsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2RlbGV0ZV9jYW1wYWlnbi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKCnRyeSB7CiAgJGZpZWxkX2lkID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2ZpZWxkJyk7CiAgaWYoICRmaWVsZF9pZCA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKCiAgJGNhbXBhaWduX2lkID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2NhbXBhaWduJyk7CiAgaWYoICRjYW1wYWlnbl9pZCA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQpOwoKICAkZmllbGQgPSBsbV9maWVsZDo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQsJGZpZWxkX2lkKTsKICAkZmllbGQtPmRlbGV0ZSgpOwogIAogICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfZmllbGRkZWxldGVkJykpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCcnLCdmaWVsZHMnLGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCksJ2FkbWluX2VkaXRfY2FtcGFpZ24nKTsKfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ2RlbGV0ZV9maWVsZHM6ICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgJHRoaXMtPlNldEVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCcnLCdmaWVsZHMnLGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCksJ2FkbWluX2VkaXRfY2FtcGFpZ24nKTsKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_fieldtype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdmaWVsZHR5cGVzJyk7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FuY2VsbGVkJykpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0KCiRmaWVsZHR5cGUgPSBudWxsOwp0cnkgewogICR0eXBlX2lkID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ3R5cGVpZCcpOwogIGlmKCAkdHlwZV9pZCA8IDEgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CgogICRmaWVsZHR5cGUgPSBsbV9maWVsZHR5cGU6OmxvYWRfYnlfaWQoJHR5cGVfaWQpOwoKICBpZiggJGZpZWxkdHlwZS0+aW51c2UoKSApIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpZWxkdHlwZV9kZWxldGVpbnVzZScpKTsKICAKICBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogICAgJGRlZXAgPSAxOwogICAgJGNvbmZpcm0xID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2NvbmZpcm0xJyk7CiAgICAkY29uZmlybTIgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY29uZmlybTInKTsKICAgIGlmKCAkY29uZmlybTEgJiYgJGNvbmZpcm0yICkgJGRlZXAgPSAyOwoKICAgICRmaWVsZHR5cGUtPmRlbGV0ZSgpOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19maWVsZHR5cGVkZWxldGVkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICB9Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAkdGhpcy0+YXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKS4nIGRlbGV0ZSBmaWVsZHR5cGUnLCRlLT5HZXRNZXNzYWdlKCkpOwogICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9CgovLwovLyBkaXNwbGF5IHRoZSBmb3JtCi8vCiRzbWFydHktPmFzc2lnbignZmllbGR0eXBlJywkZmllbGR0eXBlKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2RlbGV0ZV9maWVsZHR5cGUnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZGVsZXRlX2ZpZWxkdHlwZS50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_lead.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWducycpOwoKdHJ5IHsKICAkY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKICAkbGVhZF9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdsZWFkJyk7CiAgaWYoICRjYW1wYWlnbl9pZCA8IDEgfHwgJGxlYWRfaWQgPCAxICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoKICAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQpOwogICRsZWFkID0gbG1fbGVhZDo6bG9hZF9ieV9pZCgkbGVhZF9pZCwkY2FtcGFpZ25faWQpOwogICRsZWFkLT5kZWxldGUoKTsKCiAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19sZWFkX2RlbGV0ZWQnKSk7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJycsJycsYXJyYXkoJ2NhbXBhaWduJz0+JGNhbXBhaWduX2lkKSwnYWRtaW5fdmlld19sZWFkcycpOwp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgJHRoaXMtPlNldEVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCcnLCcnLGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCksJ2FkbWluX3ZpZXdfbGVhZHMnKTsKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_campaign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CiAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignY2FtcGFpZ25zJyk7Cn0KCiRzdWIgPSAnJzsKJGNhbXBhaWduX2lkID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2NhbXBhaWduJyk7CiRzdWIgPSB0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnc3ViJywkc3ViKSk7CiRjYW1wYWlnbiA9IG5ldyBsbV9jYW1wYWlnbjsKaWYoICRjYW1wYWlnbl9pZCA+IDAgKSAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQsVFJVRSk7CgppZiggJHN1YiA9PSAnYXR0YWNobWVudHMnICkgewogIGlmKCBpc19hcnJheSgkY2FtcGFpZ25bJ2F0dGFjaG1lbnRzJ10pICYmIGNvdW50KCRjYW1wYWlnblsnYXR0YWNobWVudHMnXSkgKSB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2F0dGFjaG1lbnRfdXJsJyxsbV91dGlsczo6Z2V0X2NhbXBhaWduX2F0dGFjaG1lbnRfdXJsKCRjYW1wYWlnblsnaWQnXSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjYW1wYWlnbicsJGNhbXBhaWduKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZWRpdF9jYW1wYWlnbl9hdHRhY2htZW50cy50cGwnKTsKICB9CiAgLy8gaXQncyBhbiBhamF4eSBhY3Rpb24uCiAgZXhpdDsKfQplbHNlIGlmKCAkc3ViID09ICdpbWFnZXMnICkgewogIC8vIGdldCB0aGUgaW1hZ2UgbGlzdAogIGlmKCBpc19hcnJheSgkY2FtcGFpZ25bJ2ltYWdlcyddKSAmJiBjb3VudCgkY2FtcGFpZ25bJ2ltYWdlcyddKSApIHsKICAgICRzbWFydHktPmFzc2lnbignaW1hZ2VzX3VybCcsbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9pbWFnZV91cmwoJGNhbXBhaWduWydpZCddKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NhbXBhaWduJywkY2FtcGFpZ24pOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X2NhbXBhaWduX2ltYWdlcy50cGwnKTsKICB9CiAgLy8gaXQncyBhbiBhamF4eSBhY3Rpb24uCiAgZXhpdDsKfQplbHNlIGlmKCAkc3ViID09ICdkZWxldGVhdHRhY2gnICkgewogICRmaWxlID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdmaWxlJyk7CiAgaWYoICRmaWxlICYmIGluX2FycmF5KCRmaWxlLCRjYW1wYWlnblsnYXR0YWNobWVudHMnXSkgKSAkY2FtcGFpZ24tPmRlbGV0ZV9maWxlKCRmaWxlLEZBTFNFKTsKICAvLyBmYWxsIHRocm91Z2gsIGFuZCByZWZyZXNoIGV2ZXJ5dGhpbmcKfQplbHNlIGlmKCAkc3ViID09ICdkZWxldGUnICkgewogICRmaWxlID0gZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdmaWxlJyk7CiAgaWYoICRmaWxlICYmIGluX2FycmF5KCRmaWxlLCRjYW1wYWlnblsnaW1hZ2VzJ10pICkgJGNhbXBhaWduLT5kZWxldGVfZmlsZSgkZmlsZSk7CiAgLy8gZmFsbCB0aHJvdWdoLCBhbmQgcmVmcmVzaCBldmVyeXRoaW5nCn0KCi8vIG5vcm1hbCBvcGVyYXRpb24KCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgKSB7CiAgdHJ5IHsKICAgICRwYXJtcyA9ICRwYXJhbXM7CiAgICB1bnNldCgkcGFybXNbJ3N1Ym1pdCddLCRwYXJtc1snYWN0aW9uJ10sJHBhcm1zWydhcHBseSddKTsKICAgICRjYW1wYWlnbi0+ZmlsbF9mcm9tX2FycmF5KCRwYXJtcyk7CiAgICAkY2FtcGFpZ24tPnNhdmUoKTsKCiAgICBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2NhbXBhaWduX3NhdmVkJykpOwogICAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdjYW1wYWlnbnMnKTsKICAgIH0KICB9CiAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGUtPkdldG1lc3NhZ2UoKSk7CiAgfQp9Cgokc21hcnR5LT5hc3NpZ24oJ2NhbXBhaWduJywkY2FtcGFpZ24pOwokdG1wID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXNXaXRoUHJlZml4KCdmb3JtXycsVFJVRSk7CiR0bXAgPSBhcnJheV9jb21iaW5lKCR0bXAsJHRtcCk7CiRmb3JtX3RlbXBsYXRlcyA9IGFycmF5X21lcmdlKGFycmF5KCcnPT4kdGhpcy0+TGFuZygncHJvbXB0X3VzZWRlZmF1bHQnKSksJHRtcCk7CiRzbWFydHktPmFzc2lnbignZm9ybV90ZW1wbGF0ZXMnLCRmb3JtX3RlbXBsYXRlcyk7CgokcGFybXMgPSBhcnJheSgpOwppZiggJGNhbXBhaWduWydpZCddID4gMCApIHsKICAkY2FtcGFpZ25faWQgPSAoaW50KSRjYW1wYWlnblsnaWQnXTsKICAkcGFybXNbJ2NhbXBhaWduJ10gPSAkY2FtcGFpZ25bJ2lkJ107Cn0KJHNtYXJ0eS0+YXNzaWduKCdmb3JtX3N0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X2NhbXBhaWduJywkcmV0dXJuaWQsJHBhcm1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybV9lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbXBhaWduX2lkJywkY2FtcGFpZ25faWQpOwokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkdHlwZXMnLGxtX3V0aWxzOjpnZXRfZmllbGR0eXBlcygpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X2NhbXBhaWduLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2ZpZWxkcycpOwoKJGNhbXBhaWduX2lkID0gbnVsbDsKdHJ5IHsKICAkY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKICBpZiggJGNhbXBhaWduX2lkIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoKICBpZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYignJywnZmllbGRzJyxhcnJheSgnY2FtcGFpZ24nPT4kY2FtcGFpZ25faWQpLCdhZG1pbl9lZGl0X2NhbXBhaWduJyk7CiAgfQoKICAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQpOwoKICAkZmllbGQgPSBuZXcgbG1fZmllbGQoJGNhbXBhaWduX2lkKTsKICAkZmllbGRfaWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnZmllbGQnKTsKICBpZiggJGZpZWxkX2lkID4gMCApICRmaWVsZCA9IGxtX2ZpZWxkOjpsb2FkX2J5X2lkKCRjYW1wYWlnbl9pZCwkZmllbGRfaWQpOwoKICBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogICAgdHJ5IHsKICAgICAgdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10sJHBhcmFtc1snc3VibWl0J10sJHBhcmFtc1snY2FtcGFpZ24nXSk7CiAgICAgICRmaWVsZC0+ZmlsbF9mcm9tX2FycmF5KCRwYXJhbXMpOwogICAgICAkZmllbGQtPnNhdmUoKTsKICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19maWVsZHNhdmVkJykpOwogICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYignJywnZmllbGRzJyxhcnJheSgnY2FtcGFpZ24nPT4kY2FtcGFpZ25faWQpLCdhZG1pbl9lZGl0X2NhbXBhaWduJyk7CiAgICB9CiAgICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICAvLyBjYXRjaCB0aGVzZSBleGNlcHRpb25zIGFuZCBkaXNwbGF5IHRoZSBmb3JtIGluc3RlYWQKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZS0+R2V0TWVzc2FnZSgpKTsKICAgIH0KICB9CgogICRwYXJtcyA9IGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCk7CiAgaWYoICRmaWVsZF9pZCA+IDAgKSAkcGFybXNbJ2ZpZWxkJ10gPSAkZmllbGRfaWQ7CiAgJHNtYXJ0eS0+YXNzaWduKCdjYW1wYWlnbicsJGNhbXBhaWduKTsKICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkJywkZmllbGQpOwogICRzbWFydHktPmFzc2lnbignZmllbGR0eXBlcycsbG1fdXRpbHM6OmdldF9maWVsZHR5cGVzKEZBTFNFKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtX3N0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X2ZpZWxkJywkcmV0dXJuaWQsJHBhcm1zKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtX2VuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X2ZpZWxkLnRwbCcpOwp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgJHRoaXMtPlNldEVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCcnLCdmaWVsZHMnLGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCksJ2FkbWluX2VkaXRfY2FtcGFpZ24nKTsKfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_fieldtype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdmaWVsZHR5cGVzJyk7CgokZmllbGR0eXBlID0gbnVsbDsKdHJ5IHsKICBpZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwogIH0KCiAgJGZpZWxkdHlwZSA9IG5ldyBsbV9maWVsZHR5cGU7CiAgJHR5cGVpZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCd0eXBlaWQnKTsKICBpZiggJHR5cGVpZCA+IDAgKSB7CiAgICAkZmllbGR0eXBlID0gbG1fZmllbGR0eXBlOjpsb2FkX2J5X2lkKCR0eXBlaWQpOwogIH0KCiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAgICRmaWVsZHR5cGUtPmZpbGxfZnJvbV9hcnJheSgkcGFyYW1zKTsKICAgICRmaWVsZHR5cGUtPnNhdmUoKTsKCiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2ZpZWxkdHlwZXNhdmVkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICB9Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5HZXRNZXNzYWdlKCkpOwp9CgokcGFybXMgPSBhcnJheSgpOwppZiggJGZpZWxkdHlwZVsnaWQnXSA+IDAgKSAkcGFybXNbJ3R5cGVpZCddID0gJGZpZWxkdHlwZVsnaWQnXTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtX3N0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X2ZpZWxkdHlwZScsJHJldHVybmlkLCRwYXJtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1fZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdiYXNldHlwZXMnLGxtX3V0aWxzOjpnZXRfYmFzZV9maWVsZHR5cGVzKCkpOwokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkdHlwZScsJGZpZWxkdHlwZSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZWRpdF9maWVsZHR5cGUudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_order_fields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKCnRyeSB7CiAgJGZsZHMgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2ZsZCcpOwogIGlmKCAhaXNfYXJyYXkoJGZsZHMpIHx8IGNvdW50KCRmbGRzKSA9PSAwICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CgogICRjYW1wYWlnbl9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdjYW1wYWlnbicpOwogIGlmKCAkY2FtcGFpZ25faWQgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgJGNhbXBhaWduID0gbG1fY2FtcGFpZ246OmxvYWRfYnlfaWQoJGNhbXBhaWduX2lkKTsKCiAgJGZpZWxkcyA9IGxtX2ZpZWxkOjpsb2FkX2FsbCgkY2FtcGFpZ25faWQpOwogIGlmKCBjb3VudCgkZmllbGRzKSAhPSBjb3VudCgkZmxkcykgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgZmllbGQgY291bnQnKTsKICAkdG1wID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkZmllbGRzIGFzICRvbmUgKSB7CiAgICAkdG1wWyRvbmVbJ2lkJ11dID0gJG9uZTsKICB9CgogIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewogICAgJGlkID0gJGZsZHNbJGldOwogICAgJHJlYyA9ICR0bXBbJGlkXTsKICAgICRyZWNbJ2l0ZW1fb3JkZXInXSA9ICRpKzE7CiAgICAkcmVjLT5zYXZlKCk7CiAgfQogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ29yZGVyX2ZpZWxkczogcmVvcmRlcmVkIGZpZWxkcyBmb3IgY2FtcGFpZ24gJy4kY2FtcGFpZ25faWQpOwp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgZGVidWdfdG9fbG9nKCdvcmRlciBmaWVsZHMgJy4kZS0+R2V0TWVzc2FnZSgpKTsKICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdvcmRlcl9maWVsZHM6ICcuJGUtPkdldE1lc3NhZ2UoKSk7Cn0KZXhpdDsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_renotify_lead.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWducycpOwoKdHJ5IHsKICAkY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKICAkbGVhZF9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdsZWFkJyk7CiAgaWYoICRjYW1wYWlnbl9pZCA8IDEgfHwgJGxlYWRfaWQgPCAxICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoKICAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQpOwogICRsZWFkID0gbG1fbGVhZDo6bG9hZF9ieV9pZCgkbGVhZF9pZCwkY2FtcGFpZ25faWQpOwogIGlmKCAkbGVhZFsnc3RhdHVzJ10gIT0gJGxlYWQ6OlNUQVRVU19DT01QTEVURSApIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfbGVhZF9zdGF0dXMnKSk7CgogICRsZWFkLT50b3VjaCgpOyAvLyBmb3JjZSBkaXJ0eS4KICAkbGVhZC0+c2F2ZSgpOwoKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX25vdGlmaWNhdGlvbl9zZW50JykpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCcnLCcnLGFycmF5KCdjYW1wYWlnbic9PiRjYW1wYWlnbl9pZCksJ2FkbWluX3ZpZXdfbGVhZHMnKTsKfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYignJywnJyxhcnJheSgnY2FtcGFpZ24nPT4kY2FtcGFpZ25faWQpLCdhZG1pbl92aWV3X2xlYWRzJyk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdzZXR0aW5ncycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXJscHJlZml4Jyx0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywndXJscHJlZml4JykpKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2FtcGFpZ25wYWdlJyx0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ25wYWdlJykpKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZ5bGVhZHMnLChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdub3RpZnlsZWFkcycpKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZ5bGVhZHNfc3ViamVjdCcsdHJpbShnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ25vdGlmeWxlYWRzX3N1YmplY3QnKSkpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZnlsZWFkc19ib2R5dHBsJyx0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnbm90aWZ5bGVhZHNfYm9keXRwbCcpKSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25vbG9naW5fcmVkaXJlY3QnLHRyaW0oZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdub2xvZ2luX3JlZGlyZWN0JykpKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm0nLChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdsZWFkY29uZmlybScpKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm1fc3ViamVjdCcsdHJpbShnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2xlYWRjb25maXJtX3N1YmplY3QnKSkpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsZWFkY29uZmlybV9ib2R5dHBsJyx0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnbGVhZGNvbmZpcm1fYm9keXRwbCcpKSk7CgogICR0bXAgPSB0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnYmxvY2tlZF91c2VyYWdlbnRzJykpOwogIGlmKCAkdG1wICkgewogICAgJHRtcCA9IGV4cGxvZGUoIlxuIiwkdG1wKTsKICAgICR0bXAyID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewogICAgICAkbGluZSA9IHRyaW0oJHRtcFskaV0pOwogICAgICBpZiggISRsaW5lICkgY29udGludWU7CiAgICAgICR0bXAyW10gPSAkbGluZTsKICAgIH0KICAgIGlmKCBjb3VudCgkdG1wMikgKSAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYmxvY2tlZF91c2VyYWdlbnRzJyxzZXJpYWxpemUoJHRtcDIpKTsKCiAgICAkZmxvb2RfdGltZW91dCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdmbG9vZF90aW1lb3V0Jyk7CiAgICAkZmxvb2RfdGltZW91dCA9IG1heCgwLG1pbigxMjAsJGZsb29kX3RpbWVvdXQpKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmbG9vZF90aW1lb3V0JywkZmxvb2RfdGltZW91dCk7CiAgfQoKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3ByZWZzX3VwZGF0ZWQnKSk7Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snbm90aWZ5bGVhZHNfcmVzZXQnXSkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ25vdGlmeWxlYWRzX2JvZHl0cGwnLGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19ub3RpZnlsZWFkc19ib2R5dHBsLnRwbCcpKTsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3RlbXBsYXRlX3Jlc2V0JykpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2xlYWRjb25maXJtX3Jlc2V0J10pICkgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsZWFkY29uZmlybV9ib2R5dHBsJyxmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfbGVhZGNvbmZpcm1fYm9keXRwbC50cGwnKSk7CiAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ190ZW1wbGF0ZV9yZXNldCcpKTsKfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWyd1c2VyYWdlbnRzX3Jlc2V0J10pICkgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdibG9ja2VkX3VzZXJhZ2VudHMnLCcnKTsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3ByZWZzX3VwZGF0ZWQnKSk7Cn0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_set_userprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWducycpOwoKaWYoICFpc3NldCgkcGFyYW1zWydzZWN0aW9uJ10pICkgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKCnN3aXRjaCggJHBhcmFtc1snc2VjdGlvbiddICkgewogY2FzZSAnY2FtcGFpZ25fdGFiJzoKICAgY21zX3VzZXJwcmVmczo6c2V0KCd2aWV3X2FjdGl2ZW9ubHknLGlzc2V0KCRwYXJhbXNbJ3ZpZXdfYWN0aXZlb25seSddKT8xOjApOwogICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3ByZWZzX3VwZGF0ZWQnKSk7CiAgIGJyZWFrOwp9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_view_lead.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWducycpOwoKdHJ5IHsKICAkY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKICAkbGVhZF9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdsZWFkJyk7CiAgaWYoICRjYW1wYWlnbl9pZCA8IDEgfHwgJGxlYWRfaWQgPCAxICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoKICAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkY2FtcGFpZ25faWQpOwogICRsZWFkID0gbG1fbGVhZDo6bG9hZF9ieV9pZCgkbGVhZF9pZCwkY2FtcGFpZ25faWQpOwogIAogICRzbWFydHktPmFzc2lnbignY2FtcGFpZ24nLCRjYW1wYWlnbik7CiAgJHNtYXJ0eS0+YXNzaWduKCdsZWFkJywkbGVhZCk7CiAgJHNtYXJ0eS0+YXNzaWduKCdiYWNrX3VybCcsJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl92aWV3X2xlYWRzJywkcmV0dXJuaWQsYXJyYXkoJ2NhbXBhaWduJz0+JGNhbXBhaWduX2lkKSkpOwogIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fdmlld19sZWFkLnRwbCcpOwp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgZWNobyAkdGhpcy0+U2V0RXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_view_leads.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhbXBhaWducycpOwoKdHJ5IHsKICAkY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKICBpZiggJGNhbXBhaWduX2lkIDwgMSApIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKCiAgJGNhbXBhaWduID0gbG1fY2FtcGFpZ246OmxvYWRfYnlfaWQoJGNhbXBhaWduX2lkKTsKCiAgLy8gbG9hZCBsZWFkcyBmb3IgdGhpcyBjYW1wYWlnbgogICRvZmZzZXQgPSAwOwogICRsaW1pdCAgPSAxMDA7CiAgJGxlYWRzID0gbG1fbGVhZDo6bG9hZF9ieV9jYW1wYWlnbigkY2FtcGFpZ25faWQsJGxpbWl0LCRvZmZzZXQpOwogIAogICRzbWFydHktPmFzc2lnbignY2FtcGFpZ24nLCRjYW1wYWlnbik7CiAgJHNtYXJ0eS0+YXNzaWduKCdsZWFkcycsJGxlYWRzKTsKICAkc21hcnR5LT5hc3NpZ24oJ2JhY2tfdXJsJywkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkKSk7CgogIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fdmlld19sZWFkcy50cGwnKTsKfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogIGVjaG8gJHRoaXMtPlNldEVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.campaignlist.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGNhbXBhaWduID0gbnVsbDsKJGNvbXBhbnkgPSBudWxsOwp0cnkgewogICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICBpZiggISRmZXUgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGxvZ2dlZGluJykpOwogICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7IAogIGlmKCAhJHVpZCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm90bG9nZ2VkaW4nKSk7CgogIC8vCiAgLy8gZ2V0IHRoZSBsaXN0IG9mIG15IGNvbXBhbmllcy4KICAvLwogICRjb21wYW5pZXMgPSBsbV91dGlsczo6Z2V0X3VzZXJfY29tcGFuaWVzKCR1aWQpOwogIGlmKCAhaXNfYXJyYXkoJGNvbXBhbmllcykgfHwgY291bnQoJGNvbXBhbmllcykgPT0gMCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9jb21wYW5pZXMnKSk7CgogICRwYXJhbXMgPSBsbV91dGlsczo6Y2xlYW5fcGFyYW1zKCRwYXJhbXMpOwoKICAkcGFybXMgPSBhcnJheSgpOwogICRwYXJtc1snbGltaXQnXSA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdsaW1pdCcsMTAwKTsKICAkcGFybXNbJ29mZnNldCddID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ29mZnNldCcsMCk7CiAgJHBhcm1zWydzdGF0cyddID0gMTsKICAkcGFybXNbJ2NvbXBhbnlfbGlzdCddID0gYXJyYXlfa2V5cygkY29tcGFuaWVzKTsKICAkcXVlcnkgPSBuZXcgbG1fY2FtcGFpZ25fcXVlcnkoJHBhcm1zKTsKICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKCiAgJGNhbXBhaWduX2xpc3QgPSBhcnJheSgpOwogIHdoaWxlKCAhJHJzLT5FT0YoKSApIHsKICAgICRjYW1wYWlnbl9saXN0W10gPSAkcnMtPkdldE9iamVjdCgpOwogICAgJHJzLT5Nb3ZlTmV4dCgpOwogIH0KCiAgJHBhZ2luYXRpb24gPSAkcnMtPkdldFBhZ2luYXRpb24oKTsKICAkc21hcnR5LT5hc3NpZ24oJ3BhZ2luYXRpb24nLCRycy0+R2V0UGFnaW5hdGlvbigpKTsKICAkc21hcnR5LT5hc3NpZ24oJ3RvdGFsbWF0Y2hlcycsJHJzLT50b3RhbCk7CiAgJHNtYXJ0eS0+YXNzaWduKCdjYW1wYWlnbmxpc3QnLCRjYW1wYWlnbl9saXN0KTsKICAkc21hcnR5LT5hc3NpZ24oJ2NvbXBhbmllcycsJGNvbXBhbmllcyk7Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAkc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZS0+R2V0TWVzc2FnZSgpKTsKfQoKJHRlbXBsYXRlID0gdHJpbShnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2NhbXBhaWdubGlzdHRlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9jYW1wYWlnbmxpc3RfdGVtcGxhdGUnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsKLy9lY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ29yaWdfY2FtcGFpZ25saXN0X3RlbXBsYXRlLnRwbCcpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.dashboard.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG8uCiR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7IAppZiggISR1aWQgKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG8uCgp0cnkgewogIC8vCiAgLy8gZ2V0IHRoZSBsaXN0IG9mIG15IGNvbXBhbmllcy4KICAvLwogICRjb21wYW5pZXMgPSBsbV91dGlsczo6Z2V0X3VzZXJfY29tcGFuaWVzKCR1aWQpOwogIGlmKCAhaXNfYXJyYXkoJGNvbXBhbmllcykgfHwgY291bnQoJGNvbXBhbmllcykgPT0gMCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9jb21wYW5pZXMnKSk7CgogIC8vCiAgLy8gZ2V0IGEgbGlzdCBvZiBteSBhY3RpdmUgY2FtcGFpZ25zIChyZXR1cm5zIHNvbWUgbWV0YWRhdGEgdG9vLCBzbyBub3QgYXMgY2FtcGFpZ24gb2JqZWN0cykKICAvLwogICRpZGxpc3QgPSBhcnJheV9rZXlzKCRjb21wYW5pZXMpOwogICRxdWVyeSA9IG5ldyBsbV9jYW1wYWlnbl9xdWVyeShhcnJheSgnY29tcGFueV9saXN0Jz0+JGlkbGlzdCwnc3RhdHMnPT4xLCdhY3RpdmUnPT4xLCdsaW1pdCc9PjEwKSk7CiAgJHJzID0gJHF1ZXJ5LT5leGVjdXRlKCk7CiAgJGNhbXBhaWducyA9IGFycmF5KCk7CiAgd2hpbGUoICEkcnMtPkVPRigpICkgewogICAgJG9iaiA9ICRycy0+R2V0T2JqZWN0KCk7CiAgICAkY2FtcGFpZ25zWyRvYmpbJ2lkJ11dID0gJG9iajsKICAgICRycy0+TW92ZU5leHQoKTsKICB9CiAgdW5zZXQoJHF1ZXJ5LCRycyk7CiAgaWYoICFjb3VudCgkY2FtcGFpZ25zKSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignZXJyb3Jfbm9jYW1wYWlnbnMnKTsKICAKICAvLwogIC8vIGdldCBhIGxpc3Qgb2YgdW52aXNpdGVkIGxlYWRzIGZvciB0aGVzZSBjYW1wYWlnbnMuCiAgLy8KICAkY2FtcGFpZ25fbGlzdCA9IGFycmF5KCk7CiAgZm9yZWFjaCggJGNhbXBhaWducyBhcyAkb25lICkgewogICAgJGNhbXBhaWduX2xpc3RbXSA9ICRvbmVbJ2lkJ107CiAgfQoKICAkcXVlcnkgPSBuZXcgbG1fbGVhZF9xdWVyeShhcnJheSgnY2FtcGFpZ25fbGlzdCc9PiRjYW1wYWlnbl9saXN0LCdzdGF0dXMnPT4nY29tcGxldGUnLCd2aWV3ZWQnPT4wLCdsaW1pdCcgPT4gMjUpKTsKICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICAkdW52aWV3ZWRfbGVhZHMgPSBhcnJheSgpOwogIHdoaWxlKCAhJHJzLT5FT0YoKSApIHsKICAgICRpZCA9ICRycy0+ZGF0YVsnaWQnXTsKICAgICR1bnZpZXdlZF9sZWFkc1tdID0gJHJzLT5HZXRPYmplY3QoJGlkKTsKICAgICRycy0+TW92ZU5leHQoKTsKICB9CiAgJHRvdGFsX3Vudmlld2VkX2xlYWRzID0gJHJzLT50b3RhbDsKCiAgLy8gcmVhZHkgdG8gZ2l2ZSBzdHVmZiB0byBzbWFydHkuCiAgJHNtYXJ0eS0+YXNzaWduKCdjb21wYW5pZXMnLCRjb21wYW5pZXMpOwogICRzbWFydHktPmFzc2lnbignY2FtcGFpZ25zJywkY2FtcGFpZ25zKTsKICAkc21hcnR5LT5hc3NpZ24oJ3RvdGFsX3Vudmlld2VkX2xlYWRzJywkdG90YWxfdW52aWV3ZWRfbGVhZHMpOwogIGlmKCBjb3VudCgkdW52aWV3ZWRfbGVhZHMpICkgJHNtYXJ0eS0+YXNzaWduKCd1bnZpZXdlZF9sZWFkcycsJHVudmlld2VkX2xlYWRzKTsKfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogICRzbWFydHktPmFzc2lnbignZXJyb3InLCRlLT5HZXRNZXNzYWdlKCkpOwp9CgokdGVtcGxhdGUgPSBnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2Rhc2hib2FyZHRlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9kYXNoYm9hcmRfdGVtcGxhdGUnKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZGFzaGJvYXJkXycuJHRlbXBsYXRlKTsKLy9lY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ29yaWdfZGFzaGJvYXJkX3RlbXBsYXRlLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJF9nZXRfZGVzdHBhZ2UgPSBmdW5jdGlvbigkcGFyYW1zLCRyZXR1cm5pZCwmJG1vZCkgewogICRkZXN0cGFnZSA9IHRyaW0oZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdjYW1wYWlnbnBhZ2UnLGxtX3V0aWxzOjpnZXRfZm9ybV9kaXNwbGF5X3BhZ2UoJHJldHVybmlkKSkpOwogICRkZXN0cGFnZSA9ICRtb2QtPnJlc29sdmVfYWxpYXNfb3JfaWQoJGRlc3RwYWdlKTsKICBpZiggISRkZXN0cGFnZSApICRkZXN0cGFnZSA9ICRyZXR1cm5pZDsKICByZXR1cm4gJGRlc3RwYWdlOwp9OwoKJGNhbXBhaWduX2lkID0gKGludClnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2NhbXBhaWduJyk7CmlmKCAkY2FtcGFpZ25faWQgPiAwICkgewogIC8vIGdvdCBhIGNhbXBhaWduIGlkIC4uLiB3ZSBjYW4gcmVkaXJlY3QgZnJvbSBoZXJlIHRvIHRoZSAnZmVfbGVhZCcgYWN0aW9uLgogICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2ZlX2xlYWQnLCRfZ2V0X2Rlc3RwYWdlKCRwYXJhbXMsJHJldHVybmlkLCR0aGlzKSwkcGFyYW1zKTsKfQoKJGtleXdvcmQgPSB0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywna2V5d29yZCcpKTsKCi8vIHVuc2V0IGFueSBzZXNzaW9uIHZhcmlhYmxlLi4uIGVhY2ggdGltZSB3ZSBjb21lIGJhY2sgaGVyZSwgaXQncyBhIG5ldyBsZWFkLgokdGhpcy0+c2Vzc2lvbl9jbGVhcignbGVhZGlkJyk7CiR0aGlzLT5zZXNzaW9uX2NsZWFyKCdsZWFkdHMnKTsKCi8vIGdhdGhlciBzb21lIG9mIHRoZSBkYXRhIHdlIHdhbm5hIHNhdmUgKGN1eiB0aGUgZm9ybSB3aWxsIGxvc2UgdGhhdCBkYXRhKQokdGhpcy0+c2Vzc2lvbl9wdXQoJ2xlYWRjYXB0dXJlJyxsbV91dGlsczo6Z2V0X2NhcHR1cmVfdmFycygkcGFyYW1zKSk7CgovLwovLyBwcm9jZXNzIHRoZSBmb3JtCi8vCmlmKCBpc3NldCgkcGFyYW1zWydsbV9zdWJtaXQnXSkgKSB7CiAgdHJ5IHsKICAgIGlmKCAhJGtleXdvcmQgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2tleXdvcmQnKSk7CgogICAgLy8gc2VlIGlmIHdlIGNhbiBmaW5kIGFuIGFjdGl2ZSBjYW1wYWlnbgogICAgdHJ5IHsKICAgICAgJGNhbXBhaWduID0gbG1fY2FtcGFpZ246OmxvYWRfYnlfa2V5d29yZCgka2V5d29yZCk7CgogICAgICAvLyB3b290LCBmb3VuZCBvbmUsIHJlZGlyZWN0LgogICAgICB1bnNldCgkcGFyYW1zWydrZXl3b3JkJ10sJHBhcmFtc1sna2V5d29yZHRlbXBsYXRlJ10sJHBhcmFtc1snYWN0aW9uJ10sJHBhcmFtc1snbG1fc3VibWl0J10sJHBhcmFtc1snbW9kdWxlJ10pOwogICAgICAkcGFyYW1zWydjYW1wYWlnbiddID0gJGNhbXBhaWduWydpZCddOwogICAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdmZV9sZWFkJywkX2dldF9kZXN0cGFnZSgkcGFyYW1zLCRyZXR1cm5pZCwkdGhpcyksJHBhcmFtcyk7CiAgICB9CiAgICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICAvLyBoZXJlJyB3ZSdyZSBqdXN0IGdvbm5hIHRyYW5zbGF0ZSB0aGUgZXhjZXB0aW9uIG1lc3NhZ2UKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfa2V5d29yZG1pc21hdGNoJykpOwogICAgfQogIH0KICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgJHNtYXJ0eS0+YXNzaWduKCdsbV9lcnJvcicsJGUtPkdldE1lc3NhZ2UoKSk7CiAgfQp9CgovLyAKLy8gZGlzcGxheSB0aGUgZm9ybQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1fc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybV9lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwppZiggJGtleXdvcmQgKSAkc21hcnR5LT5hc3NpZ24oJ2tleXdvcmQnLCRrZXl3b3JkKTsKCiR0aGV0ZW1wbGF0ZSA9IHRyaW0oZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdrZXl3b3JkdGVtcGxhdGUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50X2tleXdvcmRmb3JtX3RlbXBsYXRlJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdrZXl3b3JkZm9ybV8nLiR0aGV0ZW1wbGF0ZSk7Ci8vZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdvcmlnX2tleXdvcmRmb3JtX3RlbXBsYXRlLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIHJldHVybjsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIENhbXBhaWducycpICkgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjYW1wYWlnbnMnLCR0aGlzLT5MYW5nKCd0YWJfY2FtcGFpZ25zJykpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgewogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZm9ybXRlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RhYl9mb3JtdGVtcGxhdGVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigna2V5d29yZHRlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RhYl9rZXl3b3JkdGVtcGxhdGVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGFzaGJvYXJkdGVtcGxhdGVzJywkdGhpcy0+TGFuZygndGFiX2Rhc2hib2FyZHRlbXBsYXRlcycpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhbXBhaWdubGlzdHRlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RhYl9jYW1wYWlnbmxpc3R0ZW1wbGF0ZXMnKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd2aWV3bGVhZHRlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RhYl92aWV3bGVhZHRlbXBsYXRlcycpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ZpZXdjYW1wYWlnbnRlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RhYl92aWV3Y2FtcGFpZ250ZW1wbGF0ZXMnKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcm90b3R5cGVzJywkdGhpcy0+TGFuZygndGFiX3Byb3RvdHlwZXRlbXBsYXRlcycpKTsKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ZpZWxkdHlwZXMnLCR0aGlzLT5MYW5nKCd0YWJfZmllbGR0eXBlcycpKTsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NldHRpbmdzJywkdGhpcy0+TGFuZygndGFiX3NldHRpbmdzJykpOwp9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIENhbXBhaWducycpICkgewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjYW1wYWlnbnMnLCRwYXJhbXMpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2NhbXBhaWduc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHsKICBlY2hvICR0aGlzLT5TdGFydFRhYignZm9ybXRlbXBsYXRlcycsJHBhcmFtcyk7CiAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZm9ybXRlbXBsYXRlc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdrZXl3b3JkdGVtcGxhdGVzJywkcGFyYW1zKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9rZXl3b3JkdGVtcGxhdGVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2Rhc2hib2FyZHRlbXBsYXRlcycsJHBhcmFtcyk7CiAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZGFzaGJvYXJkdGVtcGxhdGVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NhbXBhaWdubGlzdHRlbXBsYXRlcycsJHBhcmFtcyk7CiAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fY2FtcGFpZ25saXN0dGVtcGxhdGVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3ZpZXdsZWFkdGVtcGxhdGVzJywkcGFyYW1zKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl92aWV3bGVhZHRlbXBsYXRlc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd2aWV3Y2FtcGFpZ250ZW1wbGF0ZXMnLCRwYXJhbXMpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3ZpZXdjYW1wYWlnbnRlbXBsYXRlc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcm90b3R5cGVzJywkcGFyYW1zKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9wcm90b3R5cGV0ZW1wbGF0ZXNfdGFiLnBocCcpOwogIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdmaWVsZHR5cGVzJywkcGFyYW1zKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9maWVsZHR5cGVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3NldHRpbmdzJywkcGFyYW1zKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9zZXR0aW5nc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.export_campaign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG8uCiR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7IAppZiggISR1aWQgKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG8uCgokY2FtcGFpZ24gPSBudWxsOwokY29tcGFueSA9IG51bGw7CnRyeSB7CiAgJHBhcmFtcyA9IGxtX3V0aWxzOjpjbGVhbl9wYXJhbXMoJHBhcmFtcyk7CgogICRjYW1wYWlnbl9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdjYW1wYWlnbicpOwogIGlmKCAkY2FtcGFpZ25faWQgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CgogICRjYW1wYWlnbiA9IGxtX2NhbXBhaWduOjpsb2FkX2J5X2lkKCRjYW1wYWlnbl9pZCxUUlVFLFRSVUUpOyAvLyBsb2FkIHRoZSB3aG9sZSB0aGluZywgbm90IGp1c3QgdGhlIGxpdGUgdmVyc2lvbi4KICAkY29tcGFueSA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkY2FtcGFpZ25bJ2NvbXBhbnlfaWQnXSk7CiAgaWYoICRjb21wYW55LT5zdGF0dXMgIT0gJ3B1Ymxpc2hlZCcgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2xvYWRjb21wYW55JykpOwogIGlmKCAkY29tcGFueS0+b3duZXJfaWQgIT0gJHVpZCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9wZXJtaXNzaW9uJykpOwoKICAkbGVhZF9saXN0ID0gYXJyYXkoKTsKICAvLyBvdGhlciB0aGFuICdhY3Rpb24nIGFuZCAnbW9kdWxlJyBwYXJhbXMuLi4gc2hvdWxkIGJlIGFibGUgdG8gcGFzcyAkcGFyYW1zIGRpcmVjdGx5IGludG8gdGhlIGxtX2xlYWRfcXVlcnlfY29uc3RydWN0b3IKICAkcXVlcnkgPSBuZXcgbG1fbGVhZF9xdWVyeShhcnJheSgnY2FtcGFpZ24nPT4kY2FtcGFpZ25faWQsJ3N0YXR1cyc9PmxtX2xlYWQ6OlNUQVRVU19DT01QTEVURSkpOzsKICAkZmllbGRzID0gYXJyYXkoKTsKICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICB3aGlsZSggISRycy0+RU9GKCkgKSB7CiAgICAkZGF0YSA9ICRycy0+ZGF0YTsKICAgICRsZWFkID0gJHJzLT5HZXRPYmplY3QoJGRhdGFbJ2lkJ10pOwogICAgJGxlYWRfbGlzdFtdID0gJGxlYWQ7CiAgICAkZmllbGRzID0gYXJyYXlfbWVyZ2UoJGZpZWxkcywkbGVhZC0+ZmllbGRfbGlzdCgpKTsKICAgICRmaWVsZHMgPSBhcnJheV91bmlxdWUoJGZpZWxkcyk7CiAgICAkcnMtPk1vdmVOZXh0KCk7CiAgfQoKICAkY29sdW1ucyA9IGFycmF5KCdpZCcsJ2NyZWF0ZWQnLCdzdGF0dXMnLCd2aWV3ZWQnLCdlbWFpbCcpOwogICRjb2x1bW5zID0gYXJyYXlfbWVyZ2UoJGNvbHVtbnMsJGZpZWxkcyk7CgogIC8vIHJlYWR5IHRvIGV4cG9ydCB0byBFeGNlbAogIGluY2x1ZGVfb25jZSgkdGhpcy0+R2V0TW9kdWxlUGF0aCgpLicvbGliL0V4Y2VsV3JpdGVyWE1ML0V4Y2VsV3JpdGVyWE1MLnBocCcpOwoKICAkX3RvX2RhdGUgPSBmdW5jdGlvbigkdHMpIHsKICAgICR0cyA9IChpbnQpJHRzOwogICAgaWYoICR0cyA8IDEgKSByZXR1cm47CiAgICByZXR1cm4gZGF0ZSgnWS1tLWQnLCR0cykuJ1QnLmRhdGUoJ0g6aTpzJywkdHMpLicwMDAnOwogIH07CgogICR4bWwgPSBuZXcgRXhjZWxXcml0ZXJYTUwobXVuZ2Vfc3RyaW5nX3RvX3VybCgkY2FtcGFpZ25bJ25hbWUnXSkuJy54bWwnKTsKICAkeG1sLT5zaG93RXJyb3JTaGVldCh0cnVlKTsKICAkeG1sLT5kb2NUaXRsZSgnTGVhZHMgZm9yIENhbXBhaWduICcuJGNhbXBhaWduWyduYW1lJ10uJyAoJy4kY2FtcGFpZ25bJ2lkJ10uJyknKTsKICAkeG1sLT5kb2NDb21wYW55KCRjb21wYW55LT5jb21wYW55X25hbWUpOwoKICAkc2hlZXQgPSAkeG1sLT5hZGRTaGVldCgkY2FtcGFpZ25bJ25hbWUnXSk7CiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNvbHVtbnMpOyAkaSsrICkgewogICAgJHNoZWV0LT53cml0ZVN0cmluZygxLCRpKzEsJGNvbHVtbnNbJGldKTsKICB9CiAgCiAgJGN1cnJlbnRfcm93ID0gMjsKICBmb3JlYWNoKCAkbGVhZF9saXN0IGFzICRsZWFkICkgewogICAgZm9yKCAkY29sID0gMDsgJGNvbCA8IGNvdW50KCRjb2x1bW5zKTsgJGNvbCsrICkgewogICAgICAkZm10ID0gJ3N0cmluZyc7CiAgICAgICRjb2xuYW1lID0gJGNvbHVtbnNbJGNvbF07CiAgICAgICR2YWwgPSAnZW1wdHknOwoKICAgICAgc3dpdGNoKCAkY29sbmFtZSApIHsKICAgICAgY2FzZSAnaWQnOgoJJHZhbCA9ICRsZWFkWydpZCddOwoJYnJlYWs7CgogICAgICBjYXNlICdjcmVhdGVkJzoKCSRmbXQgPSAnZGF0ZXRpbWUnOwoJJHZhbCA9ICRsZWFkWydjcmVhdGVkJ107CglicmVhazsKCiAgICAgIGNhc2UgJ3N0YXR1cyc6CgkkdmFsID0gJGxlYWRbJ3N0YXR1cyddOwoJYnJlYWs7CgogICAgICBjYXNlICdlbWFpbCc6CgkkdmFsID0gJGxlYWRbJ2VtYWlsJ107CglicmVhazsKCiAgICAgIGNhc2UgJ3ZpZXdlZCc6CgkkdmFsID0gJyc7CglpZiggJGxlYWRbJ3ZpZXdlZCddICkgewoJICAkZm10ID0gJ2RhdGV0aW1lJzsKCSAgJHZhbCA9ICRsZWFkWyd2aWV3ZWQnXTsKCX0KCWJyZWFrOwoKICAgICAgZGVmYXVsdDoKCSR2YWwgPSAkbGVhZC0+ZmllbGRfZ2V0KCRjb2xuYW1lKTsKCSR0bXAgPSBAdW5zZXJpYWxpemUoJHZhbCk7CglpZiggaXNfYXJyYXkoJHRtcCkgKSAkdmFsID0gaW1wbG9kZSgnLCcsJHRtcCk7CglicmVhazsKICAgICAgfQoKICAgICAgc3dpdGNoKCAkZm10ICkgewogICAgICBjYXNlICdudW1iZXInOgoJJHNoZWV0LT53cml0ZU51bWJlcigkY3VycmVudF9yb3csJGNvbCsxLCR2YWwpOwoJYnJlYWs7CgogICAgICBjYXNlICdkYXRldGltZSc6Cgkkc2hlZXQtPndyaXRlRGF0ZVRpbWUoJGN1cnJlbnRfcm93LCRjb2wrMSwkX3RvX2RhdGUoJHZhbCkpOwoJYnJlYWs7CgogICAgICBjYXNlICdzdHJpbmcnOgogICAgICBkZWZhdWx0OgoJJHNoZWV0LT53cml0ZVN0cmluZygkY3VycmVudF9yb3csJGNvbCsxLCR2YWwpOwoJYnJlYWs7CiAgICAgIH0KICAgICAgZGVidWdfdG9fbG9nKCd3cm90ZSB0byAnLiRjdXJyZW50X3Jvdy4nICwgJy4oJGNvbCsxKS4iICgkY29sbmFtZSkgOiAiLiR2YWwpOwogICAgfQogICAgJGN1cnJlbnRfcm93Kys7CiAgfSAvLyBmb3JlYWNoIGxlYWQKICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IAogIGZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CiAgJHhtbC0+c2VuZEhlYWRlcnMoKTsKICAkeG1sLT53cml0ZURhdGEoKTsKICBleGl0Owp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdlcnJvcicsJGUtPkdldE1lc3NhZ2UoKSk7Cn0KCi8vJHRlbXBsYXRlID0gdHJpbShnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ3ZpZXdjYW1wYWlnbnRlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF92aWV3Y2FtcGFpZ25fdGVtcGxhdGUnKSkpOwovL2VjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ29yaWdfdmlld2NhbXBhaWduX3RlbXBsYXRlLnRwbCcpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.fe_lead.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8kdGhpcy0+c2Vzc2lvbl9jbGVhcignbXlsZWFkJyk7CgokY2FtcGFpZ25faWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ24nKTsKaWYoICRjYW1wYWlnbl9pZCA8IDEgKSB7CiAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnZmVfbGVhZDogSW52YWxpZCBjYW1wYWlnbiBpZCcpOwogIHJldHVybjsKfQoKJGNhbXBhaWduID0gbnVsbDsKJGNvbXBhbnkgPSBudWxsOwokZm9ybWZpZWxkcyA9IG51bGw7CiRsZWFkID0gbnVsbDsKJGxlYWRfaWQgPSBudWxsOwp0cnkgewogICRjYW1wYWlnbiA9IGxtX2NhbXBhaWduOjpsb2FkX2J5X2lkKCRjYW1wYWlnbl9pZCxUUlVFLFRSVUUpOwogIC8vIGNoZWNrIGNhbXBhaWduIGRhdGVzCiAgaWYoICRjYW1wYWlnblsnc3RhcnRfZGF0ZSddID4gdGltZSgpIHx8ICRjYW1wYWlnblsnZW5kX2RhdGUnXSA8IHRpbWUoKSApIHsKICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfY2FtcGFpZ25leHBpcmVkJykpOwogIH0KCiAgJGNvbXBhbnkgPSBjZF91dGlsczo6Z2V0X2NvbXBhbnkoJGNhbXBhaWduWydjb21wYW55X2lkJ10pOwogIGlmKCAhaXNfb2JqZWN0KCRjb21wYW55KSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbG9hZGNvbXBhbnknKSk7CiAgaWYoICRjb21wYW55LT5zdGF0dXMgIT0gJ3B1Ymxpc2hlZCcgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2xvYWRjb21wYW55JykpOwoKICAkY2FtcGFpZ24tPnNldF9yZWFkb25seSgpOwogICRzbWFydHktPmFzc2lnbignY2FtcGFpZ24nLCRjYW1wYWlnbik7CiAgaWYoIGxtX3V0aWxzOjppc19yb2JvdCgpICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3JvYm90c3BsZWFzZScpKTsKCiAgLy8gZmxvb2QgcHJvdGVjdGlvbgogIGlmKCAoJHRzID0gJHRoaXMtPnNlc3Npb25fZ2V0KCdsZWFkdHMnLDApKSApIHsKICAgIC8vIHdlIGhhdmUgYSB0aW1lc3RhbXAgb2YgdGhlIGxhc3Qgc3VibWlzc2lvbgogICAgJHRpbWVvdXQgPSAoaW50KSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmbG9vZF90aW1lb3V0JywyKTsKICAgICR0aW1lb3V0ID0gbWF4KDAsbWluKDEyMCwkdGltZW91dCkpKjYwOwogICAgaWYoIHRpbWUoKSAtICR0cyA8ICR0aW1lb3V0ICkgewogICAgICAvLyBmbG9vZGluZy4KICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9mbG9vZGluZycpKTsKICAgIH0KICB9CgogICRsb2FkZWQgPSBGQUxTRTsKICBpZiggKCRsZWFkX2lkID0gKGludCkkdGhpcy0+c2Vzc2lvbl9nZXQoJ2xlYWRpZCcpKSAmJiAoJGxlYWRfaWQgPiAwKSApIHsKICAgICRsZWFkID0gbG1fbGVhZDo6bG9hZF9ieV9pZCgkbGVhZF9pZCwkY2FtcGFpZ25faWQpOwogICAgJGxvYWRlZCA9IFRSVUU7CiAgfQogIGVsc2UgewogICAgLy8gY3JlYXRlIGEgbmV3LCBpbmNvbXBsZXRlIGxlYWQKICAgICRsZWFkID0gbmV3IGxtX2xlYWQoJGNhbXBhaWduX2lkLFRSVUUpOwoKICAgIC8vIG1lcmdlIGluIHNvbWUgY2FwdHVyZWQgdmFyaWFibGVzIGZyb20gdGhlIGtleXdvcmQgYWN0aW9uLi4uLiBpbmNhc2UgdGhleSB3ZXJlIGxvc3QgZnJvbSB0aGUgVVJMIG9yIGZyb20gcmVkaXJlY3Rpb24uCiAgICAkY2FwdHVyZSA9ICR0aGlzLT5zZXNzaW9uX2dldCgnbGVhZGNhcHR1cmUnKTsKICAgIGlmKCBpc19hcnJheSgkY2FwdHVyZSkgJiYgY291bnQoJGNhcHR1cmUpICkgewogICAgICBmb3JlYWNoKCAkY2FwdHVyZSBhcyAka2V5ID0+ICR2YWwgKSB7CgkkbGVhZC0+ZmllbGRfc2V0KCRrZXksJHZhbCk7CiAgICAgIH0KICAgICAgJHRoaXMtPnNlc3Npb25fY2xlYXIoJ2xlYWRjYXB0dXJlJyk7CiAgICB9CiAgICAkbGVhZC0+c2F2ZSgpOwogICAgJHRoaXMtPnNlc3Npb25fcHV0KCdsZWFkaWQnLCRsZWFkWydpZCddKTsKICB9CgogIC8vCiAgLy8gYnVpbGQgdGhlIGZvcm0gZmllbGQgbGlzdC4KICAvLyB3ZSB1c2UgdGhpcyBpbiB0aGUgZm9ybSBzdWJtaXNzaW9uIHN0dWZmIHRvby4KICAvLwogICRmb3JtZmllbGRzID0gYXJyYXkoKTsgCiAgaWYoICRsZWFkWydzdGF0dXMnXSA9PSAkbGVhZDo6U1RBVFVTX0lOQ09NUExFVEUgJiYgaXNfYXJyYXkoJGNhbXBhaWduWydmaWVsZHMnXSkgJiYgY291bnQoJGNhbXBhaWduWydmaWVsZHMnXSkgKSB7CiAgICBmb3JlYWNoKCAkY2FtcGFpZ25bJ2ZpZWxkcyddIGFzICRmaWVsZCApIHsKICAgICAgJHJlYyA9IGFycmF5KCk7CiAgICAgICRyZWNbJ2lkJ10gPSAkZmllbGRbJ2lkJ107CiAgICAgICRyZWNbJ2NhbXBhaWduJ10gPSAkZmllbGRbJ2NhbXBhaWduJ107CiAgICAgICRyZWNbJ25hbWUnXSA9ICRmaWVsZFsnbmFtZSddOwogICAgICAkcmVjWydwcm9tcHQnXSA9ICRmaWVsZFsncHJvbXB0J107CiAgICAgICRyZWNbJ3JlcXVpcmVkJ10gPSAkZmllbGRbJ3JlcXVpcmVkJ107CiAgICAgICRyZWNbJ2l0ZW1fb3JkZXInXSA9ICRmaWVsZFsnaXRlbV9vcmRlciddOwogICAgICAkcmVjWydiYXNlX3R5cGUnXSA9ICRmaWVsZFsnYmFzZXR5cGUnXTsKICAgICAgaWYoIGlzc2V0KCRmaWVsZFsnb3B0aW9ucyddKSAmJiBpc19hcnJheSgkZmllbGRbJ29wdGlvbnMnXSkgJiYgY291bnQoJGZpZWxkWydvcHRpb25zJ10pICkgewoJJHJlY1snb3B0aW9ucyddID0gJGZpZWxkWydvcHRpb25zJ107CiAgICAgIH0KICAgICAgJHJlY1snZmllbGRfbmFtZSddID0gJ2xtX2ZpZWxkX18nLiRyZWNbJ25hbWUnXTsKCiAgICAgICRmb3JtZmllbGRzWyRyZWNbJ25hbWUnXV0gPSAkcmVjOwogICAgfQogIH0KCiAgLy8KICAvLyBoYW5kbGUgZm9ybSBzdWJtaXNzaW9uCiAgLy8KICBpZiggJGxvYWRlZCAmJiBpc3NldCgkcGFyYW1zWydsbV9zdWJtaXQnXSkgKSB7CiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ2xtX2h1bWFuJ10pIHx8ICRwYXJhbXNbJ2xtX2h1bWFuJ10gIT0gJycgKSB7CiAgICAgIC8vIG91ciBtYWdpYyB0cmljayB0byBkZXRlY3QgbW9yZSBib3RzLi4uCiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9ib3RzcGxlYXNlJykpOwogICAgfQoKICAgICRwcmVmaXggPSAnbG1fZmllbGRfXyc7CiAgICBmb3JlYWNoKCAkZm9ybWZpZWxkcyBhcyAkbmFtZSA9PiAkcmVjICkgewogICAgICBpZiggIWlzc2V0KCRwYXJhbXNbJHJlY1snZmllbGRfbmFtZSddXSkgKSB7CgkvLyBmaWVsZCBub3QgZm91bmQgaW4gZm9ybSBzdWJtaXNzaW9uCgkvLyBob3BlIGl0IHdhc24ndCByZXF1aXJlZAoJaWYoICRyZWNbJ3JlcXVpcmVkJ10gKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcXVpcmVkZmllbGQnKS4nOiAnLiRuYW1lKTsKICAgICAgfQogICAgICAkbGVhZC0+ZmllbGRfc2V0KCRuYW1lLCRwYXJhbXNbJHJlY1snZmllbGRfbmFtZSddXSwkcmVjWydpZCddKTsKICAgIH0KCiAgICBpZiggJGxlYWRbJ3N0YXR1cyddID09ICRsZWFkOjpTVEFUVVNfSU5DT01QTEVURSApIHsKICAgICAgJGxlYWRbJ3N0YXR1cyddID0gJGxlYWQ6OlNUQVRVU19DT01QTEVURTsKICAgICAgJGxlYWQtPnNhdmUoKTsgLy8gdHJpZ2dlcnMgbm90aWZpY2F0aW9ucwogICAgfQogICAgJHRoaXMtPnNlc3Npb25fcHV0KCdsZWFkdHMnLHRpbWUoKSk7CiAgICB1bnNldCgkZm9ybWZpZWxkcyk7CiAgfQp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdlcnJvcicsJGUtPkdldE1lc3NhZ2UoKSk7Cn0KCi8vCi8vIGJ1aWxkIHRoZSBmb3JtCi8vCmlmKCBpc19vYmplY3QoJGxlYWQpICkgJHNtYXJ0eS0+YXNzaWduKCdsZWFkJywkbGVhZCk7CiRzbWFydHktPmFzc2lnbignY2FtcGFpZ24nLCRjYW1wYWlnbik7CiRzbWFydHktPmFzc2lnbignY29tcGFueScsJGNvbXBhbnkpOwppZiggaXNzZXQoJGZvcm1maWVsZHMpICkgJHNtYXJ0eS0+YXNzaWduKCdmb3JtZmllbGRzJywkZm9ybWZpZWxkcyk7CiRwYXJtcyA9IGFycmF5KCk7CiRwYXJtc1snY2FtcGFpZ24nXSA9ICRjYW1wYWlnbl9pZDsKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbXBhaWdudGVtcGxhdGUnXSkgKSAkcGFybXNbJ2NhbXBhaWdudGVtcGxhdGUnXSA9ICRwYXJhbXNbJ2NhbXBhaWdudGVtcGxhdGUnXTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtX3N0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdmZV9sZWFkJywkcmV0dXJuaWQsJHBhcm1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybV9lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKLy8gZ2V0IHRoZSB0ZW1wbGF0ZQokdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF9mb3JtX3RlbXBsYXRlJyk7CmlmKCAkY2FtcGFpZ25bJ3RlbXBsYXRlJ10gIT0gJycgKSAkdGVtcGxhdGUgPSAkY2FtcGFpZ25bJ3RlbXBsYXRlJ107CiR0ZW1wbGF0ZSA9IGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnY2FtcGFpZ250ZW1wbGF0ZScsJHRlbXBsYXRlKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdmb3JtXycuJHRlbXBsYXRlKTsKLy9lY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ29yaWdfZm9ybV90ZW1wbGF0ZS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.view_campaign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG8uCiR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7IAppZiggISR1aWQgKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG8uCgokY2FtcGFpZ24gPSBudWxsOwokY29tcGFueSA9IG51bGw7CnRyeSB7CiAgJHBhcmFtcyA9IGxtX3V0aWxzOjpjbGVhbl9wYXJhbXMoJHBhcmFtcyk7CgogICRjYW1wYWlnbl9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdjYW1wYWlnbicpOwogIGlmKCAkY2FtcGFpZ25faWQgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CgogICRjYW1wYWlnbiA9IGxtX2NhbXBhaWduOjpsb2FkX2J5X2lkKCRjYW1wYWlnbl9pZCxUUlVFLFRSVUUpOyAvLyBsb2FkIHRoZSB3aG9sZSB0aGluZywgbm90IGp1c3QgdGhlIGxpdGUgdmVyc2lvbi4KICAkY29tcGFueSA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkY2FtcGFpZ25bJ2NvbXBhbnlfaWQnXSk7CiAgaWYoICRjb21wYW55LT5zdGF0dXMgIT0gJ3B1Ymxpc2hlZCcgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2xvYWRjb21wYW55JykpOwogIGlmKCAkY29tcGFueS0+b3duZXJfaWQgIT0gJHVpZCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9wZXJtaXNzaW9uJykpOwoKICAkbGltaXQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnbGltaXQnLDEwMCk7CiAgJG9mZnNldCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdvZmZzZXQnLDApOwoKICAkbGVhZF9saXN0ID0gYXJyYXkoKTsKICAvLyBvdGhlciB0aGFuICdhY3Rpb24nIGFuZCAnbW9kdWxlJyBwYXJhbXMuLi4gc2hvdWxkIGJlIGFibGUgdG8gcGFzcyAkcGFyYW1zIGRpcmVjdGx5IGludG8gdGhlIGxtX2xlYWRfcXVlcnlfY29uc3RydWN0b3IKICAkcXVlcnkgPSBuZXcgbG1fbGVhZF9xdWVyeShhcnJheSgnY2FtcGFpZ24nPT4kY2FtcGFpZ25faWQsJ2xpbWl0Jz0+JGxpbWl0LCdvZmZzZXQnPT4kb2Zmc2V0KSk7CiAgJHJzID0gJHF1ZXJ5LT5leGVjdXRlKCk7CiAgd2hpbGUoICEkcnMtPkVPRigpICkgewogICAgJGRhdGEgPSAkcnMtPmRhdGE7CiAgICAkbGVhZF9saXN0W10gPSAkcnMtPkdldE9iamVjdCgkZGF0YVsnaWQnXSk7CiAgICAkcnMtPk1vdmVOZXh0KCk7CiAgfQogIGlmKCBjb3VudCgkbGVhZF9saXN0KSApICRzbWFydHktPmFzc2lnbignbGVhZHMnLCRsZWFkX2xpc3QpOwogICRzbWFydHktPmFzc2lnbignbGVhZGNvdW50JywkcnMtPnRvdGFsKTsKICAkc21hcnR5LT5hc3NpZ24oJ3BhZ2luYXRpb24nLCRycy0+R2V0UGFnaW5hdGlvbigpKTsKCiAgJHNtYXJ0eS0+YXNzaWduKCdjb21wYW55JywkY29tcGFueSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdjYW1wYWlnbicsJGNhbXBhaWduKTsKCn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAkc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZS0+R2V0TWVzc2FnZSgpKTsKfQoKJHRlbXBsYXRlID0gdHJpbShnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ3ZpZXdjYW1wYWlnbnRlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF92aWV3Y2FtcGFpZ25fdGVtcGxhdGUnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3ZpZXdjYW1wYWlnbl8nLiR0ZW1wbGF0ZSk7Ci8vZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdvcmlnX3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.view_lead.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHVpZCA9IG51bGw7CiRsZWFkID0gbnVsbDsKJGNhbXBhaWduID0gbnVsbDsKJGNvbXBhbnkgPSBudWxsOwp0cnkgewogICRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKICBpZiggISRmZXUgKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG8uCiAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsgCiAgaWYoICEkdWlkICkgewogICAgJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm9sb2dpbl9yZWRpcmVjdCcpOwogICAgaWYoICRwYWdlICkgJHBhZ2UgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcGFnZSk7CiAgICBpZiggISRwYWdlICkgJHBhZ2UgPSAkcmV0dXJuaWQ7CgogICAgLy8gc2F2ZSB0aGUgc2Vzc2lvbiB2YXJpYWJsZQogICAgJGZldS0+U2V0UG9zdExvZ2luVVJMKGNnZV91cmw6OmN1cnJlbnRfdXJsKCkpOwogICAgLy8gcmVkaXJlY3QgdG8gc29tZSBjb250ZW50IHBhZ2UgdG8gYWxsb3cgbG9naW4uCiAgICAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRwYWdlKTsKICAgIHJldHVybjsKICB9CgogICRjYW1wYWlnbl9pZCA9IChpbnQpZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdjYW1wYWlnbicpOwogIGlmKCAkY2FtcGFpZ25faWQgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgJGxlYWRfaWQgPSAoaW50KWdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywnbGVhZCcpOwogIGlmKCAkbGVhZF9pZCA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKCiAgJGNhbXBhaWduID0gbG1fY2FtcGFpZ246OmxvYWRfYnlfaWQoJGNhbXBhaWduX2lkKTsKICAkY29tcGFueSA9IGNkX3V0aWxzOjpnZXRfY29tcGFueSgkY2FtcGFpZ25bJ2NvbXBhbnlfaWQnXSk7CiAgaWYoICRjb21wYW55LT5zdGF0dXMgIT0gJ3B1Ymxpc2hlZCcgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2xvYWRjb21wYW55JykpOwogIGlmKCAkY29tcGFueS0+b3duZXJfaWQgIT0gJHVpZCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfbm9wZXJtaXNzaW9uJykpOwoKICAkbGVhZCA9IGxtX2xlYWQ6OmxvYWRfYnlfaWQoJGxlYWRfaWQsJGNhbXBhaWduX2lkKTsKICBpZiggISRsZWFkWyd2aWV3ZWQnXSApIHsKICAgICRsZWFkWyd2aWV3ZWQnXSA9IHRpbWUoKTsKICAgICRzbWFydHktPmFzc2lnbignaW5pdGlhbHZpZXcnLDEpOwogICAgYXVkaXQoJGxlYWRbJ2lkJ10sJHRoaXMtPkdldE5hbWUoKSwnTGVhZCBtYXJrZWQgYXMgdmlld2VkIGJ5IGZldSB1c2VyICcuJHVpZCk7CiAgICAkbGVhZC0+c2F2ZSgpOwogIH0KCiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2xtX2JhZCddKSApIHsKICAgIC8vIG1hcmsgdGhpcyBsZWFkIGFzIGJhZCwgYW5kIGJsb2NrIHRoZSB1c2VyIGFnZW50LgogICAgJHVhID0gJGxlYWQtPmZpZWxkX2dldCgndXNlcl9hZ2VudCcpOwogICAgaWYoICEkdWEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX25vdXNlcmFnZW50JykpOwoKICAgICR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYmxvY2tlZF91c2VyYWdlbnRzJyk7CiAgICAkYmxvY2tlZCA9IGFycmF5KCk7CiAgICBpZiggJHRtcCApICRibG9ja2VkID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICBpZiggIWluX2FycmF5KCR1YSwkYmxvY2tlZCkgKSB7CiAgICAgICRibG9ja2VkW10gPSAkdWE7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdibG9ja2VkX3VzZXJhZ2VudHMnLHNlcmlhbGl6ZSgkYmxvY2tlZCkpOwogICAgfQoKICAgICRsZWFkWyd2aWV3ZWQnXSA9IDA7CiAgICAkbGVhZFsnc3RhdHVzJ10gPSAkbGVhZDo6U1RBVFVTX0JBRDsKICAgICRsZWFkLT5zYXZlKCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21hcmtlZGJhZCcsMSk7CiAgICBhdWRpdCgkbGVhZFsnaWQnXSwkdGhpcy0+R2V0TmFtZSgpLCdMZWFkIG1hcmtlZCBhcyBiYWQgYnkgZmV1IHVzZXIgJy4kdWlkLicgYW5kIHVzZXIgYWdlbnQgYmxvY2tlZCcpOwogIH0KCiAgJHNtYXJ0eS0+YXNzaWduKCdjb21wYW55JywkY29tcGFueSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdjYW1wYWlnbicsJGNhbXBhaWduKTsKICAkc21hcnR5LT5hc3NpZ24oJ2xlYWQnLCRsZWFkKTsKfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewogICRzbWFydHktPmFzc2lnbignZXJyb3InLCRlLT5HZXRNZXNzYWdlKCkpOwp9CgokdGVtcGxhdGUgPSB0cmltKGdldF9wYXJhbWV0ZXJfdmFsdWUoJHBhcmFtcywndmlld2xlYWR0ZW1wbGF0ZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfdmlld2xlYWRfdGVtcGxhdGUnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3ZpZXdsZWFkXycuJHRlbXBsYXRlKTsKLy9lY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ29yaWdfdmlld2xlYWRfdGVtcGxhdGUudHBsJyk7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VE9ETw==]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_campaignlisttemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdpbmZvX2NhbXBhaWdubGlzdF90ZW1wbGF0ZXMnKS4nPC9kaXY+JzsKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdjYW1wYWlnbmxpc3RfJywnZGVmYXVsdF9jYW1wYWlnbmxpc3RfdGVtcGxhdGVfY29udGVudHMnLAoJCQkgICAgICdjYW1wYWlnbmxpc3R0ZW1wbGF0ZXMnLCdjdXJyZW50X2NhbXBhaWdubGlzdF90ZW1wbGF0ZScsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfY2FtcGFpZ25saXN0X3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_campaigns_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKSApIHJldHVybjsKCiR2aWV3X2FjdGl2ZW9ubHkgPSBjbXNfdXNlcnByZWZzOjpnZXQoJ3ZpZXdfYWN0aXZlb25seScsMCk7CiRjYW1wYWlnbnMgPSBudWxsOwppZiggJHZpZXdfYWN0aXZlb25seSApIHsKICAkY2FtcGFpZ25zID0gbG1fY2FtcGFpZ246OmxvYWRfYWN0aXZlKCk7Cn0KZWxzZSB7CiAgJGNhbXBhaWducyA9IGxtX2NhbXBhaWduOjpsb2FkX2FsbCgpOwp9CgovLyB0b2RvOiBwcmVwb3B1bGF0ZSBtZXRhZGF0YSBoZXJlLgoKCiRzbWFydHktPmFzc2lnbignY2FtcGFpZ25zJywkY2FtcGFpZ25zKTsKJHNtYXJ0eS0+YXNzaWduKCd2aWV3X2FjdGl2ZW9ubHknLCR2aWV3X2FjdGl2ZW9ubHkpOwokc21hcnR5LT5hc3NpZ24oJ3VzZXJwcmVmc19mb3JtX3N0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zZXRfdXNlcnByZWZzJywkcmV0dXJuaWQsYXJyYXkoJ3NlY3Rpb24nPT4nY2FtcGFpZ25fdGFiJykpKTsKJHNtYXJ0eS0+YXNzaWduKCd1c2VycHJlZnNfZm9ybV9lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2NhbXBhaWduc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_dashboardtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdpbmZvX2Rhc2hib2FyZF90ZW1wbGF0ZXMnKS4nPC9kaXY+JzsKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdkYXNoYm9hcmRfJywnZGVmYXVsdF9kYXNoYm9hcmRfdGVtcGxhdGVfY29udGVudHMnLAoJCQkgICAgICdkYXNoYm9hcmR0ZW1wbGF0ZXMnLCdjdXJyZW50X2Rhc2hib2FyZF90ZW1wbGF0ZScsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfZGFzaGJvYXJkX3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_fieldtypes_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47Cgokc21hcnR5LT5hc3NpZ24oJ2Jhc2V0eXBlcycsbG1fdXRpbHM6OmdldF9iYXNlX2ZpZWxkdHlwZXMoKSk7CiRmaWVsZHR5cGVzID0gbG1fZmllbGR0eXBlOjpsb2FkX2FsbCgpOwppZiggaXNfYXJyYXkoJGZpZWxkdHlwZXMpICYmIGNvdW50KCRmaWVsZHR5cGVzKSApICRzbWFydHktPmFzc2lnbignZmllbGR0eXBlcycsJGZpZWxkdHlwZXMpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2ZpZWxkdHlwZXNfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_formtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdpbmZvX2Zvcm1fdGVtcGxhdGVzJykuJzwvZGl2Pic7CmVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnZm9ybV8nLCdkZWZhdWx0X2Zvcm1fdGVtcGxhdGVfY29udGVudHMnLAoJCQkgICAgICdmb3JtdGVtcGxhdGVzJywnY3VycmVudF9mb3JtX3RlbXBsYXRlJywKCQkJICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9mb3JtX3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_keywordtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdpbmZvX2tleXdvcmRfdGVtcGxhdGVzJykuJzwvZGl2Pic7CmVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwna2V5d29yZGZvcm1fJywnZGVmYXVsdF9rZXl3b3JkZm9ybV90ZW1wbGF0ZV9jb250ZW50cycsCgkJCSAgICAgJ2tleXdvcmR0ZW1wbGF0ZXMnLCdjdXJyZW50X2tleXdvcmRmb3JtX3RlbXBsYXRlJywKCQkJICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9rZXl3b3JkX3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_prototypetemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHRfdGVtcGxhdGUnKS4nPC9kaXY+JzsKCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwnZGVmYXVsdF9mb3JtX3RlbXBsYXRlX2NvbnRlbnRzJywKCQkJCSAgICdkZWZhdWx0YWRtaW4nLCdwcm90b3R5cGVzJywKCQkJCSAgICR0aGlzLT5MYW5nKCd0aXRsZV9zeXNkZWZhdWx0X2Zvcm1fdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX2Zvcm1fdGVtcGxhdGUudHBsJyk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsJ2RlZmF1bHRfa2V5d29yZGZvcm1fdGVtcGxhdGVfY29udGVudHMnLAoJCQkJICAgJ2RlZmF1bHRhZG1pbicsJ3Byb3RvdHlwZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3N5c2RlZmF1bHRfa2V5d29yZGZvcm1fdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX2tleXdvcmRmb3JtX3RlbXBsYXRlLnRwbCcpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLCdkZWZhdWx0X2Rhc2hib2FyZF90ZW1wbGF0ZV9jb250ZW50cycsCgkJCQkgICAnZGVmYXVsdGFkbWluJywncHJvdG90eXBlcycsCgkJCQkgICAkdGhpcy0+TGFuZygndGl0bGVfc3lzZGVmYXVsdF9kYXNoYm9hcmRfdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX2Rhc2hib2FyZF90ZW1wbGF0ZS50cGwnKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwnZGVmYXVsdF9jYW1wYWlnbmxpc3RfdGVtcGxhdGVfY29udGVudHMnLAoJCQkJICAgJ2RlZmF1bHRhZG1pbicsJ3Byb3RvdHlwZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3N5c2RlZmF1bHRfY2FtcGFpZ25saXN0X3RlbXBsYXRlJyksCgkJCQkgICAnb3JpZ19jYW1wYWlnbmxpc3RfdGVtcGxhdGUudHBsJyk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsJ2RlZmF1bHRfdmlld2xlYWRfdGVtcGxhdGVfY29udGVudHMnLAoJCQkJICAgJ2RlZmF1bHRhZG1pbicsJ3Byb3RvdHlwZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3N5c2RlZmF1bHRfdmlld2xlYWRfdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX3ZpZXdsZWFkX3RlbXBsYXRlLnRwbCcpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLCdkZWZhdWx0X3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZV9jb250ZW50cycsCgkJCQkgICAnZGVmYXVsdGFkbWluJywncHJvdG90eXBlcycsCgkJCQkgICAkdGhpcy0+TGFuZygndGl0bGVfc3lzZGVmYXVsdF92aWV3Y2FtcGFpZ25fdGVtcGxhdGUnKSwKCQkJCSAgICdvcmlnX3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2V0dGluZ3NfdGFiJywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCd1cmxwcmVmaXgnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdjYW1wYWlnbnMnKSk7CiRzbWFydHktPmFzc2lnbignY2FtcGFpZ25wYWdlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FtcGFpZ25wYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ25vdGlmeWxlYWRzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm90aWZ5bGVhZHMnLDEpKTsKJHNtYXJ0eS0+YXNzaWduKCdub3RpZnlsZWFkc19zdWJqZWN0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm90aWZ5bGVhZHNfc3ViamVjdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdub3RpZnlsZWFkc19ib2R5dHBsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm90aWZ5bGVhZHNfYm9keXRwbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdub2xvZ2luX3JlZGlyZWN0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbm9sb2dpbl9yZWRpcmVjdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdsZWFkY29uZmlybScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xlYWRjb25maXJtJykpOwokc21hcnR5LT5hc3NpZ24oJ2xlYWRjb25maXJtX3N1YmplY3QnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsZWFkY29uZmlybV9zdWJqZWN0JykpOwokc21hcnR5LT5hc3NpZ24oJ2xlYWRjb25maXJtX2JvZHl0cGwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdsZWFkY29uZmlybV9ib2R5dHBsJykpOwoKJGJsb2NrZWQgPSBhcnJheSgpOwokdG1wID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Jsb2NrZWRfdXNlcmFnZW50cycpOwppZiggJHRtcCApICRibG9ja2VkID0gdW5zZXJpYWxpemUoJHRtcCk7CiRzbWFydHktPmFzc2lnbignYmxvY2tlZF91c2VyYWdlbnRzJyxpbXBsb2RlKCJcbiIsJGJsb2NrZWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmbG9vZF90aW1lb3V0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmxvb2RfdGltZW91dCcsMikpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zZXR0aW5nc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_viewcampaigntemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdpbmZvX3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZXMnKS4nPC9kaXY+JzsKZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCd2aWV3Y2FtcGFpZ25fJywnZGVmYXVsdF92aWV3Y2FtcGFpZ25fdGVtcGxhdGVfY29udGVudHMnLAoJCQkgICAgICd2aWV3Y2FtcGFpZ250ZW1wbGF0ZXMnLCdjdXJyZW50X3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZScsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfdmlld2NhbXBhaWduX3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_viewleadtemplates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJzxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj4nLiR0aGlzLT5MYW5nKCdpbmZvX3ZpZXdsZWFkX3RlbXBsYXRlcycpLic8L2Rpdj4nOwplY2hvICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3ZpZXdsZWFkXycsJ2RlZmF1bHRfdmlld2xlYWRfdGVtcGxhdGVfY29udGVudHMnLAoJCQkgICAgICd2aWV3bGVhZHRlbXBsYXRlcycsJ2N1cnJlbnRfdmlld2xlYWRfdGVtcGxhdGUnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X3ZpZXdsZWFkX3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkEgZmxleGlibGUgYW5kIHNpbXBsZSBtb2R1bGUgdG8gZ2F0aGVyIHNhbGVzIGxlYWQgaW5mb3JtYXRpb24gZnJvbSBzaXRlIHZpc2l0b3JzLiAgU2l0ZSB2aXNpdG9ycyB3aG8gcmVhY2ggYSBsYW5kaW5nIHBhZ2UgY2FuIHByb3ZpZGUgaW5mb3JtYXRpb24gdmlhIGZpbGxpbmcgaW4gYSBmb3JtLiAgVGhhdCBpbmZvcm1hdGlvbiBpcyBhdHRhY2hlZCB0byBhIHRpbWUgbGltaXRlZCAmcXVvdDtjYW1wYWlnbiZxdW90OyBmb3IgYSBzcGVjaWZpYyBjb21wYW55IDxlbT4oc2VlIHRoZSBDb21wYW55RGlyZWN0b3J5IG1vZHVsZSk8L2VtPi4gIFRoZSBsZWFkIGluZm9ybWF0aW9uIGlzIHRoZW4gc2VudCB0byB0aGUgZW1haWwgYWRkcmVzcyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbXBhbnkuPC9wPgo8aDM+RmVhdHVyZXM6PC9oMz4KIDx1bD4KICA8bGk+VGltZSBsaW1pdGVkIGNhbXBhaWduczwvbGk+CiAgPGxpPkNhbXBhaWducyB0aWVkIHRvIGEgQ29tcGFueURpcmVjdG9yeSBjb21wYW55PC9saT4KICA8bGk+RmxleGlibGUgZmllbGRzICh0ZXh0IGJveGVzLCB0ZXh0IGFyZWFzLCBjaGVja2JveGVzLCBkcm9wZG93bnMsIGFuZCBtdWx0aXNlbGVjdCk8L2xpPgogIDxsaT5UaGUgYWJpbGl0eSB0byBzYXZlIGZpZWxkICZxdW90O3R5cGVzJnF1b3Q7IHdpdGggcHJlLWRlZmluZWQgb3B0aW9ucyBhbmQgcmUtdXNlIHRob3NlIHR5cGVzIGluIGRpZmZlcmVudCBjYW1wYWlnbnMuPC9saT4KICA8bEk+VGhlIGFiaWxpdHkgdG8gdHJhY2sgYWRkaXRpb25hbCB2YXJpYWJsZXMgc3VjaCBhcyB1dG1fbWVkaXVtLCB1dG1fY2FtcGFpZ24gZXRjLiAgQW5kIGFkZGl0aW9uYWwgdmFyaWFibGVzIHN1cHBsaWVkIGluIHRoZSB0YWcuPC9saT4KICA8bGk+U2ltcGxlLCBidXQgcG93ZXJmdWwgYm90IGFuZCBmbG9vZCBwcmV0ZWN0aW9uOgogICAgPHVsPgogICAgICA8bGk+Rmxvb2QgUHJvdGVjdGlvbiAocmVzdHJpY3QgdGhlIHNhbWUgYnJvd3NlciBmcm9tIHN1Ym1pdHRpbmcgYSBsZWFkIG1vcmUgdGhhbiBvbmNlIGluIGEgc2V0IHRpbWUgcGVyaW9kKTwvbGk+CiAgICAgIDxsaT5TaW1wbGUgY2FwdGNoYSBtZWNoYW5pc20gdG8gcHJldmVudCBtYW55IGJvdHMuPC9saT4KICAgICAgPGxpPkRldGVjdCBib3RzIHZpYSB0aGVpciB1c2VyIGFnZW50LjwvbGk+CiAgICAgIDxsaT5EeW5hbWljIG1lY2hhbmlzbSB0byBhZGQgbW9yZSBib3RzIHRvIHRoZSBpZ25vcmUgbGlzdC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5MZWFkcyBhcmUgc2VudCB2aWEgZW1haWwgdG8gY29tcGFueSBvd25lcnMuPC9saT4KICA8bGk+VHJhY2tpbmcgb2Ygd2hpY2ggbGVhZHMgaGF2ZSBiZWVuIHZpZXdlZCA8ZW0+KG9uIHRoZSB3ZWJzaXRlKTwvZW0+IGJ5IHRoZSBjb21wYW55IG93bmVycy48L2xpPgogIDxsaT5BIGNvbXBsZXRlIGRhc2hib2FyZCBhbmQgZnJvbnRlbmQgbWFuYWdlbWVudCBwYW5lbCBmb3IgY29tcGFueSBvd25lcnMuCiAgICA8dWw+CiAgICAgIDxsaT5EaXNwbGF5IGEgbGlzdCBvZiB0aGUgZmlyc3QgZmV3ICZxdW90O3Vudmlld2VkJnF1b3Q7IGxlYWRzLCBhbmQgYWxsb3cgdmlld2luZyB0aGVtLjwvbGk+CiAgICAgIDxsaT5EaXNwbGF5IGEgbGlzdCBvZiB0aGUgY3VycmVudCBjYW1wYWlnbnMgZm9yIHRoZSB1c2VycyAmcXVvdDtjb21wYW5pZXMmcXVvdDs8L2xpPgogICAgICA8bGk+RGlzcGxheSBhIGxpc3Qgb2YgYWxsIGxlYWRzIGZvciBhbiBhY3RpdmUgY2FtcGFpZ248L2xpPgogICAgICA8bGk+VGhlIGFiaWxpdHkgdG8gbWFyayBhIGxlYWQgYXMgJnF1b3Q7YmFkJnF1b3Q7IHdoaWNoIHdpbGwgdGhlbiBhZGQgdGhlIHVzZXIgYWdlbnQgdXNlZCBpbiB0aGUgbGlzdCB0byB0aGUgaWdub3JlIGxpc3QuPC9saT4KICAgICAgPGxpPlRoZSBhYmlsaXR5IHRvIGV4cG9ydCBjb21wbGV0ZWQgbGVhZHMgZm9yIGEgY2FtcGFpZ24gdG8gYSBmb3JtYXQgc3VpdGFibGUgZm9yIHVzZSBpbiBleGNlbC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5BIGNhbXBhaWduIHNlYXJjaCB0b29sIHRvIHNlYXJjaCBmb3IgYWN0aXZlIGNhbXBhaWducyB2aWEgYSBrZXl3b3JkLjwvbGk+CiA8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0OjwvaDM+CiAgPHVsPgogICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUKICAgICAgPHVsPgogICAgICAgIDxsaT5DcmVhdGUgYXQgbGVhc3Qgb25lIHByb3BlcnR5LjwvbGk+CiAgICAgICAgPGxpPkNyZWF0ZSBhdCBsZWFzdCBvbmUgZ3JvdXAuPC9saT4KICAgICAgICA8bGk+Q2FsbCBGcm9udEVuZHVzZXJzIG9uIGEgY29udGVudCBwYWdlIG9yIHBhZ2UgdGVtcGxhdGUuPC9saT4KICAgICAgPC91bD4KICAgIDwvbGk+CiAgICA8bGk+SW5zdGFsbCBhbmQgY29uZmlndXJlIHRoZSBDb21wYW55RGlyZWN0b3J5IG1vZHVsZS4KICAgICAgPHA+WW91IHNob3VsZCAodGhvdWdoIGl0IGlzIG5vdCBzdHJpY3RseSByZXF1aXJlZCkgY29uZmlndXJlIENvbXBhbnlEaXJlY3RvcnkgdG8gYWxsb3cgZm9yIEZyb250RW5kVXNlcnMgdG8gYWRkIG9yIGVkaXQgY29tcGFuaWVzLjwvcD4KICAgICAgPHVsPgogICAgICAgICA8bGk+RW5hYmxlIHRoZSBhcHByb3ByaWF0ZSBvcHRpb25zIGluIHRoZSBDb21wYW55RGlyZWN0b3J5IHNldHRpbmdzLjwvbGk+CiAgICAgICAgIDxsaT5BZGQgPGNvZGU+e0NvbXBhbnlEaXJlY3RvcnkgYWN0aW9uPWZyb250ZW5kbGlzdH08L2NvZGU+IHRvIGEgY29udGVudCBwYWdlIHRoYXQgaXMgcHJvdGVjdGVkIHRvIG9ubHkgbWVtYmVycyBvZiBzdWl0YWJsZSBncm91cHMuPC9saT4KICAgICAgPC91bD4KICAgICAgPGxpPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSW4gb3JkZXIgdG8gY3JlYXRlIGNhbXBhaWducyB0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBjb21wYW55IGV4aXN0aW5nIGFuZCBwdWJsaXNoZWQgaW4gdGhlIGRhdGFiYXNlLjwvbGk+CiAgICA8L2xpPgogICAgPGxpPkNyZWF0ZSBhdCBsZWFzdCBvbmUgY2FtcGFpZ246CiAgICAgIDx1bD4KICAgICAgICA8bGk+RW50ZXIgYSBuYW1lIGZvciB0aGUgY2FtcGFpZ24uPC9saT4KICAgICAgICA8bGk+RW50ZXIgYSBrZXl3b3JkIGZvciB0aGUgY2FtcGFpZ24KICAgICAgICAgIDxwPlRoZSBrZXl3b3JkIG11c3QgYmUgdW5pcXVlIHRvIGFsbCBhY3RpdmUgY2FtcGFpZ25zLiAgSXQgaXMgdXNlZCB0byBwcm92aWRlIGEgY29udmVuaWVudCBtZXRob2QgZm9yIHNpdGUgdmlzaXRvcnMgdG8gYmUgYWJsZSB0byBmaW5kIGFuIGFjdGl2ZSBjYW1wYWlnbi48L3A+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+U2VsZWN0IGEgY29tcGFueSBmb3IgdGhlIGNhbXBhaWduLgogICAgICAgICAgPHA+VGhpcyBpcyBhbiBhdXRvY29tcGxldGUgZmllbGQuICBCZWdpbiBieSB0eXBpbmcgYSBwb3J0aW9uIG9mIGEgY29tcGFueSBuYW1lIGludG8gdGhlIGZpZWxkLiAgQSBkcm9wZG93biB3aWxsIGFwcGVhciB0byBkaXNwbGF5IHRoZSBmaXJzdCBmZXcgbWF0Y2hlcy4gIFNlbGVjdCBvbmUgb2YgdGhlIG1hdGNoZXMuPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPkRlZmluZSBzdGFydCBhbmQgZW5kIGRhdGVzLCBwcm92aWRlIGEgZGVzY3JpcHRpb24gYW5kIGEgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHRoZSB2aXNpdG9yIG9uIGNvbXBsZXRpb24uPC9saT4KICAgICAgICA8bGk+RGVmaW5lIGZpZWxkcyBmb3IgdGhlIGZvcm0uCgk8cD5WYXJpb3VzIGRpZmZlcmVudCB0eXBlcyBvZiBmaWVsZHMgY2FuIGJlIGRlZmluZWQgKHRleHQgZmllbGRzLCB0ZXh0IGFyZWFzLCBjaGVja2JveGVzLCBkcm9wZG93bnMsIGFuZCBtdWx0aXNlbGVjdCBmaWVsZHMpLiBGaWVsZHMgaGF2ZSBkaWZmZXJlbnQgcHJvcGVydGllcywgYW5kIGhvdyBlYWNoIGZpZWxkIGlzIGRpc3BsYXllZCBpcyBkZXBlbmRlbnQgb24gdGhlIGNvZGUgaW4gdGhlIGZvcm0gdGVtcGxhdGUuPC9wPgogICAgICAgICAgPHVsPgogIAkgICAgPGxpPkZpZWxkIG5hbWVzIG11c3QgYmUgdW5pcXVlIHRvIGEgZm9ybS4gIFRoZXkgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIG9yIHVuZGVycnNjb3Jlcy4gICBUaGUgbmFtZSBpcyB1c2VkIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBmaWVsZCBmcm9tIHdpdGhpbiBzbWFydHkgdGVtcGxhdGVzIGFuZCB3aGVuIGV4cG9ydGluZyBsZWFkcy4gSXQgaXMgYWxzbyB1c2VkIGluIHRoZSBmcm9udGVuZCBsZWFkIGRpc3BsYXkgZm9yIGF1dGhvcml6ZWQgY29tcGFueSBvd25lcnMuPC9saT4KCSAgICA8bGk+VGhlIGZpZWxkIHByb21wdCBpcyBhIGh1bWFuIHJlYWRhYmxlIHZhbHVlIGZvciB0aGlzIGZpZWxkLCBmb3IgdXNlIGluIHRoZSBmb3JtLiAgaXQgbWF5IGNvbnRhaW4gc3BhY2VzLCBwdW5jdHVhdGlvbiBvciBsYW5ndWFnZSBzcGVjaWZpYyBjaGFyYWN0ZXJzLjwvbGk+CiAgICAgICAgICAgIDxsaT5UaGUgZmllbGQgdHlwZQoJICAgICAgPHA+VGhlIGRyb3Bkb3duIGZvciB0aGUgZmllbGQgdHlwZSBhbGxvd3MgY3JlYXRpbmcgc2ltcGxlIGZpZWxkcywgb3IgdG8gY3JlYXRlIGEgZmllbGQgZnJvbSBhbiBhbiBleGlzdGluZyBmaWVsZCB0eXBlLiAgVGhpcyBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byByZS11c2UgZmllbGRzIG9uIGRpZmZlcmVudCBjYW1wYWlnbnMuPC9wPgoJICAgICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBBbHRob3VnaCByYWRpbyBncm91cHMgYXJlIG5vdCBhIGZpZWxkIHR5cGUsIGl0IGlzIHBvc3NpYmxlIHRvIGRpc3BsYXkgYSBkcm9wZG93biBmaWVsZCBpbiB0aGUgZm9ybSBvZiBhIHJhZGlvIGdyb3VwIGJ5IG1vZGlmeWluZyB0aGUgZm9ybSB0ZW1wbGF0ZS48L3A+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT5SZXF1aXJlZCAtIFdldGhlciBvciBub3QgdGhlIHVzZXIgaXMgbWFuZGF0ZWQgdG8gc3VibWl0IGEgdmFsdWUgZm9yIHRoYXQgZmllbGQuPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+T3B0aW9uYWxseSB1cGxvYWQgc29tZSBQREYgYXR0YWNobWVudHMuCiAgICAgICAgICA8cD5FYWNoIGNhbXBhaWduIGNhbiBoYXZlIG51bWVyb3VzIFBERiBhdHRhY2htZW50cyB0aGF0IG1heSBiZSB1c2VmdWwgdG8gYWxsb3cgdmlld2luZyBvciBkb3dubG9hZCB3aGVuIHRoZSB1c2VyIGlzIGNvbXBsZXRpbmcgdGhlIGNhbXBhaWduIGZvcm0uPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPk9wdGlvbmFsbHkgdXBsb2FkIHNvbWUgaW1hZ2VzLgogICAgICAgICAgPHA+RWFjaCBjYW1wYWlnbiBjYW4gaGF2ZSBudW1lcm91cyBpbWFnZXMgdGhhdCBtYXkgYmUgdXNlZnVsIHdoZW4gZGVzaWduaW5nIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjYW1wYWlnbiBsYW5kaW5nIHBhZ2UuPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPk9wdGlvbmFsbHkgc2VsZWN0IGEgZm9ybSB0ZW1wbGF0ZSBmb3IgdGhlIGNhbXBhaWduLgogCSAgPHA+VW5saWtlIGluIG90aGVyIG1vZHVsZXMsIHRoaXMgbW9kdWxlIGFsbG93cyBzZWxlY3RpbmcgYSBkaWZmZXJlbnQgZm9ybSB0ZW1wbGF0ZSBmb3IgZWFjaCBjYW1wYWlnbi4gIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IGZvcm0gdGVtcGxhdGUgY2FuIGJlIHVzZWQuICBUaGUgZm9ybSB0ZW1wbGF0ZSBjYW4gYWxzbyBiZSBvdmVycmlkZW4gdmlhIHRoZSA8Y29kZT57Y2dlX21vZHVsZV9oaW50fTwvY29kZT4gdGFnLiAgPGVtPihTZWUgQ0dFeHRlbnNpb25zIEhlbHApPC9lbT48L3A+CiAgICAgICAgPC9saT4KICAgICAgPC91bD4gIAogICAgPC9saT4KICAgIDxsaT5DYWxsIHRoZSBkYXNoYm9hcmQgYWN0aW9uIG9uIGEgcHJvdGVjdGVkIHBhZ2UuCgk8cD48Y29kZT57TGVhZE1hbmFnZXIgYWN0aW9uPWRhc2hib2FyZH08L2NvZGU+PC9wPgogICAgPC9saT4KICA8L3VsPgo8aDM+QWN0aW9uczwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhyZWUgcHJpbWFyeSBmcm9udGVuZCBhY3Rpb25zOjwvcD4KICA8dWw+CiAgICA8bGk+VGhlIDxjb2RlPmRlZmF1bHQ8L2NvZGU+IGFjdGlvbi4KICAgICAgPHA+VGhpcyBhY3Rpb24gZGlzcGxheXMgYSBzaW1wbGUgZm9ybSB0byBhbGxvdyB2aXNpdG9ycyB0byBmaW5kIGFuIGFjdGl2ZSBjYW1wYWlnbiBieSBlbnRlcmluZyBhIGtleXdvcmQuIE9uIHN1Y2Nlc3MgdGhlIHVzZXIgaXMgcmVkaXJlY3RlZCB0byB0aGUgZmVfbGVhZCBhY3Rpb24uIGNhbGwgaXQgd2l0aCA8Y29kZT57TGVhZE1hbmFnZXJ9PC9jb2RlPjwvcD4KICAgIDwvbGk+CiAgIDxsaT5UaGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4gYWN0aW9uIGRpc3BsYXlzIHRoZSBmb3JtIHRoYXQgZ2VuZXJhdGVzIGxlYWRzLiAgCiAgICAgIDxwPlRoZSBsYXlvdXQgb2YgdGhpcyBmb3JtIGlzIGRlcGVuZGVudCBvbiB0aGUgZm9ybSB0ZW1wbGF0ZSBzZWxlY3RlZCAoZWl0aGVyIHRoZSBkZWZhdWx0LCB0aGUgdGVtcGxhdGUgc3BlY2lmaWVkIGluIHRoZSBjYW1wYWlnbiwgb3IgYW55IHRlbXBhbHRlIG5hbWUgc3BlY2lmaWVkIGluIHBhcmFtZXRlcnMsIG9yIHZpYSB0aGUgPGNvZGU+e2NnZV9tb2R1bGVfaGludH08L2NvZGU+IHRhZy48L3A+IAogICA8L2xpPgogICA8L2xpPlRoZSA8Y29kZT5kYXNoYm9hcmQ8L2NvZGU+IGFjdGlvbiBkaXNwbGF5cyBhIHJlcG9ydCBvZiBhY3RpdmUgY2FtcGFpZ25zLCBhbmQgdW52aWV3ZWQgbGVhZHMuCiAgICAgPHA+PHN0cm9uZz5SZXF1aXJlZCBQYXJhbWV0ZXJzOiA8L3N0cm9uZz4gbm9uZTwvcD4KICAgICA8cD5UaGlzIGFjdGlvbiBpcyBvbmx5IHZpc2libGUgdG8gbG9nZ2VkIGluIEZyb250RW5kVXNlcnMgd2hvIG93biBjb21wYW5pZXMgaW4gdGhlIENvbXBhbnlEaXJlY3RvcnkgbW9kdWxlLjwvcD4KICAgICA8cD5UaGlzIGFjdGlvbiB1c2VzIGEgJnF1b3Q7ZGFzaGJvYXJkIHRlbXBsYXRlJnF1b3Q7IHRvIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdW52aWV3ZWQgbGVhZHMsIGFuZCBhY3RpdmUgY2FtcGFpZ25zLiAgSXQgYWxzbyBwcm92aWRlcyBtZWNoYW5pc21zIHRvIGRpc3BsYXkgaW5kaXZpZHVhbCB1bnZpZXdlZCBsZWFkcyBhbmQgdG8gdmlldyBoaXN0b3JpY2FsIGNhbXBhaWducyBmb3IgYSB1c2VycyBjb21wYW5pZXMuPC9wPgogICAgIDxwPlRoaXMgYWN0aW9uIGhhcyB0aGUgZm9sbG93aW5nIHN1Yi1hY3Rpb25zOjwvcD4KICAgICA8dWw+CiAgICAgICA8bGk+VGhlIDxjb2RlPnZpZXdfY2FtcGFpZ248L2NvZGU+IGFjdGlvbgogICAgICAgICA8cD48c3Ryb25nPlJlcXVpcmVkIFBhcmFtZXRlcnM6IDwvc3Ryb25nPiBjYW1wYWlnbiAtIGFuIGludGVnZXIgY2FtcGFpZ24gaWQuPC9wPgogICAgICAgICA8cD5UaGlzIGFjdGlvbiBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBjYW1wYWlnbi4gIEluY2x1ZGluZyBhbGwgb2YgdGhlIGxlYWRzLiAgRnJvbSBoZXJlIGEgY29tcGFueSBvd25lciBjYW4gdmlldyBhbnkgbGVhZHMsIGFuZCBleHBvcnQgY2FtcGFpZ25zIHRvIGV4Y2VsLjwvcD4KICAgICAgICAgPHA+VGhpcyBhY3Rpb24gaXMgb25seSB2aXNpYmxlIHRvIGxvZ2dlZCBpbiBGcm9udEVuZFVzZXJzIHdobyBvd24gdGhlIGNvbXBhbnkgbGlua2VkIHRvIHRoZSBzcGVjaWZpZWQgY2FtcGFpZ24uPC9saT4KICAgICAgICAgPHA+VGhpcyBhY3Rpb24gaGFzIHRoZSBmb2xsb3dpbmcgc3ViLWFjdGlvbnM6PC9wPgogICAgICAgICA8dWw+CiAgICAgICAgICAgPGxpPlRoZSA8Y29kZT5leHBvcnRfY2FtcGFpZ248L2NvZGU+IGFjdGlvbgogICAgICAgICAgICAgPHA+PHN0cm9uZz5SZXF1aXJlZCBQYXJhbWV0ZXJzOiA8L3N0cm9uZz4gY2FtcGFpZ24gLSBhbiBpbnRlZ2VyIGNhbXBhaWduIGlkLjwvcD4KCSAgICAgPHA+VGhpcyBhY3Rpb24gZ2VuZXJhdGVzIGFuIFhNTCBmb3JtYXQgZmlsZSB0aGF0IGlzIHN1aXRhYmxlIGZvciB1c2UgaW4gc3ByZWFkc2hlZXQgcHJvZ3JhbXMgc3VjaCBhcyBFeGNlbCZ0cmFkZTsgb3IgT3BlbiBPZmZpY2UuPC9wPgogICAgICAgICAgICAgPHA+VGhpcyBhY3Rpb24gaXMgb25seSB1c2FibGUgYnkgbG9nZ2VkIGluIEZyb250RW5kVXNlcnMgd2hvIG93biB0aGUgY29tcGFueSBsaW5rZWQgdG8gdGhlIHNwZWNpZmllZCBjYW1wYWlnbi48L2xpPgogICAgICAgICAgIDwvbGk+CiAgICAgICAgIDwvdWw+CiAgICAgICA8L2xpPiAgICAgICAKICAgICAgIDxsaT5UaGUgPGNvZGU+dmlld19sZWFkPC9jb2RlPiBhY3Rpb24KICAgICAgICAgPHA+PHN0cm9uZz5SZXF1aXJlZCBQYXJhbWV0ZXJzOiA8L3N0cm9uZz4gY2FtcGFpZ24gLSBhbiBpbnRlZ2VyIGNhbXBhaWduIGlkLiAgbGVhZCAtIGFuIGludGVnZXIgbGVhZCBpZDwvcD4KICAgICAgICAgPHA+VGhpcyBhY3Rpb24gZGlzcGxheXMgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgbGVhZC4gIElmIHRoZSBzcGVjaWZpZWQgbGVhZCB3YXMgcHJldmlvdXNseSB1bnZpZXdlZCBpdCBpcyBhdXRvbWF0aWNhbGx5IG1hcmtlZCBhcyAmcXVvdDt2aWV3ZWQmcXVvdDsgb24gZGlzcGxheS4gIEZyb20gdGhpcyB2aWV3IGNvbXBhbnkgb3duZXJzIGNhbiBtYXJrIGEgbGVhZCBhcyAmcXVvdDtiYWQmcXVvdDsgd2hpY2ggYWRkcyB0aGUgdXNlciBhZ2VudCBzdXBwbGllZCB3aXRoIHRoZSBsZWFkIHRvIHRoZSBpZ25vcmUgbGlzdCBhbmQgYXNzaXN0cyBpbiB0aGUgYm90IHByb3RlY3Rpb24gbWVjaGFuaXNtLjwvcD4KICAgICAgIDwvbGk+CiAgICAgPC91bD4KICAgPC9saT4KICA8L3VsPgo8aDM+QWRkaXRpb25hbCBUcmFja2luZyBGaWVsZHM8L2gzPgogIDxwPlRoZSBtb2R1bGUgd2lsbCBhdXRvbWF0aWNhbGx5IHRyYWNrIG51bWVyb3VzIHZhbHVlcyBpbiBhZGRpdGlvbiB0byB0aGUgdmFsdWVzIHN1Ym1pdHRlZCBpbiB0aGUgZm9ybS4gIFRoZXNlIGluY2x1ZGU6PC9wPgogIDx1bD4KICAgIDxsaT51c2VyX2FnZW50IC0gVGhlIHVzZXIgYWdlbnQgc3RyaW5nIHByb3ZpZGVkIGJ5IHRoZSB2aXNpdG9ycyBicm93c2VyLjwvbGk+CiAgICA8bGk+cmVtb3RlX2lwICAtIEEgYmVzdCBndWVzcyBhdCB0aGUgaXAgYWRkcmVzcyB0aGUgdmlzaXQgb3JpZ2luYXRlZCBmcm9tLjwvbGk+CiAgICA8bGk+cmVmZXJlciAtIHRoZSBhZGRyZXNzIChpZiBhbnkpIHRoYXQgdGhlIHZpc2l0b3IgdXNlZCB0byBnZXQgdG8gdGhlIGxhbmRpbmcgcGFnZS48L2xpPgogICAgPGxpPnV0bV9zb3VyY2UgLSBBIGdvb2dsZSB0cmFja2luZyBwYXJhbWV0ZXIuPC9saT4KICAgIDxsaT51dG1fbWVkaXVtIC0gQSBnb29nbGUgdHJhY2tpbmcgcGFyYW1ldGVyLjwvbGk+CiAgICA8bGk+dXRtX2NhbXBhaWduIC0gQSBnb29nbGUgdHJhY2tpbmcgcGFyYW1ldGVyLjwvbGk+CiAgICA8bGk+ZmV1X3VpZCAtIElmIGxvZ2dlZCBpbiB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUsIHRoaXMgaXMgdGhlIHVpZCBvZiB0aGF0IHVzZXIuPC9saT4KICAgIDxsaT5mZXVfZW1haWwgLSBJZiBsb2dnZWQgaW4gdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlLCB0aGlzIGlzIHRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoYXQgdXNlci48L2xpPgogIDwvdWw+CiAgPHA+SXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBhZGRpdGlvbmFsIHRyYWNraW5nIHBhcmFtZXRlcnMgYnkgc3BlY2lmaW5nIHRoZW0gb24gdGhlIDxjb2RlPntMZWFkTWFuYWdlcn08L2NvZGU+IHRhZywgb3IgdmlhIHVzaW5nIHRoZSA8Y29kZT57Y2dlX21vZHVsZV9oaW50fTwvY29kZT4gbWVjaGFuaXNtLiBpLmU6ICB7TGVhZE1hbmFnZXIgbG1fa2V5MT1Qcm9kdWN0IGxtX3ZhbDE9NDV9IHdvdWxkIGFkZCAmcXVvdDtQcm9kdWN0PTQ1JnF1b3Q7IHRvIHRoZSB0cmFja2VkIGZpZWxkcy4gIFNpbWlsYXJseSBzcGVjaWZ5aW5nIHtjZ2VfbW9kdWxlX2hpbnQgbW9kdWxlPUxlYWRNYW5hZ2VyIGxtX2tleTE9TmV3cyBsbV92YWwxPTExIGxtX2tleTI9UHJvZHVjdCBsbV92YWwyPTIxfSB3b3VsZCBhZGQgdHdvIHRyYWNraW5nIGZpZWxkcy48L3A+CgoKPGgzPkludGVybmFsIE9iamVjdCBIZWxwPC9oMz4KIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgaW5mb3JtYXRpb24gaXMgc3ViamVjdCB0byBjaGFuZ2UsIGFuZCBpcyBpbnRlbmRlZCBvbmx5IGFzIGEgcm91Z2ggZ3VpZGUuICBGb3IgZnVydGhlciBkZXRhaWxzIHlvdSBtYXkgaGF2ZSB0byBjb25zdWx0IHRoZSBQSFAgY29kZSBkaXJlY3RseS48L2Rpdj4KPHVsPgogIDxsaT5DYW1wYWlnbiBPYmplY3RzCiAgICA8cD5DYW1wYWlnbiBvYmplY3RzIGRlc2NyaWJlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgY2FtcGFpZ24uICBJbiB0aGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4sIDxjb2RlPnZpZXdfY2FtcGFpZ248L2NvZGU+LCBhbmQgPGNvZGU+dmlld19hY3Rpb248L2NvZGU+IGFjdGlvbnMgYSBzaW5nbGUgY2FtcGFpZ24gb2JqZWN0IGlzIGF2YWlsYWJsZSBhcyB0aGUgc21hcnR5IHZhcmlhYmxlIDxjb2RlPnskY2FtcGFpZ259PC9jb2RlPi4gIENhbXBhaWduIG9iamVjdHMgYXJlIHJlYWQgb25seSBpbiBhbGwgZnJvbnRlbmQgdGVtcGxhdGVzLiAgVGhleSBwcm92aWRlIHRoZSBmb2xsb3dpbmcgcHVibGljIG1lbWJlcnMgYW5kIG1ldGhvZHMgdG8gc21hcnR5OjwvcD4KICAgIDx1bD4KICAgICA8bGk+TWVtYmVyczoKICAgICAgIDx1bD4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uaWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpbnRlZ2VyIGlkIGZvciB0aGUgY2FtcGFpZ24uPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24ubmFtZX08L2NvZGU+IChzdHJpbmcpIHRoZSBuYW1lIG9mIHRoZSBjYW1wYWlnbi48L2xpPgogICAgICAgICA8bGk+PGNvZGU+eyRjYW1wYWlnbi5rZXl3b3JkfTwvY29kZT4gKHN0cmluZykgdGhlIGtleXdvcmQgb2YgdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmNvbXBhbnlfaWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpbnRlZ2VyIGlkIG9mIHRoZSBjb21wYW55IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FtcGFpZ24uPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uc3RhcnRfZGF0ZX08L2NvZGU+IChpbnRlZ2VyKSB0aGUgdW5peCB0aW1lc3RhbXAgZm8gdGhlIHN0YXJ0IGRhdGUgb2YgdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmVuZF9kYXRlfTwvY29kZT4gKGludGVnZXIpIHRoZSB1bml4IHRpbWVzdGFtcCBmbyB0aGUgZW5kIGRhdGUgb2YgdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmNyZWF0ZWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXggdGltZXN0YW1wIG9mIHRoZSB0aW1lIHRoZSBjYW1wYWlnbiB3YXMgaW5pdGlhbGx5IGNyZWF0ZWQuPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uZmluaXNoZWRfbXNnfTwvY29kZT4gKEhUTUwgc3RyaW5nKSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHVzZXJzIG9uY2UgYSBsZWFkIGZvciB0aGlzIGNhbXBhaWduIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjcmVhdGVkLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmRlc2NyaXB0aW9ufTwvY29kZT4gKEhUTUwgc3RyaW5nKSBBIGRlc2NyaXB0aW9uIGZvciB0aGlzIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmZpZWxkc308L2NvZGU+IChPYmplY3QgYXJyYXkpIEFuIGFycmF5IG9mIGZpZWxkIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBmaWVsZHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW1wYWlnbiBpbiB0aGUgc3BlY2lmaWVkIG9yZGVyLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmV4dGVybmFsX3VybH08L2NvZGU+IChzdHJpbmcpIFRoZSB2YWx1ZSBvZiB0aGUgZXh0ZXJuYWwgdXJsIGZpZWxkLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmF0dGFjaG1lbnRzfTwvY29kZT4gKHN0cmluZyBhcnJheSkgQSBsaXN0IG9mIHRoZSBQREYgZmlsZXMgYXR0YWNoZWQgdG8gdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmltYWdlc308L2NvZGU+IChzdHJpbmcgYXJyYXkpIEEgbGlzdCBvZiB0aGUgaW1hZ2UgZmlsZXMgYXR0YWNoZWQgdG8gdGhlIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLnRlbXBsYXRlfTwvY29kZT4gKHN0cmluZykgVGhlIG5hbWUgb2YgdGhlIHRlbXBsYXRlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhbXBhaWduLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmF0dGFjaG1lbnRfbG9jYXRpb259PC9jb2RlPiAoc3RyaW5nKSBUaGUgVVJMIHByZWZpeCBmb3IgUERGIGZpbGVzIGF0dGFjaGVkIHRvIHRoaXMgZG9tYWluLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmltYWdlX2xvY2F0aW9ufTwvY29kZT4gKHN0cmluZykgVGhlIFVSTCBwcmVmaXggZm9yIGltYWdlIGZpbGVzIGF0dGFjaGVkIHRvIHRoaXMgZG9tYWluLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT57JGNhbXBhaWduLmxlYWRjb3VudH08L2NvZGU+IChpbnRlZ2VyKSBUaGUgdG90YWwgbnVtYmVyIG9mIDxlbT4obm9uIGJhZCk8L2VtPiBsZWFkcyBnYXRoZXJlZCB0aGlzIGNhbXBhaWduIHRvIGRhdGUuPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24uY29tcGxldGVjb3VudH08L2NvZGU+IChpbnRlZ2VyKSBUaGUgdG90YWwgbnVtYmVyIG9mIGNvbXBsZXRlZCBsZWFkcyBnYXRoZXJlZCBmb3IgdGhpcyBjYW1wYWlnbiB0byBkYXRlPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnskY2FtcGFpZ24udW52aWV3ZWRjb3VudH08L2NvZGU+IChpbnRlZ2VyKSBUaGUgdG90YWwgbnVtYmVyIG9mIHVudmlld2VkIGxlYWRzIGdhdGhlcmVkIGZvciB0aGlzIGNhbXBhaWduIHRvIGRhdGU8L2xpPgogICAgICAgPC91bD4KICAgICA8L2xpPgogICAgPC91bD4KICAgCiAgPC9saT4KICA8bGk+RmllbGQgT2JqZWN0cwogICAgPHA+RmllbGQgb2JqZWN0cyBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IGEgZm9ybSBmaWVsZCB1c2VkIGluIHRoZSBsZWFkIGdlbmVyYXRpb24gcHJvY2Vzcy4gIEFuIGFzc29jaWF0ZWQgYXJyYXkgb2YgZmllbGQgb2JqZWN0cyBpcyBwcm92aWRlZCB0byB0aGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4gYWN0aW9uIHZpYSB0aGUgc21hcnR5IHZhcmlhYmxlIDxjb2RlPnskZm9ybWZpZWxkc308L2NvZGU+LiAgVGhlIGtleSBpcyB0aGUgZmllbGQgbmFtZSwgdG8gYWxsb3cgZm9yIGRpcmVjdCBhY2Nlc3Npbmcgb2YgaW5mb3JtYXRpb24gZm9yIHNwZWNpZmljIGZpZWxkcy4gIEZpZWxkIG9iamVjdHMgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBtZW1iZXJzOjwvcD4KICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPnskZmllbGQuaWR9PC9jb2RlPiAoaW50ZWdlcikgVGhlIHVuaXF1ZSBmaWVsZCBpZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRmaWVsZC5uYW1lfTwvY29kZT4gKHN0cmluZykgVGhlIG5hbWUgb2YgdGhpcyBmaWVsZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRmaWVsZC5wcm9tcHR9PC9jb2RlPiAoc3RyaW5nKSBUaGUgcHJvbXB0IG9mIHRoaXMgZmllbGQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskZmllbGQuYmFzZV90eXBlfTwvY29kZT4gKHN0cmluZykgdGhlIGJhc2UgdHlwZSBvZiBmaWVsZCAoaS5lOiB0ZXh0Ym94LCBkcm9wZG93biwgY2hlY2tib3guLi4uKTwvbGk+CiAgICAgIDxsaT48Y29kZT57JGZpZWxkLmNhbXBhaWdufTwvY29kZT4gKGludGVnZXIpIFRoZSB1bmlxdWUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgY2FtcGFpZ24uPC9saT4KICAgICAgPGxpPjxjb2RlPnskZmllbGQucmVxdWlyZWR9PC9jb2RlPiAoaW50ZWdlcikgSW5kaWNhdGVzIHdldGhlciBvciBub3QgdGhpcyBpcyBhIHJlcXVpcmVkIGZpZWxkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGZpZWxkLml0ZW1fb3JkZXJ9PC9jb2RlPiAoaW50ZWdlcikgVGhlIGRpc3BsYXkgb3JkZXIgb2YgdGhlIGZpZWxkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGZpZWxkLm9wdGlvbnN9PC9jb2RlPiAoYXNzb2NpYXRpdmUgYXJyYXkpIC0gRm9yIGZpZWxkcyB3aGljaCByZXF1aXJlIG51bWVyb3VzIG9wdGlvbnMgKGRyb3Bkb3ducywgbXVsdGlzZWxlY3RzKSB0aGlzIG1lbWJlciBwcm92aWRlcyB0aG9zZSBvcHRpb25zLiAgSXQgaXMgc3VpdGFibGUgZm9yIHVzZSBieSB0aGUgc21hcnR5IDxjb2RlPntodG1sX29wdGlvbnN9PC9jb2RlPiBwbHVnaW4uPC9saT4KICAgIDwvdWw+CiAgICAKICA8L2xpPgogIDxsaT5MZWFkIE9iamVjdHMKICAgIDxwPkxlYWQgb2JqZWN0cyBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGxlYWQuICBUaGlzIGluY2x1ZGVzIGFsbCBvZiB0aGUgZmllbGQgdmFsdWVzIHRoYXQgd2VyZSBlbnRlcmVkIGJ5IHRoZSB1c2VyIGluIHRoZSBsZWFkIGdlbmVyYXRpb24gZm9ybSwgYWRkZWQgdmlhIHRoZSA8Y29kZT57TGVhZE1hbmFnZXJ9PC9jb2RlPiB0YWcsIG9yIGF1dG9tYXRpY2FsbHkgZGV0ZWN0ZWQuPC9wPgogICAgPHA+QSBvYmplY3QgaXMgdXNlZCBpbiB0aGUgPGNvZGU+ZmVfbGVhZDwvY29kZT4gYWN0aW9uIHRvIGF1dG8gZmlsbCBmaWVsZHMgaW5jYXNlIG9mIGFuIGVycm9yLiBJdCBpcyBhdmFpbGFibGUgdmlhIHRoZSA8Y29kZT57JGxlYWR9PC9jb2RlPiBzbWFydHkgdmFyaWFibGUuPC9wPgogICAgPHA+SW4gdGhlIDxjb2RlPmRhc2hib2FyZDwvY29kZT4gYWN0aW9uLCB1bnZpZXdlZCBsZWFkIG9iamVjdHMgYXJlIHByb3ZpZGVkIGJ5IHRoZSA8Y29kZT57JHVudmlld2VkX2xlYWRzfTwvY29kZT4gc21hcnR5IHZhcmlhYmxlLiAgSW4gdGhlIDxjb2RlPnZpZXdfbGVhZDwvY29kZT4gYWN0aW9uIGEgc2luZ2xlIGxlYWQgb2JqZWN0IGlzIHByb3ZpZGVkIGJ5IHRoZSA8Y29kZT57JGxlYWR9PC9jb2RlPiBzbWFydHkgdmFyaWFibGUuICBJbiB0aGUgPGNvZGU+dmlld19jYW1wYWlnbjwvY29kZT4gYWN0aW9uLCBhbiBhcnJheSBvZiBsZWFkIG9iamVjdHMgaXMgcHJvdmlkZWQgaW4gdGhlIDxjb2RlPnskbGVhZHN9PC9jb2RlPiBzbWFydHkgdmFyaWFibGUuPC9wPgogICAgPHVsPgogICAgICA8bGk+TWVtYmVycwogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQuaWR9PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpZCBvZiB0aGlzIGxlYWQuPC9saT4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQuY2FtcGFpZ259PC9jb2RlPiAoaW50ZWdlcikgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgY2FtcGFpZ24gdGhhdCB0aGlzIGxlYWQgaXMgYXNzb2NpYXRlZCB3aXRoLjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+eyRsZWFkLnN0YXR1c308L2NvZGU+IChzdHJpbmcpIHRoZSBzdGF0dXMgb2YgdGhlIGxlYWQuICBlaXRoZXIgJnF1b3Q7aW5jb21wZXRlJnF1b3Q7LCZxdW90O2NvbXBsZXRlJnF1b3Q7LCBvciAmcXVvdDtiYWQmcXVvdDs8L2xpPgogICAgICAgICAgPGxpPjxjb2RlPnskbGVhZC5jcmVhdGVkfTwvY29kZT4gKGludGVnZXIpIHRoZSB1bml4IHRpbWVzdGFtcCBvZiB3aGVuIHRoaXMgbGVhZCB3YXMgb3JpZ2luYWxseSBzYXZlZC48L2xpPgogICAgICAgICAgPGxpPjxjb2RlPnskbGVhZC5tb2RpZmllZH08L2NvZGU+IChpbnRlZ2VyKSB0aGUgdW5peCB0aW1lc3RhbXAgb2Ygd2hlbiB0aGlzIGxlYWQgd2FzIGxhc3Qgc2F2ZWQuPC9saT4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQudmlld2VkfTwvY29kZT4gKGludGVnZXIpIHRoZSB1bml4IHRpbWVzdGFtcCB3aGVuIHRoaXMgbGVhZCB3YXMgbWFya2VkIGFzIHZpZXdlZC4gIG9yIDAgZm9yIHVudmlld2VkIGxlYWRzLjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+eyRsZWFkLmVtYWlsfTwvY29kZT4gKHN0cmluZykgc2VhcmNoZXMgZm9yLCBhbmQgcmV0dXJucyB0aGUgZmlyc3QgdmFsaWQgZW1haWwgYWRkcmVzcyBzdG9yZWQgd2l0aCB0aGlzIGxlYWQuPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2xpPgogICAgICA8bGk+TWV0aG9kcwogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQtPmZpZWxkX2xpc3QoKX08L2NvZGU+IChzdHJpbmcgYXJyYXkpIHJldHVybnMgYSBsaXN0IG9mIGFsbCBvZiB0aGUgbmFtZXMgb2YgYWxsIG9mIHRoZSB2YWx1ZXMgYXR0YWNoZWQgdG8gdGhpcyBsZWFkLjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+eyRsZWFkLT5maWVsZF9leGlzdHMoc3RyaW5nKX08L2NvZGU+IChib29sZWFuKSBpbmRpY2F0ZXMgaWYgYSBzcGVjaWZpZWQgbmFtZWQgdmFsdWUgZXhpc3RzIHdpdGhpbiB0aGlzIGxlYWQuPC9saT4KICAgICAgICAgIDxsaT48Y29kZT57JGxlYWQtPmZpZWxkX2dldChzdHJpbmcpfTwvY29kZT4gKG1peGVkKSByZXR1cm5zIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lLiAgSWYgaXQgZXhpc3RzLjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9saT4KICAgIDwvdWw+CiAgPC9saT4KCiAgPGxpPkNvbXBhbnkgT2JqZWN0cwogICAgPHA+QSBjb21wYW55IG9iamVjdCBpcyB1c3VhbGx5IHN1cHBsaWVkIGluIGZyb250ZW5kIGFjdGlvbnMgd2hlcmUgYSBzaW5nbGUgY29tcGFueSBjYW4gYmUgZGV0ZXJtaWVkIHZpYSB0aGUgPGNvZGU+eyRjb21wYW55fTwvY29kZT4gc21hcnR5IHZhcmlhYmxlLiAgTWFueSBvZiB0aGUgZmllbGRzIG9mIHRoZSBjb21wYW55IG9iamVjdCBtYXkgYmUgZW1wdHkuPC9wPgogICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIGluZm9ybWF0aW9uIGlzIHN1YmplY3QgdG8gY2hhbmdlLCBpZiB0aGlzIGRvY3VtZW50YXRpb24gaXMgZm91bmQgdG8gYmUgaW4gZXJyb3IgcGxlYXNlIHJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGFuZCB0ZW1wbGF0ZXMgb2YgdGhlIENvbXBhbnlEaXJlY3RvcnkgbW9kdWxlLjwvcD4KICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+aWR9PC9jb2RlPiAoaW50ZWdlcikgdW5pcXVlIGNvbXBhbnkgaWQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+Y29tcGFueV9uYW1lfTwvY29kZT4gKHN0cmluZykgVGhlIGNvbXBhbnkgbmFtZS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5hZGRyZXNzfTwvY29kZT4gKHN0cmluZykgVGhlIGNvbXBhbnkgYWRkcmVzcy48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT50ZWxlcGhvbmV9PC9jb2RlPiAoc3RyaW5nKSBUaGUgY29tcGFueSB0ZWxlcGhvbmUgbnVtYmVyLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmZheH08L2NvZGU+IChzdHJpbmcpIFRoZSBjb21wYW55IHRlbGVwaG9uZSBmYXguPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+Y29udGFjdF9lbWFpbH08L2NvZGU+IChzdHJpbmcpIEFuIGVtYWlsIGFkZHJlc3MgdG8gY29udGFjdCB0aGUgY29tcGFueS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT53ZWJzaXRlfTwvY29kZT4gKHN0cmluZykgQSB3ZWJzaXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcGFueS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5kZXRhaWxzfTwvY29kZT4gKEhUTUwgc3RyaW5nKSBUZXh0IGRlc2NyaXB0aW9uIGZvciB0aGUgY29tcGFueSByZWNvcmQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+cGljdHVyZV9sb2NhdGlvbn08L2NvZGU+IChzdHJpbmcpIE5hbWUgb2YgYW4gaW1hZ2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wYW55LjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmxvZ29fbG9jYXRpb259PC9jb2RlPiAoc3RyaW5nKSBOYW1lIG9mIGEgbG9nbyBpbWFnZSAod2ViIGZvcm1hdCkgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wYW55LjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmNyZWF0ZV9kYXRlfTwvY29kZT4gKHN0cmluZykgTXlTUUwgZm9ybWF0IGRhdGUgdGhhdCB0aGUgY29tcGFueSByZWNvcmQgd2FhIGluaXRpYWxseSBjcmVhdGVkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPm1vZGlmaWVkX2RhdGV9PC9jb2RlPiAoc3RyaW5nKSBNeVNRTCBmb3JtYXQgZGF0ZSB0aGF0IHRoZSBjb21wYW55IHJlY29yZCB3YWEgbGFzdCBjcmVhdGVkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmxhdGl0dWRlfTwvY29kZT4gKGZsb2F0KSBUaGUgbGF0aXR1ZGUgcG9ydGlvbiBvZiB0aGUgY29vcmRpbmF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVjb3JkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPmxvbmdpdHVkZX08L2NvZGU+IChmbG9hdCkgVGhlIGxvbmdpdHVkZSBwb3J0aW9uIG9mIHRoZSBjb29yZGluYXRlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZWNvcmQuPC9saT4KICAgICAgPGxpPjxjb2RlPnskY29tcGFueS0+b3duZXJfaWR9PC9jb2RlPiAoaW50ZWdlcikgVGhlIGZldV91aWQgKGlmIHBvc2l0aXZlKSBvZiB0aGUgb3duZXIgb2YgdGhlIHJlY29yZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5oaWVyX2lkfTwvY29kZT4gKGludGVnZXIpIFRoZSBpZCBvZiB0aGUgcG9zaXRpb24gaW4gdGhlIGhpZXJhcmNoeSB0byB3aGljaCB0aGlzIHJlY29yZCBpcyBhc3NvY2lhdGVkLjwvbGk+CiAgICAgIDxsaT48Y29kZT57JGNvbXBhbnktPnVybH08L2NvZGU+IChzdHJpbmcpIFRoZSB1bmlxdWUgdXJsIGZvciB0aGlzIHJlY29yZC48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5waWN0dXJlX3BhdGh9PC9jb2RlPiAoc3RyaW5nKSBUaGUgVVJMIHByZWZpeCB3aGVyZSB0aGUgY29tcGFueSBpbWFnZSBmaWxlIG1heSBiZSBmb3VuZCAoaWYgaXQgZXhpc3RzKS48L2xpPgogICAgICA8bGk+PGNvZGU+eyRjb21wYW55LT5sb2dvX3BhdGh9PC9jb2RlPiAoc3RyaW5nKSBUaGUgVVJMIHByZWZpeCB3aGVyZSB0aGUgY29tcGFueSBsb2dvIGZpbGUgYmUgZm91bmQgKGlmIGl0IGV4aXN0cykuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KPC91bD4KCgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KbG1fa2V5IwpsbV92YWwj]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/block.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPcBAAAAAP///////////////////8vLy8fHx8TExL+/v////////////////////////////////////9HR0c7OzsvLy8fHx+Xl5eTk5KysrLa2trKysq2trf///////////////////9HR0c7OzsrKysbGxsLCwt7e3t3d3bKysrGxsaysrKenp6Ojo////////////9DQ0Nzc3O3t7dvb28LCwr6+vtbW1tTU1LCwsKysrMvLy+fn57e3t4uLi////////8rKysTExNzc3NTU1NnZ2dvb29bW1tTU1NnZ2dLS0svLy8jIyHl5eXFxcf///////////8XFxdTU1MzMzMnJybq6upycnKGhocLCwsbGxsHBwbe3t4mJif///////8jIyMTExMDAwNjY2M3Nzby8vIKCgnd3d35+fq6ifNi+csTBuc3NzYyMjIeHh4ODg8TExOnp6dbW1snJyc7OzqWlpYSEhP///927W9q4XO3bq9G8iLq6usbGxt3d3Wtra7+/v+Li4tLS0sbGxs3NzbGxsZOTk////9u2VuvXpPv03NawWL21ocDAwNLS0mFhYaOjo4+Pj6CgoM/Pz8bGxszMzJ6enrSje9auUvjrtPjmju7dtcusa2ZlY1hYWFNTU////////6ysrMXFxcHBwcXFxcfHxsWqb+zZrPjjgsKIM/rtrM+eQ5mBVv///////////6urq6amptXV1cXFxcvLy9LFq9+9e/nqovbcYcKHMffhd/DetruOQnFrYv///////6SkpLy8vN7e3qampoWEgsCZUO/bq/fgdPXaWPXaWPXbXfjmkOHBkp94Pf///////////4GBgW9vb2RkZMKVRuHCjvnol/bcYfXbW8KIMvXbW/beavbnscKDLcGBK////////////29vb2pqasmROPbs3fnuvfjqrPjqq/jqq/jqq/jqrfvz1OTIpL57Jv///////////////////8WKMsOHMcCEML+CLsCAK8B/Kb99KL57Jr15Jb13I7x2IiH5BAEAAAAAIf8LSW1hZ2VNYWdpY2sKZ2FtbWE9MC40NQAsAAAAABAAEAAACP4AAQQQMIBAAQMHECRQsIBBAwcPIESQMIFCBQsXMGTQsIFDBw8fQIQQMYJECRMnUKRQsYJFCxcvYMSQMYNGDRs3cOTQsYNHDx8/gAQRMoRIESNHkCRRsoRJEydPoESRMoVKFStXsGTRsoVLFy9fwIQRM4ZMGTNn0KRRs4ZNGzdv4MSRM4dOHTt38OTRs4dPHz9/AAUSNIhQIUOHECVStIhRI0ePIEWSNIlSJUuXMGXStIlTJ0+fQIUSNYpUKVOnUKVStYpVK1evYMWSNYtWLVu3cOXStYtXL1+/gAUTNoxYMWPHkCVTtoxZM2fPoEWTNo1aNWvXsGXTto1bN2/fwCWFEzeOXDlz59ClU7eOXTt37+DFkzePXj179/Dl07ePXz9//wQEADs=]]></data>
	</file>
	<file>
	  <filename>/icons/email.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPcBAAAAAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3yayISk1XCX0GSPzGKOzGCOy12MyluLyViKyFaIx1OGxlCExU2CxE2DwUh5sitRjpGr1/j6/fH1/Pn8//n8//n8//n8//r8//r8//r8//v8//v9//z9//P2++rv+EN3q3ud0/L2+5a049zo+e71/trp/dzq/d7s/eHt/eTv/ufx/vb6/+Dq+YWq4tnk8VCMyHCW0Pn7/bHN8Za1497p+fH3/uHt/eTv/ufx/urz/vf6/+Ps+Yqu4pW88Oz0+FCMyGaOzPn7/dPl/bLM8Za14+Dq+fX5/+rz/u30/vn7/+Xt+Y2w457B8LfX/O3z+FCMyFuGyfn7/dfo/dTm/avG7Ymq3OPs+fn7//r8/+bu+Yeo3Jy/7cDb/MDb/O3z+FCMyFB9xfn7/djp/dDh+bPK66fF7Ji2493n997o95e246TD7KnF6sLa+Mbf/O3z+FCNyEZ2wvj7/dLj+bnP7NDh+Nbn/b3V9KC/6aK/6b3T9NTm/cne97DK68Tb+Ozy+FCMyTxvvvX5/LzQ7Nbk+d/s/t/r/t7r/tvr/tzr/t3q/tvq/djo/c3g+LPL6uPr81CLxzFdo+7z+OTs9fD1+/H3+/P3+/T4+/X5/PX5/Pb5/Pf5/Pf6/Pf6/Ozx98zZ6kJ2qytRjjFjsDhwuzx3vkB7wUJ+wkWAwkeCw0mGw0qGw0uHw0uHw0yHw0mDvUB0rCtRjv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAAAIf8LSW1hZ2VNYWdpY2sKZ2FtbWE9MC40NQAsAAAAABAAEAAACP4AAQQQMIBAAQMHECRQsIBBAwcPIESQMIFCBQsXMGTQsIFDBw8fQIQQMYJECRMnUKRQsYJFCxcvYMSQMYNGDRs3cOTQsYNHDx8/gAQRMoRIESNHkCRRsoRJEydPoESRMoVKFStXsGTRsoVLFy9fwIQRM4ZMGTNn0KRRs4ZNGzdv4MSRM4dOHTt38OTRs4dPHz9/AAUSNIhQIUOHECVStIhRI0ePIEWSNIlSJUuXMGXStIlTJ0+fQIUSNYpUKVOnUKVStYpVK1evYMWSNYtWLVu3cOXStYtXL1+/gAUTNoxYMWPHkCVTtoxZM2fPoEWTNo1aNWvXsGXTto1bN2/fwCWFEzeOXDlz59ClU7eOXTt37+DFkzePXj179/Dl07ePXz9//wQEADs=]]></data>
	</file>
	<file>
	  <filename>/icons/error.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIsSURBVDjLpVNLSJQBEP7+h6uu62vLVAJDW1KQTMrINQ1vPQzq1GOpa9EppGOHLh0kCEKL7JBEhVCHihAsESyJiE4FWShGRmauu7KYiv6Pma+DGoFrBQ7MzGFmPr5vmDFIYj1mr1WYfrHPovA9VVOqbC7e/1rS9ZlrAVDYHig5WB0oPtBI0TNrUiC5yhP9jeF4X8NPcWfopoY48XT39PjjXeF0vWkZqOjd7LJYrmGasHPCCJbHwhS9/F8M4s8baid764Xi0Ilfp5voorpJfn2wwx/r3l77TwZUvR+qajXVn8PnvocYfXYH6k2ioOaCpaIdf11ivDcayyiMVudsOYqFb60gARJYHG9DbqQFmSVNjaO3K2NpAeK90ZCqtgcrjkP9aUCXp0moetDFEeRXnYCKXhm+uTW0CkBFu4JlxzZkFlbASz4CQGQVBFeEwZm8geyiMuRVntzsL3oXV+YMkvjRsydC1U+lhwZsWXgHb+oWVAEzIwvzyVlk5igsi7DymmHlHsFQR50rjl+981Jy1Fw6Gu0ObTtnU+cgs28AKgDiy+Awpj5OACBAhZ/qh2HOo6i+NeA73jUAML4/qWux8mt6NjW1w599CS9xb0mSEqQBEDAtwqALUmBaG5FV3oYPnTHMjAwetlWksyByaukxQg2wQ9FlccaK/OXA3/uAEUDp3rNIDQ1ctSk6kHh1/jRFoaL4M4snEMeD73gQx4M4PsT1IZ5AfYH68tZY7zv/ApRMY9mnuVMvAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/export.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAN0AAP///729vczMzHx8fJmZmdbW1rS3u+bm5t3u3e3t7YyMjLW1tYSEhN/f36OkrZSUlKOlppSam7y+xaSotZucq5qso5+qq5OinMvM3d7e77i5yqm+r5uhm8rWyre9xcXFxZ+mpuDm7Jafo9fX6cfUx7rEutPh066/ta+vr6y4tLy8zrC8u8nJ27S0xbK7vtbm19LY3snM2Obm98PK0LnLvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAAAALAAAAAAQABAAAAaaQABAECgajwKh0JBoFAqSloo1ki2UAMOBGHBQJhpM5qrUcr1gMXm5LaI9sdAa0CDYFYO8wl7AMp1QBh4zMHJ+bV0iFi4QBCiHZ4orDwgPSWxcIBGbDx0ICpd1dwocJSYIqJ9CC01PBpoKDCQIDB+riBAXFRsDCAO2QhC4uht4HEIJBwStUCknNB0vBAcJCQUPDAx52wPZDwUJQQA7]]></data>
	</file>
	<file>
	  <filename>/icons/view.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAO4AAPf398/f7+bm5ubv9s/P1NfX16Wlpu/v79bm9K2tr8jf8N7p9Ly8vN/f38bGxr3V6FSk5M7j8r3Fxd3u+MbGz8vi9dHc54SEhVKf4URtjHadwIiIi9Xj8bi4uMTL0lib1IanvpaWlr/Fy9HR3XO09BpNcCNcixxMbpmyz8/m9DiIzxpHZczMzHenzsXN1Nra6lWGr1um34K++E1+rUyn8czY5NTg7HWWsiBZh5iyzipxqqrC17i4vLzW7OTr8i9bgbnT53Oz8VKi3EWV3W++9DBLZW+gzDKAwZGesDZvogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAAAALAEAAAAPABAAAAe5gACCgwAFDgwOBYSEAhIuHAM+BBICiwcMNQEDmwMWDAeEBB4BC5wDCx4EhB0WAa6vATYdhAmvCxW4CxwJtK0ICggIEykPvIMOIg/AwRMTIEiMBjs9CgoREQ8ZMIMCBglFN0DYID86SYINBjwbGTglKycmKjQzhQYUFwU5RxD9GERCUDgwMOICC0FGhpCQESRGCwAGXmxgMKiBhg8YPmhoAEDChRAECBQYSYACBQINKglYufKAS1CLAgEAOw==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKJGxhbmdbJ2FkZGVkaXRfY2FtcGFpZ25saXN0X3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBDYW1wYWlnbiBMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZGFzaGJvYXJkX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBEYXNoYm9hcmQgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9rZXl3b3JkZm9ybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgS2V5d29yZCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZm9ybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgTGVhZCBHZW5lcmF0aW9uIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF92aWV3Y2FtcGFpZ25fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIENhbXBhaWduIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF92aWV3bGVhZF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgTGVhZCBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbHknOwoKI0IKJGxhbmdbJ2JhY2snXSA9ICdiYWNrJzsKCiNDCiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY2xvc2UnXSA9ICdDbG9zZSc7CiRsYW5nWydjb25maXJtMSddID0gJ1llcywgSSBhbSBzdXJlJzsKJGxhbmdbJ2NvbmZpcm0yJ10gPSAnWWVzLCBJIGFtIHJlYWxseSBzdXJlJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2NhbXBhaWduJ10gPSAnQ29uZmlybSBjYW1wYWlnbiBkZWxldGlvbic7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9maWVsZHR5cGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZmllbGR0eXBlPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9maWVsZHR5cGVfbGVhZGRhdGEnXSA9ICdEbyB5b3Ugd2FudCB0byBkZWxldGUgYWxsIG9mIHRoZSBsZWFkIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZmllbGR0eXBlPyc7CiRsYW5nWydjb25maXJtX21hcmtiYWQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbWFyayB0aGUgdXNlciBhZ2VudCBhc3NvY2lhdGVkIHdpdGggdGhpcyBsZWFkLCBhbmQgdGhlIGxlYWQgaXRzZWxmIGFzIGJhZD9cblxuSWYgeW91IGNvbnRpbnVlIHRoaXMgdXNlciBhZ2VudCB3aWxsIG5vIGxvbmdlciBiZSBhYmxlIHRvIHN1Ym1pdCBsZWFkcy5cblxuUGxlYXNlIG9ubHkgdXNlIHRoaXMgYWN0aW9uIHRvIGluZGljYXRlIGEgc3BhbSBib3QsIGFuZCBub3QgYSBsaXZlIHBlcnNvbi4nOwoKI0QKCiNFCiRsYW5nWydlcnJvcl9jYW1wYWlnbl9leHBpcmVkJ10gPSAnVGhlIHNwZWNpZmllZCBjYW1wYWlnbiBoYXMgZXhwaXJlZCc7CiRsYW5nWydlcnJvcl9maWVsZHR5cGVfZGVsZXRlaW51c2UnXSA9ICdBIGZpZWxkIHR5cGUgdGhhdCBpcyBjdXJyZW50bHkgaW4gdXNlIGJ5IGFuIGFjdGl2ZSBjYW1wYWlnbiBjYW5ub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydlcnJvcl9mbG9vZGluZyddID0gJ0Zsb29kaW5nIGF0dGVtcHQgZGV0ZWN0ZWQuICBQbGVhc2UsIHRha2UgYSBicmVhaywgaGF2ZSBhIGRyaW5rIGFuZCB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2xlYWRfc3RhdHVzJ10gPSAnTGVhZCBzdGF0dXMgaXMgaW52YWxpZCBmb3IgdGhpcyBvcGVyYXRpb24nOwokbGFuZ1snZXJyb3Jfa2V5d29yZG1pc21hdGNoJ10gPSAnV2UgYXJlIHNvcnJ5LCBidXQgd2UgY291bGQgbm90IGZpbmQgYW4gYWN0aXZlIGNhbXBhaWduIGZvciB0aGUga2V5d29yZCB5b3Ugc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX2xvYWRjb21wYW55J10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIGxvYWRpbmcgZGV0YWlscyBhYm91dCB0aGUgY29tcGFueSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjYW1wYWlnbic7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX25vYm90c3BsZWFzZSddID0gJ3JvYm90cyBjYW5ub3Qgc3VibWl0IHRoaXMgZm9ybSc7CiRsYW5nWydlcnJvcl9ub2NhbXBhaWducyddID0gJ1RoZXJlIGFyZSBubyBhY3RpdmUgY2FtcGFpZ25zIGZvciB5b3VyIGNvbXBhbmllcyc7CiRsYW5nWydlcnJvcl9ub2NvbXBhbmllcyddID0gJ1NvcnJ5LCBpdCBhcHBlYXJzIHRoYXQgeW91IGFyZSBub3QgdGhlIG93bmVyIGZvciBhbnkgYWN0aXZlIGNvbXBhbmllcyc7CiRsYW5nWydlcnJvcl9ub2tleXdvcmQnXSA9ICdQbGVhc2UgZW50ZXIgYSBrZXl3b3JkJzsKJGxhbmdbJ2Vycm9yX25vcm9ib3RzcGxlYXNlJ10gPSAnT29vcHMuICBTb3JyeSwgaXQgYXBwZWFycyB0aGF0IHlvdXIgYnJvd3NlciBoYXMgYmVlbiBpZGVudGlmaWVkIGFzIGEgcm9ib3QuLi4gUGxlYXNlIHRyeSBhZ2FpbiB3aXRoIGEgZGlmZmVyZW50IGJyb3dzZXIuICBJZiB0aGlzIGlzIGFuIGVycm9yIHBsZWFzZSBjb250YWN0IHRoZSBzaXRlIGFkbWluaXN0cmF0b3InOwokbGFuZ1snZXJyb3Jfbm9wZXJtaXNzaW9uJ10gPSAnU29ycnksIHlvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgdGhpcyBkYXRhJzsKJGxhbmdbJ2Vycm9yX25vdGNvbmZpcm1lZCddID0gJ1NvcnJ5LCB0aGlzIGFjdGlvbiB3YXMgbm90IGNvcnJlY3RseSBjb25maXJtZWQuLi4gQ2FuY2VsbGVkJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluJ10gPSAnU29vcnJ5LCB5b3UgbXVzdCBiZSBsb2dnZWQgaW4gdG8gdGhlIHdlYnNpdGUgaW4gb3JkZXIgdG8gdXNlIHRoaXMgYWN0aW9uJzsKJGxhbmdbJ2Vycm9yX25vdXNlcmFnZW50J10gPSAnQ291bGQgbm90IGZpbmQgdGhlIHVzZXIgYWdlbnQnOwokbGFuZ1snZXh0ZXJuYWxfdXJsJ10gPSAnRXh0ZXJuYWwgVVJMJzsKCiNGCiRsYW5nWydmaWVsZF9jaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ2ZpZWxkX2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snZmllbGRfcmFkaW9ncnAnXSA9ICdSYWRpbyBCdXR0b24gR3JvdXAnOwokbGFuZ1snZmllbGRfbXVsdGlzZWwnXSA9ICdNdWx0aVNlbGVjdCBGaWVsZCc7CiRsYW5nWydmaWVsZF90ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7CiRsYW5nWydmaWVsZF90ZXh0Ym94J10gPSAnVGV4dCBGaWVsZCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdMZWFkIE1hbmFnZXInOwoKI0cKCiNICiRsYW5nWydoZWFkaW5nX2FjdGl2ZV9jYW1wYWlnbnMnXSA9ICdBY3RpdmUgQ2FtcGFpZ25zIGZvciB5b3VyIENvbXBhbmllcyc7CiRsYW5nWydoZWFkaW5nX3Vudmlld2VkX2xlYWRzJ10gPSAnVW52aWV3ZWQgbGVhZHMnOwoKI0kKJGxhbmdbJ2luZm9fYXV0b2NvbXBsZXRlX2NvbXBhbnknXSA9ICdFbnRlciBhIGNvbXBhbnkgbmFtZSwgdGhpcyBpcyBhbiBhdXRvY29tcGxldGUgZmllbGQuLi4gYmVnaW4gdHlwaW5nIGEgcG9ydGlvbiBvZiBhIGNvbXBhbnkgbmFtZSBhbmQgYW55IG1hdGNoZXMgdGhhdCBhcmUgZGV0ZWN0ZWQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gYSBzZWxlY3RhYmxlIGxpc3QnOwokbGFuZ1snaW5mb19jb21wbGV0ZWNvdW50J10gPSAnJWQgbGVhZHMgdmlld2VkJzsKJGxhbmdbJ2luZm9fZGVsZXRlX2NhbXBhaWduJ10gPSAnPHN0cm9uZyBzdHlsZT0iY29sb3I6IHJlZDsiPlVzZSBleHRyZW1lIGNhdXRpb248L3N0cm9uZz48YnIvPkRlbGV0aW5nIGEgY2FtcGFpZ24gd2lsbCBhbHNvIGRlbGV0ZSBhbGwgbGVhZHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW1wYWlnbic7CiRsYW5nWydpbmZvX2NhbXBhaWduX2F0dGFjaG1lbnRzJ10gPSAnVXBsb2FkIHBkZiBhbmQgd29yZCBkb2N1bWVudHMgYXBwcm9wcmlhdGUgZm9yIHRoaXMgY2FtcGFpZ24uICBMaW5rcyB0byB2aWV3IG9yIGRvd25sb2FkIGF0dGFjaG1lbnRzIG1heSBiZSBkaXNwbGF5ZWQgIG9uIHRoZSBsZWFkIGdlbmVyYXRpb24gZm9ybSwgb3IgaW4gdGhlIGRlYWxlcnNoaXAgcmVwb3J0IGFyZWEuIEZpbGVzIGNhbiBiZSBkcm9wcGVkIGluIHRoaXMgYXJlYSBmcm9tIHlvdXIgZmlsZSBtYW5hZ2VyLiAgVXBsb2FkZWQgYW5kIGRlbGV0ZWQgaW1hZ2VzIHRha2UgaW1tZWRpYXRlIGVmZmVjdCBpbiB0aGUgY2FtcGFpZ24uJzsKJGxhbmdbJ2luZm9fY2FtcGFpZ25fZGVzY3JpcHRpb24nXSA9ICdPcHRpb25hbGx5IHByb3ZpZGUgYSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBjYW1wYWlnbic7CiRsYW5nWydpbmZvX2NhbXBhaWduX2ZpZWxkcyddID0gJ0RlZmluZSBtdWx0aXBsZSBmaWVsZHMgZm9yIGRpc3BsYXkgaW4gdGhlIGxlYWQgZ2F0aGVyaW5nIGZvcm0uICBDaGFuZ2VzIHRvIGZpZWxkcyBhcmUgaW5zdGFudGFuZW91c2x5IHNhdmVkIHdpdGggdGhlIGNhbXBhaWduLiAgWW91IGNhbiByZS1vcmRlciBmaWVsZHMgYnkgZHJhZ2dpbmcgYW5kIGRyb3BwaW5nIHRoZW0nOwokbGFuZ1snaW5mb19jYW1wYWlnbl9pbWFnZXMnXSA9ICdVcGxvYWQgaW1hZ2VzIGZvciB0aGlzIGNhbXBhaWduLiAgSW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FtcGFpZ24gY2FuIGJlIGRpc3BsYXllZCBvbiB0aGUgbGVhZCBnZW5lcmF0aW9uIGZvcm0uICBJbWFnZXMgY2FuIGJlIGRyb3BwZWQgaW4gdGhpcyBhcmVhIGZyb20geW91ciBmaWxlIG1hbmFnZXIuICBVcGxvYWRlZCBhbmQgZGVsZXRlZCBpbWFnZXMgdGFrZSBpbW1lZGlhdGUgZWZmZWN0IGluIHRoZSBjYW1wYWlnbi4nOwokbGFuZ1snaW5mb19jYW1wYWlnbl9rZXl3b3JkJ10gPSAnVGhlIGNhbXBhaWduIGtleXdvcmQgaXMgdXNlZCBpbiB0aGUgY2FtcGFpZ24gc2VhcmNoIGFjdGlvbiB0byBmaW5kIGFuIGFjdGl2ZSBjYW1wYWlnbiB3aXRoIHRoZSBzcGVjaWZpZWQga2V5d29yZC4gIEl0IHNob3VsZCBiZSBhIHNpbmdsZSB3b3JkIHdpdGhvdXQgc3BhY2VzLic7CiRsYW5nWydpbmZvX2NhbXBhaWduX25hbWUnXSA9ICdFbnRlciBhIG5hbWUgZm9yIHRoaXMgY2FtcGFpZ24nOwokbGFuZ1snaW5mb19kZWxldGVfZmllbGR0eXBlJ10gPSAnPHN0cm9uZyBzdHlsZT0iY29sb3I6cmVkOyI+VXNlIGV4dHJlbWUgY2F1dGlvbjwvc3Ryb25nPjxici8+RGVsZXRpbmcgYSBmaWVsZCB0eXBlIHdpbGwgYWxzbyBkZWxldGUgYWxsIG9mIHRoZSBmaWVsZHMgdXNpbmcgdGhpcyB0eXBlIGZyb20gYWxsIGNhcGFpZ25zLiAgQWRkaXRpb25hbGx5LCB5b3UgY2FuIGFsc28gZGVsZXRlIHRoZSBsZWFkIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZmllbGR0eXBlLic7CiRsYW5nWydpbmZvX2VuZGRhdGUnXSA9ICdUaGUgY2FtcGFnaW4gd2lsbCBlbmQgYXQgMjM6NTkgb24gdGhpcyBkYXkuICBBbnkgbGVhZHMgZW50ZXJlZCBiZWZvcmUgdGhpcyB0aW1lIHdpbGwgYmUgaWdub3JlZCc7CiRsYW5nWydpbmZvX2ZpZWxkX25hbWUnXSA9ICdUaGUgZmllbGQgbmFtZSBtdXN0IGNvbnNpc3Qgb2Ygb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdGhlIHVuZGVyc2NvcmUuICBBbmQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyLic7CiRsYW5nWydpbmZvX2ZpZWxkX3Byb21wdCddID0gJ1RoZSBmaWVsZCBwcm9tcHQgaXMgYSBodW1hbiByZWFkYWJsZSBwcm9tcHQgZm9yIHRoaXMgZmllbGQnOwokbGFuZ1snaW5mb19maWVsZHR5cGVzJ10gPSAnSGVyZSB5b3UgY2FuIGRlZmluZSBmaWVsZHMgdGhhdCBjYW4gYmUgcmUtdXNlZCBpbiBhbnkgY2FtcGFpZ24nOwokbGFuZ1snaW5mb19maW5pc2hlZCddID0gJ1RoaXMgc2VjdGlvbiBjb250YWlucyBzZXR0aW5ncyBjb250cm9sbGluZyB3aGF0IHRvIGRvIGFmdGVyIGEgbGVhZCBpcyBnZW5lcmF0ZWQnOwokbGFuZ1snaW5mb19mbG9vZF90aW1lb3V0J10gPSAnVGhlIHRpbWVvdXQgKGluIG1pbnV0ZXMpIGJldHdlZW4gd2hpY2ggbGVhZHMgZnJvbSB0aGUgc2FtZSBJUCBhZGRyZXNzIHdpbGwgYmUgYWxsb3dlZC4gIDAgaW5kaWNhdGVzIG5vIGxpbWl0JzsKJGxhbmdbJ2luZm9fZm9ybV90ZW1wbGF0ZXMnXSA9ICdGb3JtIHRlbXBsYXRlcyBhcmUgdXNlZCB0byBkaXNwbGF5IHRoZSBsZWFkIGdlbmVyYXRpb24gZm9ybS4gIFRoZXkgYXJlIGNhcGFiaWxlIG9mIGRpc3BsYXlpbmcgYW55IGluZm9ybWF0aW9uIGZyb20gdGhlIGNhbXBhaWduIChpbmNsdWRpbmcgaW1hZ2VzKS4gIElmIG5vIHRlbXBsYXRlIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FtcGFpZ24sIG9yIGl0IG5vIGxvbmdlciBleGlzdHMgdGhlbiB0aGUgZGVmYXVsdCB0ZW1wbGF0ZSBpcyB1c2VkLic7CiRsYW5nWydpbmZvX2tleXdvcmRfdGVtcGxhdGVzJ10gPSAnVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIHRvIGRpc3BsYXkgYSBmb3JtIGFsbG93aW5nIHRoZSB2aXNpdG9yIHRvIGVudGVyIGEga2V5d29yZCB0byBmaW5kIGFuIGFjdGl2ZSBjYW1wYWlnbic7CiRsYW5nWydpbmZvX2NhbXBhaWdubGlzdF90ZW1wbGF0ZXMnXSA9ICdUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgdG8gZGlzcGxheSBhIGxpc3Qgb2YgY2FtcGFpZ25zIChwYXN0IGFuZCBwcmVzZW50KSBmb3IgYXV0aG9yaXplZCBjb21wYW55IG93bmVycyB0byB2aWV3IGluZm9ybWF0aW9uIGFib3V0IGNhbXBhaWducy4nOwokbGFuZ1snaW5mb19kYXNoYm9hcmRfdGVtcGxhdGVzJ10gPSAnVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIHRvIGRpc3BsYXkgYSBkYXNoYm9hcmQgYWxsb3dpbmcgYXV0aG9yaXplZCBjb21wYW55IG93bmVycyB0byB2aWV3IGluZm9ybWF0aW9uIGFib3V0IGFjdGl2ZSBjYW1wYWlnbnMuJzsKJGxhbmdbJ2luZm9fbm90aWZ5bGVhZHMnXSA9ICdUaGlzIHNlY3Rpb24gY29udHJvbHMgaG93IG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgb3V0IGZvciBuZXcgbGVhZHMnOwokbGFuZ1snaW5mb19sZWFkY29uZmlybSddID0gJ1RoaXMgc2VjdGlvbiBoYW5kbGVzIHRoZSBjb25maXJtYXRpb24gb2YgbGVhZHMsIGluY2x1ZGluZyB0aGUgZW1haWwgKGlmIGFueSkgdGhhdCBpcyBzZW50IHRvIHRoZSBndWVzdCBzdWJtaXR0aW5nIGxlYWRzLic7CiRsYW5nWydpbmZvX29wdGlvbnRleHQnXSA9ICdTcGVjaWZ5IG9uZSBvcHRpb24gcGVyIGxpbmUsIHNlcGFyYXRlIHZhbHVlcyBmcm9tIGxhYmVscyB3aXRoIGFuID0sIHZhbHVlcyBhcmUgY2FzZSBzZW5zaXRpdmUuICBpLmU6IGY9RmVtYWxlJzsKJGxhbmdbJ2luZm9fb3B0aW9udGV4dDInXSA9ICdGb3Igc2ltcGxlIGZpZWxkcyB5b3UgbXVzdCBzcGVjaWZ5IGF0IGxlYXN0IG9uZSBvcHRpb24uICBGb3IgZXh0ZW5kZWQgZmllbGQgdHlwZXMgbGVhdmluZyB0aGlzIGZpZWxkIGVtcHR5IHdpbGwgZGVmYXVsdCB0byB1c2luZyB0aGUgb3B0aW9ucyBmcm9tIHRoZSBmaWVsZCB0eXBlJzsKJGxhbmdbJ2luZm9fcHJlZl9jYW1wYWlnbnBhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIElEIG9yIGFsaWFzIG9mIHRoZSBwYWdlIHdoZXJlIGNhbXBhaWducyAoYW5kIHRoZSBsZWFkIGdlbmVyYXRpb24gZm9ybSkgYXJlIG5vcm1hbGx5IGRpc3BsYXllZCc7CiRsYW5nWydpbmZvX3ByZWZfbm9sb2dpbl9yZWRpcmVjdCddID0gJ0lmIGF0dGVtcHRpbmcgdG8gdmlldyBhIHNlY3VyZSBhY3Rpb24gd2hlbiBub3QgbG9nZ2VkIGluLCBzcGVjaWZ5IGEgcGFnZSBpZCBvciBhbGlhcyB0byByZWRpcmVjdCB0byc7CiRsYW5nWydpbmZvX3ByZWZfdXJscHJlZml4J10gPSAnU3BlY2lmeSB0aGUgcHJlZml4IGZvciBldmVyeSBwcmV0dHkgdXJsIGNyZWF0ZWQgYnkgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19yZXF1aXJlZCddID0gJ1JlcXVpcmVkIGZpZWxkcyBtdXN0IGJlIGNvbXBsZXRlZCBieSBsZWFkcyc7CiRsYW5nWydpbmZvX3N0YXJ0ZGF0ZSddID0gJ1RoZSBjYW1wYWdpbiB3aWxsIHN0YXJ0IGF0IDA6MDEgb24gdGhpcyBkYXkuICBBbnkgbGVhZHMgZW50ZXJlZCBiZWZvcmUgdGhpcyB0aW1lIHdpbGwgYmUgaWdub3JlZCc7CiRsYW5nWydpbmZvX3N5c2RlZmF1bHRfdGVtcGxhdGUnXSA9ICdQcm90b3R5cGUgdGVtcGxhdGVzIGFyZSB1c2VkIHdoZW4gY3JlYXRpbmcgYSBuZXcgdGVtcGxhdGUgb2YgdGhhdCB0eXBlLiAgQ2hhbmdpbmcgdGhlc2UgdGVtcGxhdGVzIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIHlvdXIgd2Vic2l0ZSc7CiRsYW5nWydpbmZvX3Vudmlld2VkX2xlYWRzJ10gPSAnWW91IGhhdmUgYSB0b3RhbCBvZiAlZCB1bnZpZXdlZCBsZWFkcyBmb3IgYWN0aXZlIGNhbXBhaWducy4gIE9ubHkgdGhlIGxhdGVzdCAyNSBhcmUgZGlzcGxheWVkJzsKJGxhbmdbJ2luZm9fdW52aWV3ZWRjb3VudCddID0gJyVkIGxlYWRzIG5vdCB5ZXQgdmlld2VkJzsKJGxhbmdbJ2luZm9fdmlld19sZWFkJ10gPSAnVGhlIHZhbHVlcyBhdmFpbGFibGUgZm9yIGVhY2ggaW5kaXZpZHVhbCBsZWFkIG1heSB2YXJ5IGJ5IHRoZSBmaWVsZHMgc3BlY2lmaWVkIGluIHRoZSBjYW1wYWlnbiwgdGhlIGRhdGEgZW50ZXJlZCBieSB0aGUgdXNlciwgYW5kIG90aGVyIGZhY3RvcnMnOwokbGFuZ1snaW5mb192aWV3Y2FtcGFpZ25fdGVtcGxhdGVzJ10gPSAnVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIHRvIGRpc3BsYXkgZGV0YWlscyBhYm91dCBhIHNpbmdsZSBjYW1wYWlnbic7CiRsYW5nWydpbmZvX3ZpZXdsZWFkX3RlbXBsYXRlcyddID0gJ1RoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCB0byBkaXNwbGF5IGRldGFpbHMgYWJvdXQgYSBzaW5nbGUgbGVhZCBhbmQgYWxsb3cgbWluaW1hbCBpbnRlcmFjdGlvbic7CgojSgoKI0sKCiNMCgojTQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIHNpbXBsZSwgc29tZXdoYXQgZ2VuZXJpYyBsZWFkIG1hbmFnZW1lbnQgbWVjaGFuaXNtJzsKJGxhbmdbJ21zZ19jYW1wYWlnbl9jb3BpZWQnXSA9ICdDYW1wYWlnbiBjb3BpZWQnOwokbGFuZ1snbXNnX2NhbXBhaWduX2RlbGV0ZWQnXSA9ICdDYW1wYWlnbiBkZWxldGVkJzsKJGxhbmdbJ21zZ19jYW1wYWlnbl9sZWFkY291bnQnXSA9ICdUaGVyZSBhcmUgYSB0b3RhbCBvZiAlZCBsZWFkcyBmb3IgdGhpcyBjYW1wYWlnbic7CiRsYW5nWydtc2dfY2FtcGFpZ25fbm9sZWFkcyddID0gJ1RoZXJlIGFyZSBubyBsZWFkcyBmb3IgdGhpcyBjYW1wYWlnbiBhdCB0aGlzIHRpbWUnOwokbGFuZ1snbXNnX2NhbXBhaWduX3NhdmVkJ10gPSAnQ2FtcGFpZ24gc2F2ZWQnOwokbGFuZ1snbXNnX2NhbmNlbGxlZCddID0gJ09wZXJhdGlvbiBjYW5jZWxsZWQnOwokbGFuZ1snbXNnX2ZpZWxkc2F2ZWQnXSA9ICdGaWVsZCBzYXZlZCc7CiRsYW5nWydtc2dfZmllbGR0eXBlZGVsZXRlZCddID0gJ0ZpZWxkIHR5cGUgZGVsZXRlZCc7CiRsYW5nWydtc2dfZmllbGR0eXBlc2F2ZWQnXSA9ICdGaWVsZCB0eXBlIHNhdmVkJzsKJGxhbmdbJ21zZ19sZWFkX2RlbGV0ZWQnXSA9ICdMZWFkIGRlbGV0ZWQnOwokbGFuZ1snbXNnX2xlYWRfbWFya2Vkdmlld2VkJ10gPSAnVGhpcyBsZWFkIGhhcyBub3cgYmVlbiBtYXJrZWQgYXMgJnF1b3Q7dmlld2VkJnF1b3Q7JzsKJGxhbmdbJ21zZ19sZWFkX21hcmtlZGJhZCddID0gJ1RoaXMgbGVhZCBoYXMgbm93IGJlZW4gbWFya2VkIGFzICZxdW90O2JhZCZxdW90OyBhbmQgdGhlIHVzZXIgYWdlbnQgYmxvY2tlZCc7CiRsYW5nWydtc2dfbm90aWZpY2F0aW9uX3NlbnQnXSA9ICdOb3RpZmljYXRpb24gc2VudCc7CiRsYW5nWydtc2dfbm9fbGVhZHMnXSA9ICdPb3BzLi4uIHdlIGNvdWxkIG5vdCBmaW5kIGFueSBsZWFkcyB5ZXQgZm9yIHRoaXMgY2FtcGFpZ24nOwokbGFuZ1snbXNnX3ByZWZzX3VwZGF0ZWQnXSA9ICdQcmVmZXJlbmNlcyB1cGRhdGVkJzsKJGxhbmdbJ21zZ190ZW1wbGF0ZV9yZXNldCddID0gJ1RlbXBsYXRlIHJlc2V0JzsKJGxhbmdbJ21zZ191YV9ibG9ja2VkJ10gPSAnVXNlciBhZ2VudCBibG9ja2VkJzsKCiNOCiRsYW5nWyduZXh0J10gPSAnTmV4dCc7CgojTwokbGFuZ1snb2snXSA9ICdPayc7CgojUAokbGFuZ1sncGFyYW1fY2FtcGFpZ24nXSA9ICcoaW50ZWdlcikgLSBVc2VkIGZvciB0aGUgZmVfbGVhZCwgdmlld19sZWFkLCB2aWV3X2NhbWFpZ24sIGFuZCBleHBvcnRfY2FtcGFpZ24gYWN0aW9ucyB0byBzcGVjaWZ5IHRoZSBsZWFkIHRvIG9wZXJhdGUgd2l0aC4nOwokbGFuZ1sncGFyYW1fY2FtcGFpZ25wYWdlJ10gPSAnKHN0cmluZykgLSBUaGUgcGFnZSBJRCBvciBhbGlhcyB0byBkaXNwbGF5IHRoZSBsZWFkIGdlbmVyYXRpb24gZm9ybSBvbi4gIERlZmF1bHQgdmFsdWUgaXMgYSBwcmVmZXJlbmNlIHNwZWNpZmllZCBpbiB0aGUgbW9kdWxlcyBhZG1pbiBwYW5lbCwgb3IgdGhlIGN1cnJlbnQgcGFnZSBpZiBub3Qgb3RoZXJ3aXNlIHNwZWNpZmllZCc7CiRsYW5nWydwYXJhbV9jYW1wYWlnbnRlbXBsYXRlJ10gPSAnKHN0cmluZykgLSBVc2UgYSBkaWZmZXJlbnQgdGVtcGxhdGUgZm9yIHRoZSBsZWFkIGdlbmVyYXRpb24gc3RlcCB0aGFuIHRoYXQgc3BlY2lmaWVkIHdpdGggdGhlIHRlbXBsYXRlIChvciB0aGUgZGVmYXVsdCknOwokbGFuZ1sncGFyYW1fY2FtcGFpZ25saXN0dGVtcGxhdGUnXSA9ICcoc3RyaW5nKSAtIFNwZWNpZnkgYSBkaWZmZXJlbnQgdGVtcGxhdGUgZm9yIHRoZSBjYW1wYWlnbiBsaXN0IHZpZXcgdGhhbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoaXMgdHlwZSc7CiRsYW5nWydwYXJhbV9kYXNoYm9hcmR0ZW1wbGF0ZSddID0gJyhzdHJpbmcpIC0gU3BlY2lmeSBhIGRpZmZlcmVudCB0ZW1wbGF0ZSBmb3IgdGhlIGRhc2hib2FyZCByZXBvcnQgdGhhbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoaXMgdHlwZSc7CiRsYW5nWydwYXJhbV9rZXl3b3JkdGVtcGxhdGUnXSA9ICcoc3RyaW5nKSAtIFVzZSBhIGRpZmZlcmVudCB0ZW1wbGF0ZSBmb3IgdGhlIGtleXdvcmQgZm9ybSB0aGFuIHRoZSBjdXJyZW50IGRlZmF1bHQga2V5d29yZCB0ZW1wbGF0ZSc7CiRsYW5nWydwYXJhbV9sZWFkJ10gPSAnKGludGVnZXIpIC0gVXNlZCBmb3IgdGhlIHZpZXdfbGVhZCBhY3Rpb24gdG8gc3BlY2lmeSB0aGUgbGVhZC4nOwokbGFuZ1sncGFyYW1fdmlld2NhbXBhaWdudGVtcGxhdGUnXSA9ICcoc3RyaW5nKSAtIFNwZWNpZnkgYSBkaWZmZXJlbnQgdGVtcGxhdGUgZm9yIHRoZSBjYW1wYWlnbiB2aWV3IHJlcG9ydCB0aGFuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhpcyB0eXBlJzsKJGxhbmdbJ3BhcmFtX3ZpZXdsZWFkdGVtcGxhdGUnXSA9ICcoc3RyaW5nKSAtIFNwZWNpZnkgYSBkaWZmZXJlbnQgdGVtcGxhdGUgZm9yIHRoZSBsZWFkIHZpZXcgcmVwb3J0IHRoYW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGlzIHR5cGUnOwokbGFuZ1sncGhfa2V5d29yZCddID0gJ0VudGVyIGEga2V5d29yZCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBMZWFkTWFuYWdlciBtb2R1bGUgaGFzIGJlZW4gaW5zdGFsbGVkLiAgUGxlYXNlIHZpc2l0IGFuZCBjb25maWd1cmUgdGhlIG1vZHVsZXMgYWRtaW4gcGFuZWwnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBMZWFkTWFuYWdlciBtb2R1bGUgaGFzIGJlZW4gdW5pbnN0YWxsZWQgYW5kIGFsbCBhc3NvY2lhdGVkIGRhdGEgcmVtb3ZlZCc7CiRsYW5nWydwcmVmX2Jsb2NrZWRfdXNlcmFnZW50cyddID0gJ0Jsb2NrZWQgdXNlcmFnZW50cyc7CiRsYW5nWydwcmVmX2NhbXBhaWducGFnZSddID0gJ0NhbXBhaWduIFBhZ2UnOwokbGFuZ1sncHJlZl9mbG9vZF90aW1lb3V0J10gPSAnRmxvb2QgcHJldmVudGlvbiB0aW1lIGxpbWl0JzsKJGxhbmdbJ3ByZWZfbGVhZGNvbmZpcm0nXSA9ICdTZW5kIGFuIGVtYWlsIHRvIHRoZSB2aXNpdG9yIGNvbmZpcm1pbmcgdGhlIGxlYWQnOwokbGFuZ1sncHJlZl9sZWFkY29uZmlybV9zdWJqZWN0J10gPSAnTGVhZCBjb25maXJtYXRpb24gZW1haWwgc3ViamVjdCc7CiRsYW5nWydwcmVmX2xlYWRjb25maXJtX2JvZHl0cGwnXSA9ICdMZWFkIGNvbmZpcm1hdGlvbiBib2R5IHRlbXBsYXRlJzsKJGxhbmdbJ3ByZWZfbm9sb2dpbl9yZWRpcmVjdCddID0gJ1BhZ2UgdG8gcmVkaXJlY3QgdG8gaWYgbm90IGxvZ2dlZCBpbic7CiRsYW5nWydwcmVmX25vdGlmeWxlYWRzJ10gPSAnU2VuZCBlbWFpbCBub3RpZmljYXRpb25zIG9uIG5ldyBsZWFkcyc7CiRsYW5nWydwcmVmX25vdGlmeWxlYWRzX3N1YmplY3QnXSA9ICdOZXcgbGVhZCBlbWFpbCBzdWJqZWN0JzsKJGxhbmdbJ3ByZWZfbm90aWZ5bGVhZHNfYm9keXRwbCddID0gJ05ldyBsZWFkIGVtYWlsIGJvZHkgdGVtcGxhdGUnOwokbGFuZ1sncHJlZl91cmxwcmVmaXgnXSA9ICdQcmV0dHkgVVJMIHByZWZpeCc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhpcz8gIEFsbCBsZWFkcyBhbmQgY2FtcGFpZ24gZGF0YSB3aWxsIGJlIHBlcm1hbmVudGx5IHJlbW92ZWQnOwokbGFuZ1sncHJvbXB0X2FkZCddID0gJ0FkZCc7CiRsYW5nWydwcm9tcHRfYWRkX2NhbXBhaWduJ10gPSAnQWRkIG5ldyBjYW1wYWlnbic7CiRsYW5nWydwcm9tcHRfYWRkX2ZpZWxkJ10gPSAnQWRkIG5ldyBmaWVsZCc7CiRsYW5nWydwcm9tcHRfYWRkX2ZpZWxkdHlwZSddID0gJ0FkZCBuZXcgZmllbGQgdHlwZSc7CiRsYW5nWydwcm9tcHRfYWR2YW5jZWQnXSA9ICdBZHZhbmNlZCc7CiRsYW5nWydwcm9tcHRfYXR0YWNobWVudHMnXSA9ICdBdHRhY2htZW50cyc7CiRsYW5nWydwcm9tcHRfYmFzZXR5cGUnXSA9ICdCYXNlIEZpZWxkIFR5cGUnOwokbGFuZ1sncHJvbXB0X2Jhc2ljZmllbGR0eXBlcyddID0gJ1NpbXBsZSBGaWVsZCBUeXBlcyc7CiRsYW5nWydwcm9tcHRfYmxvY2tfdXNlcmFnZW50J10gPSAnQmxvY2sgdGhlIHVzZXJhZ2VudCBmcm9tIHRoaXMgbGVhZCc7CiRsYW5nWydwcm9tcHRfY2FtcGFpZ24nXSA9ICdDYW1wYWlnbic7CiRsYW5nWydwcm9tcHRfY29tcGFueSddID0gJ0NvbXBhbnknOwokbGFuZ1sncHJvbXB0X2NvcHknXSA9ICdDb3B5JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydwcm9tcHRfZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVfbGVhZCddID0gJ0RlbGV0ZSBsZWFkJzsKJGxhbmdbJ3Byb21wdF9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ3Byb21wdF9kaXJlY3R1cmwnXSA9ICdEaXJlY3QgVVJMIHRvIHRoaXMgY2FtcGFpZ24nOwokbGFuZ1sncHJvbXB0X2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ3Byb21wdF9lZGl0X2ZpZWxkJ10gPSAnRWRpdCBjYW1wYWlnbiBmaWVsZCc7CiRsYW5nWydwcm9tcHRfZWRpdF9maWVsZHR5cGUnXSA9ICdFZGl0IGZpZWxkIHR5cGUnOwokbGFuZ1sncHJvbXB0X2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sncHJvbXB0X2VuZGRhdGUnXSA9ICdFbmQgRGF0ZSc7CiRsYW5nWydwcm9tcHRfZXhwb3J0X2NhbXBhaWduJ10gPSAnRXhwb3J0IENhbXBhaWduJzsKJGxhbmdbJ3Byb21wdF9maWVsZHMnXSA9ICdGaWVsZHMnOwokbGFuZ1sncHJvbXB0X2ZpbmlzaGVkJ10gPSAnRmluaXNoZWQnOwokbGFuZ1sncHJvbXB0X2ZpbmlzaGVkbXNnJ10gPSAnRGlzcGxheSB0aGlzIG1lc3NhZ2UgZm9yIGNvbXBsZXRlZCBsZWFkcyc7CiRsYW5nWydwcm9tcHRfZ29iYWNrJ10gPSAnR28gQmFjayc7CiRsYW5nWydwcm9tcHRfbGVhZGNvbmZpcm0nXSA9ICdMZWFkIENvbmZpcm1hdGlvbiBFbWFpbCc7CiRsYW5nWydwcm9tcHRfbGVhZGRldGFpbHMnXSA9ICdMZWFkIERldGFpbHMnOwokbGFuZ1sncHJvbXB0X2xlYWRzJ10gPSAnTGVhZHMnOwokbGFuZ1sncHJvbXB0X21hcmtiYWQnXSA9ICdUaGlzIGlzIGEgYmFkIGxlYWQnOwokbGFuZ1sncHJvbXB0X21vZGlmaWVkJ10gPSAnTW9kaWZpZWQnOwokbGFuZ1sncHJvbXB0X3llc2RlbGV0ZV9sZWFkZGF0YTEnXSA9ICdZZXMsIEkgYW0gc3VyZSc7CiRsYW5nWydwcm9tcHRfeWVzZGVsZXRlX2xlYWRkYXRhMiddID0gJ1llcywgSSBhbSByZWFsbHkgc3VyZSc7CiRsYW5nWydwcm9tcHRfaWQnXSA9ICdJZCc7CiRsYW5nWydwcm9tcHRfaW1hZ2VzJ10gPSAnSW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9rZXl3b3JkJ10gPSAnS2V5d29yZCc7CiRsYW5nWydwcm9tcHRfbmEnXSA9ICdOL0EnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ3Byb21wdF9uZXdmaWVsZCddID0gJ05ldyBGaWVsZCc7CiRsYW5nWydwcm9tcHRfbm90aWZ5X2xlYWQnXSA9ICdTZW5kIG5vdGlmaWNhdGlvbiBtZXNzYWdlIGFnYWluJzsKJGxhbmdbJ3Byb21wdF9ub3RpZnlsZWFkcyddID0gJ05ldyBsZWFkIG5vdGlmaWNhdGlvbnMnOwokbGFuZ1sncHJvbXB0X25vdHZpZXdlZCddID0gJ05vdCB2aWV3ZWQhJzsKJGxhbmdbJ3Byb21wdF9vZiddID0gJ09mJzsKJGxhbmdbJ3Byb21wdF9vcHRpb250ZXh0J10gPSAnT3B0aW9ucyc7CiRsYW5nWydwcm9tcHRfcGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncHJvbXB0X3ByZWJ1aWx0dHlwZXMnXSA9ICdFeHRlbmRlZCBGaWVsZCBUeXBlcyc7CiRsYW5nWydwcm9tcHRfcHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF9yYWRpb3NlcGFyYXRvciddID0gJ1NlcGFyYXRvcic7CiRsYW5nWydwcm9tcHRfcmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7CiRsYW5nWydwcm9tcHRfc2VjdXJpdHknXSA9ICdTZWN1cml0eSc7CiRsYW5nWydwcm9tcHRfc2VhcmNoJ10gPSAnU2VhcmNoJzsKJGxhbmdbJ3Byb21wdF9zdGFydGRhdGUnXSA9ICdTdGFydCBEYXRlJzsKJGxhbmdbJ3Byb21wdF9zdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGljcyc7CiRsYW5nWydwcm9tcHRfc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF90eXBlJ10gPSAnVHlwZSc7CiRsYW5nWydwcm9tcHRfdXBsb2FkJ10gPSAnVXBsb2FkJzsKJGxhbmdbJ3Byb21wdF91c2VkZWZhdWx0J10gPSAnVXNlIGRlZmF1bHQnOwokbGFuZ1sncHJvbXB0X3ZpZXdlZCddID0gJ1ZpZXdlZCc7CiRsYW5nWydwcm9tcHRfdmlld2xlYWRzJ10gPSAnVmlldyBsZWFkcyc7CiRsYW5nWydwcm9tcHRfdmlld19jYW1wYWlnbiddID0gJ1ZpZXcgY2FtcGFpZ24gaW5mb3JtYXRpb24nOwokbGFuZ1sncHJvbXB0X3ZpZXdfbGVhZCddID0gJ1ZpZXcgbGVhZCBkZXRhaWxzJzsKJGxhbmdbJ3Byb21wdF92aWV3X2FjdGl2ZW9ubHknXSA9ICdTaG93IG9ubHkgYWN0aXZlIGNhbXBhaWducyc7CiRsYW5nWydwcm9tcHRfdmlld19hbGxjYW1wYWlnbnMnXSA9ICdWaWV3IGFsbCBvZiBteSBjYW1wYWlnbnMnOwokbGFuZ1sncHJvbXB0X3ZpZXdfbGVhZHMnXSA9ICdWaWV3IGNhbXBhaWduIGxlYWRzJzsKJGxhbmdbJ3Byb21wdF95ZXMnXSA9ICdZZXMnOwoKI1EKCiNSCiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKCiNTCiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3RhdHVzX2JhZCddID0gJ0JhZCc7CiRsYW5nWydzdGF0dXNfY29tcGxldGUnXSA9ICdDb21wbGV0ZSc7CiRsYW5nWydzdGF0dXNfaW5jb21wbGV0ZSddID0gJ0luY29tcGxldGUnOwoKI1QKJGxhbmdbJ3RhYl9jYW1wYWlnbnMnXSA9ICdDYW1wYWlnbnMnOwokbGFuZ1sndGFiX2NhbXBhaWdubGlzdHRlbXBsYXRlcyddID0gJ0NhbXBhaWduIExpc3QgVmlldyBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2Rhc2hib2FyZHRlbXBsYXRlcyddID0gJ0Rhc2hib2FyZCBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX2ZpZWxkdHlwZXMnXSA9ICdGaWVsZCBUeXBlcyc7CiRsYW5nWyd0YWJfZm9ybXRlbXBsYXRlcyddID0gJ0Zvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ3RhYl9rZXl3b3JkdGVtcGxhdGVzJ10gPSAnS2V5d29yZCBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX3Byb3RvdHlwZXRlbXBsYXRlcyddID0gJ1Byb3RvdHlwZSBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1sndGFiX3ZpZXdjYW1wYWlnbnRlbXBsYXRlcyddID0gJ0NhbXBhaWduIFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ3RhYl92aWV3bGVhZHRlbXBsYXRlcyddID0gJ0xlYWQgVmlldyBUZW1wbGF0ZXMnOwokbGFuZ1sndGl0bGVfYWRkX2NhbXBhaWduJ10gPSAnQWRkIGEgbmV3IENhbXBhaWduJzsKJGxhbmdbJ3RpdGxlX2VkaXRfY2FtcGFpZ24nXSA9ICdFZGl0IGEgQ2FtcGFpZ24nOwokbGFuZ1sndGl0bGVfZGVsZXRlX2NhbXBhaWduJ10gPSAnRGVsZXRlIENhbXBhaWduJzsKJGxhbmdbJ3RpdGxlX2RlbGV0ZV9maWVsZHR5cGUnXSA9ICdEZWxldGUgRmllbGQgVHlwZSc7CiRsYW5nWyd0aXRsZV9sZWFkY291bnQnXSA9ICdEaXNwbGF5cyB0aGUgY291bnQgb2YgdW52aWV3ZWQgbGVhZHMsIGNvbXBsZXRlZCBsZWFkcywgYW5kIGFsbCBsZWFkcyBmb3IgYSBjYW1wYWlnbic7CiRsYW5nWyd0aXRsZV9sZWFkY291bnQyJ10gPSAnVGhpcyBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIGxlYWRzIHRvLWRhdGUgZm9yIHRoaXMgY2FtcGFpZ24nOwokbGFuZ1sndGl0bGVfY29tcGxldGVjb3VudCddID0gJ1RoaXMgaXMgdGhlIHRvdGFsIG51bWJlciBvZiBjb21wbGV0ZWQgbGVhZHMgdG8tZGF0ZSBmb3IgdGhpcyBjYW1wYWlnbic7CiRsYW5nWyd0aXRsZV91bnZpZXdlZGNvdW50J10gPSAnVGhpcyBpcyB0aGUgbnVtYmVyIG9mIGxlYWRzIGZvciB0aGlzIGNhbXBhaWduIHRoYXQgaGF2ZSBub3QgeWV0IGJlZW4gdmlld2VkJzsKJGxhbmdbJ3RpdGxlX3N5c2RlZmF1bHRfY2FtcGFpZ25saXN0X3RlbXBsYXRlJ10gPSAnUHJvdG90eXBlIENhbXBhaWduIExpc3QgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zeXNkZWZhdWx0X2Rhc2hib2FyZF90ZW1wbGF0ZSddID0gJ1Byb3RvdHlwZSBEYXNoYm9hcmQgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zeXNkZWZhdWx0X2Zvcm1fdGVtcGxhdGUnXSA9ICdQcm90b3R5cGUgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zeXNkZWZhdWx0X2tleXdvcmRmb3JtX3RlbXBsYXRlJ10gPSAnUHJvdG90eXBlIEtleXdvcmQgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zeXNkZWZhdWx0X3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZSddID0gJ1Byb3RvdHlwZSBDYW1wYWdpbiBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3N5c2RlZmF1bHRfdmlld2xlYWRfdGVtcGxhdGUnXSA9ICdQcm90b3R5cGUgTGVhZCBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZpZXdpbmdfbGVhZCddID0gJ1ZpZXdpbmcgbGVhZCBkZXRhaWwgZm9yIGNhbXBhaWduJzsKCiNVCgojVgoKI1cKCiNYCgojWQoKI1oKCj8+]]></data>
	</file>
	<file>
	  <filename>/LeadManager.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmRlZmluZSgnTE1fQ0FNUEFJR05TX1RBQkxFJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9sZWFkbWFuYWdlcl9jYW1wYWlnbnMnKTsKZGVmaW5lKCdMTV9GSUVMRFNfVEFCTEUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2xlYWRtYW5hZ2VyX2ZpZWxkcycpOwpkZWZpbmUoJ0xNX0ZJRUxEVFlQRVNfVEFCTEUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2xlYWRtYW5hZ2VyX2ZpZWxkdHlwZXMnKTsKZGVmaW5lKCdMTV9MRUFEU19UQUJMRScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbGVhZG1hbmFnZXJfbGVhZHMnKTsKZGVmaW5lKCdMTV9MRUFEREFUQV9UQUJMRScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbGVhZG1hbmFnZXJfbGVhZGRhdGEnKTsKCmNsYXNzIExlYWRNYW5hZ2VyRXhjZXB0aW9uIGV4dGVuZHMgQ21zRXhjZXB0aW9uIHt9CgpjbGFzcyBMZWFkTWFuYWdlciBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgcHJvdGVjdGVkICRfZW1haWxfbm90aWZpZXI7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgJHRoaXMtPkFkZEltYWdlRGlyKCdpY29ucycpOwogIH0KCiAgZnVuY3Rpb24gR2V0TmFtZSgpIHsgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7IH0KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0KICBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgeyByZXR1cm4gJzEuMSc7IH0KICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICcxLjExLjEwLWN1c3RvbTEnOyB9CiAgZnVuY3Rpb24gR2V0SGVscCgpIHsgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy9oZWxwLmluYycpOyB9CiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkgeyByZXR1cm4gJ2NhbGd1eTEwMDAnOyB9CiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7IHJldHVybiAnY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyc7IH0KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7IHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL2NoYW5nZWxvZy5pbmMnKTsgfQogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgeyByZXR1cm4gVFJVRTsgfQogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsgCiAgICByZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucyc9PicxLjM4LjEnLCdDb21wYW55RGlyZWN0b3J5Jz0+JzEuMTkuNycsCgkJICdDR1NpbXBsZVNtYXJ0eSc9PicxLjcuMScsJ0Zyb250RW5kVXNlcnMnPT4nMS4yMi4zJywKCQkgJ0ZpbGVNYW5hZ2VyJz0+JzEuNC4zJyk7IAogIH0KICBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3ByZXVuaW5zdGFsbCcpOyB9CiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7IH0KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7IH0KICBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gRkFMU0U7IH0KICBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgeyByZXR1cm4gVFJVRTsgfQogIAogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpIAogIHsgCiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIENhbXBhaWducycpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgfHwgCiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKTsgCiAgfQoKICBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogIHsKICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsZWFkJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhbXBhaWduJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2tleXdvcmQnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2FtcGFpZ25wYWdlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhbXBhaWdudGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2FtcGFpZ25saXN0dGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgna2V5d29yZHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Rhc2hib2FyZHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3ZpZXdsZWFkdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndmlld2NhbXBhaWdudGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9sbV8uKi8nLENMRUFOX1NUUklORyk7CgogICAgJHN0ciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnKTsKICAgIGlmKCAhJHN0ciApICRzdHIgPSAnY2FtcGFpZ25zJzsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCIveyRzdHJ9XC8oP1A8Y2FtcGFpZ24+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxsbV9qdW5rPi4qPykkLyIsYXJyYXkoJ2FjdGlvbic9PidmZV9sZWFkJykpOwoKICAgICR0aGlzLT5fZW1haWxfbm90aWZpZXIgPSBuZXcgbG1fZW1haWxub3RpZmllcjsKICB9CgogIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpCiAgewogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbGVhZCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2xlYWQnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYW1wYWlnbicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2NhbXBhaWduJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2FtcGFpZ25wYWdlJywnJywkdGhpcy0+TGFuZygncGFyYW1fY2FtcGFpZ25wYWdlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2FtcGFpZ250ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2NhbXBhaWducGFnZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2tleXdvcmR0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2tleXdvcmR0ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhbXBhaWdubGlzdHRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fY2FtcGFpZ25saXN0dGVtcGxhdGUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkYXNoYm9hcmR0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2Rhc2hib2FyZHRlbXBsYXRlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndmlld2NhbXBhaWdudGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV92aWV3Y2FtcGFpZ250ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3ZpZXdsZWFkdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV92aWV3bGVhZHRlbXBsYXRlJykpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wcmV0dHlfdXJsKCRpZCwkYWN0aW9uLCRyZXR1cm5pZD0nJywkcGFyYW1zPWFycmF5KCksJGlubGluZT1mYWxzZSkKICB7CiAgICBzd2l0Y2goICRhY3Rpb24gKSB7CiAgICBjYXNlICdmZV9sZWFkJzoKICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbXBhaWduJ10pICkgewoJJGNhbXBhaWduID0gbG1fY2FtcGFpZ246OmxvYWRfYnlfaWQoKGludCkkcGFyYW1zWydjYW1wYWlnbiddKTsKCSRvdXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXJscHJlZml4Jyk7CglpZiggISRvdXQgKSAkb3V0ID0gJ2NhbXBhaWducyc7Cgkkb3V0IC49ICIvIi4oaW50KSRjYW1wYWlnblsnaWQnXS4iLyRyZXR1cm5pZC8iLm11bmdlX3N0cmluZ190b191cmwoJGNhbXBhaWduWyduYW1lJ10pOwoJcmV0dXJuICRvdXQ7CiAgICAgIH0KICAgICAgYnJlYWs7CiAgICB9CiAgICByZXR1cm4gJyc7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3NzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.lm_campaign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAvKiBmaWVsZHM6ICBpZCAocmVhZCBvbmx5KSwgbmFtZSwga2V5d29yZCwgc3RhcnRfZGF0ZSwgZW5kX2RhdGUsIGNyZWF0ZWQgKHJvKSwgbW9kaWZpZWQgKHJvKSwgZGVzY3JpcHRpb24sIGZpZWxkcyAoYXJyYXkgb2YgY2FtcGFpZ25fZmllbGRzKSAqLwogICAgIApjbGFzcyBsbV9jYW1wYWlnbiBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCnsKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkX21ldGFkYXRhID0gYXJyYXkoKTsgLy8gY29tcHV0ZWQgb3IgcXVlcmllZCBpbmZvcm1hdGlvbgogIHByaXZhdGUgJF9maWVsZHM7CiAgcHJpdmF0ZSAkX2RlZXA7CiAgcHJpdmF0ZSAkX2RpcnR5OwogIHByaXZhdGUgJF9yZWFkb25seTsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N0YXJ0X2RhdGUnXSA9IHN0cnRvdGltZSgnMDowMScpOyAvLyBtaWRuaWdodAogICAgJHRoaXMtPl9kYXRhWydlbmRfZGF0ZSddID0gJHRoaXMtPl9kYXRhWydzdGFydF9kYXRlJ10gKyAzMCAqIDI0ICogMzYwMDsgLy8gMzAgZGF5cwogICAgJHRoaXMtPl9kYXRhWydlbmRfZGF0ZSddID0gc3RydG90aW1lKCcyMzo1OScsJHRoaXMtPl9kYXRhWydlbmRfZGF0ZSddKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRHZXQoJGtleSkKICB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdjb21wYW55X2lkJzoKICAgIGNhc2UgJ3N0YXJ0X2RhdGUnOgogICAgY2FzZSAnZW5kX2RhdGUnOgogICAgY2FzZSAnY3JlYXRlZCc6CiAgICBjYXNlICdtb2RpZmllZCc6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIChpbnQpJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICBicmVhazsKCiAgICBjYXNlICduYW1lJzoKICAgIGNhc2UgJ2tleXdvcmQnOgogICAgY2FzZSAnZmluaXNoZWRfbXNnJzoKICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gdHJpbSgkdGhpcy0+X2RhdGFbJGtleV0pOwogICAgICBicmVhazsKCiAgICBjYXNlICdmaWVsZHMnOgogICAgICBpZiggISR0aGlzLT5fZGVlcCApICR0aGlzLT5fbG9hZF9kZWVwKCk7CiAgICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X2ZpZWxkcykgKSByZXR1cm4gJHRoaXMtPl9maWVsZHM7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2F0dGFjaG1lbnRzJzoKICAgICAgaWYoICR0aGlzWydpZCddID4gMCApIHsKCSRkaXIgPSBsbV91dGlsczo6Z2V0X2NhbXBhaWduX2F0dGFjaG1lbnRfZGlyKCR0aGlzWydpZCddKTsKCSRmaWxlcyA9IGdsb2IoJGRpci4nLyonKTsKCWlmKCBpc19hcnJheSgkZmlsZXMpICYmIGNvdW50KCRmaWxlcykgKSB7CgkgICRvdXQgPSBhcnJheSgpOwoJICBmb3JlYWNoKCAkZmlsZXMgYXMgJG9uZSApIHsKCSAgICAkb25lID0gYmFzZW5hbWUoJG9uZSk7CgkgICAgaWYoIHN0YXJ0c3dpdGgoJG9uZSwndGh1bWJfJykgKSBjb250aW51ZTsKCSAgICAkb3V0W10gPSAkb25lOwoJICB9CgkgIHJldHVybiAkb3V0OwoJfQogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2ltYWdlcyc6CiAgICAgIGlmKCAkdGhpc1snaWQnXSA+IDAgKSB7CgkkZGlyID0gbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9pbWFnZV9kaXIoJHRoaXNbJ2lkJ10pOwoJJGZpbGVzID0gZ2xvYigkZGlyLicvKicpOwoJaWYoIGlzX2FycmF5KCRmaWxlcykgJiYgY291bnQoJGZpbGVzKSApIHsKCSAgJG91dCA9IGFycmF5KCk7CgkgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkgewoJICAgICRvbmUgPSBiYXNlbmFtZSgkb25lKTsKCSAgICBpZiggc3RhcnRzd2l0aCgkb25lLCd0aHVtYl8nKSApIGNvbnRpbnVlOwoJICAgICRvdXRbXSA9ICRvbmU7CgkgIH0KCSAgcmV0dXJuICRvdXQ7Cgl9CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSAnZXh0ZXJuYWxfdXJsJzoKICAgIGNhc2UgJ3RlbXBsYXRlJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXVska2V5XSkgKSByZXR1cm4gdHJpbSgkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0pOwogICAgICBicmVhazsKCiAgICBjYXNlICdhdHRhY2htZW50X2xvY2F0aW9uJzoKICAgICAgaWYoICR0aGlzWydpZCddID4gMCApIHJldHVybiBsbV91dGlsczo6Z2V0X2NhbXBhaWduX2F0dGFjaG1lbnRfdXJsKCR0aGlzWydpZCddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnaW1hZ2VfbG9jYXRpb24nOgogICAgICBpZiggJHRoaXNbJ2lkJ10gPiAwICkgcmV0dXJuIGxtX3V0aWxzOjpnZXRfY2FtcGFpZ25faW1hZ2VfdXJsKCR0aGlzWydpZCddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbGVhZGNvdW50JzoKICAgICAgaWYoICR0aGlzWydpZCddIDwgMSApIHJldHVybiAwOwogICAgICBpZiggaXNzZXQoJHRoaXMtPl9tZXRhZGF0YVska2V5XSkgKSByZXR1cm4gJHRoaXMtPl9tZXRhZGF0YVska2V5XTsKICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBDT1VOVChpZCkgRlJPTSAnLkxNX0xFQURTX1RBQkxFLicgV0hFUkUgY2FtcGFpZ24gPSA/IEFORCBzdGF0dXMgIT0gPyc7CiAgICAgICR0aGlzLT5fbWV0YWRhdGFbJGtleV0gPSAoaW50KSRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpc1snaWQnXSxsbV9sZWFkOjpTVEFUVVNfQkFEKSk7CiAgICAgIHJldHVybiAkdGhpcy0+X21ldGFkYXRhWyRrZXldOwoKICAgIGNhc2UgJ2NvbXBsZXRlY291bnQnOgogICAgICBpZiggJHRoaXNbJ2lkJ10gPCAxICkgcmV0dXJuIDA7CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X21ldGFkYXRhWyRrZXldKSApIHJldHVybiAkdGhpcy0+X21ldGFkYXRhWyRrZXldOwogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUIENPVU5UKGlkKSBGUk9NICcuTE1fTEVBRFNfVEFCTEUuJyBXSEVSRSBjYW1wYWlnbiA9ID8gQU5EIHN0YXR1cyA9ID8nOwogICAgICAkdGhpcy0+X21ldGFkYXRhWyRrZXldID0gKGludCkkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXNbJ2lkJ10sbG1fbGVhZDo6U1RBVFVTX0NPTVBMRVRFKSk7CiAgICAgIHJldHVybiAkdGhpcy0+X21ldGFkYXRhWyRrZXldOwoKICAgIGNhc2UgJ3Vudmlld2VkY291bnQnOgogICAgICBpZiggJHRoaXNbJ2lkJ10gPCAxICkgcmV0dXJuIDA7CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X21ldGFkYXRhWyRrZXldKSApIHJldHVybiAkdGhpcy0+X21ldGFkYXRhWyRrZXldOwogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUIENPVU5UKGlkKSBGUk9NICcuTE1fTEVBRFNfVEFCTEUuJyBXSEVSRSBjYW1wYWlnbiA9ID8gQU5EIHN0YXR1cyA9ID8gQU5EIENPQUxFU0NFKHZpZXdlZCwwKSA9IDAnOwogICAgICAkdGhpcy0+X21ldGFkYXRhWyRrZXldID0gKGludCkkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXNbJ2lkJ10sbG1fbGVhZDo6U1RBVFVTX0NPTVBMRVRFKSk7CiAgICAgIHJldHVybiAkdGhpcy0+X21ldGFkYXRhWyRrZXldOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBmaWVsZCAnLiRrZXkuJyBmb3IgJy5fX0NMQVNTX18uJyBjYW5ub3QgcmV0cmlldmUnKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRTZXQoJGtleSwkdmFsdWUpCiAgewogICAgaWYoICR0aGlzLT5fcmVhZG9ubHkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oX19DTEFTU19fLicgaXMgaW4gcmVhZG9ubHkgbW9kZSwgY2Fubm90IHNldCB2YWx1ZXMnKTsKCiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IHNldCB0aGUgJy4ka2V5LicgZmllbGQgaW4gYSAnLl9fQ0xBU1NfXyk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ25hbWUnOgogICAgY2FzZSAna2V5d29yZCc6CiAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICBjYXNlICdmaW5pc2hlZF9tc2cnOgogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICBicmVhazsKCiAgICBjYXNlICdjb21wYW55X2lkJzoKICAgIGNhc2UgJ3N0YXJ0X2RhdGUnOgogICAgY2FzZSAnZW5kX2RhdGUnOgogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoaW50KSR2YWx1ZTsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NyZWF0ZWQnOgogICAgY2FzZSAnbW9kaWZpZWQnOgogICAgY2FzZSAnZmllbGRzJzoKICAgIGNhc2UgJ2F0dGFjaG1lbnRzJzoKICAgIGNhc2UgJ2F0dGFjaG1lbnRfbG9jYXRpb24nOgogICAgY2FzZSAnaW1hZ2VzJzoKICAgIGNhc2UgJ2ltYWdlX2xvY2F0aW9uJzoKICAgIGNhc2UgJ2xlYWRjb3VudCc6CiAgICBjYXNlICd1bnZpZXdlZGNvdW50JzoKICAgIGNhc2UgJ2NvbXBsZXRlY291bnQnOgogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0Nhbm5vdCBzZXQgdGhlICcuJGtleS4nIGZpZWxkIGluIGEgJy5fX0NMQVNTX18pOwogICAgICBicmVhazsKCiAgICBjYXNlICdleHRlcm5hbF91cmwnOgogICAgY2FzZSAndGVtcGxhdGUnOgogICAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgKSAkdGhpcy0+X2RhdGFbJ2V4dHJhJ10gPSBhcnJheSgpOwogICAgICAkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJGtleS4nIGlzIGFuIGludmFsaWQgZmllbGQgaW4gYSAnLl9fQ0xBU1NfXy4nIGNhbm5vdCBzZXQnKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRFeGlzdHMoJGtleSkKICB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICduYW1lJzoKICAgIGNhc2UgJ2tleXdvcmQnOgogICAgY2FzZSAnY29tcGFueV9pZCc6CiAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICBjYXNlICdmaW5pc2hlZF9tc2cnOgogICAgY2FzZSAnc3RhcnRfZGF0ZSc6CiAgICBjYXNlICdlbmRfZGF0ZSc6CiAgICBjYXNlICdjcmVhdGVkJzoKICAgIGNhc2UgJ21vZGlmaWVkJzoKICAgICAgcmV0dXJuIChpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pKT9UUlVFOkZBTFNFOwoKICAgIGNhc2UgJ2ZpZWxkcyc6CiAgICAgIHJldHVybiAoaXNfYXJyYXkoJHRoaXMtPl9maWVsZHMpKT9UUlVFOkZBTFNFOwoKICAgIGNhc2UgJ2xlYWRjb3VudCc6CiAgICBjYXNlICd1bnZpZXdlZGNvdW50JzoKICAgIGNhc2UgJ2NvbXBsZXRlY291bnQnOgogICAgY2FzZSAnYXR0YWNobWVudHMnOgogICAgY2FzZSAnYXR0YWNobWVudF9sb2NhdGlvbic6CiAgICBjYXNlICdpbWFnZXMnOgogICAgY2FzZSAnaW1hZ2VfbG9jYXRpb24nOgogICAgICByZXR1cm4gVFJVRTsKCiAgICBjYXNlICdleHRlcm5hbF91cmwnOgogICAgY2FzZSAndGVtcGxhdGUnOgogICAgICByZXR1cm4gKGlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXVska2V5XSkpP1RSVUU6RkFMU0U7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGFjY2VzcyBpbnZhbGlkIGZpZWxkICcuJGtleS4nIGluIGEgJy5fX0NMQVNTX18pOwogICAgICBicmVhazsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRVbnNldCgka2V5KQogIHsKICAgIGlmKCAkdGhpcy0+X3JlYWRvbmx5ICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKF9fQ0xBU1NfXy4nIGlzIGluIHJlYWRvbmx5IG1vZGUsIGNhbm5vdCBzZXQgdmFsdWVzJyk7CgogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnaWQnOgogICAgY2FzZSAnY3JlYXRlZCc6CiAgICBjYXNlICdtb2RpZmllZCc6CiAgICBjYXNlICdmaWVsZHMnOgogICAgY2FzZSAnYXR0YWNobWVudHMnOgogICAgY2FzZSAnYXR0YWNobWVudF9sb2NhdGlvbic6CiAgICBjYXNlICdpbWFnZXMnOgogICAgY2FzZSAnaW1hZ2VfbG9jYXRpb24nOgogICAgY2FzZSAnbGVhZGNvdW50JzoKICAgIGNhc2UgJ3Vudmlld2VkY291bnQnOgogICAgY2FzZSAnY29tcGxldGVjb3VudCc6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IHVuc2V0ICcuJGtleS4nIGluIGEgJy5fX0NMQVNTX18pOwoKICAgIGNhc2UgJ25hbWUnOgogICAgY2FzZSAna2V5d29yZCc6CiAgICBjYXNlICdjb21wYW55X2lkJzoKICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgIGNhc2UgJ2ZpbmlzaGVkX21zZyc6CiAgICBjYXNlICdzdGFydF9kYXRlJzoKICAgIGNhc2UgJ2VuZF9kYXRlJzoKICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWyRrZXldKTsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2V4dGVybmFsX3VybCc6CiAgICBjYXNlICd0ZW1wbGF0ZSc6CiAgICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X2RhdGFbJ2V4dHJhJ10pICkgewoJdW5zZXQoJHRoaXMtPl9kYXRhWydleHRyYSddWyRrZXldKTsKCSR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQXR0ZW1wdCB0byB1bnNldCBpbnZhbGlkIGZpZWxkICcuJGtleS4nIGluIGEgJy5fX0NMQVNTX18pOwogICAgICBicmVhazsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcmVhZG9ubHkoKQogIHsKICAgICR0aGlzLT5fcmVhZG9ubHkgPSBUUlVFOwogICAgaWYoIGlzX2FycmF5KCR0aGlzLT5fZmllbGRzKSAmJiBjb3VudCgkdGhpcy0+X2ZpZWxkcykgKSB7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fZmllbGRzKTsgJGkrKyApIHsKCSR0aGlzLT5fZmllbGRzWyRpXS0+c2V0X3JlYWRvbmx5KCk7CiAgICAgIH0KICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgewogICAgaWYoICR0aGlzWyduYW1lJ10gPT0gJycgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0NhbXBhaWduIGlzIGludmFsaWQ6IG5hbWUgaXMgcmVxdWlyZWQnKTsKICAgIGlmKCAkdGhpc1sna2V5d29yZCddID09ICcnICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdDYW1wYWlnbiBpcyBpbnZhbGlkOiBuYW1lIGlzIHJlcXVpcmVkJyk7CiAgICBpZiggJHRoaXNbJ2NvbXBhbnlfaWQnXSA9PSAnJyApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2FtcGFpZ24gaXMgaW52YWxpZDogY29tcGFueSBpZCBpcyByZXF1aXJlZCcpOwogICAgaWYoICR0aGlzWydzdGFydF9kYXRlJ10gPT0gMCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2FtcGFpZ24gaXMgaW52YWxpZDogc3RhcnQgZGF0ZSBpcyByZXF1aXJlZCcpOwogICAgaWYoICR0aGlzWydlbmRfZGF0ZSddID09IDAgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0NhbXBhaWduIGlzIGludmFsaWQ6IGVuZCBkYXRlIGlzIHJlcXVpcmVkJyk7CiAgICBpZiggJHRoaXNbJ2VuZF9kYXRlJ10gPCAkdGhpc1snc3RhcnRfZGF0ZSddICkgewogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0NhbXBhaWduIGlzIGludmFsaWQ6IGVuZCBkYXRlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHN0YXJ0IGRhdGUnKTsKICAgIH0KCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuTE1fQ0FNUEFJR05TX1RBQkxFLicgV0hFUkUga2V5d29yZCA9ID8gQU5EIChVTklYX1RJTUVTVEFNUCgpIEJFVFdFRU4gc3RhcnRfZGF0ZSBBTkQgZW5kX2RhdGUpJzsKICAgICRwYXJtcyA9IGFycmF5KCR0aGlzWydrZXl3b3JkJ10pOwogICAgaWYoICR0aGlzWydpZCddID4gMCApIHsKICAgICAgJHF1ZXJ5IC49ICcgQU5EIGlkICE9ID8nOwogICAgICAkcGFybXNbXSA9ICR0aGlzWydpZCddOwogICAgfQogICAgJGRiciA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcGFybXMpOwogICAgaWYoICRkYnIgPiAwICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdhY3RpdmUgY2FtcGFpZ24gd2l0aCBrZXl3b3JkICcuJHRoaXNbJ2tleXdvcmQnXS4nIGFscmVhZHkgZXhpc3RzJyk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2xvYWRfZGVlcCgpCiAgewogICAgaWYoICR0aGlzLT5fcmVhZG9ubHkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oX19DTEFTU19fLicgaXMgaW4gcmVhZG9ubHkgbW9kZSwgY2Fubm90IGxvYWQgZmllbGRzJyk7CgogICAgaWYoICR0aGlzLT5fZGVlcCApIHJldHVybjsKICAgIGlmKCAkdGhpc1snaWQnXSA8IDEgKSByZXR1cm47CiAgICB0cnkgewogICAgICAkdGhpcy0+X2ZpZWxkcyA9IGxtX2ZpZWxkOjpsb2FkX2FsbCgkdGhpc1snaWQnXSk7CiAgICAgICR0aGlzLT5fZGVlcCA9IFRSVUU7CiAgICB9CiAgICBjYXRjaCggTG9hZE1hbmFnZXJFeGNlcHRpb24gJGUgKSB7CiAgICAgIC8vIGRvIG5vdGhpbmcuCiAgICB9CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3VwZGF0ZSgpCiAgewogICAgaWYoICR0aGlzLT5fcmVhZG9ubHkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oX19DTEFTU19fLicgaXMgaW4gcmVhZG9ubHkgbW9kZSwgY2Fubm90IHNhdmUnKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJGV4dHJhID0gaXNzZXQoJHRoaXMtPl9kYXRhWydleHRyYSddKT9zZXJpYWxpemUoJHRoaXMtPl9kYXRhWydleHRyYSddKTonJzsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5MTV9DQU1QQUlHTlNfVEFCTEUuIiBTRVQgbmFtZSA9ID8sIGtleXdvcmQgPSA/LCBjb21wYW55X2lkID0gPywgZGVzY3JpcHRpb24gPSA/LCBmaW5pc2hlZF9tc2cgPSA/LAogICAgICAgICAgICAgICAgIHN0YXJ0X2RhdGUgPSA/LCBlbmRfZGF0ZSA9ID8sIGV4dHJhID0gPywgbW9kaWZpZWQgPSA/IFdIRVJFIGlkID0gPyI7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snbmFtZSddLCR0aGlzWydrZXl3b3JkJ10sJHRoaXNbJ2NvbXBhbnlfaWQnXSwkdGhpc1snZGVzY3JpcHRpb24nXSwkdGhpc1snZmluaXNoZWRfbXNnJ10sCgkJCQkgICAgICR0aGlzWydzdGFydF9kYXRlJ10sJHRoaXNbJ2VuZF9kYXRlJ10sJGV4dHJhLHRpbWUoKSwkdGhpc1snaWQnXSkpOwogICAgaWYoICEkZGJyIHx8ICRkYi0+RXJyb3JNc2coKSApIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0ludmFsaWQgU1FMIFF1ZXJ5ICcuJGRiLT5zcWwuJyAtICcuJGRiLT5FcnJvck1zZygpKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfaW5zZXJ0KCkKICB7CiAgICBpZiggJHRoaXMtPl9yZWFkb25seSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbihfX0NMQVNTX18uJyBpcyBpbiByZWFkb25seSBtb2RlLCBjYW5ub3Qgc2F2ZScpOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkZXh0cmEgPSBpc3NldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ10pP3NlcmlhbGl6ZSgkdGhpcy0+X2RhdGFbJ2V4dHJhJ10pOicnOwogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuTE1fQ0FNUEFJR05TX1RBQkxFLiIgKG5hbWUsa2V5d29yZCxjb21wYW55X2lkLGRlc2NyaXB0aW9uLGZpbmlzaGVkX21zZyxzdGFydF9kYXRlLGVuZF9kYXRlLGV4dHJhLGNyZWF0ZWQsbW9kaWZpZWQpCiAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/KSI7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snbmFtZSddLCR0aGlzWydrZXl3b3JkJ10sJHRoaXNbJ2NvbXBhbnlfaWQnXSwkdGhpc1snZGVzY3JpcHRpb24nXSwkdGhpc1snZmluaXNoZWRfbXNnJ10sCgkJCQkgICAgICR0aGlzWydzdGFydF9kYXRlJ10sJHRoaXNbJ2VuZF9kYXRlJ10sJGV4dHJhLHRpbWUoKSx0aW1lKCkpKTsKICAgIGlmKCAhJGRiciB8fCAkZGItPkVycm9yTXNnKCkgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdJbnZhbGlkIFNRTCBRdWVyeSAnLiRkYi0+c3FsLicgLSAnLiRkYi0+RXJyb3JNc2coKSk7CiAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9kaXJ0eSApIHJldHVybjsKICAgICR0aGlzLT52YWxpZGF0ZSgpOwogICAgaWYoICR0aGlzWydpZCddIDwgMSApIHsKICAgICAgJHRoaXMtPl9pbnNlcnQoKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkdGhpcy0+X3VwZGF0ZSgpOwogICAgfQogICAgJHRoaXMtPl9kaXJ0eSA9IEZBTFNFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGNvcHkoJG5ld19uYW1lLCRuZXdfa2V5d29yZCkKICB7CiAgICAkbmV3X25hbWUgPSB0cmltKCRuZXdfbmFtZSk7CiAgICAkbmV3X2tleXdvcmQgPSB0cmltKCRuZXdfa2V5d29yZCk7CiAgICBpZiggISRuZXdfbmFtZSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignY29weTogbmV3IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHRoaXMtPl9sb2FkX2RlZXAoKTsKICAgICRvbGRfaWQgPSAkdGhpc1snaWQnXTsKCiAgICAvLyBjcmVhdGUgYSBuZXcgcmVjb3JkLgogICAgJGV4dHJhID0gaXNzZXQoJHRoaXMtPl9kYXRhWydleHRyYSddKT9zZXJpYWxpemUoJHRoaXMtPl9kYXRhWydleHRyYSddKTonJzsKICAgIC8vIDEuICBjcmVhdGUgdGhlIG5ldyByZWNvcmQKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkxNX0NBTVBBSUdOU19UQUJMRS4iIChuYW1lLGtleXdvcmQsY29tcGFueV9pZCxkZXNjcmlwdGlvbixzdGFydF9kYXRlLGVuZF9kYXRlLGV4dHJhLGNyZWF0ZWQsbW9kaWZpZWQpCiAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPykiOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG5ld19uYW1lLCRuZXdfa2V5d29yZCwkdGhpc1snY29tcGFueV9pZCddLCR0aGlzWydkZXNjcmlwdGlvbiddLCR0aGlzWydzdGFydF9kYXRlJ10sCgkJCQkgICAgICR0aGlzWydlbmRfZGF0ZSddLCRleHRyYSx0aW1lKCksdGltZSgpKSk7CiAgICAkbmV3X2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCiAgICAvLyBjb3B5IGFsbCBvZiB0aGUgZmllbGRzCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0ZJRUxEU19UQUJMRS4nIFdIRVJFIGNhbXBhaWduID0gPyBPUkRFUiBCWSBpdGVtX29yZGVyJzsKICAgICRkYnIgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkb2xkX2lkKSk7CiAgICBpZiggaXNfYXJyYXkoJGRicikgJiYgY291bnQoJGRicikgKSB7CiAgICAgICRxdWVyeTIgPSAnSU5TRVJUIElOVE8gJy5MTV9GSUVMRFNfVEFCTEUuJyAoY2FtcGFpZ24sbmFtZSxwcm9tcHQsdHlwZSxyZXF1aXJlZCxleHRyYSkgVkFMVUVTICg/LD8sPyw/LD8sPyknOwogICAgICBmb3JlYWNoKCAkZGJyIGFzICYkcm93ICkgewoJJHJvd1snY2FtcGFpZ24nXSA9ICRuZXdfaWQ7CgkkZGJyMiA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkyLGFycmF5KCRyb3dbJ2NhbXBhaWduJ10sJHJvd1snbmFtZSddLCRyb3dbJ3Byb21wdCddLCRyb3dbJ3R5cGUnXSwkcm93WydyZXF1aXJlZCddLCRyb3dbJ2V4dHJhJ10pKTsKICAgICAgfQogICAgfQoKICAgIC8vIGNvcHkgYWxsIG9mIHRoZSBmaWxlcwogICAgJG9sZF9kaXIgPSBsbV91dGlsczo6Z2V0X2NhbXBhaWduX2ltYWdlX2Rpcigkb2xkX2lkKTsKICAgICRuZXdfZGlyID0gbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9pbWFnZV9kaXIoJG5ld19pZCk7CiAgICAkZmlsZXMgPSBnbG9iKCRvbGRfZGlyLicvKicpOwogICAgaWYoIGlzX2FycmF5KCRmaWxlcykgJiYgY291bnQoJGZpbGVzKSApIHsKICAgICAgY2dlX2Rpcjo6bWtkaXJyKCRuZXdfZGlyKTsKICAgICAgZm9yZWFjaCggJGZpbGVzIGFzICRvbGRfZmlsZSApIHsKCSRibiA9IGJhc2VuYW1lKCRvbGRfZmlsZSk7CgkkbmV3X2ZpbGUgPSAkbmV3X2Rpci4nLycuJGJuOwoJCglAY29weSgkb2xkX2ZpbGUsJG5ld19maWxlKTsKICAgICAgfQogICAgfQoKICAgICRvbGRfZGlyID0gbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9hdHRhY2htZW50X2Rpcigkb2xkX2lkKTsKICAgICRuZXdfZGlyID0gbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9hdHRhY2htZW50X2RpcigkbmV3X2lkKTsKICAgICRmaWxlcyA9IGdsb2IoJG9sZF9kaXIuJy8qJyk7CiAgICBpZiggaXNfYXJyYXkoJGZpbGVzKSAmJiBjb3VudCgkZmlsZXMpICkgewogICAgICBjZ2VfZGlyOjpta2RpcnIoJG5ld19kaXIpOwogICAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJG9sZF9maWxlICkgewoJJGJuID0gYmFzZW5hbWUoJG9sZF9maWxlKTsKCSRuZXdfZmlsZSA9ICRuZXdfZGlyLicvJy4kYm47CgkKCUBjb3B5KCRvbGRfZmlsZSwkbmV3X2ZpbGUpOwogICAgICB9CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlX2ZpbGUoJGZpbGUsJGlzX2ltYWdlID0gVFJVRSkKICB7CiAgICBpZiggJHRoaXMtPl9yZWFkb25seSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbihfX0NMQVNTX18uJyBpcyBpbiByZWFkb25seSBtb2RlLCBjYW5ub3QgYWRqdXN0IGZpbGVzJyk7CgogICAgaWYoICEkZmlsZSApIHJldHVybjsKICAgIGlmKCAkdGhpc1snaWQnXSA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ1lvdSBjYW5ub3QgZGVsZXRlIGZpbGVzIGZyb20gYSBjYW1wYWlnbiB3aXRoIG5vIGlkJyk7CiAgICAkZGlyID0gbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9pbWFnZV9kaXIoJHRoaXNbJ2lkJ10pOwogICAgaWYoICEkaXNfaW1hZ2UgKSAkZGlyID0gbG1fdXRpbHM6OmdldF9jYW1wYWlnbl9hdHRhY2htZW50X2RpcigkdGhpc1snaWQnXSk7CiAgICAkZmlsZXMgPSBnbG9iKCRkaXIuJy8qJy4kZmlsZSk7CiAgICBpZiggaXNfYXJyYXkoJGZpbGVzKSAmJiBjb3VudCgkZmlsZXMpICkgewogICAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJGZpbGUgKSB7CgkkdG1wID0gYmFzZW5hbWUoJGZpbGUpOwoJaWYoICFpc193cml0YWJsZSgkZmlsZSkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ1Blcm1pc3Npb25zIHByZXZlbnQgcmVtb3ZpbmcgaW1hZ2UgZmlsZSAnLiR0bXApOwogICAgICB9CiAgICAgIGZvcmVhY2goICRmaWxlcyBhcyAkZmlsZSApIHsKCUB1bmxpbmsoJGZpbGUpOwogICAgICB9CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkKICB7CiAgICBpZiggJHRoaXMtPl9yZWFkb25seSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbihfX0NMQVNTX18uJyBpcyBpbiByZWFkb25seSBtb2RlLCBjYW5ub3QgZGVsZXRlJyk7CgogICAgaWYoICR0aGlzWydpZCddIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IGRlbGV0ZSBjYW1wYWlnbiB0aGF0IGhhcyBubyBpZCcpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAvLyAxLiAgZGVsZXRlIGFsbCBvZiB0aGUgZmlsZXMKICAgICRkaXIgPSBsbV91dGlsczo6Z2V0X2NhbXBhaWduX2ltYWdlX2RpcigkdGhpc1snaWQnXSk7CiAgICBjZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoJGRpcik7CgogICAgLy8gMi4gIGRlbGV0ZSBhbGwgb2YgdGhlIGxlYWRzCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5MTV9MRUFEU19UQUJMRS4nIFdIRVJFIGNhbXBhaWduID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzWydpZCddKSk7CgogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuTE1fTEVBRERBVEFfVEFCTEUuJyBXSEVSRSBjYW1wYWlnbiA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snaWQnXSkpOwoKICAgIC8vIDMuICBkZWxldGUgYWxsIG9mIHRoZSBmaWVsZHMKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkxNX0ZJRUxEU19UQUJMRS4nIFdIRVJFIGNhbXBhaWduID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzWydpZCddKSk7CgogICAgLy8gNC4gIGRlbGV0ZSB0aGUgY2FtcGFpZ24gaXRzZWxmLgogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuTE1fQ0FNUEFJR05TX1RBQkxFLicgV0hFUkUgaWQgPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHRoaXNbJ2lkJ10pKTsKCiAgICB1bnNldCgkdGhpcy0+X2RhdGFbJ2lkJ10pOwogICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZmlsbF9mcm9tX2FycmF5KCRyb3csJGRlZXAgPSBGQUxTRSwkcHJlZml4ID0gJycpCiAgewogICAgaWYoICR0aGlzLT5fcmVhZG9ubHkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oX19DTEFTU19fLicgaXMgaW4gcmVhZG9ubHkgbW9kZSwgY2Fubm90IGZpbGwgdmFsdWVzJyk7CgogICAgJGtleXMgPSBhcnJheSgnaWQnLCdjcmVhdGVkJywnbW9kaWZpZWQnLCduYW1lJywna2V5d29yZCcsJ2NvbXBhbnlfaWQnLCdkZXNjcmlwdGlvbicsJ2ZpbmlzaGVkX21zZycsCgkJICAnc3RhcnRfZGF0ZScsJ2VuZF9kYXRlJywnZmllbGRzJywnZXh0ZXJuYWxfdXJsJywndGVtcGxhdGUnLCdleHRyYScsJ2xlYWRjb3VudCcsJ2NvbXBsZXRlY291bnQnLCd1bnZpZXdlZGNvdW50Jyk7CiAgICBmb3JlYWNoKCAka2V5cyBhcyAka2V5ICkgewogICAgICAka2tleSA9ICRrZXk7CiAgICAgIGlmKCAkcHJlZml4ICkgJGtrZXkgPSAkcHJlZml4LiRrZXk7CiAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgY2FzZSAnc3RhcnRfZGF0ZSc6CglpZiggaXNzZXQoJHJvd1ska2tleV0pICkgewoJICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkcm93WyRra2V5XTsKCX0KCWVsc2UgaWYoIGlzc2V0KCRyb3dbJGtrZXkuJ01vbnRoJ10pICkgewoJICAkdG1wID0gbWt0aW1lKDAsMCw1OSwkcm93WyRra2V5LidNb250aCddLCRyb3dbJGtrZXkuJ0RheSddLCRyb3dbJGtrZXkuJ1llYXInXSk7CgkgICR0aGlzLT5fZGF0YVska2V5XSA9ICR0bXA7CgkgIHVuc2V0KCRyb3dbJGtrZXkuJ01vbnRoJ10sJHJvd1ska2tleS4nRGF5J10sJHJvd1ska2tleS4nWWVhciddKTsKCX0KCSR0aGlzLT5fZGlydHkgPSBUUlVFOwoJYnJlYWs7CgogICAgICBjYXNlICdlbmRfZGF0ZSc6CglpZiggaXNzZXQoJHJvd1ska2tleV0pICkgewoJICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkcm93WyRra2V5XTsKCX0KCWVsc2UgaWYoIGlzc2V0KCRyb3dbJGtrZXkuJ01vbnRoJ10pICkgewoJICAkdGhpcy0+X2RhdGFbJGtleV0gPSBta3RpbWUoMjMsNTksMCwkcm93WyRra2V5LidNb250aCddLCRyb3dbJGtrZXkuJ0RheSddLCRyb3dbJGtrZXkuJ1llYXInXSk7CgkgIHVuc2V0KCRyb3dbJGtrZXkuJ01vbnRoJ10sJHJvd1ska2tleS4nRGF5J10sJHJvd1ska2tleS4nWWVhciddKTsKCX0KCSR0aGlzLT5fZGlydHkgPSBUUlVFOwoJYnJlYWs7CgogICAgICBjYXNlICduYW1lJzoKICAgICAgY2FzZSAna2V5d29yZCc6CiAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgY2FzZSAnZmluaXNoZWRfbXNnJzoKCSR0aGlzLT5fZGF0YVska2V5XSA9IHRyaW0oJHJvd1ska2tleV0pOwoJJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CglicmVhazsKCiAgICAgIGNhc2UgJ2NvbXBhbnlfaWQnOgoJJHRoaXMtPl9kYXRhWyRrZXldID0gKGludCkkcm93WyRra2V5XTsKCSR0aGlzLT5fZGlydHkgPSBUUlVFOwoJYnJlYWs7CgogICAgICBjYXNlICdleHRyYSc6CglpZiggaXNzZXQoJHJvd1ska2tleV0pICkgewoJICAkdGhpcy0+X2RhdGFbJGtleV0gPSB1bnNlcmlhbGl6ZSgkcm93WyRra2V5XSk7CgkgICR0aGlzLT5fZGlydHkgPSBUUlVFOwoJfQoJYnJlYWs7CgogICAgICBjYXNlICdleHRlcm5hbF91cmwnOgogICAgICBjYXNlICd0ZW1wbGF0ZSc6CglpZiggaXNzZXQoJHJvd1ska2tleV0pICkgewoJICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgKSAkdGhpcy0+X2RhdGFbJ2V4dHJhJ10gPSBhcnJheSgpOwoJICAkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0gPSB0cmltKCRyb3dbJGtrZXldKTsKCSAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7Cgl9CglicmVhazsKCiAgICAgIGNhc2UgJ2xlYWRjb3VudCc6CiAgICAgIGNhc2UgJ2NvbXBsZXRlY291bnQnOgogICAgICBjYXNlICd1bnZpZXdlZGNvdW50JzoKCWlmKCBpc3NldCgkcm93WyRra2V5XSkgKSAkdGhpcy0+X21ldGFkYXRhWyRrZXldID0gKGludCkkcm93WyRra2V5XTsKCS8vIG5vdCBkaXJ0eSwgbWF5YmU/CglicmVhazsKCiAgICAgIGNhc2UgJ2ZpZWxkcyc6CiAgICAgIGRlZmF1bHQ6CglpZiggaXNzZXQoJHJvd1ska2tleV0pICkgJHRoaXMtPl9kYXRhWyRrZXldID0gJHJvd1ska2tleV07CgkkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICAgfQogICAgfQogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkaWQsJGRlZXAgPSBGQUxTRSwkZnJvbXR5cGVzID0gRkFMU0UpCiAgewogICAgJGlkID0gKGludCkkaWQ7CgogICAgJGRiciA9IGxtX2NhbXBhaWduX3Jlc3VsdHNldDo6Z2V0X2N1cnJlbnRfZGF0YSgkaWQpOwogICAgaWYoICFpc19hcnJheSgkZGJyKSApIHsKICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5MTV9DQU1QQUlHTlNfVEFCTEUuJyBXSEVSRSBpZCA9ID8nOwogICAgICAkZGJyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRpZCkpOwogICAgfQogICAgaWYoICFpc19hcnJheSgkZGJyKSApIHRocm93IG5ldyBMb2FkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IGxvYWQgJy5fX0NMQVNTX18uJyB3aXRoIGlkICcuJGlkKTsKICAgCiAgICAkb2JqID0gbmV3IGxtX2NhbXBhaWduOwogICAgJG9iai0+ZmlsbF9mcm9tX2FycmF5KCRkYnIpOwogICAgaWYoICRkZWVwICkgewogICAgICAkb2JqLT5fbG9hZF9kZWVwKCk7CiAgICAgIGlmKCAkZnJvbXR5cGVzICkgewoJLy8gZmlsbCBmaWVsZCBvcHRpb25zIGZyb20gdHlwZXMgKGlmIG9wdGlvbnMgYXJlIGVtcHR5KQoJJHR5cGVsaXN0ID0gYXJyYXkoKTsKCSRmaWVsZGluZGV4ZXMgPSBhcnJheSgpOwoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJG9iai0+X2ZpZWxkcyk7ICRpKysgKSB7CgkgICRmbGQgPSAkb2JqLT5fZmllbGRzWyRpXTsKCSAgaWYoICgkdHlwZWlkID0gKGludCkkZmxkWyd0eXBlJ10pIDwgMSApIGNvbnRpbnVlOyAvLyBjaGVjayBmb3IgZXh0ZW5kZWQgdHlwZXMgb25seS4KCSAgaWYoICRmbGRbJ29wdGlvbnRleHQnXSAhPSAnJyApIGNvbnRpbnVlOyAvLyBvcHRpb25zIGFyZSBvdmVycmlkZGVuIChvciBpdCBpcyBhbiBleHRlbmRlZCB0ZXh0Ym94L3RleHRhcmVhL2NoZWNrYm94KQoJICAkdHlwZWxpc3RbXSA9ICR0eXBlaWQ7CgkgICRmaWVsZGluZGV4ZXNbXSA9ICRpOwoJfQoJaWYoIGlzX2FycmF5KCR0eXBlbGlzdCkgJiYgY291bnQoJHR5cGVsaXN0KSApIHsKCSAgLy8gdGhlcmUgYXJlIHNvbWUgY3VzdG9tIGZpZWxkcyB0byBvdmVycmlkZS4KCSAgJHR5cGVzID0gbG1fZmllbGR0eXBlOjpsb2FkX3NldCgkdHlwZWxpc3QpOwoJICBpZiggaXNfYXJyYXkoJHR5cGVzKSAmJiBjb3VudCgkdHlwZXMpICkgewoJICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0eXBlcyk7ICRpKysgKSB7CgkgICAgICAkdHlwZSA9ICR0eXBlc1skaV07CgkgICAgICBpZiggIWluX2FycmF5KCR0eXBlWydiYXNldHlwZSddLGFycmF5KGxtX2ZpZWxkOjpGSUVMRF9EUk9QRE9XTixsbV9maWVsZDo6RklFTERfTVVMVElTRUwpKSApIGNvbnRpbnVlOwoJICAgICAgJGlkeCA9ICRmaWVsZGluZGV4ZXNbJGldOwoJICAgICAgJG9iai0+X2ZpZWxkc1skaWR4XVsnb3B0aW9udGV4dCddID0gJHR5cGVbJ29wdGlvbnRleHQnXTsKCSAgICB9CgkgIH0KCX0KICAgICAgfQogICAgfQogICAgJG9iai0+X2RpcnR5ID0gRkFMU0U7CiAgICByZXR1cm4gJG9iajsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJmxvYWRfYnlfa2V5d29yZCgka2V5d29yZCwkZGVlcCA9IEZBTFNFKQogIHsKICAgICRrZXl3b3JkID0gdHJpbSgka2V5d29yZCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9MRUFETUFOQUdFUik7CiAgICBpZiggISRrZXl3b3JkICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgICAKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0NBTVBBSUdOU19UQUJMRS4nIFdIRVJFIGtleXdvcmQgPSA/IEFORCAoVU5JWF9USU1FU1RBTVAoKSBCRVRXRUVOIHN0YXJ0X2RhdGUgQU5EIGVuZF9kYXRlKSc7CiAgICAkZGJyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRrZXl3b3JkKSk7CiAgICBpZiggIWlzX2FycmF5KCRkYnIpIHx8IGNvdW50KCRkYnIpID09IDAgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0Nhbm5vdCBmaW5kIGFjdGl2ZSBjYW1wYWlnbiB3aXRoIGtleXdvcmQgJy4ka2V5d29yZCk7CgogICAgJG9iaiA9IG5ldyBsbV9jYW1wYWlnbjsKICAgICRvYmotPmZpbGxfZnJvbV9hcnJheSgkZGJyKTsKICAgIGlmKCAkZGVlcCApICRvYmotPl9sb2FkX2RlZXAoKTsKICAgICRvYmotPl9kaXJ0eSA9IEZBTFNFOwogICAgcmV0dXJuICRvYmo7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfYWxsKCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5MTV9DQU1QQUlHTlNfVEFCTEUuJyBPUkRFUiBCWSBlbmRfZGF0ZSBERVNDLG1vZGlmaWVkIERFU0MnOwogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCiAgICBpZiggIWlzX2FycmF5KCRkYnIpIHx8IGNvdW50KCRkYnIpID09IDAgKSByZXR1cm47CiAgICAgIAogICAgJG91dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkZGJyIGFzICRyb3cgKSB7CiAgICAgICRvYmogPSBuZXcgbG1fY2FtcGFpZ247CiAgICAgICRvYmotPmZpbGxfZnJvbV9hcnJheSgkcm93KTsKICAgICAgJG9iai0+X2RpcnR5ID0gRkFMU0U7CiAgICAgICRvdXRbXSA9ICRvYmo7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9hY3RpdmUoKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0NBTVBBSUdOU19UQUJMRS4nIFdIRVJFIFVOSVhfVElNRVNUQU1QKCkgQkVUV0VFTiBzdGFydF9kYXRlIEFORCBlbmRfZGF0ZSBPUkRFUiBCWSBlbmRfZGF0ZSBERVNDLG1vZGlmaWVkIERFU0MnOwogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCiAgICBpZiggIWlzX2FycmF5KCRkYnIpIHx8IGNvdW50KCRkYnIpID09IDAgKSByZXR1cm47CiAgICAgIAogICAgJG91dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkZGJyIGFzICRyb3cgKSB7CiAgICAgICRvYmogPSBuZXcgbG1fY2FtcGFpZ247CiAgICAgICRvYmotPmZpbGxfZnJvbV9hcnJheSgkcm93KTsKICAgICAgJG9iai0+X2RpcnR5ID0gRkFMU0U7CiAgICAgICRvdXRbXSA9ICRvYmo7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9zZXQoJGxpc3QpCiAgewogICAgaWYoICFpc19hcnJheSgkbGlzdCkgKSAkbGlzdCA9IGFycmF5KCRsaXN0KTsKCiAgICAvLyBjbGVhbiB1cCB0aGUgbGlzdAogICAgJG91dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkbGlzdCBhcyAkb25lICkgewogICAgICAkb25lID0gKGludCkkb25lOwogICAgICBpZiggJG9uZSA+IDAgKSAkb3V0W10gPSAkb25lOwogICAgfQogICAgJGxpc3QgPSBhcnJheV91bmlxdWUoJG91dCk7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuTE1fQ0FNUEFJR05TX1RBQkxFLicgV0hFUkUgaWQgSU4gKCcuaW1wbG9kZSgnLCcsJGxpc3QpLicpJzsKICAgICRkYnIgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgogICAgaWYoICFpc19hcnJheSgkZGJyKSB8fCBjb3VudCgkZGJyKSA9PSAwICkgcmV0dXJuOwogICAgICAKICAgICRvdXQgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGRiciBhcyAkcm93ICkgewogICAgICAkb2JqID0gbmV3IGxtX2NhbXBhaWduOwogICAgICAkb2JqLT5maWxsX2Zyb21fYXJyYXkoJHJvdyk7CiAgICAgICRvYmotPl9kaXJ0eSA9IEZBTFNFOwogICAgICAkb3V0W10gPSAkb2JqOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Zvcm1fdXJsKCRyZXR1cm5pZCA9IG51bGwpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfTEVBRE1BTkFHRVIpOwogICAgaWYoICEkcmV0dXJuaWQgKSAkcmV0dXJuaWQgPSBsbV91dGlsczo6Z2V0X2Zvcm1fZGlzcGxheV9wYWdlKCk7CiAgICAkcHJlZml4ID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndXJscHJlZml4Jyk7CiAgICBpZiggISRwcmVmaXggKSAkcHJlZml4ID0gJ2NhbXBhaWduJzsKICAgICRwcmV0dHkgPSAiJHByZWZpeC8iLiR0aGlzWydpZCddLiIvJHJldHVybmlkLyIubXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGhpc1snbmFtZSddKTsKICAgIHJldHVybiAkbW9kLT5jcmVhdGVfdXJsKCdjbnRudDAxJywnZmVfbGVhZCcsJHJldHVybmlkLGFycmF5KCdjYW1wYWlnbic9PiR0aGlzWydpZCddKSxGQUxTRSxGQUxTRSwkcHJldHR5KTsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_campaign_pagination.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2NhbXBhaWduX3BhZ2luYXRpb24gZXh0ZW5kcyBsbV9sZWFkbWdyX3BhZ2luYXRpb24KewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChsbV9jYW1wYWlnbl9yZXN1bHRzZXQgJHJzLGxtX2NhbXBhaWduX3F1ZXJ5ICRxdWVyeSwkcmV0dXJuaWQgPSBudWxsKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJHJzLCRxdWVyeSwkcmV0dXJuaWQpOwogICAgJHRoaXMtPnNldF9vcHRpb25zKGFycmF5KCdhY3Rpb24nPT4nY2FtcGFpZ25saXN0JykpOwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_campaign_query.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2NhbXBhaWduX3F1ZXJ5IGV4dGVuZHMgbG1fbGVhZG1ncl9xdWVyeQp7CiAgLyoga2V5cyBhcmUgYWRkaXRpdmUgKEFORCkKICAgICAgIGNhbXBhaWduOiAoaW50ZWdlcikgZmlsdGVyIG9uIHNpbmdsZSBjYW1wYWlnbgogICAgICAgY2FtcGFpZ25fbGlzdDogKGFycmF5IG9mIGludGVnZXJzKSBmaWx0ZXIgb24gbXVsdGlwbGUgY2FtcGFpZ25zCiAgICAgICBjb21wYW55OiAgKGludGVnZXIpIGZpbHRlciBvbiBzaW5nbGUgY29tcGFueSBpZAogICAgICAgY29tcGFueV9saXN0OiAoYXJyYXkgb2YgaW50ZWdlcnMpIGZpbHRlciBvbiBtdWx0aXBsZSBjb21wYW5pZXMKICAgICAgICAgLS0gb25seSBvbmUgb2YgdGhlIGFib3ZlIHBhcmFtcyBjYW4gYmUgdXNlZC4KICAgICAgIGFjdGl2ZTogKGludGVnZXIgMCBvciAxKQogICAgICAga2V5d29yZDogc3RyaW5nCiAgICAgICBsaW1pdDogKGludGVnZXIgMSB0byAxMDAwKQogICAgICAgb2Zmc2V0OiAoaW50ZWdlciAwIGFuZCBncmVhdGVyKQogICAgICAgc3RhdHM6IChib29sZWFuKSBnYXRoZXIgY291bnQgb2YgbGVhZHMsIGNvbXBsZXRlIGxlYWRzLCBhbmQgdmlld2VkIGxlYWRzCiAgKi8KICAvLyB0b2RvOiBzdGFydF9kYXRlLCBlbmRfZGF0ZSwgY3JlYXRlZCwgbW9kaWZpZWQsIHNvcnRpbmcsIG5sZWFkcwogIHByaXZhdGUgJF9kYXRhOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG9wdGlvbnMgPSBhcnJheSgpKQogIHsKICAgIC8vJGRmbHQgPSBhcnJheSgnYWN0aXZlJz0+MSwnbGltaXQnPT4yNTAsJ29mZnNldCc9PjAsJ2JhcmUnPT4xKTsKICAgICR0aGlzLT5fZGF0YSA9ICRvcHRpb25zOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldEdldCgka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2NvbXBhbnlfaWQnOgogICAgY2FzZSAnY2FtcGFpZ24nOgogICAgY2FzZSAnbGltaXQnOgogICAgY2FzZSAnb2Zmc2V0JzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gKGludCkkdGhpcy0+X2RhdGFbJGtleV07CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2tleXdvcmQnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHJldHVybiB0cmltKCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NvbXBhbnlfbGlzdCc6CiAgICBjYXNlICdjYW1wYWlnbl9saXN0JzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICBicmVhazsKICAgIAogICAgY2FzZSAnc3RhdHMnOgogICAgY2FzZSAnYWN0aXZlJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gKGJvb2wpJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICBicmVhazsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRTZXQoJGtleSwkdmFsdWUpCiAgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAna2V5d29yZCc6CiAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICBpZiggJHZhbCApICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWw7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2xpbWl0JzoKICAgICAgJHZhbCA9IChpbnQpJHZhbDsKICAgICAgJHZhbCA9IG1pbigxMDAwLCR2YWwpOyAvLyBsaW1pdCBtYXhpbXVtIGlzIDEwMDAKICAgICAgaWYoICR2YWwgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkICcuJGtleS4nIHBhc3NlZCB0byAnLl9fQ0xBU1NfXyk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWw7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgICAgJHZhbCA9IChpbnQpJHZhbDsKICAgICAgaWYoICR2YWwgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkICcuJGtleS4nIHBhc3NlZCB0byAnLl9fQ0xBU1NfXyk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWw7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnY2FtcGFpZ25fbGlzdCddKTsKICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydjb21wYW55X2xpc3QnXSk7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnY29tcGFueV9pZCddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnY29tcGFueSc6CiAgICAgICR2YWwgPSAoaW50KSR2YWw7CiAgICAgIGlmKCAkdmFsIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCAnLiRrZXkuJyBwYXNzZWQgdG8gJy5fX0NMQVNTX18pOwogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsOwogICAgICB1bnNldCgkdGhpcy0+X2RhdGFbJ2NhbXBhaWduX2xpc3QnXSk7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnY29tcGFueV9saXN0J10pOwogICAgICB1bnNldCgkdGhpcy0+X2RhdGFbJ2NhbXBhaWduJ10pOwogICAgICBicmVhazsKCiAgICBjYXNlICdjYW1wYWlnbl9saXN0JzoKICAgICAgaWYoICFpc19hcnJheSgkdmFsKSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCAnLiRrZXkuJyBwYXNzZWQgdG8gJy5fX0NMQVNTX18pOwogICAgICAkdG1wID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHZhbCBhcyAkb25lICkgewoJJG9uZSA9IChpbnQpJG9uZTsKCWlmKCAkb25lID4gMCApICR0bXBbXSA9ICRvbmU7CiAgICAgIH0KICAgICAgJHRtcCA9IGFycmF5X3VuaXF1ZSgkdG1wKTsKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHRtcDsKICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydjYW1wYWlnbiddKTsKICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydjb21wYW55X2xpc3QnXSk7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnY29tcGFueV9pZCddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnY29tcGFueV9saXN0JzoKICAgICAgaWYoICFpc19hcnJheSgkdmFsKSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCAnLiRrZXkuJyBwYXNzZWQgdG8gJy5fX0NMQVNTX18pOwogICAgICAkdG1wID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHZhbCBhcyAkb25lICkgewoJJG9uZSA9IChpbnQpJG9uZTsKCWlmKCAkb25lID4gMCApICR0bXBbXSA9ICRvbmU7CiAgICAgIH0KICAgICAgJHRtcCA9IGFycmF5X3VuaXF1ZSgkdG1wKTsKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHRtcDsKICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydjYW1wYWlnbiddKTsKICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydjYW1wYWlnbl9saXN0J10pOwogICAgICB1bnNldCgkdGhpcy0+X2RhdGFbJ2NvbXBhbnlfaWQnXSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ29mZnNldCc6CiAgICAgICR2YWwgPSAoaW50KSR2YWw7CiAgICAgIGlmKCAkdmFsIDwgMCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCAnLiRrZXkuJyBwYXNzZWQgdG8gJy5fX0NMQVNTX18pOwogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsOwogICAgICAKICAgIGNhc2UgJ3N0YXRzJzoKICAgIGNhc2UgJ2FjdGl2ZSc6CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IGNtc190b19ib29sKCR2YWwpOwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQga2V5ICcuJGtleS4nIGZvciAnLl9fQ0xBU1NfXyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0RXhpc3RzKCRrZXkpCiAgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAna2V5d29yZCc6CiAgICBjYXNlICdsaW1pdCc6CiAgICBjYXNlICdvZmZzZXQnOgogICAgY2FzZSAnY2FtcGFpZ24nOgogICAgY2FzZSAnY2FtcGFpZ25fbGlzdCc6CiAgICBjYXNlICdjb21wYW55X2lkJzoKICAgIGNhc2UgJ2NvbXBhbnlfbGlzdCc6CiAgICBjYXNlICdzdGF0cyc6CiAgICBjYXNlICdhY3RpdmUnOgogICAgICByZXR1cm4gKGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkpP1RSVUU6RkFMU0U7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBrZXkgJy4ka2V5LicgZm9yICcuX19DTEFTU19fKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRVbnNldCgka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2tleXdvcmQnOgogICAgY2FzZSAnbGltaXQnOgogICAgY2FzZSAnb2Zmc2V0JzoKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgIGNhc2UgJ2NhbXBhaWduX2xpc3QnOgogICAgY2FzZSAnY29tcGFueV9pZCc6CiAgICBjYXNlICdjb21wYW55X2xpc3QnOgogICAgY2FzZSAnc3RhdHMnOgogICAgY2FzZSAnYWN0aXZlJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSB1bnNldCgkdGhpcy0+X2RhdGFbJGtleV0pOwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQga2V5ICcuJGtleS4nIGZvciAnLl9fQ0xBU1NfXyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoKQogIHsKICAgIGlmKCBjb3VudCgkdGhpcy0+X2RhdGEpID09IDAgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgJy5fX0NMQVNTX18pOwogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2xpbWl0J10pICkgJHRoaXMtPl9kYXRhWydsaW1pdCddID0gMTAwMDsKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydvZmZzZXQnXSkgKSAkdGhpcy0+X2RhdGFbJ29mZnNldCddID0gMDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiAmZXhlY3V0ZSgpCiAgewogICAgJHRoaXMtPnZhbGlkYXRlKCk7CiAgICAkb2JqID0gbmV3IGxtX2NhbXBhaWduX3Jlc3VsdHNldCgkdGhpcyk7CiAgICByZXR1cm4gJG9iajsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfcGFyYW1zKCkKICB7CiAgICAkdG1wID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICR0aGlzLT5fZGF0YSBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgIGlmKCBpc19hcnJheSgkdmFsKSApICR2YWwgPSBzZXJpYWxpemUoJHZhbCk7CiAgICAgICR0bXBbJ2xtXycuJGtleV0gPSAkdmFsOwogICAgfQogICAgcmV0dXJuICR0bXA7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_campaign_resultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2NhbXBhaWduX3Jlc3VsdHNldCBleHRlbmRzIGxtX2xlYWRtZ3JfcmVzdWx0c2V0CnsKICBwcml2YXRlIHN0YXRpYyAkX3NhdmVkOwoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3F1ZXJ5KCkKICB7CiAgICAkdGhpcy0+X3F1ZXJ5LT52YWxpZGF0ZSgpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkam9pbnMgPSBhcnJheSgpOwogICAgJHdoZXJlID0gYXJyYXkoKTsKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAkZmllbGRzID0gYXJyYXkoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgU1FMX0NBTENfRk9VTkRfUk9XUyAlZmllbGRzJSBGUk9NICcuTE1fQ0FNUEFJR05TX1RBQkxFLicgQyc7CgogICAgJGZpZWxkc1tdID0gJ0MuKic7CgogICAgaWYoIGlzc2V0KCR0aGlzLT5fcXVlcnlbJ3N0YXRzJ10pICYmICR0aGlzLT5fcXVlcnlbJ3N0YXRzJ10gKSB7CiAgICAgICRqb2luc1tdID0gTE1fTEVBRFNfVEFCTEUuJyBMIE9OIEMuaWQgPSBMLmNhbXBhaWduJzsKICAgICAgJGZpZWxkc1tdID0gJ1NVTShDQVNFIFdIRU4gc3RhdHVzICE9IFwnYmFkXCcgVEhFTiAxIEVMU0UgMCBFTkQpIEFTIGxlYWRjb3VudCc7CiAgICAgICRmaWVsZHNbXSA9ICdTVU0oQ0FTRSBXSEVOIHN0YXR1cyA9IFwnY29tcGxldGVcJyBUSEVOIDEgRUxTRSAwIEVORCkgQVMgY29tcGxldGVjb3VudCc7CiAgICAgICRmaWVsZHNbXSA9ICdTVU0oQ0FTRSBXSEVOIHN0YXR1cyA9IFwnY29tcGxldGVcJyBBTkQgQ09BTEVTQ0Uodmlld2VkLDApID0gMCBUSEVOIDEgRUxTRSAwIEVORCkgQVMgdW52aWV3ZWRjb3VudCc7CiAgICB9CgogICAgaWYoIGlzc2V0KCR0aGlzLT5fcXVlcnlbJ2NhbXBhaWduJ10pICkgewogICAgICAkd2hlcmVbXSA9ICdDLmlkID0gPyc7CiAgICAgICRwYXJtc1tdID0gJHRoaXMtPl9xdWVyeVsnY2FtcGFpZ24nXTsKICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCR0aGlzLT5fcXVlcnlbJ2NhbXBhaWduX2xpc3QnXSkgKSB7CiAgICAgICR3aGVyZVtdID0gJ0MuaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHRoaXMtPl9xdWVyeVsnY2FtcGFpZ25fbGlzdCddKS4nKSc7CiAgICB9CiAgICBlbHNlIGlmKCBpc3NldCgkdGhpcy0+X3F1ZXJ5Wydjb21wYW55X2lkJ10pICkgewogICAgICAkd2hlcmVbXSA9ICdDLmNvbXBhbnlfaWQgPSA/JzsKICAgICAgJHBhcm1zW10gPSAkdGhpcy0+X3F1ZXJ5Wydjb21wYW55X2lkJ107CiAgICB9CiAgICBlbHNlIGlmKCBpc3NldCgkdGhpcy0+X3F1ZXJ5Wydjb21wYW55X2xpc3QnXSkgKSB7CiAgICAgICR3aGVyZVtdID0gJ0MuY29tcGFueV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkdGhpcy0+X3F1ZXJ5Wydjb21wYW55X2xpc3QnXSkuJyknOwogICAgfQoKICAgIGlmKCBpc3NldCgkdGhpcy0+X3F1ZXJ5WydhY3RpdmUnXSkgKSB7CiAgICAgIGlmKCAkdGhpcy0+X3F1ZXJ5WydhY3RpdmUnXSApIHsKCSR3aGVyZVtdID0gJ1VOSVhfVElNRVNUQU1QKCkgQkVUV0VFTiBDLnN0YXJ0X2RhdGUgQU5EIEMuZW5kX2RhdGUnOwogICAgICB9CiAgICAgIGVsc2UgewoJJHdoZXJlW10gPSAnVU5JWF9USU1FU1RBTVAoKSBOT1QgQkVUV0VFTiBDLnN0YXJ0X2RhdGUgQU5EIEMuZW5kX2RhdGUnOwogICAgICB9CiAgICB9CgogICAgaWYoIGlzc2V0KCR0aGlzLT5fcXVlcnlbJ2tleXdvcmQnXSkgJiYgJHRoaXMtPl9xdWVyeVsna2V5d29yZCddICkgewogICAgICAka3cgPSAkdGhpcy0+X3F1ZXJ5WydrZXl3b3JkJ107CiAgICAgIGlmKCBzdHJwb3MoJGt3LCcqJykgIT09IEZBTFNFIHx8IHN0cnBvcygka3csJyUnKSAhPT0gRkFMU0UgKSB7Cgkka3cgPSBzdHJfcmVwbGFjZSgnKicsJyUnLCRrdyk7Cgkkd2hlcmVbXSA9ICdDLmtleXdvcmQgTElLRSA/JzsKICAgICAgfSBlbHNlIHsKCSR3aGVyZVtdID0gJ0Mua2V5d29yZCA9ID8nOwogICAgICB9CiAgICAgICRwYXJtc1tdID0gJGt3OwogICAgfQoKICAgIC8vCiAgICAvLyBxdWVyeSBhc3NlbWJseQogICAgLy8KICAgICRxdWVyeSA9IHN0cl9yZXBsYWNlKCclZmllbGRzJScsaW1wbG9kZSgnLCcsJGZpZWxkcyksJHF1ZXJ5KTsKICAgIGlmKCBjb3VudCgkam9pbnMpICkgJHF1ZXJ5IC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CiAgICBpZiggY291bnQoJHdoZXJlKSApICRxdWVyeSAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9xdWVyeVsnc3RhdHMnXSkgJiYgJHRoaXMtPl9xdWVyeVsnc3RhdHMnXSApICAkcXVlcnkgLj0gJyBHUk9VUCBCWSBDLmlkJzsKICAgICRxdWVyeSAuPSAnIE9SREVSIEJZIEMubW9kaWZpZWQgREVTQyc7CgogICAgJG9mZnNldCA9IGlzc2V0KCR0aGlzLT5fcXVlcnlbJ29mZnNldCddKT8oaW50KSR0aGlzLT5fcXVlcnlbJ29mZnNldCddOjA7CiAgICAkb2Zmc2V0ID0gbWF4KDAsJG9mZnNldCk7CiAgICAkbGltaXQgPSBpc3NldCgkdGhpcy0+X3F1ZXJ5WydsaW1pdCddKT8oaW50KSR0aGlzLT5fcXVlcnlbJ2xpbWl0J106MDsKICAgICRsaW1pdCA9IG1heCgxLG1pbigxMDAwLCRsaW1pdCkpOwogICAgJHRoaXMtPl9yZXN1bHRzZXQgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeSwkbGltaXQsJG9mZnNldCwkcGFybXMpOwogICAgaWYoICEkdGhpcy0+X3Jlc3VsdHNldCApIHRocm93IG5ldyBFeGNlcHRpb24oJ0lOVEVSTkFMIEVSUk9SOiBRdWVyeSBmYWlsZWQgLSAnLiRkYi0+c3FsLicgLS0gJy4kZGItPkVycm9yTXNnKCkpOwogICAgJHRoaXMtPl9ubWF0Y2hpbmcgPSAkZGItPkdldE9uZSgnU0VMRUNUIEZPVU5EX1JPV1MoKScpOwogICAgJHRoaXMtPl9xdWVyaWVkID0gVFJVRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogIHsKICAgIHJldHVybiBwYXJlbnQ6Ol9fZ2V0KCRrZXkpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY3VycmVudF9kYXRhKCRpZCkKICB7CiAgICAkaWQgPSAoaW50KSRpZDsKICAgIGlmKCBpc19hcnJheShzZWxmOjokX3NhdmVkKSAmJiBzZWxmOjokX3NhdmVkWydpZCddID09ICRpZCApIHJldHVybiBzZWxmOjokX3NhdmVkOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uICZHZXRPYmplY3QoKQogIHsKICAgICRyZWMgPSAkdGhpcy0+ZmllbGRzOwogICAgJG9iaiA9IG51bGw7CiAgICBpZiggaXNfYXJyYXkoJHJlYykgJiYgY291bnQoJHJlYykgKSB7CiAgICAgIHNlbGY6OiRfc2F2ZWQgPSAkcmVjOwogICAgICAkb2JqID0gbG1fY2FtcGFpZ246OmxvYWRfYnlfaWQoJHJlY1snaWQnXSk7CiAgICAgIHNlbGY6OiRfc2F2ZWQgPSBudWxsOwogICAgfQogICAgcmV0dXJuICRvYmo7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gJkdldFBhZ2luYXRpb24oKQogIHsKICAgICRvYmogPSBudWxsOwogICAgaWYoICEkdGhpcy0+X3F1ZXJpZWQgKSAkdGhpcy0+X3F1ZXJ5KCk7CiAgICBpZiggISR0aGlzLT5fcmVzdWx0c2V0ICkgcmV0dXJuICRvYmo7CgogICAgJG9iaiA9IG5ldyBsbV9jYW1wYWlnbl9wYWdpbmF0aW9uKCR0aGlzLCR0aGlzLT5fcXVlcnkpOwogICAgcmV0dXJuICRvYmo7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_emailnotifier.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2VtYWlsbm90aWZpZXIgaW1wbGVtZW50cyBTcGxPYnNlcnZlcgp7CiAgcHJpdmF0ZSBmdW5jdGlvbiBfbm90aWZ5X2d1ZXN0KGxtX2NhbXBhaWduICRjYW1wYWlnbiwgbG1fbGVhZCAkbGVhZCwgJGNvbXBhbnkpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnTGVhZE1hbmFnZXInKTsKICAgIGlmKCAhJG1vZC0+R2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm0nLDEpICkgcmV0dXJuOwoKICAgIHRyeSB7CiAgICAgICRlbWFpbCA9ICRsZWFkWydlbWFpbCddOwogICAgICBpZiggIWlzX2VtYWlsKCRlbWFpbCkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgZW1haWwgYWRkcmVzcyAiJy4kZW1haWwuJyIgc3BlY2lmaWVkIGJ5IGd1ZXN0Jyk7CgogICAgICAkbWFpbGVyID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDTVNNYWlsZXInKTsKICAgICAgJG1haWxlci0+cmVzZXQoKTsKICAgICAgJG1haWxlci0+SXNIVE1MKHRydWUpOwogICAgICAkbWFpbGVyLT5BZGRBZGRyZXNzKCRlbWFpbCk7CiAgICAgICRtYWlsZXItPlNldFN1YmplY3QoJG1vZC0+R2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm1fc3ViamVjdCcsJ1RoYW5rIHlvdSBmb3IgeW91ciBpbnF1aXJ5JykpOwogICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICRzbWFydHktPmFzc2lnbignY2FtcGFpZ24nLCRjYW1wYWlnbik7CiAgICAgICRzbWFydHktPmFzc2lnbignbGVhZCcsJGxlYWQpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2NvbXBhbnknLCRjb21wYW55KTsKICAgICAgJHRwbCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2xlYWRjb25maXJtX2JvZHl0cGwnKTsKICAgICAgJGJvZHkgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJHRwbCk7CiAgICAgIGlmKCAkYm9keSApIHsKCSRtYWlsZXItPlNldEJvZHkoJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiR0cGwpKTsKCSRtYWlsZXItPlNlbmQoKTsKCWF1ZGl0KCcnLCdMZWFkTWFuYWdlciAtIEVtYWlsTm90aWZpZXInLCdFbWFpbCBzZW50IHRvICcuJGVtYWlsKTsKICAgICAgfQogICAgfQogICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgYXVkaXQoJycsJ0xlYWRNYW5hZ2VyIC0gRW1haWxOb3RpZmllcicsJGUtPkdldE1lc3NhZ2UoKSk7CiAgICB9CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIF9ub3RpZnlfZGVhbGVyKGxtX2NhbXBhaWduICRjYW1wYWlnbiwgbG1fbGVhZCAkbGVhZCwgJGNvbXBhbnkpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnTGVhZE1hbmFnZXInKTsKICAgIGlmKCAhJG1vZC0+R2V0UHJlZmVyZW5jZSgnbm90aWZ5bGVhZHMnLDEpICkgcmV0dXJuOwoKICAgIHRyeSB7CiAgICAgICRlbWFpbCA9IG51bGw7CiAgICAgIGlmKCAkY29tcGFueS0+b3duZXJfaWQgPiAwICkgewoJJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwoJaWYoICEkZmV1ICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdDb3VsZCBub3QgZmluZCBpbnN0YW5jZSBvZiBGcm9udEVuZFVzZXJzJyk7CgoJJGVtYWlsID0gJGZldS0+R2V0RW1haWwoJGNvbXBhbnktPm93bmVyX2lkKTsKICAgICAgfQogICAgICBpZiggISRlbWFpbCApICRlbWFpbCA9ICRjb21wYW55LT5jb250YWN0X2VtYWlsOwoKICAgICAgLy8gZ2V0IGFuIGVtYWlsIGFkZHJlc3MgZ2l2ZW4gdGhlIGNvbXBhbnlfaWQKICAgICAgaWYoICEkZW1haWwgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0NvdWxkIG5vdCByZXRyaWV2ZSBhIHZhbGlkIGVtYWlsIGFkZHJlc3MgZm9yICcuJGNvbXBhbnlfaWQpOwoKICAgICAgJG1haWxlciA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ01TTWFpbGVyJyk7CiAgICAgICRtYWlsZXItPnJlc2V0KCk7CiAgICAgICRtYWlsZXItPklzSFRNTCh0cnVlKTsKICAgICAgJG1haWxlci0+QWRkQWRkcmVzcygkZW1haWwpOwogICAgICAkbWFpbGVyLT5TZXRTdWJqZWN0KCRtb2QtPkdldFByZWZlcmVuY2UoJ25vdGlmeWxlYWRzX3N1YmplY3QnLCdZb3UgaGF2ZSBhIG5ldyBsZWFkJykpOwogICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICRzbWFydHktPmFzc2lnbignY2FtcGFpZ24nLCRjYW1wYWlnbik7CiAgICAgICRzbWFydHktPmFzc2lnbignbGVhZCcsJGxlYWQpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2NvbXBhbnknLCRjb21wYW55KTsKICAgICAgJHRwbCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ25vdGlmeWxlYWRzX2JvZHl0cGwnKTsKICAgICAgJGJvZHkgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJHRwbCk7CiAgICAgIGlmKCAkYm9keSApIHsKCSRtYWlsZXItPlNldEJvZHkoJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiR0cGwpKTsKCSRtYWlsZXItPlNlbmQoKTsKCWF1ZGl0KCcnLCdMZWFkTWFuYWdlciAtIEVtYWlsTm90aWZpZXInLCdFbWFpbCBzZW50IHRvICcuJGVtYWlsKTsKICAgICAgfQogICAgfQogICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgYXVkaXQoJycsJ0xlYWRNYW5hZ2VyIC0gRW1haWxOb3RpZmllcicsJGUtPkdldE1lc3NhZ2UoKSk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdXBkYXRlKFNwbFN1YmplY3QgJHN1YmplY3QpCiAgewogICAgaWYoICEoJHN1YmplY3QgaW5zdGFuY2VvZiBsbV9sZWFkKSApIHJldHVybjsKICAgIGlmKCAkc3ViamVjdFsnaWQnXSA8IDEgfHwgJHN1YmplY3RbJ3N0YXR1cyddICE9IGxtX2xlYWQ6OlNUQVRVU19DT01QTEVURSApIHJldHVybjsKICAgIGlmKCAkc3ViamVjdFsndmlld2VkJ10gPiAwICkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoKICAgIC8vCiAgICAvLyBzZW5kIGEgbm90aWZpY2F0aW9uIHRvIHRoZSBkZWFsZXJzaGlwCiAgICAvLwogICAgdHJ5IHsKICAgICAgLy8gZ2V0IHRoZSBjYW1wYWlnbiBnaXZlbiB0aGUgbGVhZAogICAgICAkY2FtcGFpZ24gPSBsbV9jYW1wYWlnbjo6bG9hZF9ieV9pZCgkc3ViamVjdFsnY2FtcGFpZ24nXSk7CiAgICAgIAogICAgICAvLyBnZXQgdGhlIGNvbXBhbnkgZ2l2ZW4gdGhlIGNvbXBhbnlfaWQKICAgICAgJGNvbXBhbnlfaWQgPSAkY2FtcGFpZ25bJ2NvbXBhbnlfaWQnXTsKICAgICAgaWYoICRjb21wYW55X2lkIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBjb21wYW55X2lkIGZvciBjYW1wYWlnbiAnLiRzdWJqZWN0WydjYW1wYWlnbiddKTsKCiAgICAgICRjb21wYW55ID0gbG1fdXRpbHM6OmdldF9jb21wYW55KCRjb21wYW55X2lkKTsKCiAgICAgICR0aGlzLT5fbm90aWZ5X2RlYWxlcigkY2FtcGFpZ24sJHN1YmplY3QsJGNvbXBhbnkpOwogICAgICAkdGhpcy0+X25vdGlmeV9ndWVzdCgkY2FtcGFpZ24sJHN1YmplY3QsJGNvbXBhbnkpOwogICAgfQogICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgYXVkaXQoJycsJ0xlYWRNYW5hZ2VyIC0gRW1haWxOb3RpZmllcicsJGUtPkdldE1lc3NhZ2UoKSk7CiAgICB9CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2ZpZWxkIGltcGxlbWVudHMgQXJyYXlBY2Nlc3MKewogIGNvbnN0IEZJRUxEX1RFWFRCT1ggPSAndGV4dGJveCc7CiAgY29uc3QgRklFTERfVEVYVEFSRUEgPSAndGV4dGFyZWEnOwogIGNvbnN0IEZJRUxEX0NIRUNLQk9YID0gJ2NoZWNrYm94JzsKICBjb25zdCBGSUVMRF9EUk9QRE9XTiA9ICdkcm9wZG93bic7CiAgY29uc3QgRklFTERfTVVMVElTRUwgPSAnbXVsdGlzZWwnOwoKICAvLyBmaWVsZHM6IGlkIChybyksIGNhbXBhaWduIChybyksIG5hbWUsIHByb21wdCwgdHlwZSwgcmVxdWlyZWQsIG9wdGlvbnMgKGV4dHJhKSwgb3B0aW9udGV4dCAoZXh0cmEpCiAgcHJpdmF0ZSAkX2RhdGE7CiAgcHJpdmF0ZSAkX2RpcnR5OwogIHByaXZhdGUgJF9yZWFkb25seTsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjYW1wYWlnbl9pZCkKICB7CiAgICBpZiggJGNhbXBhaWduX2lkIDwgMSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gY3JlYXRlIGZpZWxkIHdpdGggaW52YWxpZCBjYW1wYWlnbiBpZCcpOwogICAgJHRoaXMtPl9kYXRhWydjYW1wYWlnbiddID0gKGludCkkY2FtcGFpZ25faWQ7CiAgICAkdGhpcy0+X2RhdGFbJ2l0ZW1fb3JkZXInXSA9IDA7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0R2V0KCRrZXkpCiAgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnaWQnOgogICAgY2FzZSAnY2FtcGFpZ24nOgogICAgY2FzZSAncmVxdWlyZWQnOgogICAgY2FzZSAnaXRlbV9vcmRlcic6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIChpbnQpJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICBicmVhazsKCiAgICBjYXNlICduYW1lJzoKICAgIGNhc2UgJ3Byb21wdCc6CiAgICBjYXNlICd0eXBlJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gdHJpbSgkdGhpcy0+X2RhdGFbJGtleV0pOwogICAgICBicmVhazsKCiAgICBjYXNlICdiYXNldHlwZSc6CiAgICAgICR0bXAgPSAkdGhpc1sndHlwZSddOwogICAgICBpZiggKGludCkkdG1wID09IDAgKSByZXR1cm4gJHRtcDsKICAgICAgcmV0dXJuIGxtX2ZpZWxkdHlwZTo6Z2V0X2Jhc2V0eXBlKChpbnQpJHRtcCxGQUxTRSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ29wdGlvbnMnOgogICAgY2FzZSAnb3B0aW9udGV4dCc6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0pICkgcmV0dXJuICR0aGlzLT5fZGF0YVsnZXh0cmEnXVska2V5XTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkIGZpZWxkICcuJGtleS4nIGZvciAnLl9fQ0xBU1NfXy4nIGNhbm5vdCByZXRyaWV2ZScpOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldFNldCgka2V5LCR2YWx1ZSkKICB7CiAgICBpZiggJHRoaXMtPl9yZWFkb25seSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbihfX0NMQVNTX18uJyBpcyBpbiByZWFkb25seSBtb2RlLiAgY2Fubm90IG1vZGlmeScpOwoKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgIGNhc2UgJ29wdGlvbnMnOgogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0Nhbm5vdCBzZXQgdGhlICcuJGtleS4nIGZpZWxkIGluIGEgJy5fX0NMQVNTX18pOwogICAgICBicmVhazsKCiAgICBjYXNlICdyZXF1aXJlZCc6CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IGNtc190b19ib29sKCR2YWx1ZSk7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICBicmVhazsKCiAgICBjYXNlICduYW1lJzoKICAgIGNhc2UgJ3Byb21wdCc6CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IHRyaW0oJHZhbHVlKTsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2l0ZW1fb3JkZXInOgogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoaW50KSR2YWx1ZTsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgIGJyZWFrOwogICAgICAKICAgIGNhc2UgJ29wdGlvbnRleHQnOgogICAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgKSAkdGhpcy0+X2RhdGFbJ2V4dHJhJ10gPSBhcnJheSgpOwogICAgICAkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICRvcHRzID0gbG1fdXRpbHM6OnRleHRfdG9fb3B0aW9ucygkdmFsdWUpOwogICAgICBpZiggaXNfYXJyYXkoJG9wdHMpICYmIGNvdW50KCRvcHRzKSApICR0aGlzLT5fZGF0YVsnZXh0cmEnXVsnb3B0aW9ucyddID0gJG9wdHM7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICBicmVhazsKCiAgICBjYXNlICd0eXBlJzoKICAgICAgaWYoICFsbV91dGlsczo6aXNfdmFsaWRfZmllbGR0eXBlKCR2YWx1ZSkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJHZhbHVlLicgaXMgYW4gaW52YWxpZCBmaWVsZCB0eXBlIGZvciAnLl9fQ0xBU1NfXyk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigka2V5LicgaXMgYW4gaW52YWxpZCBmaWVsZCBpbiBhICcuX19DTEFTU19fLicgY2Fubm90IHNldCcpOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldEV4aXN0cygka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgIGNhc2UgJ3JlcXVpcmVkJzoKICAgIGNhc2UgJ25hbWUnOgogICAgY2FzZSAncHJvbXB0JzoKICAgIGNhc2UgJ3R5cGUnOgogICAgY2FzZSAnaXRlbV9vcmRlcic6CiAgICAgIHJldHVybiAoaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSk/VFJVRTpGQUxTRTsKCiAgICBjYXNlICdvcHRpb250ZXh0JzoKICAgIGNhc2UgJ29wdGlvbnMnOgogICAgICByZXR1cm4gKGlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXVska2V5XSkpP1RSVUU6RkFMU0U7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGFjY2VzcyBpbnZhbGlkIGZpZWxkICcuJGtleS4nIGluIGEgJy5fX0NMQVNTX18pOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldFVuc2V0KCRrZXkpCiAgewogICAgaWYoICR0aGlzLT5fcmVhZG9ubHkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oX19DTEFTU19fLicgaXMgaW4gcmVhZG9ubHkgbW9kZS4gIGNhbm5vdCBtb2RpZnknKTsKCiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdjYW1wYWlnbic6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IHVuc2V0ICcuJGtleS4nIGluIGEgJy5fX0NMQVNTX18pOwoKICAgIGNhc2UgJ3JlcXVpcmVkJzoKICAgIGNhc2UgJ25hbWUnOgogICAgY2FzZSAncHJvbXB0JzoKICAgIGNhc2UgJ3R5cGUnOgogICAgY2FzZSAnaXRlbV9vcmRlcic6CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICBicmVhazsKCiAgICBjYXNlICdvcHRpb250ZXh0JzoKICAgIGNhc2UgJ29wdGlvbnMnOgogICAgICB1bnNldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0pOwogICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHVuc2V0IGludmFsaWQgZmllbGQgJy4ka2V5LicgaW4gYSAnLl9fQ0xBU1NfXyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3JlYWRvbmx5KCkKICB7CiAgICAkdGhpcy0+X3JlYWRvbmx5ID0gVFJVRTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfaW5zZXJ0KCkKICB7CiAgICBpZiggJHRoaXMtPl9yZWFkb25seSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbihfX0NMQVNTX18uJyBpcyBpbiByZWFkb25seSBtb2RlLiAgY2Fubm90IHNhdmUnKTsKCiAgICAkZXh0cmEgPSBudWxsOwogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXSkgKSAkZXh0cmEgPSBzZXJpYWxpemUoJHRoaXMtPl9kYXRhWydleHRyYSddKTsKCiAgICAvLyBmaWd1cmUgb3V0IGEgbmV3IGl0ZW0gb3JkZXIKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICBpZiggJHRoaXNbJ2l0ZW1fb3JkZXInXSA8IDEgKSB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgTUFYKGl0ZW1fb3JkZXIpIEZST00gJy5MTV9GSUVMRFNfVEFCTEUuJyBXSEVSRSBjYW1wYWlnbiA9ID8nOwogICAgICAkZGJyID0gKGludCkkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXNbJ2NhbXBhaWduJ10pKTsKICAgICAgJHRoaXNbJ2l0ZW1fb3JkZXInXSA9IG1heCgwLCRkYnIpKzE7CiAgICB9CgogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuTE1fRklFTERTX1RBQkxFLicgKGNhbXBhaWduLG5hbWUscHJvbXB0LHR5cGUscmVxdWlyZWQsaXRlbV9vcmRlcixleHRyYSkgVkFMVUVTICg/LD8sPyw/LD8sPyw/KSc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snY2FtcGFpZ24nXSwkdGhpc1snbmFtZSddLCR0aGlzWydwcm9tcHQnXSwkdGhpc1sndHlwZSddLCR0aGlzWydyZXF1aXJlZCddLAoJCQkJICAgICAkdGhpc1snaXRlbV9vcmRlciddLCRleHRyYSkpOwogICAgaWYoICEkZGJyIHx8ICRkYi0+RXJyb3JNc2coKSApIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0ludmFsaWQgU1FMIFF1ZXJ5ICcuJGRiLT5zcWwuJyAtICcuJGRiLT5FcnJvck1zZygpKTsKICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9ICRkYi0+SW5zZXJ0X0lEKCk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3VwZGF0ZSgpCiAgewogICAgaWYoICR0aGlzLT5fcmVhZG9ubHkgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oX19DTEFTU19fLicgaXMgaW4gcmVhZG9ubHkgbW9kZS4gIGNhbm5vdCBzYXZlJyk7CgogICAgJGV4dHJhID0gbnVsbDsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ10pICkgJGV4dHJhID0gc2VyaWFsaXplKCR0aGlzLT5fZGF0YVsnZXh0cmEnXSk7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5MTV9GSUVMRFNfVEFCTEUuJyBTRVQgbmFtZSA9ID8sIHByb21wdCA9ID8sIHR5cGUgPSA/LCByZXF1aXJlZCA9ID8sIGV4dHJhID0gPywgaXRlbV9vcmRlciA9ID8KICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8gQU5EIGNhbXBhaWduID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snbmFtZSddLCR0aGlzWydwcm9tcHQnXSwkdGhpc1sndHlwZSddLCR0aGlzWydyZXF1aXJlZCddLAoJCQkJICAgICRleHRyYSwgJHRoaXNbJ2l0ZW1fb3JkZXInXSwgJHRoaXNbJ2lkJ10sICR0aGlzWydjYW1wYWlnbiddKSk7CiAgICBpZiggISRkYnIgfHwgJGRiLT5FcnJvck1zZygpICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW52YWxpZCBTUUwgUXVlcnkgJy4kZGItPnNxbC4nIC0gJy4kZGItPkVycm9yTXNnKCkpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlKCkKICB7CiAgICBpZiggJHRoaXNbJ2l0ZW1fb3JkZXInXSA8IDAgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ZpZWxkIGlzIGludmFsaWQuLi4uIGl0ZW1fb3JkZXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCcpOwogICAgaWYoICR0aGlzWydjYW1wYWlnbiddIDwgMCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignRmllbGQgaXMgaW52YWxpZC4uLiBjYW1wYWlnbiBpZCBpcyByZXF1aXJlZCcpOwogICAgaWYoICR0aGlzWyduYW1lJ10gPT0gJycgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ZpZWxkIGlzIGludmFsaWQuLi4gbmFtZSBpcyByZXF1aXJlZCcpOwogICAgaWYoICR0aGlzWydwcm9tcHQnXSA9PSAnJyApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignRmllbGQgaXMgaW52YWxpZC4uLiBwcm9tcHQgaXMgcmVxdWlyZWQnKTsKICAgIGlmKCAhcHJlZ19tYXRjaCgnPF5bYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aMC05X1x4N2YtXHhmZl0qJD4nLCAkdGhpc1snbmFtZSddKSApIHsKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdGaWVsZCBpcyBpbnZhbGlkLi4uIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzJyk7CiAgICB9CgogICAgaWYoICFsbV91dGlsczo6aXNfdmFsaWRfZmllbGR0eXBlKCR0aGlzWyd0eXBlJ10pICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdGaWVsZCBpcyBpbnZhbGlkLi4uIHR5cGUgaXMgaW52YWxpZCcpOwogICAgaWYoIGluX2FycmF5KCR0aGlzWyd0eXBlJ10sYXJyYXkoc2VsZjo6RklFTERfRFJPUERPV04sc2VsZjo6RklFTERfTVVMVElTRUwpKSAmJiAhaXNfYXJyYXkoJHRoaXNbJ29wdGlvbnMnXSkgKSB7CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignRmllbGQgaXMgaW52YWxpZC4uLiBubyBvcHRpb25zIGRlZmluZWQgZm9yIGFwcGxpY2FibGUgdHlwZScpOwogICAgfQoKICAgIC8vIGNoZWNrIGZvciBkdXBsaWNhdGUgbmFtZQogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkxNX0ZJRUxEU19UQUJMRS4nIFdIRVJFIG5hbWUgPSA/IEFORCBjYW1wYWlnbiA9ID8nOwogICAgJHBhcm1zID0gYXJyYXkoJHRoaXNbJ25hbWUnXSwkdGhpc1snY2FtcGFpZ24nXSk7CiAgICBpZiggJHRoaXNbJ2lkJ10gPiAwICkgewogICAgICAkcXVlcnkgLj0gJyBBTkQgaWQgIT0gPyc7CiAgICAgICRwYXJtc1tdID0gJHRoaXNbJ2lkJ107CiAgICB9CiAgICAkZGJyID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCRwYXJtcyk7CiAgICBpZiggJGRiciA+IDAgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ZpZWxkIGlzIGludmFsaWQuLi4gbmFtZSBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoaXMgY2FtcGFpZ24nKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICB7CiAgICBpZiggISR0aGlzLT5fZGlydHkgKSByZXR1cm47CiAgICAkdGhpcy0+dmFsaWRhdGUoKTsKICAgIGlmKCAkdGhpc1snaWQnXSA8IDEgKSB7CiAgICAgICR0aGlzLT5faW5zZXJ0KCk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHRoaXMtPl91cGRhdGUoKTsKICAgIH0KICAgICR0aGlzLT5fZGlydHkgPSBGQUxTRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKQogIHsKICAgIGlmKCAkdGhpc1snaWQnXSA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0Nhbm5vdCBkZWxldGUgZmllbGQgdGhhdCBoYXMgbm90IGJlZW4gc2F2ZWQnKTsKICAgIGlmKCAkdGhpcy0+X3JlYWRvbmx5ICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKF9fQ0xBU1NfXy4nIGlzIGluIHJlYWRvbmx5IG1vZGUuICBjYW5ub3QgZGVsZXRlJyk7CgogICAgJGl0ZW1fb3JkZXIgPSAkdGhpc1snaXRlbV9vcmRlciddOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5MTV9GSUVMRFNfVEFCTEUuJyBXSEVSRSBpZCA9ID8gQU5EIGNhbXBhaWduID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzWydpZCddLCR0aGlzWydjYW1wYWlnbiddKSk7CgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkxNX0ZJRUxEU19UQUJMRS4nIFNFVCBpdGVtX29yZGVyID0gaXRlbV9vcmRlciAtIDEgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIGNhbXBhaWduID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRpdGVtX29yZGVyLCR0aGlzWydjYW1wYWlnbiddKSk7CgogICAgdW5zZXQoJHRoaXMtPl9kYXRhWydpZCddKTsKICAgICR0aGlzLT5fZGF0YVsnaXRlbV9vcmRlciddID0gMDsKICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGZpbGxfZnJvbV9hcnJheSgkZGF0YSkKICB7CiAgICBpZiggJHRoaXMtPl9yZWFkb25seSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbihfX0NMQVNTX18uJyBpcyBpbiByZWFkb25seSBtb2RlLiAgY2Fubm90IGZpbGwnKTsKICAgICR2YWxpZF9rZXlzID0gYXJyYXkoJ2l0ZW1fb3JkZXInLCdyZXF1aXJlZCcsJ25hbWUnLCdwcm9tcHQnLCd0eXBlJywnb3B0aW9udGV4dCcpOwoKICAgIGZvcmVhY2goICRkYXRhIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICBpZiggJGtleSA9PSAnaWQnIHx8ICRrZXkgPT0gJ2NhbXBhaWduJyApIHsKCSR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgfQogICAgICBlbHNlIGlmKCBpbl9hcnJheSgka2V5LCR2YWxpZF9rZXlzKSApIHsKCSR0aGlzWyRrZXldID0gJHZhbHVlOwogICAgICB9CiAgICAgIGVsc2UgaWYoICRrZXkgPT0gJ2V4dHJhJyApIHsKCSR0aGlzLT5fZGF0YVska2V5XSA9IHVuc2VyaWFsaXplKCR2YWx1ZSk7CiAgICAgIH0KICAgIH0KICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJmxvYWRfYnlfaWQoJGNhbXBhaWduX2lkLCRmaWVsZF9pZCkKICB7CiAgICAkY2FtcGFpZ25faWQgPSAoaW50KSRjYW1wYWlnbl9pZDsKICAgICRmaWVsZF9pZCA9IChpbnQpJGZpZWxkX2lkOwogICAgaWYoICRjYW1wYWlnbl9pZCA8IDEgfHwgJGZpZWxkX2lkIDwgMSApIHsKICAgICAgdGhyb3cgbmV3IExvYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkIHBhcmFtZXRlciAoY2FtcGFpZ24gaWQgb3IgZmllbGQgaWQgZm9yIGxvYWQgZmllbGQgb3BlcmF0aW9uJyk7CiAgICB9CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuTE1fRklFTERTX1RBQkxFLicgV0hFUkUgaWQgPSA/IEFORCBjYW1wYWlnbiA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkZmllbGRfaWQsJGNhbXBhaWduX2lkKSk7CiAgICBpZiggIWlzX2FycmF5KCRyb3cpICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCJVbmFibGUgdG8gZmluZCBmaWVsZCB3aXRoIGlkICRmaWVsZF9pZCBmb3IgY2FtcGFpZ24gJGNhbXBhaWduX2lkIik7CgogICAgJG9iaiA9IG5ldyBsbV9maWVsZCgkY2FtcGFpZ25faWQpOwogICAgJG9iai0+ZmlsbF9mcm9tX2FycmF5KCRyb3cpOwogICAgJG9iai0+X2RpcnR5ID0gRkFMU0U7CiAgICByZXR1cm4gJG9iajsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9hbGwoJGNhbXBhaWduX2lkKQogIHsKICAgICRjYW1wYWlnbl9pZCA9IChpbnQpJGNhbXBhaWduX2lkOwogICAgaWYoICRjYW1wYWlnbl9pZCA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgY2FtcGFpZ24gaWQgc3BlY2lmaWVkIGZvciBsb2FkX2FsbCcpOwogICAgCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5MTV9GSUVMRFNfVEFCTEUuJyBXSEVSRSBjYW1wYWlnbiA9ID8gT1JERVIgQlkgaXRlbV9vcmRlciBBU0MnOwogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRjYW1wYWlnbl9pZCkpOwogICAgaWYoICFpc19hcnJheSgkZGJyKSB8fCBjb3VudCgkZGJyKSA9PSAwICkgcmV0dXJuOwoKICAgICRvdXQgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGRiciBhcyAkcm93ICkgewogICAgICAkb2JqID0gbmV3IGxtX2ZpZWxkKCRjYW1wYWlnbl9pZCk7CiAgICAgICRvYmotPmZpbGxfZnJvbV9hcnJheSgkcm93KTsKICAgICAgJG9iai0+X2RpcnR5ID0gRkFMU0U7CiAgICAgICRvdXRbXSA9ICRvYmo7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_fieldtype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2ZpZWxkdHlwZSBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCnsKICAvLyBrZXlzIGFyZTogaWQgKHJvKSwgbmFtZSAodW5pcXVlKSwgcHJvbXB0LCBleHRyYSAobWV0YSksIG9wdGlvbnMsIG9wdGlvbnRleHQKICBwcml2YXRlIHN0YXRpYyAkX3N0b3JlZCA9IGFycmF5KCk7CgogIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoKTsKICBwcml2YXRlICRfZGlydHk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgJHRoaXMtPl9kYXRhWydiYXNldHlwZSddID0gbG1fZmllbGQ6OkZJRUxEX1RFWFRCT1g7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0R2V0KCRrZXkpCiAgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnaWQnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHJldHVybiAoaW50KSR0aGlzLT5fZGF0YVska2V5XTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbmFtZSc6CiAgICBjYXNlICdwcm9tcHQnOgogICAgY2FzZSAnYmFzZXR5cGUnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHJldHVybiB0cmltKCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2V4dHJhJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gc2VyaWFsaXplKCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ29wdGlvbnMnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydleHRyYSddWydvcHRpb25zJ10pICkgcmV0dXJuICR0aGlzLT5fZGF0YVsnZXh0cmEnXVska2V5XTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnb3B0aW9udGV4dCc6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0pICkgcmV0dXJuIHRyaW0oJHRoaXMtPl9kYXRhWydleHRyYSddWyRrZXldKTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGFjY2VzcyBpbnZhbGlkIGtleSAnLiRrZXkuJyBmb3IgJy5fX0NMQVNTX18pOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldFNldCgka2V5LCR2YWx1ZSkKICB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdleHRyYSc6CiAgICBjYXNlICdvcHRpb25zJzoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdDYW5ub3Qgc2V0IHRoZSAnLiRrZXkuJyBmaWVsZCBpbiBhbiAnLl9fQ0xBU1NfXyk7CgogICAgY2FzZSAnb3B0aW9udGV4dCc6CiAgICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydleHRyYSddKSApICR0aGlzLT5fZGF0YVsnZXh0cmEnXSA9IGFycmF5KCk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IHRyaW0oJHZhbHVlKTsKICAgICAgJG9wdHMgPSBsbV91dGlsczo6dGV4dF90b19vcHRpb25zKCR2YWx1ZSk7CiAgICAgIGlmKCBpc19hcnJheSgkb3B0cykgJiYgY291bnQoJG9wdHMpICkgJHRoaXMtPl9kYXRhWydleHRyYSddWydvcHRpb25zJ10gPSAkb3B0czsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2Jhc2V0eXBlJzoKICAgICAgJHZhbHVlID0gdHJpbSgkdmFsdWUpOwogICAgICAkdHlwZXMgPSBhcnJheV9rZXlzKGxtX3V0aWxzOjpnZXRfYmFzZV9maWVsZHR5cGVzKCkpOwogICAgICBpZiggIWluX2FycmF5KCR2YWx1ZSwkdHlwZXMpICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkIGJhc2UgdHlwZSAnLiR2YWx1ZS4nIGZvciAnLl9fQ0xBU1NfXyk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3Byb21wdCc6CiAgICBjYXNlICduYW1lJzoKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsdWUpOwogICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHNldCBpbnZhbGlkIGtleSAnLiRrZXkuJyBmb3IgJy5fX0NMQVNTX18pOwogICAgfQogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0RXhpc3RzKCRrZXkpCiAgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnaWQnOgogICAgY2FzZSAnbmFtZSc6CiAgICBjYXNlICdwcm9tcHQnOgogICAgY2FzZSAnZXh0cmEnOgogICAgY2FzZSAnYmFzZXR5cGUnOgogICAgICByZXR1cm4gKGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkpP1RSVUU6RkFMU0U7CgogICAgY2FzZSAnb3B0aW9ucyc6CiAgICBjYXNlICdvcHRpb250ZXh0JzoKICAgICAgcmV0dXJuIChpc3NldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0pKT9UUlVFOkZBTFNFOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQXR0ZW1wdCB0byBhY2Nlc3MgaW52YWxpZCBrZXkgJy4ka2V5LicgZm9yICcuX19DTEFTU19fKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRVbnNldCgka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ25hbWUnOgogICAgY2FzZSAncHJvbXB0JzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSB1bnNldCgkdGhpcy0+X2RhdGFbJGtleV0pOwogICAgICBicmVhazsKCiAgICBjYXNlICdvcHRpb250ZXh0JzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnZXh0cmEnXVska2V5XSkgKSB1bnNldCgkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0pOwogICAgICBicmVhazsKCiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdleHRyYSc6CiAgICBjYXNlICdvcHRpb25zJzoKICAgIGNhc2UgJ2Jhc2V0eXBlJzoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdUaGUgJy4ka2V5LicgZmllbGQgY2Fubm90IGJlIHVuc2V0IGluIGEgJy5fX0NMQVNTX18pOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQXR0ZW1wdCB0byBlcmFzZSBpbnZhbGlkIGtleSAnLiRrZXkuJyBmb3IgJy5fX0NMQVNTX18pOwogICAgfQogIH0KCiAgLyoqCiAgICogVGVzdCBpZiB0aGlzIGZpZWxkIHR5cGUgaXMgaW4gdXNlIGJ5IGFueSAoYWN0aXZlKSBjYW1wYWlnbnMKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gaW51c2UoKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUIEMuaWQgRlJPTSAnLkxNX0NBTVBBSUdOU19UQUJMRS4nIEMgTEVGVCBKT0lOICcuTE1fRklFTERTX1RBQkxFLicgRiBPTiBDLmlkID0gRi5jYW1wYWlnbiAKICAgICAgICAgICAgICBXSEVSRSBGLnR5cGUgPSA/IEFORCAoTk9XKCkgQkVUV0VFTiBDLnN0YXJ0X2RhdGUgQU5EIEMuZW5kX2RhdGUpJzsKICAgICRkYnIgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHRoaXNbJ2lkJ10pKTsKICAgIGlmKCAkZGJyID4gMCApIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9pbnNlcnQoKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5MTV9GSUVMRFRZUEVTX1RBQkxFLicgKG5hbWUscHJvbXB0LGJhc2V0eXBlLGV4dHJhKSBWQUxVRVMgKD8sPyw/LD8pJzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzWyduYW1lJ10sJHRoaXNbJ3Byb21wdCddLCR0aGlzWydiYXNldHlwZSddLCR0aGlzWydleHRyYSddKSk7CiAgICBpZiggISRkYnIgfHwgJGRiLT5FcnJvck1zZygpICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW52YWxpZCBTUUwgUXVlcnkgJy4kZGItPnNxbC4nIC0gJy4kZGItPkVycm9yTXNnKCkpOwogICAgJHRoaXMtPl9kYXRhWydpZCddID0gJGRiLT5JbnNlcnRfSUQoKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkxNX0ZJRUxEVFlQRVNfVEFCTEUuJyBTRVQgbmFtZSA9ID8sIHByb21wdCA9ID8sIGJhc2V0eXBlID0gPywgZXh0cmEgPSA/IFdIRVJFIGlkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snbmFtZSddLCR0aGlzWydwcm9tcHQnXSwkdGhpc1snYmFzZXR5cGUnXSwkdGhpc1snZXh0cmEnXSwkdGhpc1snaWQnXSkpOwogICAgaWYoICEkZGJyIHx8ICRkYi0+RXJyb3JNc2coKSApIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0ludmFsaWQgU1FMIFF1ZXJ5ICcuJGRiLT5zcWwuJyAtICcuJGRiLT5FcnJvck1zZygpKTsKICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9ICRkYi0+SW5zZXJ0X0lEKCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoKQogIHsKICAgIGlmKCAkdGhpc1snbmFtZSddID09ICcnICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCduYW1lIGZvciAnLl9fQ0xBU1NfXy4nIGNhbm5vdCBiZSBlbXB0eScpOwogICAgaWYoICR0aGlzWydwcm9tcHQnXSA9PSAnJyApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbigncHJvbXB0IGZvciAnLl9fQ0xBU1NfXy4nIGNhbm5vdCBiZSBlbXB0eScpOwogICAgaWYoICFwcmVnX21hdGNoKCc8XlthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVowLTlfXHg3Zi1ceGZmXSokPicsICR0aGlzWyduYW1lJ10pICkgewogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ZpZWxkIGlzIGludmFsaWQuLi4gbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMnKTsKICAgIH0KCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuTE1fRklFTERUWVBFU19UQUJMRS4nIFdIRVJFIG5hbWUgPSA/JzsKICAgICRwYXJtcyA9IGFycmF5KCR0aGlzWyduYW1lJ10pOwogICAgaWYoICR0aGlzWydpZCddID4gMCApIHsKICAgICAgJHF1ZXJ5IC49ICcgQU5EIGlkICE9ID8nOwogICAgICAkcGFybXNbXSA9ICR0aGlzWydpZCddOwogICAgfQogICAgJGRiciA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcGFybXMpOwogICAgaWYoICRkYnIgPiAwICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdmaWVsZCB0eXBlIHdpdGggbmFtZSAnLiR0aGlzWyduYW1lJ10uJyBhbHJlYWR5IGV4aXN0cycpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9kaXJ0eSApIHJldHVybjsKICAgICR0aGlzLT52YWxpZGF0ZSgpOwogICAgCiAgICBpZiggJHRoaXNbJ2lkJ10gPCAxICkgewogICAgICAkdGhpcy0+X2luc2VydCgpOwogICAgfQogICAgZWxzZSB7CiAgICAgICR0aGlzLT5fdXBkYXRlKCk7CiAgICB9CiAgICAkdGhpcy0+X2RpcnR5ID0gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCRkZWVwID0gRkFMU0UpCiAgewogICAgaWYoICR0aGlzWydpZCddIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IGRlbGV0ZSBmaWVsZCB0eXBlIHRoYXQgaGFzIG5vdCBiZWVuIHNhdmVkJyk7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgIGlmKCAkZGVlcCApIHsKICAgICAgLy8gZ2V0IGFsbCBvZiB0aGUgZmllbGQgaWQncyB3aXRoIHRoaXMgaWRsCiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkxNX0ZJRUxEU19UQUJMRS4nIFdIRVJFIHR5cGUgPSA/JzsKICAgICAgJGRicjEgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJHRoaXNbJ2lkJ10pKTsKICAgICAgaWYoIGlzX2FycmF5KCRkYnIxKSAmJiBjb3VudCgkZGJyMSkgKSB7CglpZiggJGRlZXAgPiAxICkgewoJICAvLyBkZWxldGUgYWxsIG9mIHRoZSBsZWFkZGF0YSB3aXRoIHRoZXNlIGZpZWxkcy4KCSAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuTE1fTEVBRERBVEFfVEFCTEUuJyBXSEVSRSBmaWVsZCBJTiAoJy5pbXBsb2RlKCcsJywkZGJyMSkuJyknOwoJICAkZGJyMiA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJfQoKCS8vIGRlbGV0ZSBhbGwgb2YgdGhlIGZpZWxkcyBpbiB0aGUgbGlzdAoJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuTE1fTEVBRERBVEFfVEFCTEUuJyBXSEVSRSAgSU4gKCcuaW1wbG9kZSgnLCcsJGRicjEpLicpJzsKCSRkYnIyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAgIH0KICAgIH0KCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5MTV9GSUVMRFRZUEVTX1RBQkxFLicgV0hFUkUgaWQgPSA/JzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHRoaXNbJ2lkJ10pKTsKICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnaWQnXSk7CiAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiB0b19hcnJheSgpCiAgewogICAgJG91dCA9IGFycmF5KCk7CiAgICAkb3V0WydpZCddID0gJHRoaXNbJ2lkJ107CiAgICAkb3V0WyduYW1lJ10gPSAkdGhpc1snbmFtZSddOwogICAgJG91dFsncHJvbXB0J10gPSAkdGhpc1sncHJvbXB0J107CiAgICAkb3V0WydiYXNldHlwZSddID0gJHRoaXNbJ2Jhc2V0eXBlJ107CiAgICBpZiggaW5fYXJyYXkoJHRoaXNbJ2Jhc2V0eXBlJ10sYXJyYXkoJ2Ryb3Bkb3duJywnbXVsdGlzZWwnKSkgKSB7CiAgICAgICRvdXRbJ29wdGlvbnRleHQnXSA9ICR0aGlzWydvcHRpb250ZXh0J107CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBmaWxsX2Zyb21fYXJyYXkoJHJvdykKICB7CiAgICAka2V5cyA9IGFycmF5KCdpZCcsJ25hbWUnLCdwcm9tcHQnLCdiYXNldHlwZScsJ2V4dHJhJywnb3B0aW9udGV4dCcpOwogICAgZm9yZWFjaCggJGtleXMgYXMgJGtleSApIHsKICAgICAgaWYoICFpc3NldCgkcm93WyRrZXldKSApIGNvbnRpbnVlOwoKICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICBjYXNlICdpZCc6CgkkdGhpcy0+X2RhdGFbJ2lkJ10gPSAoaW50KSRyb3dbJGtleV07CgkkdGhpcy0+X2RpcnR5ID0gVFJVRTsKCWJyZWFrOwoKICAgICAgY2FzZSAnbmFtZSc6CiAgICAgIGNhc2UgJ3Byb21wdCc6CgkkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCRyb3dbJGtleV0pOwoJJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CglicmVhazsKCiAgICAgIGNhc2UgJ2V4dHJhJzoKCSR0aGlzLT5fZGF0YVska2V5XSA9IHVuc2VyaWFsaXplKCRyb3dbJGtleV0pOwoJJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CglicmVhazsKCiAgICAgIGNhc2UgJ2Jhc2V0eXBlJzoKCSR2YWx1ZSA9ICRyb3dbJGtleV07CgkkdHlwZXMgPSBhcnJheV9rZXlzKGxtX3V0aWxzOjpnZXRfYmFzZV9maWVsZHR5cGVzKCkpOwoJaWYoICFpbl9hcnJheSgkdmFsdWUsJHR5cGVzKSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBiYXNlIHR5cGUgJy4kdmFsdWUuJyBmb3IgJy5fX0NMQVNTX18pOwoJJHRoaXMtPl9kYXRhWyRrZXldID0gJHJvd1ska2V5XTsKCSR0aGlzLT5fZGlydHkgPSBUUlVFOwoJYnJlYWs7CgogICAgICBjYXNlICdvcHRpb250ZXh0JzoKCWlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydleHRyYSddKSApICR0aGlzLT5fZGF0YVsnZXh0cmEnXSA9IGFycmF5KCk7CgkkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJGtleV0gPSB0cmltKCRyb3dbJGtleV0pOwoJJG9wdHMgPSBsbV91dGlsczo6dGV4dF90b19vcHRpb25zKCRyb3dbJGtleV0pOwoJaWYoIGlzX2FycmF5KCRvcHRzKSAmJiBjb3VudCgkb3B0cykgKSAkdGhpcy0+X2RhdGFbJ2V4dHJhJ11bJ29wdGlvbnMnXSA9ICRvcHRzOwoJJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CglicmVhazsKICAgICAgfQogICAgfQogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkaWQpCiAgewogICAgJGlkID0gKGludCkkaWQ7CiAgICBpZiggJGlkIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBmaWVsZHR5cGUgaWQgJy4kaWQpOwoKICAgICRkYnIgPSBudWxsOwogICAgaWYoIGlzc2V0KHNlbGY6OiRfc3RvcmVkWyRpZF0pICkgewogICAgICAkZGJyID0gc2VsZjo6JF9zdG9yZWRbJGlkXTsKICAgIH0KICAgIGVsc2UgewogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0ZJRUxEVFlQRVNfVEFCTEUuJyBXSEVSRSBpZCA9ID8nOwogICAgICAkZGJyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRpZCkpOwogICAgICBzZWxmOjokX3N0b3JlZFskaWRdID0gJGRicjsKICAgIH0KCiAgICBpZiggIWlzX2FycmF5KCRkYnIpIHx8ICFpc3NldCgkZGJyWydpZCddKSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgZmllbGR0eXBlIHdpdGggaWQgJy4kaWQpOwogICAgJG9iaiA9IG5ldyBsbV9maWVsZHR5cGU7CiAgICAkb2JqLT5maWxsX2Zyb21fYXJyYXkoJGRicik7CiAgICAkb2JqLT5fZGlydHkgPSBGQUxTRTsKICAgIHJldHVybiAkb2JqOwogIH0KCiAgLyoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZsb2FkX2J5X25hbWUoJG5hbWUpCiAgewogICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgIGlmKCAhJG5hbWUgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgZmllbGR0eXBlIG5hbWUnKTsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0ZJRUxEVFlQRVNfVEFCTEUuJyBXSEVSRSBuYW1lID0gPyc7CiAgICAkZGJyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRuYW1lKSk7CiAgICBpZiggIWlzX2FycmF5KCRkYnIpIHx8ICFpc3NldCgkcm93WyduYW1lJ10pICkgdGhyb3cgbmV3IExlYWRNYW5hZXJFeGNlcHRpb24oJ0NvdWxkIG5vdCBmaW5kIGZpZWxkdHlwZSB3aXRoIG5hbWUgJy4kbmFtZSk7CgogICAgJG9iaiA9IG5ldyBsbV9maWVsZHR5cGU7CiAgICAkb2JqLT5maWxsX2Zyb21fYXJyYXkoJGRicik7CiAgICAkb2JqLT5fZGlydHkgPSBGQUxTRTsKICAgIHJldHVybiAkb2JqOwogIH0KICAqLwoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfc2V0KCRzZXQpCiAgewogICAgaWYoICFpc19hcnJheSgkc2V0KSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBwYXJhbWV0ZXJzIGZvciAnLl9fTUVUSE9EX18pOwogICAgZm9yZWFjaCggJHNldCBhcyAmJG9uZSApIHsKICAgICAgJG9uZSA9IChpbnQpJG9uZTsKICAgIH0KICAgICRzZXQgPSBhcnJheV91bmlxdWUoJHNldCk7CiAgICBpZiggIWlzX2FycmF5KCRzZXQpIHx8IGNvdW50KCRzZXQpID09IDAgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgcGFyYW1ldGVycyBmb3IgJy5fX01FVEhPRF9fKTsKCiAgICAvLyBzZWUgd2hpY2ggb25lcyB3ZSd2ZSBhbHJlYWR5IGxvYWRlZAogICAgJG5ld2xpc3QgPSBhcnJheV9kaWZmKCRzZXQsc2VsZjo6JF9zdG9yZWQpOwoKICAgIGlmKCBpc19hcnJheSgkbmV3bGlzdCkgJiYgY291bnQoJG5ld2xpc3QpICkgewogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0ZJRUxEVFlQRVNfVEFCTEUuJyBXSEVSRSBpZCBJTiAoJy5pbXBsb2RlKCcsJywkbmV3bGlzdCkuJyknOwogICAgICAkZGJyID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICBpZiggIWlzX2FycmF5KCRkYnIpIHx8IGNvdW50KCRkYnIpID09IDAgKSByZXR1cm47CiAgICAgIAogICAgICBmb3JlYWNoKCAkZGJyIGFzICRyb3cgKSB7CglzZWxmOjokX3N0b3JlZFskcm93WydpZCddXSA9ICRyb3c7CiAgICAgIH0KICAgIH0KCiAgICAkb3V0ID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICRzZXQgYXMgJGlkICkgewogICAgICBpZiggIWlzc2V0KHNlbGY6OiRfc3RvcmVkWyRpZF0pICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKF9fTUVUSE9EX18uJyBkYXRhYmFzZSBlcnJvciwgY291bGQgbm90IGdldCBhbGwgcmVxdWVzdGVkIGZpZWxkdHlwZXMnKTsKICAgICAgJGRiciA9IHNlbGY6OiRfc3RvcmVkWyRpZF07CiAgICAgICRvYmogPSBuZXcgbG1fZmllbGR0eXBlOwogICAgICAkb2JqLT5maWxsX2Zyb21fYXJyYXkoJGRicik7CiAgICAgICRvYmotPl9kaXJ0eSA9IEZBTFNFOwogICAgICAkb3V0W10gPSAkb2JqOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfYWxsKCkKICB7CiAgICAkbG9hZGVkID0gYXJyYXlfa2V5cyhzZWxmOjokX3N0b3JlZCk7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5MTV9GSUVMRFRZUEVTX1RBQkxFLicgT1JERVIgQlkgbmFtZSc7CiAgICBpZiggaXNfYXJyYXkoJGxvYWRlZCkgJiYgY291bnQoJGxvYWRlZCkgKSB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuTE1fRklFTERUWVBFU19UQUJMRS4nIFdIRVJFIGlkIE5PVCBJTiAoJy5pbXBsb2RlKCcsJywkbG9hZGVkKS4nIE9SREVSIEJZIG5hbWUnOwogICAgfQogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYnIpOyAkaSsrICkgewogICAgICAkcm93ID0gJGRiclskaV07CiAgICAgIHNlbGY6OiRfc3RvcmVkWyRyb3dbJ2lkJ11dID0gJHJvdzsKICAgIH0KCiAgICAkb3V0ID0gYXJyYXkoKTsKICAgIGZvcmVhY2goIHNlbGY6OiRfc3RvcmVkIGFzICRpZCA9PiAkcm93ICkgewogICAgICAkb2JqID0gbmV3IGxtX2ZpZWxkdHlwZTsKICAgICAgJG9iai0+ZmlsbF9mcm9tX2FycmF5KCRyb3cpOwogICAgICAkb3V0W10gPSAkb2JqOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9iYXNldHlwZSgkZmllbGRfaWQsJGxvYWRhbGwgPSBUUlVFKQogIHsKICAgIGlmKCAkbG9hZGFsbCApIHNlbGY6OmxvYWRfYWxsKCk7CgogICAgLy8gdXNlIHdoYXQncyBpbiBtZW1vcnkKICAgIGZvcmVhY2goIHNlbGY6OiRfc3RvcmVkIGFzICRpZCA9PiAkcmVjICkgewogICAgICBpZiggJGlkID09ICRmaWVsZF9pZCApIHsKCXJldHVybiAkcmVjWydiYXNldHlwZSddOwogICAgICB9CiAgICB9CiAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0NvdWxkIG5vdCBmaW5kIGZpZWxkdHlwZSB3aXRoIGlkICcuJGZpZWxkX2lkKTsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_lead.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2xlYWQgaW1wbGVtZW50cyBBcnJheUFjY2VzcywgU3BsU3ViamVjdAp7CiAgcHJpdmF0ZSBzdGF0aWMgJF9lbWFpbGZsZDsKCiAgY29uc3QgU1RBVFVTX0lOQ09NUExFVEUgPSAnaW5jb21wbGV0ZSc7IC8vIGxlYWQgc2F2ZWQgdG8gZGF0YWJhc2UsIGJ1dCBub3QgY29tcGxldGUKICBjb25zdCBTVEFUVVNfQ09NUExFVEUgICA9ICdjb21wbGV0ZSc7ICAgLy8gbGVhZCAoaG9wZWZ1bGx5IGJ5IGEgaHVtYW4pIHNhdmVkIHRvIGRhdGFiYXNlCiAgY29uc3QgU1RBVFVTX1ZFUklGSUVEICAgPSAndmVyaWZpZWQnOyAgIC8vIGxlYWQgaGFzIGJlZW4gdmlld2VkIGJ5IGEgY29tcGFueSByZXByZXNlbnRpdGl2ZSBhbmQgdmVyaWZpZWQKICBjb25zdCBTVEFUVVNfQkFEICAgICAgICA9ICdiYWQnOyAgICAgICAgLy8gbGVhZCBoYXMgYmVlbiBtYXJrZWQgYXMgYmFkL2NvcnJ1cHQKCiAgLy8gZmllbGRzOiAgaWQgKGludCxybykgY2FtcGFpZ24gKGludCxybyksIGNyZWF0ZWQgKHRzLHJvKSwgc3RhdHVzIChpbmNvbXBsZXRlL2NvbXBsZXRlKSwgdmlld2VkICh0cykKICBwcml2YXRlICRfb2JzZXJ2ZXJzOwogIHByaXZhdGUgJF9tYWluID0gYXJyYXkoKTsKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkX2RpcnR5OwogIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2FtcGFpZ24sJHByZXBvcHVsYXRlID0gRkFMU0UpCiAgewogICAgJHRoaXMtPl9vYnNlcnZlcnMgPSBuZXcgU3BsT2JqZWN0U3RvcmFnZSgpOwoKICAgICRjYW1wYWlnbiA9IChpbnQpJGNhbXBhaWduOwogICAgaWYoICRjYW1wYWlnbiA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgY2FtcGFpZ24gaWQgaW4gY29uc3RydWN0b3IgdG8gJy5fX0NMQVNTX18pOwoKICAgICR0aGlzLT5fbWFpblsnY2FtcGFpZ24nXSA9ICRjYW1wYWlnbjsKICAgICR0aGlzLT5fbWFpblsnc3RhdHVzJ10gPSBzZWxmOjpTVEFUVVNfSU5DT01QTEVURTsKCiAgICBpZiggJHByZXBvcHVsYXRlICkgewogICAgICAvLyBnZXQgc29tZSBzZXJ2ZXIgdmFyaWFibGVzLCBhbmQgcHJlcG9wdWxhdGUgaXQuCiAgICAgICRjYXB0dXJlID0gbG1fdXRpbHM6OmdldF9jYXB0dXJlX3ZhcnMoKTsKICAgICAgaWYoIGlzX2FycmF5KCRjYXB0dXJlKSAmJiBjb3VudCgkY2FwdHVyZSkgKSB7Cglmb3JlYWNoKCAkY2FwdHVyZSBhcyAka2V5ID0+ICR2YWwgKSB7CgkgICR0aGlzLT5maWVsZF9zZXQoJGtleSwkdmFsKTsKCX0KICAgICAgfQogICAgfQoKICAgIGxtX3V0aWxzOjphZGRfbm90aWZpYWJsZSgkdGhpcyk7CiAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRHZXQoJGtleSkKICB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdjYW1wYWlnbic6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X21haW5bJGtleV0pICkgcmV0dXJuIChpbnQpJHRoaXMtPl9tYWluWyRrZXldOwogICAgICBicmVhazsKCiAgICBjYXNlICdzdGF0dXMnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9tYWluWyRrZXldKSApIHJldHVybiB0cmltKCR0aGlzLT5fbWFpblska2V5XSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NyZWF0ZWQnOgogICAgY2FzZSAnbW9kaWZpZWQnOgogICAgY2FzZSAndmlld2VkJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fbWFpblska2V5XSkgKSByZXR1cm4gKGludCkkdGhpcy0+X21haW5bJGtleV07CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2V4dHJhJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fbWFpblska2V5XSkgKSByZXR1cm4gJHRoaXMtPl9tYWluWyRrZXldOwogICAgICBicmVhazsKCiAgICBjYXNlICdlbWFpbCc6CiAgICAgIGlmKCBzZWxmOjokX2VtYWlsZmxkID09ICcnICYmIHNlbGY6OiRfZW1haWxmbGQgIT0gJ19fbm90Zm91bmRfXycgKSB7CgkvLyBzZWFyY2ggdGhyb3VnaCBhbGwgZmllbGRzIGFuZCBzZWUgaWYgd2UgY2FuIGZpbmQgc29tZXRoaW5nIHRoYXQgcmVzZW1ibGVzIGFuIGVtYWlsIGFkZHJlc3MKCS8vIHJlbWVtYmVyIHRoZSBrZXkuCglmb3JlYWNoKCAkdGhpcy0+X2RhdGEgYXMgJGtleSA9PiAkcmVjICkgewoJICBpZiggaXNfZW1haWwoJHJlY1sndmFsJ10pICkgewoJICAgIHNlbGY6OiRfZW1haWxmbGQgPSAka2V5OwoJICAgIGJyZWFrOwoJICB9Cgl9CiAgICAgIH0KICAgICAgaWYoIHNlbGY6OiRfZW1haWxmbGQgIT0gJ19fbm90Zm91bmRfXycgJiYgaXNzZXQoJHRoaXMtPl9kYXRhW3NlbGY6OiRfZW1haWxmbGRdKSApIHJldHVybiAkdGhpcy0+X2RhdGFbc2VsZjo6JF9lbWFpbGZsZF1bJ3ZhbCddOwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ2ludmFsaWQga2V5ICcuJGtleS4nIGZvciAnLl9fQ0xBU1NfXyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0U2V0KCRrZXksJHZhbCkKICB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdjYW1wYWlnbic6CiAgICBjYXNlICdjcmVhdGVkJzoKICAgIGNhc2UgJ21vZGlmaWVkJzoKICAgIGNhc2UgJ2V4dHJhJzoKICAgIGNhc2UgJ2VtYWlsJzoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdDYW5ub3Qgc2V0ICcuJGtleS4nIGluIGEgJy5fX0NMQVNTX18pOwoKICAgIGNhc2UgJ3N0YXR1cyc6CiAgICAgICR0aGlzLT5fbWFpblska2V5XSA9IHRyaW0oJHZhbCk7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICBicmVhazsKCiAgICBjYXNlICd2aWV3ZWQnOgogICAgICAkdGhpcy0+X21haW5bJGtleV0gPSAoaW50KSR2YWw7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ2ludmFsaWQga2V5ICcuJGtleS4nIGZvciAnLl9fQ0xBU1NfXyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0RXhpc3RzKCRrZXkpCiAgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnaWQnOgogICAgY2FzZSAnY2FtcGFpZ24nOgogICAgY2FzZSAnY3JlYXRlZCc6CiAgICBjYXNlICdtb2RmaWllZCc6CiAgICBjYXNlICdzdGF0dXMnOgogICAgY2FzZSAndmlld2VkJzoKICAgIGNhc2UgJ2V4dHJhJzoKICAgIGNhc2UgJ2VtYWlsJzoKICAgICAgcmV0dXJuIChpc3NldCgkdGhpcy0+X21haW5bJGtleV0pKT9UUlVFOkZBTFNFOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignaW52YWxpZCBrZXkgJy4ka2V5LicgZm9yICcuX19DTEFTU19fKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRVbnNldCgka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgIGNhc2UgJ2NyZWF0ZWQnOgogICAgY2FzZSAnbW9kZmlpZWQnOgogICAgY2FzZSAnc3RhdHVzJzoKICAgIGNhc2UgJ3ZpZXdlZCc6CiAgICBjYXNlICdleHRyYSc6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignY2Fubm9udCB1bnNldCAnLiRrZXkuJyBmb3IgJy5fX0NMQVNTX18pOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignaW52YWxpZCBrZXkgJy4ka2V5LicgZm9yICcuX19DTEFTU19fKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBhdHRhY2goU3BsT2JzZXJ2ZXIgJG9iaikKICB7CiAgICAkdGhpcy0+X29ic2VydmVycy0+YXR0YWNoKCRvYmopOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGRldGFjaChTcGxPYnNlcnZlciAkb2JqKQogIHsKICAgICR0aGlzLT5fb2JzZXJ2ZXJzLT5kZXRhY2goJG9iaik7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gbm90aWZ5KCkKICB7CiAgICBmb3JlYWNoICgkdGhpcy0+X29ic2VydmVycyBhcyAkb2JqKSB7CiAgICAgICRvYmotPnVwZGF0ZSgkdGhpcyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZmllbGRfbGlzdCgpCiAgewogICAgaWYoIGlzX2FycmF5KCR0aGlzLT5fZGF0YSkgJiYgY291bnQoJHRoaXMtPl9kYXRhKSApIHJldHVybiBhcnJheV9rZXlzKCR0aGlzLT5fZGF0YSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZmllbGRfZXhpc3RzKCRrZXkpIAogIHsKICAgIGlmKCAka2V5ICkgcmV0dXJuIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZmllbGRfc2V0KCRrZXksJHZhbHVlLCRmaWVsZF9pZCA9IG51bGwpCiAgewogICAgaWYoICRrZXkgKSB7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IGFycmF5KCd2YWwnPT4kdmFsdWUsJ2ZpZWxkJz0+JGZpZWxkX2lkKTsKICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZmllbGRfZ2V0KCRrZXkpCiAgewogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gJHRoaXMtPl9kYXRhWyRrZXldWyd2YWwnXTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBmaWVsZF91bnNldCgka2V5KQogIHsKICAgIGlmKCAka2V5ICYmIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSB7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRvdWNoKCkKICB7CiAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfc2F2ZV9maWVsZHMoKQogIHsKICAgIGlmKCAkdGhpc1snaWQnXSA8IDEgKSByZXR1cm47CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkxNX0xFQUREQVRBX1RBQkxFLicgV0hFUkUgbGVhZF9pZCA9ID8gQU5EIGNhbXBhaWduID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snaWQnXSwkdGhpc1snY2FtcGFpZ24nXSkpOwoKICAgIGlmKCBjb3VudCgkdGhpcy0+X2RhdGEpICkgewogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5MTV9MRUFEREFUQV9UQUJMRS4nIChsZWFkX2lkLGNhbXBhaWduLGZpZWxkLG5hbWUsdmFsdWUpIFZBTFVFUyAnOwogICAgICAkdG1wID0gYXJyYXkoKTsKICAgICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHRoaXMtPl9kYXRhIGFzICRrZXkgPT4gJHJlYyApIHsKCSR2YWwgPSAkcmVjWyd2YWwnXTsKCSR0bXBbXSA9ICcoPyw/LD8sPyw/KSc7CgkkcGFybXNbXSA9ICR0aGlzWydpZCddOwoJJHBhcm1zW10gPSAkdGhpc1snY2FtcGFpZ24nXTsKCSRwYXJtc1tdID0gJHJlY1snZmllbGQnXTsKICAgICAgICAkcGFybXNbXSA9ICRrZXk7CglpZiggaXNfYXJyYXkoJHZhbCkgKSAkdmFsID0gc2VyaWFsaXplKCR2YWwpOwoJJHBhcm1zW10gPSAkdmFsOwogICAgICB9CiAgICAgICRxdWVyeSAuPSAnICcuaW1wbG9kZSgnLCcsJHRtcCk7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCRwYXJtcyk7CiAgICB9CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2luc2VydCgpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRleHRyYSA9IChpc3NldCgkdGhpcy0+X21haW5bJ2V4dHJhJ10pKT9zZXJpYWxpemUoJHRoaXMtPl9tYWluWydleHRyYSddKTpOVUxMOwogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuTE1fTEVBRFNfVEFCTEUuJyAoY2FtcGFpZ24sc3RhdHVzLHZpZXdlZCxleHRyYSxjcmVhdGVkLG1vZGlmaWVkKSBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snY2FtcGFpZ24nXSwkdGhpc1snc3RhdHVzJ10sJHRoaXNbJ3ZpZXdlZCddLCRleHRyYSx0aW1lKCksdGltZSgpKSk7CiAgICAkdGhpcy0+X21haW5bJ2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwoKICAgICR0aGlzLT5fc2F2ZV9maWVsZHMoKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJGV4dHJhID0gKGlzc2V0KCR0aGlzLT5fbWFpblsnZXh0cmEnXSkpP3NlcmlhbGl6ZSgkdGhpcy0+X21haW5bJ2V4dHJhJ10pOk5VTEw7CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuTE1fTEVBRFNfVEFCTEUuJyBTRVQgc3RhdHVzID0gPywgdmlld2VkID0gPywgZXh0cmEgPSA/LCBtb2RpZmllZCA9ID8gIFdIRVJFIGlkID0gPyBBTkQgY2FtcGFpZ24gPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzWydzdGF0dXMnXSwkdGhpc1sndmlld2VkJ10sJGV4dHJhLHRpbWUoKSwkdGhpc1snaWQnXSwkdGhpc1snY2FtcGFpZ24nXSkpOwoKICAgICR0aGlzLT5fc2F2ZV9maWVsZHMoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgewogICAgLy8gbm90aGluZyBoZXJlIHlldC4KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICB7CiAgICBpZiggISR0aGlzLT5fZGlydHkgKSByZXR1cm47CiAgICAkdGhpcy0+dmFsaWRhdGUoKTsKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9tYWluWydpZCddKSApIHsKICAgICAgJHRoaXMtPl9pbnNlcnQoKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkdGhpcy0+X3VwZGF0ZSgpOwogICAgfQogICAgJHRoaXMtPm5vdGlmeSgpOwogICAgJHRoaXMtPl9kaXJ0eSA9IEZBTFNFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgpCiAgewogICAgaWYoICR0aGlzWydpZCddIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IGRlbGV0ZSBhIGxlYWQgdGhhdCBoYXMgbm90IGJlZW4gc2F2ZWQnKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuTE1fTEVBRERBVEFfVEFCTEUuJyBXSEVSRSBsZWFkX2lkID0gPyBBTkQgY2FtcGFpZ24gPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzWydpZCddLCR0aGlzWydjYW1wYWlnbiddKSk7CgogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuTE1fTEVBRFNfVEFCTEUuJyBXSEVSRSBpZCA9ID8gQU5EIGNhbXBhaWduID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpc1snaWQnXSwkdGhpc1snY2FtcGFpZ24nXSkpOwogICAgCiAgICB1bnNldCgkdGhpcy0+X21haW5bJ2lkJ10pOwogICAgJHRoaXMtPm5vdGlmeSgpOwogICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZsb2FkX2J5X2lkKCRsZWFkX2lkLCRjYW1wYWlnbl9pZCkKICB7CiAgICAkbGVhZF9pZCA9IChpbnQpJGxlYWRfaWQ7CiAgICAkY2FtcGFpZ25faWQgPSAoaW50KSRjYW1wYWlnbl9pZDsKICAgIGlmKCAkbGVhZF9pZCA8IDEgfHwgJGNhbXBhaWduX2lkIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ2Fubm90IGxvYWQgbGVhZCB3aXRoIGFuIGludmFsaWQgaWRlbnRpZmllcnMnKTsKCiAgICAvLyBxdWVyeSB0aGUgcmVzdWx0c2V0IG9iamVjdCwgc2VlIGlmIHdlIGNhbiBnZXQgaXQuCiAgICAkdG1wID0gbG1fbGVhZF9yZXN1bHRzZXQ6OmdldF9zYXZlZF9kYXRhKCRsZWFkX2lkKTsKICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSA9PSAwICkgewogICAgICAvLyBnb3Qgc29tZXRoaW5nIGZyb20gY3VycmVudCByZXN1bHRzZXQuCiAgICAgICRtYWluID0gJHRtcFswXTsKICAgICAgJGRhdGEgPSAkdG1wWzFdOwogICAgICBpZiggaXNfYXJyYXkoJG1haW4pICYmIGlzX2FycmF5KCRkYXRhKSAmJiBjb3VudCgkbWFpbikgJiYgY291bnQoJGRhdGEpICYmIAoJICAkbWFpblsnaWQnXSA9ICRsZWFkX2lkICYmICRtYWluWydjYW1wYWlnbiddID09ICRjYW1wYWlnbl9pZCApIHsKCS8vIGV2ZXJ5dGhpbmcgc2VlbXMgdG8gY2hlY2sgb3V0Li4uLiAKCSRvYmogPSBuZXcgbG1fbGVhZDsKCSRvYmotPl9tYWluID0gJG1haW47Cgkkb2JqLT5fZGF0YSA9ICRkYXRhOwoJJG9iai0+X2RpcnR5ID0gRkFMU0U7CglyZXR1cm4gJG9iajsKICAgICAgfQogICAgfQoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0xFQURTX1RBQkxFLicgV0hFUkUgaWQgPSA/IEFORCBjYW1wYWlnbiA9ID8nOwogICAgJGRiciA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkbGVhZF9pZCwkY2FtcGFpZ25faWQpKTsKICAgIGlmKCAhaXNfYXJyYXkoJGRicikgfHwgY291bnQoJGRicikgPT0gMCApIHsKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdMZWFkICcuJGxlYWRfaWQuJyBmb3IgY2FtcGFpZ24gJy4kY2FtcGFpZ25faWQuJyBub3QgZm91bmQnKTsKICAgIH0KCiAgICAkb2JqID0gbmV3IGxtX2xlYWQoJGNhbXBhaWduX2lkKTsKICAgICRvYmotPl9tYWluID0gJGRicjsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuTE1fTEVBRERBVEFfVEFCTEUuJyBXSEVSRSBsZWFkX2lkID0gPyBBTkQgY2FtcGFpZ24gPSA/JzsKICAgICRkYnIgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkbGVhZF9pZCwkY2FtcGFpZ25faWQpKTsKICAgIGlmKCBpc19hcnJheSgkZGJyKSAmJiBjb3VudCgkZGJyKSApIHsKICAgICAgJHRtcCA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2goICRkYnIgYXMgJHJvdyApIHsKCSR0bXBbJHJvd1snbmFtZSddXSA9IGFycmF5KCdmaWVsZCc9PiRyb3dbJ2ZpZWxkJ10sJ3ZhbCc9PiRyb3dbJ3ZhbHVlJ10pOwogICAgICB9CiAgICAgICRvYmotPl9kYXRhID0gJHRtcDsKICAgIH0KICAgICRvYmotPl9kaXJ0eSA9IEZBTFNFOwogICAgcmV0dXJuICRvYmo7CiAgfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGxvYWRfYnlfY2FtcGFpZ24oJGNhbXBhaWduX2lkLCRsaW1pdCA9IDEwMCwkb2Zmc2V0ID0gMCkKICB7CiAgICAkY2FtcGFpZ25faWQgPSAoaW50KSRjYW1wYWlnbl9pZDsKICAgIGlmKCAkY2FtcGFpZ25faWQgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdDYW5ub3QgbG9hZCBsZWFkIHdpdGggYW4gaW52YWxpZCBpZGVudGlmaWVycycpOwoKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0xFQURTX1RBQkxFLicgV0hFUkUgY2FtcGFpZ24gPSA/IE9SREVSIGJ5IGNyZWF0ZWQgREVTQyc7CiAgICAkZGJyXyA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5LCRsaW1pdCwkb2Zmc2V0LGFycmF5KCRjYW1wYWlnbl9pZCkpOwogICAgJGRiciA9ICRkYnJfLT5HZXRBcnJheSgpOwogICAgaWYoICFpc19hcnJheSgkZGJyKSB8fCBjb3VudCgkZGJyKSA9PSAwICkgcmV0dXJuOwoKICAgICRtYWluID0gY2dlX2FycmF5Ojp0b19oYXNoKCRkYnIsJ2lkJyk7CiAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAkaWRzID0gYXJyYXlfa2V5cygkbWFpbik7CgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5MTV9MRUFEREFUQV9UQUJMRS4nIFdIRVJFIGNhbXBhaWduID0gPyBBTkQgbGVhZF9pZCBJTiAoJy5pbXBsb2RlKCcsJywkaWRzKS4nKSBPUkRFUiBCWSBmaWVsZCc7CiAgICAkZGJyMiA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRjYW1wYWlnbl9pZCkpOwogICAgaWYoIGlzX2FycmF5KCRkYnIyKSAmJiBjb3VudCgkZGJyMikgKSB7CiAgICAgIGZvcmVhY2goICRkYnIyIGFzICRyb3cgKSB7CgkkbGVhZF9pZCA9ICRyb3dbJ2xlYWRfaWQnXTsKCWlmKCAhaXNzZXQoJGRhdGFbJGxlYWRfaWRdKSApICRkYXRhWyRsZWFkX2lkXSA9IGFycmF5KCk7CgkkZGF0YVskbGVhZF9pZF1bJHJvd1snbmFtZSddXSA9IGFycmF5KCdmaWVsZCc9PiRyb3dbJ2ZpZWxkJ10sJ3ZhbCc9PiRyb3dbJ3ZhbHVlJ10pOwogICAgICB9CiAgICB9CgogICAgdW5zZXQoJGRicjIpOyAvLyBldmVyeXRoaW5nIGlzIGluICRyZWNzIG5vdy4KICAgICRvdXQgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJG1haW4gYXMgJGxlYWRfaWQgPT4gJHJlYyApIHsKICAgICAgJG9iaiA9IG5ldyBsbV9sZWFkKCRjYW1wYWlnbl9pZCk7CiAgICAgICRvYmotPl9tYWluID0gJHJlYzsKICAgICAgaWYoIGlzc2V0KCRkYXRhWyRsZWFkX2lkXSkgKSAkb2JqLT5fZGF0YSA9ICRkYXRhWyRsZWFkX2lkXTsKICAgICAgJG9iai0+X2RpcnR5ID0gRkFMU0U7CiAgICAgICRvdXRbXSA9ICRvYmo7CiAgICB9CiAgICByZXR1cm4gJG91dDsgICAgCiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_leadmgr_pagination.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBDbGFzc2VzIGZvciBwcm92aWRpbmcgcGFnaW5hdGlvbiBvZiBsZWFkcyBvciBjYW1wYWlnbnMKICoKICogQHBhY2thZ2UgTGVhZE1hbmFnZXIKICogQGF1dGhvciAgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGdtYWlsLmNvbT4KICovCgovKioKICogQSBjbGFzcyB0byBwcm92aWRlIHBhZ2luYXRpb24gZnVuY3Rpb25hbGl0eSBmb3IgbGVhZHMgb3IgY2FtcGFpZ25zIGluIHRoZSBMZWFkTWFuYWdlciBtb2R1bGUKICoKICogQW4gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBpcyBnaXZlbiB0byBzbWFydHkgaW4gdGhlIHZpZXdfY2FtcGFpZ24gYWN0aW9uIHRvIGFsbG93IHBhZ2luYXRpb24gb2YgbGVhZHMgZm9yIGEgY2FtcGFpZ24uCiAqIEFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgaXMgZ2l2ZW4gdG8gc21hcnR5IGluIHRoZSBjYW1wYWlnbmxpc3QgYWN0aW9uIHRvIGFsbG93IHBhZ2luYXRpb24gb2YgbGVhZHMgZm9yIGEgY2FtcGFpZ24uCiAqCiAqIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBBcnJheUFjY2VzcyBhbmQgc28gYWNjZXNzIHRvIHNvbWUgbWVtYmVycyBpcyBkb25lIHZpYSB0aGUgW10gb3BlcmF0b3Igb3IgdGhlIC4gb3BlcmF0b3IgaW4gc21hcnR5LgogKgogKiBtZW1iZXJzOgogKiAgIGlkOiAgdGhlIG1vZHVsZSBpZCB0byB1c2UgaW4gVVJMUyBhbmQgbGlua3MuIGRlZmF1bHQgaXMgY250bnQwMQogKiAgIGFjdGlvbjogdGhlIG1vZHVsZSBhY3Rpb24gdG8gdXNlIGluIFVSTFMgYW5kIGxpbmtzLiAgZGVmYXVsdCBpcyB2aWV3X2NhbXBhaWduCiAqICAgcmV0dXJuaWQ6IHRoZSBwYWdlIGlkIHRvIHVzZSBpbiBVUkxTIGFuZCBsaW5rcy4gIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgcGFnZQogKiAgIGlubGluZTogICAoYm9vbGVhbikgd2V0aGVyIGxpbmtzIHNob3VsZCBiZSBpbmxpbmUgKHJlcGxhY2UgdGhlIGN1cnJlbnQgdGFnKSBvciBub3QuCiAqICAgcGFnZWNvdW50OiAocmVhZCBvbmx5IGludGVnZXIpLiAgVGhlIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgcmVzdWx0aW5nIHNldC4KICogICBwYWdlOiAocmVhZCBvbmx5IGludGVnZXIpLiAgVGhlIGN1cnJlbnQgcGFnZQogKiAgIHRvdGFscGF0Y2hlczogKHJlYWQgb25seSBpbnRlZ2VyKSBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdGNoZXMgaW4gdGhlIHJlc3VsdGluZyBzZXQuCiAqCiAqIEBhdXRob3IgIFJvYmVydCBDYW1wYmVsbCA8Y2FsZ3V5MTAwMEBnbWFpbC5jb20+CiAqIEBwYWNrYWdlIExlYWRNYW5hZ2VyCiAqIEBjYXRlZ29yeSBjYWxndXkxMDAwCiAqLwphYnN0cmFjdCBjbGFzcyBsbV9sZWFkbWdyX3BhZ2luYXRpb24gaW1wbGVtZW50cyBBcnJheUFjY2Vzcwp7CiAgcHJpdmF0ZSAkX3F1ZXJ5OwogIHByaXZhdGUgJF9yczsKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CgogIC8qKgogICAqIENvbnN0cnVjdG9yCiAgICoKICAgKiBAaW50ZXJuYWwKICAgKiBAaWdub3JlCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGxtX2xlYWRtZ3JfcmVzdWx0c2V0ICRyZXN1bHRzZXQsbG1fbGVhZG1ncl9xdWVyeSAkcXVlcnksJHJldHVybmlkID0gbnVsbCkKICB7CiAgICAkdGhpcy0+X3F1ZXJ5ID0gJHF1ZXJ5OwogICAgJHRoaXMtPl9ycyA9ICRyZXN1bHRzZXQ7CiAgICBpZiggISRyZXR1cm5pZCApICRyZXR1cm5pZCA9IGNtc191dGlsczo6Z2V0X2N1cnJlbnRfcGFnZWlkKCk7CiAgICAkdGhpc1snaWQnXSA9ICdjbnRudDAxJzsKICAgICR0aGlzWydyZXR1cm5pZCddID0gJHJldHVybmlkOwogICAgJHRoaXNbJ2lubGluZSddID0gMDsKICAgICR0aGlzWydhY3Rpb24nXSA9ICd2aWV3X2NhbXBhaWduJzsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRfb3B0aW9ucygkb3B0cykKICB7CiAgICBpZiggaXNfYXJyYXkoJG9wdHMpICYmIGNvdW50KCRvcHRzKSApIHsKICAgICAgZm9yZWFjaCggJG9wdHMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CgkkdGhpc1ska2V5XSA9ICR2YWx1ZTsKICAgICAgfQogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldEdldCgka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ2FjdGlvbic6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIHRyaW0oJHRoaXMtPl9kYXRhWyRrZXldKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAncmV0dXJuaWQnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHJldHVybiAoaW50KSR0aGlzLT5fZGF0YVska2V5XTsKICAgICAgYnJlYWs7CiAgICAgIAogICAgY2FzZSAnaW5saW5lJzoKICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gKGJvb2wpJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICBicmVhazsKCiAgICBjYXNlICdwYWdlY291bnQnOgogICAgICByZXR1cm4gKGludCljZWlsKCR0aGlzLT5fcnMtPnRvdGFsIC8gJHRoaXMtPl9xdWVyeVsnbGltaXQnXSk7CgogICAgY2FzZSAncGFnZSc6CiAgICAgIHJldHVybiAoaW50KSgkdGhpcy0+X3F1ZXJ5WydvZmZzZXQnXSAvICR0aGlzLT5fcXVlcnlbJ2xpbWl0J10pICsgMTsKCiAgICBjYXNlICd0b3RhbG1hdGNoZXMnOgogICAgICByZXR1cm4gJHRoaXMtPl9ycy0+dG90YWw7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdpbnZhbGlkIGtleSAnLiRrZXkuJyBpbiBjbGFzcyAnLl9fQ0xBU1NfXyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0U2V0KCRrZXksJHZhbHVlKQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ2FjdGlvbic6CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IHRyaW0oJHZhbHVlKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAncmV0dXJuaWQnOgogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoaW50KSR2YWx1ZTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnaW5saW5lJzoKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gY21zX3RvX2Jvb2woJHZhbHVlKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAncGFnZSc6CiAgICBjYXNlICdwYWdlY291bnQnOgogICAgY2FzZSAndG90YWxtYXRjaGVzJzoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdjYW5ub3Qgc2V0ICcuJGtleS4nIGZpZWxkIGluIGEgJy5fX0NMQVNTX18pOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignaW52YWxpZCBrZXkgJy4ka2V5LicgZmllbGQgaW4gY2xhc3MgJy5fX0NMQVNTX18pOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldEV4aXN0cygka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2lkJzoKICAgIGNhc2UgJ2FjdGlvbic6CiAgICBjYXNlICdyZXR1cm5pZCc6CiAgICBjYXNlICdpbmxpbmUnOgogICAgICByZXR1cm4gKGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkpP1RSVUU6RkFMU0U7CgogICAgY2FzZSAncGFnZSc6CiAgICBjYXNlICdwYWdlY291bnQnOgogICAgY2FzZSAndG90YWxtYXRjaGVzJzoKICAgICAgcmV0dXJuIFRSVUU7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdpbnZhbGlkIGtleSAnLiRrZXkuJyBmaWVsZCBpbiBjbGFzcyAnLl9fQ0xBU1NfXyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0VW5zZXQoJGtleSkKICB7CiAgICAvLyBub3QgYWxsb3dlZCB0byB1bnNldCBhbnl0aGluZwogIH0KCiAgLyoqCiAgICogR2V0IGEgdXJsIHRvIGEgc3BlY2lmaWMgcGFnZSBpbiB0aGUgcmVzdWx0IHNldAogICAqCiAgICogQHBhcmFtIGludGVnZXIgcGFnZSBudW1iZXIgKGZyb20gMSB0byBwYWdlY291bnQpCiAgICogQHJldHVybiBzdHJpbmcgVGhlIHJlc3VsdGluZyB1cmwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BhZ2VfdXJsKCRwYWdlbnVtKQogIHsKICAgICRwYWdlbnVtID0gKGludCkkcGFnZW51bTsKICAgICRwYWdlbnVtID0gbWF4KDEsbWluKCR0aGlzWydwYWdlY291bnQnXSwkcGFnZW51bSkpOwoKICAgICRwYXJtcyA9ICR0aGlzLT5fcXVlcnktPmdldF9wYXJhbXMoKTsKICAgICRwYXJtc1snbG1fb2Zmc2V0J10gPSAoJHBhZ2VudW0tMSkgKiAkdGhpcy0+X3F1ZXJ5WydsaW1pdCddOwogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfTEVBRE1BTkFHRVIpOwogICAgJHVybCA9ICRtb2QtPmNyZWF0ZV91cmwoJHRoaXNbJ2lkJ10sJHRoaXNbJ2FjdGlvbiddLCR0aGlzWydyZXR1cm5pZCddLCRwYXJtcywkdGhpc1snaW5saW5lJ10pOwogICAgcmV0dXJuICR1cmw7CiAgfQoKICAvKioKICAgKiBHZXQgYSB1cmwgdG8gdGhlIGZpcnN0IHBhZ2UgaW4gdGhlIHJlc3VsdHNldC4KICAgKgogICAqIEByZXR1cm4gc3RyaW5nIFRoZSByZXN1bHRpbmcgdXJsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9maXJzdHBhZ2VfdXJsKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmdldF9wYWdlX3VybCgxKTsKICB9CgogIC8qKgogICAqIEdldCBhIHVybCB0byB0aGUgcHJldmlvdXMgcGFnZSBpbiB0aGUgcmVzdWx0c2V0LgogICAqCiAgICogQHJldHVybiBzdHJpbmcgVGhlIHJlc3VsdGluZyB1cmwKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ByZXZwYWdlX3VybCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5nZXRfcGFnZV91cmwoJHRoaXNbJ3BhZ2UnXS0xKTsKICB9CgogIC8qKgogICAqIEdldCBhIHVybCB0byB0aGUgbmV4dCBwYWdlIGluIHRoZSByZXN1bHRzZXQuCiAgICoKICAgKiBAcmV0dXJuIHN0cmluZyBUaGUgcmVzdWx0aW5nIHVybAogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmV4dHBhZ2VfdXJsKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPmdldF9wYWdlX3VybCgkdGhpc1sncGFnZSddKzEpOwogIH0KCiAgLyoqCiAgICogR2V0IGEgdXJsIHRvIHRoZSBsYXN0IHBhZ2UgaW4gdGhlIHJlc3VsdHNldC4KICAgKgogICAqIEByZXR1cm4gc3RyaW5nIFRoZSByZXN1bHRpbmcgdXJsCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9sYXN0cGFnZV91cmwoKQogIHsKICAgIHJldHVybiAkdGhpcy0+Z2V0X3BhZ2VfdXJsKCR0aGlzWydwYWdlY291bnQnXSk7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_leadmgr_query.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmFic3RyYWN0IGNsYXNzIGxtX2xlYWRtZ3JfcXVlcnkgaW1wbGVtZW50cyBBcnJheUFjY2VzcyAKewogIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpOwoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gJmV4ZWN1dGUoKTsKCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9wYXJhbXMoKTsKfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_leadmgr_resultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmFic3RyYWN0IGNsYXNzIGxtX2xlYWRtZ3JfcmVzdWx0c2V0CnsKICBwcm90ZWN0ZWQgJF9xdWVyeTsKICBwcm90ZWN0ZWQgJF9yZXN1bHRzZXQ7CiAgcHJvdGVjdGVkICRfcXVlcmllZDsKICBwcm90ZWN0ZWQgJF9ubWF0Y2hpbmc7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChsbV9sZWFkbWdyX3F1ZXJ5ICRxdWVyeSkKICB7CiAgICAkdGhpcy0+X3F1ZXJ5ID0gJHF1ZXJ5OwogIH0KCiAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIF9xdWVyeSgpOwoKICBwdWJsaWMgZnVuY3Rpb24gUmVjb3JkQ291bnQoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9xdWVyaWVkICkgJHRoaXMtPl9xdWVyeSgpOwogICAgaWYoICR0aGlzLT5fcmVzdWx0c2V0ICkgcmV0dXJuICR0aGlzLT5fcmVzdWx0c2V0LT5SZWNvcmRDb3VudCgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE1vdmVOZXh0KCkKICB7CiAgICBpZiggISR0aGlzLT5fcXVlcmllZCApICR0aGlzLT5fcXVlcnkoKTsKICAgIGlmKCAkdGhpcy0+X3Jlc3VsdHNldCApIHJldHVybiAkdGhpcy0+X3Jlc3VsdHNldC0+TW92ZU5leHQoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBNb3ZlRmlyc3QoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9xdWVyaWVkICkgJHRoaXMtPl9xdWVyeSgpOwogICAgaWYoICR0aGlzLT5fcmVzdWx0c2V0ICkgcmV0dXJuICR0aGlzLT5fcmVzdWx0c2V0LT5Nb3ZlRmlyc3QoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBSZXdpbmQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TW92ZUZpcnN0KCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gTW92ZUxhc3QoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9xdWVyaWVkICkgJHRoaXMtPl9xdWVyeSgpOwogICAgaWYoICR0aGlzLT5fcmVzdWx0c2V0ICkgcmV0dXJuICR0aGlzLT5fcmVzdWx0c2V0LT5Nb3ZlTGFzdCgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIEVPRigpCiAgewogICAgaWYoICEkdGhpcy0+X3F1ZXJpZWQgKSAkdGhpcy0+X3F1ZXJ5KCk7CiAgICBpZiggJHRoaXMtPl9yZXN1bHRzZXQgKSByZXR1cm4gJHRoaXMtPl9yZXN1bHRzZXQtPkVPRigpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIENsb3NlKCkKICB7CiAgICBpZiggISR0aGlzLT5fcXVlcmllZCApICR0aGlzLT5fcXVlcnkoKTsKICAgIGlmKCAkdGhpcy0+X3Jlc3VsdHNldCApIHJldHVybiAkdGhpcy0+X3Jlc3VsdHNldC0+Q2xvc2UoKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogIHsKICAgIGlmKCAhJHRoaXMtPl9xdWVyaWVkICkgJHRoaXMtPl9xdWVyeSgpOwogICAgaWYoICRrZXkgPT0gJ0VPRicgKSByZXR1cm4gJHRoaXMtPkVPRigpOwogICAgaWYoICRrZXkgPT0gJ3RvdGFsJyAmJiAkdGhpcy0+X3Jlc3VsdHNldCApIHJldHVybiAkdGhpcy0+X25tYXRjaGluZzsKICAgIGlmKCAka2V5ID09ICdmaWVsZHMnICYmICR0aGlzLT5fcmVzdWx0c2V0ICYmICEkdGhpcy0+X3Jlc3VsdHNldC0+RU9GKCkgKSB7IHJldHVybiAkdGhpcy0+X3Jlc3VsdHNldC0+ZmllbGRzOyB9CiAgfQoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gJkdldE9iamVjdCgpOwoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gJkdldFBhZ2luYXRpb24oKTsKCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_lead_pagination.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBDbGFzc2VzIGZvciBwcm92aWRpbmcgcGFnaW5hdGlvbiBvZiBsZWFkcyBpbiB0aGUgdmlld19jYW1wYWlnbiBhY3Rpb24KICoKICogQHBhY2thZ2UgTGVhZE1hbmFnZXIKICogQGF1dGhvciAgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGdtYWlsLmNvbT4KICovCgovKioKICogQSBjbGFzcyB0byBwcm92aWRlIHBhZ2luYXRpb24gZnVuY3Rpb25hbGl0eSBmb3IgbGVhZHMgaW4gdGhlIExlYWRNYW5hZ2VyIG1vZHVsZQogKgogKiBBbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGlzIGdpdmVuIHRvIHNtYXJ0eSBpbiB0aGUgdmlld19jYW1wYWlnbiBvYmplY3QgdG8gYWxsb3cgcGFnaW5hdGlvbiBvZiBsZWFkcyBmb3IgYSBjYW1wYWlnbi4KICoKICogVGhpcyBjbGFzcyBpbXBsZW1lbnRzIEFycmF5QWNjZXNzIGFuZCBzbyBhY2Nlc3MgdG8gc29tZSBtZW1iZXJzIGlzIGRvbmUgdmlhIHRoZSBbXSBvcGVyYXRvciBvciB0aGUgLiBvcGVyYXRvciBpbiBzbWFydHkuCiAqCiAqIG1lbWJlcnM6CiAqICAgaWQ6ICB0aGUgbW9kdWxlIGlkIHRvIHVzZSBpbiBVUkxTIGFuZCBsaW5rcy4gZGVmYXVsdCBpcyBjbnRudDAxCiAqICAgYWN0aW9uOiB0aGUgbW9kdWxlIGFjdGlvbiB0byB1c2UgaW4gVVJMUyBhbmQgbGlua3MuICBkZWZhdWx0IGlzIHZpZXdfY2FtcGFpZ24KICogICByZXR1cm5pZDogdGhlIHBhZ2UgaWQgdG8gdXNlIGluIFVSTFMgYW5kIGxpbmtzLiAgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBwYWdlCiAqICAgaW5saW5lOiAgIChib29sZWFuKSB3ZXRoZXIgbGlua3Mgc2hvdWxkIGJlIGlubGluZSAocmVwbGFjZSB0aGUgY3VycmVudCB0YWcpIG9yIG5vdC4KICogICBwYWdlY291bnQ6IChyZWFkIG9ubHkgaW50ZWdlcikuICBUaGUgbnVtYmVyIG9mIHBhZ2VzIGluIHRoZSByZXN1bHRpbmcgc2V0LgogKiAgIHBhZ2U6IChyZWFkIG9ubHkgaW50ZWdlcikuICBUaGUgY3VycmVudCBwYWdlCiAqICAgdG90YWxwYXRjaGVzOiAocmVhZCBvbmx5IGludGVnZXIpIFRoZSB0b3RhbCBudW1iZXIgb2YgbWF0Y2hlcyBpbiB0aGUgcmVzdWx0aW5nIHNldC4KICoKICogQGF1dGhvciAgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGdtYWlsLmNvbT4KICogQHBhY2thZ2UgTGVhZE1hbmFnZXIKICogQGNhdGVnb3J5IGNhbGd1eTEwMDAKICovCmNsYXNzIGxtX2xlYWRfcGFnaW5hdGlvbiBleHRlbmRzIGxtX2xlYWRtZ3JfcGFnaW5hdGlvbgp7CiAgLyoqCiAgICogQ29uc3RydWN0b3IKICAgKgogICAqIEBpbnRlcm5hbAogICAqIEBpZ25vcmUKICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QobG1fbGVhZF9yZXN1bHRzZXQgJHJlc3VsdHNldCxsbV9sZWFkX3F1ZXJ5ICRxdWVyeSwkcmV0dXJuaWQgPSBudWxsKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJHJlc3VsdHNldCwkcXVlcnksJHJldHVybmlkKTsKICAgICR0aGlzLT5zZXRfb3B0aW9ucyhhcnJheSgnYWN0aW9uJz0+J3ZpZXdfY2FtcGFpZ24nKSk7CiAgfQoKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_lead_query.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2xlYWRfcXVlcnkgZXh0ZW5kcyBsbV9sZWFkbWdyX3F1ZXJ5CnsKICAvLyBrZXlzOiBjYW1wYWlnbiwgYWN0aXZlLCBjYW1wYWlnbl9saXN0LCBzdGF0dXMsIHZpZXdlZCwgbGltaXQsIG9mZnNldAogIC8vIHRvZG86IGNvbXBhbnlfaWQsIGNvbXBhbnlfbGlzdCwgaGFzZmllbGQsIGtleT14eHh4IHZhbD15eXkKICBwcml2YXRlICRfZGF0YTsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRvcHRpb25zID0gYXJyYXkoKSkKICB7CiAgICAkdGhpcy0+X2RhdGEgPSAkb3B0aW9uczsKLy8gICAgICRkZmx0ID0gYXJyYXkoJ3N0YXR1cyc9PmxtX2xlYWQ6OlNUQVRVU19DT01QTEVURSwnYWN0aXZlJz0+MSwnbGltaXQnPT4yNTAsJ29mZnNldCc9PjApOwovLyAgICAgJHRoaXMtPl9kYXRhID0gYXJyYXlfbWVyZ2UoJGRmbHQsJG9wdGlvbnMpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldEdldCgka2V5KQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgIGNhc2UgJ2xpbWl0JzoKICAgIGNhc2UgJ29mZnNldCc6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIChpbnQpJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICBicmVhazsKCiAgICBjYXNlICd2aWV3ZWQnOgogICAgY2FzZSAnc3RhdHVzJzoKICAgIGNhc2UgJ2NhbXBhaWduX2xpc3QnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CiAgICAgIGJyZWFrOwogICAgICAKICAgIGNhc2UgJ2FjdGl2ZSc6CiAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuIChib29sKSR0aGlzLT5fZGF0YVska2V5XTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0U2V0KCRrZXksJHZhbHVlKQogIHsKICAgIHN3aXRjaCggJGtleSApIHsKICAgIGNhc2UgJ2xpbWl0JzoKICAgICAgJHZhbCA9IChpbnQpJHZhbDsKICAgICAgJHZhbCA9IG1pbigxMDAwLCR2YWwpOyAvLyBsaW1pdCBtYXhpbXVtIGlzIDEwMDAKICAgICAgaWYoICR2YWwgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkICcuJGtleS4nIHBhc3NlZCB0byAnLl9fQ0xBU1NfXyk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWw7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgICAgJHZhbCA9IChpbnQpJHZhbDsKICAgICAgaWYoICR2YWwgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkICcuJGtleS4nIHBhc3NlZCB0byAnLl9fQ0xBU1NfXyk7CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWw7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ29mZnNldCc6CiAgICAgICR2YWwgPSAoaW50KSR2YWw7CiAgICAgIGlmKCAkdmFsIDwgMCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCAnLiRrZXkuJyBwYXNzZWQgdG8gJy5fX0NMQVNTX18pOwogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsOwogICAgICAKICAgIGNhc2UgJ3N0YXR1cyc6CiAgICAgIHN3aXRjaCggJHZhbCApIHsKICAgICAgY2FzZSBsbV9sZWFkOjpTVEFUVVNfSU5DT01QTEVURToKICAgICAgY2FzZSBsbV9sZWFkOjpTVEFUVVNfQ09NUExFVEU6CiAgICAgIGNhc2UgbG1fbGVhZDo6U1RBVFVTX0JBRDoKCSR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWw7CglicmVhazsKICAgICAgZGVmYXVsdDoKCXRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCAnLiRrZXkuJyBwYXNzZWQgdG8gJy5fX0NMQVNTX18pOwogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NhbXBhaWduX2xpc3QnOgogICAgICBpZiggIWlzX2FycmF5KCR2YWwpICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkICcuJGtleS4nIHBhc3NlZCB0byAnLl9fQ0xBU1NfXyk7CiAgICAgICR0bXAgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCAkdmFsIGFzICRvbmUgKSB7Cgkkb25lID0gKGludCkkb25lOwoJaWYoICRvbmUgPiAwICkgJHRtcFtdID0gJG9uZTsKICAgICAgfQogICAgICAkdG1wID0gYXJyYXlfdW5pcXVlKCR0bXApOwogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdG1wOwogICAgICBicmVhazsKCiAgICBjYXNlICd2aWV3ZWQnOgogICAgY2FzZSAnYWN0aXZlJzoKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gY21zX3RvX2Jvb2woJHZhbCk7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBrZXkgJy4ka2V5LicgZm9yICcuX19DTEFTU19fKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRFeGlzdHMoJGtleSkKICB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdsaW1pdCc6CiAgICBjYXNlICdvZmZzZXQnOgogICAgY2FzZSAnY2FtcGFpZ24nOgogICAgY2FzZSAnc3RhdHVzJzoKICAgIGNhc2UgJ2NhbXBhaWduX2xpc3QnOgogICAgY2FzZSAndmlld2VkJzoKICAgIGNhc2UgJ2FjdGl2ZSc6CiAgICAgIHJldHVybiAoaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSk/VFJVRTpGQUxTRTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkIGtleSAnLiRrZXkuJyBmb3IgJy5fX0NMQVNTX18pOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE9mZnNldFVuc2V0KCRrZXkpCiAgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnbGltaXQnOgogICAgY2FzZSAnb2Zmc2V0JzoKICAgIGNhc2UgJ2NhbXBhaWduJzoKICAgIGNhc2UgJ3N0YXR1cyc6CiAgICBjYXNlICdjYW1wYWlnbl9saXN0JzoKICAgIGNhc2UgJ3ZpZXdlZCc6CiAgICBjYXNlICdhY3RpdmUnOgogICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHVuc2V0KCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICAgIGJyZWFrOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBrZXkgJy4ka2V5LicgZm9yICcuX19DTEFTU19fKTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2xpbWl0J10pICkgJHRoaXMtPl9kYXRhWydsaW1pdCddID0gMTAwMDsKICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydvZmZzZXQnXSkgKSAkdGhpcy0+X2RhdGFbJ29mZnNldCddID0gMDsKICAgIGlmKCBjb3VudCgkdGhpcy0+X2RhdGEpID09IDAgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgJy5fX0NMQVNTX18pOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uICZleGVjdXRlKCkKICB7CiAgICAkdGhpcy0+dmFsaWRhdGUoKTsKICAgICRvYmogPSBuZXcgbG1fbGVhZF9yZXN1bHRzZXQoJHRoaXMpOwogICAgcmV0dXJuICRvYmo7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3BhcmFtcygpCiAgewogICAgJHRtcCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkdGhpcy0+X2RhdGEgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAkdG1wWydsbV8nLiRrZXldID0gJHZhbDsKICAgIH0KICAgIHJldHVybiAkdG1wOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_lead_resultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxtX2xlYWRfcmVzdWx0c2V0IGV4dGVuZHMgbG1fbGVhZG1ncl9yZXN1bHRzZXQKewogIHByaXZhdGUgc3RhdGljICRfc2F2ZWRfbWFpbjsKICBwcml2YXRlIHN0YXRpYyAkX3NhdmVkX2RhdGE7CgogIHByaXZhdGUgJF9sZWFkZGF0YTsKCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9xdWVyeSgpCiAgewogICAgJHRoaXMtPl9xdWVyeS0+dmFsaWRhdGUoKTsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUIFNRTF9DQUxDX0ZPVU5EX1JPV1MgTC4qIEZST00gJy5MTV9DQU1QQUlHTlNfVEFCTEUuJyBDIExFRlQgSk9JTiAnLkxNX0xFQURTX1RBQkxFLicgTCBPTiBDLmlkID0gTC5jYW1wYWlnbic7CiAgICAKICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICAkcGFybXMgPSBhcnJheSgpOwoKICAgIGlmKCBpc3NldCgkdGhpcy0+X3F1ZXJ5WydjYW1wYWlnbiddKSApIHsKICAgICAgJHdoZXJlW10gPSAnY2FtcGFpZ24gPSA/JzsKICAgICAgJHBhcm1zW10gPSAoaW50KSR0aGlzLT5fcXVlcnlbJ2NhbXBhaWduJ107CiAgICB9CiAgICBlbHNlIGlmKCBpc3NldCgkdGhpcy0+X3F1ZXJ5WydjYW1wYWlnbl9saXN0J10pICkgewogICAgICAkd2hlcmVbXSA9ICdjYW1wYWlnbiBJTiAoJy5pbXBsb2RlKCcsJywkdGhpcy0+X3F1ZXJ5WydjYW1wYWlnbl9saXN0J10pLicpJzsKICAgIH0KCiAgICBpZiggaXNzZXQoJHRoaXMtPl9xdWVyeVsnYWN0aXZlJ10pICkgewogICAgICBpZiggJHRoaXMtPl9xdWVyeVsnYWN0aXZlJ10gPiAwICkgewoJJHdoZXJlW10gPSAnVU5JWF9USU1FU1RBTVAoKSBCRVRXRUVOIEMuc3RhcnRfZGF0ZSBhbmQgQy5lbmRfZGF0ZSc7CiAgICAgIH0KICAgICAgZWxzZSB7Cgkkd2hlcmVbXSA9ICdVTklYX1RJTUVTVEFNUCgpIE5PVCBCRVRXRUVOIEMuc3RhcnRfZGF0ZSBhbmQgQy5lbmRfZGF0ZSc7CiAgICAgIH0KICAgIH0KCiAgICBpZiggaXNzZXQoJHRoaXMtPl9xdWVyeVsnc3RhdHVzJ10pICkgewogICAgICAkd2hlcmVbXSA9ICdMLnN0YXR1cyA9ID8nOwogICAgICAkcGFybXNbXSA9ICR0aGlzLT5fcXVlcnlbJ3N0YXR1cyddOwogICAgfQoKICAgIGlmKCBpc3NldCgkdGhpcy0+X3F1ZXJ5Wyd2aWV3ZWQnXSkgKSB7CiAgICAgIGlmKCAkdGhpcy0+X3F1ZXJ5Wyd2aWV3ZWQnXSApIHsKCSR3aGVyZVtdID0gJ0wudmlld2VkID4gMCc7CiAgICAgIH0KICAgICAgZWxzZSB7Cgkkd2hlcmVbXSA9ICdDT0FMRVNDRShMLnZpZXdlZCwwKSA9IDAnOwogICAgICB9CiAgICB9CiAgICAvLwogICAgLy8gcXVlcnkgYXNzZW1ibHkKICAgIC8vCiAgICBpZiggY291bnQoJHdoZXJlKSApIHsKICAgICAgJHF1ZXJ5IC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICAgIH0KICAgICRxdWVyeSAuPSAnIE9SREVSIEJZIEwuY2FtcGFpZ24sIEwudmlld2VkLCBMLm1vZGlmaWVkIERFU0MnOwoKICAgICRvZmZzZXQgPSBpc3NldCgkdGhpcy0+X3F1ZXJ5WydvZmZzZXQnXSk/KGludCkkdGhpcy0+X3F1ZXJ5WydvZmZzZXQnXTowOwogICAgJG9mZnNldCA9IG1heCgwLCRvZmZzZXQpOwogICAgJGxpbWl0ID0gaXNzZXQoJHRoaXMtPl9xdWVyeVsnbGltaXQnXSk/KGludCkkdGhpcy0+X3F1ZXJ5WydsaW1pdCddOjA7CiAgICAkbGltaXQgPSBtYXgoMSxtaW4oMTAwMCwkbGltaXQpKTsKICAgICR0aGlzLT5fcmVzdWx0c2V0ID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJGxpbWl0LCRvZmZzZXQsJHBhcm1zKTsKICAgIGlmKCAhJHRoaXMtPl9yZXN1bHRzZXQgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJTlRFUk5BTCBFUlJPUjogUXVlcnkgZmFpbGVkIC0gJy4kZGItPnNxbC4nIC0tICcuJGRiLT5FcnJvck1zZygpKTsKICAgICR0aGlzLT5fbm1hdGNoaW5nID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBGT1VORF9ST1dTKCknKTsKCiAgICAkdGhpcy0+X3F1ZXJpZWQgPSBUUlVFOwogICAgJHRoaXMtPl9wcmVsb2FkX2ZpZWxkcygpOwogIH0KCiAgcHJpdmF0ZSBmdW5jdGlvbiBfcHJlbG9hZF9maWVsZHMoKQogIHsKICAgIGlmKCAhJHRoaXMtPl9yZXN1bHRzZXQgKSByZXR1cm47CgogICAgJGxlYWRfaWRzID0gYXJyYXkoKTsKICAgICR0aGlzLT5fcmVzdWx0c2V0LT5Nb3ZlRmlyc3QoKTsKICAgIHdoaWxlKCAhJHRoaXMtPl9yZXN1bHRzZXQtPkVPRiApIHsKICAgICAgJGxlYWRfaWRzW10gPSAkdGhpcy0+X3Jlc3VsdHNldC0+ZmllbGRzWydpZCddOwogICAgICAkdGhpcy0+X3Jlc3VsdHNldC0+TW92ZU5leHQoKTsKICAgIH0KICAgICR0aGlzLT5fcmVzdWx0c2V0LT5Nb3ZlRmlyc3QoKTsKICAgICRsZWFkX2lkcyA9IGFycmF5X3VuaXF1ZSgkbGVhZF9pZHMpOwogICAgaWYoICFjb3VudCgkbGVhZF9pZHMpICkgcmV0dXJuOwoKICAgIC8vIHByZWxvYWQgdGhlIGRhdGEKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkxNX0xFQUREQVRBX1RBQkxFLicgV0hFUkUgbGVhZF9pZCBJTiAoJy5pbXBsb2RlKCcsJywkbGVhZF9pZHMpLicpIE9SREVSIEJZIGZpZWxkLG5hbWUnOwogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgIGlmKCBpc19hcnJheSgkZGJyKSAmJiBjb3VudCgkZGJyKSApIHsKICAgICAgJHRoaXMtPl9sZWFkZGF0YSA9IGFycmF5KCk7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYnIpOyAkaSsrICkgewoJJHJlYyA9ICRkYnJbJGldOwoJJGxlYWRfaWQgPSAkcmVjWydsZWFkX2lkJ107CglpZiggIWlzc2V0KCR0aGlzLT5fbGVhZGRhdGFbJGxlYWRfaWRdKSApICR0aGlzLT5fbGVhZGRhdGFbJGxlYWRfaWRdID0gYXJyYXkoKTsKCSR0aGlzLT5fbGVhZGRhdGFbJGxlYWRfaWRdW10gPSAkcmVjOwogICAgICB9CiAgICB9CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRfZmllbGRzKCRpZCkKICB7CiAgICBpZiggIWlzc2V0KCR0aGlzLT5fbGVhZGRhdGFbJGlkXSkgKSByZXR1cm47IC8vIG5vdCBmb3VuZAogICAgCiAgICAkb3V0ID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICR0aGlzLT5fbGVhZGRhdGFbJGlkXSBhcyAkcmVjICkgewogICAgICAkb3V0W10gPSBhcnJheSgnZmllbGQnPT4kcmVjWydmaWVsZCddLCd2YWwnPT4kcmVjWyd2YWx1ZSddKTsKICAgIH0KICAgIHJldHVybiAkb3V0OwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgewogICAgaWYoICEkdGhpcy0+X3F1ZXJpZWQgKSAkdGhpcy0+X3F1ZXJ5KCk7CiAgICBpZiggJGtleSA9PSAnZGF0YScgJiYgJHRoaXMtPl9yZXN1bHRzZXQgJiYgISR0aGlzLT5fcmVzdWx0c2V0LT5FT0YoKSApIHsgcmV0dXJuICR0aGlzLT5fcmVzdWx0c2V0LT5maWVsZHM7IH0KICAgIGlmKCAka2V5ID09ICdmaWVsZHMnICYmICR0aGlzLT5fcmVzdWx0c2V0ICYmICEkdGhpcy0+X3Jlc3VsdHNldC0+RU9GKCkgKSB7IAogICAgICAkaWQgPSAkdGhpcy0+X3Jlc3VsdHNldC0+ZmllbGRzWydpZCddOwogICAgICBpZiggaXNzZXQoJHRoaXMtPl9sZWFkZGF0YVskaWRdKSApIHJldHVybiAkdGhpcy0+X2xlYWRkYXRhWyRpZF07CiAgICB9CiAgICByZXR1cm4gcGFyZW50OjpfX2dldCgka2V5KTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NhdmVkX2RhdGEoJGxlYWRfaWQpCiAgewogICAgJGxlYWRfaWQgPSAoaW50KSRsZWFkX2lkOwogICAgaWYoICFpc19hcnJheShzZWxmOjokX3NhdmVkX21haW4pIHx8IHNlbGY6OiRfc2F2ZWRfbWFpblsnaWQnXSAhPSAkbGVhZF9pZCApIHJldHVybjsKCiAgICByZXR1cm4gYXJyYXkoc2VsZjo6JF9zYXZlZF9tYWluLHNlbGY6OiRfc2F2ZWRfZGF0YSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gJkdldE9iamVjdCgpCiAgewogICAgJHJlYyA9ICR0aGlzLT5kYXRhOwogICAgJG9iaiA9IG51bGw7CiAgICBpZiggaXNfYXJyYXkoJHJlYykgJiYgY291bnQoJHJlYykgKSB7CiAgICAgIHNlbGY6OiRfc2F2ZWRfbWFpbiA9ICRyZWM7CiAgICAgIHNlbGY6OiRfc2F2ZWRfZGF0YSA9ICR0aGlzLT5fZ2V0X2ZpZWxkcygkcmVjWydpZCddKTsKICAgICAgJG9iaiA9IGxtX2xlYWQ6OmxvYWRfYnlfaWQoJHJlY1snaWQnXSwkcmVjWydjYW1wYWlnbiddKTsKICAgICAgc2VsZjo6JF9zYXZlZF9tYWluID0gc2VsZjo6JF9zYXZlZF9kYXRhID0gbnVsbDsKICAgIH0KICAgIHJldHVybiAkb2JqOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uICZHZXRQYWdpbmF0aW9uKCkKICB7CiAgICAkb2JqID0gbnVsbDsKICAgIGlmKCAhJHRoaXMtPl9xdWVyaWVkICkgJHRoaXMtPl9xdWVyeSgpOwogICAgaWYoICEkdGhpcy0+X3Jlc3VsdHNldCApIHJldHVybiAkb2JqOwoKICAgICRvYmogPSBuZXcgbG1fbGVhZF9wYWdpbmF0aW9uKCR0aGlzLCR0aGlzLT5fcXVlcnkpOwogICAgcmV0dXJuICRvYmo7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.lm_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZpbmFsIGNsYXNzIGxtX3V0aWxzCnsKICBwcml2YXRlIHN0YXRpYyAkX25vdGlmaWVyOwoKICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZmllbGR0eXBlcygkZmxhdCA9IFRSVUUpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfTEVBRE1BTkFHRVIpOwogICAgJHRtcCA9IHNlbGY6OmdldF9iYXNlX2ZpZWxkdHlwZXMoKTsKCiAgICAkb3V0ID0gYXJyYXkoKTsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUgRlJPTSAnLkxNX0ZJRUxEVFlQRVNfVEFCTEUuJyBPUkRFUiBCWSBuYW1lIEFTQyc7CiAgICAkZGJyID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgaWYoICRmbGF0IHx8IGNvdW50KCRkYnIpID09IDAgKSB7CiAgICAgICRvdXQgPSAkdG1wOwogICAgICBmb3JlYWNoKCAkZGJyIGFzICRyb3cgKSB7Cgkkb3V0WyRyb3dbJ2lkJ11dID0gJHJvd1snbmFtZSddOwogICAgICB9CiAgICB9CiAgICBlbHNlIHsKICAgICAgaWYoIGlzX2FycmF5KCRkYnIpICYmIGNvdW50KCRkYnIpICkgewoJJG91dFskbW9kLT5MYW5nKCdwcm9tcHRfYmFzaWNmaWVsZHR5cGVzJyldID0gJHRtcDsKCSR0bXAyID0gYXJyYXkoKTsKCWZvcmVhY2goICRkYnIgYXMgJHJvdyApIHsKCSAgJHRtcDJbJHJvd1snaWQnXV0gPSAkcm93WyduYW1lJ107Cgl9Cgkkb3V0WyRtb2QtPkxhbmcoJ3Byb21wdF9wcmVidWlsdHR5cGVzJyldID0gJHRtcDI7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAkb3V0OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYmFzZV9maWVsZHR5cGVzKCkKICB7CiAgICBzdGF0aWMgJF9vdXQgPSBudWxsOwoKICAgIGlmKCAhaXNfYXJyYXkoJF9vdXQpICkgewogICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9MRUFETUFOQUdFUik7CiAgICAgICR0bXAgPSBhcnJheShsbV9maWVsZDo6RklFTERfVEVYVEJPWCxsbV9maWVsZDo6RklFTERfVEVYVEFSRUEsbG1fZmllbGQ6OkZJRUxEX0NIRUNLQk9YLGxtX2ZpZWxkOjpGSUVMRF9EUk9QRE9XTiwKCQkgICBsbV9maWVsZDo6RklFTERfTVVMVElTRUwpOwogICAgICAkX291dCA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2goICR0bXAgYXMgJGtleSApIHsKCSRfb3V0WyRrZXldID0gJG1vZC0+TGFuZygnZmllbGRfJy4ka2V5KTsKICAgICAgfQogICAgfQogICAgcmV0dXJuICRfb3V0OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc192YWxpZF9maWVsZHR5cGUoJHN0cikKICB7CiAgICAkdG1wID0gYXJyYXlfa2V5cyhzZWxmOjpnZXRfZmllbGR0eXBlcygpKTsKICAgIGlmKCBpbl9hcnJheSgkc3RyLCR0bXApICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRleHRfdG9fb3B0aW9ucygkdGV4dCkKICB7CiAgICAkdGV4dCA9IHRyaW0oJHRleHQpOwogICAgaWYoICEkdGV4dCApIHJldHVybjsKCiAgICAkdGV4dCA9IHN0cl9yZXBsYWNlKCJcclxuIiwiXG4iLCR0ZXh0KTsKICAgICR0ZXh0ID0gc3RyX3JlcGxhY2UoIlxyIiwiXG4iLCR0ZXh0KTsKICAgICR0ZXh0ID0gc3RyX3JlcGxhY2UoIlxuXG4iLCJcbiIsJHRleHQpOwogICAgaWYoICEkdGV4dCApIHJldHVybjsKCiAgICAkdG1wID0gY2dlX2FycmF5OjpleHBsb2RlX3dpdGhfa2V5KCR0ZXh0LCc9JywiXG4iKTsKICAgIGlmKCAhaXNfYXJyYXkoJHRtcCkgfHwgY291bnQoJHRtcCkgPT0gMCApIHJldHVybjsKCiAgICAkb3V0ID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICR0bXAgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICRrZXkgPSB0cmltKCRrZXkpOwogICAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CiAgICAgIGlmKCAhJGtleSAmJiAkdmFsdWUgKSB7Cgkka2V5ID0gJHZhbHVlOwogICAgICB9CiAgICAgIGVsc2UgaWYoICRrZXkgJiYgISR2YWx1ZSApIHsKCSR2YWx1ZSA9ICRrZXk7CiAgICAgIH0KICAgICAgJGtleSA9IHN0cnRvbG93ZXIoJGtleSk7CiAgICAgICRvdXRbJGtleV0gPSAkdmFsdWU7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhbXBhaWduX2ltYWdlX2RpcigkY2FtcGFpZ25faWQpCiAgewogICAgJGNhbXBhaWduX2lkID0gKGludCkkY2FtcGFpZ25faWQ7CiAgICBpZiggJGNhbXBhaWduX2lkIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBjYW1wYWlnbiBpZCAnLiRjYW1wYWlnbl9pZC4nIGluICcuX19NRVRIT0RfXyk7CgogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJGRpciA9ICRjb25maWdbJ3VwbG9hZHNfcGF0aCddLicvX2xlYWRtYW5hZ2VyL2MnLiRjYW1wYWlnbl9pZC4nL2ltYWdlcyc7CiAgICByZXR1cm4gJGRpcjsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhbXBhaWduX2ltYWdlX3VybCgkY2FtcGFpZ25faWQpCiAgewogICAgJGNhbXBhaWduX2lkID0gKGludCkkY2FtcGFpZ25faWQ7CiAgICBpZiggJGNhbXBhaWduX2lkIDwgMSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignSW52YWxpZCBjYW1wYWlnbiBpZCAnLiRjYW1wYWlnbl9pZC4nIGluICcuX19NRVRIT0RfXyk7CgogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJGRpciA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy9fbGVhZG1hbmFnZXIvYycuJGNhbXBhaWduX2lkLicvaW1hZ2VzJzsKICAgIHJldHVybiAkZGlyOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2FtcGFpZ25fYXR0YWNobWVudF9kaXIoJGNhbXBhaWduX2lkKQogIHsKICAgICRjYW1wYWlnbl9pZCA9IChpbnQpJGNhbXBhaWduX2lkOwogICAgaWYoICRjYW1wYWlnbl9pZCA8IDEgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0ludmFsaWQgY2FtcGFpZ24gaWQgJy4kY2FtcGFpZ25faWQuJyBpbiAnLl9fTUVUSE9EX18pOwoKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICRkaXIgPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nL19sZWFkbWFuYWdlci9jJy4kY2FtcGFpZ25faWQuJy9hdHRhY2htZW50cyc7CiAgICByZXR1cm4gJGRpcjsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhbXBhaWduX2F0dGFjaG1lbnRfdXJsKCRjYW1wYWlnbl9pZCkKICB7CiAgICAkY2FtcGFpZ25faWQgPSAoaW50KSRjYW1wYWlnbl9pZDsKICAgIGlmKCAkY2FtcGFpZ25faWQgPCAxICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdJbnZhbGlkIGNhbXBhaWduIGlkICcuJGNhbXBhaWduX2lkLicgaW4gJy5fX01FVEhPRF9fKTsKCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkZGlyID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nL19sZWFkbWFuYWdlci9jJy4kY2FtcGFpZ25faWQuJy9hdHRhY2htZW50cyc7CiAgICByZXR1cm4gJGRpcjsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfcm9ib3QoKQogIHsKICAgICRicm93c2VyID0gY2dlX3V0aWxzOjpnZXRfYnJvd3NlcigpOwogICAgaWYoICRicm93c2VyLT5pc1JvYm90KCkgKSByZXR1cm4gVFJVRTsKICAgIAogICAgLy8gVE9ETzogY2hlY2sgb3VyIHVzZXIgYWdlbnQgYWdhaW5zdCBhIHByZWZlcmVuY2Ugb2YgYmFkIHVzZXIgYWdlbnRzLgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfTEVBRE1BTkFHRVIpOwogICAgJHRtcCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2Jsb2NrZWRfdXNlcmFnZW50cycpOwogICAgJGJsb2NrZWQgPSBhcnJheSgpOwogICAgaWYoICR0bXAgKSAkYmxvY2tlZCA9IHVuc2VyaWFsaXplKCR0bXApOwogICAgaWYoIGluX2FycmF5KCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwkYmxvY2tlZCkgKSByZXR1cm4gVFJVRTsKCiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFkZF9ub3RpZmlhYmxlKGxtX2xlYWQgJG9iaikKICB7CiAgICBpZiggIWlzX29iamVjdChzZWxmOjokX25vdGlmaWVyKSApIHNlbGY6OiRfbm90aWZpZXIgPSBuZXcgbG1fZW1haWxub3RpZmllcjsKICAgICRvYmotPmF0dGFjaChzZWxmOjokX25vdGlmaWVyKTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJmdldF9jb21wYW55KCRjb21wYW55X2lkKQogIHsKICAgICRjZG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ09NUEFOWURJUkVDVE9SWSk7CiAgICBpZiggISRjZG1vZCApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgaW5zdGFuY2Ugb2YgQ29tcGFueURpcmVjdG9yeScpOwogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgJGRldGFpbHBhZ2UgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9pZCcpOwogICAgJGNvbXBhbnkgPSBjZF91dGlsczo6Z2V0X2NvbXBhbnkoJGNvbXBhbnlfaWQsJGRldGFpbHBhZ2UsVFJVRSk7CiAgICBpZiggISRjb21wYW55ICkgdGhyb3cgbmV3IExlYWRNYW5hZ2VyRXhjZXB0aW9uKCdDb3VsZCBub3QgZmluZCB0aGUgY29tcGFueSBpZGVudGlmaWVkIGJ5ICcuJGNvbXBhbnlfaWQpOwogICAgcmV0dXJuICRjb21wYW55OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2FwdHVyZV92YXJzKCRwYXJhbXMgPSBhcnJheSgpKQogIHsKICAgIC8vIHRvZG86IGV4cGFuZCB0aGlzIGZ1bmN0aW9uIHdpdGggYSBwcmVmZXJlbmNlLCBhbmQgbWF5YmUgb3RoZXIgdmFycyBmcm9tIG1vZHVsZXMuCiAgICAkY2FwdHVyZSA9IGFycmF5KCk7CiAgICBpZiggaXNzZXQoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKSAmJiAkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10gKSAkY2FwdHVyZVsncmVmZXJlciddID0gJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddOwogICAgJGNhcHR1cmVbJ3VzZXJfYWdlbnQnXSA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKICAgICRjYXB0dXJlWydyZW1vdGVfaXAnXSA9IGNnZV91dGlsczo6Z2V0X3JlYWxfaXAoKTsKICAgIGlmKCBpc3NldCgkX0dFVFsndXRtX3NvdXJjZSddKSApICRjYXB0dXJlWyd1dG1fc291cmNlJ10gPSAkX0dFVFsndXRtX3NvdXJjZSddOwogICAgaWYoIGlzc2V0KCRfR0VUWyd1dG1fbWVkaXVtJ10pICkgJGNhcHR1cmVbJ3V0bV9tZWRpdW0nXSA9ICRfR0VUWyd1dG1fbWVkaXVtJ107CiAgICBpZiggaXNzZXQoJF9HRVRbJ3V0bV9jYW1wYWlnbiddKSApICRjYXB0dXJlWyd1dG1fY2FtcGFpZ24nXSA9ICRfR0VUWyd1dG1fY2FtcGFpZ24nXTsKCiAgICAkZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9GUk9OVEVORFVTRVJTKTsKICAgIGlmKCAhJGZldSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgaW5zdGFuY2Ugb2YgRnJvbnRFbmRVc2VycycpOwogICAgaWYoICgkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpKSApIHsKICAgICAgJGNhcHR1cmVbJ2ZldV91aWQnXSA9ICR1aWQ7CiAgICAgICRjYXB0dXJlWydmZXVfZW1haWwnXSA9ICRmZXUtPkxvZ2dlZEluRW1haWwoKTsKICAgIH0KCiAgICBpZiggaXNfYXJyYXkoJHBhcmFtcykgJiYgY291bnQoJHBhcmFtcykgKSB7CiAgICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CglpZiggc3RhcnRzd2l0aCgka2V5LCdsbV9rZXknKSApIHsKCSAgJHRtcCA9IChpbnQpc3Vic3RyKCRrZXksNik7CgkgIGlmKCAkdG1wID4gMCAmJiBpc3NldCgkcGFyYW1zWydsbV92YWwnLiR0bXBdKSApIHsKCSAgICAkZmxkICA9ICdsbV92YWwnLiR0bXA7CgkgICAgJG5hbWUgPSAkcGFyYW1zWyRrZXldOwoJICAgICRjYXB0dXJlWyRuYW1lXSA9ICRwYXJhbXNbJGZsZF07CgkgIH0KCX0KICAgICAgfQogICAgfQoKICAgIHJldHVybiAkY2FwdHVyZTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3VzZXJfY29tcGFuaWVzKCR1aWQgPSBudWxsKQogIHsKICAgIGlmKCAkdWlkICkgJHVpZCA9IChpbnQpJHVpZDsKICAgIGlmKCAhJHVpZCApIHsKICAgICAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfRlJPTlRFTkRVU0VSUyk7CiAgICAgIGlmKCAhJGZldSApIHRocm93IG5ldyBMZWFkTWFuYWdlckV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgaW5zdGFuY2Ugb2YgRnJvbnRFbmRVc2VycycpOwogICAgICAkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwogICAgfQogICAgaWYoICEkdWlkICkgcmV0dXJuOwogICAgCiAgICAkY2Rtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NPTVBBTllESVJFQ1RPUlkpOwogICAgaWYoICEkY2Rtb2QgKSB0aHJvdyBuZXcgTGVhZE1hbmFnZXJFeGNlcHRpb24oJ0NvdWxkIG5vdCBmaW5kIGluc3RhbmNlIG9mIENvbXBhbnlEaXJlY3RvcnknKTsKCiAgICAkZmlsdGVyID0gbmV3IGNkX2NvbXBhbnlfZmlsdGVyKGFycmF5KCdvd25lcl9pZCc9PiR1aWQpKTsKICAgICRxdWVyeSA9IG5ldyBjZF9jb21wYW55X3F1ZXJ5KCRmaWx0ZXIpOwogICAgJHRtcCA9ICRxdWVyeS0+Z2V0X3Jlc3VsdHMoKTsKICAgICRvdXQgPSBhcnJheSgpOwogICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgewogICAgICBmb3JlYWNoKCAkdG1wIGFzICRrZXkgPT4gJHJlYyApIHsKCWlmKCAkcmVjLT5zdGF0dXMgPT0gJ3B1Ymxpc2hlZCcgKSAkb3V0WyRrZXldID0gJHJlYzsKICAgICAgfQogICAgICAkdG1wID0gJG91dDsKICAgIH0KICAgIHJldHVybiAkdG1wOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdXNlcl9jYW1wYWlnbnMoJHVpZCA9IG51bGwpCiAgewogICAgJGNvbXBhbmllcyA9IHNlbGY6OmdldF91c2VyX2NvbXBhbmllcygkdWlkKTsKICAgIGlmKCAhaXNfYXJyYXkoJGNvbXBhbmllcykgfHwgY291bnQoJGNvbXBhbmllcykgPT0gMCApIHJldHVybjsKCiAgICAkaWRsaXN0ID0gYXJyYXlfa2V5cygkY29tcGFuaWVzKTsKICAgICRxdWVyeSA9IG5ldyBsbV9jYW1wYWlnbl9xdWVyeShhcnJheSgnY29tcGFueV9pZHMnPT4kaWRsaXN0LCdzdGF0cyc9PjEpKTsKICAgICRycyA9ICRxdWVyeS0+ZXhlY3V0ZSgpOwogICAgJG91dCA9IGFycmF5KCk7CiAgICB3aGlsZSggISRycy0+RU9GKCkgKSB7CiAgICAgIGRlYnVnX2Rpc3BsYXkoJHJzLT5maWVsZHMpOyBkaWUoKTsKICAgICAgJG91dFtdID0gJHJzLT5HZXRPYmplY3QoKTsKICAgICAgJHJzLT5Nb3ZlTmV4dCgpOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9mb3JtX2Rpc3BsYXlfcGFnZSgkcmV0dXJuaWQgPSBudWxsKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0xFQURNQU5BR0VSKTsKICAgICRkZXN0cGFnZSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2NhbXBhaWducGFnZScpOwogICAgaWYoICRkZXN0cGFnZSApIHsKICAgICAgJGRlc3RwYWdlID0gJG1vZC0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkZGVzdHBhZ2UpOwogICAgfQogICAgaWYoICEkZGVzdHBhZ2UgKSAkZGVzdHBhZ2UgPSAkcmV0dXJuaWQ7CiAgICBpZiggISRkZXN0cGFnZSApIHsKICAgICAgJG9wcyA9IENvbnRlbnRPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgJGRlc3RwYWdlID0gJG9wcy0+R2V0RGVmYXVsdENvbnRlbnQoKTsKICAgIH0KICAgIHJldHVybiAkZGVzdHBhZ2U7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNsZWFuX3BhcmFtcygkaW5wdXQpCiAgewogICAgJG91dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkaW5wdXQgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAkb2tleSA9ICRrZXk7CiAgICAgIGlmKCBzdGFydHN3aXRoKCRrZXksJ2xtXycpICkgJG9rZXkgPSBzdWJzdHIoJGtleSwzKTsKICAgICAgJHRtcCA9IEB1bnNlcmlhbGl6ZSgkdmFsKTsKICAgICAgaWYoICR0bXAgKSAkdmFsID0gJHRtcDsKICAgICAgJG91dFskb2tleV0gPSAkdmFsOwogICAgfQogICAgcmV0dXJuICRvdXQ7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/ExcelWriterXML/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/ExcelWriterXML/ExcelWriterXML.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qKg0KICogRXhjZWxXcml0ZXJYTUwgUGFja2FnZQ0KICogVXNlZCB0aGUgc2NoZW1hIGRvY3VtZW50YXRpb24gZnJvbSBNaWNyb3NvZnQNCiAqIEBsaW5rIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTE0MDA2NihvZmZpY2UuMTApLmFzcHgNCiAqIEBwYWNrYWdlIEV4Y2VsV3JpdGVyWE1MDQogKi8NCg0KLyoqDQogKiBJbmNsdWRlcyB0aGUgb3RoZXIgY2xhc3MgZmlsZSB0byBjcmVhdGUgU2hlZXRzDQogKi8NCmluY2x1ZGUoJ0V4Y2VsV3JpdGVyWE1MX1NoZWV0LnBocCcpOw0KLyoqDQogKiBJbmNsdWRlcyB0aGUgb3RoZXIgY2xhc3MgZmlsZSB0byBjcmVhdGUgU3R5bGVzDQogKi8NCmluY2x1ZGUoJ0V4Y2VsV3JpdGVyWE1MX1N0eWxlLnBocCcpOw0KDQovKioNCiAqIENsYXNzIGZvciBnZW5lcmF0aW5nIHRoZSBpbml0aWFsIEV4Y2VsIFhNTCBkb2N1bWVudA0KICogPGNvZGU+DQogKiA8P3BocA0KICogJHhtbCA9IG5ldyBFeGNlbFdyaXRlclhNTDsNCiAqICRmb3JtYXQgPSAkeG1sLT5hZGRTdHlsZSgnU3R5bGVIZWFkZXInKTsNCiAqICRmb3JtYXQtPmZvbnRCb2xkKCk7DQogKiAkc2hlZXQgPSAkeG1sLT5hZGRTaGVldCgnVGVzdCBTaGVldCcpOw0KICogJHNoZWV0LT53cml0ZVN0cmluZyAoMSwxLCdIZWFkZXIxJywnU3R5bGVIZWFkZXInKTsNCiAqICRzaGVldC0+d3JpdGVTdHJpbmcoMiwxLCdNeSBTdHJpbmcnKTsNCiAqICR4bWwtPnNlbmRIZWFkZXJzKCk7DQogKiAkeG1sLT53cml0ZURhdGEoKTsNCiAqID8+DQogKiA8L2NvZGU+DQogKiBAbGluayBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvYWExNDAwNjYob2ZmaWNlLjEwKS5hc3B4DQogKiBAYXV0aG9yIFJvYmVydCBGIEdyZWVyDQogKiBAdmVyc2lvbiAxLjANCiAqIEBwYWNrYWdlIEV4Y2VsV3JpdGVyWE1MDQogKi8NCmNsYXNzIEV4Y2VsV3JpdGVyWE1Mew0KCS8vIFByaXZhdGUgVmFyaWFibGVzIC8vDQoJcHJpdmF0ZSAkc3R5bGVzID0gYXJyYXkoKTsNCglwdWJsaWMgICRmb3JtYXRFcnJvcnMgPSBhcnJheSgpOw0KCXByaXZhdGUgJHNoZWV0cyA9IGFycmF5KCk7DQoJcHJpdmF0ZSAkc2hvd0Vycm9yU2hlZXQgPSBmYWxzZTsNCglwcml2YXRlICRvdmVyd3JpdGVGaWxlID0gZmFsc2U7DQoJcHJpdmF0ZSAkZG9jRmlsZU5hbWU7DQoJcHJpdmF0ZSAkZG9jVGl0bGU7DQoJcHJpdmF0ZSAkZG9jU3ViamVjdDsNCglwcml2YXRlICRkb2NBdXRob3I7DQoJcHJpdmF0ZSAkZG9jQ3JlYXRlZDsNCglwcml2YXRlICRkb2NNYW5hZ2VyOw0KCXByaXZhdGUgJGRvY0NvbXBhbnk7DQoJcHJpdmF0ZSAkZG9jVmVyc2lvbiA9IDExLjk5OTk7DQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KCS8qKg0KICAgICAqIENvbnN0cnVjdG9yIGZvciB0aGUgRXhjZWxXcml0ZXJYTUwgY2xhc3MuDQogICAgICogQSBkZWZhdWx0IHN0eWxlIGlzIGNyZWF0ZWQsIGEgZmlsZW5hbWUgaXMgZ2VuZXJhdGVkIChpZiBub3Qgc3VwcGxpZWQpIGFuZA0KICAgICAqIHRoZSBjcmVhdGUgdGltZSBvZiB0aGUgZG9jdW1lbnQgaXMgc3RvcmVkLg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGZpbGVOYW1lIFRoaXMgaXMgdGhlIGZpbGVuYW1lIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlDQogICAgICogYnJvd3Nlci4gIElmIG5vdCBwcmVzZW50IGl0IHdpbGwgZGVmYXVsdCB0byAiZmlsZS54bWwiDQogICAgICogQHJldHVybiBFeGNlbFdyaXRlclhNTCBJbnN0YW5jZSBvZiB0aGUgY2xhc3MNCiAgICAgKi8NCglmdW5jdGlvbiBFeGNlbFdyaXRlclhNTCgkZmlsZU5hbWUgPSAnZmlsZS54bWwnKXsNCgkJLy8gQWRkIGRlZmF1bHQgc3R5bGUNCgkJJHN0eWxlID0gJHRoaXMtPmFkZFN0eWxlKCdEZWZhdWx0Jyk7DQoJCSRzdHlsZS0+bmFtZSgnTm9ybWFsJyk7DQoJCSRzdHlsZS0+YWxpZ25WZXJ0aWNhbCgnQm90dG9tJyk7DQoJCQ0KCQlpZiAoJGZpbGVOYW1lID09ICcnKXsNCgkJCSRmaWxlTmFtZSA9ICdmaWxlLnhtbCc7DQoJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdGaWxlIG5hbWUgd2FzIGJsYW5rLCBkZWZhdWx0IHRvICJmaWxlLnhtbCInKTsNCgkJfQ0KCQkNCgkJJHRoaXMtPmRvY0ZpbGVOYW1lID0gJGZpbGVOYW1lOw0KCQkkdGhpcy0+ZG9jQ3JlYXRlZCA9IGRhdGUoJ1ktbS1kJykuJ1QnLmRhdGUoJ0g6aTpzJykuJ1onOw0KCQlFV1hjcmVhdGVTdHlsZXNEQigkdGhpcyk7DQoJfQ0KDQoJLyoqDQoJICogV2hldGhlciBvciBub3QgdG8gb3ZlcndyaXRlIGEgZmlsZSAod2hlbiB3cml0aW5nIHRvIGRpc2spDQoJICogQHBhcmFtIGJvb2xlYW4gJG92ZXJ3cml0ZSBUcnVlIG9yIEZhbHNlDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIG92ZXJ3cml0ZUZpbGUoJG92ZXJ3cml0ZSA9IHRydWUpew0KCQlpZiAoIWlzX2Jvb2woJG92ZXJ3cml0ZSkpew0KCQkJJHRoaXMtPm92ZXJ3cml0ZUZpbGUgPSBmYWxzZTsNCgkJCXJldHVybjsNCgkJfQ0KCQllbHNlew0KCQkJJHRoaXMtPm92ZXJ3cml0ZUZpbGUgPSAkb3ZlcndyaXRlOw0KCQl9DQoJfQ0KDQoJLyoqDQoJICogV2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgc2hlZXQgY29udGFpbmluZyB0aGUgRm9ybWF0dGluZyBFcnJvcnMNCgkgKiBAcGFyYW0gYm9vbGVhbiAkc2hvdw0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBzaG93RXJyb3JTaGVldCgkc2hvdyA9IHRydWUpew0KCQlpZiAoIWlzX2Jvb2woJHNob3cpKXsNCgkJCSR0aGlzLT5zaG93RXJyb3JTaGVldCA9IHRydWU7DQoJCQlyZXR1cm47DQoJCX0NCgkJZWxzZXsNCgkJCSR0aGlzLT5zaG93RXJyb3JTaGVldCA9ICRzaG93Ow0KCQl9DQoJfQ0KDQoJLyoqDQoJICogQWRkcyBhIGZvcm1hdCBlcnJvci4gIFdoZW4gdGhlIGRvY3VtZW50IGlzIGdlbmVyYXRlZCBpZiB0aGVyZSBhcmUgYW55DQoJICogZXJyb3JzIHRoZXkgd2lsbCBiZSBsaXN0ZWQgb24gYSBzZXBlcmF0ZSBzaGVldC4NCkBwYXJhbSBzdHJpbmcgJGZ1bmN0aW9uIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0aGF0IHdhcyBjYWxsZWQNCgkgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlIERldGFpbHMgb2YgdGhlIGVycm9yDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGFkZEVycm9yKCRmdW5jdGlvbiwgJG1lc3NhZ2Upew0KCQkkdG1wID0gYXJyYXkoDQoJCQknZnVuY3Rpb24nCT0+ICRmdW5jdGlvbiwNCgkJCSdtZXNzYWdlJwk9PiAkbWVzc2FnZSwNCgkJKTsNCgkJJHRoaXMtPmZvcm1hdEVycm9yc1tdID0gJHRtcDsNCgl9DQoJDQoJLyoqDQogICAgICogU2VuZHMgdGhlIEhUTUwgaGVhZGVycyB0byB0aGUgY2xpZW50Lg0KICAgICAqIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgaWYgdGhlIFhNTCBkb2MgaXMgdG8gYmUgZGVsaXZlcmVkIGZyb20gdGhlIHNlcnZlcg0KICAgICAqIHRvIHRoZSBicm93c2VyLg0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBzZW5kSGVhZGVycygpew0KCQloZWFkZXIoJ2NvbnRlbnQtdHlwZTogdGV4dC94bWwnKTsNCgkJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iJy4kdGhpcy0+ZG9jRmlsZU5hbWUuJyInKTsNCgkJaGVhZGVyKCdFeHBpcmVzOiAwJyk7DQoJCWhlYWRlcignQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlLCBwb3N0LWNoZWNrPTAscHJlLWNoZWNrPTAnKTsNCgkJaGVhZGVyKCdQcmFnbWE6IHB1YmxpYycpOw0KCX0NCg0KCS8qKg0KICAgICAqIEdldHMgdGhlIGRlZmF1bHQgc3R5bGUgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgY29udHJ1Y3Rvci4NCiAgICAgKiBUaGlzIGlzIHVzZWQgd2hlbiBtb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IHN0eWxlIGFyZSByZXF1aXJlZC4NCiAgICAgKiBAcmV0dXJuIEV4Y2VsV3JpdGVyWE1MX1N0eWxlIFJlZmVyZW5jZSB0byBhIHN0eWxlIGNsYXNzDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGdldERlZmF1bHRTdHlsZSgpew0KCQlyZXR1cm4oJHRoaXMtPnN0eWxlc1swXSk7DQoJfQ0KDQoJLyoqDQogICAgICogQ3JlYXRlcyBhIG5ldyBzdHlsZSB3aXRoaW4gdGhlIHNwcmVhZHNoZWV0Lg0KICAgICAqIFN0eWxlcyBjYW5ub3QgaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIGFueSBvdGhlciBzdHlsZS4gSWYgYSBzdHlsZSBoYXMgdGhlDQogICAgICogc2FtZSBuYW1lIGFzIGFub3RoZXIgc3R5bGUgdGhlbiBpdCB3aWxsIGZvbGxvdyB0aGUgZGVmYXVsdCBuYW1pbmcNCiAgICAgKiBjb252ZW50aW9uIGFzIGlmICRpZCB3YXMgbnVsbA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkIFRoZSBuYW1lIG9mIHRoZSBzdHlsZS4gIElmIGxlZnQgYmxhbmsgdGhlbiB0aGUgc3R5bGUNCiAgICAgKiB3aWxsIGRlZmF1bHQgdG8gIkN1c3RvbVN0eWxlIiArIG4gKGUuZy4gIkN1c3RvbVN0eWxlMSIpDQogICAgICogQHJldHVybiBFeGNlbFdyaXRlclhNTF9TdHlsZSBSZWZlcmVuY2UgdG8gYSBuZXcgc3R5bGUgY2xhc3MNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gYWRkU3R5bGUoJGlkID0gbnVsbCl7DQoJCXN0YXRpYyAkc3R5bGVOdW0gPSAxOw0KCQlpZiAodHJpbSgkaWQpID09ICcnKSAkaWQgPSBudWxsOw0KDQoJCWlmICgkaWQgPT0gbnVsbCl7DQoJCQkkaWQgPSAnQ3VzdG9tU3R5bGUnLiRzdHlsZU51bTsNCgkJCSRzdHlsZU51bSsrOw0KCQkJLy8kdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdTdHlsZSBuYW1lIHdhcyBibGFuaywgcmVuYW1lZCB0byAiJy4kaWQuJyInKTsNCgkJfQ0KDQoJCXdoaWxlICghJHRoaXMtPmNoZWNrU3R5bGVJRCgkaWQpKXsNCgkJCSRvbGRfaWQgPSAkaWQ7DQoJCQkkaWQgPSAnQ3VzdG9tU3R5bGUnLiRzdHlsZU51bTsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ1N0eWxlIG5hbWUgd2FzIGR1cGxpY2F0ZSAoIicuJG9sZF9pZC4nIiksIHJlbmFtZWQgdG8gIicuJGlkLiciJyk7DQoJCQkkc3R5bGVOdW0rKzsNCgkJfQ0KCQkNCgkJJHN0eWxlID0mIG5ldyBFeGNlbFdyaXRlclhNTF9TdHlsZSgkaWQpOw0KCQkkdGhpcy0+c3R5bGVzW10gPSAkc3R5bGU7DQoJCXJldHVybiAoJHN0eWxlKTsNCgl9DQoJDQoJLyoqDQogICAgICogQ3JlYXRlcyBhIG5ldyBzaGVldCB3aXRoaW4gdGhlIHNwcmVhZHNoZWV0DQogICAgICogQXQgbGVhc3Qgb25lIHNoZWV0IGlzIHJlcXVpcmVkLg0KICAgICAqIEFkZGl0aW9uYWwgc2hlZXRzIGNhbm5vdCBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgYW55IG90aGVyIHNoZWV0Lg0KICAgICAqIElmIGEgc2hlZXQgaGFzIHRoZSBzYW1lIG5hbWUgYXMgYW5vdGhlciBzaGVldCB0aGVuIGl0IHdpbGwgZm9sbG93IHRoZQ0KICAgICAqIGRlZmF1bHQgbmFtaW5nIGNvbnZlbnRpb24gYXMgaWYgJGlkIHdhcyBudWxsDQogICAgICogQHBhcmFtIHN0cmluZyAkaWQgVGhlIG5hbWUgb2YgdGhlIHNoZWV0LiAgSWYgbGVmdCBibGFuayB0aGVuIHRoZSBzaGVldA0KICAgICAqIHdpbGwgZGVmYXVsdCB0byAiU2hlZXQiICsgbiAoZS5nLiAiU2hlZXQxIikNCiAgICAgKiBAcmV0dXJuIEV4Y2VsV3JpdGVyWE1MX1NoZWV0IFJlZmVyZW5jZSB0byBhIG5ldyBzaGVldCBjbGFzcw0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBhZGRTaGVldCgkaWQgPSBudWxsKXsNCgkJc3RhdGljICRzaGVldE51bSA9IDE7DQoJCWlmICh0cmltKCRpZCkgPT0gJycpICRpZCA9IG51bGw7DQoNCgkJaWYgKCRpZCA9PSBudWxsKXsNCgkJCSRpZCA9ICdTaGVldCcuJHNoZWV0TnVtOw0KCQkJJHNoZWV0TnVtKys7DQoJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdTaGVldCBuYW1lIHdhcyBibGFuaywgcmVuYW1lZCB0byAiJy4kaWQuJyInKTsNCgkJfQ0KDQoJCXdoaWxlICghJHRoaXMtPmNoZWNrU2hlZXRJRCgkaWQpKXsNCgkJCSRvbGRfaWQgPSAkaWQ7DQoJCQkkaWQgPSAnU2hlZXQnLiRzaGVldE51bTsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ1NoZWV0IG5hbWUgd2FzIGR1cGxpY2F0ZSAoIicuJG9sZF9pZC4nIiksIHJlbmFtZWQgdG8gIicuJGlkLiciJyk7DQoJCQkkc2hlZXROdW0rKzsNCgkJfQ0KCQkNCgkJJHNoZWV0ID0mIG5ldyBFeGNlbFdyaXRlclhNTF9TaGVldCgkaWQpOw0KCQkkdGhpcy0+c2hlZXRzW10gPSAkc2hlZXQ7DQoJCXJldHVybiAoJHNoZWV0KTsNCgl9DQoJDQoJLyoqDQoJICogQ2hlY2tzIHdoZXRoZXIgYSBwcm9wb3NlZCBTaGVldCBJRCBoYXMgYWxyZWFkeSBiZWVuIHVzZWQNCgkgKiBAcGFyYW0gc3RyaW5nICRpZCBUaGUgc2hlZXQgaWQgdG8gYmUgY2hlY2tlZA0KCSAqIEByZXR1cm4gYm9vbGVhbiBUcnVlIGlmIHRoZSBpZCBpcyB1bmlxdWUsIGZhbHNlIG90aGVyd2lzZQ0KCSAqLw0KCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tTaGVldElEKCRpZCl7DQoJCWZvcmVhY2goJHRoaXMtPnNoZWV0cyBhcyAkc2hlZXQpew0KCQkJJHNoZWV0SUQgPSAkc2hlZXQtPmdldElEKCk7DQoJCQlpZiAoJGlkID09ICRzaGVldElEKXsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJLyoqDQoJICogQ2hlY2tzIHdoZXRoZXIgYSBwcm9wb3NlZCBTdHlsZSBJRCBoYXMgYWxyZWFkeSBiZWVuIHVzZWQNCgkgKiBAcGFyYW0gc3RyaW5nICRpZCBUaGUgc3R5bGUgaWQgdG8gYmUgY2hlY2tlZA0KCSAqIEByZXR1cm4gYm9vbGVhbiBUcnVlIGlmIHRoZSBpZCBpcyB1bmlxdWUsIGZhbHNlIG90aGVyd2lzZQ0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBjaGVja1N0eWxlSUQoJGlkKXsNCgkJZm9yZWFjaCgkdGhpcy0+c3R5bGVzIGFzICRzdHlsZSl7DQoJCQkkc3R5bGVJRCA9ICRzdHlsZS0+Z2V0SUQoKTsNCgkJCWlmICgkaWQgPT0gJHN0eWxlSUQpew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvKioNCiAgICAgKiBXcml0ZXMgdGhlIFhNTCBkYXRhDQogICAgICogQHBhcmFtIHN0cmluZyAkdGFyZ2V0IElmIGxlZnQgbnVsbCB0aGUgZnVuY3Rpb24gd2lsbCBvdXRwdXQgdG8gU1REIE9VVA0KICAgICAqIChlLiBnLiBicm93c2VyIG9yIGNvbnNvbGUpDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIHdyaXRlRGF0YSgkdGFyZ2V0ID0gbnVsbCl7DQoJCSRkb2NUaXRsZSA9ICcnOw0KCQkkZG9jU3ViamVjdCA9ICcnOw0KCQkkZG9jQXV0aG9yID0gJyc7DQoJCSRkb2NDcmVhdGVkID0gJyc7DQoJCSRkb2NNYW5hZ2VyID0gJyc7DQoJCSRkb2NDb21wYW55ID0gJyc7DQoJCSRkb2NWZXJzaW9uID0gMTI7DQoJCQ0KCQkkZXJyb3JzID0gZmFsc2U7DQoJCQ0KCQlpZiAoJHRoaXMtPnNob3dFcnJvclNoZWV0ID09IHRydWUpew0KCQkJJGZvcm1hdCA9ICR0aGlzLT5hZGRTdHlsZSgnZm9ybWF0RXJyb3JzSGVhZGVyJyk7DQoJCQkkZm9ybWF0LT5mb250Qm9sZCgpOw0KCQkJJGZvcm1hdC0+YmdDb2xvcigncmVkJyk7DQoJCX0NCgkJDQoJCWlmICghZW1wdHkoJHRoaXMtPmRvY1RpdGxlKSkgJGRvY1RpdGxlID0gJzxUaXRsZT4nLmh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPmRvY1RpdGxlKS4nPC9UaXRsZT4nLiJcciI7DQoJCWlmICghZW1wdHkoJHRoaXMtPmRvY1N1YmplY3QpKSAkZG9jU3ViamVjdCA9ICc8U3ViamVjdD4nLmh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPmRvY1N1YmplY3QpLic8L1N1YmplY3Q+Jy4iXHIiOw0KCQlpZiAoIWVtcHR5KCR0aGlzLT5kb2NBdXRob3IpKSAkZG9jQXV0aG9yID0gJzxBdXRob3I+Jy5odG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5kb2NBdXRob3IpLic8L0F1dGhvcj4nLiJcciI7DQoJCWlmICghZW1wdHkoJHRoaXMtPmRvY0NyZWF0ZWQpKSAkZG9jQ3JlYXRlZCA9ICc8Q3JlYXRlZD4nLmh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPmRvY0NyZWF0ZWQpLic8L0NyZWF0ZWQ+Jy4iXHIiOw0KCQlpZiAoIWVtcHR5KCR0aGlzLT5kb2NNYW5hZ2VyKSkgJGRvY01hbmFnZXIgPSAnPE1hbmFnZXI+Jy5odG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5kb2NNYW5hZ2VyKS4nPC9NYW5hZ2VyPicuIlxyIjsNCgkJaWYgKCFlbXB0eSgkdGhpcy0+ZG9jQ29tcGFueSkpICRkb2NDb21wYW55ID0gJzxDb21wYW55PicuaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+ZG9jQ29tcGFueSkuJzwvQ29tcGFueT4nLiJcciI7DQoJCQ0KCQkkeG1sID0gJzw/eG1sIHZlcnNpb249IjEuMCI/PicuIlxyIjsNCgkJJHhtbCAuPSAnPD9tc28tYXBwbGljYXRpb24gcHJvZ2lkPSJFeGNlbC5TaGVldCI/PicuIlxyIjsNCgkJJHhtbCAuPSAnPFdvcmtib29rDQoJCQl4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6c3ByZWFkc2hlZXQiDQoJCQl4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQoJCQl4bWxuczp4PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCINCgkJCXhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJlYWRzaGVldCINCgkJCXhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPicuIlxyIjsNCgkJJHhtbCAuPSAnPERvY3VtZW50UHJvcGVydGllcyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIj4nLiJcciI7DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5kb2NUaXRsZSkpCSR4bWwgLj0gJwknLiRkb2NUaXRsZTsNCgkJCWlmICghZW1wdHkoJHRoaXMtPmRvY1N1YmplY3QpKQkkeG1sIC49ICcJJy4kZG9jU3ViamVjdDsNCgkJCWlmICghZW1wdHkoJHRoaXMtPmRvY0F1dGhvcikpCSR4bWwgLj0gJwknLiRkb2NBdXRob3I7DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5kb2NDcmVhdGVkKSkJJHhtbCAuPSAnCScuJGRvY0NyZWF0ZWQ7DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5kb2NNYW5hZ2VyKSkJJHhtbCAuPSAnCScuJGRvY01hbmFnZXI7DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5kb2NDb21wYW55KSkJJHhtbCAuPSAnCScuJGRvY0NvbXBhbnk7DQoJCQkkeG1sIC49ICcJPFZlcnNpb24+Jy4kdGhpcy0+ZG9jVmVyc2lvbi4nPC9WZXJzaW9uPicuIlxyIjsNCgkJJHhtbCAuPSAnPC9Eb2N1bWVudFByb3BlcnRpZXM+Jy4iXHIiOw0KCQkkeG1sIC49ICc8RXhjZWxXb3JrYm9vayB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIC8+Jy4iXHIiOw0KCQkkeG1sIC49ICc8U3R5bGVzPicuIlxyIjsNCgkJZm9yZWFjaCgkdGhpcy0+c3R5bGVzIGFzICRzdHlsZSl7DQoJCQkkeG1sIC49ICRzdHlsZS0+Z2V0U3R5bGVYTUwoKTsNCgkJCWlmIChjb3VudCgkc3R5bGUtPmdldEVycm9ycygpKSA+IDApew0KCQkJCSRlcnJvcnMgPSB0cnVlOw0KCQkJfQ0KCQl9DQoJCSR4bWwgLj0gJzwvU3R5bGVzPicuIlxyIjsNCgkJaWYgKGNvdW50KCR0aGlzLT5zaGVldHMpID09IDApew0KCQkJJHRoaXMtPmFkZFNoZWV0KCk7DQoJCX0NCgkJZm9yZWFjaCgkdGhpcy0+c2hlZXRzIGFzICRzaGVldCl7DQoJCQkkeG1sIC49ICRzaGVldC0+Z2V0U2hlZXRYTUwoKTsNCgkJCWlmIChjb3VudCgkc2hlZXQtPmdldEVycm9ycygpKSA+IDApew0KCQkJCSRlcnJvcnMgPSB0cnVlOw0KCQkJfQ0KCQl9DQoJCWlmIChjb3VudCgkdGhpcy0+Zm9ybWF0RXJyb3JzKSA+IDApew0KCQkJJGVycm9ycyA9IHRydWU7DQoJCX0NCgkJDQoJCWlmICgkZXJyb3JzID09IHRydWUgJiYgJHRoaXMtPnNob3dFcnJvclNoZWV0ID09IHRydWUpew0KCQkJJHNoZWV0ID0gJHRoaXMtPmFkZFNoZWV0KCdmb3JtYXRFcnJvcnMnKTsNCgkJCSRzaGVldC0+Y2VsbE1lcmdlKDEsMSwzLDApOwkvLyBNZXJnZSB0aGUgZmlyc3QgdGhyZWUgY2VsbHMgYWNyb3NzIGluIHJvdyAxDQoJCQkkc2hlZXQtPndyaXRlU3RyaW5nKDEsMSwnRm9ybWF0dGluZyBFcnJvcnMnKTsNCgkJCSRzaGVldC0+d3JpdGVTdHJpbmcoMiwxLCdUeXBlJywnZm9ybWF0RXJyb3JzSGVhZGVyJyk7DQoJCQkkc2hlZXQtPndyaXRlU3RyaW5nKDIsMiwnRnVuY3Rpb24nLCdmb3JtYXRFcnJvcnNIZWFkZXInKTsNCgkJCSRzaGVldC0+Y2VsbFdpZHRoKDIsMSwyMDApOw0KCQkJJHNoZWV0LT5jZWxsV2lkdGgoMiwyLDIwMCk7DQoJCQkkc2hlZXQtPmNlbGxXaWR0aCgyLDMsNDAwKTsNCgkJCSRzaGVldC0+d3JpdGVTdHJpbmcoMiwzLCdFcnJvciBNZXNzYWdlJywnZm9ybWF0RXJyb3JzSGVhZGVyJyk7DQoJCQkkcm93ID0gMzsNCgkJCWZvcmVhY2goJHRoaXMtPmZvcm1hdEVycm9ycyBhcyAkZXJyb3Ipew0KCQkJCSRmdW5jdGlvbiA9ICRlcnJvclsnZnVuY3Rpb24nXTsNCgkJCQkkbWVzc2FnZSA9ICRlcnJvclsnbWVzc2FnZSddOw0KCQkJCSRzaGVldC0+d3JpdGVTdHJpbmcoJHJvdywxLCdEb2N1bWVudCcpOw0KCQkJCSRzaGVldC0+d3JpdGVTdHJpbmcoJHJvdywyLCRmdW5jdGlvbik7DQoJCQkJJHNoZWV0LT53cml0ZVN0cmluZygkcm93LDMsJG1lc3NhZ2UpOw0KCQkJCSRyb3crKzsNCgkJCX0NCgkJCWZvcmVhY2goJHRoaXMtPnN0eWxlcyBhcyAkc3R5bGVPYmplY3Qpew0KCQkJCSRmb3JtYXRFcnJvcnMgPSAkc3R5bGVPYmplY3QtPmdldEVycm9ycygpOw0KCQkJCSRzdHlsZUlEID0gJ1N0eWxlPScuJHN0eWxlT2JqZWN0LT5nZXRJRCgpOw0KCQkJCWZvcmVhY2goJGZvcm1hdEVycm9ycyBhcyAkZXJyb3Ipew0KCQkJCQkkZnVuY3Rpb24gPSAkZXJyb3JbJ2Z1bmN0aW9uJ107DQoJCQkJCSRtZXNzYWdlID0gJGVycm9yWydtZXNzYWdlJ107DQoJCQkJCSRzaGVldC0+d3JpdGVTdHJpbmcoJHJvdywxLCRzdHlsZUlEKTsNCgkJCQkJJHNoZWV0LT53cml0ZVN0cmluZygkcm93LDIsJGZ1bmN0aW9uKTsNCgkJCQkJJHNoZWV0LT53cml0ZVN0cmluZygkcm93LDMsJG1lc3NhZ2UpOw0KCQkJCQkkcm93Kys7DQoJCQkJfQ0KCQkJfQ0KCQkJZm9yZWFjaCgkdGhpcy0+c2hlZXRzIGFzICRzaGVldE9iamVjdCl7DQoJCQkJJGZvcm1hdEVycm9ycyA9ICRzaGVldE9iamVjdC0+Z2V0RXJyb3JzKCk7DQoJCQkJJHNoZWV0SUQgPSAnU2hlZXQ9Jy4kc2hlZXRPYmplY3QtPmdldElEKCk7DQoJCQkJZm9yZWFjaCgkZm9ybWF0RXJyb3JzIGFzICRlcnJvcil7DQoJCQkJCSRmdW5jdGlvbiA9ICRlcnJvclsnZnVuY3Rpb24nXTsNCgkJCQkJJG1lc3NhZ2UgPSAkZXJyb3JbJ21lc3NhZ2UnXTsNCgkJCQkJJHNoZWV0LT53cml0ZVN0cmluZygkcm93LDEsJHNoZWV0SUQpOw0KCQkJCQkkc2hlZXQtPndyaXRlU3RyaW5nKCRyb3csMiwkZnVuY3Rpb24pOw0KCQkJCQkkc2hlZXQtPndyaXRlU3RyaW5nKCRyb3csMywkbWVzc2FnZSk7DQoJCQkJCSRyb3crKzsNCgkJCQl9DQoJCQl9DQoJCQkkeG1sIC49ICRzaGVldC0+Z2V0U2hlZXRYTUwoKTsNCgkJfQ0KCQkNCgkJDQoJCSR4bWwgLj0gJzwvV29ya2Jvb2s+JzsNCgkJDQoJCWlmICgkdGFyZ2V0ID09IG51bGwpew0KCQkJLy8gV2UgYXJlbid0IHdyaXRpbmcgdGhpcyBmaWxlIHRvIGRpc2ssIHNvIGVjaG8gYmFjayB0byB0aGUgY2xpZW50Lg0KCQkJZWNobyAkeG1sOw0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCgkJZWxzZXsNCgkJCSRmaWxlRXhpc3RzID0gZmlsZV9leGlzdHMoJHRhcmdldCk7DQoJCQlpZiAoJGZpbGVFeGlzdHMgPT0gdHJ1ZSAmJiAkdGhpcy0+b3ZlcndyaXRlRmlsZSA9PSBmYWxzZSl7DQoJCQkJZGllKCciJy4kdGFyZ2V0LiciIGV4aXN0cyBhbmQgIm92ZXJ3cml0ZUZpbGUiIGlzIHNldCB0byAiZmFsc2UiJyk7DQoJCQl9DQoJCQkkaGFuZGxlID0gZm9wZW4oJHRhcmdldCwgJ3cnKTsNCgkJCWlmICgkaGFuZGxlKXsNCgkJCQlmd3JpdGUoJGhhbmRsZSwkeG1sKTsNCgkJCQlmY2xvc2UoJGhhbmRsZSk7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCQllbHNlew0KCQkJCWVjaG8oJzxici8+Tm90IGFibGUgdG8gb3BlbiAiJy4kdGFyZ2V0LiciIGZvciB3cml0aW5nJyk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoJfQ0KCQ0KCS8qKg0KICAgICAqIFNldHMgdGhlIFRpdGxlIG9mIHRoZSBkb2N1bWVudA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHRpdGxlIFBhcnQgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGRvY3VtZW50Lg0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBkb2NUaXRsZSgkdGl0bGUgPSAnJyl7JHRoaXMtPmRvY1RpdGxlID0gJHRpdGxlO30NCg0KCS8qKg0KICAgICAqIFNldHMgdGhlIFN1YmplY3Qgb2YgdGhlIGRvY3VtZW50DQogICAgICogQHBhcmFtIHN0cmluZyAkc3ViamVjdCBQYXJ0IG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb2N1bWVudC4NCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZG9jU3ViamVjdCgkc3ViamVjdCA9ICcnKXskdGhpcy0+ZG9jU3ViamVjdCA9ICRzdWJqZWN0O30NCg0KCS8qKg0KICAgICAqIFNldHMgdGhlIEF1dGhvciBvZiB0aGUgZG9jdW1lbnQNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhdXRob3IgUGFydCBvZiB0aGUgcHJvcGVydGllcyBvZiB0aGUgZG9jdW1lbnQuDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGRvY0F1dGhvcigkYXV0aG9yID0gJycpeyR0aGlzLT5kb2NBdXRob3IgPSAkYXV0aG9yO30NCg0KCS8qKg0KICAgICAqIFNldHMgdGhlIE1hbmFnZXIgb2YgdGhlIGRvY3VtZW50DQogICAgICogQHBhcmFtIHN0cmluZyAkbWFuYWdlciBQYXJ0IG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb2N1bWVudC4NCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZG9jTWFuYWdlcigkbWFuYWdlciA9ICcnKXskdGhpcy0+ZG9jTWFuYWdlciA9ICRtYW5hZ2VyO30NCg0KCS8qKg0KICAgICAqIFNldHMgdGhlIENvbXBhbnkgb2YgdGhlIGRvY3VtZW50DQogICAgICogQHBhcmFtIHN0cmluZyAkY29tcGFueSBQYXJ0IG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb2N1bWVudC4NCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZG9jQ29tcGFueSgkY29tcGFueSA9ICcnKXskdGhpcy0+ZG9jQ29tcGFueSA9ICRjb21wYW55O30NCgkNCgkvKioNCiAgICAgKiBPdXRwdXRzIGEgTVlTUUwgdGFibGUgb3IgbGlzdCBvZiB0YWJsZXMgdG8gYW4gRXhjZWwgZG9jDQogICAgICogQHBhcmFtIHN0cmluZyAkaG9zdCBNeVNRTCBob3N0IHRvIGNvbm5lY3QgdG8NCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VybmFtZSBVc2VybmFtZSB0byBjb25uZWN0IHdpdGgNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXNzd29yZCBQYXNzd29yZCB0byBjb25uZWN0IHdpdGgNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYiBEYXRhYmFzZSB0byB1c2UNCiAgICAgKiBAcGFyYW0gbWl4ZWQgJHRhYmxlIElmIHN0cmluZywgb3V0IHNwZWNpZmljIHRhYmxlLiAgSWYgYXJyYXksIGVhY2ggdGFibGUgd2lsbCBoYXZlIGl0J3Mgb3duIHNoZWV0DQogICAgICogQHBhcmFtIG1peGVkICRhbHRlcm5hdGVOYW1lIEZvciBtdWx0aXBsZSB0YWJsZXMgdGhpcyBkb2VzIG5vdGhpbmcuICBGb3IgdGFibGUsIG92ZXJyaWRlcyBhdXRvIG5hbWluZyBvZiB0aGUgc2hlZXQgKHRhYmxlIG5hbWUpDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIG15c3FsVGFibGVEdW1wKCRob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQsJGRiLCR0YWJsZSwkYWx0ZXJuYXRlTmFtZSA9IG51bGwpew0KCQlFV1hjaGVja0RyaXZlckRCKCdteXNxbCcpOw0KCQlpZiAoZW1wdHkoJGhvc3QpKQkJJHRoaXMtPmFkZEVycm9yKCdEYXRhYmFzZScsJ0hPU1ROQU1FIGlzIGVtcHR5Jyk7DQoJCWlmIChlbXB0eSgkdXNlcm5hbWUpKQkkdGhpcy0+YWRkRXJyb3IoJ0RhdGFiYXNlJywnVVNFUk5BTUUgaXMgZW1wdHknKTsNCgkJaWYgKGVtcHR5KCRkYikpCQkJJHRoaXMtPmFkZEVycm9yKCdEYXRhYmFzZScsJ0RCIGlzIGVtcHR5Jyk7DQoJCWlmIChlbXB0eSgkdGFibGUpKQkJJHRoaXMtPmFkZEVycm9yKCdEYXRhYmFzZScsJ1RBQkxFKFMpIGlzIGVtcHR5Jyk7DQoJCWlmIChjb3VudCgkdGhpcy0+Zm9ybWF0RXJyb3JzKSA+IDApeyR0aGlzLT5zaG93RXJyb3JTaGVldCgpO3JldHVybiBmYWxzZTt9DQoJCQ0KCQkkbGluayA9IG15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXJuYW1lLCRwYXNzd29yZCk7DQoJCWlmICghJGxpbmspICR0aGlzLT5hZGRFcnJvcignRGF0YWJhc2UnLCdVTkFCTEUgdG8gY29ubmVjdCB0byAnLiRob3N0LicoJy5teXNxbF9lcnJvcigpLicpJyk7DQoJCWlmIChjb3VudCgkdGhpcy0+Zm9ybWF0RXJyb3JzKSA+IDApeyAkdGhpcy0+c2hvd0Vycm9yU2hlZXQoKTsgcmV0dXJuIGZhbHNlOyB9DQoJCQ0KCQkkZGJfc2VsZWN0ZWQgPSBteXNxbF9zZWxlY3RfZGIoJGRiKTsNCgkJaWYgKCEkZGJfc2VsZWN0ZWQpICR0aGlzLT5hZGRFcnJvcignRGF0YWJhc2UnLCdEQiAiJy4kZGIuJyIgZG9lcyBub3QgZXhpc3QnKTsNCgkJaWYgKGNvdW50KCR0aGlzLT5mb3JtYXRFcnJvcnMpID4gMCl7ICR0aGlzLT5zaG93RXJyb3JTaGVldCgpOyByZXR1cm4gZmFsc2U7IH0NCgkJDQoJCWlmIChnZXR0eXBlKCR0YWJsZSkgPT0gJ2FycmF5Jyl7DQoJCQlmb3JlYWNoKCR0YWJsZSBhcyAkdGFibGUyKXsNCgkJCQkkc2hlZXQgPSAkdGhpcy0+YWRkU2hlZXQoJHRhYmxlMik7DQoJCQkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gYCcuJGRiLidgLmAnLiR0YWJsZTIuJ2AgJzsNCgkJCQlFV1hteXNxbEdlbmVyYXRlQnlRdWVyeSgkc2hlZXQsJGxpbmssJHF1ZXJ5KTsNCgkJCX0NCgkJfQ0KCQllbHNlew0KCQkJaWYgKCRhbHRlcm5hdGVOYW1lID09IG51bGwgfHwgZW1wdHkoJGFsdGVybmF0ZU5hbWUpKSAkc2hlZXQgPSAkdGhpcy0+YWRkU2hlZXQoJHRhYmxlKTsNCgkJCWVsc2UgJHNoZWV0ID0gJHRoaXMtPmFkZFNoZWV0KCRhbHRlcm5hdGVOYW1lKTsNCgkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NIGAnLiRkYi4nYC5gJy4kdGFibGUuJ2AgJzsNCgkJCUVXWG15c3FsR2VuZXJhdGVCeVF1ZXJ5KCRzaGVldCwkbGluaywkcXVlcnkpOw0KCQl9DQoJCWlmIChjb3VudCgkdGhpcy0+Zm9ybWF0RXJyb3JzKSA+IDApeyAkdGhpcy0+c2hvd0Vycm9yU2hlZXQoKTsgcmV0dXJuIGZhbHNlOyB9DQoJfQ0KfQ0KDQpmdW5jdGlvbiBFV1hteXNxbEdlbmVyYXRlQnlRdWVyeSgmJHNoZWV0LCRsaW5rLCRxdWVyeSl7DQoJJHJlcyA9IG15c3FsX3F1ZXJ5KCRxdWVyeSwkbGluayk7DQoJaWYgKCEkcmVzKSAkc2hlZXQtPmFkZEVycm9yKCdEYXRhYmFzZScsJ1VuYWJsZSB0byBleGVjdXRlIHF1ZXJ5ICgnLm15c3FsX2Vycm9yKCkuJyknKTsNCglpZiAoY291bnQoJHNoZWV0LT5mb3JtYXRFcnJvcnMpID4gMCl7cmV0dXJuIGZhbHNlO30NCg0KCWlmIChteXNxbF9udW1fcm93cygkcmVzKSA9PSAwKXsNCgkJJHNoZWV0LT53cml0ZVN0cmluZygxLDEsJ05vIGRhdGEnKTsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCSRyb3cgPSAwOw0KCSRoZWFkZXJzV3JpdHRlbiA9IGZhbHNlOw0KCXdoaWxlKCRkYXRhID0gbXlzcWxfZmV0Y2hfcm93KCRyZXMpKXsNCgkJJHJvdysrOyRjb2w9MTsNCgkJaWYgKCRoZWFkZXJzV3JpdHRlbiA9PSBmYWxzZSl7DQoJCQkkbnVtRmllbGRzID0gbXlzcWxfbnVtX2ZpZWxkcygkcmVzKTsNCgkJCWZvcigkeD0wOyAkeDwkbnVtRmllbGRzOyR4Kyspew0KCQkJCSRuYW1lID0gbXlzcWxfZmllbGRfbmFtZSgkcmVzLCR4KTsNCgkJCQkkc2hlZXQtPndyaXRlU3RyaW5nKCRyb3csJGNvbCsrLCRuYW1lLCdkYl9oZWFkZXInKTsNCgkJCX0NCgkJCSRyb3crKzskY29sPTE7DQoJCQkkaGVhZGVyc1dyaXR0ZW4gPSB0cnVlOw0KCQl9DQoJCWZvcmVhY2goJGRhdGEgYXMgJG9mZnNldCA9PiAkdmFsdWUpew0KCQkJJGZpZWxkID0gbXlzcWxfZmllbGRfbmFtZSgkcmVzLCRvZmZzZXQpOw0KCQkJJHR5cGUgPSBteXNxbF9maWVsZF90eXBlKCRyZXMsJG9mZnNldCk7DQoJCQkkdmFsdWUgPSBodG1sZW50aXRpZXModHJpbSgkdmFsdWUpKTsNCgkJCWlmIChzdHJzdHIoJHR5cGUsJ2ludCcpKXsNCgkJCQkkc2hlZXQtPndyaXRlTnVtYmVyKCRyb3csJGNvbCsrLCR2YWx1ZSk7DQoJCQl9DQoJCQllbHNlIGlmICgkdHlwZSA9PSAnZGF0ZXRpbWUnKXsNCgkJCQkkdmFsdWUgPSAkc2hlZXQtPmNvbnZlcnRNeXNxbERhdGVUaW1lKCR2YWx1ZSk7DQoJCQkJJHNoZWV0LT53cml0ZURhdGVUaW1lKCRyb3csJGNvbCsrLCR2YWx1ZSwnZGJfZGF0ZXRpbWUnKTsNCgkJCX0NCgkJCWVsc2UgaWYgKCR0eXBlID09ICdkYXRlJyl7DQoJCQkJJHZhbHVlID0gJHNoZWV0LT5jb252ZXJ0TXlzcWxEYXRlKCR2YWx1ZSk7DQoJCQkJJHNoZWV0LT53cml0ZURhdGVUaW1lKCRyb3csJGNvbCsrLCR2YWx1ZSwnZGJfZGF0ZScpOw0KCQkJfQ0KCQkJZWxzZSBpZiAoJHR5cGUgPT0gJ3RpbWUnKXsNCgkJCQkkdmFsdWUgPSAkc2hlZXQtPmNvbnZlcnRNeXNxbFRpbWUoJHZhbHVlKTsNCgkJCQkkc2hlZXQtPndyaXRlRGF0ZVRpbWUoJHJvdywkY29sKyssJHZhbHVlLCdkYl90aW1lJyk7DQoJCQl9DQoJCQllbHNlIGlmIChpc19udW1lcmljKCR2YWx1ZSkpew0KCQkJCSRzaGVldC0+d3JpdGVOdW1iZXIoJHJvdywkY29sKyssJHZhbHVlKTsNCgkJCX0NCgkJCWVsc2V7DQoJCQkJJHNoZWV0LT53cml0ZVN0cmluZygkcm93LCRjb2wrKywkdmFsdWUpOw0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiB0cnVlOw0KfQ0KZnVuY3Rpb24gRVdYY2hlY2tEcml2ZXJEQigkZHJpdmVyKXsNCglpZiAoIWV4dGVuc2lvbl9sb2FkZWQoJGRyaXZlcikpew0KCQkkdGhpcy0+YWRkRXJyb3IoJ0RhdGFiYXNlJywnREIgZHJpdmVyICInLiRkcml2ZXIuJyIgY291bGQgbm90IGJlIGxvYWRlZCcpOw0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KCXJldHVybiB0cnVlOw0KfQ0KDQpmdW5jdGlvbiBFV1hjcmVhdGVTdHlsZXNEQigmJHhtbCl7DQoJaWYgKCR4bWwtPmNoZWNrU3R5bGVJRCgnZGJfaGVhZGVyJykpew0KCQkkc0hlYWRlciA9ICR4bWwtPmFkZFN0eWxlKCdkYl9oZWFkZXInKTsNCgkJJHNIZWFkZXItPmZvbnRCb2xkKCk7DQoJCSRzSGVhZGVyLT5mb250RmFtaWx5KCdTd2lzcycpOw0KCQkkc0hlYWRlci0+Zm9udENvbG9yKCcwMDAwRkYnKTsNCgl9DQoJaWYgKCR4bWwtPmNoZWNrU3R5bGVJRCgnZGJfZGF0ZXRpbWUnKSl7DQoJCSRoRGF0ZVRpbWUgPSAkeG1sLT5hZGRTdHlsZSgnZGJfZGF0ZXRpbWUnKTsNCgkJJGhEYXRlVGltZS0+bnVtYmVyRm9ybWF0RGF0ZVRpbWUoKTsNCgl9DQoJaWYgKCR4bWwtPmNoZWNrU3R5bGVJRCgnZGJfZGF0ZScpKXsNCgkJJGhEYXRlID0gJHhtbC0+YWRkU3R5bGUoJ2RiX2RhdGUnKTsNCgkJJGhEYXRlLT5udW1iZXJGb3JtYXREYXRlKCk7DQoJfQ0KCWlmICgkeG1sLT5jaGVja1N0eWxlSUQoJ2RiX3RpbWUnKSl7DQoJCSRoVGltZSA9ICR4bWwtPmFkZFN0eWxlKCdkYl90aW1lJyk7DQoJCSRoVGltZS0+bnVtYmVyRm9ybWF0VGltZSgpOw0KCX0NCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/ExcelWriterXML/ExcelWriterXML_Sheet.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qKg0KICogRmlsZSBjb250YWlucyB0aGUgY2xhc3MgZmlsZXMgZm9yIEV4Y2VsV3JpdGVyWE1MX1NoZWV0DQogKiBAcGFja2FnZSBFeGNlbFdyaXRlclhNTA0KICovDQoNCi8qKg0KICogQ2xhc3MgZm9yIGdlbmVyYXRpbmcgc2hlZXRzIHdpdGhpbiB0aGUgRXhjZWwgZG9jdW1lbnQNCiAqIEBsaW5rIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTE0MDA2NihvZmZpY2UuMTApLmFzcHgNCiAqIEBhdXRob3IgUm9iZXJ0IEYgR3JlZXINCiAqIEB2ZXJzaW9uIDEuMA0KICogQHBhY2thZ2UgRXhjZWxXcml0ZXJYTUwNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjphbGlnbkhvcml6b250YWwoKQ0KICogQHVzZXMgRXhjZWxXcml0ZXJYTUxfU3R5bGU6OmFsaWduUm90YXRlKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjphbGlnblNocmlua3RvZml0KCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjphbGlnblZlcnRpY2FsKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjphbGlnblZlcnRpY2FsdGV4dCgpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6YWxpZ25XcmFwdGV4dCgpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6YmdDb2xvcigpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6YmdQYXR0ZXJuKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpiZ1BhdHRlcm5Db2xvcigpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6Ym9yZGVyKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpjaGVja0NvbG9yKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpmb250Qm9sZCgpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6Zm9udENvbG9yKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpmb250RmFtaWx5KCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpmb250SXRhbGljKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpmb250TmFtZSgpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6Zm9udE91dGxpbmUoKQ0KICogQHVzZXMgRXhjZWxXcml0ZXJYTUxfU3R5bGU6OmZvbnRTaGFkb3coKQ0KICogQHVzZXMgRXhjZWxXcml0ZXJYTUxfU3R5bGU6OmZvbnRTdHJpa2V0aHJvdWdoKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpmb250VW5kZXJsaW5lKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpnZXRFcnJvcnMoKQ0KICogQHVzZXMgRXhjZWxXcml0ZXJYTUxfU3R5bGU6OmdldElEKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpnZXRTdHlsZVhNTCgpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6bmFtZSgpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6bnVtYmVyRm9ybWF0KCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpudW1iZXJGb3JtYXREYXRlKCkNCiAqIEB1c2VzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlOjpudW1iZXJGb3JtYXREYXRldGltZSgpDQogKiBAdXNlcyBFeGNlbFdyaXRlclhNTF9TdHlsZTo6bnVtYmVyRm9ybWF0VGltZSgpDQogKi8NCmNsYXNzIEV4Y2VsV3JpdGVyWE1MX1NoZWV0IHsNCgkvLyBQcml2YXRlIFZhcmlhYmxlcw0KCXByaXZhdGUgJGlkOw0KCXByaXZhdGUgJGNlbGxzID0gYXJyYXkoKTsNCglwcml2YXRlICRjb2xXaWR0aCA9IGFycmF5KCk7DQoJcHJpdmF0ZSAkcm93SGVpZ2h0ID0gYXJyYXkoKTsNCglwcml2YXRlICRVUkxzID0gYXJyYXkoKTsNCglwcml2YXRlICRtZXJnZUNlbGxzID0gYXJyYXkoKTsNCglwcml2YXRlICRjb21tZW50cyA9IGFycmF5KCk7DQoJcHVibGljICAkZm9ybWF0RXJyb3JzID0gYXJyYXkoKTsNCglwcml2YXRlICRkaXNwbGF5UmlnaHRUb0xlZnQgPSBmYWxzZTsNCgkvLy8vLy8vLy8vLy8vLy8vLy8vLy8NCgkNCgkvLyBQdWJsaWMgVmFyaWFibGVzDQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoJDQoJLy8gQ29uc3RydWN0b3INCgkvKioNCiAgICAgKiBDb25zdHJ1Y3RvciBmb3IgYSBuZXcgU2hlZXQNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpZCBUaGUgbmFtZSBvZiB0aGUgc2hlZXQgdG8gYmUgcmVmZXJlbmNlZCB3aXRoaW4gdGhlDQogICAgICogc3ByZWFkc2hlZXQNCiAgICAgKi8NCglmdW5jdGlvbiBFeGNlbFdyaXRlclhNTF9TaGVldCgkaWQpew0KCQkkdGhpcy0+aWQgPSAkaWQ7DQoJfQ0KCQ0KCS8qKg0KCSAqIEZ1bmN0aW9uIHRvIGdldCB0aGUgbmFtZWQgdmFsdWUgb2YgdGhlIFNoZWV0DQoJICogQHJldHVybiBzdHJpbmcgTmFtZSBvZiB0aGUgU2hlZXQNCgkgKi8NCglmdW5jdGlvbiBnZXRJRCgpew0KCQlyZXR1cm4gJHRoaXMtPmlkOw0KCX0NCgkNCgkvKioNCgkgKiBBZGRzIGEgZm9ybWF0IGVycm9yLiAgV2hlbiB0aGUgZG9jdW1lbnQgaXMgZ2VuZXJhdGVkIGlmIHRoZXJlIGFyZSBhbnkNCgkgKiBlcnJvcnMgdGhleSB3aWxsIGJlIGxpc3RlZCBvbiBhIHNlcGVyYXRlIHNoZWV0Lg0KQHBhcmFtIHN0cmluZyAkZnVuY3Rpb24gVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRoYXQgd2FzIGNhbGxlZA0KCSAqIEBwYXJhbSBzdHJpbmcgJG1lc3NhZ2UgRGV0YWlscyBvZiB0aGUgZXJyb3INCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gYWRkRXJyb3IoJGZ1bmN0aW9uLCAkbWVzc2FnZSl7DQoJCSR0bXAgPSBhcnJheSgNCgkJCSdzaGVldCcJCT0+ICR0aGlzLT5pZCwNCgkJCSdmdW5jdGlvbicJPT4gJGZ1bmN0aW9uLA0KCQkJJ21lc3NhZ2UnCT0+ICRtZXNzYWdlLA0KCQkpOw0KCQkkdGhpcy0+Zm9ybWF0RXJyb3JzW10gPSAkdG1wOw0KCX0NCgkNCgkvKioNCgkgKiBSZXR1cm5zIGFueSBlcnJvcnMgZm91bmQgaW4gdGhlIHNoZWV0DQoJICogQHJldHVybiBtaXhlZCBBcnJheSBvZiBlcnJvcnMgaWYgdGhleSBleGlzdCwgb3RoZXJ3aXNlIGZhbHNlDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGdldEVycm9ycygpew0KCQlyZXR1cm4oJHRoaXMtPmZvcm1hdEVycm9ycyk7DQoJfQ0KDQoJLyoqDQogICAgICogQ29udmVydHMgYSBNeVNRTCB0eXBlIGRhdGV0aW1lIGZpZWxkIHRvIGEgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCB3aXRoaW4NCiAgICAgKiBFeGNlbC4NCiAgICAgKiBJZiB0aGUgcGFzc2VkIHZhbHVlIGlzIG5vdCB2YWxpZCB0aGVuIHRoZSBwYXNzZWQgc3RyaW5nIGlzIHNlbnQgYmFjay4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRldGltZSBWYWx1ZSBtdXN0IGluIGluIHRoZSBmb3JtYXQgInl5eXktbW0tZGQgaGg6aWk6c3MiDQogICAgICogQHJldHVybiBzdHJpbmcgVmFsdWUgaW4gdGhlIEV4Y2VsIGZvcm1hdCAieXl5eS1tbS1kZFRoaDppaTpzcy4wMDAiDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGNvbnZlcnRNeXNxbERhdGV0aW1lKCRkYXRldGltZSl7DQoJCSRkYXRldGltZSA9IHRyaW0oJGRhdGV0aW1lKTsNCgkJJHBhdHRlcm4gPSAiL1swLTldezR9LVswLTldezJ9LVswLTldezJ9IFswLTldezJ9OlswLTldezJ9OlswLTldezJ9LyI7DQoJCWlmIChwcmVnX21hdGNoKCRwYXR0ZXJuLCAkZGF0ZXRpbWUsICRtYXRjaGVzKSkgew0KCQkJJGRhdGV0aW1lID0gJG1hdGNoZXNbMF07DQoJCQlsaXN0KCRkYXRlLCR0aW1lKSA9IGV4cGxvZGUoJyAnLCRkYXRldGltZSk7DQoJCQlyZXR1cm4oJGRhdGUuJ1QnLiR0aW1lLicuMDAwJyk7DQoJCX0NCgkJZWxzZXsNCgkJCXJldHVybigkZGF0ZXRpbWUpOw0KCQl9DQoJfQ0KCQ0KCS8qKg0KICAgICAqIENvbnZlcnRzIGEgTXlTUUwgdHlwZSBkYXRlIGZpZWxkIHRvIGEgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCB3aXRoaW4gRXhjZWwNCiAgICAgKiBJZiB0aGUgcGFzc2VkIHZhbHVlIGlzIG5vdCB2YWxpZCB0aGVuIHRoZSBwYXNzZWQgc3RyaW5nIGlzIHNlbnQgYmFjay4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRldGltZSBWYWx1ZSBtdXN0IGluIGluIHRoZSBmb3JtYXQgInl5eXktbW0tZGQgaGg6aWk6c3MiDQogICAgICogb3IgInl5eXktbW0tZGQiDQogICAgICogQHJldHVybiBzdHJpbmcgVmFsdWUgaW4gdGhlIEV4Y2VsIGZvcm1hdCAieXl5eS1tbS1kZFQwMDowMDowMC4wMDAiDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGNvbnZlcnRNeXNxbERhdGUoJGRhdGV0aW1lKXsNCgkJJGRhdGV0aW1lID0gdHJpbSgkZGF0ZXRpbWUpOw0KCQkkcGF0dGVybjEgPSAiL1swLTldezR9LVswLTldezJ9LVswLTldezJ9IFswLTldezJ9OlswLTldezJ9OlswLTldezJ9LyI7DQoJCSRwYXR0ZXJuMiA9ICIvWzAtOV17NH0tWzAtOV17Mn0tWzAtOV17Mn0vIjsNCgkJaWYgKHByZWdfbWF0Y2goJHBhdHRlcm4xLCAkZGF0ZXRpbWUsICRtYXRjaGVzKSkgew0KCQkJJGRhdGV0aW1lID0gJG1hdGNoZXNbMF07DQoJCQlsaXN0KCRkYXRlLCR0aW1lKSA9IGV4cGxvZGUoJyAnLCRkYXRldGltZSk7DQoJCQlyZXR1cm4oJGRhdGUuJ1QnLiR0aW1lLicuMDAwJyk7DQoJCX0NCgkJZWxzZSBpZiAocHJlZ19tYXRjaCgkcGF0dGVybjIsICRkYXRldGltZSwgJG1hdGNoZXMpKSB7DQoJCQkkZGF0ZSA9ICRtYXRjaGVzWzBdOw0KCQkJcmV0dXJuKCRkYXRlLidUMDA6MDA6MDAuMDAwJyk7DQoJCX0NCgkJZWxzZXsNCgkJCXJldHVybigkZGF0ZXRpbWUpOw0KCQl9DQoJfQ0KCQ0KCS8qKg0KICAgICAqIENvbnZlcnRzIGEgTXlTUUwgdHlwZSB0aW1lIGZpZWxkIHRvIGEgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCB3aXRoaW4gRXhjZWwNCiAgICAgKiBJZiB0aGUgcGFzc2VkIHZhbHVlIGlzIG5vdCB2YWxpZCB0aGVuIHRoZSBwYXNzZWQgc3RyaW5nIGlzIHNlbnQgYmFjay4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRldGltZSBWYWx1ZSBtdXN0IGluIGluIHRoZSBmb3JtYXQgInl5eXktbW0tZGQgaGg6aWk6c3MiDQogICAgICogb3IgImhoOmlpOnNzIg0KICAgICAqIEByZXR1cm4gc3RyaW5nIFZhbHVlIGluIHRoZSBFeGNlbCBmb3JtYXQgIjE4OTktMTItMzFUaGg6aWk6c3MuMDAwIg0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBjb252ZXJ0TXlzcWxUaW1lKCRkYXRldGltZSl7DQoJCSRkYXRldGltZSA9IHRyaW0oJGRhdGV0aW1lKTsNCgkJJHBhdHRlcm4xID0gIi9bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfSBbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfS8iOw0KCQkkcGF0dGVybjIgPSAiL1swLTldezJ9OlswLTldezJ9OlswLTldezJ9LyI7DQoJCWlmIChwcmVnX21hdGNoKCRwYXR0ZXJuMSwgJGRhdGV0aW1lLCAkbWF0Y2hlcykpIHsNCgkJCSRkYXRldGltZSA9ICRtYXRjaGVzWzBdOw0KCQkJbGlzdCgkZGF0ZSwkdGltZSkgPSBleHBsb2RlKCcgJywkZGF0ZXRpbWUpOw0KCQkJcmV0dXJuKCRkYXRlLidUJy4kdGltZS4nLjAwMCcpOw0KCQl9DQoJCWVsc2UgaWYgKHByZWdfbWF0Y2goJHBhdHRlcm4yLCAkZGF0ZXRpbWUsICRtYXRjaGVzKSkgew0KCQkJJHRpbWUgPSAkbWF0Y2hlc1swXTsNCgkJCXJldHVybignMTg5OS0xMi0zMVQnLiR0aW1lLicuMDAwJyk7DQoJCX0NCgkJZWxzZXsNCgkJCXJldHVybigkZGF0ZXRpbWUpOw0KCQl9DQoJfQ0KCQ0KDQoJLyoqDQogICAgICogV3JpdGVzIGEgZm9ybXVsYSB0byBhIGNlbGwNCiAgICAgKiBGcm9tIE1TDQogICAgICogU3BlY2lmaWVzIHRoZSBmb3JtdWxhIHN0b3JlZCBpbiB0aGlzIGNlbGwuIEFsbCBmb3JtdWxhcyBhcmUgcGVyc2lzdGVkIGluDQogICAgICogUjFDMSBub3RhdGlvbiBiZWNhdXNlIHRoZXkgYXJlIHNpZ25pZmljYW50bHkgZWFzaWVyIHRvIHBhcnNlIGFuZCBnZW5lcmF0ZQ0KICAgICAqIHRoYW4gQTEtc3R5bGUgZm9ybXVsYXMuIFRoZSBmb3JtdWxhIGlzIGNhbGN1bGF0ZWQgdXBvbiByZWxvYWQgdW5sZXNzDQogICAgICogY2FsY3VsYXRpb24gaXMgc2V0IHRvIG1hbnVhbC4gUmVjYWxjdWxhdGlvbiBvZiB0aGUgZm9ybXVsYSBvdmVycmlkZXMgdGhlDQogICAgICogdmFsdWUgaW4gdGhpcyBjZWxsJ3MgVmFsdWUgYXR0cmlidXRlLg0KICAgICAqIEBzZWUgd3JpdGVGb3JtdWxhKCkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRhVHlwZSBUeXBlIG9mIGRhdGEgdGhhdCB0aGUgZm9ybXVsYSBzaG91bGQgZ2VuZXJhdGUsDQogICAgICogIlN0cmluZyIgIk51bWJlciIgIkRhdGVUaW1lIg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRyb3cgUm93LCBiYXNlZCB1cG9uIGEgIjEiIGJhc2VkIGFycmF5DQogICAgICogQHBhcmFtIGludGVnZXIgJGNvbHVtbiBDb2x1bW4sIGJhc2VkIHVwb24gYSAiMSIgYmFzZWQgYXJyYXkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRhIEZvcm11bGEgZGF0YSB0byBiZSB3cml0dGVuIHRvIGEgY2VsbA0KICAgICAqIEBwYXJhbSBtaXhlZCAkc3R5bGUgTmFtZWQgc3R5bGUsIG9yIHN0eWxlIHJlZmVyZW5jZSB0byBiZSBhcHBsaWVkIHRvIHRoZQ0KICAgICAqIGNlbGwNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gd3JpdGVGb3JtdWxhKCRkYXRhVHlwZSwkcm93LCRjb2x1bW4sJGRhdGEsJHN0eWxlID0gbnVsbCl7DQoJCWlmICgkZGF0YVR5cGUgIT0gJ1N0cmluZycNCgkJCSYmICRkYXRhVHlwZSAhPSAnTnVtYmVyJw0KCQkJJiYgJGRhdGFUeXBlICE9ICdEYXRlVGltZScpew0KCQkJJHRoaXMtPmFkZEVycm9yKF9fRlVOQ1RJT05fXywnKCcuJHJvdy4nLCcuJGNvbHVtbi4nKSBEYXRhVHlwZSBmb3IgZm9ybXVsYSB3YXMgbm90IHZhbGlkICInLiRkYXRhVHlwZS4nIicpOw0KCQkJJGhhbGlnbiA9ICdBdXRvbWF0aWMnOw0KCQl9DQoNCgkJJHRoaXMtPndyaXRlRGF0YSgnU3RyaW5nJywkcm93LCRjb2x1bW4sJycsJHN0eWxlLCRkYXRhKTsNCgl9DQoNCgkvKioNCiAgICAgKiBXcml0ZXMgYSBzdHJpbmcgdG8gYSBjZWxsDQogICAgICogQHNlZSB3cml0ZURhdGEoKQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRyb3cgUm93LCBiYXNlZCB1cG9uIGEgIjEiIGJhc2VkIGFycmF5DQogICAgICogQHBhcmFtIGludGVnZXIgJGNvbHVtbiBDb2x1bW4sIGJhc2VkIHVwb24gYSAiMSIgYmFzZWQgYXJyYXkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRhIFN0cmluZyBkYXRhIHRvIGJlIHdyaXR0ZW4gdG8gYSBjZWxsDQogICAgICogQHBhcmFtIG1peGVkICRzdHlsZSBOYW1lZCBzdHlsZSwgb3Igc3R5bGUgcmVmZXJlbmNlIHRvIGJlIGFwcGxpZWQgdG8gdGhlDQogICAgICogY2VsbA0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiB3cml0ZVN0cmluZygkcm93LCRjb2x1bW4sJGRhdGEsJHN0eWxlID0gbnVsbCl7DQoJCSR0aGlzLT53cml0ZURhdGEoJ1N0cmluZycsJHJvdywkY29sdW1uLCRkYXRhLCRzdHlsZSk7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIFdyaXRlcyBhIG51bWJlciB0byBhIGNlbGwuDQogICAgICogSWYgdGhlIGRhdGEgaXMgbm90IG51bWVyaWMgdGhlbiB0aGUgZnVuY3Rpb24gd2lsbCB3cml0ZSB0aGUgZGF0YSBhcyBhDQogICAgICogc3RyaW5nLg0KICAgICAqIEBzZWUgd3JpdGVEYXRhKCkNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcm93IFJvdywgYmFzZWQgdXBvbiBhICIxIiBiYXNlZCBhcnJheQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRjb2x1bW4gQ29sdW1uLCBiYXNlZCB1cG9uIGEgIjEiIGJhc2VkIGFycmF5DQogICAgICogQHBhcmFtIG1peGVkICRkYXRhIE51bWJlciBkYXRhIHRvIGJlIHdyaXR0ZW4gdG8gYSBjZWxsDQogICAgICogQHBhcmFtIG1peGVkICRzdHlsZSBOYW1lZCBzdHlsZSwgb3Igc3R5bGUgcmVmZXJlbmNlIHRvIGJlIGFwcGxpZWQgdG8gdGhlDQogICAgICogY2VsbA0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiB3cml0ZU51bWJlcigkcm93LCRjb2x1bW4sJGRhdGEsJHN0eWxlID0gbnVsbCl7DQoJCWlmICghaXNfbnVtZXJpYygkZGF0YSkpew0KCQkJJHRoaXMtPndyaXRlRGF0YSgnU3RyaW5nJywkcm93LCRjb2x1bW4sJGRhdGEsJHN0eWxlKTsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJygnLiRyb3cuJywnLiRjb2x1bW4uJykgVHJpZWQgdG8gd3JpdGUgbm9uLW51bWVyaWMgZGF0YSB0byB0eXBlIE51bWJlciAiJy4kZGF0YS4nIicpOw0KCQl9DQoJCWVsc2V7DQoJCQkkdGhpcy0+d3JpdGVEYXRhKCdOdW1iZXInLCRyb3csJGNvbHVtbiwkZGF0YSwkc3R5bGUpOw0KCQl9DQoJfQ0KCQ0KCS8qKg0KICAgICAqIFdyaXRlcyBhIERhdGUvVGltZSB0byBhIGNlbGwuDQogICAgICogSWYgZGF0YSBpcyBub3QgdmFsaWQgdGhlIGZ1bmN0aW9uIHdpbGwgd3JpdGUgdGhlIHBhc3NlZCB2YWx1ZSBhcyBhDQogICAgICogc3RyaW5nLg0KICAgICAqIEBzZWUgd3JpdGVEYXRhKCkNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcm93IFJvdywgYmFzZWQgdXBvbiBhICIxIiBiYXNlZCBhcnJheQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRjb2x1bW4gQ29sdW1uLCBiYXNlZCB1cG9uIGEgIjEiIGJhc2VkIGFycmF5DQogICAgICogQHBhcmFtIHN0cmluZyAkZGF0YSBEYXRlIG9yIFRpbWUgZGF0YSB0byBiZSB3cml0dGVuIHRvIGEgY2VsbC4gIFRoaXMgbXVzdA0KICAgICAqIGJlIGluIHRoZSBmb3JtYXQgInl5eXktbW0tZGRUaGg6aWk6c3MuMDAwIiBmb3IgRXhjZWwgdG8gcmVjb2duaXplIGl0Lg0KICAgICAqIEBwYXJhbSBtaXhlZCAkc3R5bGUgTmFtZWQgc3R5bGUsIG9yIHN0eWxlIHJlZmVyZW5jZSB0byBiZSBhcHBsaWVkIHRvIHRoZQ0KICAgICAqIGNlbGwNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gd3JpdGVEYXRlVGltZSgkcm93LCRjb2x1bW4sJGRhdGEsJHN0eWxlID0gbnVsbCl7DQoJCSRwYXR0ZXJuID0gIi9bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfVRbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfVwuMDAwLyI7DQoJCWlmIChwcmVnX21hdGNoKCRwYXR0ZXJuLCAkZGF0YSwgJG1hdGNoZXMpKSB7DQoJCQkkZGF0YSA9ICRtYXRjaGVzWzBdOw0KCQkJJHRoaXMtPndyaXRlRGF0YSgnRGF0ZVRpbWUnLCRyb3csJGNvbHVtbiwkZGF0YSwkc3R5bGUpOw0KCQl9DQoJCWVsc2V7DQoJCQkkdGhpcy0+d3JpdGVEYXRhKCdTdHJpbmcnLCRyb3csJGNvbHVtbiwkZGF0YSwkc3R5bGUpOw0KCQkJJHRoaXMtPmFkZEVycm9yKF9fRlVOQ1RJT05fXywnKCcuJHJvdy4nLCcuJGNvbHVtbi4nKSBUcmllZCB0byB3cml0ZSBpbnZhbGlkIGRhdGV0aW1lIGRhdGEgdG8gdHlwZSBEYXRlVGltZSAiJy4kZGF0YS4nIicpOw0KCQl9DQoJfQ0KCXByaXZhdGUgZnVuY3Rpb24gd3JpdGVEYXRhKCR0eXBlLCRyb3csJGNvbHVtbiwkZGF0YSwkc3R5bGUgPSBudWxsLCRmb3JtdWxhID0gbnVsbCl7DQoJCWlmICgkc3R5bGUgIT0gbnVsbCl7DQoJCQlpZiAoZ2V0dHlwZSgkc3R5bGUpID09ICdvYmplY3QnKXsNCgkJCQlpZiAoZ2V0X2NsYXNzKCRzdHlsZSkgPT0gJ0V4Y2VsV3JpdGVyWE1MX1N0eWxlJyl7DQoJCQkJCSRzdHlsZUlEID0gJHN0eWxlLT5nZXRJRCgpOw0KCQkJCX0NCgkJCQllbHNlew0KCQkJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCcoJy4kcm93LicsJy4kY29sdW1uLicpIFN0eWxlSUQgc3VwcGxpZWQgd2FzIGFuIG9iamVjdCwgYnV0IG5vdCBhIHN0eWxlIG9iamVjdCAiJy5nZXRfY2xhc3MoJHN0eWxlKS4nIicpOw0KCQkJCQkkc3R5bGVJRCA9IG51bGw7DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZXsNCgkJCQkkc3R5bGVJRCA9ICRzdHlsZTsNCgkJCX0NCgkJfQ0KCQllbHNlew0KCQkJJHN0eWxlSUQgPSBudWxsOw0KCQl9DQoJCQ0KCQkkY2VsbCA9IGFycmF5KA0KCQkJJ3R5cGUnCQk9PiAkdHlwZSwNCgkJCSdzdHlsZScJCT0+ICRzdHlsZUlELA0KCQkJJ2RhdGEnCQk9PiAkZGF0YSwNCgkJCSdmb3JtdWxhJwk9PiAkZm9ybXVsYSwNCgkJKTsNCgkJJHRoaXMtPmNlbGxzWyRyb3ddWyRjb2x1bW5dID0gJGNlbGw7DQoJfQ0KCQ0KCS8qKg0KCSAqIERpc3BsYXlzIHRoZSBzaGVldCBpbiBSaWdodCB0byBMZWZ0IGZvcm1hdA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBkaXNwbGF5UmlnaHRUb0xlZnQoKXsNCgkJJHRoaXMtPmRpc3BsYXlSaWdodFRvTGVmdCA9IHRydWU7DQoJfQ0KDQoJLyoqDQogICAgICogQ2FsbGVkIGJ5IHRoZSBFeGNlbFdyaXRlclhNTCBjbGFzcyB0byBnZXQgdGhlIFhNTCBkYXRhIGZvciB0aGlzIG9iamVjdA0KICAgICAqIEByZXR1cm4gc3RyaW5nIENvbnRhaW5zIG9ubHkgdGhlIFhNTCBkYXRhIGZvciB0aGUgc2hlZXQNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZ2V0U2hlZXRYTUwoKXsNCgkJa3NvcnQoJHRoaXMtPmNlbGxzKTsNCgkJDQoJCSRkaXNwbGF5UmlnaHRUb0xlZnQgPSAoJHRoaXMtPmRpc3BsYXlSaWdodFRvTGVmdCkgPyAnc3M6UmlnaHRUb0xlZnQ9IjEiJyA6ICcnOw0KCQkNCgkJJHhtbCA9ICc8V29ya3NoZWV0IHNzOk5hbWU9IicuJHRoaXMtPmlkLiciICcuJGRpc3BsYXlSaWdodFRvTGVmdC4nPicuIlxyIjsNCgkJJHhtbCAuPSAnCTxUYWJsZT4nLiJcciI7DQoJCWZvcmVhY2goJHRoaXMtPmNvbFdpZHRoIGFzICRjb2xJbmRleCA9PiAkY29sV2lkdGgpew0KCQkJICAkeG1sIC49ICcJCTxDb2x1bW4gc3M6SW5kZXg9IicuJGNvbEluZGV4LiciIHNzOkF1dG9GaXRXaWR0aD0iMCIgc3M6V2lkdGg9IicuJGNvbFdpZHRoLiciLz4nLiJcciI7DQoJCX0NCgkJZm9yZWFjaCgkdGhpcy0+Y2VsbHMgYXMgJHJvdyA9PiAkcm93RGF0YSl7DQoJCQlrc29ydCgkcm93RGF0YSk7DQoJCQlpZiAoaXNzZXQoJHRoaXMtPnJvd0hlaWdodFskcm93XSkpew0KCQkJCSRyb3dIZWlnaHQgPSAnc3M6QXV0b0ZpdEhlaWdodD0iMCIgc3M6SGVpZ2h0PSInLiR0aGlzLT5yb3dIZWlnaHRbJHJvd10uJyInOw0KCQkJfQ0KCQkJZWxzZXskcm93SGVpZ2h0ID0gJyc7fQ0KCQkJJHhtbCAuPSAnCQk8Um93IHNzOkluZGV4PSInLiRyb3cuJyIgJy4kcm93SGVpZ2h0LicgPicuIlxyIjsNCgkJCWZvcmVhY2goJHJvd0RhdGEgYXMgJGNvbHVtbiA9PiAkY2VsbCl7DQoJCQkJaWYgKCFlbXB0eSgkY2VsbFsnZm9ybXVsYSddKSkgJGZvcm11bGEgPSAnc3M6Rm9ybXVsYT0iJy4kY2VsbFsnZm9ybXVsYSddLiciJzsNCgkJCQllbHNlICRmb3JtdWxhID0gJyc7DQoJCQkJaWYgKCFlbXB0eSgkY2VsbFsnc3R5bGUnXSkpICRzdHlsZSA9ICdzczpTdHlsZUlEPSInLiRjZWxsWydzdHlsZSddLiciJzsNCgkJCQllbHNlICRzdHlsZSA9ICcnOw0KCQkJCWlmIChlbXB0eSgkdGhpcy0+VVJMc1skcm93XVskY29sdW1uXSkpICRVUkwgPSAnJzsNCgkJCQllbHNlICRVUkwgPSAnc3M6SFJlZj0iJy5odG1sc3BlY2lhbGNoYXJzKCR0aGlzLT5VUkxzWyRyb3ddWyRjb2x1bW5dKS4nIic7DQoJCQkJaWYgKGVtcHR5KCR0aGlzLT5tZXJnZUNlbGxzWyRyb3ddWyRjb2x1bW5dKSkgJG1lcmdlQ2VsbCA9ICcnOw0KCQkJCWVsc2UgJG1lcmdlQ2VsbCA9ICdzczpNZXJnZUFjcm9zcz0iJy4kdGhpcy0+bWVyZ2VDZWxsc1skcm93XVskY29sdW1uXVsnd2lkdGgnXS4nIiBzczpNZXJnZURvd249IicuJHRoaXMtPm1lcmdlQ2VsbHNbJHJvd11bJGNvbHVtbl1bJ2hlaWdodCddLiciJzsNCgkJCQlpZiAoZW1wdHkoJHRoaXMtPmNvbW1lbnRzWyRyb3ddWyRjb2x1bW5dKSkgJGNvbW1lbnQgPSAnJzsNCgkJCQllbHNlew0KCQkJCQkkY29tbWVudCA9ICcJCQkJCTxDb21tZW50IHNzOkF1dGhvcj0iJy4kdGhpcy0+Y29tbWVudHNbJHJvd11bJGNvbHVtbl1bJ2F1dGhvciddLiciPicuIlxyIjsNCgkJCQkJJGNvbW1lbnQgLj0gJwkJCQkJPHNzOkRhdGEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPicuIlxyIjsNCgkJCQkJJGNvbW1lbnQgLj0gJwkJCQkJPEI+PEZvbnQgaHRtbDpGYWNlPSJUYWhvbWEiIHg6Q2hhclNldD0iMSIgaHRtbDpTaXplPSI4IiBodG1sOkNvbG9yPSIjMDAwMDAwIj4nLmh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPmNvbW1lbnRzWyRyb3ddWyRjb2x1bW5dWydhdXRob3InXSkuJzo8L0ZvbnQ+PC9CPicuIlxyIjsNCgkJCQkJJGNvbW1lbnQgLj0gJwkJCQkJPEZvbnQgaHRtbDpGYWNlPSJUYWhvbWEiIHg6Q2hhclNldD0iMSIgaHRtbDpTaXplPSI4IiBodG1sOkNvbG9yPSIjMDAwMDAwIj4nLmh0bWxzcGVjaWFsY2hhcnMoJHRoaXMtPmNvbW1lbnRzWyRyb3ddWyRjb2x1bW5dWydjb21tZW50J10pLic8L0ZvbnQ+Jy4iXHIiOw0KCQkJCQkkY29tbWVudCAuPSAnCQkJCQk8L3NzOkRhdGE+Jy4iXHIiOw0KCQkJCQkkY29tbWVudCAuPSAnCQkJCQk8L0NvbW1lbnQ+Jy4iXHIiOw0KCQkJCX0NCgkJCQkkdHlwZSA9ICRjZWxsWyd0eXBlJ107DQoJCQkJJGRhdGEgPSAkY2VsbFsnZGF0YSddOw0KCQkJCSRkYXRhID0gaHRtbHNwZWNpYWxjaGFycygkZGF0YSk7DQoJCQkJJGRhdGEgPSBzdHJfcmVwbGFjZSgiXHJcbiIsJyYjMTA7JywkZGF0YSk7DQoJCQkJJGRhdGEgPSBzdHJfcmVwbGFjZSgiXG4iLCcmIzEwOycsJGRhdGEpOw0KCQkJCQ0KCQkJCSR4bWwgLj0gJwkJCTxDZWxsICcuJHN0eWxlLicgc3M6SW5kZXg9IicuJGNvbHVtbi4nIiAnLiRVUkwuJyAnLiRtZXJnZUNlbGwuJyAnLiRmb3JtdWxhLic+Jy4iXHIiOw0KCQkJCSR4bWwgLj0gJwkJCQk8RGF0YSBzczpUeXBlPSInLiR0eXBlLiciPic7DQoJCQkJJHhtbCAuPSAkZGF0YTsNCgkJCQkkeG1sIC49ICc8L0RhdGE+Jy4iXHIiOw0KCQkJCSR4bWwgLj0gc3RyX3JlcGxhY2UoJyZhbXA7IzEwOycsJyYjMTA7JywkY29tbWVudCk7DQoJCQkJJHhtbCAuPSAnCQkJPC9DZWxsPicuIlxyIjsNCgkJCX0NCgkJCSR4bWwgLj0gJwkJPC9Sb3c+Jy4iXHIiOw0KCQl9DQoJCSR4bWwgLj0gJwk8L1RhYmxlPicuIlxyIjsNCgkJJHhtbCAuPSAnPC9Xb3Jrc2hlZXQ+Jy4iXHIiOw0KCQlyZXR1cm4oJHhtbCk7DQoJfQ0KDQoJLyoqDQogICAgICogQWxpYXMgZm9yIGZ1bmN0aW9uIGNvbHVtbldpZHRoKCkNCiAgICAgKi8NCglmdW5jdGlvbiBjZWxsV2lkdGgoICRyb3csICRjb2wsJHdpZHRoID0gNDgpeyR0aGlzLT5jb2x1bW5XaWR0aCgkY29sLCR3aWR0aCk7fQ0KDQoJLyoqDQogICAgICogU2V0cyB0aGUgd2lkdGggb2YgYSBjZWxsLg0KICAgICAqIFNldHMgIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIHRoYXQgdGhlIGNlbGwgcmVzaWRlcyBpbi4NCiAgICAgKiBDZWxsIHdpZHRoIG9mIHplcm8gZWZmZWN0aXZlbHkgaGlkZXMgdGhlIGNvbHVtbg0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRjb2wgQ29sdW1uLCBiYXNlZCB1cG9uIGEgIjEiIGJhc2VkIGFycmF5DQogICAgICogQHBhcmFtIG1peGVkICR3aWR0aCBXaWR0aCBvZiB0aGUgY2VsbC9jb2x1bW4sIGRlZmF1bHQgaXMgNDgNCiAgICAgKi8NCglmdW5jdGlvbiBjb2x1bW5XaWR0aCggJGNvbCwkd2lkdGggPSA0OCl7JHRoaXMtPmNvbFdpZHRoWyRjb2xdID0gJHdpZHRoO30NCg0KCS8qKg0KICAgICAqIEFsaWFzIGZvciBmdW5jdGlvbiByb3dIZWlnaHQoKQ0KICAgICAqLw0KCWZ1bmN0aW9uIGNlbGxIZWlnaHQoICRyb3csICRjb2wsJGhlaWdodCA9IDEyLjUpeyR0aGlzLT5yb3dIZWlnaHQoJHJvdywkaGVpZ2h0KTt9DQoNCgkvKioNCiAgICAgKiBTZXRzIHRoZSBoZWlnaHQgb2YgYSBjZWxsLg0KICAgICAqIFNldHMgIHRoZSBoZWlnaHQgb2YgdGhlIGNvbHVtbiB0aGF0IHRoZSBjZWxsIHJlc2lkZXMgaW4uDQogICAgICogQ2VsbCBoZWlnaHQgb2YgemVybyBlZmZlY3RpdmVseSBoaWRlcyB0aGUgcm93DQogICAgICogQHBhcmFtIGludGVnZXIgJHJvdyBSb3csIGJhc2VkIHVwb24gYSAiMSIgYmFzZWQgYXJyYXkNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkY29sIENvbHVtbiwgYmFzZWQgdXBvbiBhICIxIiBiYXNlZCBhcnJheQ0KICAgICAqIEBwYXJhbSBtaXhlZCAkaGVpZ2h0IEhlaWdodCBvZiB0aGUgY2VsbC9jb2x1bW4sIGRlZmF1bHQgaXMgMTIuNQ0KICAgICAqLw0KCWZ1bmN0aW9uIHJvd0hlaWdodCggJHJvdywkaGVpZ2h0ID0gMTIuNSl7JHRoaXMtPnJvd0hlaWdodFskcm93XSA9ICRoZWlnaHQ7fQ0KDQoJLyoqDQogICAgICogTWFrZXMgdGhlIHRhcmdldCBjZWxsIGEgbGluayB0byBhIFVSTA0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRyb3cgUm93LCBiYXNlZCB1cG9uIGEgIjEiIGJhc2VkIGFycmF5DQogICAgICogQHBhcmFtIGludGVnZXIgJGNvbCBDb2x1bW4sIGJhc2VkIHVwb24gYSAiMSIgYmFzZWQgYXJyYXkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRVUkwgVGhlIFVSTCB0aGF0IHRoZSBsaW5rIHNob3VsZCBwb2ludCB0bw0KICAgICAqLw0KCWZ1bmN0aW9uIGFkZFVSTCggJHJvdywgJGNvbCwkVVJMKXskdGhpcy0+VVJMc1skcm93XVskY29sXSA9ICRVUkw7fQ0KCQ0KCS8qKg0KICAgICAqIE1lcmdlcyAyIG9yIG1vcmUgY2VsbHMuDQogICAgICogVGhlIGZ1bmN0aW9uIGFjdHMgbGlrZSBhIGJvdW5kaW5nIGJveCwgd2l0aCB0aGUgcm93IGFuZCBjb2x1bW4gZGVmaW5pbmcNCiAgICAgKiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIsIGFuZCB0aGUgd2lkdGggYW5kIGhlaWdodCBleHRlbmRpbmcgdGhlIGJveC4NCiAgICAgKiBJZiB3aWR0aCBvciBoZWlnaHQgYXJlIHplcm8gKG9yIG9tbWl0dGVkKSB0aGVuIHRoZSBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuDQogICAgICogQHBhcmFtIGludGVnZXIgJHJvdyBSb3csIGJhc2VkIHVwb24gYSAiMSIgYmFzZWQgYXJyYXkNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkY29sIENvbHVtbiwgYmFzZWQgdXBvbiBhICIxIiBiYXNlZCBhcnJheQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICR3aWR0aCBOdW1iZXIgb2YgY2VsbHMgdG8gdGhlIHJpZ2h0IHRvIG1lcmdlIHdpdGgNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkaGVpZ2h0IE51bWJlciBvZiBjZWxscyBkb3duIHRvIG1lcmdlIHdpdGgNCiAgICAgKi8NCglmdW5jdGlvbiBjZWxsTWVyZ2UoJHJvdywkY29sLCAkd2lkdGggPSAwLCAkaGVpZ2h0ID0gMCl7DQoJCWlmICgkd2lkdGggPCAwIHx8ICRoZWlnaHQgPCAwKXsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJygnLiRyb3cuJywnLiRjb2wuJykgVHJpZWQgdG8gbWVyZ2UgY2VsbHMgd2l0aCB3aWR0aC9oZWlnaHQgPCAwICIodz0nLiR3aWR0aC4nLGg9Jy4kaGVpZ2h0LicpIicpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCQ0KCQkkdGhpcy0+bWVyZ2VDZWxsc1skcm93XVskY29sXSA9IGFycmF5KA0KCQkJJ3dpZHRoJwkJPT4gJHdpZHRoLA0KCQkJJ2hlaWdodCcJPT4gJGhlaWdodCwNCgkJKTsNCgkJLyogSSBkb24ndCB0aGluayB0aGlzIGNvZGUgaXMgbmVjZXNzYXJ5DQoJCWlmICghaXNzZXQoJGNlbGxzWyRyb3ddWyRjb2xdKSl7DQoJCQkkdGhpcy0+d3JpdGVTdHJpbmcoJHJvdywkY29sLCcnKTsNCgkJfQ0KCQkqLw0KCX0NCgkNCgkvKioNCiAgICAgKiBBZGRzIGEgY29tbWVudCB0byBhIGNlbGwNCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcm93IFJvdywgYmFzZWQgdXBvbiBhICIxIiBiYXNlZCBhcnJheQ0KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRjb2wgQ29sdW1uLCBiYXNlZCB1cG9uIGEgIjEiIGJhc2VkIGFycmF5DQogICAgICogQHBhcmFtIHN0cmluZyAkY29tbWVudCBUaGUgY29tbWVudCB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIGNlbGwNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhdXRob3IgVGhlIGNvbW1lbnQgd2lsbCBzaG93IGEgYm9sZCBoZWFkZXIgZGlzcGxheWluZyB0aGUNCiAgICAgKiBhdXRob3INCiAgICAgKi8NCglmdW5jdGlvbiBhZGRDb21tZW50KCAkcm93LCAkY29sLCRjb21tZW50LCRhdXRob3IgPSAnU1lTVEVNJyl7DQoJCSR0aGlzLT5jb21tZW50c1skcm93XVskY29sXSA9IGFycmF5KA0KCQkJJ2NvbW1lbnQnCT0+ICRjb21tZW50LA0KCQkJJ2F1dGhvcicJPT4gJGF1dGhvciwNCgkJKTsNCgl9DQoJDQoJLyoqDQogICAgICogT3V0cHV0cyBhIE1ZU1FMIHRhYmxlIG9yIGxpc3Qgb2YgdGFibGVzIHRvIGFuIEV4Y2VsIGRvYw0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGhvc3QgTXlTUUwgaG9zdCB0byBjb25uZWN0IHRvDQogICAgICogQHBhcmFtIHN0cmluZyAkdXNlcm5hbWUgVXNlcm5hbWUgdG8gY29ubmVjdCB3aXRoDQogICAgICogQHBhcmFtIHN0cmluZyAkcGFzc3dvcmQgUGFzc3dvcmQgdG8gY29ubmVjdCB3aXRoDQogICAgICogQHBhcmFtIHN0cmluZyAkZGIgRGF0YWJhc2UgdG8gdXNlDQogICAgICogQHBhcmFtIG1peGVkICR0YWJsZSBJZiBzdHJpbmcsIG91dCBzcGVjaWZpYyB0YWJsZS4gIElmIGFycmF5LCBlYWNoIHRhYmxlIHdpbGwgaGF2ZSBpdCdzIG93biBzaGVldA0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBteXNxbFF1ZXJ5VG9UYWJsZSgkaG9zdCwkdXNlcm5hbWUsJHBhc3N3b3JkLCRxdWVyeSl7DQoJCUVXWGNoZWNrRHJpdmVyREIoJ215c3FsJyk7DQoJCWlmIChlbXB0eSgkaG9zdCkpCQkkdGhpcy0+YWRkRXJyb3IoJ0RhdGFiYXNlJywnSE9TVE5BTUUgaXMgZW1wdHknKTsNCgkJaWYgKGVtcHR5KCR1c2VybmFtZSkpCSR0aGlzLT5hZGRFcnJvcignRGF0YWJhc2UnLCdVU0VSTkFNRSBpcyBlbXB0eScpOw0KCQlpZiAoY291bnQoJHRoaXMtPmZvcm1hdEVycm9ycykgPiAwKXtyZXR1cm4gZmFsc2U7fQ0KCQkNCgkJJGxpbmsgPSBteXNxbF9jb25uZWN0KCRob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQpOw0KCQlpZiAoISRsaW5rKSAkdGhpcy0+YWRkRXJyb3IoJ0RhdGFiYXNlJywnVU5BQkxFIHRvIGNvbm5lY3QgdG8gJy4kaG9zdC4nKCcubXlzcWxfZXJyb3IoKS4nKScpOw0KCQlpZiAoY291bnQoJHRoaXMtPmZvcm1hdEVycm9ycykgPiAwKXtyZXR1cm4gZmFsc2U7fQ0KCQkNCgkJRVdYbXlzcWxHZW5lcmF0ZUJ5UXVlcnkoJHRoaXMsJGxpbmssJHF1ZXJ5KTsNCgl9DQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/ExcelWriterXML/ExcelWriterXML_Style.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qKg0KICogRmlsZSBjb250YWlucyB0aGUgY2xhc3MgZmlsZXMgZm9yIEV4Y2VsV3JpdGVyWE1MX1N0eWxlDQogKiBAcGFja2FnZSBFeGNlbFdyaXRlclhNTA0KICovDQoNCi8qKg0KICogU3R5bGUgY2xhc3MgZm9yIGdlbmVyYXRpbmcgRXhjZWwgc3R5bGVzDQogKiBAbGluayBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvYWExNDAwNjYob2ZmaWNlLjEwKS5hc3B4DQogKiBAYXV0aG9yIFJvYmVydCBGIEdyZWVyDQogKiBAdmVyc2lvbiAxLjANCiAqIEBwYWNrYWdlIEV4Y2VsV3JpdGVyWE1MDQogKi8NCmNsYXNzIEV4Y2VsV3JpdGVyWE1MX1N0eWxlIHsNCgkvLyBQcml2YXRlIFZhcmlhYmxlcw0KCS8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KCS8vIE9wdGlvbnMNCglwcml2YXRlICRpZDsNCglwcml2YXRlICRuYW1lOw0KCXByaXZhdGUgJHVzZUFsaWdubWVudCA9IGZhbHNlOw0KCXByaXZhdGUgJHVzZUZvbnQgPSBmYWxzZTsNCglwcml2YXRlICR1c2VCb3JkZXIgPSBmYWxzZTsNCglwcml2YXRlICR1c2VJbnRlcmlvciA9IGZhbHNlOw0KCQ0KCS8vIEFsaWdubWVudA0KCXByaXZhdGUgJHZhbGlnbjsNCglwcml2YXRlICRoYWxpZ247DQoJcHJpdmF0ZSAkcm90YXRlOw0KCXByaXZhdGUgJHNocmlua3RvZml0ID0gMDsNCglwcml2YXRlICR2ZXJ0aWNhbHRleHQgPSAwOw0KCXByaXZhdGUgJHdyYXB0ZXh0ID0gMDsNCg0KCS8vIEZvbnQNCglwcml2YXRlICRmb250Q29sb3IgPSAnQXV0b21hdGljJzsNCglwcml2YXRlICRmb250TmFtZTsNCglwcml2YXRlICRmb250RmFtaWx5Ow0KCXByaXZhdGUgJGZvbnRTaXplOw0KCXByaXZhdGUgJGJvbGQ7DQoJcHJpdmF0ZSAkaXRhbGljOw0KCXByaXZhdGUgJHVuZGVybGluZTsNCglwcml2YXRlICRzdHJpa2V0aHJvdWdoOw0KCXByaXZhdGUgJHNoYWRvdzsNCglwcml2YXRlICRvdXRsaW5lOw0KCS8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KCQ0KCS8vIEJvcmRlcnMNCglwcml2YXRlICRib3JkZXJUb3AgPSBhcnJheSgpOw0KCXByaXZhdGUgJGJvcmRlckJvdHRvbSA9IGFycmF5KCk7DQoJcHJpdmF0ZSAkYm9yZGVyTGVmdCA9IGFycmF5KCk7DQoJcHJpdmF0ZSAkYm9yZGVyUmlnaHQgPSBhcnJheSgpOw0KCXByaXZhdGUgJGJvcmRlckRMID0gYXJyYXkoKTsNCglwcml2YXRlICRib3JkZXJEUiA9IGFycmF5KCk7DQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoJDQoJLy8gSW50ZXJpb3INCglwcml2YXRlICRpbnRlcmlvckNvbG9yOw0KCXByaXZhdGUgJGludGVyaW9yUGF0dGVybjsNCglwcml2YXRlICRpbnRlcmlvclBhdHRlcm5Db2xvcjsNCgkvLy8vLy8vLy8vLy8vLy8vLy8vLy8NCgkNCgkvLyBOdW1iZXJGb3JtYXQNCglwcml2YXRlICRudW1iZXJGb3JtYXQ7DQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoJDQoJLy8gT3RoZXIgVmFycw0KCXByaXZhdGUgJGZvcm1hdEVycm9ycyA9IGFycmF5KCk7DQoJcHJpdmF0ZSAkbmFtZWRDb2xvcnNJRSA9IGFycmF5ICgNCgkJJ2FsaWNlYmx1ZScgPT4gJyNGMEY4RkYnLA0KCQknYW50aXF1ZXdoaXRlJyA9PiAnI0ZBRUJENycsDQoJCSdhcXVhJyA9PiAnIzAwRkZGRicsDQoJCSdhcXVhbWFyaW5lJyA9PiAnIzdGRkZENCcsDQoJCSdhenVyZScgPT4gJyNGMEZGRkYnLA0KCQknYmVpZ2UnID0+ICcjRjVGNURDJywNCgkJJ2Jpc3F1ZScgPT4gJyNGRkU0QzQnLA0KCQknYmxhY2snID0+ICcjMDAwMDAwJywNCgkJJ2JsYW5jaGVkYWxtb25kJyA9PiAnI0ZGRUJDRCcsDQoJCSdibHVlJyA9PiAnIzAwMDBGRicsDQoJCSdibHVldmlvbGV0JyA9PiAnIzhBMkJFMicsDQoJCSdicm93bicgPT4gJyNBNTJBMkEnLA0KCQknYnVybHl3b29kJyA9PiAnI0RFQjg4NycsDQoJCSdjYWRldGJsdWUnID0+ICcjNUY5RUEwJywNCgkJJ2NoYXJ0cmV1c2UnID0+ICcjN0ZGRjAwJywNCgkJJ2Nob2NvbGF0ZScgPT4gJyNEMjY5MUUnLA0KCQknY29yYWwnID0+ICcjRkY3RjUwJywNCgkJJ2Nvcm5mbG93ZXJibHVlJyA9PiAnIzY0OTVFRCcsDQoJCSdjb3Juc2lsaycgPT4gJyNGRkY4REMnLA0KCQknY3JpbXNvbicgPT4gJyNEQzE0M0MnLA0KCQknY3lhbicgPT4gJyMwMEZGRkYnLA0KCQknZGFya2JsdWUnID0+ICcjMDAwMDhCJywNCgkJJ2RhcmtjeWFuJyA9PiAnIzAwOEI4QicsDQoJCSdkYXJrZ29sZGVucm9kJyA9PiAnI0I4ODYwQicsDQoJCSdkYXJrZ3JheScgPT4gJyNBOUE5QTknLA0KCQknZGFya2dyZWVuJyA9PiAnIzAwNjQwMCcsDQoJCSdkYXJra2hha2knID0+ICcjQkRCNzZCJywNCgkJJ2RhcmttYWdlbnRhJyA9PiAnIzhCMDA4QicsDQoJCSdkYXJrb2xpdmVncmVlbicgPT4gJyM1NTZCMkYnLA0KCQknZGFya29yYW5nZScgPT4gJyNGRjhDMDAnLA0KCQknZGFya29yY2hpZCcgPT4gJyM5OTMyQ0MnLA0KCQknZGFya3JlZCcgPT4gJyM4QjAwMDAnLA0KCQknZGFya3NhbG1vbicgPT4gJyNFOTk2N0EnLA0KCQknZGFya3NlYWdyZWVuJyA9PiAnIzhGQkM4RicsDQoJCSdkYXJrc2xhdGVibHVlJyA9PiAnIzQ4M0Q4QicsDQoJCSdkYXJrc2xhdGVncmF5JyA9PiAnIzJGNEY0RicsDQoJCSdkYXJrdHVycXVvaXNlJyA9PiAnIzAwQ0VEMScsDQoJCSdkYXJrdmlvbGV0JyA9PiAnIzk0MDBEMycsDQoJCSdkZWVwcGluaycgPT4gJyNGRjE0OTMnLA0KCQknZGVlcHNreWJsdWUnID0+ICcjMDBCRkZGJywNCgkJJ2RpbWdyYXknID0+ICcjNjk2OTY5JywNCgkJJ2RvZGdlcmJsdWUnID0+ICcjMUU5MEZGJywNCgkJJ2ZpcmVicmljaycgPT4gJyNCMjIyMjInLA0KCQknZmxvcmFsd2hpdGUnID0+ICcjRkZGQUYwJywNCgkJJ2ZvcmVzdGdyZWVuJyA9PiAnIzIyOEIyMicsDQoJCSdmdWNoc2lhJyA9PiAnI0ZGMDBGRicsDQoJCSdnYWluc2Jvcm8nID0+ICcjRENEQ0RDJywNCgkJJ2dob3N0d2hpdGUnID0+ICcjRjhGOEZGJywNCgkJJ2dvbGQnID0+ICcjRkZENzAwJywNCgkJJ2dvbGRlbnJvZCcgPT4gJyNEQUE1MjAnLA0KCQknZ3JheScgPT4gJyM4MDgwODAnLA0KCQknZ3JlZW4nID0+ICcjMDA4MDAwJywNCgkJJ2dyZWVueWVsbG93JyA9PiAnI0FERkYyRicsDQoJCSdob25leWRldycgPT4gJyNGMEZGRjAnLA0KCQknaG90cGluaycgPT4gJyNGRjY5QjQnLA0KCQknaW5kaWFucmVkJyA9PiAnI0NENUM1QycsDQoJCSdpbmRpZ28nID0+ICcjNEIwMDgyJywNCgkJJ2l2b3J5JyA9PiAnI0ZGRkZGMCcsDQoJCSdraGFraScgPT4gJyNGMEU2OEMnLA0KCQknbGF2ZW5kZXInID0+ICcjRTZFNkZBJywNCgkJJ2xhdmVuZGVyYmx1c2gnID0+ICcjRkZGMEY1JywNCgkJJ2xhd25ncmVlbicgPT4gJyM3Q0ZDMDAnLA0KCQknbGVtb25jaGlmZm9uJyA9PiAnI0ZGRkFDRCcsDQoJCSdsaWdodGJsdWUnID0+ICcjQUREOEU2JywNCgkJJ2xpZ2h0Y29yYWwnID0+ICcjRjA4MDgwJywNCgkJJ2xpZ2h0Y3lhbicgPT4gJyNFMEZGRkYnLA0KCQknbGlnaHRnb2xkZW5yb2R5ZWxsb3cnID0+ICcjRkFGQUQyJywNCgkJJ2xpZ2h0Z3JlZW4nID0+ICcjOTBFRTkwJywNCgkJJ2xpZ2h0Z3JleScgPT4gJyNEM0QzRDMnLA0KCQknbGlnaHRwaW5rJyA9PiAnI0ZGQjZDMScsDQoJCSdsaWdodHNhbG1vbicgPT4gJyNGRkEwN0EnLA0KCQknbGlnaHRzZWFncmVlbicgPT4gJyMyMEIyQUEnLA0KCQknbGlnaHRza3libHVlJyA9PiAnIzg3Q0VGQScsDQoJCSdsaWdodHNsYXRlZ3JheScgPT4gJyM3Nzg4OTknLA0KCQknbGlnaHRzdGVlbGJsdWUnID0+ICcjQjBDNERFJywNCgkJJ2xpZ2h0eWVsbG93JyA9PiAnI0ZGRkZFMCcsDQoJCSdsaW1lJyA9PiAnIzAwRkYwMCcsDQoJCSdsaW1lZ3JlZW4nID0+ICcjMzJDRDMyJywNCgkJJ2xpbmVuJyA9PiAnI0ZBRjBFNicsDQoJCSdtYWdlbnRhJyA9PiAnI0ZGMDBGRicsDQoJCSdtYXJvb24nID0+ICcjODAwMDAwJywNCgkJJ21lZGl1bWFxdWFtYXJpbmUnID0+ICcjNjZDREFBJywNCgkJJ21lZGl1bWJsdWUnID0+ICcjMDAwMENEJywNCgkJJ21lZGl1bW9yY2hpZCcgPT4gJyNCQTU1RDMnLA0KCQknbWVkaXVtcHVycGxlJyA9PiAnIzkzNzBEQicsDQoJCSdtZWRpdW1zZWFncmVlbicgPT4gJyMzQ0IzNzEnLA0KCQknbWVkaXVtc2xhdGVibHVlJyA9PiAnIzdCNjhFRScsDQoJCSdtZWRpdW1zcHJpbmdncmVlbicgPT4gJyMwMEZBOUEnLA0KCQknbWVkaXVtdHVycXVvaXNlJyA9PiAnIzQ4RDFDQycsDQoJCSdtZWRpdW12aW9sZXRyZWQnID0+ICcjQzcxNTg1JywNCgkJJ21pZG5pZ2h0Ymx1ZScgPT4gJyMxOTE5NzAnLA0KCQknbWludGNyZWFtJyA9PiAnI0Y1RkZGQScsDQoJCSdtaXN0eXJvc2UnID0+ICcjRkZFNEUxJywNCgkJJ21vY2Nhc2luJyA9PiAnI0ZGRTRCNScsDQoJCSduYXZham93aGl0ZScgPT4gJyNGRkRFQUQnLA0KCQknbmF2eScgPT4gJyMwMDAwODAnLA0KCQknb2xkbGFjZScgPT4gJyNGREY1RTYnLA0KCQknb2xpdmUnID0+ICcjODA4MDAwJywNCgkJJ29saXZlZHJhYicgPT4gJyM2QjhFMjMnLA0KCQknb3JhbmdlJyA9PiAnI0ZGQTUwMCcsDQoJCSdvcmFuZ2VyZWQnID0+ICcjRkY0NTAwJywNCgkJJ29yY2hpZCcgPT4gJyNEQTcwRDYnLA0KCQkncGFsZWdvbGRlbnJvZCcgPT4gJyNFRUU4QUEnLA0KCQkncGFsZWdyZWVuJyA9PiAnIzk4RkI5OCcsDQoJCSdwYWxldHVycXVvaXNlJyA9PiAnI0FGRUVFRScsDQoJCSdwYWxldmlvbGV0cmVkJyA9PiAnI0RCNzA5MycsDQoJCSdwYXBheWF3aGlwJyA9PiAnI0ZGRUZENScsDQoJCSdwZWFjaHB1ZmYnID0+ICcjRkZEQUI5JywNCgkJJ3BlcnUnID0+ICcjQ0Q4NTNGJywNCgkJJ3BpbmsnID0+ICcjRkZDMENCJywNCgkJJ3BsdW0nID0+ICcjRERBMEREJywNCgkJJ3Bvd2RlcmJsdWUnID0+ICcjQjBFMEU2JywNCgkJJ3B1cnBsZScgPT4gJyM4MDAwODAnLA0KCQkncmVkJyA9PiAnI0ZGMDAwMCcsDQoJCSdyb3N5YnJvd24nID0+ICcjQkM4RjhGJywNCgkJJ3JveWFsYmx1ZScgPT4gJyM0MTY5RTEnLA0KCQknc2FkZGxlYnJvd24nID0+ICcjOEI0NTEzJywNCgkJJ3NhbG1vbicgPT4gJyNGQTgwNzInLA0KCQknc2FuZHlicm93bicgPT4gJyNGNEE0NjAnLA0KCQknc2VhZ3JlZW4nID0+ICcjMkU4QjU3JywNCgkJJ3NlYXNoZWxsJyA9PiAnI0ZGRjVFRScsDQoJCSdzaWVubmEnID0+ICcjQTA1MjJEJywNCgkJJ3NpbHZlcicgPT4gJyNDMEMwQzAnLA0KCQknc2t5Ymx1ZScgPT4gJyM4N0NFRUInLA0KCQknc2xhdGVibHVlJyA9PiAnIzZBNUFDRCcsDQoJCSdzbGF0ZWdyYXknID0+ICcjNzA4MDkwJywNCgkJJ3Nub3cnID0+ICcjRkZGQUZBJywNCgkJJ3NwcmluZ2dyZWVuJyA9PiAnIzAwRkY3RicsDQoJCSdzdGVlbGJsdWUnID0+ICcjNDY4MkI0JywNCgkJJ3RhbicgPT4gJyNEMkI0OEMnLA0KCQkndGVhbCcgPT4gJyMwMDgwODAnLA0KCQkndGhpc3RsZScgPT4gJyNEOEJGRDgnLA0KCQkndG9tYXRvJyA9PiAnI0ZGNjM0NycsDQoJCSd0dXJxdW9pc2UnID0+ICcjNDBFMEQwJywNCgkJJ3Zpb2xldCcgPT4gJyNFRTgyRUUnLA0KCQknd2hlYXQnID0+ICcjRjVERUIzJywNCgkJJ3doaXRlJyA9PiAnI0ZGRkZGRicsDQoJCSd3aGl0ZXNtb2tlJyA9PiAnI0Y1RjVGNScsDQoJCSd5ZWxsb3cnID0+ICcjRkZGRjAwJywNCgkJJ3llbGxvd2dyZWVuJyA9PiAnIzlBQ0QzMicsDQoJKTsNCgkvLy8vLy8vLy8vLy8vLy8vLy8vLy8NCgkNCgkvLyBQdWJsaWMgVmFyaWFibGVzDQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoJDQoJLy8gQ29uc3RydWN0b3INCgkNCgkvKioNCiAgICAgKiBDb25zdHJ1Y3RvciBmb3IgYSBzdHlsZQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGlkIFRoZSBuYW1lZCBzdHlsZSByZWZlcmVuY2VkIGJ5IEV4Y2VsLiAgVGhpcyBpcyBjYWxsZWQgYnkNCiAgICAgKiBFeGNlbFdyaXRlclhNTCBvYmplY3Qgd2hlbiBhZGRpbmcgYSBzdHlsZQ0KICAgICAqLw0KCWZ1bmN0aW9uIEV4Y2VsV3JpdGVyWE1MX1N0eWxlKCRpZCl7DQoJCSR0aGlzLT5pZCA9ICRpZDsNCgl9DQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoJDQoJLyoqDQoJICogUmV0dXJucyB0aGUgbmFtZWQgc3R5bGUgZm9yIHRoaXMgc3R5bGUNCgkgKiBAcmV0dXJuIHN0cmluZyAkaWQgVGhlIGlkIGZvciB0aGlzIHN0eWxlDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGdldElEKCl7DQoJCXJldHVybiAkdGhpcy0+aWQ7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIFJldHJpZXZlcyB0aGUgWE1MIHN0cmluZyBkYXRhIGZvciBhIHN0eWxlLg0KICAgICAqIENhbGxlZCBieSBFeGNlbFdyaXRlclhNTCBvYmplY3QNCiAgICAgKiBAcmV0dXJuIHN0cmluZyBSZXR1cm5zIHRoZSBmb3JtYXR0ZWQgWE1MIGRhdGEgPHN0eWxlPi4uLjwvc3R5bGU+DQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGdldFN0eWxlWE1MKCl7DQoJCSRuYW1lID0gJyc7DQoJCSR2YWxpZ24gPSAnJzsNCgkJJGhhbGlnbiA9ICcnOw0KCQkkcm90YXRlID0gJyc7DQoJCSRzaHJpbmt0b2ZpdCA9ICcnOw0KCQkkdmVydGljYWx0ZXh0ID0gJyc7DQoJCSR3cmFwdGV4dCA9ICcnOw0KCQkNCgkJJGJvbGQgPSAnJzsNCgkJJGl0YWxpYyA9ICcnOw0KCQkkc3RyaWtldGhyb3VnaCA9ICcnOw0KCQkkdW5kZXJsaW5lID0gJyc7DQoJCSRvdXRsaW5lID0gJyc7DQoJCSRzaGFkb3cgPSAnJzsNCgkJJGZvbnROYW1lID0gJyc7DQoJCSRmb250RmFtaWx5ID0gJyc7DQoJCSRmb250U2l6ZSA9ICcnOw0KCQkNCgkJJGJvcmRlcnMgPSAnJzsNCgkJDQoJCSRpbnRlcmlvciA9ICcnOw0KCQkkaW50ZXJpb3JDb2xvciA9ICcnOw0KCQkkaW50ZXJpb3JQYXR0ZXJuID0gJyc7DQoJCSRpbnRlcmlvclBhdHRlcm5Db2xvciA9ICcnOw0KCQkNCgkJJG51bWJlckZvcm1hdCA9ICcnOw0KCQkNCgkJaWYgKGVtcHR5KCR0aGlzLT5pZCkpIHRocm93IG5ldyBleGNlcHRpb247DQoJCWlmICghZW1wdHkoJHRoaXMtPm5hbWUpKXskbmFtZSA9ICdzczpOYW1lPSInLiR0aGlzLT5uYW1lLiciJzt9DQoJCQ0KCQkvLyBBbGlnbm1lbnQNCgkJaWYgKCR0aGlzLT51c2VBbGlnbm1lbnQpew0KCQkJaWYgKCFlbXB0eSgkdGhpcy0+dmFsaWduKSl7JHZhbGlnbiA9ICdzczpWZXJ0aWNhbD0iJy4kdGhpcy0+dmFsaWduLiciJzt9DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5oYWxpZ24pKXskaGFsaWduID0gJ3NzOkhvcml6b250YWw9IicuJHRoaXMtPmhhbGlnbi4nIic7fQ0KCQkJaWYgKCFlbXB0eSgkdGhpcy0+cm90YXRlKSl7JHJvdGF0ZSA9ICdzczpSb3RhdGU9IicuJHRoaXMtPnJvdGF0ZS4nIic7fQ0KCQkJaWYgKCFlbXB0eSgkdGhpcy0+c2hpbmt0b2ZpdCkpeyRzaHJpbmt0b2ZpdCA9ICdzczpTaHJpbmtUb0ZpdD0iMSInO30NCgkJCWlmICghZW1wdHkoJHRoaXMtPnZlcnRpY2FsdGV4dCkpeyR2ZXJ0aWNhbHRleHQgPSAnc3M6VmVydGljYWxUZXh0PSIxIic7fQ0KCQkJaWYgKCFlbXB0eSgkdGhpcy0+d3JhcHRleHQpKXskd3JhcHRleHQgPSAnc3M6V3JhcFRleHQ9IjEiJzt9DQoJCX0NCgkJDQoJCS8vIEZvbnQNCgkJaWYgKCR0aGlzLT51c2VGb250KXsNCgkJCWlmICghZW1wdHkoJHRoaXMtPmZvbnRDb2xvcikpeyRmb250Q29sb3IgPSAnc3M6Q29sb3I9IicuJHRoaXMtPmZvbnRDb2xvci4nIic7fQ0KCQkJaWYgKCFlbXB0eSgkdGhpcy0+Ym9sZCkpeyRib2xkID0gJ3NzOkJvbGQ9IjEiJzt9DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5pdGFsaWMpKXskaXRhbGljID0gJ3NzOkl0YWxpYz0iMSInO30NCgkJCWlmICghZW1wdHkoJHRoaXMtPnN0cmlrZXRocm91Z2gpKXskc3RyaWtldGhyb3VnaCA9ICdzczpTdHJpa2VUaHJvdWdoPSInLiR0aGlzLT5zdHJpa2V0aHJvdWdoLiciJzt9DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT51bmRlcmxpbmUpKXskdW5kZXJsaW5lID0gJ3NzOlVuZGVybGluZT0iJy4kdGhpcy0+dW5kZXJsaW5lLiciJzt9DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5vdXRsaW5lKSl7JG91dGxpbmUgPSAnc3M6T3V0bGluZT0iMSInO30NCgkJCWlmICghZW1wdHkoJHRoaXMtPnNoYWRvdykpeyRzaGFkb3cgPSAnc3M6U2hhZG93PSIxIic7fQ0KCQkJaWYgKCFlbXB0eSgkdGhpcy0+Zm9udE5hbWUpKXskZm9udE5hbWUgPSAnc3M6Rm9udE5hbWU9IicuJHRoaXMtPmZvbnROYW1lLiciJzt9DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5mb250RmFtaWx5KSl7JGZvbnRGYW1pbHkgPSAneDpGYW1pbHk9IicuJHRoaXMtPmZvbnRGYW1pbHkuJyInO30NCgkJCWlmICghZW1wdHkoJHRoaXMtPmZvbnRTaXplKSl7JGZvbnRTaXplID0gJ3NzOlNpemU9IicuJHRoaXMtPmZvbnRTaXplLiciJzt9DQoJCX0NCgkJLy8gQm9yZGVyDQoJCWlmICgkdGhpcy0+dXNlQm9yZGVyKXsNCgkJCSRib3JkZXJzID0gJwkJPEJvcmRlcnM+Jy4iXHIiOw0KCQkJJHBvc2l0aW9ucyA9IGFycmF5KA0KCQkJCSdUb3AnCQkJPT4gJHRoaXMtPmJvcmRlclRvcCwNCgkJCQknQm90dG9tJwkJPT4gJHRoaXMtPmJvcmRlckJvdHRvbSwNCgkJCQknTGVmdCcJCQk9PiAkdGhpcy0+Ym9yZGVyTGVmdCwNCgkJCQknUmlnaHQnCQkJPT4gJHRoaXMtPmJvcmRlclJpZ2h0LA0KCQkJCSdEaWFnb25hbExlZnQnCT0+ICR0aGlzLT5ib3JkZXJETCwNCgkJCQknRGlhZ29uYWxSaWdodCcJPT4gJHRoaXMtPmJvcmRlckRSLA0KDQoJCQkpOw0KCQkJZm9yZWFjaCgkcG9zaXRpb25zIGFzICRwb3NpdGlvbiA9PiAkcERhdGEpew0KCQkJCWlmIChlbXB0eSgkcERhdGEpKSBjb250aW51ZTsNCgkJCQkkYkxpbmVzdHlsZSA9IGlzc2V0KCRwRGF0YVsnTGluZVN0eWxlJ10pDQoJCQkJCT8gJ3NzOkxpbmVTdHlsZT0iJy4kcERhdGFbJ0xpbmVTdHlsZSddLiciJw0KCQkJCQk6ICcnOw0KCQkJCSRiQ29sb3IgPSBpc3NldCgkcERhdGFbJ0NvbG9yJ10pDQoJCQkJCT8gJ3NzOkNvbG9yPSInLiRwRGF0YVsnQ29sb3InXS4nIicNCgkJCQkJOiAnJzsNCgkJCQkkYldlaWdodCA9IGlzc2V0KCRwRGF0YVsnV2VpZ2h0J10pDQoJCQkJCT8gJ3NzOldlaWdodD0iJy4kcERhdGFbJ1dlaWdodCddLiciJw0KCQkJCQk6ICcnOw0KCQkJCSRib3JkZXJzIC49ICc8Qm9yZGVyIHNzOlBvc2l0aW9uPSInLiRwb3NpdGlvbi4nIiAnLiRiTGluZXN0eWxlLicgJy4kYkNvbG9yLicgJy4kYldlaWdodC4nLz4nLiJcciI7DQoJCQl9DQoJCQkkYm9yZGVycyAuPSAnPC9Cb3JkZXJzPicuIlxyIjsNCgkJfQ0KCQkNCgkJaWYgKCR0aGlzLT51c2VJbnRlcmlvcil7DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5pbnRlcmlvckNvbG9yKSl7JGludGVyaW9yQ29sb3IgPSAnc3M6Q29sb3I9IicuJHRoaXMtPmludGVyaW9yQ29sb3IuJyInO30NCgkJCWlmICghZW1wdHkoJHRoaXMtPmludGVyaW9yUGF0dGVybikpeyRpbnRlcmlvclBhdHRlcm4gPSAnc3M6UGF0dGVybj0iJy4kdGhpcy0+aW50ZXJpb3JQYXR0ZXJuLiciJzt9DQoJCQlpZiAoIWVtcHR5KCR0aGlzLT5pbnRlcmlvclBhdHRlcm5Db2xvcikpeyRpbnRlcmlvclBhdHRlcm5Db2xvciA9ICdzczpQYXR0ZXJuQ29sb3I9IicuJHRoaXMtPmludGVyaW9yUGF0dGVybkNvbG9yLiciJzt9DQoJCQkkaW50ZXJpb3IgPSAnCQk8SW50ZXJpb3IgJy4kaW50ZXJpb3JDb2xvci4nICcuJGludGVyaW9yUGF0dGVybi4nICcuJGludGVyaW9yUGF0dGVybkNvbG9yLicvPicuIlxyIjsNCgkJfQ0KCQkNCgkJaWYgKCFlbXB0eSgkdGhpcy0+bnVtYmVyRm9ybWF0KSkgeyRudW1iZXJGb3JtYXQgPSAnCQk8TnVtYmVyRm9ybWF0IHNzOkZvcm1hdD0iJy4kdGhpcy0+bnVtYmVyRm9ybWF0LiciLz4nLiJcciI7fQ0KCQllbHNlICRudW1iZXJGb3JtYXQgPSAnCQk8TnVtYmVyRm9ybWF0Lz4nLiJcciI7DQoJCQ0KCQkkeG1sID0gJwk8U3R5bGUgc3M6SUQ9IicuJHRoaXMtPmlkLiciICcuJG5hbWUuJz4nLiJcciI7DQoJCWlmICgkdGhpcy0+dXNlQWxpZ25tZW50KSAkeG1sIC49ICcJCTxBbGlnbm1lbnQgJy4kdmFsaWduLicgJy4kaGFsaWduLicgJy4kcm90YXRlLicgJy4kc2hyaW5rdG9maXQuJyAnLiR3cmFwdGV4dC4nICcuJHZlcnRpY2FsdGV4dC4nLz4nLiJcciI7DQoJCWlmICgkdGhpcy0+dXNlQm9yZGVyKSAkeG1sIC49ICRib3JkZXJzOw0KCQlpZiAoJHRoaXMtPnVzZUZvbnQpICR4bWwgLj0gJwkJPEZvbnQgJy4kZm9udFNpemUuJyAnLiRmb250Q29sb3IuJyAnLiRib2xkLicgJy4kaXRhbGljLicgJy4kc3RyaWtldGhyb3VnaC4nICcuJHVuZGVybGluZS4nICcuJHNoYWRvdy4nICcuJG91dGxpbmUuJyAnLiRmb250TmFtZS4nICcuJGZvbnRGYW1pbHkuJy8+Jy4iXHIiOw0KCQlpZiAoJHRoaXMtPnVzZUludGVyaW9yKSAkeG1sIC49ICRpbnRlcmlvcjsNCgkJJHhtbCAuPSAkbnVtYmVyRm9ybWF0Ow0KCQkkeG1sIC49ICcJCTxQcm90ZWN0aW9uLz4nLiJcciI7DQoJCSR4bWwgLj0gJwk8L1N0eWxlPicuIlxyIjsNCgkJcmV0dXJuKCR4bWwpOw0KCX0NCgkNCgkvKioNCgkgKiBDaGVja3Mgd2hldGhlciBhIGNvbG9yIGlzIHZhbGlkIGZvciB0aGUgc3ByZWFkc2hlZXQNCgkgKiBAcGFyYW0gc3RyaW5nICRjb2xvciBOYW1lZCBjb2xvciBmcm9tIE1TIG9yIHdlYiBjb2xvciBpbiBIRVggZm9ybWF0IChlLmcuDQogICAgICogI2ZmMDBmZg0KICAgICAqIEByZXR1cm4gbWl4ZWQgRWl0aGVyIHRoZSB2YWxpZCBjb2xvciBpbiBIRVggZm9ybWF0IG9yIGZhbHNlIGlmIHRoZSBjb2xvcg0KICAgICAqIGlzIG5vdCB2YWxpZA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBjaGVja0NvbG9yKCRjb2xvcil7DQoJCSRwYXR0ZXJuID0gIi9bMC05YS1mXXs2fS8iOw0KCQlpZiAocHJlZ19tYXRjaCgkcGF0dGVybiwgc3RydG9sb3dlcigkY29sb3IpLCAkbWF0Y2hlcykpIHsNCgkJCSRjb2xvciA9ICcjJy4kbWF0Y2hlc1swXTsNCgkJCXJldHVybigkY29sb3IpOw0KCQl9DQoJCWVsc2UgaWYgKGlzc2V0KCR0aGlzLT5uYW1lZENvbG9yc0lFW3N0cnRvbG93ZXIoJGNvbG9yKV0pKXsNCgkJCSRjb2xvciA9ICR0aGlzLT5uYW1lZENvbG9yc0lFW3N0cnRvbG93ZXIoJGNvbG9yKV07DQoJCQlyZXR1cm4oJGNvbG9yKTsNCgkJfQ0KCQllbHNlew0KCQkJJHRoaXMtPmFkZEVycm9yKF9fRlVOQ1RJT05fXywnU3VwcGxpZWQgY29sb3Igd2FzIG5vdCB2YWxpZCAiJy4kY29sb3IuJyInKTsNCgkJCXJldHVybihmYWxzZSk7DQoJCX0NCgl9DQoJDQoJLyoqDQoJICogQWRkcyBhIGZvcm1hdCBlcnJvci4gIFdoZW4gdGhlIGRvY3VtZW50IGlzIGdlbmVyYXRlZCBpZiB0aGVyZSBhcmUgYW55DQoJICogZXJyb3JzIHRoZXkgd2lsbCBiZSBsaXN0ZWQgb24gYSBzZXBlcmF0ZSBzaGVldC4NCgkgKiBAcGFyYW0gc3RyaW5nICRuYW1lZFN0eWxlIFRoZSBzdHlsZSBpbiB3aGljaCB0aGUgZXJyb3Igb2NjdXJyZWQNCgkgKiBAcGFyYW0gc3RyaW5nICRmdW5jdGlvbiBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdGhhdCB3YXMgY2FsbGVkDQoJICogQHBhcmFtIHN0cmluZyAkbWVzc2FnZSBEZXRhaWxzIG9mIHRoZSBlcnJvcg0KCSAqLw0KCXByaXZhdGUgZnVuY3Rpb24gYWRkRXJyb3IoJGZ1bmN0aW9uLCAkbWVzc2FnZSl7DQoJCSR0bXAgPSBhcnJheSgNCgkJCSdzdHlsZScJCT0+ICR0aGlzLT5pZCwNCgkJCSdmdW5jdGlvbicJPT4gJGZ1bmN0aW9uLA0KCQkJJ21lc3NhZ2UnCT0+ICRtZXNzYWdlLA0KCQkpOw0KCQkkdGhpcy0+Zm9ybWF0RXJyb3JzW10gPSAkdG1wOw0KCX0NCg0KCS8qKg0KCSAqIFJldHVybnMgYW55IGVycm9ycyBmb3VuZCBpbiB0aGUgc2hlZXQNCgkgKiBAcmV0dXJuIG1peGVkIEFycmF5IG9mIGVycm9ycyBpZiB0aGV5IGV4aXN0LCBvdGhlcndpc2UgZmFsc2UNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JzKCl7DQoJCXJldHVybigkdGhpcy0+Zm9ybWF0RXJyb3JzKTsNCgl9DQoNCgkNCgkvLyBDaGFuZ2UgT3B0aW9ucw0KCQ0KCS8qKg0KICAgICAqIENoYW5nZXMgdGhlIG5hbWUgb2YgdGhlIG5hbWVkIHN0eWxlDQogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBUaGUgbmFtZWQgc3R5bGUgcmVmZXJlbmNlZCBieSBFeGNlbC4NCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gbmFtZSgkbmFtZSl7JHRoaXMtPm5hbWUgPSAkbmFtZTsgfQ0KCS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KCQ0KCS8vIENoYW5nZSBBbGlnbm1lbnQNCgkvKioNCiAgICAgKiBDaGFuZ2VzIHRoZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgc2V0dGluZyBmb3IgdGhlIHN0eWxlDQogICAgICogQHBhcmFtIHN0cmluZyAkdmFsaWduIFRoZSB2YWx1ZSBmb3IgdGhlIHZlcnRpY2FsIGFsaWdubWVudC4NCiAgICAgKiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgIkF1dG9tYXRpYyIgIlRvcCIgIkJvdHRvbSIgIkNlbnRlciINCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gYWxpZ25WZXJ0aWNhbCgkdmFsaWduKXsNCgkJLy8gQXV0b21hdGljLCBUb3AsIEJvdHRvbSwgQ2VudGVyDQoJCWlmICgkdmFsaWduICE9ICdBdXRvbWF0aWMnDQoJCQkmJiAkdmFsaWduICE9ICdUb3AnDQoJCQkmJiAkdmFsaWduICE9ICdCb3R0b20nDQoJCQkmJiAkdmFsaWduICE9ICdDZW50ZXInKXsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ3ZlcnRpY2FsIGFsaWdubWVudCB3YXMgbm90IHZhbGlkICInLiR2YWxpZ24uJyInKTsNCgkJCXJldHVybjsNCgkJfQ0KCQkkdGhpcy0+dmFsaWduID0gJHZhbGlnbjsNCgkJJHRoaXMtPnVzZUFsaWdubWVudCA9IHRydWU7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIENoYW5nZXMgdGhlIGhvcml6b250YWwgYWxpZ25tZW50IHNldHRpbmcgZm9yIHRoZSBzdHlsZQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGhhbGlnbiBUaGUgdmFsdWUgZm9yIHRoZSBob3Jpem9udGFsIGFsaWdubWVudC4gQWNjZXB0YWJsZQ0KICAgICAqIHZhbHVlcyBhcmUgIkF1dG9tYXRpYyIgIkxlZnQiICJDZW50ZXIiICJSaWdodCINCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gYWxpZ25Ib3Jpem9udGFsKCRoYWxpZ24pew0KCQkvLyBBdXRvbWF0aWMsIExlZnQsIENlbnRlciwgUmlnaHQNCgkJaWYgKCRoYWxpZ24gIT0gJ0F1dG9tYXRpYycNCgkJCSYmICRoYWxpZ24gIT0gJ0xlZnQnDQoJCQkmJiAkaGFsaWduICE9ICdDZW50ZXInDQoJCQkmJiAkaGFsaWduICE9ICdSaWdodCcpew0KCQkJJHRoaXMtPmFkZEVycm9yKF9fRlVOQ1RJT05fXywnaG9yaXpvbnRhbCBhbGlnbm1lbnQgd2FzIG5vdCB2YWxpZCAiJy4kaGFsaWduLiciJyk7DQoJCQkkaGFsaWduID0gJ0F1dG9tYXRpYyc7DQoJCX0NCgkJJHRoaXMtPmhhbGlnbiA9ICRoYWxpZ247DQoJCSR0aGlzLT51c2VBbGlnbm1lbnQgPSB0cnVlOw0KCX0NCgkNCgkvKioNCiAgICAgKiBDaGFuZ2VzIHRoZSByb3RhdGlvbiBzZXR0aW5nIGZvciB0aGUgc3R5bGUNCiAgICAgKiBAcGFyYW0gbWl4ZWQgJHJvdGF0ZSBUaGUgdmFsdWUgZm9yIHRoZSBSb3RhdGlvbi4gIFZhbHVlIG11c3QgYmUgYQ0KICAgICAqIG51bWJlciBiZXR3ZWVuIC05MCBhbmQgOTANCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gYWxpZ25Sb3RhdGUoJHJvdGF0ZSl7DQoJCS8vIERlZ3JlZXMgdG8gcm90YXRlIHRoZSB0ZXh0DQoJCWlmICghaXNfbnVtZXJpYygkcm90YXRlKSl7DQoJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdyb3RhdGlvbiB3YXMgbm90IG51bWVyaWMgIicuJHJvdGF0ZS4nIicpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCWlmIChhYnMoJHJvdGF0ZSkgPiA5MCl7DQoJCQkkcm90YXRlID0gJHJvdGF0ZSAlIDkwOw0KCQkJJHRoaXMtPmFkZEVycm9yKF9fRlVOQ1RJT05fXywncm90YXRpb24gd2FzIGdyZWF0ZXIgdGhhbiA5MCwgZGVmYXVsdGVkIHRvICInLiRyb3RhdGUuJyInKTsNCgkJfQ0KCQkkdGhpcy0+cm90YXRlID0gJHJvdGF0ZTsNCgkJJHRoaXMtPnVzZUFsaWdubWVudCA9IHRydWU7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIENoYW5nZXMgdGhlIFNocmluayBUbyBGaXQgc2V0dGluZyBmb3IgdGhlIHN0eWxlDQogICAgICogU2hyaW5rVG9GaXQgc2hyaW5rcyB0aGUgdGV4dCBzbyB0aGF0IGl0IGZpdHMgd2l0aGluIHRoZSBjZWxsLg0KICAgICAqIFRoaXMgZG9lc24ndCBhY3R1YWxseSB3b3JrLg0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBhbGlnblNocmlua3RvZml0KCl7DQoJCSR0aGlzLT5zaHJpbmt0b2ZpdCA9IDE7DQoJCSR0aGlzLT51c2VBbGlnbm1lbnQgPSB0cnVlOw0KCX0NCgkNCgkvKioNCiAgICAgKiBDaGFuZ2VzIHRoZSBWZXJ0aWNhbCBUZXh0IHNldHRpbmcgZm9yIHRoZSBzdHlsZS4NCiAgICAgKiBUZXh0IHdpbGwgYmUgZGlzcGxheWVkIHZlcnRpY2FsbHkuDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGFsaWduVmVydGljYWx0ZXh0KCl7DQoJCSR0aGlzLT52ZXJ0aWNhbHRleHQgPSAxOw0KCQkkdGhpcy0+dXNlQWxpZ25tZW50ID0gdHJ1ZTsNCgl9DQoJDQoJLyoqDQogICAgICogQ2hhbmdlcyB0aGUgV3JhcCBUZXh0IHNldHRpbmcgZm9yIHRoZSBzdHlsZS4NCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gYWxpZ25XcmFwdGV4dCgpew0KCQkkdGhpcy0+d3JhcHRleHQgPSAxOw0KCQkkdGhpcy0+dXNlQWxpZ25tZW50ID0gdHJ1ZTsNCgl9DQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KCQ0KCS8vIENoYW5nZSBGb250DQoJLyoqDQogICAgICogQ2hhbmdlcyB0aGUgc2l6ZSBvZiB0aGUgZm9udA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGZvbnRTaXplIFRoZSB2YWx1ZSBmb3IgdGhlIFNpemUuIFZhbHVlIG11c3QgYmUgZ3JlYXRlcg0KICAgICAqIHRoYW4gemVybw0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBmb250U2l6ZSgkZm9udFNpemUgPSAxMCl7DQoJCWlmICghaXNfbnVtZXJpYygkZm9udFNpemUpKXsNCgkJCSRmb250U2l6ZSA9IDEwOw0KCQkJJHRoaXMtPmFkZEVycm9yKF9fRlVOQ1RJT05fXywnZm9udCBzaXplIHdhcyBub3QgYSBudW1iZXIsIGRlZmF1bHRlZCB0byAxMCAiJy4kZm9udFNpemUuJyInKTsNCgkJfQ0KCQlpZiAoJGZvbnRTaXplIDw9IDApew0KCQkJJGZvbnRTaXplID0gMTA7DQoJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdmb250IHNpemUgd2FzIGxlc3MgdGhhbiB6ZXJvLCBkZWZhdWx0ZWQgdG8gMTAgIicuJGZvbnRTaXplLiciJyk7DQoJCX0NCgkJJHRoaXMtPmZvbnRTaXplID0gJGZvbnRTaXplOw0KCQkkdGhpcy0+dXNlRm9udCA9IHRydWU7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIENoYW5nZXMgdGhlIGNvbG9yIGZvciB0aGUgZm9udA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGZvbnRDb2xvciBUaGUgdmFsdWUgZm9yIHRoZSBDb2xvci4NCiAgICAgKiBUaGlzIGNhbiBiZSBhIE1TIG5hbWVkIGNvbG9yIG9yIGEgSGV4IHdlYiBjb2xvci4NCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZm9udENvbG9yKCRmb250Q29sb3IgPSAnQXV0b21hdGljJyl7DQoJCSRwYXR0ZXJuID0gIi9bMC05YS1mXXs2fS8iOw0KCQkkZm9udENvbG9yID0gJHRoaXMtPmNoZWNrQ29sb3IoJGZvbnRDb2xvcik7DQoJCWlmICgkZm9udENvbG9yID09PSBmYWxzZSl7DQoJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdmb250IGNvbG9yIHdhcyBub3QgdmFsaWQgIicuJGZvbnRDb2xvci4nIicpOw0KCQkJJGZvbnRDb2xvciA9ICdBdXRvbWF0aWMnOw0KCQl9DQoJCSR0aGlzLT5mb250Q29sb3IgPSAkZm9udENvbG9yOw0KCQkkdGhpcy0+dXNlRm9udCA9IHRydWU7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIENoYW5nZXMgdGhlIGZvbnQgZm9yIHRoZSBjZWxsDQogICAgICogQHBhcmFtIHN0cmluZyAkZm9udE5hbWUgVGhlIHZhbHVlIGZvciB0aGUgZm9udCBuYW1lLiBUaGlzIHNob3VsZCBiZSBhDQogICAgICogc3RhbmRhcmQgd2luZG93cyBmb250IGF2YWlsYWJsZSBvbiBtb3N0IHN5c3RlbXMuDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGZvbnROYW1lKCRmb250TmFtZSA9ICdBcmlhbCcpew0KCQkkdGhpcy0+Zm9udE5hbWUgPSAkZm9udE5hbWU7DQoJCSR0aGlzLT51c2VGb250ID0gdHJ1ZTsNCgl9DQoJDQoJLyoqDQogICAgICogQ2hhbmdlcyB0aGUgZmFtaWx5IGZvciB0aGUgZm9udA0KICAgICAqIEBwYXJhbSBzdHJpbmcgJGZvbnRGYW1pbHkgVGhlIHZhbHVlIGZvciB0aGUgZm9udCBmYW1pbHkuIE5vdCByZWFsbHkgc3VyZQ0KICAgICAqIHdoYXQgdGhpcyBkb2VzLg0KICAgICAqIFdpbjMyLWRlcGVuZGFudCBmb250IGZhbWlseS4NCiAgICAgKiBWYWx1ZXMgY2FuIGJlICJBdXRvbWF0aWMiICJEZWNvcmF0aXZlIg0KICAgICAqICJNb2Rlcm4iICJSb21hbiIgIlNjcmlwdCIgIlN3aXNzIg0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBmb250RmFtaWx5KCRmb250RmFtaWx5ID0gJ1N3aXNzJyl7DQoJCS8vIFdpbjMyLWRlcGVuZGVudCBmb250IGZhbWlseS4NCgkJLy8gQXV0b21hdGljLCBEZWNvcmF0aXZlLCBNb2Rlcm4sIFJvbWFuLCBTY3JpcHQsIGFuZCBTd2lzcw0KCQlpZiAoJGZvbnRGYW1pbHkgIT0gJ0F1dG9tYXRpYycNCgkJCSYmICRmb250RmFtaWx5ICE9ICdEZWNvcmF0aXZlJw0KCQkJJiYgJGZvbnRGYW1pbHkgIT0gJ01vZGVybicNCgkJCSYmICRmb250RmFtaWx5ICE9ICdSb21hbicNCgkJCSYmICRmb250RmFtaWx5ICE9ICdTY3JpcHQnDQoJCQkmJiAkZm9udEZhbWlseSAhPSAnU3dpc3MnKXsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ2ZvbnQgZmFtaWx5IHdhcyBub3QgdmFsaWQgIicuJGZvbnRGYW1pbHkuJyInKTsNCgkJCXJldHVybjsNCgkJfQ0KCQkkdGhpcy0+Zm9udEZhbWlseSA9ICRmb250RmFtaWx5Ow0KCQkkdGhpcy0+dXNlRm9udCA9IHRydWU7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIE1ha2VzIHRoZSBmb250IGJvbGQgZm9yIHRoZSBuYW1lZCBzdHlsZQ0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBmb250Qm9sZCgpew0KCQkkdGhpcy0+Ym9sZCA9IDE7DQoJCSR0aGlzLT51c2VGb250ID0gdHJ1ZTsNCgl9DQoJDQoJLyoqDQogICAgICogTWFrZXMgdGhlIGZvbnQgaXRhbGljIGZvciB0aGUgbmFtZWQgc3R5bGUNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZm9udEl0YWxpYygpew0KCQkkdGhpcy0+aXRhbGljID0gMTsNCgkJJHRoaXMtPnVzZUZvbnQgPSB0cnVlOw0KCX0NCgkNCgkvKioNCiAgICAgKiBNYWtlcyB0aGUgZm9udCBzdHJpa2V0aHJvdWdoIGZvciB0aGUgbmFtZWQgc3R5bGUNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZm9udFN0cmlrZXRocm91Z2goKXsNCgkJJHRoaXMtPnN0cmlrZXRocm91Z2ggPSAxOw0KCQkkdGhpcy0+dXNlRm9udCA9IHRydWU7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIE1ha2VzIHRoZSBmb250IHVuZGVybGluZWQgZm9yIHRoZSBuYW1lZCBzdHlsZQ0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHVTdHlsZSBUaGUgdHlwZSBvZiB1bmRlcmxpbmluZyBmb3IgdGhlIHN0eWxlLg0KICAgICAqIEFjY2VwdGFibGUgdmFsdWVzIGFyZSAiTm9uZSIgIlNpbmdsZSIgIkRvdWJsZSIgIlNpbmdsZUFjY291bnRpbmciDQogICAgICogIkRvdWJsZUFjY291bnRpbmciDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGZvbnRVbmRlcmxpbmUoJHVTdHlsZSA9ICdTaW5nbGUnKXsNCgkJLy8gTm9uZSwgU2luZ2xlLCBEb3VibGUsIFNpbmdsZUFjY291bnRpbmcsIGFuZCBEb3VibGVBY2NvdW50aW5nDQoJCWlmICgkdVN0eWxlICE9ICdOb25lJw0KCQkJJiYgJHVTdHlsZSAhPSAnU2luZ2xlJw0KCQkJJiYgJHVTdHlsZSAhPSAnRG91YmxlJw0KCQkJJiYgJHVTdHlsZSAhPSAnU2luZ2xlQWNjb3VudGluZycNCgkJCSYmICR1U3R5bGUgIT0gJ0RvdWJsZUFjY291bnRpbmcnKXsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ3VuZGVybGluZSB0eXBlIHdhcyBub3QgdmFsaWQgIicuJHVTdHlsZS4nIicpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCSR0aGlzLT51bmRlcmxpbmUgPSAkdVN0eWxlOw0KCQkkdGhpcy0+dXNlRm9udCA9IHRydWU7DQoJfQ0KCQ0KCS8qKg0KICAgICAqIE1ha2VzIHRoZSBmb250IHNoYWRvd2VkIGZvciB0aGUgbmFtZWQgc3R5bGUNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZm9udFNoYWRvdygpew0KCQkkdGhpcy0+c2hhZG93ID0gMTsNCgkJJHRoaXMtPnVzZUZvbnQgPSB0cnVlOw0KCX0NCg0KCS8qKg0KICAgICAqIE1ha2VzIHRoZSBmb250IG91dGxpbmVzIGZvciB0aGUgbmFtZWQgc3R5bGUNCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gZm9udE91dGxpbmUoKXsNCgkJJHRoaXMtPm91dGxpbmUgPSAxOw0KCQkkdGhpcy0+dXNlRm9udCA9IHRydWU7DQoJfQ0KCS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoJDQoJLy8gQ2hhbmdlIEJvcmRlcg0KCQ0KCS8qKg0KICAgICAqIFNldHMgdGhlIGJvcmRlciBmb3IgdGhlIG5hbWVkIHN0eWxlLg0KICAgICAqIFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyB0byBzZXQgZGlmZmVyZW50IHNpZGVzIG9mIHRoZQ0KICAgICAqIGNlbGwgb3Igc2V0IGFsbCBzaWRlcyB0aGUgc2FtZSBhdCBvbmNlLg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uIFNldHMgd2hpY2ggc2lkZSBvZiB0aGUgY2VsbCBzaG91bGQgYmUgbW9kaWZpZWQuDQogICAgICogQWNjZXB0YWJsZSB2YWx1ZXMgYXJlICJBbGwiICJMZWZ0IiAiVG9wIiAiUmlnaHQiICJCb3R0b20iICJEaWFnb25hbExlZnQiDQogICAgICogIkRpYWdvbmFsUmlnaHQiDQogICAgICogQHBhcmFtIGludGVnZXIgJHdlaWdodCBUaGlja25lc3Mgb2YgdGhlIGJvcmRlci4gIERlZmF1bHQgaXMgMSAiVGhpbiINCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvciBDb2xvciBvZiB0aGUgYm9yZGVyLiBEZWZhdWx0IGlzICJBdXRvbWF0aWMiIGJ1dCBhbnkNCiAgICAgKiA2LWhleGFkZWNpbWFsIGRpZ2l0IG51bWJlciBpbiAiI3JyZ2diYiIgZm9ybWF0IG9yIGl0IGNhbiBiZSBhbnkgb2YgdGhlDQogICAgICogTWljcm9zb2Z0riBJbnRlcm5ldCBFeHBsb3JlciBuYW1lZCBjb2xvcnMNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5lc3R5bGUgVHlwZSBvZiBsaW5lIHRvIHVzZSBvbiB0aGUgYm9yZGVyLg0KICAgICAqIERlZmF1bHQgaXMgIkNvbnRpbnVvdXMiLiAgQWNjZXB0YWJsZSBiYWx1ZXMgYXJlICJOb25lIiAiQ29udGludW91cyINCiAgICAgKiAiRGFzaCIgIkRvdCIgIkRhc2hEb3QiICJEYXNoRG90RG90IiAiU2xhbnREYXNoRG90IiAiRG91YmxlIg0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBib3JkZXIoDQoJCSRwb3NpdGlvbiA9ICdBbGwnCQkJLy8gQWxsLCBMZWZ0LCBUb3AsIFJpZ2h0LCBCb3R0b20sIERpYWdvbmFsTGVmdCwgRGlhZ29uYWxSaWdodA0KCQksJHdlaWdodCA9ICcxJwkJCQkvLyAwl0hhaXJsaW5lLCAxl1RoaW4sIDKXTWVkaXVtLCAzl1RoaWNrDQoJCSwkY29sb3IgPSAnQXV0b21hdGljJwkJLy8gQXV0b21hdGljLCA2LWhleGFkZWNpbWFsIGRpZ2l0IG51bWJlciBpbiAiI3JyZ2diYiIgZm9ybWF0IG9yIGl0IGNhbiBiZSBhbnkgb2YgdGhlIE1pY3Jvc29mdK4gSW50ZXJuZXQgRXhwbG9yZXIgbmFtZWQgY29sb3JzDQoJCSwkbGluZXN0eWxlID0gJ0NvbnRpbnVvdXMnCS8vIE5vbmUsIENvbnRpbnVvdXMsIERhc2gsIERvdCwgRGFzaERvdCwgRGFzaERvdERvdCwgU2xhbnREYXNoRG90LCBEb3VibGUNCgkJKXsNCgkJDQoJCWlmICgkcG9zaXRpb24gIT0gJ0FsbCcNCgkJCSYmICRwb3NpdGlvbiAhPSAnTGVmdCcNCgkJCSYmICRwb3NpdGlvbiAhPSAnVG9wJw0KCQkJJiYgJHBvc2l0aW9uICE9ICdSaWdodCcNCgkJCSYmICRwb3NpdGlvbiAhPSAnQm90dG9tJw0KCQkJJiYgJHBvc2l0aW9uICE9ICdEaWFnb25hbExlZnQnDQoJCQkmJiAkcG9zaXRpb24gIT0gJ0RpYWdvbmFsUmlnaHQnKXsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ2JvcmRlciBwb3NpdGlvbiB3YXMgbm90IHZhbGlkLCBkZWZhdWx0ZWQgdG8gQWxsICInLiRwb3NpdGlvbi4nIicpOw0KCQkJJHBvc2l0aW9uID0gJ0FsbCc7DQoJCX0NCgkJDQoJCWlmIChpc19udW1lcmljKCR3ZWlnaHQpKXsNCgkJCWlmIChhYnMoJHdlaWdodCkgPiAzKXsNCgkJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdsaW5lIHdlaWdodCBncmVhdGVyIHRoYW4gMywgZGVmYXVsdGVkIHRvIDMgIicuJHdlaWdodC4nIicpOw0KCQkJCSR3ZWlnaHQgPSAzOw0KCQkJfQ0KCQl9DQoJCWVsc2V7DQoJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdsaW5lIHdlaWdodCBub3QgbnVtZXJpYywgZGVmYXVsdGVkIHRvIDMgIicuJHdlaWdodC4nIicpOw0KCQkJJHdlaWdodCA9IDE7DQoJCX0NCg0KCQkkY29sb3IgPSAkdGhpcy0+Y2hlY2tDb2xvcigkY29sb3IpOw0KCQlpZiAoJGNvbG9yID09PSBmYWxzZSl7DQoJCQkkdGhpcy0+YWRkRXJyb3IoX19GVU5DVElPTl9fLCdib3JkZXIgY29sb3Igd2FzIG5vdCB2YWxpZCwgZGVmYXVsdGVkIHRvIEF1dG9tYXRpYyAiJy4kd2VpZ2h0LiciJyk7DQoJCQkkY29sb3IgPSAnQXV0b21hdGljJzsNCgkJfQ0KDQoJCWlmICgkbGluZXN0eWxlICE9ICdOb25lJw0KCQkJJiYgJGxpbmVzdHlsZSAhPSAnQ29udGludW91cycNCgkJCSYmICRsaW5lc3R5bGUgIT0gJ0Rhc2gnDQoJCQkmJiAkbGluZXN0eWxlICE9ICdEb3QnDQoJCQkmJiAkbGluZXN0eWxlICE9ICdEYXNoRG90Jw0KCQkJJiYgJGxpbmVzdHlsZSAhPSAnRGFzaERvdERvdCcNCgkJCSYmICRsaW5lc3R5bGUgIT0gJ1NsYW50RGFzaERvdCcNCgkJCSYmICRsaW5lc3R5bGUgIT0gJ0RvdWJsZScpew0KCQkJJGxpbmVzdHlsZSA9ICdDb250aW51b3VzJzsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ2xpbmUgc3R5bGUgd2FzIG5vdCB2YWxpZCwgZGVmYXVsdGVkIHRvIENvbnRpbnVvdXMgIicuJGxpbmVzdHlsZS4nIicpOw0KCQl9DQoNCgkJDQoJCSR0bXAgPSBhcnJheSgNCgkJCSdMaW5lU3R5bGUnCT0+ICRsaW5lc3R5bGUsDQoJCQknQ29sb3InCQk9PiAkY29sb3IsDQoJCQknV2VpZ2h0Jwk9PiAkd2VpZ2h0LA0KCQkpOw0KCQlpZiAoJHBvc2l0aW9uID09ICdUb3AnCQl8fCAkcG9zaXRpb24gPT0gJ0FsbCcpICR0aGlzLT5ib3JkZXJUb3AgPSAkdG1wOw0KCQlpZiAoJHBvc2l0aW9uID09ICdCb3R0b20nCXx8ICRwb3NpdGlvbiA9PSAnQWxsJykgJHRoaXMtPmJvcmRlckJvdHRvbSA9ICR0bXA7DQoJCWlmICgkcG9zaXRpb24gPT0gJ0xlZnQnCQl8fCAkcG9zaXRpb24gPT0gJ0FsbCcpICR0aGlzLT5ib3JkZXJMZWZ0ID0gJHRtcDsNCgkJaWYgKCRwb3NpdGlvbiA9PSAnUmlnaHQnCXx8ICRwb3NpdGlvbiA9PSAnQWxsJykgJHRoaXMtPmJvcmRlclJpZ2h0ID0gJHRtcDsNCgkJaWYgKCRwb3NpdGlvbiA9PSAnRGlhZ29uYWxMZWZ0JwkpCQkJCQkkdGhpcy0+Ym9yZGVyREwgPSAkdG1wOw0KCQlpZiAoJHBvc2l0aW9uID09ICdEaWFnb25hbFJpZ2h0JwkpCQkJCSR0aGlzLT5ib3JkZXJEUiA9ICR0bXA7DQoJCQ0KCQkkdGhpcy0+dXNlQm9yZGVyID0gdHJ1ZTsNCgl9DQoJLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCgkNCgkvLyBDaGFuZ2UgSW50ZXJpb3INCgkvKioNCiAgICAgKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIHN0eWxlIG9mIGEgc3R5bGUNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvciBOYW1lZCBjb2xvciBmcm9tIE1TIG9yIHdlYiBjb2xvciBpbiBIRVggZm9ybWF0IChlLmcuDQogICAgICogI2ZmMDBmZg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdHRlcm4gRGVmYXVsdHMgdG8gYSBOb25lIGlmIG5vdCBzdXBwbGllZC4NCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXR0ZXJuQ29sb3IgRGVmYXVsdHMgdG8gYSBBdXRvbWF0aWMgaWYgbm90IHN1cHBsaWVkLg0KICAgICAqLw0KCXB1YmxpYyBmdW5jdGlvbiBiZ0NvbG9yKCRjb2xvciA9ICdZZWxsb3cnLCRwYXR0ZXJuID0gJ1NvbGlkJywgJHBhdHRlcm5Db2xvciA9IG51bGwpew0KCQkvLyA2LWhleGFkZWNpbWFsIGRpZ2l0IG51bWJlciBpbiAiI3JyZ2diYiIgZm9ybWF0DQoJCS8vIE9yIGl0IGNhbiBiZSBhbnkgb2YgdGhlIEludGVybmV0IEV4cGxvcmVyIG5hbWVkIGNvbG9ycw0KCQkkY29sb3IgPSAkdGhpcy0+Y2hlY2tDb2xvcigkY29sb3IpOw0KCQlpZiAoJGNvbG9yID09PSBmYWxzZSl7DQoJCQkkY29sb3IgPSAnWWVsbG93JzsNCgkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ2NlbGwgY29sb3Igbm90IHZhbGlkLCBkZWZhdWx0ZWQgdG8gWWVsbG93ICInLiRjb2xvci4nIicpOw0KCQl9DQoJCSR0aGlzLT5pbnRlcmlvckNvbG9yID0gJGNvbG9yOw0KCQlpZiAoJHBhdHRlcm4gIT0gJ05vbmUnKXsNCgkJCSR0aGlzLT5iZ1BhdHRlcm4oJHBhdHRlcm4sICRwYXR0ZXJuQ29sb3IpOw0KCQl9DQoJCSR0aGlzLT51c2VJbnRlcmlvciA9IHRydWU7DQoJfQ0KDQoJLyoqDQogICAgICogU2V0cyB0aGUgYmFja2dyb3VuZCBwYXR0ZXJuIG9mIGEgc3R5bGUuDQogICAgICogQHNlZSBiZ0NvbG9yKCkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvciBOYW1lZCBjb2xvciBmcm9tIE1TIG9yIHdlYiBjb2xvciBpbiBIRVggZm9ybWF0IChlLmcuDQogICAgICogI2ZmMDBmZg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdHRlcm4gRGVmYXVsdHMgdG8gYSBzb2xpZCBpZiBub3Qgc3VwcGxpZWQuDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGJnUGF0dGVybigkcGF0dGVybiA9ICdOb25lJywgJGNvbG9yID0gbnVsbCl7DQoJCS8vIE5vbmUsIFNvbGlkLCBHcmF5NzUsIEdyYXk1MCwgR3JheTI1LCBHcmF5MTI1LCBHcmF5MDYyNSwNCgkJLy8gSG9yelN0cmlwZSwgVmVydFN0cmlwZSwgUmV2ZXJzZURpYWdTdHJpcGUsIERpYWdTdHJpcGUsDQoJCS8vIERpYWdDcm9zcywgVGhpY2tEaWFnQ3Jvc3MsIFRoaW5Ib3J6U3RyaXBlLCBUaGluVmVydFN0cmlwZSwNCgkJLy8gVGhpblJldmVyc2VEaWFnU3RyaXBlLCBUaGluRGlhZ1N0cmlwZSwgVGhpbkhvcnpDcm9zcywgYW5kIFRoaW5EaWFnQ3Jvc3MNCgkJaWYgKCRwYXR0ZXJuICE9ICdOb25lJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ1NvbGlkJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ0dyYXk3NScNCgkJCSYmICRwYXR0ZXJuICE9ICdHcmF5NTAnDQoJCQkmJiAkcGF0dGVybiAhPSAnR3JheTI1Jw0KCQkJJiYgJHBhdHRlcm4gIT0gJ0dyYXkxMjUnDQoJCQkmJiAkcGF0dGVybiAhPSAnR3JheTA2MjUnDQoJCQkmJiAkcGF0dGVybiAhPSAnSG9yelN0cmlwZScNCgkJCSYmICRwYXR0ZXJuICE9ICdWZXJ0U3RyaXBlJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ1JldmVyc2VEaWFnU3RyaXBlJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ0RpYWdTdHJpcGUnDQoJCQkmJiAkcGF0dGVybiAhPSAnRGlhZ0Nyb3NzJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ1RoaWNrRGlhZ0Nyb3NzJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ1RoaW5Ib3J6U3RyaXBlJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ1RoaW5WZXJ0U3RyaXBlJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ1RoaW5SZXZlcnNlRGlhZ1N0cmlwZScNCgkJCSYmICRwYXR0ZXJuICE9ICdUaGluRGlhZ1N0cmlwZScNCgkJCSYmICRwYXR0ZXJuICE9ICdUaGluSG9yekNyb3NzJw0KCQkJJiYgJHBhdHRlcm4gIT0gJ1RoaW5EaWFnQ3Jvc3MnKXsNCgkJCSRwYXR0ZXJuID0gJ05vbmUnOw0KCQkJJHRoaXMtPmFkZEVycm9yKF9fRlVOQ1RJT05fXywnY2VsbCBwYXR0ZXJuIHdhcyBub3QgdmFsaWQsIGRlZmF1bHRlZCB0byBTb2xpZCAiJy4kcGF0dGVybi4nIicpOw0KCQl9DQoNCgkJJHRoaXMtPmludGVyaW9yUGF0dGVybiA9ICRwYXR0ZXJuOw0KCQlpZiAoJGNvbG9yICE9IG51bGwpICR0aGlzLT5iZ1BhdHRlcm5Db2xvcigkY29sb3IpOw0KCQkkdGhpcy0+dXNlSW50ZXJpb3IgPSB0cnVlOw0KCX0NCg0KCS8qKg0KICAgICAqIFNwZWNpZmllcyB0aGUgc2Vjb25kYXJ5IGZpbGwgY29sb3Igb2YgdGhlIGNlbGwgd2hlbiBQYXR0ZXJuIGRvZXMgbm90IGVxdWFsIFNvbGlkLg0KICAgICAqIEBzZWUgZnVuY3Rpb24gYmdQYXR0ZXJuKCkNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvciBOYW1lZCBjb2xvciBmcm9tIE1TIG9yIHdlYiBjb2xvciBpbiBIRVggZm9ybWF0IChlLmcuDQogICAgICogI2ZmMDBmZg0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdHRlcm4gRGVmYXVsdHMgdG8gYSBzb2xpZCBpZiBub3Qgc3VwcGxpZWQuDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIGJnUGF0dGVybkNvbG9yKCRjb2xvciA9ICdZZWxsb3cnKXsNCgkJLy8gNi1oZXhhZGVjaW1hbCBkaWdpdCBudW1iZXIgaW4gIiNycmdnYmIiIGZvcm1hdA0KCQkvLyBPciBpdCBjYW4gYmUgYW55IG9mIHRoZSBJbnRlcm5ldCBFeHBsb3JlciBuYW1lZCBjb2xvcnMNCgkJaWYgKCRjb2xvciAhPSAnQXV0b21hdGljJyl7DQoJCQkkY29sb3IgPSAkdGhpcy0+Y2hlY2tDb2xvcigkY29sb3IpOw0KCQkJaWYgKCRjb2xvciA9PT0gZmFsc2Upew0KCQkJCSRjb2xvciA9ICdBdXRvbWF0aWMnOw0KCQkJCSR0aGlzLT5hZGRFcnJvcihfX0ZVTkNUSU9OX18sJ2NlbGwgcGF0dGVybiBjb2xvciB3YXMgbm90IHZhbGlkLCBkZWZhdWx0ZWQgdG8gQXV0b21hdGljICInLiRjb2xvci4nIicpOw0KCQkJfQ0KCQl9DQoJCSR0aGlzLT5pbnRlcmlvclBhdHRlcm5Db2xvciA9ICRjb2xvcjsNCgkJJHRoaXMtPnVzZUludGVyaW9yID0gdHJ1ZTsNCgl9DQoNCgkvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KCQ0KCS8vIE51bWJlciBGb3JtYXRzDQoNCgkvKioNCiAgICAgKiBTZXRzIHRoZSBudW1iZXIgZm9ybWF0IG9mIGEgc3R5bGUNCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmb3JtYXRTdHJpbmcgRm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGJ5IEV4Y2VsIGZvcg0KICAgICAqIGRpc3BsYXlpbmcgdGhlIG51bWJlci4NCiAgICAgKi8NCglwdWJsaWMgZnVuY3Rpb24gbnVtYmVyRm9ybWF0KCRmb3JtYXRTdHJpbmcpeyR0aGlzLT5udW1iZXJGb3JtYXQgPSAkZm9ybWF0U3RyaW5nO30NCg0KCS8qKg0KICAgICAqIFNldHMgYSBkZWZhdWx0IGRhdGUgZm9ybWF0IGZvciBhIHN0eWxlDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIG51bWJlckZvcm1hdERhdGUoKXskdGhpcy0+bnVtYmVyRm9ybWF0KCdtbS9kZC95eScpO30NCg0KCS8qKg0KICAgICAqIFNldHMgYSBkZWZhdWx0IHRpbWUgZm9ybWF0IGZvciBhIHN0eWxlDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIG51bWJlckZvcm1hdFRpbWUoKXskdGhpcy0+bnVtYmVyRm9ybWF0KCdoaDptbTpzcycpO30NCg0KCS8qKg0KICAgICAqIFNldHMgYSBkZWZhdWx0IGRhdGUgYW5kIHRpbWUgZm9ybWF0IGZvciBhIHN0eWxlDQogICAgICovDQoJcHVibGljIGZ1bmN0aW9uIG51bWJlckZvcm1hdERhdGV0aW1lKCl7JHRoaXMtPm51bWJlckZvcm1hdCgnbW0vZGQveXlcIGhoOm1tOnNzJyk7fQ0KCS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnLCdNYW5hZ2UgQ2FtcGFpZ25zJyk7CgokZGIgPSBjbXNtcygpLT5HZXREYigpOwokdGFib3B0YXJyYXkgPSBhcnJheSggJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nICk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiRmbGRzID0gImlkIEkgS0VZIEFVVE8sCiAgICAgICAgIG5hbWUgQygyNTUpIE5PVCBOVUxMLAogICAgICAgICBrZXl3b3JkIEMoMjU1KSBOT1QgTlVMTCwKICAgICAgICAgY29tcGFueV9pZCBJIE5PVCBOVUxMLAogICAgICAgICBzdGFydF9kYXRlIEkgTk9UIE5VTEwsCiAgICAgICAgIGVuZF9kYXRlICAgSSwKICAgICAgICAgY3JlYXRlZCAgICBJIE5PVCBOVUxMLAogICAgICAgICBtb2RpZmllZCAgIEkgTk9UIE5VTEwsCiAgICAgICAgIGRlc2NyaXB0aW9uIFgsCiAgICAgICAgIGZpbmlzaGVkX21zZyBYLAogICAgICAgICBleHRyYSAgICAgIFgiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoTE1fQ0FNUEFJR05TX1RBQkxFLCRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gImlkIEkgS0VZIEFVVE8sCiAgICAgICAgIGNhbXBhaWduIEkgS0VZIE5PVCBOVUxMLAogICAgICAgICBuYW1lIEMoNTApIE5PVCBOVUxMLAogICAgICAgICBwcm9tcHQgQyg1MCksCiAgICAgICAgIHR5cGUgICBDKDIwKSBOT1QgTlVMTCwKICAgICAgICAgcmVxdWlyZWQgSTEsCiAgICAgICAgIGl0ZW1fb3JkZXIgSSwKICAgICAgICAgZXh0cmEgIFgiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoTE1fRklFTERTX1RBQkxFLCRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gImlkIEkgS0VZIEFVVE8sCiAgICAgICAgIG5hbWUgQyg1MCkgTk9UIE5VTEwsCiAgICAgICAgIGJhc2V0eXBlIEMoMjApLAogICAgICAgICBwcm9tcHQgQyg1MCksCiAgICAgICAgIGV4dHJhICBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKExNX0ZJRUxEVFlQRVNfVEFCTEUsJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiaWQgSSBLRVkgQVVUTywKICAgICAgICAgY2FtcGFpZ24gSSBLRVkgTk9UIE5VTEwsCiAgICAgICAgIGNyZWF0ZWQgIEkgTk9UIE5VTEwsCiAgICAgICAgIG1vZGlmaWVkIEkgTk9UIE5VTEwsCiAgICAgICAgIHN0YXR1cyAgIEMoMjApLAogICAgICAgICB2aWV3ZWQgICBJLAogICAgICAgICBleHRyYSAgICBYIjsgCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChMTV9MRUFEU19UQUJMRSwkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICJsZWFkX2lkIEkgS0VZLAogICAgICAgICBjYW1wYWlnbiBJIEtFWSBOT1QgTlVMTCwKICAgICAgICAgbmFtZSAgICAgQyg1MCkgS0VZIE5PVCBOVUxMLAogICAgICAgICBmaWVsZCAgICBJIE5PVCBOVUxMLAogICAgICAgICB2YWx1ZSAgICBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKExNX0xFQUREQVRBX1RBQkxFLCRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19mb3JtX3RlbXBsYXRlLnRwbCc7CiRkYXRhID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKJHRoaXMtPlNldFRlbXBsYXRlKCdkZWZhdWx0X2Zvcm1fdGVtcGxhdGVfY29udGVudHMnLCRkYXRhKTsKJHRoaXMtPlNldFRlbXBsYXRlKCdmb3JtX1NhbXBsZScsJGRhdGEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9mb3JtX3RlbXBsYXRlJywnU2FtcGxlJyk7CgokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfa2V5d29yZGZvcm1fdGVtcGxhdGUudHBsJzsKJGRhdGEgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwokdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfa2V5d29yZGZvcm1fdGVtcGxhdGVfY29udGVudHMnLCRkYXRhKTsKJHRoaXMtPlNldFRlbXBsYXRlKCdrZXl3b3JkZm9ybV9TYW1wbGUnLCRkYXRhKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfa2V5d29yZGZvcm1fdGVtcGxhdGUnLCdTYW1wbGUnKTsKCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19kYXNoYm9hcmRfdGVtcGxhdGUudHBsJzsKJGRhdGEgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwokdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfZGFzaGJvYXJkX3RlbXBsYXRlX2NvbnRlbnRzJywkZGF0YSk7CiR0aGlzLT5TZXRUZW1wbGF0ZSgnZGFzaGJvYXJkX1NhbXBsZScsJGRhdGEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9kYXNoYm9hcmRfdGVtcGxhdGUnLCdTYW1wbGUnKTsKCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19jYW1wYWlnbmxpc3RfdGVtcGxhdGUudHBsJzsKJGRhdGEgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwokdGhpcy0+U2V0VGVtcGxhdGUoJ2RlZmF1bHRfY2FtcGFpZ25saXN0X3RlbXBsYXRlX2NvbnRlbnRzJywkZGF0YSk7CiR0aGlzLT5TZXRUZW1wbGF0ZSgnY2FtcGFpZ25saXN0X1NhbXBsZScsJGRhdGEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF9jYW1wYWlnbmxpc3RfdGVtcGxhdGUnLCdTYW1wbGUnKTsKCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ192aWV3bGVhZF90ZW1wbGF0ZS50cGwnOwokZGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF92aWV3bGVhZF90ZW1wbGF0ZV9jb250ZW50cycsJGRhdGEpOwokdGhpcy0+U2V0VGVtcGxhdGUoJ3ZpZXdsZWFkX1NhbXBsZScsJGRhdGEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VycmVudF92aWV3bGVhZF90ZW1wbGF0ZScsJ1NhbXBsZScpOwoKJGZuID0gX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZS50cGwnOwokZGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiR0aGlzLT5TZXRUZW1wbGF0ZSgnZGVmYXVsdF92aWV3Y2FtcGFpZ25fdGVtcGxhdGVfY29udGVudHMnLCRkYXRhKTsKJHRoaXMtPlNldFRlbXBsYXRlKCd2aWV3Y2FtcGFpZ25fU2FtcGxlJywkZGF0YSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50X3ZpZXdjYW1wYWlnbl90ZW1wbGF0ZScsJ1NhbXBsZScpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ25vdGlmeWxlYWRzJywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ25vdGlmeWxlYWRzX3N1YmplY3QnLCdZb3UgaGF2ZSBhIG5ldyBsZWFkJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZnlsZWFkc19ib2R5dHBsJyxmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfbm90aWZ5bGVhZHNfYm9keXRwbC50cGwnKSk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm0nLDEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm1fc3ViamVjdCcsJ1RoYW5rIHlvdSBmb3IgeW91ciBpbnF1aXJ5Jyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsZWFkY29uZmlybV9ib2R5dHBsJyxmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfbGVhZGNvbmZpcm1fYm9keXRwbC50cGwnKSk7CgoJCSAgICAgCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01hbmFnZSBDYW1wYWlnbnMnKTsKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CgokZGIgPSBjbXNtcygpLT5HZXREYigpOwokdGFib3B0YXJyYXkgPSBhcnJheSggJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nICk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiR0bXAgPSAkZGljdC0+RHJvcFRhYmxlU1FMKExNX0NBTVBBSUdOU19UQUJMRSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHRtcCk7CiR0bXAgPSAkZGljdC0+RHJvcFRhYmxlU1FMKExNX0ZJRUxEU19UQUJMRSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHRtcCk7CiR0bXAgPSAkZGljdC0+RHJvcFRhYmxlU1FMKExNX0ZJRUxEVFlQRVNfVEFCTEUpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCR0bXApOwokdG1wID0gJGRpY3QtPkRyb3BUYWJsZVNRTChMTV9MRUFEU19UQUJMRSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHRtcCk7CiR0bXAgPSAkZGljdC0+RHJvcFRhYmxlU1FMKExNX0xFQUREQVRBX1RBQkxFKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkdG1wKTsKCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKY2dlX2Rpcjo6cmVjdXJzaXZlX3JtZGlyKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLicvX2xlYWRtYW5hZ2VyJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IExlYWRNYW5hZ2VyIChjKSAyMDEzIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBwcm92aWRlIGEgc29tZXdoYXQgZ2VuZXJpYyBhbmQgc2ltcGxlIGxlYWQKIyAgbWFuYWdlbWVudCBtZWNoYW5pc20KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkX3ZlcnNpb24sJzEuMScpIDwgMCApIHsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm0nLDEpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsZWFkY29uZmlybV9zdWJqZWN0JywnVGhhbmsgeW91IGZvciB5b3VyIGlucXVpcnknKTsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbGVhZGNvbmZpcm1fYm9keXRwbCcsZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX2xlYWRjb25maXJtX2JvZHl0cGwudHBsJykpOwp9CgojIAojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_campaigns_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyN2aWV3X2FjdGl2ZW9ubHknKS5jaGFuZ2UoZnVuY3Rpb24oKXsKICAgICQodGhpcykuY2xvc2VzdCgnZm9ybScpLnN1Ym1pdCgpOwogIH0pOwp9KTsKPC9zY3JpcHQ+Cgp7JHVzZXJwcmVmc19mb3JtX3N0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CjxhIGhyZWY9Inttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9lZGl0X2NhbXBhaWduJyB1cmxvbmx5PTF9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3RpdGxlX2FkZF9jYW1wYWlnbicpfSI+e2NnaW1hZ2UgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJ30mbmJzcDt7JG1vZC0+TGFuZygncHJvbXB0X2FkZF9jYW1wYWlnbicpfTwvYT4mbmJzcDsKICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ2aWV3X2FjdGl2ZW9ubHkiIG5hbWU9InskYWN0aW9uaWR9dmlld19hY3RpdmVvbmx5IiB2YWx1ZT0iMSIge2lmICR2aWV3X2FjdGl2ZW9ubHl9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfS8+CiAgPGxhYmVsIGZvcj0idmlld19hY3RpdmVvbmx5Ij57JG1vZC0+TGFuZygncHJvbXB0X3ZpZXdfYWN0aXZlb25seScpfTwvbGFiZWw+CjwvZGl2Pgp7JHVzZXJwcmVmc19mb3JtX2VuZH0KCntpZiBjb3VudCgkY2FtcGFpZ25zKSA+IDB9Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2lkJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfbmFtZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2tleXdvcmQnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9jb21wYW55Jyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhcnRkYXRlJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfZW5kZGF0ZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2xlYWRzJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogbGVhZHMgKn08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57KiBlZGl0ICp9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogY29weSAqfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnsqIGRlbGV0ZSAqfTwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+CiAgPHRib2R5PgogIHtmb3JlYWNoICRjYW1wYWlnbnMgYXMgJG9uZX0KICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9lZGl0X2NhbXBhaWduJyBjYW1wYWlnbj0kb25lLmlkIHVybG9ubHk9MSBhc3NpZ249J2VkaXRfdXJsJ30KICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9jb3B5X2NhbXBhaWduJyBjYW1wYWlnbj0kb25lLmlkIHVybG9ubHk9MSBhc3NpZ249J2NvcHlfdXJsJ30KICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9kZWxldGVfY2FtcGFpZ24nIGNhbXBhaWduPSRvbmUuaWQgdXJsb25seT0xIGFzc2lnbj0nZGVsZXRlX3VybCd9CiAgICB7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fdmlld19sZWFkcycgY2FtcGFpZ249JG9uZS5pZCB1cmxvbmx5PTEgYXNzaWduPSd2aWV3X3VybCd9CiAgICB7Y2RfZ2V0Y29tcGFueSBpZD0kb25lLmNvbXBhbnlfaWQgYXNzaWduPSdjb21wJ30KICAgIDx0cj4KICAgICAgPHRkPnskb25lLmlkfTwvdGQ+CiAgICAgIDx0ZD48YSBocmVmPSJ7JGVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdwcm9tcHRfZWRpdCcpfSI+eyRvbmUubmFtZX08L2E+PC90ZD4KICAgICAgPHRkPnskb25lLmtleXdvcmR9PC90ZD4KICAgICAgPHRkPnskY29tcC0+Y29tcGFueV9uYW1lfTwvdGQ+CiAgICAgIDx0ZD57aWYgJG9uZS5zdGFydF9kYXRlID4gJHNtYXJ0eS5ub3d9PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij57JG9uZS5zdGFydF9kYXRlfGRhdGVfZm9ybWF0OicleCd9PC9zcGFuPntlbHNlfQogICAgICAgICAgeyRvbmUuc3RhcnRfZGF0ZXxkYXRlX2Zvcm1hdDonJXgnfXsvaWZ9CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICAgIHtpZiAkb25lLmVuZF9kYXRlIDwgJHNtYXJ0eS5ub3d9PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij57JG9uZS5lbmRfZGF0ZXxkYXRlX2Zvcm1hdDonJXgnfTwvc3Bhbj57ZWxzZX0KICAgICAgICAgIHskb25lLmVuZF9kYXRlfGRhdGVfZm9ybWF0OicleCd9ey9pZn0KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIHtpZiAkb25lLmxlYWRjb3VudH0KICAgICAgICAgIDxhIGhyZWY9Inskdmlld191cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3RpdGxlX2xlYWRjb3VudCcpfSI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij57JG9uZS51bnZpZXdlZGNvdW50fTwvc3Bhbj4gLyB7JG9uZS5jb21wbGV0ZWNvdW50fSAvIHskb25lLmxlYWRjb3VudH08L2E+CiAgICAgICAgey9pZn0KICAgICAgPC90ZD4KICAgICAgPHRkPntpZiAkb25lLmxlYWRjb3VudH08YSBocmVmPSJ7JHZpZXdfdXJsfSI+e2NnaW1hZ2UgYWx0PSRtb2QtPkxhbmcoJ3Byb21wdF92aWV3bGVhZHMnKSBpbWFnZT0naWNvbnMvc3lzdGVtL3ZpZXcuZ2lmJ308L2E+ey9pZn08L3RkPgogICAgICA8dGQ+PGEgaHJlZj0ieyRlZGl0X3VybH0iPntjZ2ltYWdlIGFsdD0kbW9kLT5MYW5nKCdwcm9tcHRfZWRpdCcpIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnfTwvYT48L3RkPgogICAgICA8dGQ+PGEgaHJlZj0ieyRjb3B5X3VybH0iPntjZ2ltYWdlIGFsdD0ieyRtb2QtPkxhbmcoJ3Byb21wdF9jb3B5Jyl9IiBpbWFnZT0naWNvbnMvc3lzdGVtL2NvcHkuZ2lmJ308L2E+PC90ZD4KICAgICAgPHRkPjxhIGNsYXNzPSJjYW1wYWlnbl9kZWxldGUiIGhyZWY9InskZGVsZXRlX3VybH0iPntjZ2ltYWdlIGFsdD0ieyRtb2QtPkxhbmcoJ3Byb21wdF9kZWxldGUnKX0iIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZid9PC9hPjwvdGQ+CiAgICA8L3RyPgogIHsvZm9yZWFjaH0KICA8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_delete_campaign.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCd0aXRsZV9kZWxldGVfY2FtcGFpZ24nKX08L2gzPgoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19kZWxldGVfY2FtcGFpZ24nKX08L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjb25maXJtX2RlbGV0ZV9jYW1wYWlnbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y29uZmlybTEiIHZhbHVlPSIxIi8+Jm5ic3A7eyRtb2QtPkxhbmcoJ2NvbmZpcm0xJyl9PGJyLz4KICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jb25maXJtMiIgdmFsdWU9IjEiLz4mbmJzcDt7JG1vZC0+TGFuZygnY29uZmlybTInKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_delete_fieldtype.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCd0aXRsZV9kZWxldGVfZmllbGR0eXBlJyl9OiB7JGZpZWxkdHlwZS5uYW1lfTwvaDM+Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX2RlbGV0ZV9maWVsZHR5cGUnKX08L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY29uZmlybV9kZWxldGVfZmllbGR0eXBlX2xlYWRkYXRhJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWNvbmZpcm0xIiB2YWx1ZT0iMSIvPiZuYnNwO3skbW9kLT5MYW5nKCdwcm9tcHRfeWVzZGVsZXRlX2xlYWRkYXRhMScpfTxici8+CiAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y29uZmlybTIiIHZhbHVlPSIxIi8+Jm5ic3A7eyRtb2QtPkxhbmcoJ3Byb21wdF95ZXNkZWxldGVfbGVhZGRhdGEyJyl9PGJyLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_campaign.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2NvbXBkaXJfaW5pdGpzfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgnI2NkX3NlbGNvbXBhbnknKS5jb21wZGlyX2Nob29zZWNvbXBhbnkoKTsKfSk7Cjwvc2NyaXB0PgoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KI2ltYWdlem9uZSB7IAogIGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgI2NjYzsKfQojaW1hZ2V6b25lOmhvdmVyewogIGN1cnNvcjogbW92ZQp9CiNpbWFnZXByb2dyZXNzIHsgCiAgbWFyZ2luOiAxNXB4OwogIGhlaWdodDogMmVtOwogIGxpbmUtaGVpZ2h0OiAyZW07CiAgdGV4dC1hbGlnbjogY2VudGVyOyAKICBib3JkZXI6IDFweCBzb2xpZCAjYWFhOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBub25lCn0KI2F0dGFjaGFyZWEgdWwgewogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKfQojaW1hZ2VzYXJlYSB1bCB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwp9CiNpbWFnZXNhcmVhIGxpIHsKICBoZWlnaHQ6IDUwcHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7Cn0KI2ltYWdlc2FyZWEgbGkgaW1nIHsKICBtYXgtaGVpZ2h0OiA1MHB4OwogIG1heC13aWR0aDogIDUwcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBtYXJnaW4tcmlnaHQ6IDVweDsKfQojaW1hZ2VzYXJlYSBsaSBzcGFuIHsKICBtYXJnaW4tbGVmdDogNXB4OwogIGxpbmUtaGVpZ2h0OiA1MHB4OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KPC9zdHlsZT4KCgp7aWYgJGNhbXBhaWduX2lkID4gMH0KPGgzPnskbW9kLT5MYW5nKCd0aXRsZV9lZGl0X2NhbXBhaWduJyl9IDxlbT4oeyRjYW1wYWlnbl9pZH0pPC9lbT48L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCd0aXRsZV9hZGRfY2FtcGFpZ24nKX08L2gzPgp7L2lmfQoKeyRmb3JtX3N0YXJ0fQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtpZiAkY2FtcGFpZ25faWQgPiAwfQogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdjbG9zZScpfSIvPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWFwcGx5IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2FwcGx5Jyl9Ii8+CiAgICB7ZWxzZX0KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1hcHBseSIgdmFsdWU9InskbW9kLT5MYW5nKCduZXh0Jyl9Ii8+CiAgICB7L2lmfQogIDwvcD4KPC9kaXY+Cgp7Y2dlX3N0YXJ0X3RhYnN9CntjZ2VfdGFiaGVhZGVyIG5hbWU9J2NhbXBhaWduJyBsYWJlbD0kbW9kLT5MYW5nKCdwcm9tcHRfY2FtcGFpZ24nKX0Ke2NnZV90YWJoZWFkZXIgbmFtZT0nZmluaXNoZWQnIGxhYmVsPSRtb2QtPkxhbmcoJ3Byb21wdF9maW5pc2hlZCcpfQoKe2lmICRjYW1wYWlnbi5pZCA+IDB9CiAge2NnZV90YWJoZWFkZXIgbmFtZT0nZmllbGRzJyBsYWJlbD0kbW9kLT5MYW5nKCdwcm9tcHRfZmllbGRzJyl9CiAge2NnZV90YWJoZWFkZXIgbmFtZT0nYXR0YWNobWVudHMnIGxhYmVsPSRtb2QtPkxhbmcoJ3Byb21wdF9hdHRhY2htZW50cycpfQogIHtjZ2VfdGFiaGVhZGVyIG5hbWU9J2ltYWdlcycgbGFiZWw9JG1vZC0+TGFuZygncHJvbXB0X2ltYWdlcycpfQogIHtjZ2VfdGFiaGVhZGVyIG5hbWU9J2FkdmFuY2VkJyBsYWJlbD0kbW9kLT5MYW5nKCdwcm9tcHRfYWR2YW5jZWQnKX0Key9pZn0KCntjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdjYW1wYWlnbid9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW5hbWUiIHZhbHVlPSJ7JGNhbXBhaWduLm5hbWV9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fY2FtcGFpZ25fbmFtZScpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCdwcm9tcHRfa2V5d29yZCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1rZXl3b3JkIiB2YWx1ZT0ieyRjYW1wYWlnbi5rZXl3b3JkfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2NhbXBhaWduX2tleXdvcmQnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG1vZC0+TGFuZygncHJvbXB0X2NvbXBhbnknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IGlkPSJjZF9zZWxjb21wYW55IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNvbXBhbnlfaWQiIHZhbHVlPSJ7JGNhbXBhaWduLmNvbXBhbnlfaWR9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fYXV0b2NvbXBsZXRlX2NvbXBhbnknKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVzY3JpcHRpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV93eXNpd3lnIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nZGVzY3JpcHRpb24nIHZhbHVlPSRjYW1wYWlnbi5kZXNjcmlwdGlvbiByb3dzPTV9CiAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2NhbXBhaWduX2Rlc2NyaXB0aW9uJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3N0YXJ0ZGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7JHRtcD0kYWN0aW9uaWR8Y2F0OidzdGFydF9kYXRlJ30KICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wIHRpbWU9JGNhbXBhaWduLnN0YXJ0X2RhdGUgc3RhcnRfeWVhcj0xOTgwIGVuZF95ZWFyPScrNSd9CiAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX3N0YXJ0ZGF0ZScpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbmRkYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskdG1wPSRhY3Rpb25pZHxjYXQ6J2VuZF9kYXRlJ30KICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wIHRpbWU9JGNhbXBhaWduLmVuZF9kYXRlIHN0YXJ0X3llYXI9MTk4MCBlbmRfeWVhcj0nKzUnfQogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19lbmRkYXRlJyl9CiAgPC9wPgo8L2Rpdj4KCntjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdmaW5pc2hlZCd9CjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19maW5pc2hlZCcpfTwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmluaXNoZWRtc2cnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV93eXNpd3lnIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nZmluaXNoZWRfbXNnJyB2YWx1ZT0kY2FtcGFpZ24uZmluaXNoZWRfbXNnIHJvd3M9NX0KICA8L3A+CjwvZGl2PgoKCgp7aWYgJGNhbXBhaWduLmlkID4gMH0KeyogZGlzcGxheSB0aGUgZmllbGQgQ1JVRCBoZXJlICp9CntjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdmaWVsZHMnfQoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNmaWVsZF9saXN0ID4gdGJvZHknKS5zb3J0YWJsZSh7CiAgICBheGlzOiAneScsCiAgICBjdXJzb3I6ICdtb3ZlJywKICAgIHN0b3A6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewogICAgICB2YXIgdiA9ICQodGhpcykuc29ydGFibGUoJ3NlcmlhbGl6ZScpOwogICAgICB2YXIgdXJsID0gJ3ttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9vcmRlcl9maWVsZHMnIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBqc2ZyaWVuZGx5PTF9JnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgICAgICQucG9zdCh1cmwsdik7CiAgICB9CiAgfSk7Cn0pOwo8L3NjcmlwdD4KCjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19jYW1wYWlnbl9maWVsZHMnKX08L2Rpdj4KPGRpdiBjbGFzcz0icGFiZW9wdGlvbnMiPgo8YSBocmVmPSJ7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fZWRpdF9maWVsZCcgY2FtcGFpZ249JGNhbXBhaWduLmlkIHVybG9ubHk9MX0iPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZid9IHskbW9kLT5MYW5nKCdwcm9tcHRfYWRkX2ZpZWxkJyl9PC9hPgp7aWYgY291bnQoJGNhbXBhaWduLmZpZWxkcyl9CiAgPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIGlkPSJmaWVsZF9saXN0Ij4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2lkJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF90eXBlJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9yZXF1aXJlZCcpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZWRpdCAqfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZGVsZXRlICp9PC90aD4KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCAkY2FtcGFpZ24uZmllbGRzIGFzICRmaWVsZH0KICAgICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2FkbWluX2VkaXRfZmllbGQnIGNhbXBhaWduPSRmaWVsZC5jYW1wYWlnbiBmaWVsZD0kZmllbGQuaWQgdXJsb25seT0xIGFzc2lnbj0nZWRpdF91cmwnfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fZGVsZXRlX2ZpZWxkJyBjYW1wYWlnbj0kZmllbGQuY2FtcGFpZ24gZmllbGQ9JGZpZWxkLmlkIHVybG9ubHk9MSBhc3NpZ249J2RlbGV0ZV91cmwnfQogICAgICA8dHIgaWQ9InskYWN0aW9uaWR9ZmxkX3skZmllbGQuaWR9Ij4KICAgICAgICA8dGQ+eyRmaWVsZC5pZH08L3RkPgogICAgICAgIDx0ZD48YSBocmVmPSJ7JGVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdwcm9tcHRfZWRpdCcpfSI+eyRmaWVsZC5uYW1lfTwvYT48L3RkPgogICAgICAgIDx0ZD57JHR5cGU9JGZpZWxkLnR5cGV9eyRmaWVsZHR5cGVzLiR0eXBlfTwvdGQ+CiAgICAgICAgPHRkPntpZiAkZmllbGQucmVxdWlyZWR9eyRtb2QtPkxhbmcoJ3Byb21wdF95ZXMnKX17L2lmfTwvdGQ+CiAgICAgICAgPHRkPjxhIGhyZWY9InskZWRpdF91cmx9Ij57Y2dpbWFnZSBhbHQ9JG1vZC0+TGFuZygncHJvbXB0X2VkaXQnKSBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJ308L2E+PC90ZD4KICAgICAgICA8dGQ+PGEgaHJlZj0ieyRkZWxldGVfdXJsfSI+e2NnaW1hZ2UgYWx0PSRtb2QtPkxhbmcoJ3Byb21wdF9kZWxldGUnKSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnfTwvYT48L3RkPgogICAgICA8L3RyPgogICAgey9mb3JlYWNofQogICAgPC90Ym9keT4KICA8L3RhYmxlPgp7L2lmfQo8L2Rpdj4KCntjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdhdHRhY2htZW50cyd9CnsqIGRpc3BsYXkgdGhlIGF0dGFjaG1lbnQgQ1JVRCBoZXJlICp9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gX3JlZnJlc2hBdHRhY2hHYWxsZXJ5KCkgewogIHZhciB1cmwgPSAne21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2FkbWluX2VkaXRfY2FtcGFpZ24nIHN1Yj0nYXR0YWNobWVudHMnIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBqc2ZyaWVuZGx5PTF9JnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgJCgnI2F0dGFjaGFyZWEnKS5sb2FkKHVybCk7Cn0KCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgX3JlZnJlc2hBdHRhY2hHYWxsZXJ5KCk7CiAgJCgnI2xtX2F0dGFjaHVwbG9hZCcpLmZpbGV1cGxvYWQoewogICAgZGF0YVR5cGU6ICdqc29uJywKICAgIGRyb3Bab25lOiAkKCcjYXR0YWNoem9uZScpLAogICAgbWF4Q2h1bmtTaXplOiAyNTYwMDAsCiAgICBmb3JtOiBudWxsLAogICAgdXJsOiAne21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9TGVhZE1hbmFnZXIgYWN0aW9uPWFkbWluX2FqYXhfdXBsb2FkIG5hbWU9J2xtX2F0dGFjaHVwbG9hZCcgdHlwZT0nYXR0YWNoJyBjYW1wYWlnbj0kY2FtcGFpZ24uaWQganNmcmllbmRseT0xfSZzaG93dGVtcGxhdGU9ZmFsc2UnLAogICAgZm9ybURhdGE6IHsgeyRhY3Rpb25pZH1jYW1wYWlnbjogeyRjYW1wYWlnbi5pZH0gfSwKICAgCiAgICBwcm9ncmVzc2FsbDogZnVuY3Rpb24oZSxkYXRhKSB7CiAgICAgIC8vIG92ZXJhbGwgcHJvZ3Jlc3MgY2FsbGJhY2sKICAgICAgdmFyIHBlcmMgPSAoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsICogMTAwKS50b0ZpeGVkKDIpOwogICAgICB2YXIgdG90YWwgPSBudWxsOwogICAgICB0b3RhbCA9IChkYXRhLmxvYWRlZCAvIGRhdGEudG90YWwgKiAxMDApLnRvRml4ZWQoMCk7CiAgICAgIHZhciBzdHIgPSBwZXJjICsgJyAlJzsKICAgICAgYmFyVmFsdWUodG90YWwpOwogICAgICBmdW5jdGlvbiBiYXJWYWx1ZSh0b3RhbCkgewogICAgICAgCSQoIiNhdHRhY2hwcm9ncmVzcyIpLnByb2dyZXNzYmFyKHsKICAgICAgICAgIHZhbHVlOiBwYXJzZUludCh0b3RhbCkKICAgICAgICB9KTsKICAgICAgICAkKCIudWktcHJvZ3Jlc3NiYXItdmFsdWUiKS5odG1sKHN0cik7CQkJCQkJCSAgICAKICAgICAgfQogICAgfSwKICAgIAogICAgc3RhcnQ6IGZ1bmN0aW9uKGUsZGF0YSkgewogICAgICAkKCcjYXR0YWNocHJvZ3Jlc3MnKS5zaG93KCk7CiAgICB9LAoKICAgIGRvbmU6IGZ1bmN0aW9uKGUsZGF0YSkgewogICAgICB2YXIgcmVzcCA9IGRhdGEucmVzdWx0LmxtX2F0dGFjaHVwbG9hZDsKICAgICAgdmFyIG5lcnJvcnMgPSAwOwogICAgICB2YXIgZXJyb3Jtc2cgPSAnJzsKICAgICAgZm9yKCBpID0gMDsgaSA8IHJlc3AubGVuZ3RoOyBpKysgKSB7CiAgICAgICAgaWYoIHR5cGVvZiByZXNwW2ldLmVycm9yICE9ICd1bmRlZmluZWQnICYmIHJlc3BbaV0uZXJyb3IgIT0gJycgKSB7CiAgICAgICAgICBuZXJyb3JzKys7CiAgICAgICAgICBlcnJvcm1zZyA9IHJlc3BbaV0ubmFtZSsnOiAnK3Jlc3BbaV0uZXJyb3I7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmKCBuZXJyb3JzID4gMCApIHsKICAgICAgICBpZiggbmVycm9ycyA+IDEgKSBlcnJvcm1zZyA9ICd7JG1vZC0+TGFuZygnZXJyb3JfbXVsdGlwbGVmaWxlcycpfSc7CiAgICAgICAgYWxlcnQoZXJyb3Jtc2cpOwogICAgICB9CiAgICAgIGlmKCBuZXJyb3JzIDwgcmVzcC5sZW5ndGggKSBfcmVmcmVzaEF0dGFjaEdhbGxlcnkoKTsKICAgIH0sCgogICAgc3RvcDogZnVuY3Rpb24oZSxkYXRhKSB7CiAgICAgIC8vIGFqYXggdG8gcmVmcmVzaCB0aGUgZ2FsbGVyeQogICAgICBfcmVmcmVzaEF0dGFjaEdhbGxlcnkoKTsKICAgICAgJCgnI2F0dGFjaHByb2dyZXNzJykuZmFkZU91dCgpOwogICAgfQogICAgCiAgfSk7Cn0pOwo8L3NjcmlwdD4KCjxkaXYgaWQ9ImF0dGFjaHpvbmUiPgogIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19jYW1wYWlnbl9hdHRhY2htZW50cycpfTwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdXBsb2FkJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgaWQ9ImxtX2F0dGFjaHVwbG9hZCIgbmFtZT0ibG1fYXR0YWNodXBsb2FkW10iLz4KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGlkPSJhdHRhY2hwcm9ncmVzcyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48L2Rpdj4KPC9kaXY+eyogI2F0dGFjaHpvbmUgKn0KCjxkaXYgaWQ9ImF0dGFjaGFyZWEiIHN0eWxlPSJtaW4taGVpZ2h0OiA1ZW07Ij48L2Rpdj4KCntjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdpbWFnZXMnfQp7KiBkaXNwbGF5IHRoZSBpbWFnZSBDUlVEIGhlcmUgKn0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBfcmVmcmVzaEltYWdlR2FsbGVyeSgpIHsKICB2YXIgdXJsID0gJ3ttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9lZGl0X2NhbXBhaWduJyBzdWI9J2ltYWdlcycgY2FtcGFpZ249JGNhbXBhaWduLmlkIGpzZnJpZW5kbHk9MX0mc2hvd3RlbXBsYXRlPWZhbHNlJzsKICAkKCcjaW1hZ2VzYXJlYScpLmxvYWQodXJsKTsKfQoKJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICBfcmVmcmVzaEltYWdlR2FsbGVyeSgpOwogICQoJyNsbV9pbWFnZXVwbG9hZCcpLmZpbGV1cGxvYWQoewogICAgZGF0YVR5cGU6ICdqc29uJywKICAgIGRyb3Bab25lOiAkKCcjaW1hZ2V6b25lJyksCiAgICBtYXhDaHVua1NpemU6IDI1NjAwMCwKICAgIGZvcm06IG51bGwsCiAgICB1cmw6ICd7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1MZWFkTWFuYWdlciBhY3Rpb249YWRtaW5fYWpheF91cGxvYWQgbmFtZT0nbG1faW1hZ2V1cGxvYWQnIHR5cGU9J2ltYWdlJyBjYW1wYWlnbj0kY2FtcGFpZ24uaWQganNmcmllbmRseT0xfSZzaG93dGVtcGxhdGU9ZmFsc2UnLAogICAgZm9ybURhdGE6IHsgeyRhY3Rpb25pZH1jYW1wYWlnbjogeyRjYW1wYWlnbi5pZH0gfSwKICAgCiAgICBwcm9ncmVzc2FsbDogZnVuY3Rpb24oZSxkYXRhKSB7CiAgICAgIC8vIG92ZXJhbGwgcHJvZ3Jlc3MgY2FsbGJhY2sKICAgICAgdmFyIHBlcmMgPSAoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsICogMTAwKS50b0ZpeGVkKDIpOwogICAgICB2YXIgdG90YWwgPSBudWxsOwogICAgICB0b3RhbCA9IChkYXRhLmxvYWRlZCAvIGRhdGEudG90YWwgKiAxMDApLnRvRml4ZWQoMCk7CiAgICAgIHZhciBzdHIgPSBwZXJjICsgJyAlJzsKICAgICAgYmFyVmFsdWUodG90YWwpOwogICAgICBmdW5jdGlvbiBiYXJWYWx1ZSh0b3RhbCkgewogICAgICAgCSQoIiNpbWFnZXByb2dyZXNzIikucHJvZ3Jlc3NiYXIoewogICAgICAgICAgdmFsdWU6IHBhcnNlSW50KHRvdGFsKQogICAgICAgIH0pOwogICAgICAgICQoIi51aS1wcm9ncmVzc2Jhci12YWx1ZSIpLmh0bWwoc3RyKTsJCQkJCQkJICAgIAogICAgICB9CiAgICB9LAogICAgCiAgICBzdGFydDogZnVuY3Rpb24oZSxkYXRhKSB7CiAgICAgICQoJyNpbWFnZXByb2dyZXNzJykuc2hvdygpOwogICAgfSwKCiAgICBkb25lOiBmdW5jdGlvbihlLGRhdGEpIHsKICAgICAgdmFyIHJlc3AgPSBkYXRhLnJlc3VsdC5sbV9pbWFnZXVwbG9hZDsKICAgICAgdmFyIG5lcnJvcnMgPSAwOwogICAgICB2YXIgZXJyb3Jtc2cgPSAnJzsKICAgICAgZm9yKCBpID0gMDsgaSA8IHJlc3AubGVuZ3RoOyBpKysgKSB7CiAgICAgICAgaWYoIHR5cGVvZiByZXNwW2ldLmVycm9yICE9ICd1bmRlZmluZWQnICYmIHJlc3BbaV0uZXJyb3IgIT0gJycgKSB7CiAgICAgICAgICBuZXJyb3JzKys7CiAgICAgICAgICBlcnJvcm1zZyA9IHJlc3BbaV0ubmFtZSsnOiAnK3Jlc3BbaV0uZXJyb3I7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmKCBuZXJyb3JzID4gMCApIHsKICAgICAgICBpZiggbmVycm9ycyA+IDEgKSBlcnJvcm1zZyA9ICd7JG1vZC0+TGFuZygnZXJyb3JfbXVsdGlwbGVmaWxlcycpfSc7CiAgICAgICAgYWxlcnQoZXJyb3Jtc2cpOwogICAgICB9CiAgICAgIGlmKCBuZXJyb3JzIDwgcmVzcC5sZW5ndGggKSBfcmVmcmVzaEltYWdlR2FsbGVyeSgpOwogICAgfSwKCiAgICBzdG9wOiBmdW5jdGlvbihlLGRhdGEpIHsKICAgICAgLy8gYWpheCB0byByZWZyZXNoIHRoZSBnYWxsZXJ5CiAgICAgIF9yZWZyZXNoSW1hZ2VHYWxsZXJ5KCk7CiAgICAgICQoJyNpbWFnZXByb2dyZXNzJykuZmFkZU91dCgpOwogICAgfQogICAgCiAgfSk7Cn0pOwo8L3NjcmlwdD4KCjxkaXYgaWQ9ImltYWdlem9uZSI+CiAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX2NhbXBhaWduX2ltYWdlcycpfTwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdXBsb2FkJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgaWQ9ImxtX2ltYWdldXBsb2FkIiBuYW1lPSJsbV9pbWFnZXVwbG9hZFtdIi8+CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBpZD0iaW1hZ2Vwcm9ncmVzcyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48L2Rpdj4KPC9kaXY+eyogI2ltYWdlem9uZSAqfQoKPGRpdiBpZD0iaW1hZ2VzYXJlYSIgc3R5bGU9Im1pbi1oZWlnaHQ6IDVlbTsiPjwvZGl2PgoKe2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2FkdmFuY2VkJ30KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2RpcmVjdHVybCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgeyR1cmw9JGNhbXBhaWduLT5nZXRfZm9ybV91cmwoKX0KICAgICAgPGEgaHJlZj0ieyR1cmx9Ij57JHVybH08L2E+CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdleHRlcm5hbF91cmwnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWV4dGVybmFsX3VybCIgdmFsdWU9InskY2FtcGFpZ24uZXh0ZXJuYWxfdXJsfSIgc2l6ZT0iODAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH10ZW1wbGF0ZSI+e2h0bWxfb3B0aW9ucyBvcHRpb25zPSRmb3JtX3RlbXBsYXRlcyBzZWxlY3RlZD0kY2FtcGFpZ24udGVtcGxhdGV9PC9zZWxlY3Q+CiAgICA8L3A+CiAgPC9kaXY+Cgp7L2lmfQoKe2NnZV9lbmRfdGFic30KeyRmb3JtX2VuZH0KCg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_campaign_attachments.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc3ViIHRlbXBsYXRlIHRvIGRpc3BsYXkgY2FtcGFpZ24gYXR0YWNobWVudHMgKn0Ke2lmIGNvdW50KCRjYW1wYWlnbi5hdHRhY2htZW50cykgPiAwfQo8dWw+CiAge2ZvcmVhY2ggJGNhbXBhaWduLmF0dGFjaG1lbnRzIGFzICRmaWxlfQogIDxsaSBpZD0iY2FtcGFpZ25maWxlX3skZmlsZUBpbmRleH0iIGNsYXNzPSJmaWxlX2VudHJ5Ij4KICAgIHsqIHRvZG8sIGRpc3BsYXkgYSBwZGYgaWNvbiBoZXJlICp9CiAgICB7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fZWRpdF9jYW1wYWlnbicgY2FtcGFpZ249JGNhbXBhaWduLmlkIHN1Yj0nZGVsZXRlYXR0YWNoJyBmaWxlPSRmaWxlIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgaW1hZ2Vvbmx5PTEgdGV4dD0kbW9kLT5MYW5nKCdwcm9tcHRfZGVsZXRlJyl9CiAgICA8c3Bhbj57JGZpbGV9PC9zcGFuPgogIDwvbGk+CiAgey9mb3JlYWNofQo8L3VsPgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_campaign_images.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc3ViIHRlbXBsYXRlIHRvIGRpc3BsYXkgY2FtcGFpZ24gaW1hZ2VzICp9CntpZiBjb3VudCgkY2FtcGFpZ24uaW1hZ2VzKSA+IDB9Cjx1bD4KICB7Zm9yZWFjaCAkY2FtcGFpZ24uaW1hZ2VzIGFzICRmaWxlfQogIDxsaSBpZD0iY2FtcGFpZ25maWxlX3skZmlsZUBpbmRleH0iIGNsYXNzPSJmaWxlX2VudHJ5Ij4KICAgIDxpbWcgc3JjPSJ7JGltYWdlc191cmx9L3skZmlsZX0iIGFsdD0ieyRmaWxlfSIvPgogICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2FkbWluX2VkaXRfY2FtcGFpZ24nIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBzdWI9J2RlbGV0ZScgZmlsZT0kZmlsZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGltYWdlb25seT0xIHRleHQ9JG1vZC0+TGFuZygncHJvbXB0X2RlbGV0ZScpfQogICAgPHNwYW4+eyRmaWxlfTwvc3Bhbj4KICA8L2xpPgogIHsvZm9yZWFjaH0KPC91bD4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_field.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNmaWVsZHR5cGUnKS5jaGFuZ2UoZnVuY3Rpb24oKXsKICAgIHZhciB2ID0gJCh0aGlzKS52YWwoKTsKICAgIGlmKCB2ID09ICdkcm9wZG93bicgfHwgdiA9PSAnbXVsdGlzZWwnICkgewogICAgICAkKCcjc2VjdGlvbl9vcHRpb25zJykuc2hvdygpOwogICAgfSBlbHNlIHsKICAgICAgJCgnLnN0YXJ0b2ZmJykuaGlkZSgpOwogICAgfQogICAgaWYoIHBhcnNlSW50KHYpID4gMCApIHsKICAgICAgLy8gZ2V0IHRoZSBkYXRhIGZvciB0aGlzIGV4dGVuZGVkIGZpZWxkIHR5cGUKICAgICAgJC5hamF4KHsKICAgICAgICB1cmw6ICd7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fYWpheF9nZXRfZmllbGR0eXBlJyBqc2ZyaWVuZGx5PTF9JnNob3d0ZW1wbGF0ZT1mYWxzZScsCiAgICAgICAgZGF0YVR5cGU6ICdqc29uJywKICAgICAgICBkYXRhOiAneyRhY3Rpb25pZH10eXBlaWQ9Jyt2LAogICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKCBkYXRhLCB0ZXh0U3RhdHVzLCBqcVhIUiApIHsKICAgICAgICAgIGlmKCB0eXBlb2YgZGF0YSA9PSAnb2JqZWN0JyApIHsKICAgICAgICAgICAgJCgnI25hbWVmbGQnKS52YWwoZGF0YS5uYW1lKTsKICAgICAgICAgICAgJCgnI3Byb21wdGZsZCcpLnZhbChkYXRhLnByb21wdCk7CgkgICAgLy8gZm9yIGRyb3Bkb3duL211bHRpc2VsZWN0IGZpZWxkIHdlIGRpc3BsYXkgdGhlIG9wdGlvbnMgZmllbGQKCSAgICAvLyBidXQgZW1wdHkuLi4gb3ZlcnJpZGluZwogICAgICAgICAgICBpZiggZGF0YS5iYXNldHlwZSA9PSAnZHJvcGRvd24nIHx8IGRhdGEuYmFzZXR5cGUgPT0gJ211bHRpc2VsJyApIHsKICAgICAgICAgICAgICAkKCcjc2VjdGlvbl9vcHRpb25zJykuc2hvdygpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICQoJyNzZWN0aW9uX29wdGlvbnMnKS5oaWRlKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfQogIH0pOwogICQoJyNmaWVsZHR5cGUnKS50cmlnZ2VyKCdjaGFuZ2UnKTsKfSk7Cjwvc2NyaXB0PgoKPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfY2FtcGFpZ24nKX06IHskY2FtcGFpZ24ubmFtZX08L2gzPgp7aWYgJGZpZWxkLmlkIDwgMX0KPGg0PnskbW9kLT5MYW5nKCdwcm9tcHRfYWRkX2ZpZWxkJyl9PC9oND4Ke2Vsc2V9CjxoND57JG1vZC0+TGFuZygncHJvbXB0X2VkaXRfZmllbGQnKX06IHskZmllbGQubmFtZX08L2g0Pgp7L2lmfQoKeyRmb3JtX3N0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibmFtZWZsZCIgbmFtZT0ieyRhY3Rpb25pZH1uYW1lIiB2YWx1ZT0ieyRmaWVsZC5uYW1lfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iNTAiLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fZmllbGRfbmFtZScpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Byb21wdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InByb21wdGZsZCIgIG5hbWU9InskYWN0aW9uaWR9cHJvbXB0IiB2YWx1ZT0ieyRmaWVsZC5wcm9tcHR9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSI1MCIvPgogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19maWVsZF9wcm9tcHQnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90eXBlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgaWQ9ImZpZWxkdHlwZSIgbmFtZT0ieyRhY3Rpb25pZH10eXBlIj57aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkdHlwZXMgc2VsZWN0ZWQ9JGZpZWxkLnR5cGV9PC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfcmVxdWlyZWQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBpZD0iZmllbGRyZXF1aXJlZCIgbmFtZT0ieyRhY3Rpb25pZH1yZXF1aXJlZCI+e2NnZV95ZXNub19vcHRpb25zIHNlbGVjdGVkPSRmaWVsZC5yZXF1aXJlZH08L3NlbGVjdD4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fcmVxdWlyZWQnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGlkPSJzZWN0aW9uX29wdGlvbnMiIGNsYXNzPSJwYWdlb3ZlcmZsb3cgc3RhcnRvZmYiPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9vcHRpb250ZXh0Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskbW9kLT5MYW5nKCdpbmZvX29wdGlvbnRleHQyJyl9PGJyLz4KICAgIDx0ZXh0YXJlYSBpZD0ib3B0aW9udGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1vcHRpb250ZXh0Ij57JGZpZWxkLm9wdGlvbnRleHR9PC90ZXh0YXJlYT4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fb3B0aW9udGV4dCcpfQogIDwvcD4KPC9kaXY+CnskZm9ybV9lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_fieldtype.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNiYXNldHlwZScpLmNoYW5nZShmdW5jdGlvbigpewogICAgJCgnLnN0YXJ0b2ZmJykuaGlkZSgpOwogICAgdmFyIHYgPSAkKHRoaXMpLnZhbCgpOwogICAgaWYoIHYgPT0gJ2Ryb3Bkb3duJyB8fCB2ID09ICdtdWx0aXNlbCcgKSAkKCcub3B0aW9ucycpLnNob3coJ3Nsb3cnKTsKICB9KTsKICAkKCcjYmFzZXR5cGUnKS50cmlnZ2VyKCdjaGFuZ2UnKTsKfSk7Cjwvc2NyaXB0PgoKe2lmICRmaWVsZHR5cGUuaWQgPiAwfQo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF9lZGl0X2ZpZWxkdHlwZScpfTogPGVtPih7JGZpZWxkdHlwZS5uYW1lfSk8L2VtPjwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF9hZGRfZmllbGR0eXBlJyl9PC9oMz4Key9pZn0KCnskZm9ybV9zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1uYW1lIiB2YWx1ZT0ieyRmaWVsZHR5cGUubmFtZX0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjUwIi8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfcHJvbXB0Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXByb21wdCIgdmFsdWU9InskZmllbGR0eXBlLnByb21wdH0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjUwIi8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYmFzZXR5cGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBpZD0iYmFzZXR5cGUiIG5hbWU9InskYWN0aW9uaWR9YmFzZXR5cGUiPntodG1sX29wdGlvbnMgb3B0aW9ucz0kYmFzZXR5cGVzIHNlbGVjdGVkPSRmaWVsZHR5cGUuYmFzZXR5cGV9PC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHN0YXJ0b2ZmIG9wdGlvbnMiPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9vcHRpb250ZXh0Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4gCiAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1vcHRpb250ZXh0IiByb3dzPSI1Ij57JGZpZWxkdHlwZS5vcHRpb250ZXh0fTwvdGV4dGFyZWE+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_fieldtypes_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX2ZpZWxkdHlwZXMnKX08L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4Ke21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2FkbWluX2VkaXRfZmllbGR0eXBlJyBpbWFnZT0naWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnIHRleHQ9JG1vZC0+TGFuZygncHJvbXB0X2FkZF9maWVsZHR5cGUnKX0KPC9kaXY+Cgp7aWYgaXNzZXQoJGZpZWxkdHlwZXMpfQogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2lkJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF90eXBlJyl9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57KiBlZGl0ICp9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57KiBkZWxldGUgKn08L3RoPgogICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keT4KICAgIHtmb3JlYWNoICRmaWVsZHR5cGVzIGFzICR0eXBlfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj1hZG1pbl9lZGl0X2ZpZWxkdHlwZSB0eXBlaWQ9JHR5cGUuaWQgdXJsb25seT0xIGFzc2lnbj1lZGl0X3VybH0KICAgICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249YWRtaW5fZGVsZXRlX2ZpZWxkdHlwZSB0eXBlaWQ9JHR5cGUuaWQgdXJsb25seT0xIGFzc2lnbj1kZWxldGVfdXJsfQogICAgICA8dHI+CiAgICAgICAgPHRkPnskdHlwZS5pZH08L3RkPgogICAgICAgIDx0ZD48YSBocmVmPSJ7JGVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdwcm9tcHRfZWRpdCcpfSI+eyR0eXBlLm5hbWV9PC9hPjwvdGQ+CiAgICAgICAgPHRkPnskdG1wPSR0eXBlLmJhc2V0eXBlfXskYmFzZXR5cGVzLiR0bXB9PC90ZD4KICAgICAgICA8dGQ+PGEgaHJlZj0ieyRlZGl0X3VybH0iPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGFsdD0ieyRtb2QtPkxhbmcoJ3Byb21wdF9lZGl0Jyl9In08L2E+PC90ZD4KICAgICAgICA8dGQ+PGEgaHJlZj0ieyRkZWxldGVfdXJsfSI+e2NnaW1hZ2UgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBhbHQ9InskbW9kLT5MYW5nKCdwcm9tcHRfZGVsZXRlJyl9In08L2E+PC90ZD4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_settings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByZWZfdXJscHJlZml4Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXVybHByZWZpeCIgdmFsdWU9InskdXJscHJlZml4fSIgc2l6ZT0iMjAiLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fcHJlZl91cmxwcmVmaXgnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByZWZfY2FtcGFpZ25wYWdlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbXBhaWducGFnZSIgdmFsdWU9InskY2FtcGFpZ25wYWdlfSIgc2l6ZT0iMjAiLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fcHJlZl9jYW1wYWlnbnBhZ2UnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByZWZfbm9sb2dpbl9yZWRpcmVjdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1ub2xvZ2luX3JlZGlyZWN0IiB2YWx1ZT0ieyRub2xvZ2luX3JlZGlyZWN0fSIgc2l6ZT0iMjAiLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fcHJlZl9ub2xvZ2luX3JlZGlyZWN0Jyl9CiAgPC9wPgo8L2Rpdj4KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb21wdF9ub3RpZnlsZWFkcycpfTo8L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+eyRtb2QtPkxhbmcoJ2luZm9fbm90aWZ5bGVhZHMnKX08L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJlZl9ub3RpZnlsZWFkcycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1ub3RpZnlsZWFkcyBzZWxlY3RlZD0kbm90aWZ5bGVhZHN9CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByZWZfbm90aWZ5bGVhZHNfc3ViamVjdCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bm90aWZ5bGVhZHNfc3ViamVjdCIgdmFsdWU9Inskbm90aWZ5bGVhZHNfc3ViamVjdH0iIHNpemU9IjgwIi8+CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByZWZfbm90aWZ5bGVhZHNfYm9keXRwbCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9bm90aWZ5bGVhZHNfYm9keXRwbCI+eyRub3RpZnlsZWFkc19ib2R5dHBsfTwvdGV4dGFyZWE+CiAgICAgIDxici8+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1ub3RpZnlsZWFkc19yZXNldCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldCcpfSIvPgogICAgPC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0Pgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X2xlYWRjb25maXJtJyl9OjwvbGVnZW5kPgogIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19sZWFkY29uZmlybScpfTwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcmVmX2xlYWRjb25maXJtJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWxlYWRjb25maXJtIHNlbGVjdGVkPSRsZWFkY29uZmlybX0KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJlZl9sZWFkY29uZmlybV9zdWJqZWN0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1sZWFkY29uZmlybV9zdWJqZWN0IiB2YWx1ZT0ieyRsZWFkY29uZmlybV9zdWJqZWN0fSIgc2l6ZT0iODAiLz4KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJlZl9sZWFkY29uZmlybV9ib2R5dHBsJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1sZWFkY29uZmlybV9ib2R5dHBsIj57JGxlYWRjb25maXJtX2JvZHl0cGx9PC90ZXh0YXJlYT4KICAgICAgPGJyLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWxlYWRjb25maXJtX3Jlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ii8+CiAgICA8L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfc2VjdXJpdHknKX06PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByZWZfZmxvb2RfdGltZW91dCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Zmxvb2RfdGltZW91dCIgc2l6ZT0iMyIgdmFsdWU9InskZmxvb2RfdGltZW91dH0iLz4KICAgICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19mbG9vZF90aW1lb3V0Jyl9CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByZWZfYmxvY2tlZF91c2VyYWdlbnRzJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1ibG9ja2VkX3VzZXJhZ2VudHMiPnskYmxvY2tlZF91c2VyYWdlbnRzfTwvdGV4dGFyZWE+CiAgICAgIDxici8+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH11c2VyYWdlbnRzX3Jlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ii8+CiAgICA8L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_view_lead.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCd0aXRsZV92aWV3aW5nX2xlYWQnKX06IHskY2FtcGFpZ24ubmFtZX08L2gzPgoKPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX3ZpZXdfbGVhZCcpfTwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgp7aWYgJGxlYWQuc3RhdHVzICE9ICdpbmNvbXBsZXRlJyAmJiAhJGxlYWQudmlld2VkfQp7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fcmVub3RpZnlfbGVhZCcgaW1hZ2U9J2VtYWlsLmdpZicgY2FtcGFpZ249JGNhbXBhaWduLmlkIGxlYWQ9JGxlYWQuaWQgdGV4dD0kbW9kLT5MYW5nKCdwcm9tcHRfbm90aWZ5X2xlYWQnKX0gIAp7L2lmfQp7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fZGVsZXRlX2xlYWQnIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgY2FtcGFpZ249JGNhbXBhaWduLmlkIGxlYWQ9JGxlYWQuaWQgdGV4dD0kbW9kLT5MYW5nKCdwcm9tcHRfZGVsZXRlX2xlYWQnKX0gIAp7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fYmxvY2tfdWEnIGltYWdlPSdibG9jay5naWYnIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBsZWFkPSRsZWFkLmlkIHRleHQ9JG1vZC0+TGFuZygncHJvbXB0X2Jsb2NrX3VzZXJhZ2VudCcpfSAgCjwvZGl2PgoKPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsiPgogIDx0cj4KICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2NyZWF0ZWQnKX08L3RoPgogICAgPHRkPnskbGVhZC5jcmVhdGVkfGRhdGVfZm9ybWF0OicleCAlWCd9PC90ZD4KICA8L3RyPgogIHtpZiAkbGVhZC5tb2RpZmllZCAhPSAkbGVhZC5jcmVhdGVkfQogIDx0cj4KICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X21vZGlmaWVkJyl9PC90aD4KICAgIDx0ZD57JGxlYWQubW9kaWZpZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3RkPgogIDwvdHI+CiAgey9pZn0KICA8dHI+CiAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9zdGF0dXMnKX08L3RoPgogICAgPHRkPnskdG1wPSdzdGF0dXNfJ3xjYXQ6JGxlYWQuc3RhdHVzfXskbW9kLT5MYW5nKCR0bXApfTwvdGQ+CiAgPC90cj4KICB7Zm9yZWFjaCAkbGVhZC0+ZmllbGRfbGlzdCgpIGFzICRuYW1lfQogIDx0cj4KICAgIDx0aD57JG5hbWV9PC90aD4KICAgIDx0ZD57JGxlYWQtPmZpZWxkX2dldCgkbmFtZSl9PC90ZD4KICA8L3RyPgogIHsvZm9yZWFjaH0KPC90YWJsZT4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxhIGhyZWY9InskYmFja191cmx9Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2JhY2suZ2lmJyBhbHQ9JG1vZC0+TGFuZygnYmFjaycpfSB7JG1vZC0+TGFuZygncHJvbXB0X2dvYmFjaycpfTwvYT4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_view_leads.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfdmlld19sZWFkcycpfTogeyRjYW1wYWlnbi5uYW1lfSA8ZW0+KHskY2FtcGFpZ24uaWR9KTwvZW0+PC9oMz4KCntpZiAhY291bnQoJGxlYWRzKX0KPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdtc2dfbm9fbGVhZHMnKX08L2Rpdj4Ke2Vsc2V9CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KeyRtb2QtPkxhbmcoJ2luZm9fY29tcGxldGVjb3VudCcsJGNhbXBhaWduLmNvbXBsZXRlY291bnQpfSwgIHskbW9kLT5MYW5nKCdpbmZvX3Vudmlld2VkY291bnQnLCRjYW1wYWlnbi51bnZpZXdlZGNvdW50KX0KPC9kaXY+Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2lkJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfZW1haWwnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9jcmVhdGVkJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhdHVzJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfdmlld2VkJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogdmlldyBkZXRhaWxzICp9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogbm90aWZ5IGFnYWluICp9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZGVsZXRlICp9PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAgICB7Zm9yZWFjaCAkbGVhZHMgYXMgJGxlYWR9CiAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl92aWV3X2xlYWQnIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBsZWFkPSRsZWFkLmlkIHVybG9ubHk9MSBhc3NpZ249J3ZpZXdfdXJsJ30KICAgICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2FkbWluX3Jlbm90aWZ5X2xlYWQnIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBsZWFkPSRsZWFkLmlkIHVybG9ubHk9MSBhc3NpZ249J25vdGlmeV91cmwnfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fZGVsZXRlX2xlYWQnIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBsZWFkPSRsZWFkLmlkIHVybG9ubHk9MSBhc3NpZ249J2RlbGV0ZV91cmwnfQogICAgICA8dHI+CiAgICAgICAgPHRkPnskbGVhZC5pZH08L3RkPgogICAgICAgIDx0ZD57JGxlYWQuZW1haWx9PC90ZD4KICAgICAgICA8dGQ+eyRsZWFkLmNyZWF0ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3RkPgogICAgICAgIDx0ZD57JHRtcD0nc3RhdHVzXyd8Y2F0OiRsZWFkLnN0YXR1c317JG1vZC0+TGFuZygkdG1wKX08L3RkPgogICAgICAgIDx0ZD57aWYgJGxlYWQudmlld2VkfXskbGVhZC52aWV3ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ317L2lmfTwvdGQ+CiAgICAgICAgPHRkPjxhIGhyZWY9Inskdmlld191cmx9Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL3ZpZXcuZ2lmJyBhbHQ9InskbW9kLT5MYW5nKCdwcm9tcHRfdmlld19sZWFkJyl9In08L2E+PC90ZD4KICAgICAgICA8dGQ+e2lmICRsZWFkLnN0YXR1cyA9PSAnY29tcGxldGUnICYmICEkbGVhZC52aWV3ZWR9PGEgaHJlZj0ieyRub3RpZnlfdXJsfSI+e2NnaW1hZ2UgaW1hZ2U9J2VtYWlsLmdpZicgYWx0PSJ7JG1vZC0+TGFuZygncHJvbXB0X25vdGlmeV9sZWFkJyl9In17L2lmfTwvYT48L3RkPgogICAgICAgIDx0ZD48YSBocmVmPSJ7JGRlbGV0ZV91cmx9Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0ieyRtb2QtPkxhbmcoJ3Byb21wdF9kZWxldGVfbGVhZCcpfSJ9PC9hPjwvdGQ+CiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxhIGhyZWY9InskYmFja191cmx9Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2JhY2suZ2lmJyBhbHQ9JG1vZC0+TGFuZygnYmFjaycpfSB7JG1vZC0+TGFuZygncHJvbXB0X2dvYmFjaycpfTwvYT4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_campaignlist_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2FtcGFpZ24gbGlzdCB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJGVycm9yKX0KICA8cCBjbGFzcz0icm93IGVycm9yIj57JGVycm9yfTwvcD4Ke2Vsc2VpZiBpc3NldCgkY2FtcGFpZ25saXN0KX0KICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyI+CiAgICA8dGhlYWQ+CiAgICAgIDx0cj4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9pZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfbmFtZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfa2V5d29yZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhcnRkYXRlJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbmRkYXRlJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9zdGF0aXN0aWNzJyl9PC90aD4KICAgICAgICA8dGg+eyogdmlldyBidXR0b24gKn08L3RoPgogICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keT4KICAgIHtpZiAkcGFnaW5hdGlvbi5wYWdlY291bnQgPiAxfQogICAgPGRpdiBjbGFzcz0icm93IHBhZ2luYXRpb24iPgogICAgICB7KiBiZWNhdXNlIHRoZSBjYW1wYWlnbiBsaXN0IGlzIHNvcnRlZCBieSBkZXNjZW5kaW5nIGVuZCBkYXRlIHRoZSBsYXRlc3QgaXRlbXMgYXJlIHNob3duIGZpcnN0LCB0aGVyZWZvcmUgdGhlIHBhZ2luYXRpb24KICAgICAgICAgbGlua3MgaGVyZSBhcmUgcmV2ZXJzZSB0byB0aGUgbm9ybWFsIHNlcXVlbmNlICp9CiAgICAgIHtpZiAkcGFnaW5hdGlvbi5wYWdlIDwgJHBhZ2luYXRpb24ucGFnZWNvdW50fQogICAgICAgIDxhIGhyZWY9InskcGFnaW5hdGlvbi0+Z2V0X2xhc3RwYWdlX3VybCgpfSI+Jmx0OyZsdDs8L2E+Jm5ic3A7CiAgICAgICAgPGEgaHJlZj0ieyRwYWdpbmF0aW9uLT5nZXRfbmV4dHBhZ2VfdXJsKCl9Ij4mbHQ7PC9hPiZuYnNwOwogICAgICB7L2lmfQogICAgICB7JG1vZC0+TGFuZygncHJvbXB0X3BhZ2UnKX0geyRwYWdpbmF0aW9uLnBhZ2Vjb3VudCAtICRwYWdpbmF0aW9uLnBhZ2UgKyAxfSB7JG1vZC0+TGFuZygncHJvbXB0X29mJyl9IHskcGFnaW5hdGlvbi5wYWdlY291bnR9Jm5ic3A7CiAgICAgIHtpZiAkcGFnaW5hdGlvbi5wYWdlID4gMX0KICAgICAgICA8YSBocmVmPSJ7JHBhZ2luYXRpb24tPmdldF9wcmV2cGFnZV91cmwoKX0iPiZndDs8L2E+Jm5ic3A7CiAgICAgICAgPGEgaHJlZj0ieyRwYWdpbmF0aW9uLT5nZXRfZmlyc3RwYWdlX3VybCgpfSI+Jmd0OyZndDs8L2E+CiAgICAgIHsvaWZ9CiAgICA8L2Rpdj4KICAgIHsvaWZ9CiAgICB7Zm9yZWFjaCAkY2FtcGFpZ25saXN0IGFzICRjYW1wYWlnbn0KICAgICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J3ZpZXdfY2FtcGFpZ24nIGNhbXBhaWduPSRjYW1wYWlnbi5pZCB1cmxvbmx5PTEgYXNzaWduPSd2aWV3X3VybCd9CiAgICAgIDx0cj4KICAgICAgICA8dGQ+eyRjYW1wYWlnbi5pZH08L3RkPgogICAgICAgIDx0ZD57JGNhbXBhaWduLm5hbWV9PC90ZD4KICAgICAgICA8dGQ+eyRjYW1wYWlnbi5rZXl3b3JkfTwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAge2lmICRjYW1wYWlnbi5zdGFydF9kYXRlID4gJHNtYXJ0eS5ub3d9CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+eyRjYW1wYWlnbi5zdGFydF9kYXRlfGRhdGVfZm9ybWF0OicleCd9PC9zcGFuPgogICAgICAgICAge2Vsc2V9CiAgICAgICAgICAgIHskY2FtcGFpZ24uc3RhcnRfZGF0ZXxkYXRlX2Zvcm1hdDonJXgnfQogICAgICAgICAgey9pZn0KICAgICAgICA8dGQ+CiAgICAgICAgICB7aWYgJGNhbXBhaWduLmVuZF9kYXRlIDwgJHNtYXJ0eS5ub3d9CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+eyRjYW1wYWlnbi5lbmRfZGF0ZXxkYXRlX2Zvcm1hdDonJXgnfTwvc3Bhbj4KICAgICAgICAgIHtlbHNlfQogICAgICAgICAgICB7JGNhbXBhaWduLmVuZF9kYXRlfGRhdGVfZm9ybWF0OicleCd9CiAgICAgICAgICB7L2lmfQogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAgIDxzcGFuIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfbGVhZGNvdW50Jyl9Ij57JGNhbXBhaWduLmxlYWRjb3VudH08L3NwYW4+IC8gCiAgICAgICAgICAgPHNwYW4gdGl0bGU9InskbW9kLT5MYW5nKCd0aXRsZV9jb21wbGV0ZWNvdW50Jyl9Ij57JGNhbXBhaWduLmNvbXBsZXRlY291bnR9PC9zcGFuPiAvIAogICAgICAgICAgIDxzcGFuIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfdW52aWV3ZWRjb3VudCcpfSIgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGNhbXBhaWduLnVudmlld2VkY291bnR9PC9zcGFuPgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPjxhIGhyZWY9Inskdmlld191cmx9Ij57Y2dpbWFnZSBpbWFnZT0ndmlldy5naWYnIGFsdD0kbW9kLT5MYW5nKCdwcm9tcHRfdmlld19jYW1wYWlnbicpfTwvdGQ+CiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_dashboard_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGFzaGJvYXJkIHRlbXBsYXRlICp9Cgp7aWYgaXNzZXQoJGVycm9yKX0KICA8ZGl2IGNsYXNzPSJlcnJvciI+eyRtb2QtPkxhbmcoJ2Vycm9yX25vY29tcGFuaWVzJyl9PC9kaXY+CntlbHNlfQogIHtpZiAhaXNzZXQoJGNhbXBhaWducyl9CiAgICA8ZGl2IGNsYXNzPSJlcnJvciI+eyRtb2QtPkxhbmcoJ2Vycm9yX25vY2FtcGFpZ25zJyl9PC9kaXY+CiAge2Vsc2V9CiAgICAgeyogZGlzcGxheSB1bnZpZXdlZCBsZWFkcyBpZiBhbnkgKn0KICAgICB7aWYgaXNzZXQoJHVudmlld2VkX2xlYWRzKX0KICAgICAgIDxoND57JG1vZC0+TGFuZygnaGVhZGluZ191bnZpZXdlZF9sZWFkcycpfTwvaDQ+CiAgICAgICA8cD57JG1vZC0+TGFuZygnaW5mb191bnZpZXdlZF9sZWFkcycsJHRvdGFsX3Vudmlld2VkX2xlYWRzKX08L3A+CiAgICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyI+CiAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9pZCcpfTwvdGg+CiAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYW1wYWlnbicpfTwvdGg+CiAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbWFpbCcpfTwvdGg+CiAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9zdGF0dXMnKX08L3RoPgogICAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfY3JlYXRlZCcpfTwvdGg+CiAgICAgICAgICAgICA8dGggY2xhc3M9Imljb24iPnsqIHZpZXcgbGluayAqfTwvdGg+CiAgICAgICAgICAgPC90cj4KICAgICAgICAgPC90aGVhZD4KICAgICAgICAgPHRib2R5PgogICAgICAgICB7Zm9yZWFjaCAkdW52aWV3ZWRfbGVhZHMgYXMgJGxlYWR9CiAgICAgICAgICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J3ZpZXdfY2FtcGFpZ24nIGNhbXBhaWduPSRsZWFkLmNhbXBhaWduIHVybG9ubHk9MSBhc3NpZ249J3ZpZXdfdXJsJ30KICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICA8dGQ+eyRsZWFkLmlkfTwvdGQ+CiAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0ieyR2aWV3X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygncHJvbXB0X3ZpZXdfY2FtcGFpZ24nKX0iPnskdG1wPSRsZWFkLmNhbXBhaWdufXskY2FtcGFpZ25zWyR0bXBdLm5hbWV8Y21zX2VzY2FwZX08L2E+PC90ZD4gCiAgICAgICAgICAgICA8dGQ+eyRsZWFkLmVtYWlsfTwvdGQ+CiAgICAgICAgICAgICA8dGQ+eyR0bXA9J3N0YXR1c18nfGNhdDokbGVhZC5zdGF0dXN9eyRtb2QtPkxhbmcoJHRtcCl9PC90ZD4KICAgICAgICAgICAgIDx0ZD57JGxlYWQuY3JlYXRlZHxkYXRlX2Zvcm1hdDonJXggJVgnfTwvdGQ+CiAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0ie21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J3ZpZXdfbGVhZCcgY2FtcGFpZ249JGxlYWQuY2FtcGFpZ24gbGVhZD0kbGVhZC5pZCB1cmxvbmx5PTF9Ij57Y2dpbWFnZSBpbWFnZT0ndmlldy5naWYnIGFsdD0kbW9kLT5MYW5nKCdwcm9tcHRfdmlld19sZWFkJyl9PC9hPjwvdGQ+CiAgICAgICAgICAgPC90cj4KICAgICAgICAgey9mb3JlYWNofQogICAgICAgICA8L3Rib2R5PgogICAgICAgPC90YWJsZT4gCiAgICAgey9pZn0KCiAgICAgeyogZGlzcGxheSBhY3RpdmUgY2FtcGFpZ24gbGlzdCAqfQogICAgIDxoND57JG1vZC0+TGFuZygnaGVhZGluZ19hY3RpdmVfY2FtcGFpZ25zJyl9PC9oND4KICAgICA8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyI+CiAgICAgICA8dGhlYWQ+CiAgICAgICAgIDx0cj4KICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9pZCcpfTwvdGg+CiAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfbmFtZScpfTwvdGg+CiAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfa2V5d29yZCcpfTwvdGg+CiAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfY29tcGFueScpfTwvdGg+CiAgICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhcnRkYXRlJyl9PC90aD4KICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbmRkYXRlJyl9PC90aD4KICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9zdGF0aXN0aWNzJyl9PC90aD4KICAgICAgICAgICA8dGggY2xhc3M9Imljb24iPnsqIHZpZXcgaWNvbiAqfTwvdGg+CiAgICAgICAgIDwvdHI+CiAgICAgICA8L3RoZWFkPgogICAgICAgPHRib2R5PgogICAgICAge2ZvcmVhY2ggJGNhbXBhaWducyBhcyAkY2FtcGFpZ259CiAgICAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSd2aWV3X2NhbXBhaWduJyBjYW1wYWlnbj0kY2FtcGFpZ24uaWQgdXJsb25seT0xIGFzc2lnbj0ndmlld191cmwnfQogICAgICAgICB7JGNvbXBpZD0kY2FtcGFpZ24uY29tcGFueV9pZH17JGNvbXBhbnk9JGNvbXBhbmllc1skY29tcGlkXX0KICAgICAgICAgPHRyPgogICAgICAgICAgIDx0ZD57JGNhbXBhaWduLmlkfTwvdGQ+CiAgICAgICAgICAgPHRkPjxhIGhyZWY9Inskdmlld191cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3Byb21wdF92aWV3X2NhbXBhaWduJyl9Ij57JGNhbXBhaWduLm5hbWV8Y21zX2VzY2FwZX08L2E+PC90ZD4KICAgICAgICAgICA8dGQ+eyRjYW1wYWlnbi5rZXl3b3JkfGNtc19lc2NhcGV9PC90ZD4KICAgICAgICAgICA8dGQ+eyRjb21wYW55LT5jb21wYW55X25hbWV8Y21zX2VzY2FwZX08L3RkPgogICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgIHtpZiAkY2FtcGFpZ24uc3RhcnRfZGF0ZSA+ICRzbWFydHkubm93fQogICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPnskY2FtcGFpZ24uc3RhcnRfZGF0ZXxkYXRlX2Zvcm1hdDonJXgnfTwvc3Bhbj4KICAgICAgICAgICAgIHtlbHNlfQogICAgICAgICAgICAgICB7JGNhbXBhaWduLnN0YXJ0X2RhdGV8ZGF0ZV9mb3JtYXQ6JyV4J30KICAgICAgICAgICAgIHsvaWZ9CiAgICAgICAgICAgPC90ZD4KICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICB7aWYgJGNhbXBhaWduLmVuZF9kYXRlIDwgJHNtYXJ0eS5ub3d9CiAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+eyRjYW1wYWlnbi5lbmRfZGF0ZXxkYXRlX2Zvcm1hdDonJXgnfTwvc3Bhbj4KICAgICAgICAgICAgIHtlbHNlfQogICAgICAgICAgICAgICB7JGNhbXBhaWduLmVuZF9kYXRlfGRhdGVfZm9ybWF0OicleCd9CiAgICAgICAgICAgICB7L2lmfQogICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPHNwYW4gdGl0bGU9InskbW9kLT5MYW5nKCd0aXRsZV9sZWFkY291bnQnKX0iPnskY2FtcGFpZ24ubGVhZGNvdW50fTwvc3Bhbj4gLyAKICAgICAgICAgICAgICAgIDxzcGFuIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfY29tcGxldGVjb3VudCcpfSI+eyRjYW1wYWlnbi5jb21wbGV0ZWNvdW50fTwvc3Bhbj4gLyAKICAgICAgICAgICAgICAgIDxzcGFuIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfdW52aWV3ZWRjb3VudCcpfSIgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGNhbXBhaWduLnVudmlld2VkY291bnR9PC9zcGFuPgogICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgPHRkPjxhIGhyZWY9Inskdmlld191cmx9Ij57Y2dpbWFnZSBpbWFnZT0ndmlldy5naWYnIGFsdD0kbW9kLT5MYW5nKCdwcm9tcHRfdmlld19jYW1wYWlnbicpfTwvdGQ+CiAgICAgICAgIDwvdHI+CiAgICAgICB7L2ZvcmVhY2h9ICAgICAgCiAgICAgICA8L3Rib2R5PgogICAgIDwvdGFibGU+CiAgey9pZn0KIAogIHsqIGEgbGluayB0byBkaXNwbGF5IGFsbCBjYW1wYWlnbnMgKn0KICA8ZGl2PgogICAgPGEgaHJlZj0ie21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2NhbXBhaWdubGlzdCcgdXJsb25seT0xfSI+eyRtb2QtPkxhbmcoJ3Byb21wdF92aWV3X2FsbGNhbXBhaWducycpfTwvYT4KICA8L2Rpdj4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_form_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZm9ybSB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJGVycm9yKX08ZGl2IGNsYXNzPSJyb3cgZXJyb3IiPnskZXJyb3J9PC9kaXY+ey9pZn0KCnsqIApjYW1wYWlnbiBvYmplY3QgZGVzY3JpcHRpb24KIEFuIG9iamVjdCBkZXNjcmliaW5nIHRoZSBjYW1wYWlnbiB0aGF0IHRoZSBsZWFkIGlzIGZvcgogICAkY2FtcGFpZ24uaWQgICAgICAgICAgICAgPSAoaW50KSB0aGUgdW5pcXVlIGNhbXBhaWduIGlkCiAgICRjYW1wYWlnbi5uYW1lICAgICAgICAgICA9IChzdHJpbmcpIHRoZSBjYW1wYWlnbiBuYW1lLiAgbm90IG5lY2Vzc2FyaWx5IHVuaXF1ZQogICAkY2FtcGFpZ24ua2V5d29yZCAgICAgICAgPSAoc3RyaW5nKSB0aGUgY2FtcGFpZ24ga2V5d29yZAogICAkY2FtcGFpZ24uZGVzY3JpcHRpb24gICAgPSAoc3RyaW5nKSBhIHRleHQgZGVzY3JpcHRpb24gZm9yIHRoZSBjYW1wYWlnbi4gIG1heSBiZSBlbXB0eQogICAkY2FtcGFpZ24uc3RhcnRfZGF0ZSAgICAgPSAoaW50KSB0aGUgdW5peCB0aW1lc3RhbXAgb2YgdGhlIHN0YXJ0IGRhdGUgb2YgdGhlIGNhbXBhaWduICh1c2UgZGF0ZV9mb3JtYXQgbW9kaWZpZXIgZm9yIGRpc3BsYXlpbmcpCiAgICRjYW1wYWlnbi5lbmRfZGF0ZSAgICAgICA9IChpbnQpIHRoZSB1bml4IHRpbWVzdGFtcCBvZiB0aGUgZW5kIGRhdGUgb2YgdGhlIGNhbXBhaWduCiAgICRjYW1wYWlnbi5jcmVhdGVkICAgICAgICA9IChpbnQpIHRoZSB1bml4IHRpbWVzdGFtcCBvZiB0aGUgdGltZSB3aGVuIHRoaXMgY2FtcGFpZ24gd2FzIGNyZWF0ZWQuCiAgICRjYW1wYWlnbi5tb2RpZmllZCAgICAgICA9IChpbnQpIHRoZSB1bml4IHRpbWVzdGFtcCBvZiB0aGUgdGltZSB3aGVuIHRoaXMgY2FtcGFpZ24gd2FzIGxhc3Qgc2F2ZWQgdG8gdGhlIGRhdGFiYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkb2VzIG5vdCBpbmNsdWRlIGFkanVzdGluZyBmaWVsZHMsIG9yIGltYWdlcykKICAgJGNhbXBhaWduLmZpZWxkcyAgICAgICAgID0gYXJyYXkgb2YgbG1fZmllbGQgb2JqZWN0cyBkZXNjcmliaW5nIHRoZSB2YXJpb3VzIGZvcm0gZmllbGRzIGF0dGFjaGVkIHRvIHRoZSBjYW1wYWlnbgogICAkY2FtcGFpZ24uYXR0YWNobWVudHMgICAgPSBhcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyBhdHRhY2hlZCBmaWxlbmFtZXMKICAgJGNhbXBhaWduLmF0dGFjaG1lbnRfbG9jYXRpb24gPSB0aGUgYmFzZSBVUkwgdG8gdGhlIGxvY2F0aW9uIHdoZXJlIGF0dGFjaG1lbnRzIGNhbiBiZSBmb3VuZC4KICAgJGNhbXBhaWduLmltYWdlcyAgICAgICAgID0gYXJyYXkgb2Ygc3RyaW5ncyByZXByZXNlbnRpbmcgdXBsb2FkZWQgaW1hZ2UgZmlsZW5hbWVzLgogICAkY2FtcGFpZ24udGVtcGxhdGUgICAgICAgPSB0aGUgbmFtZSBvZiB0aGUgdGVtcGxhdGUgYXR0YWNoZWQgdG8gdGhpcyBjYW1wYWlnbgogICAkY2FtcGFpZ24uaW1hZ2VfbG9jYXRpb24gPSB0aGUgYmFzZSBVUkwgdG8gdGhlIGxvY2F0aW9uIHdoZXJlIGltYWdlcyBjYW4gYmUgZm91bmQuCiAgICRjYW1wYWlnbi5maW5pc2hlZF9tc2cgICA9IHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgKGlmIGFueSkgaWYgdGhlIGxlYWQgaXMgY29tcGxldGUuCgpmaWVsZGxpc3QgdmFyaWFibGUgZGVzY3JpcHRpb24gKG1heSBub3QgYmUgc2V0IGluIHNvbWUgY2lyY3Vtc3RhbmNlcykKICAgYW4gYXJyYXkgb2YgaGFzaGVzLCBlYWNoIG1lbWJlciBvZiB0aGUgYXJyYXkgZGVzY3JpYmVzIG9uZSBmaWVsZC4KICAgbWVtYmVyczoKICAgICBpZCAgICAgICAgID0gKGludCkgdGhlIHVuaXF1ZSBmaWVsZCBpZC4KICAgICBjYW1wYWlnbiAgID0gKGludCkgdGhlIGNhbXBhaWduIGlkLCBtdXN0IGVxdWFsICRjYW1wYWlnbi5pZAogICAgIGZpZWxkX25hbWUgPSAoc3RyaW5nKSB0aGUgbmFtZSAobm90IGluY2x1ZGluZyB0aGUgYWN0aW9uaWQpIHRoYXQgTVVTVCBiZSB1c2VkIGZvciB0aGUgaW5wdXQgb3Igc2VsZWN0IGZpZWxkLgogICAgIG5hbWUgICAgICAgPSAoc3RyaW5nKSB0aGUgZmllbGQgbmFtZQogICAgIHByb21wdCAgICAgPSAoc3RyaW5nKSB0aGUgaHVtYW4gcmVhZGFibGUgcHJvbXB0IGZvciB0aGlzIGZpZWxkCiAgICAgcmVxdWlyZWQgICA9IChpbnQpIGluZGljYXRlcyB3ZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkIG9yIG5vdAogICAgIGl0ZW1fb3JkZXIgPSAoaW50KSBpbmRpY2F0ZXMgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZHMgKGZpZWxkbGlzdCBhcnJheSBpcyBhbHJlYWR5IHNvcnRlZCBpbiB0aGlzIG9yZGVyKQogICAgIG9wdGlvbnMgICAgPSAoYXJyYXkpIGZvciBkcm9wZG93biBvciBtdWx0aXNlbCBmaWVsZHMsIGFuIGFycmF5IG9mIG9wdGlvbnMgZm9yIHRoZSBzZWxlY3QgZmllbGQuICBzZWUge2h0bWxfb3B0aW9uc30KCmxlYWQgdmFyaWFibGUgZGVzY3JpcHRpb24KICBBbiBvYmplY3QgZGVzY3JpYmluZyB0aGUgY3VycmVudCBsZWFkIChtYXkgbm90IGJlIHNldCBpZiBhbiBlcnJvciBvY2N1cnJyZWQpCiAgJGxlYWQuaWQgICAgICAgPSAoaW50KSB0aGUgbGVhZCBpZAogICRsZWFkLmNyZWF0ZWQgID0gKGludCkgdW5peCB0aW1lc3RhbXAgb2YgaW5pdGlhbCBjcmVhdGUgZGF0ZQogICRsZWFkLm1vZGlmaWVkID0gKGludCkgdW5peCB0aW1lc3RhbXAgb2YgbGF0ZXN0IG1vZGlmaWNhdGlvbiBkYXRlCiAgJGxlYWQuc3RhdHVzICAgPSAoc3RyaW5nKSBiYWQsaW5jb21wbGV0ZSxjb21wbGV0ZQogICRsZWFkLnZpZXdlZCAgID0gKGludCkgdW5peCB0aW1lc3RhbXAgb2Ygdmlld2VkIGRhdGUgKGFsd2F5cyAwIGluIHRoZSBmb3JtIHRlbXBsYXRlKQogICRsZWFkLmZpZWxkX2dldCgka2V5KSA9IG1ldGhvZCB0byByZXR1cm4gdmFsdWUgb2YgYSBzcGVjaWZpYyBmaWVsZC4KICA0bGVhZC5maWVsZF9saXN0KCkgID0gbWV0aG9kIHRvIHJldHVybiBhcnJheSBvZiBhdmFpbGFibGUgZmllbGRzIGZvciB0aGlzIGxlYWQuCip9Cgo8aDM+eyRjYW1wYWlnbi5uYW1lfTwvaDM+CjxkaXYgY2xhc3M9InJvdyI+eyRjYW1wYWlnbi5kZXNjcmlwdGlvbn08L2Rpdj4KCntpZiBpc3NldCgkbGVhZCl9CiAge2lmICRsZWFkLnN0YXR1cyA9PSAnY29tcGxldGUnfQogICAgeyRjYW1wYWlnbi5maW5pc2hlZF9tc2d9CiAgey9pZn0KCiAge2lmIGlzc2V0KCRmb3JtZmllbGRzKSAmJiBjb3VudCgkZm9ybWZpZWxkcyl9CiAge3N0cmlwfXskZm9ybV9zdGFydH0KICAgIHsqIGNvdWxkIGJlIGEgaGlkZGVuIGZpZWxkIHRvbywgaW50ZW50IGlzIHZhbHVlIG11c3QgYmUgZW1wdHkuLi4gdGhpcyBpcyBwcm90ZWN0aW9uIGZyb20gYm90cyAqfQogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bG1faHVtYW4iIHZhbHVlLSIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CgogICAge2ZvcmVhY2ggJGZvcm1maWVsZHMgYXMgJGZpZWxkbmFtZSA9PiAkcmVjfQogICAgICB7JHZhbHVlPSRsZWFkLT5maWVsZF9nZXQoJGZpZWxkbmFtZSl9CiAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgPHAgY2xhc3M9ImNvbDQgZmllbGRfcHJvbXB0IHtpZiAkcmVjLnJlcXVpcmVkfXJlcXVpcmVkey9pZn0iPgogICAgICAgICAgPGxhYmVsIGZvcj0ieyRyZWMuZmllbGRfbmFtZX0iPntpZiAkcmVjLnJlcXVpcmVkfSp7L2lmfXskcmVjLnByb21wdH06PC9sYWJlbD4KICAgICAgICA8L3A+eyogLmNvbDQgKn0KICAgICAgICA8cCBjbGFzcz0iY29sOCBmaWVsZF9pbnB1dCI+CiAgICAgICAgICB7aWYgJHJlYy5iYXNlX3R5cGUgPT0gJ3RleHRib3gnfQogICAgICAgICAgICA8aW5wdXQgaWQ9InskcmVjLmZpZWxkX25hbWV9IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXskcmVjLmZpZWxkX25hbWV9IiB2YWx1ZT0ieyR2YWx1ZX0iIHtpZiAkcmVjLnJlcXVpcmVkfXJlcXVpcmVkey9pZn0vPgogICAgICAgICAge2Vsc2VpZiAkcmVjLmJhc2VfdHlwZSA9PSAndGV4dGFyZWEnfQogICAgICAgICAgICA8dGV4dGFyZWEgaWQ9InskcmVjLmZpZWxkX25hbWV9IiBuYW1lPSJ7JGFjdGlvbmlkfXskcmVjLmZpZWxkX25hbWV9IiB7aWYgJHJlYy5yZXF1aXJlZH1yZXF1aXJlZHsvaWZ9PnskdmFsdWV9PC90ZXh0YXJlYT4KICAgICAgICAgIHtlbHNlaWYgJHJlYy5iYXNlX3R5cGUgPT0gJ2NoZWNrYm94J30KICAgICAgICAgICAgPGlucHV0IGlkPSJ7JHJlYy5maWVsZF9uYW1lfSIgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9eyRyZWMuZmllbGRfbmFtZX0iIHZhbHVlPSIxIiB7aWYgJHZhbHVlPT0xfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0ge2lmICRyZWMucmVxdWlyZWR9cmVxdWlyZWR7L2lmfS8+CiAgICAgICAgICB7ZWxzZWlmICRyZWMuYmFzZV90eXBlID09ICdkcm9wZG93bid9CiAgICAgICAgICAgIDxzZWxlY3QgaWQ9InskcmVjLmZpZWxkX25hbWV9IiBuYW1lPSJ7JGFjdGlvbmlkfXskcmVjLmZpZWxkX25hbWV9IiB7aWYgJHJlYy5yZXF1aXJlZH1yZXF1aXJlZHsvaWZ9PgogICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHJlYy5vcHRpb25zIHNlbGVjdGVkPSR2YWx1ZX0KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICB7ZWxzZWlmICRyZWMuYmFzZV90eXBlID09ICdtdWx0aXNlbCd9CiAgICAgICAgICAgIDxzZWxlY3QgaWQ9InskcmVjLmZpZWxkX25hbWV9IiBuYW1lPSJ7JGFjdGlvbmlkfXskcmVjLmZpZWxkX25hbWV9W10iIG11bHRpcGxlIHNpemU9IjUiIHtpZiAkcmVjLnJlcXVpcmVkfXJlcXVpcmVkey9pZn0+CiAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcmVjLm9wdGlvbnMgc2VsZWN0ZWQ9JHZhbHVlfQogICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC9wPnsqIC5jb2w4ICp9CiAgICAgIDwvZGl2PnsqIC5yb3cgKn0KICAgIHsvZm9yZWFjaH0KCiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8cCBjbGFzcz0iY29sNCBmaWVsZF9wcm9tcHQiPjwvcD4KICAgICAgPHAgY2xhc3M9ImNvbDggZmllbGRfaW5wdXQiPgogICAgICAgIHsqIHRoZSBmaWVsZCBuYW1lIGhlcmUgaXMgaW1wb3J0YW50ICp9CiAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1sbV9zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogIHskZm9ybV9lbmR9ey9zdHJpcH0KICB7L2lmfQp7L2lmfQoKe2lmICFpc3NldCgkZXJyb3IpfQogIHsqIHlvdSBjYW4gZG8gdGhlIHNhbWUgaGVyZSB3aXRoICRjYW1wYWlnbi5hdHRhY2htZW50cyBob3dldmVyIHRoZXkgYXJlIG5vdCBpbWFnZXMuLi4ganVzdCBQREYgb3IgdGV4dCBmaWxlcyAqfQogIHtpZiBpc3NldCgkY2FtcGFpZ24uaW1hZ2VzKX0KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICB7Zm9yZWFjaCAkY2FtcGFpZ24uaW1hZ2VzIGFzICRpbWFnZX0KICAgICAgPGltZyBzcmM9InskY2FtcGFpZ24uaW1hZ2VfbG9jYXRpb259L3skaW1hZ2V9IiBhbHQ9InskaW1hZ2V9Ii8+IHsqIEkgd291bGQgdXNlIENHU0kgaGVyZSBmb3IgdGh1bWJuYWlscywgYW5kIGZhbmN5Ym94IHRvIGNyZWF0ZSBhbiBhbGJ1bSAqfQogICAgey9mb3JlYWNofQogICAgPC9kaXY+CiAgey9pZn0Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_keywordform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoga2V5d29yZCBmb3JtICp9Cgp7JGZvcm1fc3RhcnR9CntpZiBpc3NldCgkbG1fZXJyb3IpICYmICRsbV9lcnJvciAhPSAnJ30KPGRpdiBjbGFzcz0icm93IGVycm9ybWVzc2FnZSI+eyRsbV9lcnJvcn08L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InJvdyI+CiAgPHAgY2xhc3M9ImNvbDMiPnskbW9kLT5MYW5nKCdwcm9tcHRfa2V5d29yZCcpfTwvcD4KICA8cCBjbGFzcz0iY29sOSI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1rZXl3b3JkIiB2YWx1ZT0ieyRrZXl3b3JkfGRlZmF1bHQ6Jyd9IiBwbGFjZWhvbGRlcj0ieyRtb2QtPkxhbmcoJ3BoX2tleXdvcmQnKX0iIHNpemU9IjMwIi8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0iY29sMyI+PC9wPgogIDxwIGNsYXNzPSJjb2w5Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9bG1fc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Byb21wdF9zZWFyY2gnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_leadconfirm_bodytpl.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbGVhZCBjb25maXJtYXRpb24gZW1haWwgdGVtcGxhdGUgKn0KeyogdGhpcyB0ZW1wbGF0ZSB1c2VzIGVuZ2xpc2ggc3RyaW5ncywgYXMgdGhlcmUgaXMgbm8gc2ltcGxlIHdlYXkgb2Ygc3dpdGNoaW5nIGxhbmd1YWdlcyBmb3IgZWFjaCBlbWFpbCAqfQoKPGgzPlRoYW5rIHlvdSBmb3Igc3VibWl0dGluZyB5b3VyIGluZm9ybWF0aW9uIHRvICZxdW90O3tzaXRlbmFtZX0mcXVvdDs8L2gzPgo8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyI+CiAgPHRyPgogICAgPHRkIHN0eWxlPSJ3aWR0aDogMzAlOyI+Q2FtcGFpZ248L3RkPgogICAgPHRkPnskY2FtcGFpZ24ubmFtZX0gPGVtPnskY2FtcGFpZ24uaWR9PGVtPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQgc3R5bGU9IndpZHRoOiAzMCU7Ij5Db21wYW55OjwvdGQ+CiAgICA8dGQ+eyRjb21wYW55LT5jb21wYW55X25hbWV9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsiPkRhdGU6PC90ZD4KICAgIDx0ZD57JGxlYWQubW9kaWZpZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIHN0eWxlPSJ3aWR0aDogMzAlOyI+U3RhdHVzOjwvdGQ+CiAgICA8dGQ+eyRsZWFkLnN0YXR1c308L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIHN0eWxlPSJ3aWR0aDogMzAlOyI+RW1haWw6PC90ZD4KICAgIDx0ZD57JGxlYWQuZW1haWx9PC90ZD4KICA8L3RyPgo8L3RhYmxlPg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_notifyleads_bodytpl.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbm90aWZ5bGVhZHMgYm9keSB0ZW1wbGF0ZSAqfQp7KiB0aGlzIHRlbXBsYXRlIHVzZXMgZW5nbGlzaCBzdHJpbmdzLCBhcyB0aGVyZSBpcyBubyBzaW1wbGUgd2F5IG9mIHN3aXRjaGluZyBsYW5ndWFnZXMgZm9yIGVhY2ggZW1haWwgKn0KCjxoMz5Zb3UgaGF2ZSBhIG5ldyBsZWFkPC9oMz4KPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsiPgogIDx0cj4KICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsiPkNhbXBhaWduPC90ZD4KICAgIDx0ZD57JGNhbXBhaWduLm5hbWV9IDxlbT57JGNhbXBhaWduLmlkfTxlbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIHN0eWxlPSJ3aWR0aDogMzAlOyI+Q2FtcGFpZ24gRGF0ZXM6PC90ZD4KICAgIDx0ZD57JGNhbXBhaWduLnN0YXJ0X2RhdGV8ZGF0ZV9mb3JtYXQ6JyV4J30gdGhyb3VnaCB7JGNhbXBhaWduLmVuZF9kYXRlfGRhdGVfZm9ybWF0OicleCd9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZCBzdHlsZT0id2lkdGg6IDMwJTsiPkNvbXBhbnk6PC90ZD4KICAgIDx0ZD57JGNvbXBhbnktPmNvbXBhbnlfbmFtZX08L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIHN0eWxlPSJ3aWR0aDogMzAlOyI+RGF0ZTo8L3RkPgogICAgPHRkPnskbGVhZC5tb2RpZmllZHxkYXRlX2Zvcm1hdDonJXggJVgnfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQgc3R5bGU9IndpZHRoOiAzMCU7Ij5TdGF0dXM6PC90ZD4KICAgIDx0ZD57JGxlYWQuc3RhdHVzfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQgc3R5bGU9IndpZHRoOiAzMCU7Ij5FbWFpbDo8L3RkPgogICAgPHRkPnskbGVhZC5lbWFpbH08L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIGNvbHNwYW49IjIiPgogICAgICB7KiBoZXJlLCB5b3Ugc2hvdWxkIHNldCB0aGUgcmV0dXJuaWQgdG8gYSBwcm90ZWN0ZWQgcGFnZT8gKn0KICAgICAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9TGVhZE1hbmFnZXIgYWN0aW9uPXZpZXdfbGVhZCBwYWdlPSdjYW1wYWlnbi1kYXNoYm9hcmQnIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBsZWFkPSRsZWFkLmlkIHVybG9ubHk9MSBhc3NpZ249J3VybCd9CiAgICAgIFZpZXcgdGhlIGRldGFpbHMgZm9yIHRoaXMgbGVhZCA8YSBocmVmPSJ7JHVybH0iPmhlcmU8L2E+CiAgICA8L3RkPgogIDwvdHI+CjwvdGFibGU+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_viewcampaign_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdmlldyBjYW1wYWlnbiBmb3JtICp9CjxoMz57JG1vZC0+TGFuZygncHJvbXB0X2NhbXBhaWduJyl9OiB7JGNhbXBhaWduLm5hbWV8Y21zX2VzY2FwZX08L2gzPgoKe2lmIGlzc2V0KCRlcnJvcil9CiAgPHAgY2xhc3M9InJvdyBlcnJvciI+eyRlcnJvcn08L3A+CntlbHNlfQogIDxwIGNsYXNzPSJyb3ciPnskY2FtcGFpZ24uZGVzY3JpcHRpb259PC9wPgoKICB7aWYgJGxlYWRjb3VudCA+IDB9CiAgPGRpdiBjbGFzcz0icm93IGFjdGlvbiI+CiAgICA8YSBocmVmPSJ7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj1leHBvcnRfY2FtcGFpZ24gY2FtcGFpZ249JGNhbXBhaWduLmlkIHVybG9ubHk9MX0iPntjZ2ltYWdlIGltYWdlPSdleHBvcnQuZ2lmJyBhbHQ9Jyd9IHskbW9kLT5MYW5nKCdwcm9tcHRfZXhwb3J0X2NhbXBhaWduJyl9PC9hPgogIDwvZGl2PgogIHsvaWZ9CgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8cCBjbGFzcz0iY29sNCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jcmVhdGVkJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJjb2w4Ij57JGNhbXBhaWduLmNyZWF0ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3A+CiAgPC9wPgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8cCBjbGFzcz0iY29sNCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9rZXl3b3JkJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJjb2w4Ij57JGNhbXBhaWduLmtleXdvcmR8Y21zX2VzY2FwZX08L3A+CiAgPC9wPgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8cCBjbGFzcz0iY29sNCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9zdGFydGRhdGUnKX06PC9wPgogICAgPHAgY2xhc3M9ImNvbDgiPnskY2FtcGFpZ24uc3RhcnRfZGF0ZXxkYXRlX2Zvcm1hdDonJXggJVgnfTwvcD4KICA8L3A+CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxwIGNsYXNzPSJjb2w0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VuZGRhdGUnKX06PC9wPgogICAgPHAgY2xhc3M9ImNvbDgiPnskY2FtcGFpZ24uZW5kX2RhdGV8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3A+CiAgPC9wPgoKICB7aWYgJGxlYWRjb3VudCA9PSAwIHx8ICFpc3NldCgkbGVhZHMpfQogICAgPHAgY2xhc3M9InJvdyBtZXNzYWdlIj57JG1vZC0+TGFuZygnbXNnX2NhbXBhaWduX25vbGVhZHMnKX08L3A+CiAge2Vsc2V9CiAgICA8cCBjbGFzcz0icm93IG1lc3NhZ2UiPnskbW9kLT5MYW5nKCdtc2dfY2FtcGFpZ25fbGVhZGNvdW50JywkbGVhZGNvdW50KX08L3A+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICB7aWYgJHBhZ2luYXRpb24ucGFnZSA+IDF9PGEgaHJlZj0ieyRwYWdpbmF0aW9uLT5nZXRfZmlyc3RwYWdlX3VybCgpfSI+Jmx0OyZsdDs8L2E+Jm5ic3A7ey9pZn0KICAgICAge2lmICRwYWdpbmF0aW9uLnBhZ2UgPiAxfTxhIGhyZWY9InskcGFnaW5hdGlvbi0+Z2V0X3ByZXZwYWdlX3VybCgpfSI+Jmx0OzwvYT4mbmJzcDt7L2lmfQogICAgICB7JG1vZC0+TGFuZygncHJvbXB0X3BhZ2UnKX0geyRwYWdpbmF0aW9uLnBhZ2V9IHskbW9kLT5MYW5nKCdwcm9tcHRfb2YnKX0geyRwYWdpbmF0aW9uLnBhZ2Vjb3VudH0KICAgICAge2lmICRwYWdpbmF0aW9uLnBhZ2UgPCAkcGFnaW5hdGlvbi5wYWdlY291bnR9PGEgaHJlZj0ieyRwYWdpbmF0aW9uLT5nZXRfbmV4dHBhZ2VfdXJsKCl9Ij4mZ3Q7PC9hPiZuYnNwO3svaWZ9CiAgICAgIHtpZiAkcGFnaW5hdGlvbi5wYWdlIDwgJHBhZ2luYXRpb24ucGFnZWNvdW50fTxhIGhyZWY9InskcGFnaW5hdGlvbi0+Z2V0X2xhc3RwYWdlX3VybCgpfSI+Jmd0OyZndDs8L2E+Jm5ic3A7ey9pZn0KICAgIDwvZGl2PgoKICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7Ij4KICAgICAgPHRoZWFkPgogICAgICAgIDx0cj4KICAgICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2lkJyl9PC90aD4KICAgICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsJyl9PC90aD4KICAgICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X3N0YXR1cycpfTwvdGg+CiAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9jcmVhdGVkJyl9PC90aD4KICAgICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X3ZpZXdlZCcpfTwvdGg+CiAgICAgICAgICA8dGggY2xhc3M9Imljb24iPnsqIHZpZXcgbGluayAqfTwvdGg+CiAgICAgICAgPC90cj4KICAgICAgPC90aGVhZD4KICAgICAgPHRib2R5PgogICAgICB7Zm9yZWFjaCAkbGVhZHMgYXMgJGxlYWR9CiAgICAgICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J3ZpZXdfbGVhZCcgY2FtcGFpZ249JGxlYWQuY2FtcGFpZ24gbGVhZD0kbGVhZC5pZCB1cmxvbmx5PTEgYXNzaWduPSd2aWV3X3VybCd9CiAgICAgICAgPHRyPgogICAgICAgICAgPHRkPnskbGVhZC5pZH08L3RkPgogICAgICAgICAgPHRkPnskbGVhZC5lbWFpbH08L3RkPgogICAgICAgICAgPHRkPnskdG1wPSdzdGF0dXNfJ3xjYXQ6JGxlYWQuc3RhdHVzfXskbW9kLT5MYW5nKCR0bXApfTwvdGQ+CiAgICAgICAgICA8dGQ+eyRsZWFkLmNyZWF0ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3RkPgogICAgICAgICAgPHRkPgogICAgICAgICAgICAge2lmICEkbGVhZC52aWV3ZWR9CiAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+eyRtb2QtPkxhbmcoJ3Byb21wdF9ub3R2aWV3ZWQnKX08L3NwYW4+CiAgICAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgICAgeyRsZWFkLnZpZXdlZHxkYXRlX2Zvcm1hdDonJXggJVgnfQogICAgICAgICAgICAgey9pZn0KICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQ+CiAgICAgICAgICAgIDxhIGhyZWY9Inskdmlld191cmx9Ij57Y2dpbWFnZSBpbWFnZT0ndmlldy5naWYnIGFsdD0kbW9kLT5MYW5nKCdwcm9tcHRfdmlld19sZWFkJyl9PC9hPgogICAgICAgICAgPC90ZD4KICAgICAgICA8L3RyPgogICAgICB7L2ZvcmVhY2h9CiAgICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgogIHsvaWZ9CnsvaWZ9eyogbm8gZXJyb3IgKn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_viewlead_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdmlldyBsZWFkIHRlbXBsYXRlICp9Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgnYS5tYXJrYmFkJykuY2xpY2soZnVuY3Rpb24oKXsKICAgIHJldHVybiBjb25maXJtKCd7JG1vZC0+TGFuZygnY29uZmlybV9tYXJrYmFkJyl9Jyk7CiAgfSk7Cn0pOwo8L3NjcmlwdD4KCntpZiBpc3NldCgkZXJyb3IpfQogIDxkaXYgY2xhc3M9ImVycm9yIj57JGVycm9yfTwvZGl2Pgp7ZWxzZX0KICB7KiB3b290LCB3ZSBjYW4gdmlldyB0aGUgbGVhZCBkZXRhaWxzICp9CiAgPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfdmlld19sZWFkJyl9PC9oMz4KICA8ZGl2IGNsYXNzPSJyb3cgYWN0aW9uIj4KICAgIHsqIGEgbGluayB0byB2aWV3IHRoZSBjYW1wYWlnbiAqfQogICAgPGEgaHJlZj0ie21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249dmlld19jYW1wYWlnbiBjYW1wYWlnbj0kY2FtcGFpZ24uaWQgdXJsb25seT0xfSI+e2NnaW1hZ2UgaW1hZ2U9J3ZpZXcuZ2lmJyBhbHQ9Jyd9IHskbW9kLT5MYW5nKCdwcm9tcHRfdmlld19jYW1wYWlnbicpfTwvYT48YnIvPgogICAgeyogYSBsaW5rIHRvIG1hcmsgdGhlIGxlYWQgYXMgYmFkICp9CiAgICB7aWYgJGxlYWQuc3RhdHVzICE9ICdiYWQnfQogICAgICA8YSBjbGFzcz0ibWFya2JhZCIgaHJlZj0ie21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249dmlld19sZWFkIGNhbXBhaWduPSRjYW1wYWlnbi5pZCBsZWFkPSRsZWFkLmlkIGxtX2JhZD0xIHVybG9ubHk9MX0iPntjZ2ltYWdlIGltYWdlPSdibG9jay5naWYnIGFsdD0nJ30geyRtb2QtPkxhbmcoJ3Byb21wdF9tYXJrYmFkJyl9PC9hPgogICAgey9pZn0KICA8L2Rpdj4KCiAge2lmIGlzc2V0KCRpbml0aWFsdmlldyl9PHAgY2xhc3M9InJvdyBtZXNzYWdlIj57JG1vZC0+TGFuZygnbXNnX2xlYWRfbWFya2Vkdmlld2VkJyl9PC9wPnsvaWZ9CiAge2lmIGlzc2V0KCRtYXJrZWRiYWQpfTxwIGNsYXNzPSJyb3cgbWVzc2FnZSI+eyRtb2QtPkxhbmcoJ21zZ19sZWFkX21hcmtlZGJhZCcpfTwvcD57L2lmfQoKICA8ZmllbGRzZXQ+CiAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfY2FtcGFpZ24nKX06IHskY2FtcGFpZ24ubmFtZXxjbXNfZXNjYXBlfTwvbGVnZW5kPgogICAgPGRpdiBjbGFzcz0icm93Ij57JGNhbXBhaWduLmRlc2NyaXB0aW9ufGNtc19lc2NhcGV9PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8cCBjbGFzcz0iY29sNCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9rZXl3b3JkJyl9PC9wPgogICAgICA8cCBjbGFzcz0iY29sOCI+eyRjYW1wYWlnbi5rZXl3b3JkfGNtc19lc2NhcGV9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICA8cCBjbGFzcz0iY29sNCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jb21wYW55Jyl9PC9wPgogICAgICA8cCBjbGFzcz0iY29sOCI+eyRjb21wYW55LT5jb21wYW55X25hbWV8Y21zX2VzY2FwZX08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgIDxwIGNsYXNzPSJjb2w0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NyZWF0ZWQnKX08L3A+CiAgICAgIDxwIGNsYXNzPSJjb2w4Ij57JGNhbXBhaWduLmNyZWF0ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgIDxwIGNsYXNzPSJjb2w0Ij57JG1vZC0+TGFuZygncHJvbXB0X3N0YXJ0ZGF0ZScpfTwvcD4KICAgICAgPHAgY2xhc3M9ImNvbDgiPnskY2FtcGFpZ24uc3RhcnRfZGF0ZXxkYXRlX2Zvcm1hdDonJXggJVgnfTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPHAgY2xhc3M9ImNvbDQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZW5kZGF0ZScpfTwvcD4KICAgICAgPHAgY2xhc3M9ImNvbDgiPnskY2FtcGFpZ24uZW5kX2RhdGV8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3A+CiAgICA8L2Rpdj4KICA8L2ZpZWxkc2V0PgoKICA8ZmllbGRzZXQ+CiAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfbGVhZGRldGFpbHMnKX08L2xlZ2VuZD4KICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7Ij4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvbXB0X3N0YXR1cycpfTwvdGg+CiAgICAgICAgPHRkPnskdG1wPSdzdGF0dXNfJ3xjYXQ6JGxlYWQuc3RhdHVzfXskbW9kLT5MYW5nKCR0bXApfTwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3Byb21wdF9jcmVhdGVkJyl9PC90aD4KICAgICAgICA8dGQ+eyRsZWFkLmNyZWF0ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ308L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwcm9tcHRfdmlld2VkJyl9PC90aD4KICAgICAgICA8dGQ+e2lmICEkbGVhZC52aWV3ZWR9eyRtb2QtPkxhbmcoJ3Byb21wdF9uYScpfXtlbHNlfXskbGVhZC52aWV3ZWR8ZGF0ZV9mb3JtYXQ6JyV4ICVYJ317L2lmfTwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIHskbGlzdCA9ICRsZWFkLT5maWVsZF9saXN0KCl9CiAgICAgIHtmb3JlYWNoICRsaXN0IGFzICRrZXl9CiAgICAgICAgPHRyPgogICAgICAgICAgPHRoPnska2V5fTwvdGg+CiAgICAgICAgICA8dGQ+eyRsZWFkLT5maWVsZF9nZXQoJGtleSl9PC90ZD4KICAgICAgICA8L3RyPiAgICAgIAogICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgogIDwvZmllbGRzZXQ+CnsvaWZ9]]></data>
	</file>
</module>
