<?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>CGSocialBlaster</name>
	<version>1.1</version>
    <mincmsversion>2.2</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgYWxsb3dzIGFuIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvciB0byBlYXNpbHkgc2hhcmUgYmxvZyBhcnRpY2xlcywgYW5kIG90aGVyIG9iamVjdHMgdG8gb25lIG9yIG1vcmUgc29jaWFsIG1lZGlhIG5ldHdvcmtzIGF0IHRoZSBzYW1lIHRpbWUuPC9wPgogIDxwPlRoaXMgbWRvdWxlIGludGVyZmFjZXMgd2l0aCAmcXVvdDtTZW5kZXImcXVvdDsgbW9kdWxlcyBhbmQgJnF1b3Q7dHJhbnNwb3J0JnF1b3Q7IG1vZHVsZXMsIHByb3ZpZGVzIGEgc21hcnR5IHRhZywgYW5kIGFuIGFkbWluaXN0cmF0b3IgaW50ZXJmYWNlIHRvIGFsbG93IHNoYXJpbmcgZGV0YWlscyBhYm91dCBhbiBvYmplY3Qgc3VjaCBhcyBhIGJsb2cgYXJ0aWNsZSB3aXRoIGRpZmZlcmVudCBzb2NpYWwgbWVkaWEgbmV0d29ya3MuPC9wPgogIDxwPgoKPGgzPkZlYXR1cmVzPC9oMz4KICA8dWw+CiAgPGxpPlNlbmQgdGhlIHNhbWUgbWVzc2FnZSB0byBtdWx0aXBsZSB0cmFuc3BvcnRzIGluIGEgc2luZ2xlIGVmZm9ydCwgd2l0aCBmdWxsIGNvbnRyb2wgb2YgdGhlIG91dHB1dCBhbmQgZGVzdGluYXRpb24gZ3JvdXBzLjwvbGk+CiAgPGxpPlRlbXBsYXRlIGNvbnRyb2xsZWQgZGVmYXVsdCB2YWx1ZXMgZm9yIGJsYXN0ZWQgbWVzc2FnZXMuPC9saT4KICA8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gY3VzdG9taXplIHRoZSBtZXNzYWdlIChhbmQgcG9zc2libHkgcGljdHVyZSBhbmQgbGluaykgZm9yIGVhY2ggdHJhbnNwb3J0LjwvbGk+CiAgPGxpPlNtYXJ0eSB0YWcgc3VwcG9ydHMgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIG1lc3NhZ2UgY29udGVudC48L2xpPgogIDxsaT5TdXBwb3J0cyBhdHRhY2hpbmcgYSBwaWN0dXJlLCBhbmQgYSBsaW5rICh3aXRoIG5hbWUsIGRlc2NyaXB0aW9uLCBhbmQgY2FwdGlvbikgaW4gdHJhbnNwb3J0cyB0aGF0IHN1cHBvcnQgdGhlbSwgaS5lOiBlbWFpbCwgd2ViLXB1c2gsIGV0Yy48L2xpPgogIDxsbD5Qcm92aWRlcyBhIHNpbXBsZSBhZG1pbiBpbnRlcmZhY2UgdG8gYWxsb3cgc2VuZGluZyBhIHNpbXBsZSBzb2NpYWwgYmxhc3QgdG8gbXVsdGlwbGUgdHJhbnNwb3J0cy48L2xpPgogIDxsaT5Qcm92aWRlcyBhIHRlc3QgaW50ZXJmYWNlLjwvbGk+CiAgPGxpPk1vcmU8L2xpPgogIDwvdWw+Cgo8aDM+UmVxdWlyZW1lbnRzOjwvaDM+CiAgPHVsPgogICA8bGk+UHJldHR5IHVybHMgKGVpdGhlciBpbnRlcm5hbCwgb3IgbW9kX3Jld3JpdGUpIGVuYWJsZWQgYW5kIHByb3Blcmx5IHdvcmtpbmcuPC9saT4KICAgPGxpPkF0IGxlYXN0IG9uZSBjb25maWd1cmVkLCBhbmQgaW5zdGFsbGVkIFNlbmRlciBtb2R1bGUgPGVtPihsaWtlIENHQmxvZykuPC9lbT4KICAgPGxpPkF0IGxlYXN0IG9uZSBjb25maWd1cmVkIGFuZCBpbnN0YWxsZWQgdHJhbnNwb3J0IG1vZHVsZSA8ZW0+KGxpa2UgQ0dUV2VldCBvciBDR1dlYlB1c2gpLjwvZW0+CiAgPC91bD4KCjxoMz5Ib3cgZG8gSSBVc2UgaXQ/PC9oMz4KICA8b2w+CiAgICA8bGk+SW5zdGFsbCBhbmQgY29uZmlndXJlIHlvdXIgU2VuZGVyIG1vZHVsZXM6CiAgICAgICA8cD5JbiB0aGUgY2FzZSBvZiBDR0Jsb2cgeW91IHdpbGwgbmVlZCB0byBjcmVhdGUgYW5kIGNvbmZpZ3VyZSB5b3VyIGRlZmF1bHQgdGVtcGxhdGVzLCBwcmV0dHkgdXJscywgYW5kIG5hdmlnYXRpb24gZm9yIGJsb2cgYXJ0aWNsZXMsIGFuZCBjcmVhdGUgYXQgbGVhc3Qgb25lIHB1Ymxpc2hlZCBibG9nIGFydGljbGUuPC9wPgogICAgIDwvbGk+CiAgICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB5b3VyIE1lZGlhIG1vZHVsZXM6CiAgICAgICA8cD5DR1R3ZWV0IGFuZCBDR0ZCUG9zdCBhcmUgZXhhbXBsZXMgb2Ygd29ya2luZyBtZWRpYSBtb2R1bGVzLiAgRWFjaCBvZiB0aGVzZSBtb2R1bGVzIGhhcyB0aGVpciBvd24gaW5zdGFsbGF0aW9uIGFuZCBjb25maWd1cmF0aW9uIHJlcXVpcmVtZW50cy48L3A+CiAgICAgPC9saT4KICAgICA8bGk+R2l2ZSBhdXRob3JpemVkIHVzZXIgZ3JvdXBzIHRoZSAmcXVvdDtCbGFzdCB0byBTb2NpYWwgTWVkaWEmcXVvdDsgUGVybWlzc2lvbi48L2xpPgogICAgIDxsaT5HbyB0byB0aGUgYWRtaW4gcGFuZWwgb2YgdGhlIHNlbmRlciBtb2R1bGUgYW5kIGxvb2sgZm9yIHRoZSAmcXVvdDtTaGFyZSZxdW90OyBpY29uIGxpbmsgb24gZWFjaCBpdGVtIHRoYXQgY2FuIGJlIHNoYXJlZC4KICAgICAgPHA+Q2xpY2tpbmcgb24gdGhhdCBsaW5rIHNob3VsZCBkaXNwbGF5IGEgZm9ybSB3aGljaCBhbGxvd3MgeW91IHRvIHNlbGVjdCB3aGljaCBtZWRpYSBuZXR3b3JrcyB0byBzZW5kIHRvLCBhbmQgdG8gY3VzdG9taXplIHRoZSBjb250ZW50IGZvciBlYWNoIG1lc3NhZ2UuPC9wPgogICAgIDwvbGk+CiAgICAgPGxpPjxzdHJvbmc+UmVjb21tZW5kZWQ8L3N0cm9uZz4gQXMgdGhpcyBtb2R1bGUgb25seSBwcm92aWRlcyBhIGNvbnZlbmllbnQgbWVjaGFuaXNtIGZvciBzaGFyaW5nIHRoZSBmcm9udGVuZCBVUkwgb2YgdmFyaW91cyBkYXRhIGl0ZW1zIHRvIG51bWVyb3VzIHNvY2lhbCBtZWRpYSBwbGF0Zm9ybXMsIGl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHlvdSBjb25maWd1cmUgdGhlIG1ldGEgdGFncyBmb3IgdGhvc2Ugc29jaWFsIG1lZGlhIHBsYXRmb3JtcyBwcm9wZXJseS4gIFRoZSA8Y29kZT5DR0hlYWRNYXN0ZXI8L2NvZGU+IG1vZHVsZSBjYW4gaGVscCB3aXRoIHRoYXQuPC9saT4KICA8L29sPgoKPGgzPlNlbmRlciBUZW1wbGF0ZXM8L2gzPgo8cD5UaGlzIG1vZHVsZSBjb21lcyBjb25maWd1cmVkIHdpdGggYSBkZWZhdWx0IHRlbXBsYXRlIGZvciBlYWNoIGRpZmZlcmVudCBrbm93biBzZW5kZXIuICBUaGUgZGF0YSBmcm9tIHRoZSBpdGVtIGJlaW5nIHNoYXJlZCB3aWxsIGJlIG1lcmdlZCB3aXRoIHRoZSB0ZW1wbGF0ZSB0byBmb3JtIHRoZSBib2R5IG9mIHRoZSBtZXNzYWdlIHRoYXQgaXMgcG9zdGVkLiAgVGhlIGZvbGxvd2luZyBtZW1iZXJzIG9mIHRoZSAkaW5wdXRfZGF0YSBvYmplY3QgYXJlIGF2YWlsYWJsZTo8L3A+Cjx1bD4KICA8bGk+dGl0bGUgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSB0aXRsZSBmb3IgdGhlIHBvc3QuICBVc3VhbGx5IHRoZSB0aXRsZSBvZiB0aGUgaW5kaXZpZHVhbCBpdGVtIGJlaW5nIHNoYXJlZC48L2xpPgogIDxsaT5saW5rdGl0bGUgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSB0aXRsZSBmb3IgdGhlIGxpbmsgb24gdGhlIHBvc3QuICBVc3VhbGx5IHRoZSBzYW1lIGFzIHRoZSB0aXRsZSBtZW1iZXIuIEJ1dCBkZXBlbmRpbmcgdXBvbiB0aGUgc291cmNlIG1vZHVsZSBpdCBtYXkgYmUgZGlmZmVyZW50LiAgRmFjZWJvb2sgYWxsb3dzIGEgdGl0bGUgYW5kIGEgY2FwdGlvbiBmb3IgZWFjaCBwb3N0LjwvbGk+CiAgPGxpPnN1bW1hcnkgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSBzdW1tYXJ5IHRleHQgZm9yIHRoZSBpdGVtIGJlaW5nIHNoYXJlZC48L2xpPgogIDxsaT5jYW5vbmljYWwgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSBmdWxsIGNhbm9uaWNhbCBVUkwgdG8gdGhlIGl0ZW0gYmVpbmcgc2hhcmVkLiAgVXN1YWxseSB0aGlzIGlzIGEgVVJMIHRvIGEgZGV0YWlsIHZpZXcuPC9saT4KICA8bGk+Y2Fub25pY2FsX3Nob3J0IC0gPGVtPihzdHJpbmcpPC9lbT4gLSBJZiBwb3NzaWJsZSwgdGhpcyB3aWxsIGJlIGEgc2hvcnRlbmVkIHZlcnNpb24gb2YgdGhlIFVSTC4KICAgIDxwPklmIGEgVVJMIHNob3J0ZW5pbmcgbW9kdWxlIChsaWtlIENHVGlueSkgaXMgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkLCB0aGVuIGFuIGF0dGVtcHQgd2lsbCBiZSBtYWRlIHRvIHNob3J0ZW4gdGhlIFVSTC4gIElmIG5vdCBwb3NzaWJsZSB0aGVuIHRoaXMgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgY2Fub25pY2FsIG1lbWJlci48L3A+CiAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEl0IHNlZW1zIHRoYXQgbGF0ZWx5IHR3aXR0ZXIgc2VlbXMgdG8gbm90IGxpa2UgYWxyZWFkeSBzaG9ydGVuZWQgVVJMUy4gIFNvIGl0IGlzIHByb2JhYmx5IGJldHRlciB0byB1c2UgeyRpbnB1dF9kYXRhLT5jYW5vbmljYWx9PC9wPgogIDwvbGk+CjwvdWw+Cgo8aDM+Q3JlYXRpbmcgYSBTZW5kZXIgTW9kdWxlPC9oMz4KICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEkgYWxzbyByZWZlciB0byBhICZxdW90O1NlbmRlciZxdW90OyBtb2R1bGUgYXMgYSAmcXVvdDtGZWVkZXImcXVvdDsgbW9kdWxlLCBhcyBpdCBmZWVkcyBpbmZvcm1hdGlvbiB0byBDR1NvY2lhbEJsYXN0ZXIuPC9wPgogIDxwPkNyZWF0aW5nIGEgc2VuZGVyIG1vZHVsZSBpcyBhIDMgc3RlcCBwcm9jZXNzIGZvciBleHBlcmllbmNlZCBDTVNNUyBkZXZlbG9wZXJzOjwvcD4KICA8b2w+CgogICAgPGxpPk92ZXJyaWRlIHRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5IYXNDYXBhYmlsaXR5PC9zcGFuPiBtZXRob2QgaW4geW91ciBtb2R1bGUgY2xhc3MgdG8gcmV0dXJuIHRydWUgZm9yIHRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4nY2dfc29jaWFsYmxhc3RfZmVlZGVyJzwvc3Bhbj4gY2FwYWJpbGl0eS4gaS5lOgo8cHJlPjxjb2RlPnB1YmxpYyBmdW5jdGlvbiBIYXNDYXBhYmlsaXR5KCRjYXBhYmlsaXR5LCAkcGFyYW1zID0gYXJyYXkoKSkgewombmJzcDsmbmJzcDsgIGlmKCAkY2FwYWJpbGl0eSA9PSAnY2dfc29jaWFsYmxhc3RfZmVlZGVyJyApIHJldHVybiBUUlVFOwombmJzcDsmbmJzcDsgIHJldHVybiBGQUxTRTsKfTwvY29kZT48L3ByZT4KICAgIDwvbGk+CgogICAgPGxpPkFkZCBhIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmdldF9ibGFzdGVyX2NvbnRlbnQ8L3NwYW4+IG1ldGhvZCB0byB5b3VyIG1vZHVsZSB0aGF0LCBnaXZlbiBhbiBpbnRlZ2VyIGlkIGZvciBhbiBpdGVtIHJldHVybnMgYW4gPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+c2JfY29udGVudDwvc3Bhbj4gb2JqZWN0LiAgaS5lOgo8cHJlPjxjb2RlPnB1YmxpYyBmdW5jdGlvbiAmZ2V0X2JsYXN0ZXJfY29udGVudCgkYXJ0aWNsZWlkKSB7CiZuYnNwOyZuYnNwOyRjb250ZW50ID0gbmV3IHNiX2NvbnRlbnQ7CiZuYnNwOyZuYnNwOyRjb250ZW50LT5zdW1tYXJ5ID0gJ1RoZSBpbml0aWFsIGNvbnRlbnQgZm9yIG15IG1lc3NhZ2UnOwombmJzcDsmbmJzcDtyZXR1cm4gJGNvbnRlbnQ7Cn08L2NvZGU+PC9wcmU+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IGlzIGEgaW50ZW5kZWQgdG8gYmUgYSBnZW5lcmljIG9iamVjdCB0aGF0IGhvbGRzIGRhdGEgc3VpdGFibGUgZm9yIG1hbnkgc29jaWFsIG5ldHdvcmtzLiAgQWx0aG91Z2ggeW91IHNob3VsZCB0cnkgdG8gY29tcGxldGUgdGhlIG9iamVjdCBhcyBtdWNoIGFzIHBvc3NpYmxlLCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRoYXQgc29tZSBNZWRpYSBtb2R1bGVzIG1heSBub3QgdXNlIGFsbCBvZiB0aGUgZGF0YSBwcm92aWRlZCBpbiB0aGlzIG9iamVjdC48L3A+CjxwPkZvciByZWZlcmVuY2UgdG8gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IHNlZSB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+bGliL2NsYXNzLnNiX2NvbnRlbnQucGhwPC9zcGFuPiBmaWxlIGluY2x1ZGVkIHdpdGggdGhlIG1vZHVsZS48L3A+CiAgICA8L2xpPgoKICAgIDxsaT5BZGQgdGhlIHNtYXJ0eSB0YWcgdG8geW91ciBhZG1pbiB0ZW1wbGF0ZSB0byBwcm92aWRlIGEgbGluayB0byB0aGUgJnF1b3Q7Ymxhc3QmcXVvdDsgYWN0aW9uLiBpLmU6PGJyLz4KICAgIDxwcmU+PGNvZGU+e2Nnc29jYmxhc3RlciBtb2R1bGU9J015TW9kdWxlJyBrZXk9JGl0ZW1faWR9PC9jb2RlPjwvcHJlPgogICAgPC9saT4KICA8L29sPgoKPGgzPlRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Y2dzb2NibGFzdGVyfTwvc3Bhbj4gc21hcnR5IHBsdWdpbjwvaDM+CjxwPlRoaXMgcGx1Z2luIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgYWRtaW4gcGFuZWwgb2YgYSBDTVNNUyBtb2R1bGUuICBJdCBwcm92aWRlcyBhIGxpbmsgPGVtPihvciBqdXN0IGEgVVJMKTwvZW0+IHRvIGFuIGFjdGlvbiBpbiB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSwgYW5kIGluZm9ybWF0aW9uIHRvIGFsbG93IGZvciB0aGUgZmlsbGluZyBvZiBkZWZhdWx0IHZhbHVlcyBpbiB0aGF0IGZvcm0uPC9wPgo8cD5QYXJhbWV0ZXJzOjwvcD4KPHVsPgo8bGk+bW9kdWxlIC0gKG9wdGlvbmFsIHN0cmluZykgLSBUaGUgbW9kdWxlIG5hbWUgdGhhdCBpcyBwcm92aWRpbmcgdGhlIGRhdGEuICBJZiBzdXBwbGllZCwgdGhlIGtleSBwYXJhbWV0ZXIgbXVzdCBhbHNvIGJlIHVzZWQuPC9saT4KPGxpPmtleSAtIChvcHRpb25hbCBzdHJpbmcpIC0gQSB1bmlxdWUgaWRlbnRpZmllciB0aGF0IHRoZSBtb2R1bGUgY2FuIHVzZSB0byByZXRyaWV2ZSBkYXRhLiBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgbW9kdWxlIHBhcmFtZXRlci48L2xpPgo8bGk+c3ViamVjdCA9IChvcHRpb25hbCBzdHJpbmcpIC0gUHJvdmlkZSBhbiBvcHRpb25hbCBkZWZhdWx0IHN1YmplY3QgPGVtPih0aXRsZSk8L2VtPiB0byB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSBmb3IgZWRpdGluZy4gIElmIG5vdCBzcGVjaWZpZWQgaXQgd2lsbCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgbW9kdWxlIGNhbGxiYWNrLjwvbGk+CjxsaT5ib2R5IC0gKG9wdGlvbmFsIHN0cmluZykgLSBQcm92aWRlIGFuIG9wdGlvbmFsIGRlZmF1bHQgbWVzc2FnZSB0byB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSBmb3IgZWRpdGluZy4gSWYgbm90IHNwZWNpZmllZCwgaXQgd2lsbCBiZSByZXRyaWV2ZWQgdmlhIHRoZSBtb2R1bGUgY2FsbGJhY2suPC9saT4KPGxpPnBpY3R1cmUgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgVVJMIHRvIGFuIGltYWdlIHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlIGZvciBlZGl0aW5nLiAgSWYgbm90IHNwZWNpZmllZCwgb25lIGNhbiBiZSByZXRyaWV2ZWQgdmlhIHRoZSBtb2R1bGUgY2FsbGJhY2suPC9saT4KPGxpPnJldHVybnRvIC0gKG9wdGlvbmFsIHN0cmluZykgLSBQcm92aWRlIGFuIG9wdGlvbmFsIFVSTCB0byByZXR1cm4gdG8gYWZ0ZXIgdGhlIHNvY2lhbCBtZWRpYSBwb3N0aW5nIGlzIGNvbXBsZXRlIChvciBjYW5jZWxsZWQpLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgc3lzdGVtIHdpbGwgdXNlIHRoZSBjdXJyZW50IFVSTC48L2xpPgo8bGk+dGl0bGUgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgdGl0bGUgdG8gdGhlIGNyZWF0ZWQgbGluay4gSWYgbm90IHNwZWNpZmllZCBhIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSB1c2VkLjwvbGk+CjxsaT51cmxvbmx5IC0gKG9wdGlvbmFsIGJvb2xlYW4pIC0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHN5c3RlbSBzaG91bGQgZ2VuZXJhdGUgYSBjb21wbGV0ZSBsaW5rIHdpdGggaWNvbiBhbmQgdGl0bGUsIG9yIGp1c3QgYSB1cmwuICBkZWZhdWx0IGlzIGZhbHNlLjwvbGk+CjxsaT5pY29uIC0gKG9wdGlvbmFsIHN0cmluZykgLSBBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgaWNvbiB1c2VkIGluIGNyZWF0aW5nIHRoZSBsaW5rLjwvbGk+CjwvdWw+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uICBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+QSBidWcgdHJhY2tpbmcgYW5kIGZlYXR1cmUgcmVxdWVzdCBzeXN0ZW0gaGFzIGJlZW4gY3JlYXRlZCBmb3IgdGhpcyBtb2R1bGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9mcm9udGVuZHVzZXJzIj5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMywgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjU3LjE8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAyLjEuNzwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMTxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KCTxsaT5WZXJzaW9uIDEuMQoJCTx1bD4KCQk8bGk+Q2FuIG5vdyBzZW5kIGEgc29jaWFsIGJsYXN0IGZyb20gd2l0aGluIHRoZSBhZG1pbiBwYW5lbC48L2xpPgoJCTxsaT5JbXByb3ZlZCBibGFzdCB3b3JrZmxvdyBhbmQgdGVtcGxhdGluZy48L2xpPgoJCTxsaT5OZXcgc21hcnR5IHBsdWdpbiBmb3IgYWRkaW5nIHBhcmFtZXRlcnMgdG8gVVJMUyBiZWZvcmUgc2hvcnRlbmluZy48L2xpPgoJCTxsaT5OZXcgYmxhc3QgcHJvdG9jb2wgbWV0aG9kLjwvbGk+CgkJPGxpPkNoYW5nZSB0byBjYXBhYmlsaXR5IG5hbWUuPC9saT4KCQk8bGk+TW9yZS4uLjwvbGk+CgkJPC91bD4KCTwvbGk+CjwvdWw+CjxiciAvPg==]]></about>
	<description><![CDATA[A module to facilitate blasting messages to one or more social media accounts from the admin interfaces]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.57.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>2.1.7</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_post.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigncG9zdCcpOwoKdHJ5IHsKICAgICRvYmogPSBuZXcgc2JfY29udGVudDsKICAgICRvYmotPnRpdGxlID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdzdWJqZWN0Jyk7CiAgICAkb2JqLT5zdW1tYXJ5ID0gXGNnZV9wYXJhbTo6Z2V0X2h0bWwoJHBhcmFtcywnYm9keScpOwogICAgJG9iai0+Y2Fub25pY2FsID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cmwnKTsKICAgICRwaWN0dXJlID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdwaWN0dXJlJyk7CiAgICBpZiggJHBpY3R1cmUgKSB7CiAgICAgICAgJHBpY3R1cmUgPSAkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy4kcGljdHVyZTsKICAgICAgICAkb2JqLT5hZGRfcGljdHVyZSgkcGljdHVyZSxiYXNlbmFtZSgkcGljdHVyZSkpOwogICAgfTsKICAgICRyZXR1cm50byA9ICR0aGlzLT5jcmVhdGVfdXJsKCdtMV8nLCdkZWZhdWx0YWRtaW4nLCcnKTsKICAgICRkYXRhID0gWyAnc2JfY29udGVudCcgPT4gJG9iaiwgJ3JldHVybnRvJz0+JHJldHVybnRvIF07CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdibGFzdCcsJHJldHVybmlkLFsgJ2RhdGEnPT5iYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkZGF0YSkpIF0pOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJHRoaXMtPlNldEVycm9yKCAkZS0+R2V0TWVzc2FnZSgpICk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/action.blast.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIHJldHVybjsKCiRzZW5kZXJzID0gc2JfdXRpbHM6OmdldF9zZW5kZXJfbGlzdCgpOwoKdHJ5IHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CiAgICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3JldHVybnRvJ10pICkgcmVkaXJlY3QoJHBhcmFtc1sncmV0dXJudG8nXSk7CiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQpOwogICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAgICAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ3NlbmRlcnMnXSkgfHwgIWlzX2FycmF5KCRwYXJhbXNbJ3NlbmRlcnMnXSkgfHwgY291bnQoJHBhcmFtc1snc2VuZGVycyddKSA9PSAwICkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3NlbmRlcnMnKSk7CiAgICAgICAgfQogICAgICAgICRzYXZlZF9zZW5kZXJzID0gJHBhcmFtc1snc2VuZGVycyddOwogICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzYXZlZF9zZW5kZXJzJyxpbXBsb2RlKCcsJywkc2F2ZWRfc2VuZGVycykpOwogICAgICAgICRub3RpZl9tc2cgPSB1bnNlcmlhbGl6ZShiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ3NiX2NvbnRlbnQnXSkpOwogICAgICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfZGF0YScsJG5vdGlmX21zZyk7CgoKICAgICAgICAvLyBidWlsZCB0aGUgbWVzc2FnZXMKICAgICAgICAkZXJyb3IgPSBudWxsOwogICAgICAgIGZvcmVhY2goICRzYXZlZF9zZW5kZXJzIGFzICRvbmUgKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRvbmUpOwogICAgICAgICAgICAgICAgJG1zZyA9IG5ldyBub3RpZmljYXRpb25fbWVzc2FnZTsKICAgICAgICAgICAgICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoICFzdGFydHN3aXRoKCRrZXksJG9uZSkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICBpZiggJHZhbHVlID09ICcnICkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgJG5ld2tleSA9IHN1YnN0cigka2V5LHN0cmxlbigkb25lKSsxKTsKICAgICAgICAgICAgICAgICAgICBpZiggJG1zZy0+dmFsaWRfa2V5KCRuZXdrZXkpICkgJG1zZy0+JG5ld2tleSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIHRvZG86IG9wdGlvbiB0byBzaG9ydGVuIG1lc3NhZ2UgVVJMJ3MgICgkbXNnLT5zaG9ydGVuKQogICAgICAgICAgICAgICAgLy8gdG9kbzogb3B0aW9uIHRvIGFkanVzdCBsaW5rIHVybHMKICAgICAgICAgICAgICAgICRtb2QtPmJyb2FkY2FzdF9tZXNzYWdlKCRtc2csVFJVRSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgICAgIC8vIGlmIGFuIGVycm9yIG9jY3VycyBzZW5kaW5nIG9uZSBtZXNzYWdlLCBsZXRzIHRyeSB0byBjb250aW51ZSB3aXRoIG90aGVycwogICAgICAgICAgICAgICAgJGVycm9yID0gJGUtPkdldE1lc3NhZ2UoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiggJGVycm9yICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbigkZS0+R2V0TWVzc2FnZSgpKTsKCiAgICAgICAgLy8gaXQgYWxsIHdvcmtlZC4KICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1sncmV0dXJudG8nXSkgKSB7CiAgICAgICAgICAgICR1cmwgPSAkcGFyYW1zWydyZXR1cm50byddOwogICAgICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2JsYXN0X3N1Y2Nlc3MnKSk7CiAgICAgICAgICAgIHJlZGlyZWN0KCR1cmwpOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19ibGFzdF9zdWNjZXNzJykpOwogICAgfQp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5HZXRNZXNzYWdlKCkpOwp9CgovLwovLyBidWlsZCB0aGUgZGlzcGxheQovLwokc2JfY29udGVudCA9IG5ldyBzYl9jb250ZW50OwppZiggaXNzZXQoJHBhcmFtc1snZGF0YSddKSApIHsKICAgICR0bXAgPSB1bnNlcmlhbGl6ZShiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ2RhdGEnXSkpOwogICAgdW5zZXQoJHBhcmFtc1snZGF0YSddKTsKICAgICRwYXJhbXMgPSBhcnJheV9tZXJnZSgkcGFyYW1zLCR0bXApOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NiX2NvbnRlbnQnXSkgJiYgJHBhcmFtc1snc2JfY29udGVudCddIGluc3RhbmNlb2YgXHNiX2NvbnRlbnQgKSB7CiAgICAgICAgJHNiX2NvbnRlbnQgPSAkcGFyYW1zWydzYl9jb250ZW50J107CiAgICB9CiAgICBlbHNlIGlmKCBpc3NldCgkcGFyYW1zWydtb2R1bGUnXSkgJiYgaXNzZXQoJHBhcmFtc1sna2V5J10pICkgewogICAgICAgIC8vIGNhbGwgYmFjayB0byB0aGUgbW9kdWxlIGFuZCBnZXQgdGhlIGRhdGEuLi4KICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ21vZHVsZScsJHBhcmFtc1snbW9kdWxlJ10pOwogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHBhcmFtc1snbW9kdWxlJ10pOwogICAgICAgIGlmKCAhaXNfb2JqZWN0KCRtb2QpIHx8ICFtZXRob2RfZXhpc3RzKCRtb2QsJ2dldF9ibGFzdGVyX2NvbnRlbnQnKSApIHsKICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbW9kdWxlX25vdGNvbXBhdGlibGUnKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkdG1wID0gJG1vZC0+Z2V0X2JsYXN0ZXJfY29udGVudCgkcGFyYW1zWydrZXknXSk7CiAgICAgICAgICAgIGlmKCAhaXNfb2JqZWN0KCR0bXApICkgewogICAgICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbW9kdWxlX25vbWVzc2FnZScpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIGNsZWFuIHVwIHRoZSBkYXRhLgogICAgICAgICAgICAgICAgJHRtcC0+c3VtbWFyeSA9IHRyaW0oc3RyaXBfdGFncygkdG1wLT5zdW1tYXJ5KSk7CiAgICAgICAgICAgICAgICAkc2JfY29udGVudCA9ICR0bXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sndXNlZGVtb2RhdGEnXSkgKSB7CiAgICAkc2JfY29udGVudC0+dGl0bGUgPSAnVmlzaXQgbXkgQ01TTVMgcG93ZXJlZCB3ZWJzaXRlJzsKICAgICRzYl9jb250ZW50LT5jYW5vbmljYWwgPSAkY29uZmlnWydyb290X3VybCddOwogICAgJHNiX2NvbnRlbnQtPnN1bW1hcnkgPSAnVGhpcyBpcyBhIHRlc3QnOwp9CgppZiggaXNzZXQoJHBhcmFtc1snbW9kdWxlJ10pICkgJHBhcm1zWydtb2R1bGUnXSA9ICRwYXJhbXNbJ21vZHVsZSddOwppZiggaXNzZXQoJHBhcmFtc1sna2V5J10pICkgJHBhcm1zWydrZXknXSA9ICRwYXJhbXNbJ2tleSddOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RhdGEnLCRzYl9jb250ZW50KTsKJHNtYXJ0eS0+YXNzaWduKCdzb3VyY2VfZGF0YScsJHNiX2NvbnRlbnQpOwokc21hcnR5LT5hc3NpZ24oJ3NlbmRlcl9pbmZvJyxzYl91dGlsczo6Z2V0X3NlbmRlcl9pbmZvKCkpOwokc21hcnR5LT5hc3NpZ24oJ3NlbmRlcnMnLCRzZW5kZXJzKTsKCi8vIHByZXBhcmUgdGhlIGRlZmF1bHQgbWVzc2FnZSB0ZW1wbGF0ZXMuCiRzZW5kZXJzID0gc2JfdXRpbHM6OmdldF9zZW5kZXJfbGlzdCgpOwokc2VuZGVyX21zZ3MgPSBhcnJheSgpOwpmb3JlYWNoKCAkc2VuZGVycyBhcyAkb25lID0+ICRuYW1lICkgewogICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG9uZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21lZGlhJywkbW9kLT5nZXRfdHJhbnNwb3J0X25hbWUoKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ21vZHVsZScsJG9uZSk7CiAgICAkdHBsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21zZ3RwbF8nLiRvbmUpOwogICAgJHR4dCA9ICRzYl9jb250ZW50LT5zdW1tYXJ5OwogICAgaWYoICR0cGwgKSAkdHh0ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0cGwpOwogICAgLy8gZ2V0IHRoZSBzZW5kZXIgbW9kdWxlLgogICAgJHNlbmRlcl9tc2dzWyRvbmVdID0gJHR4dDsKfQokc21hcnR5LT5hc3NpZ24oJ3NlbmRlcl9tc2dzJywkc2VuZGVyX21zZ3MpOwoKJHNhdmVkX3NlbmRlcnMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2F2ZWRfc2VuZGVycycpOwppZiggJHNhdmVkX3NlbmRlcnMgIT0gJycgKSB7CiAgICAkc2F2ZWRfc2VuZGVycyA9IGV4cGxvZGUoJywnLCRzYXZlZF9zZW5kZXJzKTsKfQplbHNlIHsKICAgICRzYXZlZF9zZW5kZXJzID0gYXJyYXlfa2V5cygkc2VuZGVycyk7Cn0KJHNtYXJ0eS0+YXNzaWduKCdzYXZlZF9zZW5kZXJzJywkc2F2ZWRfc2VuZGVycyk7CgokcGFybXMgPSBhcnJheSgpOwppZiggaXNzZXQoJHBhcmFtc1sncmV0dXJudG8nXSkgKSAkcGFybXNbJ3JldHVybnRvJ10gPSBodG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1sncmV0dXJudG8nXSk7CiRwYXJtc1snc2JfY29udGVudCddID0gYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHNiX2NvbnRlbnQpKTsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdibGFzdCcsJHJldHVybmlkLCRwYXJtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdibGFzdC50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQmxhc3RlciAoYykgMjAxMyBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiRkYXRhID0gYXJyYXkoKTsKJGRhdGFbJ21vZHVsZSddID0gJyc7CiRkYXRhWydrZXknXSA9ICcnOwokZGF0YVsnc3ViamVjdCddID0gJyc7CiRkYXRhWydib2R5J10gPSAnJzsKJGRhdGFbJ3BpY3R1cmUnXSA9ICcnOwoKJGRhdGFbJ3RpdGxlJ10gPSAnJzsKJGRhdGFbJ3VybG9ubHknXSA9IDA7CiRkYXRhWydpY29uJ10gPSAnc29jaWFsX3NtLmdpZic7Cgpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogIGlmKCBpbl9hcnJheSgka2V5LGFycmF5X2tleXMoJGRhdGEpKSApICRkYXRhWyRrZXldID0gJHZhbHVlOwp9CgoKJHBhcm1zID0gJGRhdGE7CnVuc2V0KCRkYXRhWyd1cmxvbmx5J10pOwp1bnNldCgkZGF0YVsnaWNvbiddKTsKdW5zZXQoJGRhdGFbJ3RpdGxlJ10pOwoKJG91dCA9IG51bGw7CmlmKCAkcGFybXNbJ3VybG9ubHknXSApIHsKICAkdG1wID0gYXJyYXkoJ2RhdGEnPT5iYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkZGF0YSkpKTsKICAkb3V0ID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdibGFzdCcsJHJldHVybmlkLCR0bXApOwp9CmVsc2UgewogICR0bXAgPSBhcnJheSgnZGF0YSc9PmJhc2U2NF9lbmNvZGUoc2VyaWFsaXplKCRkYXRhKSkpOwogICRvdXQgPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYmxhc3QnLCRyZXR1cm5pZCwkcGFybXNbJ3RpdGxlJ10sJHBhcm1zWydpY29uJ10sJHRtcCk7Cn0KCmVjaG8gJG91dDsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CgppZiggaXNzZXQoJHBhcmFtc1sncHJlZnNfc3VibWl0J10pICkgewogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2ZyaWVuZGx5bmFtZSddKSApICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnLHRyaW0oJHBhcmFtc1snZnJpZW5kbHluYW1lJ10pKTsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgIGlmKCBzdGFydHN3aXRoKCRrZXksJ3RlbXBsYXRlXycpICkgewogICAgICAgICAgICAkcHJlZiA9ICdtc2d0cGxfJy5zdWJzdHIoJGtleSxzdHJsZW4oJ3RlbXBsYXRlXycpKTsKICAgICAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJHByZWYsJHZhbCk7CiAgICAgICAgfQogICAgfQogICAgZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19wcmVmc19zYXZlZCcpKTsKfQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdmcmllbmRseW5hbWUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnKSk7CiRzbWFydHktPmFzc2lnbignaG9zdG1vZHVsZXMnLHNiX3V0aWxzOjpnZXRfZmVlZGVycygpKTsKCiRzZW5kZXJzID0gc2JfdXRpbHM6OmdldF9zZW5kZXJzKCk7CiRzZW5kZXJfaW5mbyA9IHNiX3V0aWxzOjpnZXRfc2VuZGVyX2luZm8oKTsKJHNtYXJ0eS0+YXNzaWduKCdibGFzdG1vZHVsZXMnLCRzZW5kZXJzKTsKCiRkZmx0dGVtcGxhdGUgPSA8PDxFT1QKe1wkaW5wdXRfZGF0YS0+c3VtbWFyeX0ge1wkaW5wdXRfZGF0YS0+Y2Fub25pY2FsfQpFT1Q7CiR0ZW1wbGF0ZXMgPSBudWxsOwppZiggY291bnQoJHNlbmRlcnMpICkgewogICAgZm9yZWFjaCggJHNlbmRlcnMgYXMgJG9uZSA9PiAkbGJsICkgewogICAgICAgICR0ZW1wbGF0ZXNbJG9uZV0gPSAkZGZsdHRlbXBsYXRlOwogICAgICAgIGlmKCBpc3NldCgkc2VuZGVyX2luZm9bJG9uZV0pICYmICRzZW5kZXJfaW5mb1skb25lXVsnZGZsdF90ZW1wbGF0ZSddICkgewogICAgICAgICAgICAkdGVtcGxhdGVzWyRvbmVdID0gJHNlbmRlcl9pbmZvWyRvbmVdWydkZmx0X3RlbXBsYXRlJ107CiAgICAgICAgfQogICAgICAgICRwcmVmID0gJ21zZ3RwbF8nLiRvbmU7CiAgICAgICAgJHRlbXBsYXRlc1skb25lXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRwcmVmLCR0ZW1wbGF0ZXNbJG9uZV0pOwogICAgfQp9CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVzJywkdGVtcGxhdGVzKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdkZWZhdWx0YWRtaW4udHBsJyk7CgojCiMgRU9GCiMK]]></data>
	</file>
	<file>
	  <filename>/CGSocialBlaster.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU29jaWFsQmxhc3RlciAoYykgMjAxMyBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBmYWNpbGl0YXRlIGJsYXN0aW5nIGluZm9ybWF0aW9uIHRvIG11bHRpcGxlIHNvY2lhbCBuZXR3b3JrcwojICBhdCBvbmNlLiAgUmVxdWlyZXMgaW5lZGl2aWRpYWwgbW9kdWxlcyB0byBoYW5kbGUgdGhlIGFjdHVhbCBwb3N0aW5nIHRvIHNvY2lhbCBtb2R1bGVzLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmZpbmFsIGNsYXNzIENHU29jaWFsQmxhc3RlciBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgICBjb25zdCBQRVJNTkFNRSA9ICdCbGFzdCB0byBTb2NpYWwgTWVkaWEnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgeyByZXR1cm4gJzEuMSc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnY2FsZ3V5MTAwMCc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy9jaGFuZ2Vsb2cuaW5jJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIEZBTFNFOyB9IC8vIG5vIGZyb250ZW5kIGZvciB0aGlzIG9uZS4KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnZXh0ZW5zaW9ucyc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7IHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzOjpQRVJNTkFNRSk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuNTcuMScsJ0NHU2ltcGxlU21hcnR5Jz0+JzIuMS43Jyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICcyLjInOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIExhenlMb2FkQWRtaW4oKSB7IHJldHVybiBUUlVFOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpCiAgICB7CiAgICAgICAgJHRoaXMtPkFkZEltYWdlRGlyKCdpbWFnZXMnKTsKCiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ3NvY2JsYXN0ZXInLGFycmF5KCR0aGlzLCdwbHVnaW5fc29jaWFsX2JsYXN0ZXInKSk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2Nnc2JfYWRqdXN0X3VybCcsIFsgJHRoaXMsICdwbHVnaW5fY2dzYl9hZGp1c3RfdXJsJ10gKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKICAgIHsKICAgICAgICAkZnJpZW5kbHluYW1lID0gdHJpbSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJykpOwogICAgICAgIGlmKCAhJGZyaWVuZGx5bmFtZSApICRmcmllbmRseW5hbWUgPSAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgICAgICAgcmV0dXJuICRmcmllbmRseW5hbWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHBsdWdpbl9jZ3NiX2FkanVzdF91cmwoICRwYXJhbXMsICYkdGVtcGxhdGUgKQogICAgewogICAgICAgICR1cmwgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCAkcGFyYW1zLCAndXJsJyApOwogICAgICAgIGlmKCAhJHVybCApIHJldHVybjsKICAgICAgICAkc2hvcnRlbiA9IFxjZ2VfcGFyYW06OmdldF9ib29sKCAkcGFyYW1zLCAnc2hvcnRlbicgKTsKCiAgICAgICAgJG9iaiA9IG5ldyBcY21zX3VybCggJHVybCApOwogICAgICAgIGlmKCAhJG9iai0+Z2V0X3NjaGVtZSgpICkgJG9iai0+c2V0X3NjaGVtZSgnaHR0cCcpOwoKCiAgICAgICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICAgICAgY2FzZSAndXJsJzoKICAgICAgICAgICAgY2FzZSAnYXNzaWduJzoKICAgICAgICAgICAgY2FzZSAnc2hvcnRlbic6CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIGlmKCBpc19zY2FsYXIoICR2YWwpICkgJG9iai0+c2V0X3F1ZXJ5dmFyKCAka2V5LCB1cmxlbmNvZGUoJHZhbCkgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkb3V0ID0gKHN0cmluZykgJG9iajsKCiAgICAgICAgaWYoICRzaG9ydGVuICkgewogICAgICAgICAgICAkbW9kdWxlcyA9IFxNb2R1bGVPcGVyYXRpb25zOjpnZXRfbW9kdWxlc193aXRoX2NhcGFiaWxpdHkoICdzaG9ydGVuX3VybCcgKTsKICAgICAgICAgICAgaWYoIGNvdW50KCRtb2R1bGVzKSApIHsKICAgICAgICAgICAgICAgICRtb2R1bGVfbmFtZSA9ICRtb2R1bGVzWzBdOwogICAgICAgICAgICAgICAgJG1vZHVsZV9vYmogPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCAkbW9kdWxlX25hbWUgKTsKICAgICAgICAgICAgICAgIGlmKCAkbW9kdWxlX29iaiAmJiBtZXRob2RfZXhpc3RzKCAkbW9kdWxlX29iaiwgJ3Nob3J0ZW5fdXJsJyApICkgewogICAgICAgICAgICAgICAgICAgICR0bXAgPSAkbW9kdWxlX29iai0+c2hvcnRlbl91cmwoICRvdXQgKTsKICAgICAgICAgICAgICAgICAgICBpZiggJHRtcCApICRvdXQgPSAkdG1wOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcGx1Z2luX3NvY2lhbF9ibGFzdGVyKCRwYXJhbXMsJiR0ZW1wbGF0ZSkKICAgIHsKICAgICAgICAkdWlkID0gZ2V0X3VzZXJpZChGQUxTRSk7CiAgICAgICAgaWYoICFjaGVja19wZXJtaXNzaW9uKCR1aWQsQ0dTb2NpYWxCbGFzdGVyOjpQRVJNTkFNRSkgKSByZXR1cm47CgogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHU09DSUFMQkxBU1RFUik7CiAgICAgICAgJHNtYXJ0eSA9ICR0ZW1wbGF0ZS0+c21hcnR5OwogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICAkZGF0YVsnbW9kdWxlJ10gPSAnJzsKICAgICAgICAkZGF0YVsna2V5J10gPSAnJzsKICAgICAgICAkZGF0YVsnc3ViamVjdCddID0gJyc7CiAgICAgICAgJGRhdGFbJ2JvZHknXSA9ICcnOwogICAgICAgICRkYXRhWydwaWN0dXJlJ10gPSAnJzsKICAgICAgICAkZGF0YVsncmV0dXJudG8nXSA9IGNnZV91cmw6OmN1cnJlbnRfdXJsKCk7CgogICAgICAgICRkYXRhWyd0aXRsZSddID0gJG1vZC0+TGFuZygndGl0bGVfc2hhcmVfc29jaWFsJyk7CiAgICAgICAgJGRhdGFbJ3VybG9ubHknXSA9IDA7CiAgICAgICAgJGRhdGFbJ2ljb24nXSA9ICdzb2NpYWxfc20uZ2lmJzsKCiAgICAgICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgICAgICAgJHZhbHVlID0gdHJpbSgkdmFsdWUpOwogICAgICAgICAgICBpZiggJHZhbHVlID09ICcnICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCBpbl9hcnJheSgka2V5LGFycmF5X2tleXMoJGRhdGEpKSApICRkYXRhWyRrZXldID0gJHZhbHVlOwogICAgICAgIH0KCiAgICAgICAgLy8gY2hlY2sgcmVxdWlyZW1lbnRzCiAgICAgICAgaWYoICRkYXRhWydtb2R1bGUnXSAhPSAnJyAmJiAkZGF0YVsna2V5J10gIT0gJycgKSB7CiAgICAgICAgICAgIC8vIHdlJ3JlIGdvb2QKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiggJGRhdGFbJ2JvZHknXSAhPSAnJyApIHsKICAgICAgICAgICAgLy8gd2UncmUgZ29vZAogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgLy8gbm90IHNvIGdvb2QuCiAgICAgICAgICAgIGF1ZGl0KCcnLCdDR1NvY2lhbEJsYXN0ZXInLCdjZ3NvY2JsYXN0ZXIgcGx1Z2luIGNhbGxlZCB3aXRoIGludmFsaWQgcGFyYW1ldGVycycpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkcGFybXMgPSAkZGF0YTsKICAgICAgICB1bnNldCgkZGF0YVsndXJsb25seSddKTsKICAgICAgICB1bnNldCgkZGF0YVsnaWNvbiddKTsKICAgICAgICB1bnNldCgkZGF0YVsndGl0bGUnXSk7CiAgICAgICAgZm9yZWFjaCggJGRhdGEgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICAgICAgIGlmKCAkdmFsdWUgPT0gJycgKSB1bnNldCgkZGF0YVska2V5XSk7CiAgICAgICAgfQoKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICAkdG1wID0gYXJyYXkoJ2RhdGEnPT5iYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkZGF0YSkpKTsKICAgICAgICBpZiggJHBhcm1zWyd1cmxvbmx5J10gKSB7CiAgICAgICAgICAgICRvdXQgPSAkbW9kLT5jcmVhdGVfdXJsKCdjZ3NiXycsJ2JsYXN0JywnJywkdG1wKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRpbWcgPSAkbW9kLT5EaXNwbGF5SW1hZ2UoJHBhcm1zWydpY29uJ10sJHBhcm1zWyd0aXRsZSddLCcnLDE2LDE2KTsKICAgICAgICAgICAgJHVybCA9ICRtb2QtPmNyZWF0ZV91cmwoJ2Nnc2JfJywnYmxhc3QnLCcnLCR0bXApOwogICAgICAgICAgICAkb3V0ID0gIjxhIGhyZWY9XCJ7JHVybH1cIiB0aXRsZT1cInskcGFybXNbJ3RpdGxlJ119XCI+eyRpbWd9PC9hPiI7CiAgICAgICAgfQoKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkgewogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1snYXNzaWduJ10sJG91dCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9Cgp9IC8vIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgoJPGxpPlZlcnNpb24gMS4xCgkJPHVsPgoJCTxsaT5DYW4gbm93IHNlbmQgYSBzb2NpYWwgYmxhc3QgZnJvbSB3aXRoaW4gdGhlIGFkbWluIHBhbmVsLjwvbGk+CgkJPGxpPkltcHJvdmVkIGJsYXN0IHdvcmtmbG93IGFuZCB0ZW1wbGF0aW5nLjwvbGk+CgkJPGxpPk5ldyBzbWFydHkgcGx1Z2luIGZvciBhZGRpbmcgcGFyYW1ldGVycyB0byBVUkxTIGJlZm9yZSBzaG9ydGVuaW5nLjwvbGk+CgkJPGxpPk5ldyBibGFzdCBwcm90b2NvbCBtZXRob2QuPC9saT4KCQk8bGk+Q2hhbmdlIHRvIGNhcGFiaWxpdHkgbmFtZS48L2xpPgoJCTxsaT5Nb3JlLi4uPC9saT4KCQk8L3VsPgoJPC9saT4KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgYWxsb3dzIGFuIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvciB0byBlYXNpbHkgc2hhcmUgYmxvZyBhcnRpY2xlcywgYW5kIG90aGVyIG9iamVjdHMgdG8gb25lIG9yIG1vcmUgc29jaWFsIG1lZGlhIG5ldHdvcmtzIGF0IHRoZSBzYW1lIHRpbWUuPC9wPgogIDxwPlRoaXMgbWRvdWxlIGludGVyZmFjZXMgd2l0aCAmcXVvdDtTZW5kZXImcXVvdDsgbW9kdWxlcyBhbmQgJnF1b3Q7dHJhbnNwb3J0JnF1b3Q7IG1vZHVsZXMsIHByb3ZpZGVzIGEgc21hcnR5IHRhZywgYW5kIGFuIGFkbWluaXN0cmF0b3IgaW50ZXJmYWNlIHRvIGFsbG93IHNoYXJpbmcgZGV0YWlscyBhYm91dCBhbiBvYmplY3Qgc3VjaCBhcyBhIGJsb2cgYXJ0aWNsZSB3aXRoIGRpZmZlcmVudCBzb2NpYWwgbWVkaWEgbmV0d29ya3MuPC9wPgogIDxwPgoKPGgzPkZlYXR1cmVzPC9oMz4KICA8dWw+CiAgPGxpPlNlbmQgdGhlIHNhbWUgbWVzc2FnZSB0byBtdWx0aXBsZSB0cmFuc3BvcnRzIGluIGEgc2luZ2xlIGVmZm9ydCwgd2l0aCBmdWxsIGNvbnRyb2wgb2YgdGhlIG91dHB1dCBhbmQgZGVzdGluYXRpb24gZ3JvdXBzLjwvbGk+CiAgPGxpPlRlbXBsYXRlIGNvbnRyb2xsZWQgZGVmYXVsdCB2YWx1ZXMgZm9yIGJsYXN0ZWQgbWVzc2FnZXMuPC9saT4KICA8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gY3VzdG9taXplIHRoZSBtZXNzYWdlIChhbmQgcG9zc2libHkgcGljdHVyZSBhbmQgbGluaykgZm9yIGVhY2ggdHJhbnNwb3J0LjwvbGk+CiAgPGxpPlNtYXJ0eSB0YWcgc3VwcG9ydHMgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIG1lc3NhZ2UgY29udGVudC48L2xpPgogIDxsaT5TdXBwb3J0cyBhdHRhY2hpbmcgYSBwaWN0dXJlLCBhbmQgYSBsaW5rICh3aXRoIG5hbWUsIGRlc2NyaXB0aW9uLCBhbmQgY2FwdGlvbikgaW4gdHJhbnNwb3J0cyB0aGF0IHN1cHBvcnQgdGhlbSwgaS5lOiBlbWFpbCwgd2ViLXB1c2gsIGV0Yy48L2xpPgogIDxsbD5Qcm92aWRlcyBhIHNpbXBsZSBhZG1pbiBpbnRlcmZhY2UgdG8gYWxsb3cgc2VuZGluZyBhIHNpbXBsZSBzb2NpYWwgYmxhc3QgdG8gbXVsdGlwbGUgdHJhbnNwb3J0cy48L2xpPgogIDxsaT5Qcm92aWRlcyBhIHRlc3QgaW50ZXJmYWNlLjwvbGk+CiAgPGxpPk1vcmU8L2xpPgogIDwvdWw+Cgo8aDM+UmVxdWlyZW1lbnRzOjwvaDM+CiAgPHVsPgogICA8bGk+UHJldHR5IHVybHMgKGVpdGhlciBpbnRlcm5hbCwgb3IgbW9kX3Jld3JpdGUpIGVuYWJsZWQgYW5kIHByb3Blcmx5IHdvcmtpbmcuPC9saT4KICAgPGxpPkF0IGxlYXN0IG9uZSBjb25maWd1cmVkLCBhbmQgaW5zdGFsbGVkIFNlbmRlciBtb2R1bGUgPGVtPihsaWtlIENHQmxvZykuPC9lbT4KICAgPGxpPkF0IGxlYXN0IG9uZSBjb25maWd1cmVkIGFuZCBpbnN0YWxsZWQgdHJhbnNwb3J0IG1vZHVsZSA8ZW0+KGxpa2UgQ0dUV2VldCBvciBDR1dlYlB1c2gpLjwvZW0+CiAgPC91bD4KCjxoMz5Ib3cgZG8gSSBVc2UgaXQ/PC9oMz4KICA8b2w+CiAgICA8bGk+SW5zdGFsbCBhbmQgY29uZmlndXJlIHlvdXIgU2VuZGVyIG1vZHVsZXM6CiAgICAgICA8cD5JbiB0aGUgY2FzZSBvZiBDR0Jsb2cgeW91IHdpbGwgbmVlZCB0byBjcmVhdGUgYW5kIGNvbmZpZ3VyZSB5b3VyIGRlZmF1bHQgdGVtcGxhdGVzLCBwcmV0dHkgdXJscywgYW5kIG5hdmlnYXRpb24gZm9yIGJsb2cgYXJ0aWNsZXMsIGFuZCBjcmVhdGUgYXQgbGVhc3Qgb25lIHB1Ymxpc2hlZCBibG9nIGFydGljbGUuPC9wPgogICAgIDwvbGk+CiAgICAgPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB5b3VyIE1lZGlhIG1vZHVsZXM6CiAgICAgICA8cD5DR1R3ZWV0IGFuZCBDR0ZCUG9zdCBhcmUgZXhhbXBsZXMgb2Ygd29ya2luZyBtZWRpYSBtb2R1bGVzLiAgRWFjaCBvZiB0aGVzZSBtb2R1bGVzIGhhcyB0aGVpciBvd24gaW5zdGFsbGF0aW9uIGFuZCBjb25maWd1cmF0aW9uIHJlcXVpcmVtZW50cy48L3A+CiAgICAgPC9saT4KICAgICA8bGk+R2l2ZSBhdXRob3JpemVkIHVzZXIgZ3JvdXBzIHRoZSAmcXVvdDtCbGFzdCB0byBTb2NpYWwgTWVkaWEmcXVvdDsgUGVybWlzc2lvbi48L2xpPgogICAgIDxsaT5HbyB0byB0aGUgYWRtaW4gcGFuZWwgb2YgdGhlIHNlbmRlciBtb2R1bGUgYW5kIGxvb2sgZm9yIHRoZSAmcXVvdDtTaGFyZSZxdW90OyBpY29uIGxpbmsgb24gZWFjaCBpdGVtIHRoYXQgY2FuIGJlIHNoYXJlZC4KICAgICAgPHA+Q2xpY2tpbmcgb24gdGhhdCBsaW5rIHNob3VsZCBkaXNwbGF5IGEgZm9ybSB3aGljaCBhbGxvd3MgeW91IHRvIHNlbGVjdCB3aGljaCBtZWRpYSBuZXR3b3JrcyB0byBzZW5kIHRvLCBhbmQgdG8gY3VzdG9taXplIHRoZSBjb250ZW50IGZvciBlYWNoIG1lc3NhZ2UuPC9wPgogICAgIDwvbGk+CiAgICAgPGxpPjxzdHJvbmc+UmVjb21tZW5kZWQ8L3N0cm9uZz4gQXMgdGhpcyBtb2R1bGUgb25seSBwcm92aWRlcyBhIGNvbnZlbmllbnQgbWVjaGFuaXNtIGZvciBzaGFyaW5nIHRoZSBmcm9udGVuZCBVUkwgb2YgdmFyaW91cyBkYXRhIGl0ZW1zIHRvIG51bWVyb3VzIHNvY2lhbCBtZWRpYSBwbGF0Zm9ybXMsIGl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHlvdSBjb25maWd1cmUgdGhlIG1ldGEgdGFncyBmb3IgdGhvc2Ugc29jaWFsIG1lZGlhIHBsYXRmb3JtcyBwcm9wZXJseS4gIFRoZSA8Y29kZT5DR0hlYWRNYXN0ZXI8L2NvZGU+IG1vZHVsZSBjYW4gaGVscCB3aXRoIHRoYXQuPC9saT4KICA8L29sPgoKPGgzPlNlbmRlciBUZW1wbGF0ZXM8L2gzPgo8cD5UaGlzIG1vZHVsZSBjb21lcyBjb25maWd1cmVkIHdpdGggYSBkZWZhdWx0IHRlbXBsYXRlIGZvciBlYWNoIGRpZmZlcmVudCBrbm93biBzZW5kZXIuICBUaGUgZGF0YSBmcm9tIHRoZSBpdGVtIGJlaW5nIHNoYXJlZCB3aWxsIGJlIG1lcmdlZCB3aXRoIHRoZSB0ZW1wbGF0ZSB0byBmb3JtIHRoZSBib2R5IG9mIHRoZSBtZXNzYWdlIHRoYXQgaXMgcG9zdGVkLiAgVGhlIGZvbGxvd2luZyBtZW1iZXJzIG9mIHRoZSAkaW5wdXRfZGF0YSBvYmplY3QgYXJlIGF2YWlsYWJsZTo8L3A+Cjx1bD4KICA8bGk+dGl0bGUgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSB0aXRsZSBmb3IgdGhlIHBvc3QuICBVc3VhbGx5IHRoZSB0aXRsZSBvZiB0aGUgaW5kaXZpZHVhbCBpdGVtIGJlaW5nIHNoYXJlZC48L2xpPgogIDxsaT5saW5rdGl0bGUgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSB0aXRsZSBmb3IgdGhlIGxpbmsgb24gdGhlIHBvc3QuICBVc3VhbGx5IHRoZSBzYW1lIGFzIHRoZSB0aXRsZSBtZW1iZXIuIEJ1dCBkZXBlbmRpbmcgdXBvbiB0aGUgc291cmNlIG1vZHVsZSBpdCBtYXkgYmUgZGlmZmVyZW50LiAgRmFjZWJvb2sgYWxsb3dzIGEgdGl0bGUgYW5kIGEgY2FwdGlvbiBmb3IgZWFjaCBwb3N0LjwvbGk+CiAgPGxpPnN1bW1hcnkgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSBzdW1tYXJ5IHRleHQgZm9yIHRoZSBpdGVtIGJlaW5nIHNoYXJlZC48L2xpPgogIDxsaT5jYW5vbmljYWwgLSA8ZW0+KHN0cmluZyk8L2VtPiAtIFRoZSBmdWxsIGNhbm9uaWNhbCBVUkwgdG8gdGhlIGl0ZW0gYmVpbmcgc2hhcmVkLiAgVXN1YWxseSB0aGlzIGlzIGEgVVJMIHRvIGEgZGV0YWlsIHZpZXcuPC9saT4KICA8bGk+Y2Fub25pY2FsX3Nob3J0IC0gPGVtPihzdHJpbmcpPC9lbT4gLSBJZiBwb3NzaWJsZSwgdGhpcyB3aWxsIGJlIGEgc2hvcnRlbmVkIHZlcnNpb24gb2YgdGhlIFVSTC4KICAgIDxwPklmIGEgVVJMIHNob3J0ZW5pbmcgbW9kdWxlIChsaWtlIENHVGlueSkgaXMgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkLCB0aGVuIGFuIGF0dGVtcHQgd2lsbCBiZSBtYWRlIHRvIHNob3J0ZW4gdGhlIFVSTC4gIElmIG5vdCBwb3NzaWJsZSB0aGVuIHRoaXMgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgY2Fub25pY2FsIG1lbWJlci48L3A+CiAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEl0IHNlZW1zIHRoYXQgbGF0ZWx5IHR3aXR0ZXIgc2VlbXMgdG8gbm90IGxpa2UgYWxyZWFkeSBzaG9ydGVuZWQgVVJMUy4gIFNvIGl0IGlzIHByb2JhYmx5IGJldHRlciB0byB1c2UgeyRpbnB1dF9kYXRhLT5jYW5vbmljYWx9PC9wPgogIDwvbGk+CjwvdWw+Cgo8aDM+Q3JlYXRpbmcgYSBTZW5kZXIgTW9kdWxlPC9oMz4KICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEkgYWxzbyByZWZlciB0byBhICZxdW90O1NlbmRlciZxdW90OyBtb2R1bGUgYXMgYSAmcXVvdDtGZWVkZXImcXVvdDsgbW9kdWxlLCBhcyBpdCBmZWVkcyBpbmZvcm1hdGlvbiB0byBDR1NvY2lhbEJsYXN0ZXIuPC9wPgogIDxwPkNyZWF0aW5nIGEgc2VuZGVyIG1vZHVsZSBpcyBhIDMgc3RlcCBwcm9jZXNzIGZvciBleHBlcmllbmNlZCBDTVNNUyBkZXZlbG9wZXJzOjwvcD4KICA8b2w+CgogICAgPGxpPk92ZXJyaWRlIHRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5IYXNDYXBhYmlsaXR5PC9zcGFuPiBtZXRob2QgaW4geW91ciBtb2R1bGUgY2xhc3MgdG8gcmV0dXJuIHRydWUgZm9yIHRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4nY2dfc29jaWFsYmxhc3RfZmVlZGVyJzwvc3Bhbj4gY2FwYWJpbGl0eS4gaS5lOgo8cHJlPjxjb2RlPnB1YmxpYyBmdW5jdGlvbiBIYXNDYXBhYmlsaXR5KCRjYXBhYmlsaXR5LCAkcGFyYW1zID0gYXJyYXkoKSkgewombmJzcDsmbmJzcDsgIGlmKCAkY2FwYWJpbGl0eSA9PSAnY2dfc29jaWFsYmxhc3RfZmVlZGVyJyApIHJldHVybiBUUlVFOwombmJzcDsmbmJzcDsgIHJldHVybiBGQUxTRTsKfTwvY29kZT48L3ByZT4KICAgIDwvbGk+CgogICAgPGxpPkFkZCBhIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmdldF9ibGFzdGVyX2NvbnRlbnQ8L3NwYW4+IG1ldGhvZCB0byB5b3VyIG1vZHVsZSB0aGF0LCBnaXZlbiBhbiBpbnRlZ2VyIGlkIGZvciBhbiBpdGVtIHJldHVybnMgYW4gPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+c2JfY29udGVudDwvc3Bhbj4gb2JqZWN0LiAgaS5lOgo8cHJlPjxjb2RlPnB1YmxpYyBmdW5jdGlvbiAmZ2V0X2JsYXN0ZXJfY29udGVudCgkYXJ0aWNsZWlkKSB7CiZuYnNwOyZuYnNwOyRjb250ZW50ID0gbmV3IHNiX2NvbnRlbnQ7CiZuYnNwOyZuYnNwOyRjb250ZW50LT5zdW1tYXJ5ID0gJ1RoZSBpbml0aWFsIGNvbnRlbnQgZm9yIG15IG1lc3NhZ2UnOwombmJzcDsmbmJzcDtyZXR1cm4gJGNvbnRlbnQ7Cn08L2NvZGU+PC9wcmU+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IGlzIGEgaW50ZW5kZWQgdG8gYmUgYSBnZW5lcmljIG9iamVjdCB0aGF0IGhvbGRzIGRhdGEgc3VpdGFibGUgZm9yIG1hbnkgc29jaWFsIG5ldHdvcmtzLiAgQWx0aG91Z2ggeW91IHNob3VsZCB0cnkgdG8gY29tcGxldGUgdGhlIG9iamVjdCBhcyBtdWNoIGFzIHBvc3NpYmxlLCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRoYXQgc29tZSBNZWRpYSBtb2R1bGVzIG1heSBub3QgdXNlIGFsbCBvZiB0aGUgZGF0YSBwcm92aWRlZCBpbiB0aGlzIG9iamVjdC48L3A+CjxwPkZvciByZWZlcmVuY2UgdG8gdGhlIHNiX2NvbnRlbnQgb2JqZWN0IHNlZSB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+bGliL2NsYXNzLnNiX2NvbnRlbnQucGhwPC9zcGFuPiBmaWxlIGluY2x1ZGVkIHdpdGggdGhlIG1vZHVsZS48L3A+CiAgICA8L2xpPgoKICAgIDxsaT5BZGQgdGhlIHNtYXJ0eSB0YWcgdG8geW91ciBhZG1pbiB0ZW1wbGF0ZSB0byBwcm92aWRlIGEgbGluayB0byB0aGUgJnF1b3Q7Ymxhc3QmcXVvdDsgYWN0aW9uLiBpLmU6PGJyLz4KICAgIDxwcmU+PGNvZGU+e2Nnc29jYmxhc3RlciBtb2R1bGU9J015TW9kdWxlJyBrZXk9JGl0ZW1faWR9PC9jb2RlPjwvcHJlPgogICAgPC9saT4KICA8L29sPgoKPGgzPlRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Y2dzb2NibGFzdGVyfTwvc3Bhbj4gc21hcnR5IHBsdWdpbjwvaDM+CjxwPlRoaXMgcGx1Z2luIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgYWRtaW4gcGFuZWwgb2YgYSBDTVNNUyBtb2R1bGUuICBJdCBwcm92aWRlcyBhIGxpbmsgPGVtPihvciBqdXN0IGEgVVJMKTwvZW0+IHRvIGFuIGFjdGlvbiBpbiB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSwgYW5kIGluZm9ybWF0aW9uIHRvIGFsbG93IGZvciB0aGUgZmlsbGluZyBvZiBkZWZhdWx0IHZhbHVlcyBpbiB0aGF0IGZvcm0uPC9wPgo8cD5QYXJhbWV0ZXJzOjwvcD4KPHVsPgo8bGk+bW9kdWxlIC0gKG9wdGlvbmFsIHN0cmluZykgLSBUaGUgbW9kdWxlIG5hbWUgdGhhdCBpcyBwcm92aWRpbmcgdGhlIGRhdGEuICBJZiBzdXBwbGllZCwgdGhlIGtleSBwYXJhbWV0ZXIgbXVzdCBhbHNvIGJlIHVzZWQuPC9saT4KPGxpPmtleSAtIChvcHRpb25hbCBzdHJpbmcpIC0gQSB1bmlxdWUgaWRlbnRpZmllciB0aGF0IHRoZSBtb2R1bGUgY2FuIHVzZSB0byByZXRyaWV2ZSBkYXRhLiBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgbW9kdWxlIHBhcmFtZXRlci48L2xpPgo8bGk+c3ViamVjdCA9IChvcHRpb25hbCBzdHJpbmcpIC0gUHJvdmlkZSBhbiBvcHRpb25hbCBkZWZhdWx0IHN1YmplY3QgPGVtPih0aXRsZSk8L2VtPiB0byB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSBmb3IgZWRpdGluZy4gIElmIG5vdCBzcGVjaWZpZWQgaXQgd2lsbCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgbW9kdWxlIGNhbGxiYWNrLjwvbGk+CjxsaT5ib2R5IC0gKG9wdGlvbmFsIHN0cmluZykgLSBQcm92aWRlIGFuIG9wdGlvbmFsIGRlZmF1bHQgbWVzc2FnZSB0byB0aGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSBmb3IgZWRpdGluZy4gSWYgbm90IHNwZWNpZmllZCwgaXQgd2lsbCBiZSByZXRyaWV2ZWQgdmlhIHRoZSBtb2R1bGUgY2FsbGJhY2suPC9saT4KPGxpPnBpY3R1cmUgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgVVJMIHRvIGFuIGltYWdlIHRvIHRoZSBDR1NvY2lhbEJsYXN0ZXIgbW9kdWxlIGZvciBlZGl0aW5nLiAgSWYgbm90IHNwZWNpZmllZCwgb25lIGNhbiBiZSByZXRyaWV2ZWQgdmlhIHRoZSBtb2R1bGUgY2FsbGJhY2suPC9saT4KPGxpPnJldHVybnRvIC0gKG9wdGlvbmFsIHN0cmluZykgLSBQcm92aWRlIGFuIG9wdGlvbmFsIFVSTCB0byByZXR1cm4gdG8gYWZ0ZXIgdGhlIHNvY2lhbCBtZWRpYSBwb3N0aW5nIGlzIGNvbXBsZXRlIChvciBjYW5jZWxsZWQpLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgc3lzdGVtIHdpbGwgdXNlIHRoZSBjdXJyZW50IFVSTC48L2xpPgo8bGk+dGl0bGUgLSAob3B0aW9uYWwgc3RyaW5nKSAtIFByb3ZpZGUgYW4gb3B0aW9uYWwgdGl0bGUgdG8gdGhlIGNyZWF0ZWQgbGluay4gSWYgbm90IHNwZWNpZmllZCBhIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSB1c2VkLjwvbGk+CjxsaT51cmxvbmx5IC0gKG9wdGlvbmFsIGJvb2xlYW4pIC0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHN5c3RlbSBzaG91bGQgZ2VuZXJhdGUgYSBjb21wbGV0ZSBsaW5rIHdpdGggaWNvbiBhbmQgdGl0bGUsIG9yIGp1c3QgYSB1cmwuICBkZWZhdWx0IGlzIGZhbHNlLjwvbGk+CjxsaT5pY29uIC0gKG9wdGlvbmFsIHN0cmluZykgLSBBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgaWNvbiB1c2VkIGluIGNyZWF0aW5nIHRoZSBsaW5rLjwvbGk+CjwvdWw+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uICBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+QSBidWcgdHJhY2tpbmcgYW5kIGZlYXR1cmUgcmVxdWVzdCBzeXN0ZW0gaGFzIGJlZW4gY3JlYXRlZCBmb3IgdGhpcyBtb2R1bGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9mcm9udGVuZHVzZXJzIj5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMywgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/social.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAPQAAFqROVqROluROluSOluSO1ySO1ySPFyTPF2TPF2TPV6TPV6TPl6UPV6UPl+UPl+UP1+VP1+VQGCVQGCVQWGVQWGWQWGWQmKWQmKWQ2KXQ2OXQ2OXRAAAAAAAAAAAAAAAACH5BAEAABwAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAQABAAAAF/iAnjmRpnmiqrmzros9CzE/23ri5LUDv9wRbbth6/I6+B3EJQzoBC6ZUlHk+ldOl1ZolGrfOaBdHAD/HOPNTiGZV1Uh2W/WG/+RzVN3eE+f1fEd4f1SBSIQle4Z9iFQ8i4KIipCMf5OUUJaYTgR5l1tKnz1YLhkLC4MkpnYEpI5lsKlNSEGJfK1ookCFfK5Zuj9ldr6/m07EXcZHfnPAvY3KALJoG8bIeV+Q15qL24TZgdOEzlbef5vic8KY6WMRyrWNHOub8ePRQO1M5HyoiI9PFmzg10cfkVXL5IAz409FBIMnMkicthBMwxEbKppjUnGLn45JvvVT00kkvkz/S04y+wPQGEQmLSlt7IIQkzxVMQPdTESPz4adJHLCeUkTEtFki4CWWLQSKMgtR8cYUmqCoDSqJt6pidrMDNc/IGdi5ZDhQY0aY+eEAAAh+QQBAAAwACwAAAAAQABAAIVakTlakTpbkTpbkjpbkjtckjtckjxckzxdkzxdkz1ekz1ekz5elD1elD5flD5flD9flT9flEBflUBglUBglUFhlUFhlkFhlkJilkJilkNil0Njl0Njl0Rkl0VkmEVlmEZlmEdlmUdmmUdmmUhnmUhnmkhnmklomklomkpom0ppm0ppm0tqm0xqnExqnE1rnE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCYcEgsGo/IpHLJbDqRJhEnkxE9r1gkJwAIcLuBCCtLdq4O3i5gvfZyynCk6Jtm2wGZuH74bd/tAXl7cGh9f2xeASuDZHNqf4aJD4xZD4Z3l22UWAVcmYdsVptOdaCQeKNNGaV+pmuCqUqOrqCTsUksD620dqK3RSyribxtiSa/RMGJrKeIXgfIQrmfppFuyCwRnod0j5AB0LfZzNyZpeGpysOu65htY6PKztUPUQfFy4FXGSsrsEcrLJWqM7AeEREHDnQCx8+MQDABHixKtorWMombtDmjYysgNUwRJ1IqtAufJW6IwGAc5YnaMkDz2qwcpYvYx4siR80i5g1Q/khkAj+iLDbz18BmILsU/TXHHK+f0YasIAeqz4GcUWFMFfrtWNaDVHuq8VLA11cYYXkdMBv1nh+uPg1mbQr3W5erWUnyxDf2ATxk5FruDYR1lAmX3Z5CjTWtXZoCKzoUapdSaWFKIh6uKXCgA5EtlLn9i+WvIRJhacGMFpI5AOeEb24JK5nSCyy6LwEUiB2roth5gWq6tCU7sbtWiNEV37b3+OpRHof+5nbZcFDj1e4Qj9a46tOzMKY1d+b1rAm34wOUPwuatqvn0WY/tbP+bGqfXup/RXO8ciLl4NEFkynbgQeDXt8ZSMRh2fWiYBE7vfegEU2JlQhvExYh31gZDvyV4REiZHDAA1V8SEkQACH5BAEAADoALAAAAABAAEAAhVmROFqROFqROVqROluROluSOluSO1ySO1ySPFyTPF2TPF2TPV6TPV6UPl+UPl+UP1+VP2CVQGCVQWGVQWGWQWGWQmKWQmKWQ2KXQ2OXQ2OXRGOXRWSXRWOYRWSYRGSYRWWYRmWZRmWZR2aZR2aZSGeZSGeZSWeaSGeaSWiaSWiaSmibS2mbS2qbS2mbTGqbTGqcTGqcTWucTWucTmudTmydTm6eUW6fUm+fUm+fUwAAAAAAAAAAAAAAAAAAAAAAAAb+QJ1wSCwaj8ikcslsOpGyzaZS2TyvWKTHwAV4uRVbdvysdAFntMFDbiNLBrR8Ho9X3Pghw8uf99FseW0OdX9ddXUpgmMyhXJxf18Gd4tYG2mPkHRolViafnyfX5SdTYehn4ddpKVLmqKgoRytpl9qfqp8VrRKZn2isF6svEQbe7avv7dgxEUeDFyOyLaRDM1DvtTKkMGT18aPodrahVzNFQfSr8niv4q0HNCb4ZLs0WgytOjU7F8OHuDo1KmQ74mMgr2g9cPF4J2QZwcUMnDgkAk6LgfSORDj7B45VBUCHcmB0MkWZNxIbUhnSJKkhqUI0eOGhhCwmwxEVtoTbFn+MmA1S1aq0I4mrm1qDOQklkadvUhKYZzrGUugmn/XdHDbui1V0KxCWEZqJ47LUrA6Upwq9zNURbAnx7rMBGAYWBhsT8lVWgItEbFj9f5y0NfvAZRVN0WrIBWsWn5Fjx5iIJSXg1hPE0/i2IwlJqrlHoVpBqdl0nlQ1djtJMOmo5QebE6bCYE0g8OhGLCKm3lgMxkVHEwsbOQi5rI6hwBXSujA206y1SE7sEsHDNm3AJyl1QGR5ENVvC5bvciGGaPkzoj316zG+dmKxzkiXylFNrKmQUWr3KrEZe+GqCeXNWDVoBBk+Hlnjl/2oZIgVN74lRZPH03DjQMSCgEHJl1O0UFghgJmN44XGGaolWCzqVKdhLj9AtoBJgqhForhFFJijJeV1dMaMQqBlzRV8dijhkbRVMeHQ6Yl2FbJJanDfY/A5OQRVVAhBXFTthEEACH5BAEAAFEALAAAAABAAEAAhlqROVqROluROluSOluSO1ySO1ySPFyTPF2TPF2TPV6TPV6TPl6UPV6UPl+UP2CVQGCVQWGVQWGWQWGWQmKWQmKWQ2OWQ2KXQ2OXQ2OXRGSXRGSYRGSYRWSYRmWYRmWZRmWYR2aZR2iaSmibSmmbS2mbTGucTWudTWydT22dT22eUG6eUW6fUW6fUm+fUm+fU3GgVHGgVXKgVXKhVnKhV3OhV3OiVnOiV3SjWXWjWXajWnakWnakW3ekW3ekXHilXHmmXnqmX3unYHunYXynYX2oY36pZH6pZYCrZ4GraIKraYSta4WubYaubYaubomwcIyydQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+gFGCg4SFhoeIiYqLjI2OiUs/OztMj5aXiEcOAAICAJ8AH5ijlh+dn56gnSOkrYmpqaCyABOutoObs7qgtbetKKe7ugI3vqSowrOdB8aYLrHJuinNlhPQ0bKi1I7Ywp3b3N3DAuCN4sLlizvnug7piEIF1+Kd2u+DRPLB7Kg294JC5vFD9Q+IJ4HsPLl4B0ReN4SyBFxIB+RAJ4iqMNIqZ1AVNommhnESsAJcw33RJBK6MBKVAHuMduS6uKFSoYAaR6o8BGVHih2WclyD1SsKznMCNmyzluwgsJynMoDbhHKgMqXgVlj15glruZxIvZZ7utXlxn8HyqoSew/srq7n/wpVPTcxbqGtO+0SwjvgiN69ah0A/ctSrQAHQvTacBvNgd+4udSCqvtvbtmi6W5IViYAM7ghF5VNvhDa2+R7pqB1GgBk0IOUs2CCs/HBwYAJKZ4YQuLgYk4UiGz07rTBXzkhFsEKYDXI2sFgAoCXI0KVU7cR66wLc5eOSVqosFLeO/IdImPu73ZYHthp4b8bsBgP06tee1njdheXrfdXEIr9num1XmP9DWIfOwHaZRV/BUYxwYI5NBiFUAPOJ2EUBQxEWYNH8FPAhYOs4BaIhCyG0EUkFkJEWhGhkmCKSIR0kXQp2hIIACH5BAEAAFYALAAAAABAAEAAhlmQOFmROFqROFqROVqROluROluSOluSO1ySO1yTO1ySPF2SPFyTPF2TPF2TPV6TPV6TPl2UPV6UPl+UPl6UP1+UP1+VP1+VQGCVQGCVQWGVQWCWQWGWQWGWQmKWQmKWQ2OWQ2KXQ2OXQ2KXRGOXRGOXRWSXRWOYRGSYRWWYRWSYRmWYRmWZRmWYR2WZR2aYR2aZR2aZSGeZSGeaSGeaSWeaSmiaSmmaSmibSmmbSmiaS2mbS2mcS2mbTGqbTGqcTGqcTWucTWudTWucTmudTmycTmydTmydT22dT22eT22dUG2eUG6eUW+fUm+fU3CfU3CgU3CgVHKhVnekXHelXHilXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+gFaCg4SFhoeIiYqLjI2OijUyNY+UlYpHMiQdmiY1S5aglE8kCQGmp6YdR6GsiSYMDKelAbG0DCStuYMytai+pgwvurm1vbSopQnBw6GvyAGzxqnMoLPA17/QDB3UlC/Q2KaltdYBF92P39mnxeDm6I4k4sfj66lU8IzyvuXYtST48iWqQS4brGzcBCI60oGBtXHSfjVQaGhJB37r6gVAMI2ioFcR7fmKlZCiiVcP3SW7dvDYRhMUGRqLNaufSFwClzTA+KulO3ewSqJ7ccHnL2svePXiyE4YPBMNTzF1OC9AAxkyBi15sRMYCR9CHh05IiSTjCeIhEQVmapDVkP+JC7I7TDJkZCuqBg0CKu1QUh/DC746CbDL09aHV40jJisVzAo6ArXtAnNL01olBu8qIsOb955lHt2SCzwxeWf9tqJ07tKYdeVocGdpvUiikcZ9mrKlijJoyDcIqP9Gu3Ut5VvsKsepXWBr/GPAQZIH4Axge4AQp9bMZFgOnXUGBkM1g7d+/V12z6Rx+29OjhrsZZp7/X9vSx2eRnANM4L2oC/2cBHmm8XBTjZfZixYwJkFPmQQXzh5BUbOHRRpNZP5SRAF1XBKfOWQDLxY8J4VtRQoErKbfMhPGqNts1ohph4on2o/PeCeocsoWMUaIHYkE0alfJCj4JU4QxQJhC3ic4RL6RkUGA++IBSgPop9ISJCPYTFAP1WVdVlQqZWMEzKz0TXHECmRhbSrplyJlCDMGn3H3e1bmfb1EQtJwxA3RX53/ZUaSYT2zWiM1E5JkGoEvSoRKob0LIcx5QzyBKnhX7fAbkKY/6luluPM3S6W3g+cNPBZcOkhtos2iWqiCmzbNoAHe+2oGclOn1KiFcBWifeLsSgqVIVwVbyBE+XICQJ8Ye8sKzHVwwWge1NntIFEvYlkggACH5BAEAAFwALAAAAABAAEAAhlmROFqROFqROVqROluROluSOluSO1ySO1ySPF2SPFyTPF2TPF2TPV6TPV6TPl2UPV6UPV6UPl+UPl+VPl6UP1+UP1+VP2CVP1+UQF+VQGCVQGGVQGCVQWGVQWCWQGGWQWKWQWGVQmGWQmKWQmKXQmKWQ2OWQ2KXQ2OXQ2OXRGOXRWSXRGSXRWOYRGSYRGSYRWWYRWSYRmWYRmSZRmWZRmWYR2WZR2aYRmaZRmaYR2aZR2aZSGeZSGeZSWeaSGeaSWeaSmiaSWiaSmmbSmibS2mbS2mbTGqbTGqcTGqcTWucTWudTWucTmudTmydTmydT22dT22eUG6eUG6eUW+eUW6fUm+fUnCfU3CgU3GgVHakW3unYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf+gFyCg4SFhoeIiYqLjI2Oj5CRkoZBKScZmClHk5yPU0cyFQICCAgZMj6dqoknJxULo6OlBxUVJ6u4gjKwsb29FUG5qq6+xaMLF7fCk6LGzhXLkrvGB84LMtGPQdPO1CfB2YytvN29AAet4Yyv5OWj57bqi6/uxQfJ8ooL1fW998r5Cik5wc9etwUnWAQUKONEP3vfFnI5YmmBxYe+DmBbeISFQ4z2oOVT0tBiO5CjTmxUR/JCPYsFiyFcGY3iiYvlFmSoaE0GuGwkPx60aMuHj5u1iL46sakRlW2tSPwsRJFdTF8IEAZRYgjLlCBBnEyBRLJhrQsulFARaOmqL5P+CxQuO3Gh1oEDCu4qqJChlVl6ORM2XeajWbdardyZPJEinCu31ModQOaDqzrDKHstBhiOW+ZYWp0EPHoSI1GEEol9nilaIpebkCXXoimxlsGhnF1zybAPZYXGuge9il2uAu3UBDMj9DHYtWeQJi8cl+ejNEh0QcamJt5vMsLm6ipaB937sM/W+W4ebIXZ3uKp2RpewrnYqCW7geGHm3IUk4wjlg0yxUCKWXQCeoZk4cQ20zVy1AkBGtJCLe3JJAOCgzgBCgsoqBRhNl9lgEA3tNSSQWXyLWBVdA3m0gImgD2Tgg+8kahSQPzh5EwppUi2AHDyTMGCSdzVQ0tu6lSAMh5GtLgWhCu2fSbAAqnoFiJK/MQFXkBYkFCBAgpgeWNwglTYTzpk7mamj0hKlMGaB6WQQ5pceCmZTCxs6dySxiwwJ51chGLaAoAKF2Y/8RRa55vOACALaooKokSNxTgqQKKRCvIihaBROGamg2BB0pu2yKAdqIZoocSEHm5xSCAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/social_sm.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/social_sm2.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKCgojQgokbGFuZ1snYmxhc3QnXSA9ICdCbGFzdCc7CiRsYW5nWydibGFzdF9hcnRpY2xlX2Zyb20nXSA9ICdTaGFyaW5nIGFuIGFydGljbGUgZnJvbSAlcyc7CgojQwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2NoYXJhY3Rlcl9jb3VudCddID0gJ0NoYXJhY3RlcnMnOwokbGFuZ1snY29uZmlndXJhdGlvbiddID0gJ0NvbmZpZ3VyYXRpb24nOwoKI0QKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZGVzdGluYXRpb25zJ10gPSAnRGVzdGluYXRpb25zJzsKJGxhbmdbJ2RldGVjdGVkX2hvc3Rtb2R1bGVzJ10gPSAnTW9kdWxlcyB0aGF0IGhhdmUgdGhlIGFiaWxpdHkgdG8gc2hhcmUnOwokbGFuZ1snZGV0ZWN0ZWRfYmxhc3Rtb2R1bGVzJ10gPSAnTW9kdWxlcyB0aGF0IGhhdmUgdGhlIGFiaWxpdHkgdG8gc2VuZCBpbmZvcm1hdGlvbiB0byBzb2NpYWwgbmV0d29ya3Mgb3IgdG8gY29udGFjdHMgZW4tbWFzcy4nOwoKI0UKJGxhbmdbJ2Vycm9yX21vZHVsZV9ub3Rjb21wYXRpYmxlJ10gPSAnVGhlICZxdW90O2JsYXN0JnF1b3Q7IGFjdGlvbiB3YXMgY2FsbGVkIHdpdGggYSBtb2R1bGUgYW5kIGtleSwgYnV0IHRoZSBtb2R1bGUgc3BlY2lmaWVkIGNhbm5vdCBiZSBmb3VuZCBvciBkb2VzIG5vdCBzdXBwb3J0IHRoZSBhc3NvY2lhdGVkIGNhbGxiYWNrJzsKJGxhbmdbJ2Vycm9yX21vZHVsZV9ub21lc3NhZ2UnXSA9ICdUaGUgJnF1b3Q7Ymxhc3QmcXVvdDsgYWN0aW9uIHdhcyBjYWxsZWQgd2l0aCBhIG1vZHVsZSBhbmQga2V5LCBidXQgd2UgY291bGQgbm90IGdldCB0aGUgcmVxdWVzdGVkIGluZm8gZnJvbSB0aGUgY2FsbGJhY2snOwoKI0YKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgU29jaWFsIEJsYXN0ZXInOwoKI0cKCgojSAokbGFuZ1snaGVscCddID0gJ0hlbHAnOwoKI0kKJGxhbmdbJ2luZm9fZnJpZW5kbHluYW1lJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCBpZGVudGlmeSB0aGlzIG1vZHVsZSBpbiB0aGUgYWRtaW4gbmF2aWdhdGlvbi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIHVzZWQuICBZb3UgbWF5IGhhdmUgdG8gY2xlYXIgdGhlIENNU01TIGNhY2hlIGFmdGVyIGNoYW5naW5nIHRoaXMgdmFsdWUuJzsKJGxhbmdbJ2luZm9fbWVzc2FnZWJveF9zbWFydHknXSA9ICdUaGUgbWVzc2FnZSBib3ggb2YgZWFjaCBzb2NpYWwgbmV0d29yayB0YWIgaXMgcGFzc2VkIHRocm91Z2ggc21hcnR5IGZvciBwcm9jZXNzaW5nIGJlZm9yZSBzZW5kaW5nLiAgQmVsb3cgaXMgYSBsaXN0IG9mIHNvbWUgb2YgdGhlIGF2YWlsYWJsZSBzbWFydHkgdmFyaWFibGVzLic7CiRsYW5nWydpbmZvX21lc3NhZ2VfdGVtcGxhdGUnXSA9ICdUaGlzIGZpZWxkIGNvbnRhaW5zIGEgc21hcnR5IHRlbXBsYXRlIHVzZWQgdG8gZm9ybWF0IHRoZSBtZXNzYWdlIGZvciB0aGlzIHNwZWNpZmljIHBsYXRmb3JtLiAgV2hlbiBzZW5kaW5nIGEgc29jaWFsIGJsYXN0IHlvdSB3aWxsIGJlIGFibGUgdG8gZnVydGhlciBjdXN0b21pemUgdGhlIG91dHB1dCBtZXNzYWdlIHBlciBwbGF0Zm9ybSc7CiRsYW5nWydpbmZvX25ld3Bvc3QnXSA9ICdDcmVhdGUgYSBuZXcgcG9zdC4gIFRoaXMgcG9zdCBjYW4gYmUgc2VudCB2aWEgbXVsdGlwbGUgcGxhdGZvcm1zLiAgRWFjaCBzZW5kZXIgcGxhdGZvcm0gaGFzIGRpZmZlcmVudCBjYXBhYmlsaXRpZXMuICBJbiB0aGUgbmV4dCBzY3JlZW4geW91IGNhbiBjdXN0b21pemUgdGhlIHNldHRpbmdzIGZvciBlYWNoIHBsYXRmb3JtLic7CiRsYW5nWydpbmZvX3NlbmRlcnMnXSA9ICdTZWxlY3Qgd2hpY2ggc29jaWFsIG1lZGlhIG91dGxldHMgdG8gc2VuZCB0byBmcm9tIHRob3NlIGF2YWlsYWJsZS4gPHN0cm9uZz5SZW1pbmRlcjo8L3N0cm9uZz4gWW91IG1heSBuZWVkIHRvIGluc3RhbGwgbW9yZSBzb2NpYWwgbWVkaWEgbW9kdWxlcy48YnIvPllvdSBjYW4gQ1RSTCtDbGljayBvbiBpdGVtcyB0byBzZWxlY3QgbXVsdGlwbGUgc29jaWFsIG1lZGlhIG5ldHdvcmtzLic7CgojSgoKCiNLCgoKI0wKJGxhbmdbJ2xpbmsnXSA9ICdMaW5rJzsKJGxhbmdbJ2xpbmtfdGl0bGUnXSA9ICdMaW5rIFRpdGxlJzsKJGxhbmdbJ2xpbmtfY2FwdGlvbiddID0gJ0xpbmsgQ2FwdGlvbic7CiRsYW5nWydsaW5rX2Rlc2NyaXB0aW9uJ10gPSAnTGluayBEZXNjcmlwdGlvbic7CgojTQokbGFuZ1snbWFpbiddID0gJ01haW4nOwokbGFuZ1snbWVzc2FnZSddID0gJ01lc3NhZ2UnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ01lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSB0byBmYWNpbGl0YXRlIGJsYXN0aW5nIG1lc3NhZ2VzIHRvIG9uZSBvciBtb3JlIHNvY2lhbCBtZWRpYSBhY2NvdW50cyBmcm9tIHRoZSBhZG1pbiBpbnRlcmZhY2VzJzsKJGxhbmdbJ21zZ19ibGFzdF9zdWNjZXNzJ10gPSAnU29jaWFsIG1lZGlhIGJsYXN0IHdhcyBzdWNjZXNzZnVsbCc7CiRsYW5nWydtc2dfY2FuY2VsbGVkJ10gPSAnT3BlcmF0aW9uIENhbmNlbGxlZCc7CiRsYW5nWydtc2dfcHJlZnNfc2F2ZWQnXSA9ICdQcmVmZXJlbmNlcyBTYXZlZCc7CgojTgokbGFuZ1snbmV4dCddID0gJ05leHQnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwoKI08KCgojUAokbGFuZ1sncGljdHVyZSddID0gJ1BpY3R1cmUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgU29jaWFsQmxhc3RlciBtb2R1bGUgaGFzIG5vdyBiZWVuIGluc3RhbGxlZC4gIFBsZWFzZSBlbnN1cmUgdGhhdCB5b3UgaW5zdGFsbCBzb21lIHNvY2lhbCBtZWRpYSBtb2R1bGVzIHRvIGZhY2lsaXRhdGUgc2VuZGluZyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFNvY2lhbEJsYXN0ZXIgbW9kdWxlIGhhcyBub3cgYmVlbiB1bmluc3RhbGxlZC4nOwokbGFuZ1sncHJvbXB0X2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsZSBGcmllbmRseSBOYW1lJzsKCiNRCgoKI1IKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgbW9kdWxlPyc7CgojUwokbGFuZ1snc2VuZF9tZXNzYWdlJ10gPSAnU2hhcmUgdG8gU29jaWFsIE1lZGlhJzsKJGxhbmdbJ3NyY2RhdGFfdGl0bGUnXSA9ICdUaGUgdGl0bGUgb2YgdGhlIG9yaWdpbmFsIGl0ZW0nOwokbGFuZ1snc3JjZGF0YV9jYW5vbmljYWwnXSA9ICdUaGUgY2Fub25pY2FsIFVSTCB0byB0aGUgb3JpZ2luYWwgaXRlbSc7CiRsYW5nWydzcmNkYXRhX2Nhbm9uaWNhbF9zaG9ydCddID0gJ1RoZSBzaG9ydGVuZWQgY2Fub25pY2FsIFVSTCB0byB0aGUgb3JpZ2luYWwgaXRlbS4gIElmIHNob3J0ZW5pbmcgY291bGQgbm90IGJlIHBlcmZvcm1lZCB0aGlzIHdpbGwgY29udGFpbiB0aGUgb3JpZ2luYWwgVVJMLic7CiRsYW5nWydzcmNkYXRhX3N1bW1hcnknXSA9ICdUaGUgc3VtbWFyeSBvZiB0aGUgYXJ0aWNsZSAobWF5IGFsc28gYmUgdGhlIGZ1bGwgY29udGVudCBvZiB0aGUgaXRlbS4uLiB0aGUgc2VuZGluZyBtb2R1bGUgZGVjaWRlcyBob3cgdG8gZmlsbCB0aGlzIGZpZWxkJzsKJGxhbmdbJ3NyY2RhdGFfcGljdHVyZXMnXSA9ICdBbiBhcnJheSBvZiBVUkxTIHJlcHJlc2VudGluZyBwaWN0dXJlcyBhdHRhY2hlZCB0byB0aGUgb3JpZ2luYWwgaXRlbS4gIEZvciBzb2NpYWwgbmV0d29ya3MgdGhhdCBzdXBwb3J0IHRoZW0sIHRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgZHJvcGRvd24gYm94IHRvIHNlbGVjdCBvbmUgaW1hZ2UgdG8gaW5jbHVkZSBpbiB0aGUgcG9zdCc7CiRsYW5nWydzcmNkYXRhX2xpbmtzJ10gPSA8PDxFT1QKQW4gYXJyYXkgb2Ygb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIHZhcmlvdXMgbGlua3MgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBvcmlnaW5hbCBpdGVtIGJlaW5nIHNoYXJlZC4gIFRoZSBhcnJheSBjYW4gYmUgYWNjZXNzZWQgd2l0aCBhIHNtYXJ0eSBmb3JlYWNoIHN0YXRlbWVudC4gIGkuZTo8YnIvPgo8cHJlPjxjb2RlPntmb3JlYWNoIFwkaW5wdXRfZGF0YSBhcyBcJGxpbmt9CiZuYnNwOyZuYnNwO3tcJGxpbmstPm5hbWV9ID0ge1wkbGluay0+dXJsfS97XCRsaW5rLT5jYXB0aW9ufS97XCRsaW5rLT5kZXNjcmlwdGlvbn0Key9mb3JlYWNofTwvcHJlPjwvY29kZT4KRU9UOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCiNUCiRsYW5nWyd0YWJfc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWyd0ZW1wbGF0ZV9mb3InXSA9ICdUZW1wbGF0ZSBmb3IgJXMnOwokbGFuZ1sndGVzdCddID0gJ0NyZWF0ZSBhIFRlc3QgQmxhc3QnOwokbGFuZ1sndGl0bGUnXSA9ICdUaXRsZSc7CiRsYW5nWyd0aXRsZV9zaGFyZV9zb2NpYWwnXSA9ICdTaGFyZSB0aGlzIGFydGljbGUgdG8gc29jaWFsIG1lZGlhJzsKJGxhbmdbJ3RpdGxlX3Rlc3QnXSA9ICdTZW5kIGEgdGVzdCBtZXNzYWdlIHRvIHNvY2lhbCBtZWRpYSc7CgojVQoKCiNWCiRsYW5nWyd2YXJpYWJsZSddID0gJ1ZhcmlhYmxlJzsKCiNXCiRsYW5nWyd3YXJuaW5nX25vc2VuZGVycyddID0gJ05vIG1vZHVsZXMgd2VyZSBmb3VuZCB0aGF0IGNvdWxkIGFjdHVhbGx5IHNlbmQgdG8gc29jaWFsIG1lZGlhLiAgUGxlYXNlIGluc3RhbGwgYW5kIGNvbmZpZ3VyZSBtb2R1bGVzIGxpa2UgQ0dUd2VldCBvciBvdGhlcnMuJzsKJGxhbmdbJ3dhcm5pbmdfbm9mZWVkZXJzJ10gPSAnTm8gbW9kdWxlcyB3ZXJlIGZvdW5kIHRoYXQgY291bGQgZmVlZCBpbmZvcm1hdGlvbiB0byB0aGlzIG1vZHVsZS4nOwoKI1gKCgojWQoKCiNaCgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.sb_content.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCi8qKgogKiBBIHNpbXBsZSBjbGFzcyB0aGF0IGRlc2NyaWJlcyB0aGUgaW5mb3JtYXRpb24gcmV0dXJuZWQgYnkgYSBtb2R1bGUgZm9yIENHU29jaWFsQmxhc3RlciB0byBibGFzdCBvdXQKICogdGhpcyBpcyB1c3VhbGx5IHNvbWUgaW5mb3JtYXRpb24gZnJvbSBhIGJsb2cgYXJ0aWNsZSBvciBhIG5ld3MgYXJ0aWNsZQogKgogKiBUaGlzIGluZm9ybWF0aW9uIGlzIHRoZW4gdXNlZCBpbiB0aGUgYmxhc3QgZm9ybSB0byBmaWxsIG91dCB0aGUgZGVmYXVsdCBmb3JtIHZhbHVlcyBmb3Igc2VuZGluZyBkYXRhIHRvIHRoZSB2YXJpb3VzIHNvY2lhbCBtZWRpYQogKiBwbGF0Zm9ybXMuICBTb21lIHNvY2lhbCBtZWRpYSBwbGF0Zm9ybXMgbWF5IHVzZSBkaWZmZXJlbnQgZmllbGRzLCBvciBjb21iaW5lIHRoZW0uCiAqCiAqIFB1YmxpYyBtZW1iZXJzOgogKiAgdGl0bGU6IC0gKHN0cmluZykgQSB0aXRsZSBmb3IgdGhlIG9iamVjdCBiZWluZyBzaGFyZWQuCiAqICBjYW5vbmljYWw6IC0gKHN0cmluZykgQSBjYW5vbmljYWwgVVJMIHRvIHRoZSBvYmplY3QgYmVpbmcgc2hhcmVkLgogKiAgc3VtbWFyeTogKHN0cmluZykgU29tZSB0ZXh0IGRlc2NyaWJpbmcgdGhlIG9iamVjdCAobm90ZSwgZGlmZmVyZW50IG1lZGlhIHBsYXRmb3JtcyBoYXZlIGRpZmZlcmVudCBsaW1pdHMgb24gdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHNlbnQuCiAqICBwaWN0dXJlczogKGFycmF5IG9mIG5hbWVzIGFuZCBVUkxzKSB0byBpbWFnZXMuICBUaGUgQ0dTb2NpYWxCbGFzdGVyIG1vZHVsZSB3aWxsIGFsbG93IHRoZSBhZG1pbmlzdHJhdG9yIHRvIGNob29zZSBvbmUgaW1hZ2UgdG8gYXR0YWNoIHRvIHRoZSBzb2NpYWwgbWVkaWEgcG9zdCAoaWYgdGhlIHBsYXRmb3JtIHN1cHBvcnRzIGl0KS4KICoKICogUHVibGljIG1ldGhvZHM6CiAqICAgYWRkX3BpY3R1cmUoJHVybCwkbmFtZSkgLSBBZGRzIGEgcGljdHVyZSB0byB0aGUgc2JfY29udGVudCBvYmplY3QuLi4gbm90ZSwgZHVwbGljYXRlcyBhcmUgbm90IHBlcm1pdHRlZC4KICogICBjb3VudF9waWN0dXJlcygpIC0gUmV0dXJucyBhIGNvdW50IG9mIHRoZSBwaWN0dXJlcyBhZGRlZCB0byB0aGUgb2JqZWN0CiAqLwpmaW5hbCBjbGFzcyBzYl9jb250ZW50CnsKICAgIHByaXZhdGUgJF90aXRsZTsKICAgIHByaXZhdGUgJF9saW5rdGl0bGU7CiAgICBwcml2YXRlICRfc3VtbWFyeTsKICAgIHByaXZhdGUgJF9jYW5vbmljYWw7CiAgICBwcml2YXRlICRfcGljdHVyZXMgPSBhcnJheSgpOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCgka2V5KSB7CiAgICAgICAgY2FzZSAndGl0bGUnOgogICAgICAgIGNhc2UgJ2xpbmt0aXRsZSc6CiAgICAgICAgY2FzZSAnc3VtbWFyeSc6CiAgICAgICAgY2FzZSAncGljdHVyZXMnOgogICAgICAgIGNhc2UgJ2Nhbm9uaWNhbCc6CiAgICAgICAgICAgICRrZXkgPSAnXycuJGtleTsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT4ka2V5OwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnY2Fub25pY2FsX3Nob3J0JzoKICAgICAgICAgICAgJGtleSA9ICdfY2Fub25pY2FsJzsKICAgICAgICAgICAgJHRtcCA9IE1vZHVsZU9wZXJhdGlvbnM6OmdldF9tb2R1bGVzX3dpdGhfY2FwYWJpbGl0eSgnc2hvcnRlbl91cmwnKTsKICAgICAgICAgICAgaWYoICFpc19hcnJheSgkdG1wKSB8fCBjb3VudCgkdG1wKSA9PSAwICkgcmV0dXJuICR0aGlzLT5jYW5vbmljYWw7CiAgICAgICAgICAgIGZvcmVhY2goICR0bXAgYXMgJG5hbWUgKSB7CiAgICAgICAgICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRuYW1lKTsKICAgICAgICAgICAgICAgIGlmKCAhJG1vZCApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgcmV0dXJuICRtb2QtPnNob3J0ZW5fdXJsKCR0aGlzLT5jYW5vbmljYWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJGtleS4nIGlzIGFuIGludmFsaWQgbWVtYmVyIGZvciBhICcuZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWwpCiAgICB7CiAgICAgICAgc3dpdGNoKCRrZXkpIHsKICAgICAgICBjYXNlICd0aXRsZSc6CiAgICAgICAgY2FzZSAnbGlua3RpdGxlJzoKICAgICAgICBjYXNlICdzdW1tYXJ5JzoKICAgICAgICBjYXNlICdjYW5vbmljYWwnOgogICAgICAgICAgICAka2V5ID0gJ18nLiRrZXk7CiAgICAgICAgICAgICR0aGlzLT4ka2V5ID0gdHJpbSgkdmFsKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3BpY3R1cmVzJzoKICAgICAgICAgICAgaWYoICFpc19hcnJheSgkdmFsKSB8fCBjb3VudCgkdmFsKSA9PSAwICkgdGhyb3cgbmV3IENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCdwaWN0dXJlcyBtdXN0IGJlIGEgaGFzaCBvZiBuYW1lIGFuZCB1cmwnKTsKICAgICAgICAgICAgJHRoaXMtPnBpY3R1cmVzID0gJHZhbDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgYW4gaW52YWxpZCBtZW1iZXIgZm9yIGEgJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFkZF9waWN0dXJlKCR1cmwsJG5hbWUpCiAgICB7CiAgICAgICAgJHVybCA9IHRyaW0oJHVybCk7CiAgICAgICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgICAgICBpZiggIXN0YXJ0c3dpdGgoJHVybCwnaHR0cCcpICYmICFzdGFydHN3aXRoKCR1cmwsJ2Z0cDonKSApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCdJbnZhbGlkIFVSTCBwYXNzZWQgdG8gc2JfY29udGVudC0+YWRkX3BpY3R1cmUnKTsKICAgICAgICB9CiAgICAgICAgaWYoICRuYW1lID09ICcnICkgdGhyb3cgbmV3IENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCdJbnZhbGlkIHBpY3R1cmUgbmFtZSBwYXNzZWQgdG8gc2JfY29udGVudC0+YWRkX3BpY3R1cmUnKTsKICAgICAgICAkdGhpcy0+X3BpY3R1cmVzWyR1cmxdID0gJG5hbWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvdW50X3BpY3R1cmVzKCkKICAgIHsKICAgICAgICByZXR1cm4gY291bnQoJHRoaXMtPl9waWN0dXJlcyk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.sb_sender_info.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBzYl9zZW5kZXJfaW5mbyBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCnsKICAgIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1vZHVsZSwkc29jaWFsbmFtZSwkY2hhcmxpbWl0LCRwaWN0dXJlID0gMCkKICAgIHsKICAgICAgICAkdGhpcy0+X2RhdGFbJ21vZHVsZSddID0gJG1vZHVsZTsKICAgICAgICAkdGhpcy0+X2RhdGFbJ3NvY2lhbG5hbWUnXSA9ICRzb2NpYWxuYW1lOwogICAgICAgICR0aGlzLT5fZGF0YVsnY2hhcmxpbWl0J10gPSAoaW50KSRjaGFybGltaXQ7CiAgICAgICAgJHRoaXMtPl9kYXRhWydwaWN0dXJlJ10gPSAkcGljdHVyZTsgLy8gYm9vbAogICAgICAgICR0aGlzLT5fZGF0YVsnbGlua3RpdGxlJ10gPSAwOyAvLyBib29sCiAgICAgICAgJHRoaXMtPl9kYXRhWyd0aXRsZSddID0gMDsgLy8gYm9vbAogICAgICAgICR0aGlzLT5fZGF0YVsnbGluayddID0gMDsgLy8gYm9vbAogICAgICAgICR0aGlzLT5fZGF0YVsnY2FwdGlvbiddID0gMDsgLy8gYm9vbAogICAgICAgICR0aGlzLT5fZGF0YVsnZGVzY3JpcHRpb24nXSA9IDA7IC8vIGJvb2wKICAgICAgICAkdGhpcy0+X2RhdGFbJ2luZm9fbWVzc2FnZSddID0gJyc7IC8vIHN0cmluZwogICAgICAgICR0aGlzLT5fZGF0YVsnZGZsdF90ZW1wbGF0ZSddID0gJ3skaW5wdXRfZGF0YS0+c3VtbWFyeX0geyRpbnB1dF9kYXRhLT5jYW5vbmljYWx9JzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0R2V0KCRrKQogICAgewogICAgICAgIHN3aXRjaCggJGsgKSB7CiAgICAgICAgY2FzZSAnbW9kdWxlJzoKICAgICAgICBjYXNlICdzb2NpYWxuYW1lJzoKICAgICAgICBjYXNlICdjaGFybGltaXQnOgogICAgICAgIGNhc2UgJ2xpbmt0aXRsZSc6CiAgICAgICAgY2FzZSAncGljdHVyZSc6CiAgICAgICAgY2FzZSAndGl0bGUnOgogICAgICAgIGNhc2UgJ2luZm9fbWVzc2FnZSc6CiAgICAgICAgY2FzZSAnZGZsdF90ZW1wbGF0ZSc6CiAgICAgICAgY2FzZSAnbGluayc6CiAgICAgICAgY2FzZSAnY2FwdGlvbic6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWyRrXTsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiSW52YWxpZCBrZXkgJGsgZm9yIHNiX3NlbmRlcl9pbmZvIG9iamVjdCIpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0U2V0KCRrLCR2KQogICAgewogICAgICAgIHN3aXRjaCggJGsgKSB7CiAgICAgICAgY2FzZSAnbW9kdWxlJzoKICAgICAgICBjYXNlICdzb2NpYWxuYW1lJzoKICAgICAgICBjYXNlICdsaW5rdGl0bGUnOgogICAgICAgIGNhc2UgJ3RpdGxlJzoKICAgICAgICBjYXNlICdwaWN0dXJlJzoKICAgICAgICBjYXNlICdpbmZvX21lc3NhZ2UnOgogICAgICAgIGNhc2UgJ2RmbHRfdGVtcGxhdGUnOgogICAgICAgIGNhc2UgJ2xpbmsnOgogICAgICAgIGNhc2UgJ2NhcHRpb24nOgogICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrXSA9IHRyaW0oJHYpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnY2hhcmxpbWl0JzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrXSA9IChpbnQpJHY7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJJbnZhbGlkIGtleSAkayBmb3Igc2Jfc2VuZGVyX2luZm8gb2JqZWN0Iik7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBPZmZzZXRFeGlzdHMoJGspCiAgICB7CiAgICAgICAgc3dpdGNoKCAkayApIHsKICAgICAgICBjYXNlICdtb2R1bGUnOgogICAgICAgIGNhc2UgJ2xpbmt0aXRsZSc6CiAgICAgICAgY2FzZSAnaW5mb19tZXNzYWdlJzoKICAgICAgICBjYXNlICdkZmx0X3RlbXBsYXRlJzoKICAgICAgICBjYXNlICdwaWN0dXJlJzoKICAgICAgICBjYXNlICdzb2NpYWxuYW1lJzoKICAgICAgICBjYXNlICdjaGFybGltaXQnOgogICAgICAgIGNhc2UgJ2xpbmsnOgogICAgICAgIGNhc2UgJ3RpdGxlJzoKICAgICAgICBjYXNlICdjYXB0aW9uJzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+X2RhdGFbJGtdKTsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiSW52YWxpZCBrZXkgJGsgZm9yIHNiX3NlbmRlcl9pbmZvIG9iamVjdCIpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0VW5zZXQoJGspCiAgICB7CiAgICAgICAgcmV0dXJuOyAvLyBkbyBub3RoaW5nLgogICAgfQp9CgojCiMgRU9GCiMK]]></data>
	</file>
	<file>
	  <filename>/lib/class.sb_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmZpbmFsIGNsYXNzIHNiX3V0aWxzCnsKICAgIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZlZWRlcnMoKQogICAgewogICAgICAgICRob3N0bW9kdWxlcyA9IE1vZHVsZU9wZXJhdGlvbnM6OmdldF9tb2R1bGVzX3dpdGhfY2FwYWJpbGl0eSgnY2dfc29jaWFsYmxhc3RfZmVlZGVyJyk7CiAgICAgICAgcmV0dXJuICRob3N0bW9kdWxlczsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9zZW5kZXJzKCkKICAgIHsKICAgICAgICAkYmxhc3Rtb2R1bGVzID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X21vZHVsZXNfd2l0aF9jYXBhYmlsaXR5KCdjZ19zb2NpYWxibGFzdF90cmFuc3BvcnQnKTsKICAgICAgICBpZiggISRibGFzdG1vZHVsZXMgKSByZXR1cm47CgogICAgICAgICRvdXQgPSBbXTsKICAgICAgICBmb3JlYWNoKCAkYmxhc3Rtb2R1bGVzIGFzICRtb2RuYW1lICkgewogICAgICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSggJG1vZG5hbWUgKTsKICAgICAgICAgICAgJGxibCA9ICRtb2QtPmdldF90cmFuc3BvcnRfbmFtZSgpOwogICAgICAgICAgICBpZiggISRsYmwgKSAkbGJsID0gJG1vZG5hbWU7CiAgICAgICAgICAgICRvdXRbJG1vZG5hbWVdID0gJGxibDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc2VuZGVyX3RlbXBsYXRlKCAkc2VuZGVyX21vZCApCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHU09DSUFMQkxBU1RFUik7CiAgICAgICAgJHRwbCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ21zZ3RwbF8nLiRzZW5kZXJfbW9kLT5HZXROYW1lKCkpOwogICAgICAgIHJldHVybiAkdHBsOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2V0X3NlbmRlcl90ZW1wbGF0ZSggJHNlbmRlcl9tb2QsICR0eHQgKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1NPQ0lBTEJMQVNURVIpOwogICAgICAgICRtb2QtPlNldFByZWZlcmVuY2UoJ21zZ3RwbF8nLiRzZW5kZXJfbW9kLCAkdHh0ICk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc2VuZGVyX2luZm8oKQogICAgewogICAgICAgICR0bXAgPSBzZWxmOjpnZXRfc2VuZGVycygpOwogICAgICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKICAgICAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSA9PiAkbGJsICkgewogICAgICAgICAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkb25lKTsKICAgICAgICAgICAgICAgIGlmKCAhaXNfb2JqZWN0KCRtb2QpICkgY29udGludWU7IC8vIHdlaXJkLCBidXQgb2theS4uLgogICAgICAgICAgICAgICAgaWYoICFtZXRob2RfZXhpc3RzKCRtb2QsJ2dldF9zZW5kZXJfaW5mbycpICkgY29udGludWU7IC8vIG9vcHMsIGltcHJvcGVyIGltcGxlbWVudGF0aW9uLgogICAgICAgICAgICAgICAgJHJlcyA9ICRtb2QtPmdldF9zZW5kZXJfaW5mbygpOwogICAgICAgICAgICAgICAgaWYoICFpc19vYmplY3QoJHJlcykgKSBjb250aW51ZTsgLy8gd2VpcmQuCiAgICAgICAgICAgICAgICAkb3V0WyRyZXNbJ21vZHVsZSddXSA9ICRyZXM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoIGlzX2FycmF5KCRvdXQpICYmIGNvdW50KCRvdXQpICkgcmV0dXJuICRvdXQ7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NlbmRlcl9saXN0KCkKICAgIHsKICAgICAgICAkc2VuZGVycyA9IHNlbGY6OmdldF9zZW5kZXJfaW5mbygpOwogICAgICAgIGlmKCBpc19hcnJheSgkc2VuZGVycykgJiYgY291bnQoJHNlbmRlcnMpICkgewogICAgICAgICAgICAkbGlzdCA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2goICRzZW5kZXJzIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAkbGlzdFskb25lWydtb2R1bGUnXV0gPSAkb25lWydzb2NpYWxuYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRsaXN0OwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgc3RhdGljIGZ1bmN0aW9uIHRvX25vdGlmaWNhdGlvbl9tc2coICRzZW5kZXJfbW9kLCBcc2JfY29udGVudCAkY29udGVudCApCiAgICB7CiAgICAgICAgLy8gY29udmVydCB0aGUgc2JfY29udGVudCBvYmplY3QgdG8gYSBub3RpZmljYXRpb24gbXNnLgogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ21lZGlhJywkc2VuZGVyX21vZC0+Z2V0X3RyYW5zcG9ydF9uYW1lKCkpOwogICAgICAgICRzbWFydHktPmFzc2lnbignbW9kdWxlJywkc2VuZGVyX21vZC0+R2V0TmFtZSgpKTsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RhdGEnLCRjb250ZW50KTsKICAgICAgICAkbXNnID0gbmV3IFxub3RpZmljYXRpb25fbWVzc2FnZTsKICAgICAgICAkdHBsID0gc2VsZjo6Z2V0X3NlbmRlcl90ZW1wbGF0ZSggJHNlbmRlcl9tb2QgKTsKICAgICAgICAkbXNnLT5zdWJqZWN0ID0gc3RyaXBfdGFncygkY29udGVudC0+dGl0bGUpOwogICAgICAgICRtc2ctPmJvZHkgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJHRwbCk7CiAgICAgICAgJG1zZy0+bGluayA9ICRjb250ZW50LT5jYW5vbmljYWw7CiAgICAgICAgJG1zZy0+bGlua25hbWUgPSAkY29udGVudC0+bGlua3RpdGxlOwogICAgICAgIGlmKCAkY29udGVudC0+Y291bnRfcGljdHVyZXMoKSApIHsKICAgICAgICAgICAgJHBpY3R1cmVzID0gYXJyYXlfa2V5cyggJGNvbnRlbnQtPnBpY3R1cmVzICk7CiAgICAgICAgICAgICRtc2ctPnBpY3R1cmUgPSAkcGljdHVyZXNbMF07CiAgICAgICAgICAgICRtc2ctPmNhcHRpb24gPSAkcGljdHVyZXNbJG1zZy0+cGljdHVyZV07CiAgICAgICAgfQogICAgICAgIHJldHVybiAkbXNnOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2VuZF9ibGFzdCggXHNiX2NvbnRlbnQgJGNvbnRlbnQsIGFycmF5ICRzZW5kZXJzID0gbnVsbCApCiAgICB7CiAgICAgICAgLy8gY2FsbGVkIHRvIHNlbmQgYSBibGFzdCB3aXRob3V0IGFkbWluIHVzZXIgaW50ZXJhY3Rpb24uCiAgICAgICAgaWYoICEkc2VuZGVycyApICRzZW5kZXJzID0gYXJyYXlfa2V5cyggc2VsZjo6Z2V0X3NlbmRlcnMoKSApOwoKICAgICAgICAkZXJyb3IgPSBudWxsOwogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ3NvdXJjZV9kYXRhJywkY29udGVudCk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdzb3VyY2VfaW5mbycsc2JfdXRpbHM6OmdldF9zZW5kZXJfaW5mbygpKTsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ3NlbmRlcnMnLCBzZWxmOjpnZXRfc2VuZGVycygpKTsKICAgICAgICBmb3JlYWNoKCAkc2VuZGVycyBhcyAkb25lICkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkb25lKTsKICAgICAgICAgICAgICAgIGlmKCAhJG1vZCApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJG1zZyA9IHNlbGY6OnRvX25vdGlmaWNhdGlvbl9tc2coICRtb2QsICRjb250ZW50ICk7CiAgICAgICAgICAgICAgICAkbW9kLT5icm9hZGNhc3RfbWVzc2FnZSgkbXNnLFRSVUUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgICAgICAvLyBpZiBhbiBlcnJvciBvY2N1cnMgc2VuZGluZyBvbmUgbWVzc2FnZSwgbGV0cyB0cnkgdG8gY29udGludWUgd2l0aCBvdGhlcnMKICAgICAgICAgICAgICAgICRlcnJvciA9ICRlLT5HZXRNZXNzYWdlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0gLy8gY2xhc3MKIwojIEVPRgojCg==]]></data>
	</file>
	<file>
	  <filename>/lib/sb_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsIAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGZhY2lsaXRhdGUgYmxhc3RpbmcgaW5mb3JtYXRpb24gdG8gbXVsdGlwbGUgc29jaWFsIG5ldHdvcmtzCiMgIGF0IG9uY2UuICBSZXF1aXJlcyBpbmVkaXZpZGlhbCBtb2R1bGVzIHRvIGhhbmRsZSB0aGUgYWN0dWFsIHBvc3RpbmcgdG8gc29jaWFsIG1vZHVsZXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBzYl91dGlscyAKewogIHByaXZhdGUgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9mZWVkZXJzKCkKICB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9TT0NJQUxCTEFTVEVSKTsKICAgICRob3N0bW9kdWxlcyA9ICRtb2QtPkdldE1vZHVsZXNXaXRoQ2FwYWJpbGl0eSgnY2dfc29jaWFsYmxhc3RfZmVlZGVyJyk7CiAgICByZXR1cm4gJGhvc3Rtb2R1bGVzOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfc2VuZGVycygpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfU09DSUFMQkxBU1RFUik7CiAgICAkYmxhc3Rtb2R1bGVzID0gJG1vZC0+R2V0TW9kdWxlc1dpdGhDYXBhYmlsaXR5KCdjZ19zb2NpYWxibGFzdF9zZW5kZXInKTsKICAgIHJldHVybiAkYmxhc3Rtb2R1bGVzOwogIH0KfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNvY2lhbEJsYXN0ZXIgKGMpIDIwMTMgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gZmFjaWxpdGF0ZSBibGFzdGluZyBpbmZvcm1hdGlvbiB0byBtdWx0aXBsZSBzb2NpYWwgbmV0d29ya3MKIyAgYXQgb25jZS4gIFJlcXVpcmVzIGluZWRpdmlkaWFsIG1vZHVsZXMgdG8gaGFuZGxlIHRoZSBhY3R1YWwgcG9zdGluZyB0byBzb2NpYWwgbW9kdWxlcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oVFJVRSk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKENHU29jaWFsQmxhc3Rlcjo6UEVSTU5BTUUsQ0dTb2NpYWxCbGFzdGVyOjpQRVJNTkFNRSk7CgokZGZsdHRlbXBsYXRlID0gPDw8RU9UCntcJGlucHV0X2RhdGEtPnN1bW1hcnl8c3RyaXBfdGFnc30ge1wkaW5wdXRfZGF0YS0+Y2Fub25pY2FsX3Nob3J0fQpFT1Q7CiRzZW5kZXJzID0gc2JfdXRpbHM6OmdldF9zZW5kZXJzKCk7CmZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRzZW5kZXJzKTsgJGkrKyApIHsKICAgICRvbmUgPSAkc2VuZGVyc1skaV07CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbXNndHBsXycuJG9uZSwkZGZsdHRlbXBsYXRlKTsKfQoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiR0aGlzLT5SZW1vdmVTbWFydHlQbHVnaW4oKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oQ0dTb2NpYWxCbGFzdGVyOjpQRVJNTkFNRSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJDR1NvY2lhbEJsYXN0ZXIiCnZlcnNpb24gPSAxLjEKYXV0aG9yID0gImNhbGd1eTEwMDAiCmF1dGhvcmVtYWlsID0gImNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciCm1pbmNtc3ZlcnNpb24gPSAyLjIKbGF6eWxvYWRhZG1pbiA9IDEKbGF6eWxvYWRmcm9udGVuZCA9IDAKW2RlcGVuZHNdCkNHRXh0ZW5zaW9ucyA9ICIxLjU3LjEiCkNHU2ltcGxlU21hcnR5ID0gIjIuMS43Igo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_post_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX25ld3Bvc3QnKX08L2Rpdj4Ke2Zvcm1fc3RhcnQgYWN0aW9uPSdhZG1pbl9wb3N0J30KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiIgZm9yPSJzdWJqZWN0Ij57JG1vZC0+TGFuZygnc3ViamVjdCcpfTo8L2xhYmVsPgogIDxpbnB1dCBjbGFzcz0iZ3JpZF84IiBpZD0ic3ViamVjdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJqZWN0Ii8+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIiBmb3I9ImJvZHkiPip7JG1vZC0+TGFuZygnbWVzc2FnZScpfTo8L2xhYmVsPgogIDx0ZXh0YXJlYSBjbGFzcz0iZ3JpZF84IiBpZD0iYm9keSIgbmFtZT0ieyRhY3Rpb25pZH1ib2R5IiByb3dzPSI1IiByZXF1aXJlZD48L3RleHRhcmVhPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiIgZm9yPSJsaW5rIj57JG1vZC0+TGFuZygnbGluaycpfTo8L2xhYmVsPgogIDxpbnB1dCBjbGFzcz0iZ3JpZF84IiBpZD0ibGluayIgbmFtZT0ieyRhY3Rpb25pZH11cmwiLz4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzIiIGZvcj0ic3ViamVjdCI+eyRtb2QtPkxhbmcoJ3BpY3R1cmUnKX06PC9sYWJlbD4KICA8ZGl2IGNsYXNzPSJncmlkXzgiPntjbXNfZmlsZXBpY2tlciBuYW1lPSJ7JGFjdGlvbmlkfXBpY3R1cmUiIHR5cGU9ImltYWdlIn08L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnbmV4dCcpfSIvPgo8L2Rpdj4Ke2Zvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/blast.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJ3RleHRhcmVhJykua2V5dXAoZnVuY3Rpb24oKXsKICAgdmFyIG4gPSAkKHRoaXMpLnZhbCgpLmxlbmd0aDsKICAgdmFyIGVsX21heCA9ICQodGhpcykucHJldkFsbCgnLmNoYXJsaW1pdCcpOwogICB2YXIgZWxfbnVtID0gJCh0aGlzKS5wcmV2QWxsKCcuY2hhcmNvdW50Jyk7CiAgIGlmKCB0eXBlb2YgZWxfbnVtICE9ICd1bmRlZmluZWQnICkgewogICAgIHZhciBvdXQgPSBuOwogICAgIGlmKCB0eXBlb2YgZWxfbWF4ICE9IHVuZGVmaW5lZCApIHsKICAgICAgIHZhciBtYXggPSAkKGVsX21heCkuaHRtbCgpOwogICAgICAgaWYoIG4gPj0gbWF4ICkgewogICAgICAgICBvdXQgPSAnPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4nK24rJzwvc3Bhbj4nOwogICAgICAgfSBlbHNlIGlmKCBuIC8gbWF4ID4gMC44NSApIHsKICAgICAgICAgb3V0ID0gJzxzcGFuIHN0eWxlPSJjb2xvcjogb3JhbmdlOyI+JytuKyc8L3NwYW4+JzsKICAgICAgIH0KICAgICB9CiAgICAgJChlbF9udW0pLmh0bWwob3V0KTsKICAgfQogIH0pOwogICQoJ3RleHRhcmVhJykudHJpZ2dlcigna2V5dXAnKTsgLy8gdHJpZ2dlciBhIGtleXVwCn0pOwo8L3NjcmlwdD4KPGgzPnskbW9kLT5MYW5nKCdzZW5kX21lc3NhZ2UnKX08L2gzPgp7aWYgaXNzZXQoJG1vZHVsZSl9CjxoND57JG1vZC0+TGFuZygnYmxhc3RfYXJ0aWNsZV9mcm9tJywkbW9kdWxlKX0ge2lmICRzb3VyY2VfZGF0YS0+dGl0bGV9OiB7JHNvdXJjZV9kYXRhLT50aXRsZX17L2lmfTwvaDQ+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCBpZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KCntjZ2Vfc3RhcnRfdGFic30Ke2NnZV90YWJoZWFkZXIgbmFtZT0nbWFpbicgbGFiZWw9JG1vZC0+TGFuZygnbWFpbicpfQp7Zm9yZWFjaCAkc2VuZGVycyBhcyAkb25lPT4kbmFtZX0KICB7Y2dlX3RhYmhlYWRlciBuYW1lPSRuYW1lIGxhYmVsPSRuYW1lfQp7L2ZvcmVhY2h9Cgp7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0nbWFpbid9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PGxhYmVsIGZvcj0ic2VuZGVycyI+eyRtb2QtPkxhbmcoJ2Rlc3RpbmF0aW9ucycpfTo8L2xhYmVsPjwvcD4KICAgIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDx0YWJsZT4KICAgICAgICA8dHI+CiAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiPgogICAgICAgICAgPHNlbGVjdCBpZD0ic2VuZGVycyIgbmFtZT0ieyRhY3Rpb25pZH1zZW5kZXJzW10iIG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iMyI+CiAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHNlbmRlcnMgc2VsZWN0ZWQ9JHNhdmVkX3NlbmRlcnN9CiAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiPnskbW9kLT5MYW5nKCdpbmZvX3NlbmRlcnMnKX08L3RkPgogICAgICAgIDwvdHI+CiAgICAgIDwvdGFibGU+CiAgICA8L2Rpdj4KICA8L2Rpdj4Ke2NnZV90YWJjb250ZW50X2VuZH0KCntmb3JlYWNoICRzZW5kZXJzIGFzICRvbmUgPT4gJG5hbWV9CiAge2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9JG5hbWV9CiAgICB7JGluZm89JHNlbmRlcl9pbmZvWyRvbmVdfQogICAgeyogdGhpcyBkZWZpbmVzIHRoZSBtZXNzYWdpbmcgdGFiICp9CiAgICB7aWYgJGluZm8uaW5mb19tZXNzYWdlfTxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JGluZm8uaW5mb19tZXNzYWdlfTwvZGl2PnsvaWZ9CiAgICB7aWYgJHNvdXJjZV9kYXRhLT50aXRsZSAmJiAkaW5mby50aXRsZX0KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0aXRsZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4VCIgbmFtZT0ieyRhY3Rpb25pZH17JG9uZX1fc3ViamVjdCIgdmFsdWU9Inskc291cmNlX2RhdGEtPnRpdGxlfSIgc2l6ZT0iODAiLz4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgey9pZn0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ21lc3NhZ2UnKX06PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICB7aWYgJGluZm8uY2hhcmxpbWl0ID4gMH17JG1vZC0+TGFuZygnY2hhcmFjdGVyX2NvdW50Jyl9OiA8c3BhbiBjbGFzcz0iY2hhcmNvdW50Ij4wPC9zcGFuPiAvIDxzcGFuIGNsYXNzPSJjaGFybGltaXQiPnskaW5mby5jaGFybGltaXR9PC9zcGFuPjxici8+ey9pZn0KICAgICAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH17JG9uZX1fbXNnIiByb3dzPSIzIiBjb2xzPSI1MCJ7aWYgJGluZm8uY2hhcmxpbWl0fSBtYXhsZW5ndGg9InskaW5mby5jaGFybGltaXR9InsvaWZ9Pnskc2VuZGVyX21zZ3MuJG9uZX08L3RleHRhcmVhPgogICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIHtpZiAkaW5mby5waWN0dXJlICYmICRzb3VyY2VfZGF0YS0+Y291bnRfcGljdHVyZXMoKX0KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwaWN0dXJlJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxzZWxlY3QgY2xhc3M9InBpY3R1cmVfZHJvcGRvd24iIG5hbWU9InskYWN0aW9uaWR9eyRvbmV9X3BpY3R1cmUiPgogICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHNvdXJjZV9kYXRhLT5waWN0dXJlc30KCSAgICA8b3B0aW9uIHZhbHVlPSIiPnskbW9kLT5MYW5nKCdub25lJyl9PC9vcHRpb24+CiAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgey9pZn0KCiAgICB7aWYgJGluZm8ubGluayAmJiAkc291cmNlX2RhdGEtPmNhbm9uaWNhbCB9CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbGluaycpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4VCIgbmFtZT0ieyRhY3Rpb25pZH17JG9uZX1fbGluayIgdmFsdWU9Inskc291cmNlX2RhdGEtPmNhbm9uaWNhbH0iIHNpemU9IjgwIi8+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAge2lmICRpbmZvLmxpbmt0aXRsZX0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbGlua190aXRsZScpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9eyRvbmV9X2xpbmtuYW1lIiB2YWx1ZT0ieyRzb3VyY2VfZGF0YS0+dGl0bGV9IiBzaXplPSI4MCIvPgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICB7L2lmfQogICAgICB7aWYgJGluZm8uY2FwdGlvbn0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3cgY2FwdGlvbl93cmFwIj4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2xpbmtfY2FwdGlvbicpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJjYXB0aW9uIiBuYW1lPSJ7JGFjdGlvbmlkfXskb25lfV9jYXB0aW9uIiB2YWx1ZT0iIiBzaXplPSI4MCIvPgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICB7L2lmfQogICAgICB7aWYgJGluZm8uZGVzY3JpcHRpb259CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IGRlc2NyaXB0aW9uX3dyYXAiPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbGlua19kZXNjcmlwdGlvbicpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJkZXNjcmlwdGlvbiIgbmFtZT0ieyRhY3Rpb25pZH17JG9uZX1fZGVzY3JpcHRpb24iIHZhbHVlPSIiIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICB7L2lmfQogICAgey9pZn0KICB7Y2dlX3RhYmNvbnRlbnRfZW5kfQp7L2ZvcmVhY2h9Cgp7Y2dlX2VuZF90YWJzfQp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRibGFzdG1vZHVsZXMpfQogIDxmaWVsZHNldD4KICAgIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2JsYXN0Jyl9PC9sZWdlbmQ+CiAgICB7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6Q0dTb2NpYWxCbGFzdGVyO2FkbWluX3Bvc3RfdGFiLnRwbCd9CiAgPC9maWVsZHNldD4Key9pZn0KCjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdjb25maWd1cmF0aW9uJyl9OjwvbGVnZW5kPgogIHskZm9ybXN0YXJ0fQogIHtjZ2Vfc3RhcnRfdGFic30KICAgIHtjZ2VfdGFiaGVhZGVyIG5hbWU9J3NldHRpbmdzJyBsYWJlbD0kbW9kLT5MYW5nKCd0YWJfc2V0dGluZ3MnKX0KICAgIHtpZiBpc3NldCgkYmxhc3Rtb2R1bGVzKSAmJiBjb3VudCgkYmxhc3Rtb2R1bGVzKSA+IDB9CiAgICAgIHtmb3JlYWNoICRibGFzdG1vZHVsZXMgYXMgJG1vZHVsZW5hbWUgPT4gJGxibH0KICAgICAgICB7JGxibD0ieyRtb2QtPkxhbmcoJ3RlbXBsYXRlX2ZvcicsJGxibCl9In0KICAgICAgICB7Y2dlX3RhYmhlYWRlciBuYW1lPSRtb2R1bGVuYW1lIGxhYmVsPSRsYmx9CiAgICAgIHsvZm9yZWFjaH0KICAgICAge2NnZV90YWJoZWFkZXIgbmFtZT0naGVscCcgbGFiZWw9JG1vZC0+TGFuZygnaGVscCcpfQogICAgey9pZn0KCiAgICB7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0nc2V0dGluZ3MnfQogICAgICB7aWYgIWlzX2FycmF5KCRibGFzdG1vZHVsZXMpIHx8IGNvdW50KCRibGFzdG1vZHVsZXMpID09IDB9CiAgICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+eyRtb2QtPkxhbmcoJ3dhcm5pbmdfbm9zZW5kZXJzJyl9PC9kaXY+CiAgICAgIHsvaWZ9CgogICAgICB7aWYgIWlzX2FycmF5KCRob3N0bW9kdWxlcykgfHwgY291bnQoJGhvc3Rtb2R1bGVzKSA9PSAwfQogICAgICAgIDxkaXYgY2xhc3M9Indhcm5pbmciPnskbW9kLT5MYW5nKCd3YXJuaW5nX25vZmVlZGVycycpfTwvZGl2PgogICAgICB7L2lmfQoKICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZnJpZW5kbHluYW1lJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWZyaWVuZGx5bmFtZSIgdmFsdWU9InskZnJpZW5kbHluYW1lfSIgc2l6ZT0iNTAiLz4KICAgICAgICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fZnJpZW5kbHluYW1lJyl9CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIHtpZiBpc19hcnJheSgkaG9zdG1vZHVsZXMpICYmIGNvdW50KCRob3N0bW9kdWxlcykgPiAwfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RldGVjdGVkX2hvc3Rtb2R1bGVzJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgIHtpbXBsb2RlKCcsJywkaG9zdG1vZHVsZXMpfTxici8+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgICAgey9pZn0KCiAgICAgIHtpZiBpc19hcnJheSgkYmxhc3Rtb2R1bGVzKSAmJiBjb3VudCgkYmxhc3Rtb2R1bGVzKSA+IDB9CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGV0ZWN0ZWRfYmxhc3Rtb2R1bGVzJyl9OjwvcD4KICAgICAgICA8dWwgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICB7Zm9yZWFjaCAkYmxhc3Rtb2R1bGVzIGFzICRibGFzdG1vZCA9PiAkbGJsfQogIAkgICAgPGxpPnskYmxhc3Rtb2R9PC9saT4KICAJICB7L2ZvcmVhY2h9CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICAgIHsvaWZ9CiAgICB7Y2dlX3RhYmNvbnRlbnRfZW5kfQoKICAgIHtpZiBpc3NldCgkYmxhc3Rtb2R1bGVzKSAmJiBjb3VudCgkYmxhc3Rtb2R1bGVzKSA+IDB9CiAgICAgIHtmb3JlYWNoICRibGFzdG1vZHVsZXMgYXMgJG1vZHVsZW5hbWUgPT4gJGxibH0KICAgICAgICB7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0kbW9kdWxlbmFtZX0KICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19tZXNzYWdlX3RlbXBsYXRlJyl9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtZXNzYWdlX3RlbXBsYXRlJyl9OjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgICAgPHRleHRhcmVhIHJvd3M9IjUiIGNvbHM9IjgwIiBjbGFzcz0iYmxhc3Rfb3V0cHV0IiBuYW1lPSJ7JGFjdGlvbmlkfXRlbXBsYXRlX3skbW9kdWxlbmFtZX0iPnskdGVtcGxhdGVzLiRtb2R1bGVuYW1lfTwvdGV4dGFyZWE+CiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIHtjZ2VfdGFiY29udGVudF9lbmR9CiAgICAgIHsvZm9yZWFjaH0KCiAgICAgIHtjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdoZWxwJ30KICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyI+eyRtb2QtPkxhbmcoJ2luZm9fbWVzc2FnZWJveF9zbWFydHknKX08L2Rpdj4KICAgICAgICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGggd2lkdGg9IjI1JSI+eyRtb2QtPkxhbmcoJ3ZhcmlhYmxlJyl9PC90aD4KICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9PC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgIDx0cj48dGQ+e2xkZWxpbX0kaW5wdXRfZGF0YS0+dGl0bGV7cmRlbGltfTwvdGQ+PHRkPnskbW9kLT5MYW5nKCdzcmNkYXRhX3RpdGxlJyl9PC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPntsZGVsaW19JGlucHV0X2RhdGEtPnN1bW1hcnl7cmRlbGltfTwvdGQ+PHRkPnskbW9kLT5MYW5nKCdzcmNkYXRhX3N1bW1hcnknKX08L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+e2xkZWxpbX0kaW5wdXRfZGF0YS0+Y2Fub25pY2Fse3JkZWxpbX08L3RkPjx0ZD57JG1vZC0+TGFuZygnc3JjZGF0YV9jYW5vbmljYWwnKX08L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+e2xkZWxpbX0kaW5wdXRfZGF0YS0+Y2Fub25pY2FsX3Nob3J0e3JkZWxpbX08L3RkPjx0ZD57JG1vZC0+TGFuZygnc3JjZGF0YV9jYW5vbmljYWxfc2hvcnQnKX08L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+e2xkZWxpbX0kaW5wdXRfZGF0YS0+cGljdHVyZXN7cmRlbGltfTwvdGQ+PHRkPnskbW9kLT5MYW5nKCdzcmNkYXRhX3BpY3R1cmVzJyl9PC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPntsZGVsaW19JGlucHV0X2RhdGEtPmxpbmtze3JkZWxpbX08L3RkPjx0ZD57JG1vZC0+TGFuZygnc3JjZGF0YV9saW5rcycpfGNtc19lc2NhcGV9PC90ZD48L3RyPgogICAgICAgICAgPC90Ym9keT4KICAgICAgICA8L3RhYmxlPgogICAgICB7Y2dlX3RhYmNvbnRlbnRfZW5kfQogICAge2NnZV9lbmRfdGFic30KICB7L2lmfQoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cHJlZnNfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPC9wPgogIDwvZGl2PgogIHskZm9ybWVuZH0KPC9maWVsZHNldD4=]]></data>
	</file>
</module>
