<?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>SmartImage</name>
	<version>1.1.0</version>
    <mincmsversion>2.2.9</mincmsversion>
	<help><![CDATA[PHNjcmlwdCBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvQ01TTVMtMi00LURFVi1NT0RTL21vZHVsZXMvQ01TTVNFeHQvanMvanMuY29va2llLmpzIj48L3NjcmlwdD48c2NyaXB0PmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXt2YXIgYWN0aXZlX3RhYiA9IENvb2tpZXMuZ2V0KCdTbWFydEltYWdlX2FjdGl2ZScpOyQoIiNkb25hdGluZyIpLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KXtldmVudC5wcmV2ZW50RGVmYXVsdCgpO19zZXRfYWN0aXZlX3RhYignY29udHJpYnV0ZScpO30pO2lmKHR5cGVvZiBhY3RpdmVfdGFiID09PSAidW5kZWZpbmVkIil7X3NldF9hY3RpdmVfdGFiKCdnZW5lcmFsJyk7fWVsc2V7X3NldF9hY3RpdmVfdGFiKGFjdGl2ZV90YWIpO30kKCcjcGFnZV90YWJzID4gZGl2JykuZWFjaChmdW5jdGlvbigpeyQodGhpcykuY2xpY2soZnVuY3Rpb24oKXtDb29raWVzLnNldCgnU21hcnRJbWFnZV9hY3RpdmUnLCB0aGlzLmlkKTt9KTt9KTt9KTtmdW5jdGlvbiBfc2V0X2FjdGl2ZV90YWIodGFiX25hbWUpeyQoJyNwYWdlX3RhYnMgPiBkaXYnKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7fSk7JCgnI3BhZ2VfY29udGVudCA+IGRpdicpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmhpZGUoKTt9KTskKCcjJyArIHRhYl9uYW1lKS5hZGRDbGFzcygnYWN0aXZlJyk7JCgnIycgKyB0YWJfbmFtZSArICdfYycpLnNob3coKTtDb29raWVzLnNldCgnU21hcnRJbWFnZV9hY3RpdmUnLCB0YWJfbmFtZSk7fWZ1bmN0aW9uIGNvcHlUb0NsaXBib2FyZChlbGVtZW50KXt2YXIgJHRlbXAgPSAkKCI8aW5wdXQ+Iik7JCgiYm9keSIpLmFwcGVuZCgkdGVtcCk7JHRlbXAudmFsKCQoZWxlbWVudCkudGV4dCgpKS5zZWxlY3QoKTtkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpOyR0ZW1wLnJlbW92ZSgpO308L3NjcmlwdD48ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+PGRpdiBpZD0icGFnZV90YWJzIj48ZGl2IGlkPSJnZW5lcmFsIj5HZW5lcmFsPC9kaXY+PGRpdiBpZD0idXNpbmciPkhvdyBEbyBJIFVzZSBJdDwvZGl2PjxkaXYgaWQ9InBhcmFtZXRlcnMiPlBhcmFtZXRlcnM8L2Rpdj48ZGl2IGlkPSJzbWFydHkiPlNtYXJ0eSBQbHVnaW5zPC9kaXY+PGRpdiBpZD0iYWR2Ij5BZHZhbmNlZDwvZGl2PjxkaXYgaWQ9Im5ldyI+V2hhdCdzIE5ldzwvZGl2PjxkaXYgaWQ9ImNvbnRyaWJ1dGUiPkNvbnRyaWJ1dGU8L2Rpdj48ZGl2IGlkPSJhYm91dCI+QWJvdXQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2PjxkaXYgaWQ9InBhZ2VfY29udGVudCI+PGRpdiBpZD0iZ2VuZXJhbF9jIj48aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd2F5IHRvIHByb2Nlc3MsIGFuZCBkaXNwbGF5IGltYWdlcyBvbiB5b3VyIHdlYiBwYWdlLiAgSXQgYWxsb3dzIHNpbXBsZSBpbWFnZSBwcm9jZXNzaW5nLCBhbmQgd2F0ZXJtYXJraW5nLiAgVGhpcyBtb2R1bGUgbWFrZXMgZGlzcGxheWluZyBwcm9jZXNzZWQgaW1hZ2VzIG9uIHlvdXIgd2Vic2l0ZSB0cml2aWFsLiAgSXQgYWxzbyBwcm92aWRlcyBmZWF0dXJlcyB0byBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSByYXRpbmcgb2YgeW91ciB3ZWJzaXRlLCBtYWtpbmcgeW91ciB3ZWJzaXRlIHBvd2VyZnVsIGFuZCBmYXN0IGF0IHRoZSBzYW1lIHRpbWUuPC9wPgogIDxoND5GZWF0dXJlczo8L2g0Pgo8dWw+CiAgPGxpPlBvd2VyZnVsLCBzaW1wbGUgdG8gdXNlIGltYWdlIDxzdHJvbmc+ZmlsdGVyaW5nPC9zdHJvbmc+IGFuZCA8c3Ryb25nPnByb2Nlc3Npbmc6PC9zdHJvbmc+CiAgICA8dWw+CiAgICAgIDxsaT48c3Ryb25nPkJsdXI8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5CcmlnaHRuZXNzPC9zdHJvbmc+PC9saT4KICAgICAgPGxpPjxzdHJvbmc+Q29sb3JpemU8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5Db250cmFzdDwvc3Ryb25nPjwvbGk+CiAgICAgIDxsaT48c3Ryb25nPkNyb3A8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5Dcm9wIFRvIEZpdDwvc3Ryb25nPjwvbGk+CiAgICAgIDxsaT48c3Ryb25nPlJlc2l6ZSBUbyBGaXQ8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5FZGdlIERldGVjdGlvbjwvc3Ryb25nPjwvbGk+CiAgICAgIDxsaT48c3Ryb25nPlNoYXJwZW48L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5FbWJvc3M8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5HcmF5c2NhbGU8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5NZWFuIFJlbW92YWw8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5OZWdhdGU8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5QaXhlbGF0ZTwvc3Ryb25nPjwvbGk+CiAgICAgIDxsaT48c3Ryb25nPlJlZmxlY3Rpb248L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5SZXNpemU8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5Sb3VuZGVkIENvcm5lcnM8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5Sb3RhdGU8L3N0cm9uZz48L2xpPgogICAgICA8bGk+PHN0cm9uZz5TZWxpY3RpdmUgQmx1cjwvc3Ryb25nPjwvbGk+CiAgICAgIDxsaT48c3Ryb25nPlNtb290aDwvc3Ryb25nPjwvbGk+CiAgICAgIDxsaT48c3Ryb25nPldhdGVybWFyazwvc3Ryb25nPjwvbGk+CiAgICAgIDxsaT48c3Ryb25nPk5PT1AgPGVtPihub29wKTwvZW0+PC9zdHJvbmc+PHN1cD4xPC9zdXA+PC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+PHN0cm9uZz5SZXNwb25zaXZlIGltYWdlIGhhbmRsaW5nPC9zdHJvbmc+IHdpdGggYnJlYWtwb2ludHM6IHJlc2l6ZSBpbWFnZXMgdG8gYmUgc3VpdGFibGUgZm9yIHNtYWxsZXIgZGV2aWNlcyBzdWNoIGFzIG1vYmlsZSBwaG9uZXMgb3IgdGFibGV0czs8L2xpPgogIDxsaT48c3Ryb25nPlNtYXJ0IGRldGVjdGlvbiBvZiBpbWFnZXM8L3N0cm9uZz46ICBzcGVjaWZ5IGFic29sdXRlIFVSTFMsIGFic29sdXRlIHBhdGhzLCBvciBmaWxlcyByZWxhdGl2ZSB0byB5b3VyIHJvb3QgaW5zdGFsbGF0aW9uOzwvbGk+CiAgPGxpPjxzdHJvbmc+QXV0b21hdGljIGhhbmRsaW5nIG9mIGV4dGVybmFsIGltYWdlczwvc3Ryb25nPjogZG93bmxvYWRpbmcsIGNhY2hpbmcsIHByb2Nlc3NpbmcsIGFuZCByZS1jYWNoaW5nIG9mIGltYWdlcyBmcm9tIHJlbW90ZSB3ZWJzaXRlczs8L2xpPgogIDxsaT48c3Ryb25nPlNtYXJ0IGF1dG9tYXRpYyByZXNpemluZzwvc3Ryb25nPjogYXV0b21hdGljYWxseSByZXNpemUgdG8gZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBzZXJ2aW5nIHRoZSBpbWFnZTs8L2xpPgogIDxsaT48c3Ryb25nPkVYSUYgYXV0by1wcm9jZXNzaW5nPC9zdHJvbmc+OiBhdXRvbWF0aWNhbGx5IHJlYWRzIGltYWdlIEVYSUYgaW5mb3JtYXRpb24gYW5kIGNvcnJlY3RzIHRoZSBvcmllbnRhdGlvbjs8L2xpPgogIDxsaT48c3Ryb25nPlNvdXJjZSBjaGFuZ2UgZGV0ZWN0aW9uPC9zdHJvbmc+OiBpZiB0aGUgbWFzdGVyIGltYWdlIGlzIGNoYW5nZWQgc2NhbGVkIGltYWdlcyB3aWxsIGJlIHJlZ2VuZXJhdGVkIChzZWUgdGhlIDxzdHJvbmc+bm90aW1lY2hlY2s8L3N0cm9uZz4gcGFyYW1ldGVyIHRvIGRpc2FibGUgdGhpcyBiZWhhdmlvcik7PC9saT4KICA8bGk+PHN0cm9uZz5TbWFydCBhdHRyaWJ1dGUgZ2VuZXJhdGlvbjwvc3Ryb25nPiBmb3IgaW1hZ2UgdGFnczs8L2xpPgogIDxsaT48c3Ryb25nPkltYWdlIGNhY2hpbmc8L3N0cm9uZz46IHByb2Nlc3NlZCBpbWFnZXMgYXJlIGNhY2hlZCBvbiB0aGUgc2VydmVyIGZvciBmYXN0ZXIgc2VydmluZzs8L2xJPgogIDxsaT48c3Ryb25nPkNETiBzdXBwb3J0PC9zdHJvbmc+OiB1c2UgYSBzZXBhcmF0ZSBVUkwgKDxzdHJvbmc+Q0ROPC9zdHJvbmc+KTxzdXA+Mjwvc3VwPiBmb3Igc2VydmluZyBpbWFnZXM7PC9saT4KICA8bGk+PHN0cm9uZz5TZXF1ZW50aWFsIHByb2Nlc3Npbmc8L3N0cm9uZz46IGltYWdlIGZpbHRlcnMgYW5kIHByb2Nlc3NvcnMgY2FuIGJlIGNvbWJpbmVkLCBiZWluZyBleGVjdXRlZCBpbiBvcmRlcjs8L2xpPgogIDxsaT48c3Ryb25nPkVtYmVkZGluZzwvc3Ryb25nPjogIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZW50IG9mIHRoZSB3ZWIgcGFnZSB0byBtaW5pbWl6ZSBzcGFjZTs8L2xpPgogIDxsaT48c3Ryb25nPlNlbGVjdGl2ZSBlbWJlZGRpbmc8L3N0cm9uZz46ICBsaW1pdCBlbWJlZGRpbmcgaW1hZ2VzIHNtYXJ0bHkgb25seSB0byBicm93c2VycyB0aGF0IGFyZSBjYXBhYmxlIG9mIHVuZGVyc3RhbmRpbmcgdGhlbTs8L2xpPgogIDxsaT48c3Ryb25nPlBhcmFtZXRlcnMgYWxpYXNpbmc8L3N0cm9uZz46IGNvbWJpbmUgY29tbW9ubHkgdXNlZCBhcmd1bWVudHMgaW50byBuYW1lZCBhbGlhc2VzOzwvbGk+CiAgPGxpPjxzdHJvbmc+U3R5bGVzaGVldHMgc3VwcG9ydDwvc3Ryb25nPjogd29ya3Mgd2l0aGluIHN0eWxlc2hlZXRzIHZpYSB0aGUgJiMxMjM7Y21zX3N0eWxlc2hlZXR9IHRhZzs8L2xpPgogIDxsaT48c3Ryb25nPlNtYXJ0eSBibG9jayBwbHVnaW48L3N0cm9uZz46IGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBpbWFnZXMgaW5zaWRlIGEgYmxvY2sgb2YgaHRtbCBjb2RlIHVzaW5nIHRoZSA8c3Ryb25nPiYjMTIzO3NpX2NvbnZlcnR9PC9zdHJvbmc+IGJsb2NrIHRhZzs8L2xpPgogIDxsaT48c3Ryb25nPkJsb2NrIGV4dHJhY3Rpb248L3N0cm9uZz46IGV4dHJhY3QgaW1hZ2VzIGZyb20gYSBibG9jayBvZiBodG1sIGNvZGU7PC9saT4KICA8bGk+PHN0cm9uZz5Qcm9wb3J0aW9ucyBwcmVzZXJ2YXRpb248L3N0cm9uZz46IGF1dG9tYXRpY2FsbHkgcmVzaXplIHVwbG9hZGVkIGltYWdlcyB0byBhIG1heGltdW0gZWRnZSBzaXplOzwvbGk+CiAgPGxpPk1vcmUuLi48L2xpPgo8L3VsPgoKICA8cD48c21hbGw+PHN1cD4xPC9zdXA+IC0gYWNyb255bSBmb3IgPGI+Tk8gT1A8L2I+ZXJhdGlvbiBtZWFuaW5nIHRoYXQgdGhlIGZpbGUgd2lsbCBiZSBjYWNoZWQgYnV0IHdpdGhvdXQgYW55IG90aGVyIHByb2Nlc3NpbmcgdmlhIDxiPjxlbT5maWx0ZXJfbm9vcDwvZW0+PC9iPi4gUGxlYXNlIGNvbnN1bHQgdGhlIHBhcmFtZXRlcnMgdGFiIG9mIHRoaXMgaGVscCBwYWdlLjwvc21hbGw+PC9wPgogIDxwPjxzbWFsbD48c3VwPjI8L3N1cD4gLSBhY3JvbnltIGZvciA8Yj5DPC9iPm9udGVudCA8Yj5EPC9iPmVsaXZlcnkgPGI+TjwvYj5ldHdvcmsuPC9zbWFsbD48L3A+CgoKPGg0PldoeSBzaG91bGQgSSB1c2UgaXQ/PC9oND4KPHA+VGhlcmUgYXJlIGZvdXIgdmVyeSBpbXBvcnRhbnQgcmVhc29ucyB0byB1c2UgdGhpcyBwbHVnaW46PC9wPgo8dWw+CiAgPGxpPjxzdHJvbmc+UGVyZm9ybWFuY2U8L3N0cm9uZz46ICBVc2luZyBpbWFnZSBlbWJlZGRpbmcgKGV2ZW4gaWYgbm8gb3RoZXIgZnVuY3Rpb25zIGFyZSB1c2VkKSByZXN1bHRzIGluIGZld2VyIHJlcXVlc3RzLiAgTW9zdCBicm93c2VycyBvbmx5IHBlcmZvcm0gdHdvIHRvIGZvdXIgc2ltdWx0YW5lb3VzIHJlcXVlc3RzIHRvIHRoZSBzYW1lIGRvbWFpbiBhdCB0aGUgc2FtZSB0aW1lLiAgRm9yIHdlYiBwYWdlcyB3aXRoIGxvdHMgb2YgaW1hZ2VzIHRoaXMgY2FuIHNlcmlvdXNseSBzbG93IGRvd24geW91ciBzaXRlOzwvbGk+CiAgPGxpPjxzdHJvbmc+UGVyZm9ybWFuY2U8L3N0cm9uZz46ICBFdmVuIGlmIG5vdCB1c2luZyBlbWJlZGRpbmcsIHNlbmRpbmcgbGFyZ2UgaW1hZ2VzIHRvIHlvdXIgdmlzaXRvcnMsIGFuZCBhc2tpbmcgdGhlaXIgYnJvd3NlciB0byBzY2FsZSB0aGUgaW1hZ2UgaXMgdmVyeSB2ZXJ5IHNsb3c7PC9saT4KICA8bGk+PHN0cm9uZz5TZWN1cml0eTwvc3Ryb25nPjogIFNtYXJ0SW1hZ2UgY2FjaGVzIGl0cyBpbWFnZXMgaW4gYSBzZXBhcmF0ZSBkaXJlY3RvcnksIHRoZXJlYnkgaGlkaW5nIHRoZSBvcmlnaW5hbCAocGVyaGFwcyBjb3B5cmlnaHRlZCkgaW1hZ2VzIGZyb20geW91ciB1c2Vycy4gIElmIGVtYmVkZGluZyBpcyB1c2VkIHRoZXkgY2FuIG5vdCBldmVuIGZpbmQgdGhlIGNhY2hlZCBsb2NhdGlvbjs8L2xpPgogIDxsaT48c3Ryb25nPlNpbXBsaWNpdHk8L3N0cm9uZz46ICBUaGUgZmlsdGVyaW5nIGNhcGFiaWxpdGllcyBvZiBTbWFydEltYWdlIGFsbG93IHlvdSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGZvciBjb25zaXN0ZW50IGFuZCBzZWN1cmUgZGlzcGxheSwgd2l0aG91dCBzaXRlIGVkaXRvcnMgaGF2aW5nIHRvIHBsYXkgd2l0aCB0aGVtLiAgVGhleSBjYW4gdXBsb2FkIGxhcmdlciBpbWFnZXMsIGFuZCB5b3VyIHNpdGUgd2lsbCBqdXN0IGhhbmRsZSB0aGVtIHByb3Blcmx5LjwvbGk+CiAgPGxpPjxzdHJvbmc+RGlzayBzcGFjZSBzYXZpbmc8L3N0cm9uZz46IFRoZSBhdXRvbWF0aWMgaW1hZ2UgcHJvY2Vzc2luZyBvcHRpb24gYWxsb3dzIHJlc2l6aW5nIGltYWdlcyB0byBhIG1heGltdW0gc2l6ZSwgYW5kIGRlbGV0aW5nIHRoZSBvcmlnaW5hbCwgdGhpcyBzYXZlcyBkaXNrIHNwYWNlIHdoZW4gdXNlcnMgYXJlIHVwbG9hZGluZyB0b25uZXMgb2YgaW1hZ2VzLjwvbGk+CjwvdWw+Cgo8aDQ+SW1hZ2UgRW1iZWRkaW5nPC9oND4KICA8cD5JbWFnZSBlbWJlZGRpbmcgZW5jb2RlcyB0aGUgaW1hZ2UgaW50byBhIGRhdGEgPHN0cm9uZz5VUkk8L3N0cm9uZz4gd2hpY2ggaXMgZW1iZWRkZWQgZGlyZWN0bHkgaW4gdGhlIHBhZ2UgKG9yIHN0eWxlc2hlZXQpIGNvbnRlbnQuICBUaGlzIHJlZHVjZXMgcmVxdWVzdHMgdGhhdCB0aGUgYnJvd3NlciBtdXN0IG1ha2UgdG8gcmVjZWl2ZSBpbWFnZXMgZnJvbSB5b3VyIHNpdGUuICBIb3dldmVyIGl0IGRvZXMgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhlIEhUTUwgcGFnZS4gIE9uIGltYWdlIGhlYXZ5IHBhZ2VzIHlvdSBzaG91bGQgbWl4IHRoZSB1c2Ugb2YgZW1iZWRkZWQgaW1hZ2VzLjwvcD48L2Rpdj48ZGl2IGlkPSJ1c2luZ19jIj48aDM+SG93IGRvIEkgVXNlIGl0PC9oMz4KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUgJiMxMjM7aW1hZ2V9IHRhZy4gIEkuZTogU29tZXRoaW5nIGxpa2U6PC9wPgo8cHJlPjxjb2RlPiYjMTIzO1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyd9PC9jb2RlPjwvcHJlPi4gIDxwPlRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4KCjxwPk9mdGVuIHBlb3BsZSB3YW50IHRvIGRpc3BsYXkgYSB3YXRlcm1hcmsgb24gdGhlIGltYWdlcyB0aGF0IHRoZXkgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQgdG8gcHJldmVudCBpbWFnZSB0aGVmdC4gIFRoZSBDTVNNU0V4dCBtb2R1bGUgcHJvdmlkZXMgc2V0dGluZ3MgZm9yIHlvdSB0byBjb25maWd1cmUgd2F0ZXJtYXJraW5nIGFuZCB5b3UgY2FuIGVuYWJsZSB0aGF0IHdpdGggYW55IGltYWdlIHdpdGggYSB0YWcgbGlrZSB0aGlzOjwvcD4KPHByZT48Y29kZT4mIzEyMztTbWFydEltYWdlIHNyYz0ndXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcnIGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+PC9wcmU+CjxwPlRoaXMgd2lsbCByZWFkIHRoZSBpbWFnZSwgYXBwbHkgdGhlIHdhdGVybWFyayBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIENNU01TRXh0LCBjYWNoZSB0aGUgYWx0ZXJlZCBpbWFnZSwgYW5kIHRoZW4gZW1iZWQgaXQgaW50byB5b3VyIG91dHB1dC48L3A+CjxwPlBpY3R1cmVzIHRha2VuIGJ5IG1vZGVybiBkaWdpdGFsIGNhbWVyYXMgYXJlIG9mdGVuIHRvbyBsYXJnZSBmb3IgdXNlIG9uIGEgd2Vic2l0ZSwgdGhlcmVmb3JlIHRoZXkgbmVlZCB0byBiZSBzY2FsZWQgYmVmb3JlIGRpc3BsYXllZCBvbiB5b3VyIHBhZ2UuICBUaGlzIGNhbiBiZSBkb25lIHF1aXRlIGVhc2lseSB3aXRoIGEgdGFnIGxpa2U6PC9wPgo8cHJlPjxjb2RlPiYjMTIzO1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZycgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J3csMzUwJ308L2NvZGU+PC9wcmU+CjxwPlRoaXMgdGFnIHdpbGwgd2F0ZXJtYXJrIHRoZSBpbWFnZSBiZWZvcmUgaXQgaXMgcmVzaXplZCB0byBhIG1heGltdW0gd2lkdGggb2YgMzUwIHBpeGVscyAocmV0YWluaW5nIGFzcGVjdCByYXRpbykuICBUaGVuIHRoZSBhZGp1c3RlZCBpbWFnZSB3aWxsIGJlIGNhY2hlZCwgYW5kIGlmIHRoZSBicm93c2VyIGFsbG93cyB0aGUgaW1hZ2Ugd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZSA8c3Ryb25nPkhUTUw8L3N0cm9uZz4gb3V0cHV0LiAgSWYgZW1iZWRkaW5nIGlzIG5vdCBwb3NzaWJsZSwgdGhlIDxzdHJvbmc+aW1nPC9zdHJvbmc+IHRhZyB3aWxsIGNvbnRhaW4gdGhlIDxzdHJvbmc+VVJMPC9zdHJvbmc+IHRvIHRoZSBjYWNoZWQgaW1hZ2UuPC9wPgo8cD5Zb3UgY2FuIGNvbWJpbmUgdGhlIG9wdGlvbnMgbGlzdGVkIGluIHRoZSA8c3Ryb25nPlBhcmFtZXRlcnM8L3N0cm9uZz4gdGFiIHRvIHBlcmZvcm0gYSBsb3Qgb2YgZGlmZmVyZW50IGVmZmVjdHMgdG8geW91ciBpbWFnZXMsIGJ1aWxkIHNpbXBsZSBnYWxsZXJpZXMsIGFuZCBpbXByb3ZlIHlvdXIgc2l0ZSBwZXJmb3JtYW5jZSBhdCB0aGUgc2FtZSB0aW1lLjwvcD48L2Rpdj48ZGl2IGlkPSJwYXJhbWV0ZXJzX2MiPjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHVsPgo8bGk+CiAgPHN0cm9uZz5hY3Rpb248L3N0cm9uZz4gPGVtPihvcHRpb25hbCk8L2VtPjogVGhlIGFjdGlvbiBmb3IgdGhlIG1vZHVsZSB0byBwZXJmb3JtLgogIDxicj5Qb3NzaWJsZSB2YWx1ZXMgYXJlOgogIDx1bD4KICAgIDxsaT48c3Ryb25nPmRlZmF1bHQ8L3N0cm9uZz4gLSBwZXJmb3JtIG1hbmlwdWxhdGlvbiBvbiBhIHNpbmdsZSBpbWFnZTs8L2xpPgogICAgPGxpPjxzdHJvbmc+cmVzcG9uc2l2ZTwvc3Ryb25nPiAtIG91dHB1dCBhIGphdmFzY3JpcHQgY29kZSBzbmlwcGV0IHRoYXQgd2lsbCBjcmVhdGUgYSBjb29raWUgcHJvdmlkaW5nIHRoZSBTbWFydEltYWdlIG1vZHVsZSB3aXRoIGRldmljZSBzY3JlZW4gc2l6ZSBhbmQgcGl4ZWwgcmF0aW87PC9saT4KICA8L3VsPgo8L2xpPgo8bGk+PHN0cm9uZz5zaWxlbnQ8L3N0cm9uZz4gPGVtPihvcHRpb25hbCk8L2VtPiAtIFNpbGVudGx5IGlnbm9yZSBlcnJvcnMgKHBvc3NpYmxlIHZhbHVlczogMCwxICk7PC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+YWxpYXM8L2I+IC0gVGhlIFNtYXJ0SW1hZ2UgYWRtaW4gcGFuZWwgYWxsb3dzIGNyZWF0aW5nIG51bWVyb3VzIGNvbW1hbmQgYWxpYXNlcyB0byBjb21iaW5lIGEgZnJlcXVlbnRseSB1c2VkIHBhdHRlcm4gb2YgYXJndW1lbnRzIGludG8gb25lIG5hbWUuICBUbyB1c2UgdGhlc2UgYWxpYXNlcyB1c2UgYW4gYXJndW1lbnQgb2YgdGhlIGZvcm0gYWxpYXMjIz1hbGlhc19uYW1lIGkuZTogIGFsaWFzMT1mb28gYWxpYXMyPWZvby48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5ub2F1dG9zY2FsZTwvYj4gLSBJZiB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBkaXNhYmxlIGF1dG9tYXRpYyBzY2FsaW5nIG9mIHRoZSBpbWFnZS4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgYmUgZGlzYWJsZWQgZm9yIG1vYmlsZSBicm93c2VyczwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vYmNhY2hlPC9iPiAtIERvIG5vdCBhbGxvdyB0aGUgcmVzaXplZCBpbWFnZSB0byBjYWNoZSBpbiB0aGUgYnJvd3NlciAodXNlZnVsIGZvciBkZXZlbG9wbWVudCBwdXJwb3NlcykgdGhpcyBhZGRzIGEgdW5pcXVlIG51bWJlciBhcyBhIHBhcmFtZXRlciB0byB0aGUgaW1hZ2Ugd2hpY2ggd2lsbCBmb3JjZSB0aGUgYnJvd3NlciBub3QgdG8gY2FjaGUgdGhlIGltYWdlLjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vZW1iZWQ8L2I+IC0gRm9yY2UgdGhlIGltYWdlIHRvIG5vdCBlbWJlZC4gIFJlZ2FyZGxlc3Mgb2Ygc2V0dGluZ3MgaW4gdGhlIGFkbWluIHBhbmVsLCB0aGUgVVJMIGFuZCB0YWcgZ2VuZXJhdGVkIHdpbGwgYmUgdG8gYSBmaWxlIG9uIHRoZSBzZXJ2ZXIuICBObyBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQ8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5ub2F1dG88L2I+IC0gRG8gbm90IGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlIHBhcmFtZXRlcnMgZm9yIHRoZSBpbWcgdGFnLiAgVGhpcyBtYXkgY2F1c2UgeW91ciBzaXRlIHRvIGZhaWwgdmFsaWRhdGlvbiBpZiBzb21lIHJlcXVpcmVkIHBhcmFtZXRlcnMgKHdpZHRoLGhlaWdodCxhbHQpIGFyZSBub3Qgc3BlY2lmaWVkLiAgQWRkaXRpb25hbGx5LCBpZiB0aGUgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIGFyZSBzcGVjaWZpZWQsIHRoaXMgcGFyYW1ldGVyIHdpbGwgZW5zdXJlIHRoYXQgdGhleSB3aWxsIG5vdCBiZSBvdmVycmlkZGVuIGJ5IHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlLjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vcm90YXRlPC9iPiAtIERvIG5vdCBhdHRlbXB0IHRvIHJlYWQgZXhpZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmaWxlIGFuZCBjb3JyZWN0IGltYWdlIHJvdGF0aW9uPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bm90YWc8L2I+IC0gRG8gbm90IG91dHB1dCBhbiBpbWcgdGFnLCBvbmx5IHRoZSB1cmwgdG8gdGhlIGNhY2hlZCBpbWFnZS4gIFRoaXMgaGFzIG5vIGVmZmVjdCB3aGVuIFNtYXJ0SW1hZ2UgaXMgdXNlZCBmcm9tIHdpdGhpbiBhIHN0eWxlc2hlZXQuPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bm9yZXNwb25zaXZlPC9iPiAtIFR1cm4gb2ZmIGFsbCByZXNwb25zaXZlIGltYWdlIGhhbmRsaW5nIGZvciB0aGlzIG9wZXJhdGlvbi48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5ub2RwcmFkanVzdDwvYj4gLSBGb3IgcmVzcG9uc2l2ZSBpbWFnZSBoYW5kbGluZywgZG8gbm90IGFkanVzdCB0aGUgc2l6ZSBvZiBhIHNjYWxlZCBpbWFnZSBiYXNlZCBvbiB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvIGZyb20gdGhlIHJlc3BvbnNpdmUgaW5mb3JtYXRpb24uPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bm9icmVha3BvaW50czwvYj4gLSBGb3IgcmVzcG9uc2l2ZSBpbWFnZSBoYW5kbGluZywgZGlzYWJsZSBicmVha3BvaW50cyBhbmQgZm9yY2UgcmVndWxhciByZXNpemUgaGFuZGxpbmcgZm9yIGltYWdlcyBvbiBtb2JpbGUgYnJvd3NlcnMuPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bm9yZW1vdGU8L2I+IC0gRG8gbm90IGFsbG93IHJldHJpZXZpbmcgc291cmNlcyBmcm9tIHJlbW90ZSBVUkxTPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+Zm9yY2VfdHlwZTwvYj4gLSAoc3RyaW5nKSBGb3JjZSB0aGUgb3V0cHV0IGltYWdlIHRvIGJlIHNhdmVkIGluIHRoZSBzcGVjaWZpZWQgaW1hZ2UgdHlwZSwgaW5kZXBlbmRlbnQgb2YgdGhlIHNvdXJjZSBpbWFnZSwgZmlsdGVycywgYW5kIHBhcmFtZXRlcnMuICBWYWxpZCB2YWx1ZXMgYXJlOiBqcGVnLHBuZyxnaWYuIE5vdGU6IER1ZSB0byB0aGUgY2FwYWJpbGl0aWVzIG9mIHNvbWUgaW1hZ2UgZm9ybWF0cywgc3VycHJpc2luZyBlZmZlY3RzIGNhbiBvY2N1ci4gIFBhcnRpY3VsYXJseSwgZm9yY2luZyBhIHRyYW5zcGFyZW50IFBORyB0byBzYXZlIGluIEpQRUcgZm9ybWF0IHdpbGwgcmVzdWx0IGluIGFsbCB0cmFuc3BhcmVuY3kgYmVpbmcgbG9zdC48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5mb3JjZV9leHQ8L2I+IC0gMSBvciAwIChpbnRlZ2VyKSBFbmFibGUgKG9yIGRpc2FibGUpIHRoZSBmb3JjaW5nIG9mIGFsbCBnZW5lcmF0ZWQgaW1hZ2UgZmlsZXMgdG8gaGF2ZSBmaWxlIGV4dGVuc2lvbnMuICBEZXBlbmRpbmcgdXBvbiB0aGUgc291cmNlIGltYWdlLCBhbmQgdGhlIGZpbHRlcnMgYW5kIHBhcmFtZXRlcnMgdXNlZCwgdGhlIGdlbmVyYXRlZCBleHRlbnNpb24gbWF5IG5vdCBhY2N1cmF0ZWx5IHJlcHJlc2VudCB0aGUgYWN0dWFsIGNvbnRlbnRzIG9mIHRoZSBmaWxlPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+Zm9yY2Vfc2VvX25hbWU8L2I+ICAtIDEgb3IgMCAoaW50ZWdlcikgRW5hYmxlIChvciBkaXNhYmxlKSB0aGUgZm9yY2luZyBvZiBhbGwgZ2VuZXJhdGVkIGltYWdlIGZpbGVzIGZpbGVuYW1lcyB0byBiZSBiYXNlZCBvbiB0aGUgc291cmNlIG9yaWdpbmFsIGZpbGVuYW1lLiBBIHByZWZpeCBpcyBhZGRlZCBhbmQgZW1wdHkgc3BhY2VzIGFyZSByZXBsYWNlZCBieSBoeXBoZW5zLCBidXQgYSBodW1hbiByZWFkYWJsZSBmaWxlbmFtZSBpcyBrZXB0IGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBuYW1lLjwvbGk+CjxsaT4KICA8Yj5zcmM8L2I+IC0gU3BlY2lmeSB0aGUgc291cmNlIGZvciB0aGUgaW1hZ2UgcHJvY2Vzc2luZyAoaWYgYW55KSBvciB0aGUgZ2VuZXJhdGVkIGltZyB0YWcuICBOb3RlLCB0aGlzIHBhcmFtZXRlciBpcyBmbGV4aWJsZSwgYW5kIHRoZSBtb2R1bGUgd2lsbCBhdHRlbXB0IG1hbnkgbWV0aG9kcyB0byBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgZmlsZSBvbiB0aGUgd2ViIHNlcnZlciBhcyBmb2xsb3dzOgogIDx1bD4KICAgIDxsaT5GaXJzdCBsb29rIHRvIHNlZSBpZiB0aGUgc3BlY2lmaWVkIHNyYyB2YWx1ZSBleGlzdHMgYXMgYSBmaWxlIG9uIHRoZSBmaWxlc3lzdGVtIDxzdHJvbmc+QmVsb3cgdGhlIENNU01TIHJvb3QgVVJMPC9zdHJvbmc+PC9saT4KICAgIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHVwbG9hZHNfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4KICAgIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHJvb3RfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4KICAgIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgogIDwvdWw+CiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBzcGxpdCB0aGUgc3JjIHBhcmFtZXRlciBpbnRvIG11bHRpcGxlIGFyZ3VtZW50cywgd2hpY2ggaXMgdXNlZnVsIGZvciBleGFtcGxlIHdoZW4gdGhlIHBhdGggdG8gdGhlIGZpbGUsIGFuZCB0aGUgZmlsZW5hbWUgYXJlIHN0b3JlZCBpbiBzZXBhcmF0ZSBzbWFydHkgdmFyaWFibGVzLiAgIFlvdSBjYW4gc3BlY2lmeSB0aGUgc3JjIGFzIHNyYzE9XCR0aGVfcGF0aCBzcmMyPVwkdGhlX2ZpbGVuYW1lLiAgVGhlIHN5c3RlbSB3aWxsIGF1dG9tYXRpY2FsbHkgYWRkIGEgLyBpbiBiZXR3ZWVuIGVhY2ggYXJndW1lbnQuICBUaGVyZSBpcyBubyBsaW1pdCB0byB0aGUgbnVtYmVyIG9mIHNyYyBwYXJhbWV0ZXJzLgo8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5vdmVyd3JpdGU8L2I+IC0gRGlzYWJsZSBhbGwgY2FjaGluZyBhbmQgZm9yY2UgcmUtY2FsY3VsYXRpb24gb2YgYWxsIGZpbHRlcnM8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5pZDwvYj4gLSBVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYW4gaWQgYXR0cmlidXRlIHRvIGluY2x1ZGUgb24gdGhlIHRhZy4gIGkuZTogaWQ9InNvbWV0YWciPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+Y2xhc3M8L2I+IC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0iZmFuY3lib3ggdGh1bWJuYWlsIjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPnN0eWxlPC9iPiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbHRlcm5hdGUgc3R5bGVzIGZvciB0aGUgdGFnLiAgaS5lOiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPnRpdGxlPC9iPiAtIFNwZWNpZnkgYW4gb3B0aW9uYWwgdGl0bGUgYXR0cmlidXRlIGZvciB0aGUgaW1nIHRhZy4gIGkuZTogdGl0bGU9IlRoaXMgaXMgdGhlIHRvb2x0aXAiPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+YWx0PC9iPiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGFsdCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgIm5vYXV0byIgcGFyYW1ldGVyPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bmFtZTwvYj4gLSBVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBuYW1lIGF0dHJpYnV0ZS48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5oZWlnaHQ8L2I+IC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAibm9hdXRvIiBwYXJhbWV0ZXIuICBUaGlzIHBhcmFtZXRlciB3aWxsIGFsc28gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAid2lkdGgiIHBhcmFtZXRlciB0byBwZXJmb3JtIGEgZmluYWwgcmVzaXppbmcgb3IgY3JvcHRvZml0IGZpbHRlciAodW5sZXNzIHRoZSAibm9hdXRvc2NhbGUiIHBhcmFtZXRlciBpcyBhbHNvIHN1cHBsaWVkKTwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPndpZHRoPC9iPiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIHdpZHRoIGF0dHJpYnV0ZS4gICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgIm5vYXV0byIgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgImhlaWdodCIgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICJub2F1dG9zY2FsZSIgcGFyYW1ldGVyIGlzIGFsc28gc3VwcGxpZWQpPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+cXVhbGl0eTwvYj4gLSBTcGVjaWZ5IHRoZSBxdWFsaXR5IG9mIHRoZSBvdXRwdXQgaW1hZ2UuICBBIHZhbHVlIGJldHdlZW4gMCBhbmQgMTAwLiAgVGhlIGRlZmF1bHQgdmFsdWUgaWYgbm90IHNwZWNpZmllZCBpcyA3NS48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5yZWw8L2I+IC0gVXNlZCB3aGVuIGJ1aWxkaW5nIGFuIGltYWdlIHRhZyBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCByZWwgYXR0cmlidXRlICh0eXBpY2FsbHkgdXNlZCB3aXRoIGphdmFzY3JpcHQgdHlwZSBhbGJ1bXMpLiBpLmU6IHJlbD0iYWxidW0iPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bWF4X3dpZHRoPC9iPiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSB3aWR0aCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMuPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bWF4X2hlaWdodDwvYj4gLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG1heGltdW0gaGVpZ2h0IGZvciB0aGUgY29udmVydGVkIGltYWdlcy48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5wcm9ncmVzc2l2ZTwvYj4gLSAoYm9vbGVhbikgVG9nZ2xlIHNhdmluZyBqcGVnIGltYWdlcyBpbiBwcm9ncmVzc2l2ZSBmb3JtYXQuICBUaGlzIHBhcmFtZXRlciB3aWxsIG92ZXJyaWRlIHRoZSBwcmVmZXJlbmNlIGluIHRoZSBtb2R1bGVzIGFkbWluIHBhbmVsLiAgQXBwbGllcyBvbmx5IHRvIEpQRUcgaW1hZ2VzLjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmF1dG9zY2FsZV9vcDwvYj4gLSBPdmVycmlkZSB0aGUgZGVmYXVsdCBmaWx0ZXIgdG8gYmUgdXNlZCB3aGVuIGF1dG9zY2FsaW5nLiAgUG9zc2libGUgdmFsdWVzIGFyZSAicmVzaXplIiBhbmQgImNyb3B0b2ZpdCI8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfYmx1cjwvYj4gLSAoYW55dGhpbmcpIFNwZWNpZnkgYW55IHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciB0byBhZGQgYSBibHVyIGZpbHRlciB0byB0aGUgaW1hZ2U8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfYnJpZ2h0bmVzczwvYj4gLSAoaW50ZWdlcikgSW5jcmVhc2UgdGhlIGJyaWdodG5lc3Mgb2YgdGhlIHByb2Nlc3NlZCBpbWFnZSBieSB0aGUgaW50ZWdlciB2YWx1ZSBzcGVjaWZpZWQ8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfY29sb3JpemU8L2I+IC0gKHIsZyxiWyxhbHBoYV0pIC0gTGlrZSBmaWx0ZXJfZ3JheXNjYWxlIGhvd2V2ZXIgeW91IGNhbiBzcGVjaWZ5IHRoZSBjb2xvciBhbmQgYWxwaGEgdmFsdWU8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfY29udHJhc3Q8L2I+IC0gKGludGVnZXIpIENoYW5nZSB0aGUgY29udHJhc3Qgb2YgdGhlIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZDwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9jcm9wPC9iPiAtIChwZXJjZW50WyxoX2FsaWduLHZfYWxpZ25dKSAtIFBlcmZvcm0gY3JvcHBpbmcgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gQ3JvcCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGZpcnN0IChyZXF1aXJlZCkgdmFsdWUgaXMgYW4gaW50ZWdlciBwZXJjZW50YWdlIG9mIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplLiAgVGhlIG9wdGlvbmFsIHNlY29uZCBhbmQgdGhpcmQgcGFyYW1ldGVycyBhcmUgb25lIG9mIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgYW5kIHQsYyxiICh0b3AsY2VudGVyLGJvdHRvbSkgc3BlY2lmeWluZyB3aGVyZSB0aGUgbG9jYXRpb24gd2l0aGluIHRoZSBzb3VyY2UgaW1hZ2UgdG8gY3JvcCBmcm9tLiAgaS5lOiBjcm9wPTMzLGIsciB0byBncmFiIGEgY3JvcCBvZiAzMyUgZnJvbSB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBzb3VyY2UgaW1hZ2UuPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX2Nyb3Ayc2l6ZTwvYj4gLSAod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvbl0pIC0gUGVyZm9ybSBhIGNyb3Agb24gdGhlIGltYWdlIHNwZWNpZmllZC4gIFRoaXMgZmlsdGVyIHdpbGwgY29weSB0aGUgcG9ydGlvbiBvZiB0aGUgc291cmNlIGltYWdlIHNwZWNpZmllZCBpbnRvIHRoZSBkZXN0aW5hdGlvbiBpbWFnZS4gIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgY2FuIGJlIG5vIGxhcmdlciB0aGFuIHRoZSBzaXplIG9mIHRoZSBzb3VyY2UgaW1hZ2UgKGFuZCB3aWxsIGJlIHRyaW1tZWQgYXMgc3VjaC4gIE5lZ2F0aXZlIHZhbHVlcyBhcmUgbm90IHBlcm1pdHRlZC4gIFZhbGlkIGxvY2F0aW9ucyBhcmU6IHRsLHRjLHRyLGNsLGMsY3IsYmwsYmMsYnIgZm9yIHRoZSA5IHJlbGF0aXZlIHBvc2l0aW9ucyB3aXRoaW4gdGhlIGltYWdlLjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9jcm9wdG9maXQ8L2I+IC0gKHdpZHRoLGhlaWdodFssbG9jYXRpb25bLHVwc2NhbGVdXSkgLSBQZXJmb3JtIGEgY3JvcHRvZml0IG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIFRoaXMgYXR0ZW1wdHMgdG8gcmVzY2FsZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc3RpbmF0aW9uIHNpemUgd2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbywgdGhlbiBmb2N1cyBvbiB0aGUgc2VsZWN0ZWQgYXJlYSBvZiB0aGUgcmVzaXplZCBpbWFnZS4gIENyb3AgdG8gZml0IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCBhcyB0aGUgZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGZvciB0aGUgZGVzdGluYXRpb24gaW1hZ2UgYWxvbmcgd2l0aCBhbiAob3B0aW9uYWwpIGxvY2F0aW9uIGNvZGUsIGFuZCB1cHNjYWxlIGZsYWcuICB2YWxpZCBsb2NhdGlvbiBjb2RlcyBhcmUgdGwsdGMsdHIsY2wsYyxjcixibCxiLGJyIGZvciB0aGUgOSByZWxhdGl2ZSBwb3NpdGlvbnMgd2l0aGluIHRoZSBpbWFnZS4gIElmIGEgbG9jYXRpb24gaXMgbm90IHNwZWNpZmllZCBhIHByZWZlcmVuY2Ugd2lsbCBiZSB1c2VkLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgImMiIHRvIGNyb3AtdG8tZml0IGZyb20gdGhlIGNlbnRlciBvZiB0aGUgc291cmNlIGltYWdlLiAgQnkgZGVmYXVsdCB1cHNjYWxpbmcgaXMgZGlzYWJsZWQgb24gdGhpcyBmaWx0ZXIuPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX2VkZ2VkZXRlY3Q8L2I+IC0gKGFueXRoaW5nKSBIaWxpZ2h0IHRoZSBlZGdlcyBpbiB0aGUgaW1hZ2U8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfZW1ib3NzPC9iPiAtIChhbnl0aGluZykgRW1ib3NzIHRoZSBpbWFnZTwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9mbGlwPC9iPiAtIChtb2RlKSAtIFBlcmZvcm0gYSBmbGlwIG9uIHRoZSBzcGVjaWZpZWQgaW1hZ2UuICBTcGVjaWZ5IDAgZm9yIGhvcml6b250YWwsIDEgZm9yIHZlcnRpY2FsLCBhbmQgMiBmb3IgZmxpcCBpbiBib3RoIGRpcmVjdGlvbnMuPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX2dyYXlzY2FsZTwvYj4gLSAoYW55dGhpbmcpIENvbnZlcnQgdGhlIGltYWdlIHRvIGdyYXlzY2FsZTwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9tZWFucmVtb3ZhbDwvYj4gLSAoYW55dGhpbmcpIEF0dGVtcHQgdG8gYWNoaWV2ZSBhICJza2V0Y2h5IiBlZmZlY3Q8L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfbmVnYXRlPC9iPiAtIChhbnl0aGluZykgTmVnYXRlIHRoZSBpbWFnZTwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9ub29wPC9iPiAtIChhbnl0aGluZykgRG8gbm8gcHJvY2Vzc2luZyAoYnV0IHRyaWdnZXJzIGEgY2FjaGVkIGltYWdlKTwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9waXhlbGF0ZTwvYj4gLSAoc2l6ZVssYWR2YW5jZWRdKSBQaXhlbGF0ZSB0aGUgaW1hZ2UsIHNwZWNpZnkgYW4gaW50ZWdlciBzaXplIGFuZCBhbiBvcHRpb25hbCBib29sZWFuIChkZWZhdWx0IGlzIGZhbHNlKSB0byBlbmFibGUgYWR2YW5jZWQgcGl4ZWxhdGlvbjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9yZWZsZWN0PC9iPiAtIChbcmVmbGVjdGlvbl9oZWlnaHRbLHJlZmxlY3Rpb25fb3BhY2l0eVssZGl2aWRlcl9oZWlnaHRdXV0pLCBDcmVhdGVzIHJlZmxlY3Rpb24gb2YgaW1hZ2UsIGN1cnJlbnRseSB3b3JraW5nIG9ubHkgd2l0aCBqcGcsanBlZyBpbWFnZXMgYWdhaW5zdCB3aGl0ZSBiYWNrZ3JvdW5kLjwvbGk+CjxsaT4KICA8ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9yZXNpemU8L2I+IC0gdHlwZSxudW1iZXJbLG51bWJlclssdXBzY2FsZV1dIC0gUGVyZm9ybSBhIHJlc2l6ZSBvZiB0aGUgc291cmNlIGltYWdlLiAgQnkgZGVmYXVsdCwgdGhlIHJlc2l6ZSBmaWx0ZXIgYWxsb3dzIHVwc2NhbGluZy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgPHVsPgogICAgPGxpPjxiPnAsbnVtYmVyPC9iPiAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4KICAgIDxsaT48Yj5wLG51bWJlciwwPC9iPiAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuIERvIG5vdCBhbGxvdyB1cHNjYWxpbmc8L2xpPgogICAgPGxpPjxiPncsbnVtYmVyPC9iPiAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgd2lkdGggKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT13LDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSB3aWR0aCBvZiA4MCBwaXhlbHMuPC9saT4KICAgIDxsaT48Yj53LG51bWJlciwwPC9iPiAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgd2lkdGggKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT13LDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSB3aWR0aCBvZiA4MCBwaXhlbHMuIERvIG5vdCBhbGxvdyB1cHNjYWxpbmc8L2xpPgogICAgPGxpPjxiPmgsbnVtYmVyPC9iPiAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgaGVpZ2h0ICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9aCw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gaGVpZ2h0IG9mIDgwIHBpeGVscy48L2xpPgogICAgPGxpPjxiPmgsbnVtYmVyLDA8L2I+IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLiBEbyBub3QgYWxsb3cgdXBzY2FsaW5nPC9saT4KICAgIDxsaT48Yj5lLG51bWJlcjwvYj4gLSBQZXJmb3JtIGEgcmVzaXplIHJlc2l6aW5nIHRoZSBsYXJnZXN0IGVkZ2UgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWUsMTAwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aG9zIGxhcmdlc3QgZWRnZSBpcyAxMDAgcGl4ZWxzLjwvbGk+CiAgICA8bGk+PGI+ZSxudW1iZXIsMDwvYj4gLSBQZXJmb3JtIGEgcmVzaXplIHJlc2l6aW5nIHRoZSBsYXJnZXN0IGVkZ2UgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWUsMTAwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aG9zIGxhcmdlc3QgZWRnZSBpcyAxMDAgcGl4ZWxzLiAgRG8gbm90IGFsbG93IHVwc2NhbGluZy48L2xpPgogICAgPGxpPjxiPmMseCx5PC9iPiAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBjdXN0b20gc2l6ZSAod2l0aG91dCByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIGkuZTogZmlsdGVyX3Jlc2l6ZT1jLDUwLDc1IHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB0aGF0IGlzIDUweDc1IHBpeGVscy48L2xpPgogICAgLgogICAgPGxpPjxiPmMseCx5LDA8L2I+IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLiBEbyBub3QgYWxsb3cgdXBzY2FsaW5nLjwvbGk+CiAgICAuCiAgPC91bD4KPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX3Jlc2l6ZXRvZml0PC9iPiAtICh3aWR0aCxoZWlnaHRbLGNvbG9yWyxhbHBoYV1dKSAtIFBlcmZvcm0gYSByZXNpemUgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZWF0aW5pbmcgYXNwZWN0IHJhdGlvLCB0aGUgaW1hZ2UgaXMgY2VudGVyZWQgaW4gdGhlIGJveCBzcGVjaWZpZWQgKGVpdGhlciBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBkZXBlbmRpbmcgdXBvbiBhc3BlY3QgcmF0aW8gYW5kIHRoZSBkZXN0aW5hdGlvbiBzaXplLCBhbmQgdGhlIGltYWdlIGlzIHN1cnJvdW5kZWQgYnkgdGhlIHN1cHBsaWVkIGNvbG9yLiAgQ29sb3JzIGNhbiBiZSBzcGVjaWZpZWQgYnkgbmFtZSAoc2VlIHRoZSBYMTEgY29sb3IgbmFtZXMpLCBvciBieSAjbm5ubm5uIGhleGFkZWNpbWFsIGZvcm1hdCwgb3IgYXMgcmdiIHZhbHVlcyBzZXBhcmF0ZWQgYnkgYSA6IGkuZTogIGZpbHRlcl9jcm9wdG9maXQ9NjAwLDQwMCwjZmYwMDAwLiAgVGhlIHNwZWNpYWwgY29sb3IgdmFsdWUgInRyYW5zcGFyZW50IiBjYW4gYmUgc3BlY2lmaWVkIHRvIGZvcmNlIHRoZSBiYWNrZ3JvdW5kIHRvIGJlIHRyYW5zcGFyZW50IChmb3IgaW1hZ2UgdHlwZXMgdGhhdCBzdXBwb3J0IGl0KS4gICBBbiBhbHBoYSB2YWx1ZSBtYXkgYmUgc3BlY2lmaWVkIGJldHdlZW4gMCBhbmQgMTI3IHRvIHNwZWNpZnkgZGlmZmVyZW50IGRlZ3JlZXMgb2YgdHJhbnNsdWNlbmN5IGZvciB0aGUgYmFja2dyb3VuZC4gICBBdCBubyB0aW1lIHdpbGwgdGhpcyBwbHVnaW4gcGVyZm9ybSBhbnkgdXBzY2FsaW5nLjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9yb3RhdGU8L2I+IC0gKGFuZ2xlKSBTcGVjaWZ5IHRoZSBpbnRlZ2VyIGFuZ2xlIChjb3VudGVyIGNsb2Nrd2lzZSkgdG8gcm90YXRlIHRoZSBpbWFnZSwgVGhlIGltYWdlIGlzIHJvdGF0ZWQgYWJvdXQgaXRzIGNlbnRlci48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfcm91bmRlZGNvcm5lcnM8L2I+IC0gKHJhZGl1c1ssY29sb3JdKSBTcGVjaWZ5IGFuIGludGVnZXIgcmFkaXVzIChpbiBwaXhlbHMpIGZvciByb3VuZGluZyB0aGUgY29ybmVycy4gIE9wdGlvbmFsbHkgc3BlY2lmeSBhIGNvbG9yIGZvciB0aGUgcm91bmRlZCBjb3JuZXJzLiAgVGhlIHNwZWNpYWwgdmFsdWUgaWYgInRyYW5zcGFyZW50IiBmb3IgdGhlIGNvbG9yIHdpbGwgZm9yY2UgdGhlIGltYWdlIHRvIGJlIGNvbnZlcnRlZCB0byBhIHBuZyBhbmQgYSB0cmFuc3BhcmVudCBjb2xvciB1c2VkLjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9zaGFycGVuPC9iPiAtIChpbnRlZ2VyKSBTcGVjaWZ5IGFuIGFkanVzdG1lbnQgKGJldHdlZW4gLTEwIGFuZCAxMCkgdG8gdGhlIHNoYXJwZW4gZmlsdGVyLiAgTG93ZXIgdmFsdWVzIHdpbGwgbGlnaHRlbiB0aGUgc2hhcnBlbmluZyBlZmZlY3QuICBIaWdoZXIgdmFsdWVzIGluY3JlYXNlIGl0LiAgTm90ZTogc2hhcnBlbmluZyBtYXkgaGF2ZSBhZHZlcnNlIGVmZmVjdHMgb24gc29tZSBpbWFnZXMsIGFuZCBzaG91bGQgdXN1YWxseSBiZSBzcGVjaWZpZWQgYXMgdGhlIGxhc3QgZmlsdGVyLCB1bmxlc3MgdGhlIGZpbHRlciBtYXkgYWRkIGJvcmRlcnMgdG8gdGhlIGltYWdlLjwvbGk+CjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl90cmFuc3BhcmVudDwvYj4gLSAoY29sb3JbLGFscGhhXSkgQ29udmVydHMgYSBqcGVnIGltYWdlIHRvIHRyYW5zcGFyZW50IFBORyBieSBjb252ZXJ0aW5nIGFsbCBvZiB0aGUgcGl4ZWxzIG9mIHRoZSBzcGVjaWZpZWQgY29sb3IgdG8gdGhlIHRyYW5zcGFyZW50IGNvbG9yLiAgT3B0aW9uYWxseSwgYW4gYWxwaGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxMjcgY2FuIGJlIHNwZWNpZmllZCB0byBpbmRpY2F0ZSBzb21lIGFscGhhIGxldmVsIGJsZW5kaW5nPC9saT4KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX3VudHJhbnNwYXJlbnQgPC9iPi0gKGNvbG9yWyxwZXJjZW50XSkgQ29udmVydHMgYSB0cmFuc3BhcmVudCBwbmcgaW1hZ2UgdG8gYSBqcGVnIGltYWdlIGJ5IGNvcHlpbmcgYSB0cmFuc3BhcmVudC9hbHBoYSBibGVuZGVkIHBuZyBvdmVydG9wIG9mIGFuIGltYWdlIG9mIHRoZSBhcHByb3ByaWF0ZSBjb2xvci48L2xpPgo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfd2F0ZXJtYXJrPC9iPiAtIChib29sfHN0cmluZyksIFNwZWNpZnkgdGhhdCB0aGUgd2F0ZXJtYXJrIChhcyBzcGVjaWZpZWQgaW4gdGhlIENNU01TRXh0IGFkbWluIHBhbmVsKSBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2UuICBBbiBvcHRpb25hbCBzdHJpbmcgY2FuIGJlIHNwZWNpZmllZCB0byBhbGxvdyBjdXN0b21pemluZyB0aGUgdGV4dCBpbiB0aGUgd2F0ZXJtYXJrLiAgVGhlIHN0cmluZyBjYW5ub3QgY29udGFpbiBIVE1MIGNoYXJhY3RlcnMsIGFuZCBjYW5ub3QgYmUgbW9yZSB0aGFuIDUwIGNoYXJhY3RlcnMgaW4gbGVuZ3RoIChpdCB3aWxsIGJlIHRyaW1tZWQpLiAgTm90ZSwgIGRlcGVuZGluZyBvbiBpbWFnZSBzaXplLCBhbmQgd2F0ZXJtYXJrIHNldHRpbmdzIHRoZSB0ZXh0IG1heSBub3QgYmUgdmlzaWJsZSBvciBtYXkgYmUgY2xpcHBlZCBieSB0aGUgaW1hZ2UuPC9saT4KPC9kaXY+PGRpdiBpZD0ic21hcnR5X2MiPjxoND5BdXRvbWF0aWMgUHJvY2Vzc2luZzo8L2g0Pgo8cD5UaGlzIG1vZHVsZSBpbmNsdWRlcyBhIHNtYXJ0eSBibG9jayB0YWcgY2FsbGVkIDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiYjMTIzO3NpX2NvbnZlcnR9PC9jb2RlPiB0aGF0IGNhbiBzdXJyb3VuZCBhIGJsb2NrIG9mIGh0bWwsIG9yIG90aGVyIHNtYXJ0eSB0YWdzIHRvIGFsbG93IGF1dG9tYXRpYyBpbWFnZSBwcm9jZXNzaW5nLiAgVGhpcyB0YWcgY2FuIGJlIHVzZWQgbGlrZTogKGZvciBleGFtcGxlKTo8L3A+CjxwcmU+PGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+JiMxMjM7c2lfY29udmVydH0mIzEyMztjb250ZW50fSYjMTIzOy9zaV9jb252ZXJ0fTwvY29kZT48L3ByZT4KPHA+VGhpcyB3aWxsIGFsbG93IHlvdXIgdXNlcnMgdG8gaW5jbHVkZSBpbWFnZXMgaW50byBwYWdlcyB1c2luZyB0aGUgbm9ybWFsIHd5c2l3eWcgdG9vbHMsIGFuZCB0byBoYXZlIHRoZW0gYXV0b21hdGljYWxseSBwcm9jZXNzZWQgYW5kIGVtYmVkZGVkIGludG8gdGhlIHBhZ2UgdXNpbmcgdGhlIG1hZ2ljIG9mICYjMTIzO1NtYXJ0SW1hZ2V9LiBpLmU6IFNlZSB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPgo8cHJlPjxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiYjMTIzO3NpX2NvbnZlcnQgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MX0mIzEyMztjb250ZW50fSYjMTIzOy9zaV9jb252ZXJ0fTwvY29kZT48L3ByZT4KPHA+VGhlIGFib3ZlIGNvZGUgd2lsbCBjYXB0dXJlIGFsbCBpbWFnZSB0YWdzLCBhbmQgY29udmVydCB0aGVtIHRvIGdyYXlzY2FsZSBhbmQgdGhlbiBhcHBseSB0aGUgd2F0ZXJtYXJrIChhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIHRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlKS4gIEFsbCBvZiB0aGUgZmlsdGVyaW5nIHBhcmFtZXRlcnMgYXZhaWxhYmxlIHRvIHRoZSA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztTbWFydEltYWdlfTwvY29kZT4gdGFnIGFyZSBhdmFpbGFibGUgdG8gdGhpcyB0YWcgKGZvciBpbWFnZSBzY2FsaW5nIGV0Yy4pLiAgQWRkaXRpb25hbGx5LCB0d28gbmV3IHBhcmFtZXRlcnMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6IDxzdHJvbmc+bWF4X3dpZHRoPC9zdHJvbmc+IGFuZCA8c3Ryb25nPm1heF9oZWlnaHQ8L3N0cm9uZz4gd2hpY2ggY2FuIGJlIHVzZWQgdG8gc2V0IGEgbWF4aW11bSBzaXplIGZvciBpbWFnZXMuLjwvcD4KPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNlbTsiPgogIDxzdHJvbmcgc3R5bGU9ImNvbG9yOiByZWQ7Ij5Ob3RlOjwvc3Ryb25nPgogIDxwPjEuIFRoaXMgdGFnIHBhcnNlcyB0aGUgSFRNTCBjb250ZW50IGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgdGFncyB0byBmaW5kIHRoZSA8aW1nPiB0YWdzLiAgSXQgdGhlbiB3aWxsIG91dHB1dCBzeW50YWN0aWNhbGx5IHZhbGlkIEhUTUwgZm9yIHRoZSBzdWJzZXQgb2YgY29kZSBpdCB3YXMgcHJvdmlkZWQuICBUaGVyZWZvcmUgaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlIHNuaXBwZXQgb2YgSFRNTCBwYXNzZWQgdG8gdGhpcyB0YWcgYmUgaW50YWN0IGFuZCBhcyBjbG9zZSB0byB2YWxpZCBhcyBwb3NzaWJsZS4gIDxzdHJvbmc+VXNlIHdpdGggY2F1dGlvbi48L3N0cm9uZz4KICA8cD4yLiAgaW1hZ2UgdGFncyB3aXRoIHRoZSBjbGFzcyAmcXVvdDtub3NpJnF1b3Q7IHdpbGwgYmUgaWdub3JlZCBieSB0aGUgJiMxMjM7c2lfY29udmVydH0gdGFnLi48L3A+CiAgPHA+My4gIEF0dHJpYnV0ZXMgbGlrZSBhbHQgYW5kIHRpdGxlIG9uIHRoZSBpbnB1dCBpbWFnZXMgd2lsbCBub3QgYmUgb3ZlcnJpZGRlbiBpZiB0aGV5IGV4aXN0LjwvcD4KPC9kaXY+Cgo8aDQ+QWR2YW5jZWQgVXRpbGl0aWVzOjwvaDQ+Cjx1bD4KICA8bGk+CiAgICA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztzaV9nZXRpbWFnZXN9PC9jb2RlPgogICAgPHA+QSBwbHVnaW4gdG8gZXh0cmFjdCBpbWFnZXMgZnJvbSBhIGJsb2NrIG9mIEhUTUwgY29kZSBmb3IgZnVydGhlciBwcm9jZXNzaW5nIG91dHNpZGUgb2Ygc2kuPC9wPgogICAgPHA+PHN0cm9uZz5Bcmd1bWVudHM6PC9zdHJvbmc+CiAgICA8dWw+CiAgICAgIDxsaT5pbWFnZXNvbmx5OiB0aGUgY29udGVudCByZXR1cm5lZCB3aWxsIGNvbnRhaW4gb25seSAmbHQ7aW1nJmd0OyB0YWdzLiAgQWxsIG90aGVyIHRhZ3Mgd2lsbCBiZSByZW1vdmVkLiAgTm90IGFwcGxpY2FibGUgaWYgdGhlIG5vY29udGVudCBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLjwvbGk+CiAgICAgIDxsaT5ub2NvbnRlbnQ6IGRvIG5vdCBvdXRwdXQgYW55IGNvbnRlbnQgd2hhdHNvZXZlci48L2xpPgogICAgICA8bGk+YXNzaWduOiBjcmVhdGUgYW4gYXJyYXkgcmVwcmVzZWludGluZyBhbGwgb2YgdGhlIGF2YWlsYWJsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGZvdW5kICZsdDtpbWcmZ3Q7IHRhZ3MgYW5kIGFzc2lnbiBpdCB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLjwvbGk+CiAgICA8L3VsPgogICAgPC9wPgogICAgPHA+PHN0cm9uZz5Vc2FnZTo8L3N0cm9uZz4KICAgIDx1bD4KICAgICAgPGxpPgogICAgICAgIFJlbW92ZSBhbGwgYnV0IHRoZSBpbWFnZSB0YWdzIGluIHRoZSBlbmNsb3NlZCBIVE1MOjxici8+CiAgICAgICAgPHByZT48Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztzaV9nZXRpbWFnZXMgaW1hZ2Vzb25seT0xfSYjMTIzO2NvbnRlbnR9JiMxMjM7L3NpX2dldGltYWdlc308L2NvZGU+PC9wcmU+CiAgICAgIDwvbGk+CiAgICAgIDxsaT4KICAgICAgICBSZXR1cm4gYSBsaXN0IG9mIHRoZSBpbWFnZSB0YWdzIGluIHRoZSBlbmNsb3NlZCBIVE1MIGNvbnRlbnQsIGJ1dCBsZWF2ZSB0aGUgY29udGVudCB1bnRvdWNoZWQ6PGJyLz4KICAgICAgICA8cHJlPjxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiYjMTIzO3NpX2dldGltYWdlcyBhc3NpZ249J2ltYWdlaW5mbyd9JiMxMjM7Y29udGVudH0mIzEyMzsvc2lfZ2V0aW1hZ2VzfTwvY29kZT48L3ByZT4KICAgICAgPC9saT4KICAgICAgPGxpPgogICAgICAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIGltYWdlIHRhZ3MgaW4gdGhlIGVuY2xvc2VkIEhUTUwgY29udGVudCwgYW5kIGRvIG5vdCBvdXRwdXQgYW55IG9mIHRoZSBvcmlnaW5hbCBjb250ZW50Ojxici8+CiAgICAgICAgPHByZT48Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztzaV9nZXRpbWFnZXMgYXNzaWduPSdpbWFnZWluZm8nIG5vY29udGVudD0xfSYjMTIzO2NvbnRlbnR9JiMxMjM7L3NpX2dldGltYWdlc308L2NvZGU+PC9wcmU+CiAgICAgIDwvbGk+CiAgICA8L3VsPgogICAgPC9wPgogIDwvbGk+CjwvdWw+PC9kaXY+PGRpdiBpZD0iYWR2X2MiPjxoMz5BZHZhbmNlZDwvaDM+CjxoND5JbWFnZSBFbWJlZGRpbmc8L2g0Pgo8cD5JbWFnZSBlbWJlZGRpbmcgZW5jb2RlcyB0aGUgaW1hZ2UgaW50byBhIGRhdGEgPHN0cm9uZz5VUkk8L3N0cm9uZz4gd2hpY2ggaXMgZW1iZWRkZWQgZGlyZWN0bHkgaW4gdGhlIHBhZ2UgKG9yIHN0eWxlc2hlZXQpIGNvbnRlbnQuICBUaGlzIHJlZHVjZXMgcmVxdWVzdHMgdGhhdCB0aGUgYnJvd3NlciBtdXN0IG1ha2UgdG8gcmVjZWl2ZSBpbWFnZXMgZnJvbSB5b3VyIHNpdGUuICBIb3dldmVyIGl0IGRvZXMgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhlIDxzdHJvbmc+SFRNTDwvc3Ryb25nPiBwYWdlLiAgT24gaW1hZ2UgaGVhdnkgcGFnZXMgeW91IHNob3VsZCBtaXggdGhlIHVzZSBvZiBlbWJlZGRlZCBpbWFnZXMuPC9wPgoKPGg0PkEgU2ltcGxlIEdhbGxlcnk8L2g0Pgo8cD5UaGUgY29kZSBiZWxvdyB1c2VzIHRoZSA8c3Ryb25nPiYjMTIzO1NtYXJ0SW1hZ2V9PC9zdHJvbmc+IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxidW0gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPgo8cHJlIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsiPgogIDxjb2RlPgogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMTo8L3NwYW4+ICZsdDtzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiZndDsmIzEyMztsaXRlcmFsfQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMjo8L3NwYW4+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSYjMTIzOwogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMzo8L3NwYW4+ICBqUXVlcnkoJ2EuZmFuY3lib3gnKS5mYW5jeWJveCgpOwogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNDo8L3NwYW4+IH0pOwogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNTo8L3NwYW4+ICYjMTIzOy9saXRlcmFsfSZsdDsvc2NyaXB0Jmd0OwogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNjo8L3NwYW4+ICYjMTIzO2Fzc2lnbiB2YXI9J2ZpbGVzJyB2YWx1ZT0ndXBsb2Fkcy9hbGJ1bS8qLmpwZyd8Z2xvYn0KICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDc6PC9zcGFuPiAmIzEyMztpZiBjb3VudCgkZmlsZXMpfQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gODo8L3NwYW4+ICZsdDtkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsiJmd0OwogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gOTo8L3NwYW4+ICYjMTIzO2ZvcmVhY2ggZnJvbT0kZmlsZXMgaXRlbT0nZmlsZSd9CiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEwOjwvc3Bhbj4gICZsdDthIHJlbD0nc2ltcGxlX2FsYnVtJyBjbGFzcz0iZmFuY3lib3giIGhyZWY9IjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiYjMTIzO1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J2gsNTAwJyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+IiZndDsKICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTE6PC9zcGFuPiAgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+JiMxMjM7U21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J2gsMTUwJ308L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEyOjwvc3Bhbj4gICZsdDsvYSZndDsKICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTM6PC9zcGFuPiAmIzEyMzsvZm9yZWFjaH0KICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTQ6PC9zcGFuPiAmbHQ7L2RpdiZndDsKICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTU6PC9zcGFuPiAmIzEyMzsvaWZ9CiAgPC9jb2RlPgo8L3ByZT4KPGJyLz4KPHA+TGluZXMgMSB0aHJvdWdoIDUgdXRpbGl6ZSBqUXVlcnkgdG8gY2FsbCBmYW5jeWJveCBvbiBhbnkgbGlua3MgdGhhdCBoYXZlIHRoZSAmcXVvdDtmYW5jeWJveCZxdW90OyBjbGFzcy4gIFRoZSBmYW5jeWJveCBqUXVlcnkgcGx1Z2luIGlzIGluY2x1ZGVkIHdpdGggdGhlIEpRdWVyeVRvb2xzIG1vZHVsZS48L3A+CjxwPkxpbmUgNiB1c2VzIGEgYnVpbHQgaW4gcGhwIGZ1bmN0aW9uIGNhbGxlZCBnbG9iLCBhbmQgc29tZSBzbWFydHkgbWFnaWMgdG8gZmluZCBhbGwgb2YgdGhlIEpQRyBmaWxlcyBpbiB0aGUgdXBsb2Fkcy9hbGJ1bSBkaXJlY3RvcnkgYmVsb3cgb3VyIGluc3RhbGxhdGlvbiByb290LjwvcD4KPHA+TGluZSA3IGlzIGEgdGVzdCB0byBzZWUgaWYgYW55IGZpbGVzIHdlcmUgYWN0dWFsbHkgZm91bmQgaW4gdGhlIGFzc2lnbiBsaW5lIHN0YXRlZCBhYm92ZS4gIFRoaXMgaWYgc3RhdGVtZW50IGlzIGNsb3NlZCBvbiBsaW5lIDE1LjwvcD4KPHA+TGluZSA4IG9wZW5zIHVwIGEgZGl2IHRvIGNvbnRhaW4gb3VyIGFsYnVtLiAgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGV4YW1wbGUgdGhlIHN0eWxlcyB3ZXJlIGluY2x1ZGVkIGlubGluZSwgaG93ZXZlciBhIGNsYXNzIHRoYXQgd2FzIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQgc2hvdWxkIGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuICBUaGUgY2xvc2luZyB0YWcgZm9yIHRoaXMgZGl2IGlzIG9uIGxpbmUgMTQsIGp1c3QgYmVmb3JlIHRoZSA8Y29kZT4mIzEyMzsvaWZ9PC9jb2RlPi48L3A+CjxwPkxpbmUgOSBiZWdpbnMgYSBsb29wIHRocm91Z2ggYWxsIG9mIHRoZSBmaWxlcyB0aGF0IHdlIGZvdW5kIGluIHRoZSBkaXJlY3RvcnkuICBUaGlzIGxvb3AgaXMgY2xvc2VkIG9uIGxpbmUgMTMuPC9wPgo8YnIvPgo8cD5MaW5lcyAxMCBhbmQgMTEgYXJlIHRoZSByZWFsIG1hZ2ljLiAgSGVyZSB3ZSBjcmVhdGUgYSBsaW5rIHdpdGggY2xhc3MgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgYW5kIGFkZHMgdGhlIDxjb2RlPnJlbDwvY29kZT4gYXR0cmlidXRlIHNvIHRoYXQgZmFuY3lib3gga25vd3MgdGhhdCBhbGwgb2YgdGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyIGFzIG9uZSBhbGJ1bSBhbmQgYWxsb3cgY2xpY2tpbmcgYmV0d2VlbiB0aGUgaW1hZ2VzLiAgVGhlbiBjb21lcyB0aGUgcGFydCB3aGVyZSB3ZSBkZWZpbmUgb3VyIGltYWdlcy4KPHA+V2Ugc3VwcGx5IHRoZSAkZmlsZSB2YXJpYWJsZSB0byB0aGUgc3JjIGFyZ3VtZW50IG9mIHRoZSA8Y29kZT4mIzEyMztTbWFydEltYWdlfTwvY29kZT4gdGFnIHNvIHRoYXQgaXQgd2lsbCBnZXQgdGhlIG5hbWUgb2YgZWFjaCBtYXRjaGVkIGpwZWcgYXMgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuPC9wPgo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+CjxwPk5leHQgd2UgbmVlZGVkIHRvIGRlZmluZSB0aGUgdGh1bWJuYWlsIGltYWdlIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHVzZSBpbiB0aGUgZ2FsbGVyeS4gIFRoaXMgY2FsbCB0byA8Y29kZT4mIzEyMztTbWFydEltYWdlfTwvY29kZT4gaXMgYWxtb3N0IGlkZW50aWNhbCB0byB0aGUgZmlyc3QgY2FsbCwgZXhjZXB0IHRoYXQgd2UgdXNlIGEgZGlmZmVyZW50IGhlaWdodCB2YWx1ZSAoMTUwIHBpeGVscykgZm9yIHRoZSB0aHVtYm5haWwsIGFuZCBmb3Iga2lja3MgSSBjb252ZXJ0ZWQgdGhlIHRodW1ibmFpbCB0byBncmF5c2NhbGUgPHN0cm9uZz5iZWZvcmU8L3N0cm9uZz4gYXBwbHlpbmcgdGhlIHdhdGVybWFyay4gIEkgYWxzbyByZW1vdmVkIHRoZSBub2VtYmVkPTEgYXJndW1lbnQgc28gdGhhdCB0aGUgc3lzdGVtIGNvdWxkIGVtYmVkIHRoZSBpbWFnZSBpbiB0aGUgSFRNTCBvdXRwdXQgaWYgdGhlIGJyb3dzZXIgc3VwcG9ydGVkIGl0LjwvcD4KCjxoND5SZXNwb25zaXZlIEltYWdlczwvaDQ+CjxwPlNtYXJ0SW1hZ2UgaXMgY2FwYWJsZSBvZiBhdXRvbWF0aWNhbGx5IHNjYWxpbmcgaW1hZ2VzIGRvd24gdG8gYSBzaXplIHRoYXQgaXMgc3VpdGFibGUgZm9yIG1vYmlsZSBkZXZpY2VzLiAgVGhpcyBib29zdHMgcGVyZm9ybWFuY2UgYnkgbWluaW1pemluZyB0aGUgaW1hZ2Ugc2l6ZSBmb3IgbW9iaWxlIGRldmljZXMsIGFuZCB0aGVyZWZvcmUgaW1wcm92ZXMgcGVyZm9ybWFuY2UgYW5kIHRoZSBnZW5lcmFsIHVzZXIgZXhwZXJpZW5jZS4gIFRoaXMgYWN0aW9uIG11c3QgYmUgZW5hYmxlZCBpbiB0d28gd2F5czo8L3A+CjxvbD4KICA8bGk+CiAgICBBZGQgPGNvZGU+JiMxMjM7U21hcnRJbWFnZSBhY3Rpb249cmVzcG9uc2l2ZX08L2NvZGU+IGp1c3QgYWZ0ZXIgdGhlIDxjb2RlPiZsdDtoZWFkJmd0OzwvY29kZT4gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4KICAgIDxwPlRoaXMgd2lsbCBvdXRwdXQgamF2YXNjcmlwdCB0aGF0IHdpbGwgZGV0ZWN0IHRoZSBkZXZpY2VzIHNjcmVlbiByZXNvbHV0aW9uIGFuZCBwaXhlbCByYXRpbywgYW5kIGNyZWF0ZSBhIGNvb2tpZSwgYW5kIHRoZW4gcmVkaXJlY3QgYWdhaW4gYmFjayB0byB0aGUgc2FtZSBVUkwgc28gdGhhdCB0aGUgc2VydmVyIGNhbiBnZXQgdGhlIGNvb2tpZSBpbmZvcm1hdGlvbi4gICBUaGUgY29va2llIGlzIHNldCB0byBleHBpcmUgaW4gb25lIHllYXIuICAgSWYgdGhlIGNvb2tpZSBkb2VzIG5vdCBleGlzdCwgdGhlbiBTbWFydEltYWdlIGNhbm5vdCBwZXJmb3JtIHJlc3BvbnNpdmUgaW1hZ2UgcmVzaXppbmcuPC9wPgogIDwvbGk+CiAgPGxpPgogICAgRW5zdXJlIHRoYXQgJnF1b3Q7UmVzcG9uc2l2ZSBJbWFnZXMmcXVvdDsgaXMgZW5hYmxlZCBpbiB0aGUgU21hcnRJbWFnZSBtb2R1bGUgYWRtaW4gcGFuZWwuCiAgICA8cD5JZiBkaXNhYmxlZCwgdGhlIHN5c3RlbSB3aWxsIG5vdCBwZXJmb3JtIHJlc3BvbnNpdmUgc2NhbGluZy4gIEV2ZW4gaWYgdGhlIGNvb2tpZSBleGlzdHMgZnJvbSB1c2Ugb2YgPGNvZGU+JiMxMjM7U21hcnRJbWFnZSBhY3Rpb249cmVzcG9uc2l2ZX08L2NvZGU+PC9wPgogIDwvbGk+Cjwvb2w+CjxwPlNtYXJ0SW1hZ2UgYWxsb3dzIHNwZWNpZnlpbmcgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBicmVha3BvaW50cyBpbiB0aGUgYWRtaW4gcGFuZWwuICBJZiBicmVha3BvaW50cyBhcmUgc3BlY2lmaWVkIGFuZCB0aGUgc3lzdGVtIGZvdW5kIGRldmljZSBjYXBhYmlsaXRpZXMgPGVtPihhbmQgcmVzcG9uc2l2ZSBiZWhhdmlvciBpcyBub3QgZGlzYWJsZWQpPC9lbT4gVGhlbiB0aGUgc3lzdGVtIHdpbGwgZmluZCB0aGUgY2xvc2VzdCBtYXRjaGluZyBicmVha3BvaW50IHRvIHRoZSBkZXZpY2Ugd2lkdGggYW5kIGhlaWdodCBhbmQgdXNlIHRoZSBicmVha3BvaW50IHZhbHVlIHRvIGNhbGN1bGF0ZSBhIG5ldyBtYXhpbXVtIHNpemUgZm9yIHRoZSBpbWFnZSB3aGlsc3Qgc3RpbGwgcmV0YWluaW5nIGFzcGVjdCByYXRpby48L3A+CjxwPlRoZSBkZXRlY3Rpb24gb2YgYSBtb2JpbGUgZGV2aWNlLCBhbmQgZW5hYmxpbmcgcmVzcG9uc2l2ZSBiZWhhdmlvciB3aWxsIG92ZXJyaWRlIHRoZSBub2F1dG9zY2FsZSBwYXJhbWV0ZXIuICBUaGUgcmVzcG9uc2l2ZSBiZWhhdmlvciBjYW4gYmUgZGlzYWJsZWQgZWl0aGVyIGluIHRoZSBtb2R1bGVzIGFkbWluIHBhbmVsLCBvciB2aWEgdGhlIG5vcmVzcG9uc2l2ZSBwYXJhbWV0ZXIuPC9wPgo8cD5TbWFydEltYWdlIGlzIGNhcGFibGUgb2YgZGV0ZWN0aW5nIHRoZSBkcHIgPGVtPihkZXZpY2UgcGl4ZWwgcmF0aW8pPC9lbT4gb2YgbW9iaWxlIGRldmljZXMuICBJZiBub3QgZGlzYWJsZWQsIGFuZCBhIGRwciBoaWdoZXIgdGhhbiAxIGlzIGRldGVjdGVkIHRoZSBhdXRvLXNjYWxlZCBpbWFnZSBzaXplIHdpbGwgYmUgaW5jcmVhc2VkIGJ5IHRoZSBkcHIgb2YgdGhlIGRldmljZS4gIEhvd2V2ZXIgdGhlIG91dHB1dCBpbWcgdGFnIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyB3aWxsIG5vdC4gIFRoaXMgZm9yY2VzIHRoZSBicm93c2VyIHdpdGggYSBoaWdoZXIgZHByIHRvIGRvd25sb2FkIGEgbGFyZ2VyIGltYWdlLCBhbmQgc3F1ZWV6ZSBpdCBpbnRvIHRoZSBzYW1lIHNpemUgYm94LCB0aHVzIGdpdmluZyBhIGhpZ2hlciBxdWFsaXR5IG91dHB1dC48L3A+CjxoND5BdXRvU2NhbGluZzwvaDQ+CjxwPkF1dG8gc2NhbGluZyBpcyBhIGZlYXR1cmUgdGhhdCB3aWxsIGFkanVzdCB0aGUgb3V0cHV0IGltYWdlIHNpemUgYmFzZWQgb24gdGhlIHNvdXJjZSBpbWFnZSBzaXplLCB0aGUgZGV2aWNlIGNhcGFiaWxpdGllcyA8ZW0+KGlmIHJlc3BvbnNpdmUgYmVoYXZpb3IgaXMgZW5hYmxlZCk8L2VtPiwgYnJlYWtwb2ludHMgPGVtPihpZiBlbmFibGVkKTwvZW0+LCB0aGUsIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMsIGFuZCB0aGUgbWF4X3dpZHRoIGFuZCBtYXhfaGVpZ2h0IHBhcmFtZXRlcnMuICBUaGUgc3lzdGVtIHdpbGwgY29tYmluZSBhbGwgb2YgdGhpcyBpbmZvcm1hdGlvbiBhbmQgYWRqdXN0IHRoZSBtYXhfd2lkdGggYW5kIG1heF9oZWlnaHQgdmFsdWVzIHRvIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSB2YWx1ZXMgd2l0aG91dCBlZmZlY3RpbmcgaW1hZ2UgYXNwZWN0IHJhdGlvLjwvcD4KPHA+SWYgcmVzcG9uc2l2ZSBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQsIGFuZCBkZXZpY2UgY2FwYWJpbGl0aWVzIGFyZSBkZXRlY3RlZCwgIHRoZW4gYXV0b3NjYWxpbmcgaXMgZm9yY2VkIHRvIGJlIGFjdGl2ZS48L3A+CjxoND5TdHlsZXNoZWV0czo8L2g0Pgo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlICYjMTIzO2Ntc19zdHlsZXNoZWV0fSB0YWcgaW4geW91ciBwYWdlIHRlbXBsYXRlLiAgQmVjYXVzZSB0aGUgc21hcnR5IHN5bnRheCBpcyBzbGlnaHRseSBkaWZmZXJlbnQgaW5zaWRlIHRoZSAmIzEyMztjbXNfc3R5bGVzaGVldH0gdGFnIHlvdSB1dGlsaXplIHRoZSBtb2R1bGUgdXNpbmcgdGhlIFtbIGFuZCBdXSBkZWxpbWl0ZXJzLiAgaS5lOiA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij5kaXYuaGVhZGVyICYjMTIzOyBiYWNrZ3JvdW5kOiB1cmwoW1tTbWFydEltYWdlIHNyYz0ndXBsb2Fkcy9waWN0dXJlLmpwZycgbm90YWc9MV1dKTsgfTwvY29kZT48L3A+CjxwPkJlY2F1c2Ugc3R5bGVzaGVldHMgYXJlIGdlbmVyYXRlZCBvbiBtb2RpZmljYXRpb24gYW5kIHN0b3JlZCBpbiB0aGUgZmlsZXN5c3RlbSB0aGVyZSBpcyBubyB3YXkgdG8gZGV0ZXJtaW5lIGR1cmluZyB0aGUgcmVxdWVzdCB3aGljaCBicm93c2VyIGlzIHJlcXVlc3RpbmcgdGhlIHN0eWxlc2hlZXQsIHRoZXJlZm9yZSBlbWJlZGRpbmcgd2lsbCBiZSBkb25lIHN0cmljdGx5IGJhc2VkIHVwb24gdGhlIHByZXNlbmNlIG9mIHRoZSBub2VtYmVkIHBhcmFtZXRlci4gIElmIHlvdSBoYXZlIGNob3NlbiB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB5b3VyIHN0eWxlc2hlZXRzLCBZb3UgbWF5IG5lZWQgdG8gYWRkIGFkZGl0aW9uYWwgc3R5bGVzaGVldCBzdXBwb3J0IGZvciB0aGUgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMuICBpLmU6ICBJRTYuPC9wPgoKPGg0Pk11bHRpcGxlIGFyZ3VtZW50czo8L2g0Pgo8cD5TbWFydEltYWdlIHN1cHBvcnRzIGEgcGxldGhvcmEgb2Ygb3B0aW9ucyBhbmQgYXJndW1lbnRzLiAgVGVtcGxhdGUgbGF5b3V0IGNhbiBiZSBjbGVhbmVkIGJ5IHVzaW5nIHRoZSA8Y29kZT4mIzEyMzt4dF9tb2R1bGVfaGludH08L2NvZGU+IHRhZyBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlIHRlbXBsYXRlLCBvciBpbiB0aGUgcGFnZSBtZXRhZGF0YSBhcmVhIHN1Y2ggdGhhdCBwYXJhbWV0ZXJzIGZvciBhbGwgY2FsbHMgU21hcnRJbWFnZSBvbiBhIHBhZ2UgYXJlIHNwZWNpZmllZCBvbmNlLiAgT3ZlcnJpZGluZyB0aGUgcGFyYW1ldGVycyBmb3IgYSBzaW5nbGUgY2FsbCBpcyBzdGlsbCBwb3NzaWJsZS48L3A+CjxwPlNlZSB0aGUgPGNvZGU+JiMxMjM7eHRfbW9kdWxlX2hpbnR9PC9jb2RlPiB0YWcgaW4gdGhlIENHRXh0ZW5zaW9ucyBoZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KCjxoND5CYWNrZ3JvdW5kIEltYWdlIFJlc2l6aW5nPC9oND4KPHA+VGhpcyBtb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBiYWNrZ3JvdW5kIGpvYnMgdGhhdCB3aWxsIGF1dG9tYXRpY2FsbHkgcmVzaXplIGFsbCB1cGxvYWRlZCBpbWFnZXMgdG8gYSBtYXhpbXVtIGVkZ2Ugc2l6ZS4gIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1c2VmdWwgdG8gcmVkdWNlIGRpc2sgc3BhY2UgcmVxdWlyZW1lbnRzLCBhbmQgdG8gYWlkZSBpbiBwZXJmb3JtYW5jZS48L3A+CjxwPlVzaW5nIHRoZSBidWlsdCBpbiBDTVNNUyBwc2V1ZG9jcm9uIG1lY2hhbmlzbSB0aGUgc3lzdGVtIHdpbGwgcGVyaW9kaWNhbGx5IHNjYW4gZm9yIGZpbGVzIHRoYXQgZXhjZWVkIHRoZSBtYXhpbXVtIHNpemUuICBUaGVuLCB1c2luZyBhIGZ1cnRoZXIgYXN5bmNocm9ub3VzIHByb2Nlc3MgbWF0Y2hpbmcgZmlsZXMgYXJlIHNsb3dseSByZXNpemVkIGluIGJhdGNoZXMsIHRodXMgbWluaW1pemluZyBpbXBhY3Qgb24gc2VydmVyIHJlc291cmNlcy4gIEFkZGl0aW9uYWxseSwgaWYgYSBmaWxlIGlzIHRvIGJlIHJlc2l6ZWQsIGl0IGNhbiBiZSBhdXRvLXJvdGF0ZWQsIGFuZCB3YXRlcm1hcmtlZC48L3A+PC9kaXY+PGRpdiBpZD0ibmV3X2MiPjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgogIDxoMz5XaGF0J3MgbmV3PC9oMz4KCiAgPHA+VGhlc2UgYXJlIHNvbWUgb2YgdGhlIG5ldyBmZWF0dXJlcyBvZiB0aGUgbGF0ZXN0IHJlbGVhc2VzOjwvcD4KCiAgPHAgY2xhc3M9ImdyZWVuIj5BZGRlZDwvcD4KCiAgPHVsPgogICAgPGxpPk5ldyB0YWcgcGFyYW1ldGVyOiA8Yj5mb3JjZV9zZW9fbmFtZTwvYj4gLSB1c2VzIHRoZSBvcmlnaW5hbCBmaWxlbmFtZSBhcyB0aGUgc291cmNlIGZvciB0aGUgZ2VuZXJhdGVkIGZpbmFsIG5hbWUuIEEgcHJlZml4IGlzIGFkZGVkIGFuZCBlbXB0eSBzcGFjZXMgYXJlIHJlcGxhY2VkIGJ5IGh5cGhlbnMgLCBidXQgYSBodW1hbiByZWFkYWJsZSBmaWxlbmFtZSBpcyBrZXB0IGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBuYW1lLjwvbGk+CiAgPC91bD4KCgo8L2Rpdj4KCjwvZGl2PjxkaXYgaWQ9ImNvbnRyaWJ1dGVfYyI+PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCiAgPGgzPkhvdyBDYW4gSSBIZWxwPzwvaDM+CiAgPHA+SWYgeW91IHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuPC9wPgogIDxwPkFsbCBoZWxwIGlzIGFwcHJlY2lhdGVkLCBubyBjb250cmlidXRpb24gaXMgdG9vIHNtYWxsISBUaGUgbW9yZSBwZW9wbGUgY29udHJpYnV0ZSB0aGUgbW9yZSB0aW1lIGNhbiBiZSBhbGxvY2F0ZWQgdG8gdGhlIG1haW50ZW5hbmNlIGFuZCBkZXZlbG9wbWVudCBvZiB0aGUgbW9kdWxlLiBUaGlzIGFsc28gZW5yaWNoZXMgQ01TIE1hZGUgU2ltcGxlLjwvcD4KCiAgPGg0PlBheVBhbDwvaDQ+CiAgPHA+WW91IGNhbiBjb250cmlidXRlIHdpdGggYSBvbmUgdGltZSBkb25hdGlvbiBvciBhIHJlY3VycmVudCBvbmUsIGp1c3QgY2xpY2sgb246PHA+CiAgICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+CiAgPHA+CiAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2RvbmF0ZS8/aG9zdGVkX2J1dHRvbl9pZD0zNkxUWEgyNDhMN0dMIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2xvY2FsaG9zdC9DTVNNUy0yLTQtREVWLU1PRFMvbW9kdWxlcy9TbWFydEltYWdlL2ltYWdlcy9wcF9idXR0b24ucG5nIiBhbHQ9IlBheVBhbCBEb25hdGUgQnV0dG9uIiAvPgogICAgICA8L2E+CiAgPC9wPgogIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4KICA8cD4KICAgIE9yIHVzZSB0aGUgZm9sbG93aW5nIFFSIGNvZGUgZm9yIHRoZSBzYW1lIFBheVBhbCBhY2NvdW50OiA8L3A+CiAgPGRpdiBjbGFzcz0ibV90b3BfMjUiPjwvZGl2PgogICAgPHA+PGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvQ01TTVMtMi00LURFVi1NT0RTL21vZHVsZXMvU21hcnRJbWFnZS9pbWFnZXMvcHBfcXJfY29kZS5wbmciIGFsdD0iUGF5UGFsIFFSIENvZGUiIC8+CiAgPC9wPgogIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4KPHA+Tm90ZTogdGhlIHBheXBhbCBkb25hdGUgbGluayBoYXMgYmVlbiB1cGRhdGVkIHRvIG15IFNtQXJ0IExhYiBhY2NvdW50LiBJIHdhc24ndCB1c2luZyBteSBwZXJzb25hbCBhY2NvdW50IHRoYXQgbXVjaCBhbmQgdGhlIGFjY291bnQgd2FzIGJlaW5nIG1vcmUgb2YgYW4gaGFzc2xlIHRoYW4gYW4gYXNzZXQuLi4gVGhhdCdzIFBQIGZvcid5YS4uLjwvcD4KICA8aDQ+Qml0Y29pbjwvaDQ+CiAgPHA+IFVzZSB0aGUgZm9sbG93aW5nIGJ0YyBhZGRyZXNzOiA8L3A+CiAgPHA+PHNwYW4gaWQ9InMxIj4xN0cySkQ0MTFzVTNzd2Nwck5jR0xRQ2NIYVpCeUsxOThOPC9zcGFuPiA8YnV0dG9uIG9uY2xpY2s9ImNvcHlUb0NsaXBib2FyZCgnI3MxJykiPkNvcHkgdG8gQ2xpcGJvYXJkPC9idXR0b24+PC9wPgogIDxwPgogICAgT3IgdXNlIHRoZSBmb2xsb3dpbmcgUVIgY29kZTogPGJyPgogICAgPGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvQ01TTVMtMi00LURFVi1NT0RTL21vZHVsZXMvU21hcnRJbWFnZS9pbWFnZXMvYnRjX3FyX2NvZGUucG5nIiBhbHQ9IlBheVBhbCBRUiBDb2RlIiAvPgogIDwvcD4KCiAgPGgzPkNvbnRyaWJ1dGlvbnM8L2gzPgogIDxwPk9wZW4gU291cmNlIG1vZHVsZSBkZXZlbG9wbWVudCBmb3IgQ01TTVMgaXMgcHJldHR5IG11Y2ggYSB2b2x1bnRlZXIgY29tbWl0bWVudC4gVGhlIGRldmVsb3BlciBjb21taXRzIHRoZSB0aW1lIGhlIGNhbiBzcGFyZSB0byB0aGUgcHJvamVjdHMgaGUgY29uc2lkZXJzIGltcG9ydGFudCB0byB0aGUgZnV0dXJlIG9mIHRoZSBncmVhdGVyIHByb2plY3QgdGhhdCBDTVNNUyBpcy4gU29tZXRpbWVzIHdoYXQgb25lIGJlbGlldmVzIGlzIGltcG9ydGFudCBpcyBub3QgY29udmVyZ2VudCB3aXRoIHdoYXQgdGhlIGNvbW11bml0eSBiZWxpZXZlcyB0byBiZSBpbXBvcnRhbnQuIFNvbWV0aW1lcyBpdCdzIGEgd2FrZXVwIGNhbGwgYW5kIHRoZSBkZXZlbG9wZXIgZW1icmFjZXMgc29tZSBvZiB0aGUgY29tbXVuaXR5J3MgdmlzaW9uLCBzb21ldGltZXMgYm90aCB2aXNpb25zIGFyZSBub3QgY29tcGF0aWJsZS4gSXQncyBhIGJhbGFuY2UgZGlmZmljdWx0IHRvIGFjaGlldmUsIGJ1dCBicmluZ3MgbW9yZSByZXNwb25zaWJpbGl0eSB0byB0aGUgZGV2ZWxvcGVyLiBCdXQgYWxzbyByZXF1aXJlcyBzb21lIGVtcGF0aHkgZnJvbSB0aGUgY29tbXVuaXR5LiBBbmQgdGltZS4uLjwvcD4KICA8cD5QbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgZGV2ZWxvcGVycyBkbyBoYXZlIHRoZWlyIGRhaWx5IGpvYnMgd2hpY2ggbWVhbnMgdGhhdCBmZWF0dXJlIHJlcXVlc3RzIGFyZSBjb25zaWRlcmVkIGFuZCBkb25lIGFzIHRpbWUgYWxsb3dzLiBJZiB5b3UgbmVlZCBhIGZlYXR1cmUgcmVhbGx5IGJhZGx5IGNvbnNpZGVyIGNvbnRhY3Rpbmcgb25lIG9mIHRoZSBkZXZlbG9wZXJzIGZvciBhIHNwb25zb3JlZCBkZXZlbG9wbWVudC48L3A+CiAgPHA+QW5vdGhlciB3YXkgdGhhdCAna2lja3MgdGhlIGNhbicgZm9yd2FyZCB3aGlsZSBtb3RpdmF0aW5nIHRoZSBtb2R1bGUgZGV2ZWxvcGVyIGlzIHRvIHNwb25zb3IgZmVhdHVyZXMgdGhhdCB3ZWIgZGV2ZWxvcGVycyB3b3VsZCBsaWtlIHRvIHNlZSBpbXBsZW1lbnRlZC4gV2ViIGRldmVsb3BlcnMsIG1vcmUgb2Z0ZW4gdGhhdCBub3QsIGtub3cgd2hhdCB0aGUgZmluYWwgY2xpZW50IHdhbnRzIG9yIG5lZWRzIGFuZCBoZWxwIGJyaWRnaW5nIHRoZSBnYXAgYmV0d2VlbiB0aGUgZmluYWwgdXNlciBhbmQgdGhlIG9yaWdpbmFsIGNyZWF0b3Igb2YgdGhlIG1vZHVsZXMuIEtlZXAgaW4gbWluZCB0aGF0IG1vZHVsZXMsIG1vcmUgdGhhbiB0aGUgQ01TTVMgY29yZSwgYXJlIHBhcnRpY3VsYXJseSBhcHQgdG8gY292ZXIgc2l0ZXMgc3BlY2lhbCBuZWVkcywgdGhlIGNvcmUgYmVpbmcgdGhlIHN1cHBvcnQgYXJvdW5kIHdoaWNoIGFsbCB0aGluZ3MgYXJlIHBvc3NpYmxlLiBTbywgaWYgc2VlIHRoZSBuZWVkIGZvciBhIHBhcnRpY3VsYXIgZmVhdHVyZSBpbiBhbiBleGlzdGluZyBtb2R1bGUsIG9yIGEgYmVzcG9rZSBtb2R1bGUgZm9yIGEgc3BlY2lhbCBuZWVkLCBzZWUgaWYgdGhlIGZpbmFsIGN1c3RvbWVyIGNhbiBmaXQgaW4gdGhlIGJ1ZGdldCB0aGUgc3BvbnNvcnNoaXAgb2YgdGhhdCBwcm9qZWN0LiBBc2sgYSBkZXZlbG9wZXIgb3IgdGhlIGFjdHVhbCBtb2R1bGUgZGV2ZWxvcGVyIGlmIGl0cyBhIG1vZHVsZSBmZWF0dXJlIHRoYXQgaXMgcmVxdWVzdGVkLCBmb3IgYW4gZXN0aW1hdGUgZm9yIHRoZSBqb2IgYW5kIHRyeSB0byBtYWtlIGl0IHBvc3NpYmxlLiBTb21ldGltZXMgaXQgbWF5IGJlIGNoZWFwZXIgdGhhbiBpdCBsb29rcywgb3RoZXIgdGltZXMgaXQgbWF5IGJlIHBvc3NpYmxlIHZpYSBzb21lIHNvcnQgb2YgY3Jvd2QgZnVuZGluZy4gV2hlbiBpdCBoYXBwZW5zLCBpdCdzIGEgd2luLXdpbiBzaXR1YXRpb24uIFRoZSBjb21tdW5pdHkgd2lucywgdGhlIHdlYiBkZXZlbG9wZXIgd2lucywgdGhlIGNsaWVudCB3aW5zLCBDTVNNUyB3aW5zIGFuZCB0aGUgbW9kdWxlIGRldmVsb3BlciB3aW5zLjwvcD4KICA8cD5BIGRpZmZlcmVudCB3YXkgdGhhdCBoZWxwcyB0b286IGZvdW5kIGEgYnVnPyBmaWxlIGEgYnVnIHJlcG9ydC4gQnV0IHBsZWFzZSwgYmUgYXMgdGhvcm91Z2ggaW4gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBidWcsIHRoZSBjaXJjdW1zdGFuY2VzIGFuZCBlbnZpcm9ubWVudCB3aGVyZSBpdCBoYXBwZW5lZCBhbmQgdGhlIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdDsgaWYgdGhlIGRldmVsb3BlciBjYW4ndCByZXByb2R1Y2UgdGhlIGJ1ZyBpdCB3aWxsIGJlIGRpZmZpY3VsdCwgaWYgbm90IGltcG9zc2libGUsIHRvIGZpeCBpdDogYXMgZmFyIGFzIHRoZSBkZXZlbG9wZXIgaXMgY29uY2VybmVkIGlmIGl0IGNhbm5vdCBiZSByZXByb2R1Y2VkIGl0IGRvZXNuJ3QgZXhpc3QuIEJldHRlciB5ZXQsIGlmIHlvdSBrbm93IGhvdyB0byBmaXggaXQsIHN1Z2dlc3QgdGhlIHBvc3NpYmxlIGZpeC4gSWYgdmFsaWQsIHRoZSBkZXZlbG9wZXIgd2lsbCBzdXJlbHkgaW5jbHVkZSBpdC48L3A+CjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImFib3V0X2MiPjxoMz5BYm91dCB0aGlzIG1vZHVsZTwvaDM+CgogIDxwPlRoaXMgbW9kdWxlIGlzIGEgZm9yayBvZiA8c3Ryb25nPkNhbGd1eSdzIFNtYXJ0IEltYWdlIFRvb2xraXQgKENHU21hcnRJbWFnZSk8L3N0cm9uZz4gZGV2ZWxvcGVkIGJ5IDxzdHJvbmc+Um9iZXJ0IENhbXBiZWxsICZsdDtjYWxndXkxMDAwJmd0Ozwvc3Ryb25nPi48YnIgLz4KICAgICAgVGhpcyBpcyBhIDFzdCBnZW5lcmF0aW9uIGZvcmsgb2YgdGhlIG1vZHVsZS4gQ29uc2lkZXIgdGhpcyBhcyBhbm90aGVyIGZsYXZvdXIgb2YgdGhlIG9yaWdpbmFsIG1vZHVsZS48YnIgLz4KCiAgSWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTQ2NCIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IG9yIGZvciBhbnkgZ29vZCBpZGVhcyBjb25zaWRlciBzdWJtaXRpbmcgYSBmZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xNDY0IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9wPgogIDxwPlBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50LgogIDwvcD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgLyBtYWludGFpbmVycyBvciBwcm9qZWN0IG1hbmFnZXJzIGFyZSBpbiBubyB3YXkgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlIGluIGFueSBmYXNoaW9uLiAgSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkEgYnVnIHRyYWNraW5nIGFuZCBmZWF0dXJlIHJlcXVlc3Qgc3lzdGVtIGhhcyBiZWVuIGNyZWF0ZWQgZm9yIHRoaXMgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21hcnRpbWFnZSI+aGVyZTwvYT4uIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGV2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjwvdWw+CjxwPklmIHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgPGEgaHJlZj0iIiBpZD0iZG9uYXRpbmciPmRvbmF0aW5nPC9hPi48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDIwIC0gMjAyMywgQ01TIE1hZGUgU2ltcGxlIEZvdW5kYXRpb24gPGEgaHJlZj0ibWFpbHRvOmluZm9AY21zbWFkZXNpbXBsZS5vcmciPiZsdDtpbmZvQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LTIwMTksIFJvYmVydCBDYW1wYmVsbCAmbHQ7Y2FsZ3V5MTAwMCZndDsuIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPGhyPgo8cD48c3Ryb25nPlNtYXJ0SW1hZ2U8L3N0cm9uZz4gaXMgZnJlZSBzb2Z0d2FyZTs8YnIgLz4geW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIDxzdHJvbmc+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L3N0cm9uZz4gYXMgcHVibGlzaGVkIGJ5IHRoZSA8c3Ryb25nPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjwvc3Ryb25nPjs8YnIgLz4gZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPjxzdHJvbmc+U21hcnRJbWFnZTwvc3Ryb25nPiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgPHN0cm9uZz5XSVRIT1VUIEFOWSBXQVJSQU5UWTwvc3Ryb25nPjs8YnIgLz4gd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIDxzdHJvbmc+TUVSQ0hBTlRBQklMSVRZPC9zdHJvbmc+IG9yIDxzdHJvbmc+RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0U8L3N0cm9uZz4uPC9wPgo8cD5TZWUgdGhlR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy48L3A+CiA8cD5Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSA8c3Ryb25nPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9zdHJvbmc+IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOzxiciAvPiBpZiBub3QsIHdyaXRlIHRvIHRoZSA8c3Ryb25nPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0E8L3N0cm9uZz4gb3IgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+cmVhZCBpdCBvbmxpbmU8L2E+LjwvcD4KPHA+PHN0cm9uZz5Zb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIDxzdHJvbmc+RnJvbnRFbmRVc2Vyczwvc3Ryb25nPi48L3N0cm9uZz48L3A+Cjxocj4KPGg0PkN1cnJlbnQgTWFpbnRhaW5lcnM8L2g0Pgo8dWw+CiAgPGxpIGNsYXNzPSJwX2JvdHRvbV8xNSI+PHN0cm9uZz5GZXJuYW5kbyBNb3JnYWRvIChKbyBNb3JnKTwvc3Ryb25nPjwvbGk+CjwvdWw+Cgo8aDQ+UGFzdCBNYWludGFpbmVyczwvaDQ+Cjx1bD4KICA8bGk+PHN0cm9uZz5Sb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApPC9zdHJvbmc+IDxicj53d3cuY2FsZ3V5MTAwMC5jb208L2xpPgo8L3VsPgoKPGg0PkNvbnRyaWJ1dG9yczwvaDQ+Cjx1bD4KICA8bGk+PHN0cm9uZz5Sb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApPC9zdHJvbmc+PGJyPnd3dy5jYWxndXkxMDAwLmNvbSAtIGNvZGU7PC9saT4KICA8bGk+PHN0cm9uZz5Lb2EnbGluazwvc3Ryb25nPjxicj5odHRwczovL3d3dy5rb2FsaW5rLmZyIC0gYnVnIGZpeGVzIGFuZCB0ZXN0aW5nOzwvbGk+CjwvdWw+CjxoND5TcG9uc29yczwvaDQ+Cjx1bD4KICA8bGk+PHN0cm9uZz5TaW1vbiBSYWRmb3JkIChTaW1vbjY2KTwvc3Ryb25nPjxicj5jb25jZXB0ZmFjdG9yeS5jb20uYXU7PC9saT4KPC91bD48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2PjwvZGl2PjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q01TTVNFeHQgPSZndDsgMS4xPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKb01vcmcgJmx0O2pvbW9yZ0BjbXNtYWRlc2ltcGxlLm9yZyZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAxLjEuMDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjxoMz5bMjAyMS0wOS0wNV0gVmVyc2lvbiAxLjAgLSBJbml0aWFsIFJlbGVhc2U8L2gzPgo8aHI+CjxoMz5bMjAyMy0wMy0wM10gVmVyc2lvbiAxLjEuMCAtIFtVbnJlbGVhc2VkXTwvaDM+CjxoND5GaXhlZDwvaDQ+Cjx1bD4KICA8bGk+QnVnIFsjMTI0NzJdIEZpbGUgbm90IGZvdW5kIGlzc3VlOzwvbGk+CiAgPGxpPkJ1ZyBbIzEyNDcxXSBmaWx0ZXJfTk9PUCBkb2N1bWVudGF0aW9uIGVycm9yOzwvbGk+CiAgPGxpPkJ1ZyBbIzEyNTcwXSAnc2lfY29udmVydCBwbHVnaW4gcmVwb3J0cyBtaXNzaW5nIHNyYz0gdGFnJzs8L2xpPgo8L3VsPgo8aDQ+QWRkZWQ8L2g0Pgo8dWw+CiAgPGxpPk5ldyB0YWcgcGFyYW1ldGVyOiA8Yj5mb3JjZV9zZW9fbmFtZTwvYj4gLSB1c2VzIHRoZSBvcmlnaW5hbCBmaWxlbmFtZSBhcyB0aGUgc291cmNlIGZvciB0aGUgZ2VuZXJhdGVkIGZpbmFsIG5hbWUuIEEgcHJlZml4IGlzIGFkZGVkIGFuZCBlbXB0eSBzcGFjZXMgYXJlIHJlcGxhY2VkIGJ5IGh5cGhlbnMgLCBidXQgYSBodW1hbiByZWFkYWJsZSBmaWxlbmFtZSBpcyBrZXB0IGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBuYW1lLjwvbGk+CjwvdWw+Cjxocj4KPGJyIC8+]]></about>
	<description><![CDATA[A smart image tag generation module for CMSMS]]></description>
	<requires>
	  <requiredname>CMSMSExt</requiredname>
	  <requiredversion>1.1</requiredversion>
	</requires>
	<file>
	  <filename>/action.admin_autoprocessing_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignYXV0b3Byb2Nlc3NpbmcnKTsKCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgICAkcHJlZnMgPSBcU21hcnRJbWFnZVxhdXRvcHJvY2Vzc19vcHRpb25zOjpsb2FkKCk7CiAgICAkcHJlZnMtPmVuYWJsZWQgPSBceHRfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnYXBfZW5hYmxlZCcpOwogICAgJHByZWZzLT5pZ25vcmVfZXh0ZW5zaW9ucyA9IFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdhcF9pZ25vcmVfZXh0ZW5zaW9ucycpOwogICAgJHByZWZzLT5pZ25vcmVfZGlycyA9IFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdhcF9pZ25vcmVfZGlycycpOwogICAgJHByZWZzLT5pbmNsdWRlX2RpcnMgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnYXBfaW5jbHVkZV9kaXJzJyk7CiAgICAkcHJlZnMtPm1heF9zaXplID0gXHh0X3BhcmFtOjpnZXRfaW50KCRwYXJhbXMsJ2FwX21heF9zaXplJyk7CiAgICAkcHJlZnMtPmF1dG9yb3RhdGUgPSBceHRfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnYXBfYXV0b3JvdGF0ZScpOwogICAgJHByZWZzLT53YXRlcm1hcmsgPSBceHRfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnYXBfd2F0ZXJtYXJrJyk7CiAgICAkcHJlZnMtPnNhdmUoKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfcHJlZnN1cGRhdGVkJykpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2JlZ2luX2F1dG9wcm9jZXNzJ10pICkgewogICAgJG9iaiA9IG5ldyBcU21hcnRJbWFnZVxBdXRvUHJvY2Vzc01hc3RlclRhc2soKTsKICAgICRvYmotPmZvcmNlKCk7CiAgICBpZiggISRvYmotPnRlc3QoKSApIHsKICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ21zZ190YXNrbm90cmVhZHknKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAkb2JqLT5leGVjdXRlKCk7CiAgICB9Cn0KCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7]]></data>
	</file>
	<file>
	  <filename>/action.admin_embedding_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignZW1iZWRkaW5nJyk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScsdHJpbSgkcGFyYW1zWydlbWJlZF9tb2RlJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYmVkX3NpemVsaW1pdCcsKGludCkkcGFyYW1zWydlbWJlZF9zaXplbGltaXQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycsdHJpbSgkcGFyYW1zWydlbWJlZF90eXBlcyddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_general_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2dlbmVyYWwnKTsKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoKdHJ5IHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgICAgICAgLy8gdmFsaWRhdGUgdGhlIGNhY2hlIHBhdGguCiAgICAgICAgJGNhY2hlX3BhdGggPSB0cmltKCRwYXJhbXNbJ2NhY2hlX3BhdGgnXSk7CiAgICAgICAgaWYoICRjYWNoZV9wYXRoICkgewogICAgICAgICAgICAkdHAxID0gJGNhY2hlX3BhdGg7CiAgICAgICAgICAgIGlmKCAhaXNfZGlyKCR0cDEpICkgJHRwMSA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLicvJy4kdHAxOwogICAgICAgICAgICAkcDEgPSByZWFscGF0aCgkdHAxKTsKICAgICAgICAgICAgJHAyID0gcmVhbHBhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10pOwogICAgICAgICAgICBpZiggJHAxID09ICRwMiB8fCAhc3RhcnRzd2l0aCgkcDEsJHAyKSApIHRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2NhY2hlcGF0aF9pbnZhbGlkJykpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYycsdHJpbSgkcGFyYW1zWydjcm9wdG9maXRfZGVmYXVsdF9sb2MnXSkpOwogICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnLChpbnQpJHBhcmFtc1snY2FjaGVfYWdlJ10pOwogICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJywkY2FjaGVfcGF0aCk7CiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9wcmVmaXgnLHRyaW0oJHBhcmFtc1snaW1hZ2VfdXJsX3ByZWZpeCddKSk7CiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NpbGVudCcsKGludCkkcGFyYW1zWydzaWxlbnQnXSk7CiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicsKGlzc2V0KCRwYXJhbXNbJ2ltYWdlX3VybF9oYXNjYWNoZWRpciddKSk/KGludCkkcGFyYW1zWydpbWFnZV91cmxfaGFzY2FjaGVkaXInXTowKTsKICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hlY2ttZW1vcnknLChpbnQpJHBhcmFtc1snY2hlY2ttZW1vcnknXSk7CiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZvcmNlX2V4dGVuc2lvbicsKGludCkkcGFyYW1zWydmb3JjZV9leHRlbnNpb24nXSk7CiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2dyZXNzaXZlJywoaW50KSRwYXJhbXNbJ3Byb2dyZXNzaXZlJ10pOwogICAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvc2NhbGVfb3AnLFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdhdXRvc2NhbGVfb3AnKSk7CiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19wcmVmc3VwZGF0ZWQnKSk7CiAgICB9CiAgICBlbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjbGVhcl9ub3cnXSkgKSB7CiAgICAgICAgLy8gY2xlYXIgYWxsIGZpbGVzIGZyb20gY2FjaGUgZGlyIG9sZGVyIHRoYW4gTiBkYXlzCiAgICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NhY2hlX2FnZScsKGludCkkcGFyYW1zWydjYWNoZV9hZ2UnXSk7CiAgICAgICAgJG5fcmVtb3ZlZCA9ICR0aGlzLT5jbGVhcl9jYWNoZWRfZmlsZXMoKTsKICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2NhY2hlY2xlYW5lZCcsJG5fcmVtb3ZlZCkpOwogICAgICAgIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJG5fcmVtb3ZlZC4nIGZpbGVzIGNsZWFuZWQgZnJvbSBjYWNoZSBkaXJlY3RvcnknKTsKICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2NsZWFyX2FsbCddKSApIHsKICAgICAgICAvLyBqdXN0IG51a2UgdGhlIGNhY2hlIGRpcmVjdG9yeSBjb21wbGV0ZWx5LgogICAgICAgICRjYWNoZV9wYXRoID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NhY2hlX3BhdGgnLCBjbXNfam9pbl9wYXRoKCd1cGxvYWRzJywgJ18nLiR0aGlzLT5HZXROYW1lKCkpKTsKICAgICAgICAkZGlyID0gJGNhY2hlX3BhdGg7CiAgICAgICAgaWYoICFzdGFydHN3aXRoKCRkaXIsJy8nKSApICRkaXIgPSAkY29uZmlnWydyb290X3BhdGgnXS4nLycuJGNhY2hlX3BhdGg7CiAgICAgICAgJHAxID0gcmVhbHBhdGgoJGRpcik7CiAgICAgICAgJHAyID0gcmVhbHBhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10pOwogICAgICAgIGlmKCAhc3RhcnRzd2l0aCgkcDEsJHAyKSB8fCAkcDEgPT0gJHAyICkgdGhyb3cgbmV3IEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfY2FjaGVwYXRoX2ludmFsaWQnKSk7CiAgICAgICAgeHRfZGlyOjpyZWN1cnNpdmVfcm1kaXIoJGRpcik7CiAgICAgICAgbWtkaXIoJGRpcik7CiAgICAgICAgQHRvdWNoKCRkaXIuJy9pbmRleC5odG1sJyk7CiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYWNoZXJlbW92ZWQnKSk7CiAgICAgICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnQWxsIGNhY2hlZCBmaWxlcyByZW1vdmVkJyk7CiAgICB9Cn0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvcigkZS0+Z2V0TWVzc2FnZSgpKTsKfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_responsive_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYigncmVzcG9uc2l2ZScpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc3BvbnNpdmUnLChpbnQpJHBhcmFtc1sncmVzcG9uc2l2ZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Fzc3VtZV9yZXNwb25zaXZlJywoaW50KSRwYXJhbXNbJ2Fzc3VtZV9yZXNwb25zaXZlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZV9icmVha3BvaW50cycsdHJpbSgkcGFyYW1zWydyZXNwb25zaXZlX2JyZWFrcG9pbnRzJ10pKTsKCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_savealiases.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgeyBleGl0OyB9CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHsgcmV0dXJuOyB9CgokdGhpcy0+U2V0Q3VycmVudFRhYignYWxpYXNlcycpOwoKJGFsaWFzZXMgPSBbXTsKJGVycm9yICAgPSBGQUxTRTsKZm9yKCRpID0gMCwgJGlNYXggPSBjb3VudCgkcGFyYW1zWydhbGlhc19uYW1lJ10pOyAkaSA8ICRpTWF4OyAkaSsrKQp7CiAgJG5hbWUgICAgPSB0cmltKCRwYXJhbXNbJ2FsaWFzX25hbWUnXVskaV0pOwogICRvcHRpb25zID0gdHJpbSgkcGFyYW1zWydhbGlhc19vcHRpb25zJ11bJGldKTsKICAKICBpZigkbmFtZSA9PSAnJyAmJiAkb3B0aW9ucyA9PSAnJykKICB7CiAgICBjb250aW51ZTsKICB9CiAgaWYoJG9wdGlvbnMgPT0gJycpCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9hbGlhc19ub29wdGlvbnNfYXRyb3cnLCAkaSArIDEpKTsKICAgICRlcnJvciA9IFRSVUU7CiAgICBjb250aW51ZTsKICB9CiAgaWYoISRuYW1lKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfYWxpYXNfbm9uYW1lX2F0cm93JywgJGkgKyAxKSk7CiAgICAkZXJyb3IgPSBUUlVFOwogICAgY29udGludWU7CiAgfQogIGlmKGlzc2V0KCRhbGlhc2VzWyRuYW1lXSkpCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9hbGlhc19kdXBsaWNhdGVuYW1lX2F0cm93JywgJGkgKyAxKSk7CiAgICAkZXJyb3IgPSBUUlVFOwogICAgY29udGludWU7CiAgfQogIAogICRhbGlhc2VzWyRuYW1lXSA9IFsnbmFtZScgPT4gJG5hbWUsICdvcHRpb25zJyA9PiAkb3B0aW9uc107Cn0KCmlmKCRlcnJvcikKewogICRfU0VTU0lPTlskdGhpcy0+R2V0TmFtZSgpIC4gJ19hbGlhc19uYW1lcyddICAgPSAkcGFyYW1zWydhbGlhc19uYW1lJ107CiAgJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkgLiAnX2FsaWFzX29wdGlvbnMnXSA9ICRwYXJhbXNbJ2FsaWFzX29wdGlvbnMnXTsKfQplbHNlCnsKICB1bnNldCgkX1NFU1NJT05bJHRoaXMtPkdldE5hbWUoKSAuICdfYWxpYXNfbmFtZXMnXSk7CiAgdW5zZXQoJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkgLiAnX2FsaWFzX29wdGlvbnMnXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsaWFzZXMnLCBzZXJpYWxpemUoJGFsaWFzZXMpKTsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2FsaWFzZXNfdXBkYXRlZCcpKTsKfQokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIHsgZXhpdDsgfQoKJG91dHAgPSBzaV91dGlsczo6cHJvY2Vzc19pbWFnZSgkcGFyYW1zKTsKJHNpbGVudCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaWxlbnQnLCAwKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3NpbGVudCddKSApIHsgJHNpbGVudCA9IChpbnQpJHBhcmFtc1snc2lsZW50J107IH0KCmlmKGlzc2V0KCRvdXRwWydlcnJvciddKSAmJiAnJyAhPT0gJG91dHBbJ2Vycm9yJ10pCnsKICBpZighJHNpbGVudCkgeyB0cmlnZ2VyX2Vycm9yKCRvdXRwWydlcnJvciddKTsgfQogIAogIGF1ZGl0KCcnLCAkdGhpcy0+R2V0TmFtZSgpLCAkb3V0cFsnZXJyb3InXSk7CiAgCiAgcmV0dXJuOwp9CgppZiggaXNzZXQoJG91dHBbJ291dHB1dCddKSApIHsgZWNobyAkb3V0cFsnb3V0cHV0J107IH0KPz4K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgeyBleGl0OyB9CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHsgcmV0dXJuOyB9CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhbGlhc2VzJywkdGhpcy0+TGFuZygnYWxpYXNlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdyZXNwb25zaXZlJywkdGhpcy0+TGFuZygncmVzcG9uc2l2ZScpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdlbWJlZGRpbmcnLCR0aGlzLT5MYW5nKCdlbWJlZGRpbmcnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYXV0b3Byb2Nlc3NpbmcnLCR0aGlzLT5MYW5nKCdhdXRvcHJvY2Vzc2luZycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdnZW5lcmFsJywkdGhpcy0+TGFuZygnZ2VuZXJhbCcpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignYWxpYXNlcycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2FsaWFzZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdyZXNwb25zaXZlJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fcmVzcG9uc2l2ZV90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2VtYmVkZGluZycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2VtYmVkZGluZ190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2F1dG9wcm9jZXNzaW5nJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fYXV0b3Byb2Nlc3NpbmdfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdnZW5lcmFsJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZ2VuZXJhbF90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoK]]></data>
	</file>
	<file>
	  <filename>/action.responsive.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIHsgZXhpdDsgfQoKaWYoICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZScpICkgcmV0dXJuOwokY24gPSBzaV91dGlsczo6Z2V0X3Jlc3BvbnNpdmVfY29va2llbmFtZSgpOwppZiggIWlzc2V0KCRfQ09PS0lFWyRjbl0pICkgewogICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgncmVzcG9uc2l2ZS50cGwnKTsKICAgICR0cGwtPmFzc2lnbignY29va2llbmFtZScsJGNuKTsKICAgICR0cGwtPmRpc3BsYXkoKTsKfQoKCj8+]]></data>
	</file>
	<file>
	  <filename>/data</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/data/colors.dat</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I0YwRjhGRi1BbGljZUJsdWUKI0ZBRUJENy1BbnRpcXVlV2hpdGUKIzAwRkZGRi1BcXVhCiM3RkZGRDQtQXF1YW1hcmluZQojRjBGRkZGLUF6dXJlCiNGNUY1REMtQmVpZ2UKI0ZGRTRDNC1CaXNxdWUKI0ZGRUJDRC1CbGFuY2hlZEFsbW9uZAojMDAwMDAwLUJsYWNrCiMwMDAwRkYtQmx1ZQojOEEyQkUyLUJsdWVWaW9sZXQKI0E1MkEyQS1Ccm93bgojREVCODg3LUJ1cmx5V29vZAojNUY5RUEwLUNhZGV0Qmx1ZQojN0ZGRjAwLUNoYXJ0cmV1c2UKI0QyNjkxRS1DaG9jb2xhdGUKI0ZGN0Y1MC1Db3JhbAojNjQ5NUVELUNvcm5mbG93ZXJCbHVlCiNGRkY4REMtQ29ybnNpbGsKI0RDMTQzQy1Dcmltc29uCiMwMEZGRkYtQ3lhbgojMDAwMDhCLURhcmtCbHVlCiMwMDhCOEItRGFya0N5YW4KI0I4ODYwQi1EYXJrR29sZGVuUm9kCiNBOUE5QTktRGFya0dyYXkKIzAwNjQwMC1EYXJrR3JlZW4KI0JEQjc2Qi1EYXJrS2hha2kKIzhCMDA4Qi1EYXJrTWFnZW50YQojNTU2QjJGLURhcmtPbGl2ZUdyZWVuCiNGRjhDMDAtRGFya29yYW5nZQojOTkzMkNDLURhcmtPcmNoaWQKIzhCMDAwMC1EYXJrUmVkCiNFOTk2N0EtRGFya1NhbG1vbgojOEZCQzhGLURhcmtTZWFHcmVlbgojNDgzRDhCLURhcmtTbGF0ZUJsdWUKIzJGNEY0Ri1EYXJrU2xhdGVHcmF5CiMwMENFRDEtRGFya1R1cnF1b2lzZQojOTQwMEQzLURhcmtWaW9sZXQKI0ZGMTQ5My1EZWVwUGluawojMDBCRkZGLURlZXBTa3lCbHVlCiM2OTY5NjktRGltR3JheQojMUU5MEZGLURvZGdlckJsdWUKI0QxOTI3NS1GZWxkc3BhcgojQjIyMjIyLUZpcmVCcmljawojRkZGQUYwLUZsb3JhbFdoaXRlCiMyMjhCMjItRm9yZXN0R3JlZW4KI0ZGMDBGRi1GdWNoc2lhCiNEQ0RDREMtR2FpbnNib3JvCiNGOEY4RkYtR2hvc3RXaGl0ZQojRkZENzAwLUdvbGQKI0RBQTUyMC1Hb2xkZW5Sb2QKIzgwODA4MC1HcmF5CiMwMDgwMDAtR3JlZW4KI0FERkYyRi1HcmVlblllbGxvdwojRjBGRkYwLUhvbmV5RGV3CiNGRjY5QjQtSG90UGluawojQ0Q1QzVDLUluZGlhblJlZAojNEIwMDgyLUluZGlnbwojRkZGRkYwLUl2b3J5CiNGMEU2OEMtS2hha2kKI0U2RTZGQS1MYXZlbmRlcgojRkZGMEY1LUxhdmVuZGVyQmx1c2gKIzdDRkMwMC1MYXduR3JlZW4KI0ZGRkFDRC1MZW1vbkNoaWZmb24KI0FERDhFNi1MaWdodEJsdWUKI0YwODA4MC1MaWdodENvcmFsCiNFMEZGRkYtTGlnaHRDeWFuCiNGQUZBRDItTGlnaHRHb2xkZW5Sb2RZZWxsb3cKI0QzRDNEMy1MaWdodEdyZXkKIzkwRUU5MC1MaWdodEdyZWVuCiNGRkI2QzEtTGlnaHRQaW5rCiNGRkEwN0EtTGlnaHRTYWxtb24KIzIwQjJBQS1MaWdodFNlYUdyZWVuCiM4N0NFRkEtTGlnaHRTa3lCbHVlCiM4NDcwRkYtTGlnaHRTbGF0ZUJsdWUKIzc3ODg5OS1MaWdodFNsYXRlR3JheQojQjBDNERFLUxpZ2h0U3RlZWxCbHVlCiNGRkZGRTAtTGlnaHRZZWxsb3cKIzAwRkYwMC1MaW1lCiMzMkNEMzItTGltZUdyZWVuCiNGQUYwRTYtTGluZW4KI0ZGMDBGRi1NYWdlbnRhCiM4MDAwMDAtTWFyb29uCiM2NkNEQUEtTWVkaXVtQXF1YU1hcmluZQojMDAwMENELU1lZGl1bUJsdWUKI0JBNTVEMy1NZWRpdW1PcmNoaWQKIzkzNzBEOC1NZWRpdW1QdXJwbGUKIzNDQjM3MS1NZWRpdW1TZWFHcmVlbgojN0I2OEVFLU1lZGl1bVNsYXRlQmx1ZQojMDBGQTlBLU1lZGl1bVNwcmluZ0dyZWVuCiM0OEQxQ0MtTWVkaXVtVHVycXVvaXNlCiNDNzE1ODUtTWVkaXVtVmlvbGV0UmVkCiMxOTE5NzAtTWlkbmlnaHRCbHVlCiNGNUZGRkEtTWludENyZWFtCiNGRkU0RTEtTWlzdHlSb3NlCiNGRkU0QjUtTW9jY2FzaW4KI0ZGREVBRC1OYXZham9XaGl0ZQojMDAwMDgwLU5hdnkKI0ZERjVFNi1PbGRMYWNlCiM4MDgwMDAtT2xpdmUKIzZCOEUyMy1PbGl2ZURyYWIKI0ZGQTUwMC1PcmFuZ2UKI0ZGNDUwMC1PcmFuZ2VSZWQKI0RBNzBENi1PcmNoaWQKI0VFRThBQS1QYWxlR29sZGVuUm9kCiM5OEZCOTgtUGFsZUdyZWVuCiNBRkVFRUUtUGFsZVR1cnF1b2lzZQojRDg3MDkzLVBhbGVWaW9sZXRSZWQKI0ZGRUZENS1QYXBheWFXaGlwCiNGRkRBQjktUGVhY2hQdWZmCiNDRDg1M0YtUGVydQojRkZDMENCLVBpbmsKI0REQTBERC1QbHVtCiNCMEUwRTYtUG93ZGVyQmx1ZQojODAwMDgwLVB1cnBsZQojRkYwMDAwLVJlZAojQkM4RjhGLVJvc3lCcm93bgojNDE2OUUxLVJveWFsQmx1ZQojOEI0NTEzLVNhZGRsZUJyb3duCiNGQTgwNzItU2FsbW9uCiNGNEE0NjAtU2FuZHlCcm93bgojMkU4QjU3LVNlYUdyZWVuCiNGRkY1RUUtU2VhU2hlbGwKI0EwNTIyRC1TaWVubmEKI0MwQzBDMC1TaWx2ZXIKIzg3Q0VFQi1Ta3lCbHVlCiM2QTVBQ0QtU2xhdGVCbHVlCiM3MDgwOTAtU2xhdGVHcmF5CiNGRkZBRkEtU25vdwojMDBGRjdGLVNwcmluZ0dyZWVuCiM0NjgyQjQtU3RlZWxCbHVlCiNEMkI0OEMtVGFuCiMwMDgwODAtVGVhbAojRDhCRkQ4LVRoaXN0bGUKI0ZGNjM0Ny1Ub21hdG8KIzQwRTBEMC1UdXJxdW9pc2UKI0VFODJFRS1WaW9sZXQKI0QwMjA5MC1WaW9sZXRSZWQKI0Y1REVCMy1XaGVhdAojRkZGRkZGLVdoaXRlCiNGNUY1RjUtV2hpdGVTbW9rZQojRkZGRjAwLVllbGxvdwojOUFDRDMyLVllbGxvd0dyZWVuCg==]]></data>
	</file>
	<file>
	  <filename>/docs</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_aliases_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgeyBleGl0OyB9CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHsgcmV0dXJuOyB9CgovLwovLyBidWlsZCB0aGUgZm9ybQovLwokYWxpYXNlcyA9IFtdOwppZihpc3NldCgkX1NFU1NJT05bJHRoaXMtPkdldE5hbWUoKSAuICdfYWxpYXNfbmFtZXMnXSkpCnsKICBmb3IoJGkgPSAwLCAkaU1heCA9IGNvdW50KCRfU0VTU0lPTlskdGhpcy0+R2V0TmFtZSgpIC4gJ19hbGlhc19uYW1lcyddKTsgJGkgPCAkaU1heDsgJGkrKykKICB7CiAgICAkbmFtZSAgICAgID0gJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkgLiAnX2FsaWFzX25hbWVzJ11bJGldOwogICAgJG9wdHMgICAgICA9ICRfU0VTU0lPTlskdGhpcy0+R2V0TmFtZSgpIC4gJ19hbGlhc19vcHRpb25zJ11bJGldOwogICAgJGFsaWFzZXNbXSA9IFsnbmFtZScgPT4gJG5hbWUsICdvcHRpb25zJyA9PiAkb3B0c107CiAgfQogIHVuc2V0KAogICAgJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkgLiAnX2FsaWFzX25hbWVzJ10sCiAgICAkX1NFU1NJT05bJHRoaXMtPkdldE5hbWUoKSAuICdfYWxpYXNfb3B0aW9ucyddCiAgKTsKfQplbHNlCnsKICAkdG1wID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsaWFzZXMnKTsKICBpZigkdG1wKQogIHsKICAgICRhbGlhc2VzID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgfQp9CgokYXNzaWduID0gWwogICAgICAgICAgICAnYWxpYXNlcycgICA9PiAkYWxpYXNlcywKICAgICAgICAgICAgJ2Zvcm1zdGFydCcgPT4gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9zYXZlYWxpYXNlcycsICRyZXR1cm5pZCksCiAgICAgICAgICAgICdmb3JtZW5kJyAgID0+ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkKICAgICAgICAgIF07Cgokc21hcnR5LT5hc3NpZ24oJGFzc2lnbik7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FsaWFzZXNfdGFiLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_autoprocessing_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHByZWZzID0gXFNtYXJ0SW1hZ2VcYXV0b3Byb2Nlc3Nfb3B0aW9uczo6bG9hZCgpOwoKJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnYWRtaW5fYXV0b3Byb2Nlc3NpbmdfdGFiLnRwbCcpOwokdHBsLT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2F1dG9wcm9jZXNzaW5nX3RhYicpKTsKJHRwbC0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRwbC0+YXNzaWduKCdwcmVmcycsJHByZWZzKTsKJHRwbC0+ZGlzcGxheSgpOw==]]></data>
	</file>
	<file>
	  <filename>/function.admin_embedding_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJGVtYmVkX21vZGVzID0gYXJyYXkoKTsKJGVtYmVkX21vZGVzWydub25lJ10gPSAkdGhpcy0+TGFuZygnbm9uZScpOwokZW1iZWRfbW9kZXNbJ3NtYXJ0J10gPSAkdGhpcy0+TGFuZygnc21hcnQnKTsKJGVtYmVkX21vZGVzWydzaXplbGltaXQnXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0Jyk7CiRlbWJlZF9tb2Rlc1snc21hcnRfbGltaXRlZCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnKTsKJGVtYmVkX21vZGVzWyd0eXBlJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2VtYmVkX3R5cGUnKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9tb2RlcycsJGVtYmVkX21vZGVzKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9tb2RlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9zaXplbGltaXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF9zaXplbGltaXQnKSk7CiRzbWFydHktPmFzc2lnbignZW1iZWRfdHlwZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycpKTsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVNUYXJ0KCRpZCwnYWRtaW5fZW1iZWRkaW5nX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lbWJlZGRpbmdfdGFiLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_general_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKCiR0bXAgPSBhcnJheSgpOwokdG1wWyd0bCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2NfdG9wbGVmdCcpOwokdG1wWyd0YyddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2NfdG9wY2VudGVyJyk7CiR0bXBbJ3RyJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY190b3ByaWdodCcpOwokdG1wWydjbCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2NfY2VudGVybGVmdCcpOwokdG1wWydjJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY19jZW50ZXInKTsKJHRtcFsnY3InXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfbG9jX2NlbnRlcnJpZ2h0Jyk7CiR0bXBbJ2JsJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY19ib3R0b21sZWZ0Jyk7CiR0bXBbJ2JjJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY19ib3R0b21jZW50ZXInKTsKJHRtcFsnYnInXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0Jyk7CiRzbWFydHktPmFzc2lnbignY3JvcHRvZml0X2xvY3MnLCR0bXApOwokc21hcnR5LT5hc3NpZ24oJ2NhY2hlX2FnZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NhY2hlX2FnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYWNoZV9wYXRoJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfcGF0aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZV91cmxfcHJlZml4JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX3ByZWZpeCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdjcm9wdG9maXRfZGVmYXVsdF9sb2MnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcm9wdG9maXRfZGVmYXVsdF9sb2MnLCdjJykpOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9nZW5lcmFsX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzaWxlbnQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaWxlbnQnLDApKTsKJHNtYXJ0eS0+YXNzaWduKCdjaGVja21lbW9yeScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNrbWVtb3J5JywxKSk7CiRzbWFydHktPmFzc2lnbignZm9yY2VfZXh0ZW5zaW9uJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZm9yY2VfZXh0ZW5zaW9uJywwKSk7CiRzbWFydHktPmFzc2lnbigncHJvZ3Jlc3NpdmUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9ncmVzc2l2ZScsMCkpOwokc21hcnR5LT5hc3NpZ24oJ2F1dG9zY2FsZV9vcCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9zY2FsZV9vcCcsJ2Nyb3B0b2ZpdCcpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZ2VuZXJhbF90YWIudHBsJyk7CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_responsive_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHNtYXJ0eS0+YXNzaWduKCdyZXNwb25zaXZlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZScsMCkpOwokc21hcnR5LT5hc3NpZ24oJ2Fzc3VtZV9yZXNwb25zaXZlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXNzdW1lX3Jlc3BvbnNpdmUnLDApKTsKJHNtYXJ0eS0+YXNzaWduKCdyZXNwb25zaXZlX2JyZWFrcG9pbnRzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZV9icmVha3BvaW50cycpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9yZXNwb25zaXZlX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9yZXNwb25zaXZlX3RhYi50cGwnKTsKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/images</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/btc_qr_code.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAALgUlEQVR4Xu2d4WLbKgxGb9//oXfnbGtrjMuJJGzHOfsthPh0EII02cev3//+858K3ESBD4G+SSZdxkMBgRaEWykg0LdKp4sRaBm4lQICfat0uhiBloFbKSDQt0qnixFoGbiVAgJ9q3S6GIGWgVspINC3SqeLEWgZuJUCAn2rdLoYgZaBWykg0LdKp4sRaBm4lQICfat0uhiBloFbKSDQt0qniykH+uPj4xKq9r4q2YuNfKWSjsusncZLxCVrWvxk4iVxUBsaL/En0OA7wgJNUIrbCDTQjlY8IqZAA8ETJiQH1L0V2gpNWZlmJ9BAWiv0WCR76LFG3YtG5Q7shZBpCSpjywBylQ1YqUcmVwC1rskhLcdVRKLgh8VMvPAIdFT19TiBBj00ldoKPVZqelGp/imw2QFnjrHZsQm0QI8VABYUVGoHpuz3b7YcQ+mm5+CsCh2tZplek4oZjW2Yzb8G9E5B4riyHpnYqJat3Wk9NElWb1EZkQS6uUB1ThSqLwGO+qIbnMwp0J1LYXSzEcEXG5pAEkcGmtkbPBMb1dIK3ShARY8KTE8Zetlt7Wj81XZEj8ycxH9XM3vo7X9gQCpjVHAr9PavMemJRTR/q5YjWgVnV9kM5JkqaMsBtsiriRStxrSqUP9RfwLdXHTfqeWwQvvKAWrya4tEKyi5jGU2jBX6adS6A96qh65sh8466gn4mXXSdRH8qC+yJjLfYiPQwXfoTLKqgdu8xSY+MKHrIoBRXwLdqFkNCGlDMsmqjlegvxSwQluhV/uBblQrNKiqs0XKVEZyKcz4pyCR4/mIOGbnivjvXsLPeraLBkxfEkjiMzGQtmTPP40tOkfGPx0b1Y5utrB/gY5JF4VtmY1CE50j45+OjanW/3GbyjlP66Gjglihx8pRQGZXyzNyJdBjProW0epphb7pHycFOcJw0SoVjUOgY8rNPhUOqdCxpedGZV4NWtErfe1VaJro2bHlVI+Nriw+Ag3eoQU6BiodJdBAqUoIK31ZobfJE2iB/lSgerMBactNBBpIWpnoSl9W6Ber0IC1y5tEXzAy4NM329aues7LJ2cQYPml8NUFWeIX6NfNokB3cifQAv26Cgj0vXJX/cdJd1DHCv26WSxvOegnXtFLULXU5MkoCng21mhs1RdFktOMRmSdVEuBBj94nkkWTUTPjiSawLZ30SX+6diMRjQOoqVAC/SQE7JpBLrwMjbMyA8GpDpkknVGbLYcGdWbsWQ37013BjgCPU4+yWkmdyQH4yj/WJS3HHTiykshFYSKTv2RtRIYiJ9/NnQNrU+6psp4aaw0NqKTQHdUKhUY/ugLSdbeBY2MpWsSaKImtKE7urL6RF8X4JLK/yPSMzSim6HVhMYa9d895a/0wQoVQKDpdvqyo9BYoZ/XdneEQI/FPEMjuhnepkLTJFQKF/XV61Mzz2CVFa+6h87khYzN6Dbe2n2LQy6FZPFLeFEIZ0OTSczs2Gji6RronYLklM4ZzftpPTRZvEAzNKmW5J5BfVEwo3MKdKPc7CpIE5qxYzjP//KBFZpmAtjRikEqQfc4Cr4J07go0BQasobK6raXosqCUenrtJYDsPwwoeAI9JcCAr2m4ZBLoUCPFaBgtpuejhtHsG9RWVUrfVmhbTlCXFdCWOlLoAVaoJ9VgO7AaL/8bDzf7enxTI71TPz08kjs6JqobpX5I/EvcVWuobyHrhSEJoHaUeEEeq0oBZNc1ikfNKetnUB3lBNogf5UgO7AzJEd3b1W6LFylfmjlZ3mZRz9hG+sVApCFvCMDRXOCm2F/pGrKOQUQAp19FSojoPGS+zomugaaK42vSt8QYr6J1osNuU9dPdtMLhYmgS82E4cZGx1HGROaiPQa6UEGpAj0L+GKtHKS+2GE+4YCDRQTqAFeoUJ3ZXkMgb42zWhx3PrQKDfGGgKLwGT+qJ2ZE56B+jZ0WcqGsfsjXSGbtPX9HuC8fajGVhumfACSFxSX9SOzCnQdTjMzks3VwI9xpy2Klbo5sWhsLiNs/THovxSWLkrqS9qR0Vp7QQ6ptzsvFihY3nB36SxQr9JhZ59gSq+BmzCpZUmU8kzvXvlq0zlGip90Vp0SMsh0GsF6AakQAj0lwICDba+FXorEtmUdEMSXyBNx10KrdBW6J+AFOhGnUpBaC+buQDSeGmFs+V4kZajOvFRfxRe6p9uGnrMEju6BnqakjnPsLl0D00BoZUs6o/CQP0L9DzUBbqjLfkjKXpRpKmjm5L6I20InTOzUaPxRscJtEAP2RHooUT932IglTFzXNPEkDis0CDJJ5hcukJTPSio1N8ZdvT4J61Edfxk8xKbJS5qF12DQEeVKx4n0DWCCnSNjmkvAp2W8OFAoGt0THsR6LSEAl0jYY0XgS7S8YhvrNBQyeWOJp74opcUepHJxJYZ2+pLfWXyQuY44gOpzdoF+mOT1zYRAr39nqFAg3JAqioRcpmK+LJCg6TsaEnyYIUGX0AnQgr09tRh6PatKJjtaDqOFh+yhtNeOUhw1CYjHGkniA2t9nRNe/4INM/MEbWlhYX4F+hGJYEm2NTaCHStnitvAj1R3B3XAj1Rc4GeKK5A115ISKoEmqhUa2OFDvS99LKQEZfMUe2/8pKZia0W8bg3kgPq/bRXDlJV6UIzSSVzVPsX6DWeJAcCDRUgYgo0FDNoRnJAXVuhCz/M6YlOTqJlXNQus9koJLPtBLpROJNUIma1f1uOF2o5Zu/mjP8oSAT6Ja6o/70KHV0rjYP6r/RX6asXf3nLQUU6w46K2doJ9PgvEmk+aQ6ov9ZOoDs9tECvMamEsNKXFRr+FwkCLdDRE+LQcbQ6CLRAfyqQeRGopJs+g5E5r9RDk80W3bhnPR9SfUmuyntogR4/SVHguj1i0zbRjTvbLpN3gQZblSYQuCr9Otczz3sCTbLTtEe/E1/3Py3uvMU+H1Z+hEDXnRTkRLFC55n90YNAC3QJYmQ3l0z0zQmdk9ptHus7z310DZmNlRnbxpc5iKO6kZZp7yJK9d3k6oiWIyMmWRgVnNoJdNOXwvf7ylwRX90NI9DjK0R1f0j9WaGfx/qQZzsr9Lji9VIn0AL9qQCFgWw2WlGroaRrIGkn69zzE23V3qqHjkJCk0ztKIQEGpr4jB257EW1JWv8ZxPdIHTtz8Ty3fa0liMqOgWV2gl0DB2BbnQT6LUg0Q0YHRfD+GuUQAv0pwL02CWbXqCbC/dZz3YkWbQdqARkmXN29amMV6AFenjatpBUAjic/JsB2VjRwrAXB5lzGUvmpb6e0WRk66Wwo5BAj7AR6I1CZIdfpeWwQm8zQfJnhR4XhvAPstBjstdDC7RArxSovLhQX5nq0AJM58ycKGAvP0zIukj1pL724qJzkHWRNRE/j6L1Tq8cWJTg15wEmiq8thPoRjfaElC5rdBjpazQAMKxjPEfNSS+/9kI9FgtgRboTwUyMJDjmfonvuyhC7/dMK4TfyyqWw4yL52TwnVE/03WRSEnpxiZr9rmtEth5UIoXGfMKdCVqo99CfRYo64F3UQCHRQ4OEygo8LB1kqggwIHhwl0VDiBXilHe++g3HjYIUDjaAoN6ad7xI4mK9OG0DmiEtHYev6jY6Pjomt8PBAc8UlhJsDoWALq4pvYUdhoAqlddO2VUD4ggadRO290XGbdAn3DX/AX6MyWaMZmLkGFYaDKa4Ue/8iOFTrxO3ACXanA2lfm+I+OjY7LqFDecmSCcawKZBUQ6KyCjr+UAgJ9qXQYTFYBgc4q6PhLKSDQl0qHwWQVEOisgo6/lAICfal0GExWAYHOKuj4Sykg0JdKh8FkFRDorIKOv5QCAn2pdBhMVgGBziro+EspINCXSofBZBUQ6KyCjr+UAgJ9qXQYTFYBgc4q6PhLKSDQl0qHwWQVEOisgo6/lAICfal0GExWgf8B3hFzxmN1vUkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/pp_button.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAJYAAAAZCAYAAADT59fvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAABIgSURBVHja7FtpsGVVdf7W2nufe++599zp3Tf0iDTGspyCE5iYQEAraiqCiTFKMEqp0ASJjUNAUSEhiKBBItIgkwPGxMJobFJliEaNUSsRKKEMFQWTboGmm+43vzufc/Za+XHvfXM/upumlZJd9ar6vXPOHr/1rbW+tdtu2LABazVVRSYTIMxlQALsm5hCIZdFO4kR5vNot9rHDFWrp4v4U4noeAA1AIyn269a66jqfd6nNxhnv2wPtxcm2pLNZN6TDYK3ABIREVS1Q0TTANKn9/lXroVEdIpzwSmi8tbDApbLBFtzhfxfMdGoqja9l1uNMXdMTk79sBhFjSDjVFWf9JUQrfY3hog8JU+G+ak5dyJCnKTGsvljMG4m0IUHDywFRLU0VK1ca615CzHDi9w8PTP78Ww287N8GOJogGnQvCjE+yXoIgDtThP5MAdm05v0U6SJCJrNFgqFPIjoKQUwEUG73QYR31rIh5cT0ZZDYawRMny7JT459emubqt9XjaXvfNobQD1YZKkHkQEL4okTkCLgUWE2dk5ZDNZMAOiANNK61puAKv9bTWrPNA7az8DVnskqoD2viUCRAUPPbwbYZjDcG0IhUIegC75trdWhf6S2UvqPYgJTLQFQJWIHrHMa8fZaZpCgQKYvwTFyVD8p0/9mc1Wa1cuzB0VmlVVpF6QeoGowhoDAmrMzIvdIYFgrUkBtAB0RBQCgJnABHgRdLsx8rkcFAoFQVUAERhjeuDQlT7W+xTdOEE+DKHiVzxvtlrIZDIw8yxJ84lPmnowM5gJwMJaehhRGGPm12mtCVqtVrx7dwdRMcL6dWPz3akqkjQFE8MY/oW6TWaeN24RBbNFLmtgjXkHEYI4Se60s7Ozax5qpVJGxgVXE+gUhd4FkdMATNBqAc4RnryKIElSxEkK1d55MjMION05+xlnjRsc4oDWRoIRIaI9Cr0ZwDU9qlYQM1Lve+4mF/YYg4DUC36+6+dYt24MURRBRVbEbj71aLbayId5QHuABBGYCFPT0+h0OqjVqmAyACmgBFBv3CT1ADyYCYELVmObsgKnM5kXbznmmMuZaH+z1UKQzUC1T3d9RvNeMDU7g3a7heHhGqJCYd4VHS1AAcBcvY5Ws93bQwBhPodCvvAiQN8FUMd7+bSdm5tbs7OxsZE/CZw7R0QeU5EzoJh4MmOpAWDr9QYmJifRarWXLOzYY5+xyTm7XVWrq4Gber6vBNAnmPEtQH+si2Kt5d8QgCRJ0Gy2EEXFx53XggyzIMesZWQDV7h8y4joBUR0NhGdxsybW+3WGa1WZ7+qotvtYjifW+FiB+M0my00mw8jigoYGqoeFYARE+bm5jA+MYVWq7XsaSlfKZdu9Knkxculxpj77cjIyKralaqCmZ/JzJ8kIqRe3tntdncyM+I4BhH16f3IgkpUsWfPXszN1ZccWv/fzMzbAQzENwHwE1XNE9Hm5fqZpGmGCDCWMQDXWnHS4+l5h9N0WR/MBBCvZ6J/BrCZiNBoNC6Ok+RLYT6PZqMBJoKukngsB1m93kC93nhSATbYlyTxaDbbCIIA2Wx2HvREhGJUuFwFLyHm7yZpchUA2KGhoVUoj0DEjoAbAa3V6/XrZmfrX/XSD5y9h4ggk8ng8WK0Q6HYOE4QJymiqIhisbQM6IJ8PrzAGvNaXaCLy5nNFRNTEyYMw0tyudxFg8V673/6yO5H769UKiiXIwAoGGNemc+Hv6m9A3Ug2g3g7wDcvejQhgFsBWABdKC41RjzrHwYvg7QY0E8C6JrSHE/AKgoiMgCeAURXg7QMSAUAQgzTTtj707S9HMAugA2AXgbEb0CwOb+2tqZjBvO5nK/Z4z9eqvRBBEZAL8N4HeI6JkA8kw8Ezi+W0Q+C6C9GGQDgIVhDrWhIRSL0RPO0FeEIgBK5fLSd4yBNeZ0a/iCNPVTk1OTW5Mk7RIR7IMPPrjCKoZrFYyOjL7fi55qDN87Mzt38fT09IrBgyBAGIZPGFCDjellfCvZIwxDFAr5E6yxly18a76Tev8REYlzYR7WmtximlDV62rDtXaYzQUi2MpM51s2z3KLZBECYIw5Y6Q2/NJsmHuoF1/RJwGc0e/pYQVOMda+Mu8caz/QU+h+VXwAALK57GsyQfCX1toTela81NqdNW83hnd6L98kopsAvJqWMkKOyJ4/OTn1hVKpiFyYfV3RFi601v5GL21c0OeM4bOKUVQzxlx2oLS/041RUO2x3mGA60ChyOIz6XszbNly7EZDdIOqQlTfvX//+AODd+wBej8ZRB8G0IqT5JwwDOurdZ7P55EkCYLAHbK76LmAJiYmJ1GvN9Z81xgTDdeGbkzTNN/XeCb37d9/rvc+zufziKLo1wnytsH4zHxPu9nd3u12n1eKip8WlZf3u3pEVXcCOAFATnsHMDw6NrI+Sf1DqvoOYjpj0dAbmLBZF62NiFS9fHPPnscwNjqyLSoU/rb3TBtpmt7KzPcT8KcgOqn/QZOJf0LMZ0P1VcuW1gWQpt6/1Tn3P9aYz2YzwVmqgIr+RKGfJ8IwQO8GwCKCfCF/TJjPP47GJwAJDiXBGoBFVLHn0b2Yq68MRRa/S0TMRNvBWAfF55j5ttHRUUjPOGGPO+64JYgnoqqz5ibvxaWpv7Dd6dzjnEN5GQ0OWqPR6KXhUOTzIYzhgwKVF8HDj+yG9/6AG0BEqJTLKEaFK0Xk+IGkoJq+e//+/Q/2F5kplYrXiUdhkP1Pz8y+2Vrz0mqlskNU1vXBeJWofoyJp4jwXwBO7I/xUJr6+1T12cbwxxdF9d/3qVwq4tcHQfAF7WdnXuSLnU732+12C0y4S1Rfl6Z+c7fTuTsXuntB9CKAi72yF2Ou0bh+bm5ud1Qo/KhUjB4R1c19Hesfmc1lXtKWszxTKZe/oSoniShU9DNQ/DlIWwBeCKIL5g/Vy53yeJqb9qNNOjgDj+MEc3N11GpD6LQ7ABE2bdp0QACqCsIwt80Yc5qk8oAXeS+IUK1W59+zU1NT8wNUKxVYa64homelqd+xc9eua9M0XfXgRQRBEKBSKSObDQDtAWsQ+B+MhYj3azKdAhgdGfkja815vm8J3W73s3Eaf6EQFRC4AKVSdBVUf2uhJOLPA2k7m818zxgz3NN/kg+S4golhkKPJ6LnDtbcbXc+2u52O6VS6RZAB9bz76rp6amXOSbePu9+wTvn6rPvCTIBhoaqGS/StooqM23Mhdk3GubnqqK8CJw/arWaf62SgInOBNHmvq/c5dP0nXv3P7bfBc6MjQ5/Q0ROGiybiEogXA8Qg/ASAKbf4fe9yo41NnUhRj6UxEoXzkChyGQySNMUzWZzpZcKc4gK0UuNMZcbY+LHxvedMzE5ObUcI3ZiYmL+l2q5/FYieosCjyrwTlWVnjK8zL8SYWi4hmq1gkzg4L0cliscGRmGFz0g8CzzM5TwqYGFeu/vTUXOD2yAYlREMSpc4pzbJiJgZtTr9SuMtbeVisUfqupwXxX+2q5dP79ibGwdwjAsENENQI/dVGRHs92+0Vp3OTO9XHpz2Zsm6VmP7n10bmxs7I2ZTHBen8nTVPw5zVZrPJvLvn2oWt0G4PkKBRPV09TfCRCYqO92qRHHydahobDubPn10MwFvXlSEneTc7txsj+VFKVc9BEondrPH0VVmwD+YEFlRUxEdQCNbhxfICLxgfbUWgNnzRNOpqy1aLfbmJmZWfnMIKrVhm5KUx96kQ97kf9Y7dxtz8UpgiB4NvfYCqp6HjM/umXLlhUsRQQYZrjAQkXnQXVIKXgfnMPDNSSprAAkE4GYjWO+3quM9X160o271zuX2eiseX7JmrOY+fcHoJqdmb1yYmr6g5s3b9wK1RMG4QYpLl2/fgT5MD8sojcT4WV9XeZ7SZy8OYqiU4MgeL+Ih2Gj3SQ5f3pm9qFMJrfFOXftIM5oNBofBfG3hqqVTwfObe3v049F5f1xN/mXmZnpF4yOjn51vlKQph9Kvb8noOxmEfMpQIiItNlsXWaM/UbgHDasW/885+w20YFh+vd24vRWBpExXFHAE8E3my1jreuoYgKryCbWGjjnYM2Rua0kIigWI3S7nSXBe6VcRiGKrhTR44n436ZnZq5yzmE1ycpWq1UQIRPmsjcCVKnXG9c0mo07FpclRASZIEClWobpZ3Lin5hW0tPGPHbt3NWrNS0KEiuVCtaNjb7Pq7xmERhtmAuvVtVAVbPMpldjE9mnoIubrdZnhqplOGtfP9BxVJWMNWdGQfQqEX0bMz27//cv1+ca5zjngmzG3SLiDRNjdm5ue7vT+Wo2l7XFqHCDqo5or4T0PVVcmg3ce1zgtvaDdUmS5KJ6o/mDaqWybXRs9AMEGu33v+PhRx65duPGjURs/gbAusEyjDXPtNadlqbpHYD+IYDsgkOiRsa5YQadRkxnKEEN80/HxycuEcFEtVqB9x6D7NQaRuAcbJ+ljpRwLSKIogitVgvNZmveyw7CksT78cmJyXNb7XayButZGMMfENGTDNPdM7OzH15MgUSEarWCqFg47BT28dhrecbBTK9g4iu9+qUxqWqR+nK2qjRFcPvU9MyVURQ9GEURgiAgEYkXKdYM4EKReVe+M0nSqyanpm5qNptm08aN/0REx6oqwLi30WxcHAQZRIXCJar6uz09TGb2TY6fXa1WmJkvmo9FFOyc+1q5XGoAWiaQ6SUWOrX3sX3bwjDUTCY4SUXesGht7Fxw5sT4xNVeBFGhkA+CoJdlAQTim4l61UHtlaLuAfR2gPYCMr9X1ponBVDLwQUQhqpVGGYQ03FKuE6hUNVt+8fH/29Nd+q9f17g7EWq2vSiW4vFYtNa16vLEaFSKSEIAojIEV1AnwmwcdNGNFvt+QSGiIJKufQmL/4eLL0wSCA009TvipPkx4boX8H8gIggTT327N2LNPVayIcf2rRpQxagF6sqE2hGofeKyNeNoa8AmFRVjI6OnJzJBJtU9S4AcbcTX1CtDtWDwG2B6kkA7uqFYX77+MTEA1EU2SBwOwC8QUSImfYpcBcR/b2qnkpEJ4PA3U78lU63+9BwrQYV7QD6v6oYAeCZeY9PkqvHx8f/W3su/5ZiMXqOqr5MVAMiEiJ6DNAfxnH6tUazeUetNiQi/eK7tcgETy6glkkKGB4eQsYGNSV8UVRHkyS9MU7Sf6hUKvPSwqrAMobPBZAF0UdVcW8URSgWiyBSUB+53vsnbfJhmEPgHNqdLuIkAROlIHqXQpNlFREiUJqkKZqtVq980dderGVksxnMzdUxV6/fJyKvBHFlamqaS1HUsdY00zSFsa7/vgMR/0ChJypUoJA4ScQ5C0B2K/AqAL4/x5SNgRdJRfQcABftfWwfj47UWsbYdv/ywTf7JRhK0iQpRhHCMIQXucswXtBqtfPduOuHa0MtiHaNMYMC7s8M0WvHp2dKrU7HhdlsUqsNdUTSrqrOu72oGIEBZDPuoLPuI3U+3sux3ugXVfVEAN+Jk/R9cRyjVCqtnQAEzr1aROJWu31LT013cM5B5Shd+lGFcxbOWcRxgm43FkDbBxJhiKiXPNje4VTKJTATNm/aiEajicnp6b61YXrpdz1hhxkIwyyYqLs8o+prcPHSRIKxYf3YvAgMLOu395MOdsswI5fLgmneKtr9n968mLBp0wYEQYAkTtAP3GdXxiiMfD4EVFAuRkf1FsOC0YevMdZsB+FYqH4Xqm8C0DiYi4hWVdcDmFLRncYaOGtxtG+SDSywB2q7JggzgUPgimBmGF0o1aoqoqiAfD4P1V72OlQtz1N1ENj+xTqg0Nfb0IttAAIygUP/itQCpFVhLCMK8pBFhrZubGRRjXShPARV5HKLCrTzJakswjALEQE7g0JQgKrCOYfUe1QqJZS12L856gEQjDHIh/aoMtSiUtuvEdFfRIX82SqCNElvY8K7iGn2oCULADuJ6Dn5MHx76v3tROT1F3RF8WDHPdCNzYEVDcB0IP+/liC7eiCrq9Y4D3YdS+ahGLDUkufcj9qPxI2Kw0vSqQDgxGwmc1qYzb6JiPLe+31pklw6PTN342itekgXva1CP8bEnwfjFsf2KlW0DqoW8HQ7skb1ixpXARc4W61WKqqaNYYhonVV3T4zM/OJjHU7D0tkBeG2JIlbxtg/I6IXovf/Ap9uv1pNiGifqt5HZL49PTO1IxfmHpInwJj/PwA5xrq/dBP+BAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/pp_qr_code.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAgAElEQVR4Xu1de5BeRZW/E5SQBAmPEBIymomQGsBHJoCWpVZlklDqAruwkCAg8jDArkAVssJqlYRkCP6BgkqVUCWPFcQlEIIGV1gVk0y2fFSx6gw+wHVGA2UyQ4LAh0CGoDD7O923+57ue77vnu8xmQncWzWZSd9+nv7d0+f0Oae7LUmSUfyM69PdvTjZvHlTzT5QJ9uSpB+/u/DbPJS2ZXNvsnjJYl+W3i1a3J1s3rQ5qG9zb2+ydPFiO1hkWr1qdbJq1TX2P9UeZO65tidZvXp1bfpQFaNtvUnbaPe4UhP9oHF3L+r2w3J0Qw+73CAobQlo0buld9xn35BuXNGHxrsFwFTpUz8nJOXpBbAWg5j8yQN6NNncuyVZQkBNZ8QA8JpVNfFHdRoAIq/i6QUxu8eTmDSZmzYDgN2L4g8rRzeiGdFuvJ+JAcBucCwQrtYjfckEJvqKDQdMZ54G1I36aCKyZzTp3byFcco2cLVV4IAAYMHjOWAtZFkm2ts2OgEASBwQH7R/LOFKAFadZ0zeYiwZIWCE3I6Qo1hK2BpsOCBbgqnk4hwAsTQhHy077qFlVQXAnp6kB3mL8DfalvQiE5v5Imi3/r3ngKoleAk4YO2PvvU9zNdYmwNyYYvndH9b2Qd4GKVfEIHCD8/8j+fBf0zeqB+1lmCLu5T/QQbEnxkAie1ABqSlldeZry9dgjkAe1Yn12AJ5kMJKklfEAcsAmA6yF50JwNgQNmQzDlScjrXNetZTa4KswQzAKbVgQOOQgbMGlq8BAAE7fyTzp+jtKcn61v2pzyP2XzbWn3vWN3x8EQAvj46asGUtsj+NOWL/h9nMPnxD4E0VhqojRwH5Etr2iB15ZRTTun/7nc3hABMORsHYJ4Dpo2z8VwLzhYrF+m3EiznjmCFHDAJlRCqi+q/RljmPf3SP+qQM4P5I7GFxI1AjDecIMsmiS6UZpQQyMVZ2TajCC5Cfax4bq7zCWlbbpIZu4hx0tbGa45Aykc2CgCOzQNZzCyZS4JJjrVWan2LW1qZbPdPAOCGDQAgQ4WRARejPsa+iANugiyUH25WsOfaa5MeKBctGan9jHsx80BDVuNqcFmj6BQ8PYplXqrCADDP7aSs0coxamjGtWAaglVgCNCtf4gqkzQApI4QBxyLxwJrcwqYrAUadKyEWO2WAQsdO/WfwAE3fDdbSgynDOuj/lN9G0HMagCkflzbc61RRFrxpO0AgFwJacPSvcos87V2eqh9x43ro7rlWILGGwxJ4oCUIa8FtwGAm4z8PFaPigMSMV+jJXiMekHAIvbPZQz6iu0+YLZGbgZn40oDdYeW4A0cgEiTt2Fqa9UWgFiCwaFawQLTpRtKCOOASLR7jUUgH016zMeAvtT50J4frR6KuQq1YBCA5GainZsHwwFjDbrO/tTMjobaJrVyCXZiVfqJxeu9/X8+leQOvm9HXcptHBNnIw64dHEAkFNOBQBJBmQPCdKSFixxwKw30aRzITknFdsERzpXB4lakdKSasHpC/yiJf4av9kd08KWp3okeZSP0Tfl/kh/ZzJgIVKCJZh6YmXAXl+QqiSa5TggZ8seP2nHqTTS+Mg8fTJ2YtqwS/CkiGhMUcmGANiMvh6OyKGXEUDUeE2pbMJIoCW5guPebodEMluVfUAOGJqpbdu3jcxpb5+S/47CyZXAH3NKvw3DCNyzhjadezyRqJ1VqSKRtQnwQn40HIuVvf76L1X+/d+vOpBPQACstAKjjKXUDYDlZknAkuFOZrntNvQ1bQh4pqL0MdJHmc3CaPLcc8+PHHTQgVN41Q6AHF85QOOlqc9ZTKIPwNVnkqMPUtIjSAbk7WVoiQZttOAgDf836NU/VD4nixFnM0oDOBvrPWnBtWQ2l/XVV18d2Hfffefre5HlpD0vK1Pax2mofJy0FJLc5omEl/llVFgyke8/7viPvgsuuGAh75vZwmmRomNMbHyDuQoRjGwXmdieeeaZwRkzZhzpihgOmAKVV0PMYjG3oiAj5SOmUddDXPH1GGpWCSkGIBV+jVgea9JxwLp6YTeEQ2CRFhwuwdk2DJMBhXbSDz63o6/tkmwLXuWLU/35pVC2mJDWGsts999/f++yZcu6AwC2SM60HFCn8RJniwHzzM5n+mccOiNvC46AFXNAaalW0Rsdfh0AjFcqlRJCDdglOCxuBMg8qGv2x2q3IbBySgOqJSUkXqrzFRsINgzAWPkhR4TVq2m5zR4LrGwJpjekRFht2dLDAjXklPTmvnvX9S4/Y7nXCGRAq6ZPzETgiPfochndksmBhc4RAA+ZMSNw4sg5IyCf4bKRFixxVM0oRAzpZEACYIQ04oD7NArAzQGXMft7kfOA2Tgm7xWP+ZTfcTnH/m0A6JL9a9ddU14Wjvi2DmWjDeKYi1UH4OqgWpMv0qDXrQMAlwOA7kE3rsUSvMrlS2WkSFQK5lJ8l9LEg4ONNT/SdH9PACCW4EB5ywEL7dAccCUkW6q3pHTVQM9+q9ISrOSAeSWEOjKpTg5IdKMv1rhFMWYac0B6ZZwHeD40mJMVke/oo44aeeL3v/fCdDZh9i/3/+r7iostBZFR2iLJWSQiRAT/Zf+hP+9dt65yxvJlB/LBWoDgX2adiJdvKksgpQ1rjy1TMPvMaGTkShYsrRLHIg6InQNyvODLFTjgCJbgTAmROCVKWBkw+4aoQ4ESosSfYQPSKqreiCYBkoHGzJlQuFZ/DADJzWojA2AKrGAf0AFQ0Ja9/14Kmre97W0DL/71xZpKiAh80y6Im1pg+KTzMUiynYrmqHDtPWv7zjzzzEAJkcpKbWgsJpJsZzeiCTBussABYxsv3m7bvn1wzuGHeyWE+iW5Y+X3FQWOqiJIfhU1TEwDQIveaAluAICZcpEtwVR3vG/ngMpNZ9S6tFQjWSEDtkFbXBQ6pHqOard/DADJG4ZZKajNov24WrSXlJB8/lSD5st3FW4clEXnYm2UxhD7/tEYcpwSo31m587+Q6CEcJ5COwJkleIzneOADqh1Oq5SO5I1TdIjRLGjJQBMOVvOxBZ7r6AH3YuwvGyCspJSyABQ2GDGay8D1gJDziEVFcaWFQKfkeP807hFgqpYFykh1fonLsEK1zBJGRABk1o4OLKMFkwyIEOg2y90/TSAdkoIy2c4b50AFJkYLaqTNBvRaFwWIPOFa4FAWgolzlZ1qXZOC+G2bT/yGyWEHvf12N/ZMpTXvrPtH1eGtFvigraUldPsRrQDJXc5yr7TuC33Zt26e6GEfLybi3w5JQEJZhO7Z1WwoxDvSWbSXyYKWucBrCapdER5cppxKrPR6mFolJLEcMAZh0YcMPaIdrbl7mBaG/WczsmABoCRXMfmMGhUK0DWAqB2CaZ81hbMlmo/cxnU6K9bbrl55LLLLpvCv+6qvoRs9jkQzN8OCMb+mrVB2y2kHWdQdgCwAHWoDwCSEuFf/vVfKrd941YoIVnWWNExy3zk4h8uQex/0dpk9+gWmcqdTpOXCwEirCRmwzrtMo31tddfG9lnn32YJSTvDUP9dt4wfPy09NNqxJfqmvOeAj+3l0x0FxTZ/BKMFHkTsT4OSJ8fEUzycil0RhBGSAS4b+29A2edfZZXQjyXLXDnz1WXAjCweiCT1ktamoCzzz67b+3atYESEtcnAbBwMlPUS54q1RQJo5gwcebV3bsHJ0+eXKyECO5YtFTXDUD6CJVbeToZ0LDPSWZLwX/9aUlfQVSTW1oDvzwUFv33BJux50vsS37wvx7sP/WUU4P9LLflkudKAp9inNV6oPRYFpemSxyLL/MWLEQDLM+uXymCzjjjjF4oIpj57CFP6tAhVTbjOfYSihSZiEFgot0EUq7sJpv9lQEwmwzDASFTR7sYojeM3dbJJs5bQtL66RdxQOO0QBhg3L0qS0yrM2JcsOLK5twcACkh1mCoI/92xRXJ008/bX6oZgLjgq4um7YDaWl7XS4N6bQlcPXKlcGS9t8PPZx84eovJP2PkZe45dcnnvgPyRe/eF3S1WUZCCU/tfXJ5Mknn7Szmc72lv/ZMgDFYT4f/IknnoiyXzR9ceOlclvxw8fv+k79o+ehhx9KfvG/v2BUHU1OPvkfk+OOO5ZjCOMbNn2cddisdOkbTfbbb0rSMbcjmTV7lu/vBeef3/etu+5ayJeqK6+8Mvm3z342mT3L5qPngQceSNavX5/S0Y5/1qzDTF+Hn95hRv/KK68kr+x+xdJ2mOidJCuvXpkcc8wxQZs3fPnLya5duyyJUrpdddVVydSptNpmdteOuXMH5nXMm8+54kUrViQPP/ww2rT1U/477rg9+QfQk/d3zZo1yeOPP+7nmOhn++qwAKGc5hwY2IG+plOaC4ulcS089lgzHosh12ogDttECb1Zdl82/cN+Loy58H3XLD3NHQcHmaWatk3whXNvcpMPX58hTcqk2tvnjGBPK5QBU+7pJoF+c7uvyOKRJxD8U262BhYOUkyCR6jALK3O0zllSB9ffkZl/fr7jTeM6wttMBuHVEMh9zDW6YmW0j3N4l2lWNu5lYa4YmA6s/WajeiUYzlUPvfcc/CGOSiUAYX9Qu/wwPuVdjccQ9ZfNy6+3kh5TZqTAaVxefoQQQVPhhh2jf5ftAWTxYRvWKcgih1S29vbR7Zt2xa4Fcn25mzTuVo/JXlPG5shlcUSXLkfAOTLqQNgsBIVEI4mMr+XJxeSXPIluTAGoF9aWVAS9XHsXfI12zDoSN4dq1G45cuJHsyxxQSzSF4zscUErlgDr/7t1WwJBtViDZqIa/YQI2fWmKvlTHEoGG7DVB9zzpULZc88+6y+++67dyEXD0gGXMm0ah0VR42/pMYFqqrpLHI03Rm5Y1E/LFC34K9MaLCWFbvqtP5RyoDUcLYEM14cs2Jh+TBfOhNg7ZcfLtGyN4zdiOZLsPdeCdeeVJjO9ugku69fvnNuy+hOWp/1cllt6VxrCWZCuuuKzAGX996/fr3ZBzQPMgcgdysvW4HdJBsKMRkmBGC0XjmS4rcHDJsLvzXjiuG334hOGzQcUDgZQfQ5jOY5m1I2r1z+irQfPka1Kc5snaSEdKDo7++HsDzL/Linvw9pEMRJQHft9iEfCbGURoKpEThR16zZh6HsbOy2b0rWXLcmkDxPPAmKxHVfTLoWpPFGyP/wf0NZ+cIXksdQn5vT+fPnD8yZMyewBb/zne9MPvnJc1JkWTD9aeufkrvvvpt9xG3J7ldGkhEI96T80GSTcnDOJ84xoHeKyVduvDG54YYbAqWqo6MjmTuvw8hXbhfgH08+OVl43HEWZymg7vnP/+wb/OOg5YDp5J+MfFapsYIitTVl8n5JB+rL6DgKZeup5EkoXQ64X2bKhatsN/pOitUO0NM1cdsddyQnQWk4DPR2y/yKC61y4ZQXeoF5Gliw4L2gW5oLFfh8TCEghZEUHZo/R3Nqz86fnXeaX6IDzaUbg5lzzDflcX3jeHFpcfRi+p0KCnVKQPuLfYFuSoP32dw7TdiVCcqHnCwAB3nhBicjoMeZ6SxrDJxhZOOPN07hH5kLTGeMIT1rxh12ZIke26C9IpGybeqzUUKgOLCdGWszprgOyaOFkeYbt36jcvGFFx/oyYV3dqtnlZ93qtd5vvilAn1zsqerzlk43ATRb8kU5zgWZ0Dee8URxHLAkRmHwBsmw59wOJF9GR8cIMw+mzv/zTCXfBkv7kON0aapP9dgqxOMNSNSQqTouVMQlhlExYHyPs6YjcydDeO4Ak0QmaecTEnpVo4LT8cSPVUEO60FTI/5PN0UrL9/Xe/py07v5lzGxB5zF39MrzmTJucEwUJE0TmVY2iaL3ZSzcl2FoDWFsweybum1fOqqW9CAFA6y8UCa3GwVJuwzNzJCBTrsTQDA0YkKibcERZ5CECrVq1k7Fs+CYscFtwRHo6pSF4zVV3yuYc1tUuAXplxRYJwXJ8YHBT7+REAzeY0MM+eWAumCYYSkgMg5fM2Yw1SxigPeWilIUj2a3ZcwxGbp5kcyJBjpw7GMvc19Wa12wWDW1WM4yozp1EOAmDmD2grPhUA/A5ORuDNmWCj6KQF5+DKzLeoLw1KSgvH3jASECir8ZymwCIadzoQ4+kc7Rcaj+hlmUs+DdierNWT7pLaGSStmLRj/5h8Mgd0/JXyqhxSkS9YqtO5qgZAF5ZpSeIm1s142jqfU/M3z2dHIWHGjc8XT/9wVThhsQ2TFQa9sgo5AchK8fSOYQi3tFtPmXBK0IKFEIqH7W56WnNX1wIjKA9DASFFxAm01hKxw+z6UxoJqQ6YS8ligp1+PhLafb/t9ttIgPZi1eGHHz5w0YUXzffAQgc3YuvgOq7UoB/HHH1MgnxJ10JadSzg//Qnrpi0JZdeckmybPmyDAjI98B3vpOsvx9WitSyQy9POumk5Pjjjw/y3XzLLckDyJfRpy25885v9p133nnMFpzVZxSHlD6XXop2l/F2k+TGr6TKj7F6tCUrV16dHHzwwV7po3Yuu/QyWCR+x/oBMKdKg1EGUiXnxlSBcXIhtfu9DQ8O7H/AAfM5UNasuc7Ux60STqkwikf6kIJDj8tnFDZURFYPZ7lZiDRuGaF2vJUsrcukYT68NQ0dpLQ2GI0tHdMB8BG6Dnshl+WzHMzaRLng7ZBtk9Mp8kdnEb9lH5HjKg6JnEK8I2kb3/rW3SPnnXeuiQuWmjVFqnyOwYZ1XNi15frG6qfl0blt8Q8yQALaXHffugpiQow3jKNn1h9GXN75NGuujYBN2DHxeOKgbUf+tF6rmCzy1LfeMH9PvWEscdw4xAOo+GT7v0PC2NUgm+FqMcq1p9XWmQEwHtUE/P+DD8IZ4Z/hjFAVCXKniex2ma8d+pkvLQehS62sR1hmoIQo6UdDsSbAHgYNZWEhm3fb4iovgrnQTuAP2HgLrS25FwFwNPneg9/rP+XU0BtGS446jgHOqsSsac6IJoCvW4+44NOZFqztGPJJUXZ1FM+yoiOSBo0MilCGhlpsrhAtw7QEe5acVhcsuYyPmnRhmfLrYbXuxBVyDpYumYyh52pxxYkD/jMAGDDAeLmiPrJx0J/0f/HELDYWsesMgL4ZR4+0Xte3tVBCPk5KiGuwmqgRN4R8Tqlxq7PNYv/nx5Iuw664uD+Llx6ApqAnPANgKjpVmSu+6gaiFa8tqDr3H1szm/OwzhAMbWDZRKpAnnNA4/JUf3+f3/12VXhLCLOO0K44CbOzoWyQ29J+2PmnekiYJeWDdvyNmxWjNik3JNCSMOvqdq5IVpGwAzLuWKvhjsUeslTQT/a0wZ1pBJaPV8yuvXu8tYWEaNT15FORyxbS9psCKwXq4tae0H3KooB2/UkO8tYGNPKJT5zTd+QRRyzkX+jk/bL6qom31L8bb/xKcuMNX/auUR0d85J5HXNT+NnPzfSJt4m/d49Y64hXmpDm3La4dcQcafLWfY3y5nC5H/VtHo31MNRue0fz4l3gUsJRvrmgiVMmyc5O2d080e8DDzzQK0y2JnsmN+cE1PZBaT7et+wzI3Zoisb8gypM0ZJ+hZYkWT5fDpPjDi2iPG7Z4xwriHaLmsowmR37m47HNNd+OLxhyB0rFQIpv9/CYdyMB6G7rsZHwBkrhYvNSBvOnAwilu2/SEsfDiY3tn+FS/6tt8IlP02gPDzetxoAKTvfB6R8ZBVyG8yuaaf5c8pnWy6OcvLRuUcddfTI//3+iSm+DlQqnayVry8fdyKF59o1NOJsqeuVn2ICLXlZRaTN5jxFfCt/FQaI199YTpbRthHn01o9tF2UPKK1Lv5xX7THrtURMJSjW1UAFpwXUx2AIaXU+VLoaulcVz4tOOqotAQgI1YJwALklADUnJCaasHMOvJm44B9Gg60ZMmSzilTpmx7y1ve8rLL/+c//7lz586dcFLe5tN4voULF05bsWJFO+WfOXPmNjiUvjw8PDwNZqt2EPn/XD0vvvjitEql0v6rX/3Kp+HdNPxQWZ/2rne9q3LkkUdmm72UCc9HP/rR9unTp/t8L7/88rQf/vCH7S+88IJPi/M9+uijM9Hvg6gPLt9ZZ50180Mf+tBUeF4/6fo2ODg486mnnpr60ksv+bRnn3125lvf+tapBxxwgE/72te+tg2ypxmrez7ykY/MXLRo0VT0u2ZZRNPN/OlPfzoV/TH5brrpJuhCHZNnz569+33ve58r24FXFACy09V/+eWXd4COu37zm9/4NLindcBtbReUB58Gq1JlYGAgoBuVxTh3Ia/P9+1vf7sD40KYyS6fds0111BfdsEyY9LQt076jbl/HrQxaaeddlonjk3ZNmnSJI8DhM8abEAB8mlos/OII47Y9o53vMOnqWVA7WkJjZywL3lJ84l0f9szoqMjeoXTtjSct1H5TOpXmtaL39013qtfNcMBpbKHHnpo/1/+8pfAG0bqjLbduGy95wbx8iUAC2BRx4FFJQDVn1iWsQRgCUBPgZIDFoChlUtwEBNSo92SAxaztaaWYOOOFT38+H736qtf/WouJoQmJ36Kbr2UdttDVylbo4s/cW5blIa+DgA4gSWE4h8odoTnc8HqLtaDyhr3rtvg3pVaR/JuVpnLEbeE3HzzzSaQnD9560uCYPCpfRDeg6M5KMCcxstdnqSyrj2Xj9qk2Az+SHQLY0dsbqksvHQGIAMGdIvbrFZWgw0JB1Aq2UEGtpb4+F9KE50RtIhulcIhKQ3SdwctcQSaWxAXLIZ5Vrn2gddZB2fLdUVSYH75y19WjjvuuEDTbOVmt3gOjPJqLWjAI9B2A7pJ9NWkqTeYhcMoRUWW+SL49icqANHB3Eb0RAEg+tZLH3kRyLXadwyGZgAo0U0DNilPCUB29TwRqARggPlquGqZO1YJwL0cgFrl503NAeNrFIgYklDZ10cuWmGwOldgstO0MqVCUjhscPknA5qTGxD9cEUCGQbwEwjTsXJBlcAaY+Il+BML8Q89hNOxfoHTsdgjCeaSIkGnXn0Wge1cWUE1ZFEKlJD8SVhJcumll+ZiQuK+Obpx2lI5Git/gpiQ9IVxs4L7VNS3HN0kVikpOk4xcvVJCod0IaNWQVV7RDfDevlgNVYKyl9FMRnBq4aE6Xip1spidSgSFfQtUEK0clYzClHcRpW9PBXdNM4NrbaI7W0AbFiW2QMA7KXvRgs6nm8PAFBFtxKAbFaqcEAVISUQlABMCm3BJQD3IAC1ykAdS3DJAdn8afeI05iQ4oVDUkwk6wjPJ+36SwqHOTELR8HyR7JmYEN1YPv27YESEh+9S3VICkxsMTn99NOTD3/4w6ZJp+jEAje9k5QVe+qVPR3LPbCC9MEaEighVRSCHLFvdKdypUHcGmsJVSIpSJJiIl1zK/XNH8fLAtPjNmjO6eEKklbhkFCmdkYohmg+h1bhkOqWygKoI0uXLi1UQpppN+6LeJKqcF0rAFmBNSRQQhpVdLROAZolk8ZzFO7Y+z27Y4/SWtmGltvt9QA0gemKuODxACCI24ufbk7kiQJA9EkVEyIBRAPyEoAR5UoA5qA0cQGIrzTnDeOPrmXj4JuNbk+QNEvyLqFNaumB40ACF3rziuQsih+Fazu50fvsVBelL1iwwJ7ujofSKA9c64NqIcsMwWX8cJdYrSxc4HObvXBkSOBC7tuYN29eMnfuXFMVtUt10UYsjYd71nzmM59JcOhQsCFO7ynvY4895vsHd/TB1157zV8GQ/UhTIDc/YMxUDmiF99gh5d30Obtt9+ewHXd0MXlu/POOxOEBgR1ff3rX0/g5RKknX/++VGctKHn0Ouvv27o5uZOoi+1RfPA46x/8pOfGLpRv6ksQgxMe/R/1x/tRjTR2eHAz6HWGUG7ASkikSVqPV8kG++55547ctdddxXKgEV9qPa+Do03V4XWG0bTN23IpFSXVBby3wjkwIBuTTo3FA5D69CidscqAVib5iUAQ/q8IQEoeUQXfop1ZGiGA9JKjp9u3lyjFo5Wc0D0KScDlhywABjSEjweANRuWJcAbJADSkpIHUwjl1WrmHD3bBLKSbDnaaSs7L///kH9UECG/va3v3klhF5KZTVp3PPDtUvlSPDnj6RIkJBOwnrkqTOIcsGNlJKyQmWpTq7AxMqPpIRceOGFycaNG4PDgySFQ1IuPv3pTw8hLjugm1MuuGJDHjc4zLyZ6fdlicPGCqqk3Iob0Vp5T5uvkRFJygo0wcoFF1zQkMeJpg/aTecq+3t0q+FsTTtxHs3ZMNols8pVXRXcFTdmdJPGrPaeQuHcNowWWNp8jUyKBEDtRnQj7VGZJgGYkwG1/RhrAD4jnJKv7Vuj+UoANkC5EoANEK1KkRKADdCyBGADRGsWgFolhC+3tfZ4eD7IHUZYp4cEUrIKSFYPrSXkiSeeGLrvvvsCYZqEerJUuIf65pQQHh4Q55MsIZLCEVspqB1SPqg+roTggKTBD3zgA4ESQu1v2bIlmCJJgcHBRgk22L01hLx0cAhUYAmRrB6krMA5Q7RccOUCXjpD8NYJ6CZZPSRri5RPkmHjNAkvksWk5RvRzRim+SCkbRiY9iowqQXCtNbuq7HANLpvR/3GaVzDOA0rUEK0+4qNtqv1aDn22GMriN8J6Kbda9S0oV1uRWWl1aa4sQQgMVJiQHwgEwWA1a/qWh3QXbvMaxZDDTioHul0rBKABRSucmRbCUBGtxKAyuMXNF9znGdvA6C5K255ek1DOhhpaZUsK2O9BE9oDqh1x6KvLXalcVYP7nLEBU3a4Sfhmj+SlcIpIdwSQjv15F7OFQm4dg2dc845gTAtuV5JZZ1rmGtDsoRICof244GL/+B73vOeQAmR6pPcu2IlRLJwODcxfo2CpIRIisSXvvSlnBIilZWsLaQQkUudc9Fy7lg8bEDCgUQ3Kptzx0LG3Ea0VLgR2U578qlWjjvhhBMqjzzySOGOvrZdLbg0+XCR4iwXBuQAAA8nSURBVNNDQ0PZdfJVCmlkwGbkM8kSAl/FCvwBG1JCamm3teiiVUzUMSETAYBaZ4TxACAmoxc/3UVgHQ8ASsqbFuQlABkFSgASxrOnDhCpXPJbGf9RckB4Y+zhp+SAjOD1AHBzPFHQ6HySqwg77l2IJd2Kqxp8kMPnP//5Lhi6t+KaBZ+Gw4e65syZs3Xy5MkvwLIwHdcMzKPKcIz/VrhTvYD06ZCX5iEffZUmzuCwww6b/u53v3seLCcmjZ6f//zn0xGDOg/7az4NG70vYcM39NFKkunITm34fM8///x0/MyDl7JvA8L7dJSd9+Mf/9jloysVnO+RScOpqe042Gja29/+dnO9QxrX0Y5xT0PMcC5tx44d/hoInL5a+dGPfhTIWVJ96Ec7LDrTQDNf9ne/+107XV+BPpu0G264oRNXGUwB+UYwZpO2devWTrT3Mq5H2ObmBNdadNIVGYjd3ebohqsxOqFwvUxXarg0xNK8BNobumnKYry+DcT/dsKK8jIUTZMGGdzsw46MjPzFtXvxxRdDt+jaClcujwPcHNWFOdyK/vk0xIR3IdZlK5ROn6Z2x5K4SZHbtcb6INVLaa12SNXIhdowSqnP2qu6NFsu2v09rYtW+nEGG/h1lA2Gq+ZswhadiCEkqtyxSgBW+1RsegnAkD5FzMnlLjkgo1vJATeLB4lzaJUcMLopqTZfyt6WS3BoQ9/rlmDpABrJx5+nSVYKyToiWUJcIDl3Z9LGhGgtKzF4JTcrKZBccqnCaaiDv/3tbwNLCLaN4rgR43IVB7XHcSL1Bo0XxXXg6oYhBLAHFiTJvSu2ehB9Yncsd/gUtyRJVrI9EhMicZ+iDetGDxWntrQxIVrLipZ7xvmkpRqndg1D+28oJiSuv1HuVG08xx9/fO7gJO3YY4WomSVYDOHQKiFaoXIsAaiNCRkPAJLijp9u7cTWytdqAGovK5T6VAKQUaUEYGP4LgHIQNTMElwC8E0CQEm5kHz8yb3GBR9LS7RTBpwwS/+PT6miclplRRsTIgnxUBCCO99omXauRdS/aqdjSfkk5QJV5ALTpSVNEydCblF//OMffWwL1aN1vZJiOHCn3BBOGgtOx6J8sLz4U6+oDY3Ll3OP46djFekCDhtiTIgkAxZVWEt+4UBstSWkmZgQjSKhjeGoMn5VYLqmDa0MqM0HsFSgaRe6sWnri8evVUwkurXcHWssAUgfKX4aignZAwBUKSHjAUCJbhIYSgAWyIolAEMZsA7AqK63qKO+AL8lB0S4AH80Vg9tbEYzp2NJXKbkgCFV2pqJCakmZLsgdK1yoT0dC1/aEJShYEdfUjikk7WcQuQsK80EoUvWERzPO7jPPvsElhApn3QCV6zUUEzL3//+d6OEuFO0pHFqrRnS6VjS3EknZsXttjwmpJm44FrKSLV3Gu5EZSUFBj6EFfiUBcJ0o9s6GreoesaHj20Yfn2FlpBGHR403srV+vvcc881fDpW3G6RocH1QbssN3UyQj0T5PI2A0BJBpwoAETfVErIeACwmdOxSgCGKM8J0yUAi9nAhAYglrqcQ6q0YchjdmsNmV/VRdc5fe5znzPZcUq7uULrr3/9a4IQweBaAroi6/rrrw/SDjjggAThhIE3CdzMK3AFD5ZgHLyTXHXVVUGX4EKeYPM1SHN9cQcK0fUGdAAQPe5ahh/84AcJrC0JTpX3ZSlGlx9+RC+oLpIpeT4sc8MHH3xwsARL+eiOYrr+iz80fpL3iEb0EM2oLNHLpaH+ZOfOnYm7TozyOZrxNGlunn322Qr6FtANB30Gp626dok+/K7huF3JK4qu73Lz69pHaIChD1315R6iWZyvKYdUabCN7ANql2Xpyimt44FmU1yjoVb7+KRT8qW8GtmzGZd8qU1wwBHEa7Tkmga1bLcnXPL3NAChgFSgiOzR07G0MhsUkGEoIoVKyHgAENy+csghhwR0G+s9P6331F7FAWm1xE9DlpBGOeCe2AeMP+Qx4ID94IBvvKCkPc0BSwCGFNduzUhKyBuWA5Iw7YRPXA2QHHPMMQHVaHOWBGD+SIqEE8D5vW1QQCpQRIKlRFI4pPqkvsQfEOJxkzvuuCNQLujaAlJWnDJAZT72sY8ltHnM02655ZZhxDAHS3CsXFBZeCdT/HHQdKz8kCKEuOBACZGUhosuuihBjHVQF/WJ5oArJjfddBOSKgHdfvaznyWIFw7KQlFJiE5cCaG5JOXBpfHDolxhHH6pUkKIs8dPy5fgakK6S29024TKg6hDIERA8Wbqi/uqkc+ojCQX4o6NQYAwsIRItBjrs2GkNjs7O4f+8Ic/hEgtmqg63mtvS2jKJb+O/tTM2iRgWrYPKHWyGQBKccETBYDNeERr5r0EYHQOjEbhGC8AapwgtIcOaZWVEoBstt/sHLAEYPjpNyUDcquHq5aUBrfbTbvgzlrg0rQKgqSsYJ+tAg+QQJiWLCsa5YcUCVytYLrtrCOSEiJxyiuvvDJZsWJFoIQ8+uijw1CIGrKEULgAv3ialAGyFnFLiKQ0kLLy/ve/P1AapP5u2rSpAqtSQDfJivLNb34zd9m1xtoiWTi01rSmAKjdbORE0S6PEqeEWWwIRGpImI7r0ygD1eQfqSzMXYPY7C1UQrRypkb20i7BAPcQtPmAbtptGO1WT9xftdcMCo7Z4UQSEZsBoPaASqndsQYg2uzFT3cRcMYDgOhTTnkrAVgwU2N9PJtGFquHA5YADKlVcsAIPTGgSwAuDm4gIHJpte8iLk/v9wgAJZebos5JblZOWeF3r5Hr0eOPPx5UB+WiAstKIEzHblbV2o+VFcktKlYGqC7JHQunueYudtZaQqQ24j5rlQGN5YLqltzYtJYQKV/cX8nCIbnvSUrrHldCigBa6z2O9x3avXt3IExrZcq4Xq0spvWG0VpCNONvJSei9vCRDsGK1JDypumvmtsJLlp7FQAlYXqiAFBrCdFMaKsBKNFN0w9tnhKAgpG7iHit5oAlAIsonh2QznOWHLCAbtoluARggwCEr1hfXJRckISnE2nb8fOSe4fY1U5cN7AdMbE+DdcxdML1ZztiZF/Cbv40xN/SdQjkIhSk8WsKXD6eBgvKtMsvv7wdVxH46wzIEgJtNlBCcDrotEsuuaQdntI+H3b9p+FagXb0xafBEjMNbkntuDvXpMEVaSbyHZT2zaTdeuutM++5556p8G5+0o1x3333nYm/p0J58mkY90zIolMRM+vT1qxZs23ZsmVmrO6BG9dMyK1TcTCQzyelxe2Cdh3Y5J+M/u127WI8HVjqdqHtna5+XKfRAZrsgnLm0z71qU91gGa7cGCmT4PiU8FVGAHd0PcOjCGoT0oT6iMc0PM8fkwbGFPn/vvvvx2/PQ5wJUbn0UcfvR0KkE+D1aYTXjnbMRafJoZlSujb02nafUBtPIlGVtQuyxItpPuCtTRrtF2trNjKqDjtmLQeMiUAGUUbBQJVUQIwhGYJwOhTHWsOKN0XrOUWjQK/5IBaCjeQb29bgksANsgBpcB0CS/czcq9L0qT3LEkq4dkzfj1r39tAsJ5TIhkCdHGk8QuWnSxc3yZtiZeg8YuWUdwT9ww7kYL3LGk2BGJtuSKRYcRxa5rMf3iWA/cT5fgjuKgSsly0UxgOsW+wNUsiDGJxyBZQqQA9qZOSG2AiamLaIPLx9oSonXRkvKde+65g3fffXfgjqXdwlETKsqodZXCJYdD+ADHzB1LK++pY0IaJUij5bQARP2quGBNP7SnIGjzae+K0/RNm0cLwGbCMjVtlABskSWkGQ5YAjD8bNRHeKBYziFV+wW2Kl/JARujpIY7Uc17HQeUhEpylYpPOypK4zENrqx0EtZ73/teoxBwdywp1kMKTNcEnFcT/OPTsSQ3KylORBsTIrl8SYpJrBA5WsX04wHiNCaNqxTlk5QQ6bStD37wgwksPwG5NEqIFBMiBbDvkdOxir7lZqLipMD0ovaafa+VAaWYEG3ZRvcBtWOTlBBtWS2X1dYX52vKGaGRRpsBoKSENNKHespoQYQ6e/HTzevWlh1rAI6HKU5L4xKABZTSgkgLwGZCAbSTGucrAcgo8mbngCUAw89DzQGLgtBdtdw6Ih3RK1k4JCVECkyXYhskK4pUNs4nWUK0p1lJysXVV189vHTp0sASEls4iEaSoqOxhDQTSI5+VeAyF7hjxadeUd+kNI2iIymtV1xxRU5pbep0rFYFoWs5oJRPim3QbuHE+bRyl3Zv8Pvf//4gjl0rDExvdBltJo4X/p25G9Mb7YdUruUb0doKiwbRKDio3ip+fipLiAbkrQZgM+5YRXSk980AcKyVNy1e1KY4bYVFhHsjAFArszXjDVNExxKAoMBEWILRjRH8BKe9a0EeT7LWUUDLKaUD1DXAanUeyUcQ8cMjuBs4oJvWl7DR/qkj5dCA6myYEoC1p6IEYEifNyoAyfmtMDBdEyfSag6Ik7EGYQ0ZMyVEy4kkzoa+DcH0FtCt5ICMonUsow0rIfEEaq9f0C7BpDfhp1sLlLHKJwFLOiG1BGAJwDHBYAnABoBVBwdUKSGamdWa2LT5tFd1SX2rg8sWDk0C4MDAwMj8+fMLr+qSKo/rU/v5CefAvBG2YQZApPmcUJpoN+2kazedq5yQ2gdZa2EhQoQMYw1ABKAPIpwhkE+1Xi4lAMMJU8mAGhBoOZs2XzMy4FgDEH1TnZBackBGgWYsISUAc7pQCUAHCo2ZjPKWANR8Rvk8VQ4u3/sB2Bg58qWaAeCSJUtGNm7cGAjTreoX1dPMUvjII49UTjjhhMDjRLt8a9rVnohfhR455U1LN62sGNfX8o1obYeL8jUDQHibDMDrJFBCitqr570GCNXq27BhQx/iJwIlZAIBcBD9bmiTvAQgm/FmrmnQALEZAEreMBMIgLklWEMPylMCcC8BoOQNIwFQ610TA6TJJbgEYCuUkInMAUsAhp9MUzKglj23Kp/WEgIAjkDWakgJ0TgoNDMeALCyfPnyQAlppr64bKNLIdWD02FH4G5fSDcNl90jlpBWEk5TlxaAp5122sADDzzQkBIy1gBcu3Zt35lnntmQJURDo2YAiKOKB3H8caESUgKQzYT2fEDN5FGesQbgeLjka8eOfCoZsARgCcCqmGqGA5YALPhUtUtwM0pIyQGTriKOOR4c8P8Bye1SwAszTewAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/js</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/js.cookie.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIEphdmFTY3JpcHQgQ29va2llIHYyLjIuMQogKiBodHRwczovL2dpdGh1Yi5jb20vanMtY29va2llL2pzLWNvb2tpZQogKgogKiBDb3B5cmlnaHQgMjAwNiwgMjAxNSBLbGF1cyBIYXJ0bCAmIEZhZ25lciBCcmFjawogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKICovCjsoZnVuY3Rpb24gKGZhY3RvcnkpIHsKCXZhciByZWdpc3RlcmVkSW5Nb2R1bGVMb2FkZXI7CglpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CgkJZGVmaW5lKGZhY3RvcnkpOwoJCXJlZ2lzdGVyZWRJbk1vZHVsZUxvYWRlciA9IHRydWU7Cgl9CglpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7CgkJbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7CgkJcmVnaXN0ZXJlZEluTW9kdWxlTG9hZGVyID0gdHJ1ZTsKCX0KCWlmICghcmVnaXN0ZXJlZEluTW9kdWxlTG9hZGVyKSB7CgkJdmFyIE9sZENvb2tpZXMgPSB3aW5kb3cuQ29va2llczsKCQl2YXIgYXBpID0gd2luZG93LkNvb2tpZXMgPSBmYWN0b3J5KCk7CgkJYXBpLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7CgkJCXdpbmRvdy5Db29raWVzID0gT2xkQ29va2llczsKCQkJcmV0dXJuIGFwaTsKCQl9OwoJfQp9KGZ1bmN0aW9uICgpIHsKCWZ1bmN0aW9uIGV4dGVuZCAoKSB7CgkJdmFyIGkgPSAwOwoJCXZhciByZXN1bHQgPSB7fTsKCQlmb3IgKDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewoJCQl2YXIgYXR0cmlidXRlcyA9IGFyZ3VtZW50c1sgaSBdOwoJCQlmb3IgKHZhciBrZXkgaW4gYXR0cmlidXRlcykgewoJCQkJcmVzdWx0W2tleV0gPSBhdHRyaWJ1dGVzW2tleV07CgkJCX0KCQl9CgkJcmV0dXJuIHJlc3VsdDsKCX0KCglmdW5jdGlvbiBkZWNvZGUgKHMpIHsKCQlyZXR1cm4gcy5yZXBsYWNlKC8oJVswLTlBLVpdezJ9KSsvZywgZGVjb2RlVVJJQ29tcG9uZW50KTsKCX0KCglmdW5jdGlvbiBpbml0IChjb252ZXJ0ZXIpIHsKCQlmdW5jdGlvbiBhcGkoKSB7fQoKCQlmdW5jdGlvbiBzZXQgKGtleSwgdmFsdWUsIGF0dHJpYnV0ZXMpIHsKCQkJaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJYXR0cmlidXRlcyA9IGV4dGVuZCh7CgkJCQlwYXRoOiAnLycKCQkJfSwgYXBpLmRlZmF1bHRzLCBhdHRyaWJ1dGVzKTsKCgkJCWlmICh0eXBlb2YgYXR0cmlidXRlcy5leHBpcmVzID09PSAnbnVtYmVyJykgewoJCQkJYXR0cmlidXRlcy5leHBpcmVzID0gbmV3IERhdGUobmV3IERhdGUoKSAqIDEgKyBhdHRyaWJ1dGVzLmV4cGlyZXMgKiA4NjRlKzUpOwoJCQl9CgoJCQkvLyBXZSdyZSB1c2luZyAiZXhwaXJlcyIgYmVjYXVzZSAibWF4LWFnZSIgaXMgbm90IHN1cHBvcnRlZCBieSBJRQoJCQlhdHRyaWJ1dGVzLmV4cGlyZXMgPSBhdHRyaWJ1dGVzLmV4cGlyZXMgPyBhdHRyaWJ1dGVzLmV4cGlyZXMudG9VVENTdHJpbmcoKSA6ICcnOwoKCQkJdHJ5IHsKCQkJCXZhciByZXN1bHQgPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7CgkJCQlpZiAoL15bXHtcW10vLnRlc3QocmVzdWx0KSkgewoJCQkJCXZhbHVlID0gcmVzdWx0OwoJCQkJfQoJCQl9IGNhdGNoIChlKSB7fQoKCQkJdmFsdWUgPSBjb252ZXJ0ZXIud3JpdGUgPwoJCQkJY29udmVydGVyLndyaXRlKHZhbHVlLCBrZXkpIDoKCQkJCWVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKQoJCQkJCS5yZXBsYWNlKC8lKDIzfDI0fDI2fDJCfDNBfDNDfDNFfDNEfDJGfDNGfDQwfDVCfDVEfDVFfDYwfDdCfDdEfDdDKS9nLCBkZWNvZGVVUklDb21wb25lbnQpOwoKCQkJa2V5ID0gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhrZXkpKQoJCQkJLnJlcGxhY2UoLyUoMjN8MjR8MjZ8MkJ8NUV8NjB8N0MpL2csIGRlY29kZVVSSUNvbXBvbmVudCkKCQkJCS5yZXBsYWNlKC9bXChcKV0vZywgZXNjYXBlKTsKCgkJCXZhciBzdHJpbmdpZmllZEF0dHJpYnV0ZXMgPSAnJzsKCQkJZm9yICh2YXIgYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVzKSB7CgkJCQlpZiAoIWF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV0pIHsKCQkJCQljb250aW51ZTsKCQkJCX0KCQkJCXN0cmluZ2lmaWVkQXR0cmlidXRlcyArPSAnOyAnICsgYXR0cmlidXRlTmFtZTsKCQkJCWlmIChhdHRyaWJ1dGVzW2F0dHJpYnV0ZU5hbWVdID09PSB0cnVlKSB7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJLy8gQ29uc2lkZXJzIFJGQyA2MjY1IHNlY3Rpb24gNS4yOgoJCQkJLy8gLi4uCgkJCQkvLyAzLiAgSWYgdGhlIHJlbWFpbmluZyB1bnBhcnNlZC1hdHRyaWJ1dGVzIGNvbnRhaW5zIGEgJXgzQiAoIjsiKQoJCQkJLy8gICAgIGNoYXJhY3RlcjoKCQkJCS8vIENvbnN1bWUgdGhlIGNoYXJhY3RlcnMgb2YgdGhlIHVucGFyc2VkLWF0dHJpYnV0ZXMgdXAgdG8sCgkJCQkvLyBub3QgaW5jbHVkaW5nLCB0aGUgZmlyc3QgJXgzQiAoIjsiKSBjaGFyYWN0ZXIuCgkJCQkvLyAuLi4KCQkJCXN0cmluZ2lmaWVkQXR0cmlidXRlcyArPSAnPScgKyBhdHRyaWJ1dGVzW2F0dHJpYnV0ZU5hbWVdLnNwbGl0KCc7JylbMF07CgkJCX0KCgkJCXJldHVybiAoZG9jdW1lbnQuY29va2llID0ga2V5ICsgJz0nICsgdmFsdWUgKyBzdHJpbmdpZmllZEF0dHJpYnV0ZXMpOwoJCX0KCgkJZnVuY3Rpb24gZ2V0IChrZXksIGpzb24pIHsKCQkJaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJdmFyIGphciA9IHt9OwoJCQkvLyBUbyBwcmV2ZW50IHRoZSBmb3IgbG9vcCBpbiB0aGUgZmlyc3QgcGxhY2UgYXNzaWduIGFuIGVtcHR5IGFycmF5CgkJCS8vIGluIGNhc2UgdGhlcmUgYXJlIG5vIGNvb2tpZXMgYXQgYWxsLgoJCQl2YXIgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZSA/IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKSA6IFtdOwoJCQl2YXIgaSA9IDA7CgoJCQlmb3IgKDsgaSA8IGNvb2tpZXMubGVuZ3RoOyBpKyspIHsKCQkJCXZhciBwYXJ0cyA9IGNvb2tpZXNbaV0uc3BsaXQoJz0nKTsKCQkJCXZhciBjb29raWUgPSBwYXJ0cy5zbGljZSgxKS5qb2luKCc9Jyk7CgoJCQkJaWYgKCFqc29uICYmIGNvb2tpZS5jaGFyQXQoMCkgPT09ICciJykgewoJCQkJCWNvb2tpZSA9IGNvb2tpZS5zbGljZSgxLCAtMSk7CgkJCQl9CgoJCQkJdHJ5IHsKCQkJCQl2YXIgbmFtZSA9IGRlY29kZShwYXJ0c1swXSk7CgkJCQkJY29va2llID0gKGNvbnZlcnRlci5yZWFkIHx8IGNvbnZlcnRlcikoY29va2llLCBuYW1lKSB8fAoJCQkJCQlkZWNvZGUoY29va2llKTsKCgkJCQkJaWYgKGpzb24pIHsKCQkJCQkJdHJ5IHsKCQkJCQkJCWNvb2tpZSA9IEpTT04ucGFyc2UoY29va2llKTsKCQkJCQkJfSBjYXRjaCAoZSkge30KCQkJCQl9CgoJCQkJCWphcltuYW1lXSA9IGNvb2tpZTsKCgkJCQkJaWYgKGtleSA9PT0gbmFtZSkgewoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9IGNhdGNoIChlKSB7fQoJCQl9CgoJCQlyZXR1cm4ga2V5ID8gamFyW2tleV0gOiBqYXI7CgkJfQoKCQlhcGkuc2V0ID0gc2V0OwoJCWFwaS5nZXQgPSBmdW5jdGlvbiAoa2V5KSB7CgkJCXJldHVybiBnZXQoa2V5LCBmYWxzZSAvKiByZWFkIGFzIHJhdyAqLyk7CgkJfTsKCQlhcGkuZ2V0SlNPTiA9IGZ1bmN0aW9uIChrZXkpIHsKCQkJcmV0dXJuIGdldChrZXksIHRydWUgLyogcmVhZCBhcyBqc29uICovKTsKCQl9OwoJCWFwaS5yZW1vdmUgPSBmdW5jdGlvbiAoa2V5LCBhdHRyaWJ1dGVzKSB7CgkJCXNldChrZXksICcnLCBleHRlbmQoYXR0cmlidXRlcywgewoJCQkJZXhwaXJlczogLTEKCQkJfSkpOwoJCX07CgoJCWFwaS5kZWZhdWx0cyA9IHt9OwoKCQlhcGkud2l0aENvbnZlcnRlciA9IGluaXQ7CgoJCXJldHVybiBhcGk7Cgl9CgoJcmV0dXJuIGluaXQoZnVuY3Rpb24gKCkge30pOwp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lang</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBBCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGUgQ2xlYW5lZCc7CiRsYW5nWydhZGRfcm93J10gPSAnQWRkIFJvdyc7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzJzsKJGxhbmdbJ2FsaWFzZXMnXSA9ICdBbGlhc2VzJzsKJGxhbmdbJ2Fza19jbGVhcl9pbWFnZV9jYWNoZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgQUxMIGZpbGVzIGZyb20gdGhlIGltYWdlIGNhY2hlPyc7CiRsYW5nWydhc3N1bWVfcmVzcG9uc2l2ZSddID0gJ0Fzc3VtZSByZXNwb25zaXZlIGNvb2tpZSBlbmFibGVkJzsKJGxhbmdbJ2F1dG9wcm9jZXNzaW5nJ10gPSAnQXV0b21hdGljIFByb2Nlc3NpbmcnOwokbGFuZ1snYXV0b3Byb2Nlc3NfYXV0b3JvdGF0ZSddID0gJ0F1dG9tYXRpY2FsbHkgT3JpZW50IEltYWdlcyc7CiRsYW5nWydhdXRvcHJvY2Vzc19lbmFibGVkJ10gPSAnRW5hYmxlZCc7CiRsYW5nWydhdXRvcHJvY2Vzc19pbmNsdWRlX2RpcnMnXSA9ICdJbmNsdWRlIERpcnMnOwokbGFuZ1snYXV0b3Byb2Nlc3NfaWdub3JlX2RpcnMnXSA9ICdJZ25vcmUgRGlycyc7CiRsYW5nWydhdXRvcHJvY2Vzc19pZ25vcmVfZXh0ZW5zaW9ucyddID0gJ0lnbm9yZSBFeHRlbnNpb25zJzsKJGxhbmdbJ2F1dG9wcm9jZXNzX21heF9zaXplJ10gPSAnTWF4aW11bSBJbWFnZSBTaXplJzsKJGxhbmdbJ2F1dG9wcm9jZXNzX3dhdGVybWFyayddID0gJ1dhdGVybWFyayBJbWFnZXMnOwoKIyBCCiRsYW5nWydiZWdpbl9hdXRvcHJvY2VzcyddID0gJ0JlZ2luIEF1dG9wcm9jY2VzcyBOb3cnOwoKIyBDCiRsYW5nWydjbGVhcl9hbGwnXSA9ICdDbGVhciBBbGwgRmlsZXMnOwokbGFuZ1snY2xlYXJfbm93J10gPSAnQ2xlYXIgTm93JzsKJGxhbmdbJ2NhY2hlX3BhdGgnXSA9ICdDYWNoZSBQYXRoJzsKJGxhbmdbJ2NoZWNrX21lbW9yeSddID0gJ0RvIHByZWVtcHRpdmUgbWVtb3J5IGNoZWNrJzsKJGxhbmdbJ2NsZWFyanVua3Bob3Rvc19kZXNjcmlwdGlvbiddID0gJ0NsZWFyIHRlbXBvcmFyeSBwaG90b3MgbW9yZSB0aGFuIG9uZSBkYXkgb2xkJzsKJGxhbmdbJ2Nyb3B0b2ZpdCddID0gJ0Nyb3AgdG8gRml0JzsKCiMgRAokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKCiMgRQokbGFuZ1snZW1iZWRkaW5nJ10gPSAnRW1iZWRkZWQgSW1hZ2VzJzsKJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnSW1hZ2UgRW1iZWRkaW5nIE1vZGUnOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnRW1iZWRkYWJsZSBpbWFnZSBzaXplIGxpbWl0IChrYiknOwokbGFuZ1snZW1iZWRfdHlwZXMnXSA9ICdFbWJlZGRhYmxlIGltYWdlIHR5cGUnOwokbGFuZ1snZW5hYmxlX3Jlc3BvbnNpdmUnXSA9ICdFbmFibGUgUmVzcG9uc2l2ZSBJbWFnZXMnOwokbGFuZ1snZXJyb3JfYWxpYXNfZHVwbGljYXRlbmFtZV9hdHJvdyddID0gJ0R1cGxpY2F0ZSBhbGlhcyBuYW1lIHNwZWNpZmllZCBmb3IgYWxpYXMgYXQgcm93ICVkJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX25vbmFtZV9hdHJvdyddID0gJ05vIG5hbWUgc3BlY2lmaWVkIGZvciBhbGlhcyBhdCByb3cgJWQnOwokbGFuZ1snZXJyb3JfYWxpYXNfbm9vcHRpb25zX2F0cm93J10gPSAnTm8gb3B0aW9ucyBzcGVjaWZpZWQgZm9yIGFsaWFzIGF0IHJvdyAlZCc7CiRsYW5nWydlcnJvcl9jYWNoZXBhdGhfaW52YWxpZCddID0gJ1RoZSBjYWNoZSBwYXRoIHNwZWNpZmllZCBpcyBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2Rlc3Rub3Rmb3VuZCddID0gJ0ZvciBzb21lIHJlYXNvbiB0aGUgb3V0cHV0IGZpbGUgJXMgY291bGQgbm90IGJlIGZvdW5kIChvciBjb3VsZCBub3QgYmUgcmVhZCknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9hZ2UnXSA9ICdBZ2UgcHJlZmVyZW5jZSBpbnZhbGlkLi4uIE5vIG9wZXJhdGlvbiBwZXJmb3JtZWQnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50bWVtb3J5J10gPSAnV2UgaGF2ZSBlc3RpbWF0ZWQgdGhhdCBQSFAgcHJvYmFibHkgZG9lcyBub3QgaGF2ZSBlbm91Z2ggbWVtb3J5IHRvIHByb2Nlc3MgdGhpcyBpbWFnZSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBpbnZhbGlkOiAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW0nXSA9ICdJbnZhbGlkIHBhcmFtZXRlciBpbiBjYWxsOiAlcyc7CiRsYW5nWydlcnJvcl9zcmNub3Rmb3VuZCddID0gJ0NvdWxkIG5vdCBmaW5kIGEgZmlsZSBhdDogJXMnOwokbGFuZ1snZXJyb3JfcmVtb3RlZmlsZSddID0gJ1Byb2JsZW0gcmV0cmlldmluZyByZW1vdGUgZmlsZSBhdCAlcyc7CiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnU21hcnRJbWFnZSAtIFVua25vd24gRmlsdGVyOiAlcyc7CgojIEYKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NNU01TIFNtYXJ0IEltYWdlIFRvb2xraXQnOwoKIyBHCiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbCc7CgojIEgKJGxhbmdbJ2hlbHBfYXBfaW5jbHVkZV9kaXJzJ10gPSAnU3BlY2lmeSBhIGxpc3Qgb2YgZGlyZWN0b3JpZXMgKHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzcyBkaXJlY3RvcnkpIHRoYXQgc2hvdWxkIGJlIGV4cGxpY2l0bHkgaW5jbHVkZWQgaW4gdGhlIGF1dG8gcHJvY2Vzc2luZy4gIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQgYWxsIG5vbiBoaWRkZW4gZGlyZWN0b3JpZXMgd2lsbCBiZSBwcm9jZXNzZWQuICBTcGVjaWZ5IG9ubHkgb25lIGRpcmVjdG9yeSBwZXIgbGluZS4nOwokbGFuZ1snaGVscF9hcF9pZ25vcmVfZGlycyddID0gJ1NwZWNpZnkgYSBsaXN0IG9mIGRpcmVjdG9yaWVzIChyZWxhdGl2ZSB0byB0aGUgdXBsb2FkcyBkaXJlY3RvcnkpIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgZHVyaW5nIHByb2Nlc3NpbmcuICBTcGVjaWZ5IG9ubHkgb25lIGRpcmVjdG9yeSBwZXIgbGluZSc7CiRsYW5nWydoZWxwX2FwX21heF9zaXplJ10gPSAnU3BlY2lmeSB0aGUgbWF4aW11bSBzaXplIChpbiBwaXhlbHMpIGluIGFueSBkaXJlY3Rpb24gb2YgYW55IGltYWdlIHRoYXQgaXMgYXV0byBwcm9jZXNzZWQuICBUaGUgYXV0b3Byb2Nlc3NpbmcgZnVuY3Rpb25hbGl0eSB3aWxsIHJlc2l6ZSBpbWFnZXMgc28gdGhhdCB0aGUgbG9uZ2VzdCBkaW1lbnNpb24gaXMgc21hbGxlciB0byBvciBlcXVhbCB0byB0aGlzIHNpemUuJzsKJGxhbmdbJ2hlbHBfYXBfYXV0b3JvdGF0ZSddID0gJ0lmIGVuYWJsZWQsIEpQRUcgaW1hZ2VzIHRoYXQgYXJlIG92ZXIgdGhlIG1heGltdW0gc2l6ZSBjYW4gYmUgcm90YXRlZCB0byBjb3JyZWN0IHRoZWlyIG9yaWVudGF0aW9uIGJlZm9yZSByZXNpemluZyc7CgojIEkKJGxhbmdbJ2luZm9fYWxpYXNlcyddID0gJ0FsaWFzZXMgY2FuIGJlIHVzZWQgdmlhIHRoZSBhbGlhczEgdGhyb3VnaCBhbGlhczUgb3B0aW9ucyBvbiB0aGUgU21hcnRJbWFnZSB0YWcgdG8gY29tYmluZSBudW1lcm91cyBmcmVxdWVudGx5IHVzZWQgb3B0aW9ucyc7CiRsYW5nWydpbmZvX2Fzc3VtZV9yZXNwb25zaXZlJ10gPSAnVGhpcyBvcHRpb24gaXMgb25seSBhcHBsaWNhYmxlIHdoZW4gcmVzcG9uc2l2ZSBpbWFnZXMgYXJlIGluY2x1ZGVkLiAgSXQgaW5zdHJ1Y3RzIFNtYXJ0SW1hZ2UgdG8gb3V0cHV0IG9ubHkgYW4gSFRNTCBjb21tZW50IGlmIHRoZSBjb29raWUgY29udGFpbmluZyBkZXZpY2UgY2hhcmFjdGVyaXN0aWNzIGRvZXMgbm90IGV4aXN0LiAgVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gKGFzIGl0IHNhdmVzIFNtYXJ0SW1hZ2UgZnJvbSBwZXJmb3JtaW5nIGRvdWJsZSBwcm9jZXNzaW5nIG9uIHRoZSBzYW1lIGltYWdlcyBmb3IgdGhlIGluaXRpYWwgcmVxdWVzdCBvZiBhIHJlc3BvbnNpdmUgcGFnZS4gIEhvd2V2ZXIsIGlmIGEgdXNlciBoYXMgY29va2llcyBkaXNhYmxlZCBvbiB0aGVpciBicm93c2VyIHRoZW4gdGhleSBtYXkgc2VlIGEgYnJva2VuIHdlYiBwYWdlIChtaXNzaW5nIGltYWdlcyBvciBicm9rZW4gamF2YXNjcmlwdC4pJzsKJGxhbmdbJ2luZm9fYXV0b3Byb2Nlc3NpbmcnXSA9ICc8cD5JbiBvcmRlciB0byBjb25zZXJ2ZSBzdG9yYWdlIHNwYWNlLCB0aGlzIGZ1bmN0aW9uYWxpdHksIGlmIGVuYWJsZWQgd2lsbCByZXNpemUgYWxsIGltYWdlIGZpbGVzIHRoYXQgYXJlIGxvY2F0ZWQgYmVuZWF0aCB0aGUgdXBsb2FkcyBkaXJlY3RvcnkgYW5kIHRoYXQgYXJlIGxhcmdlciBpbiBhbnkgZGltZW5zaW9uIHRoYW4gdGhlIHNwZWNpZmllZCBtYXhpbXVtIGltYWdlIHNpemUuICBUaGlzIGZ1bmN0aW9uYWxpdHkgV0lMTCBvdmVyd3JpdGUgdGhlIG9yaWdpbmFsIGZpbGUuPC9wPic7CiRsYW5nWydpbmZvX2F1dG9zY2FsZV9vcCddID0gJ1doZW4gYXV0b3NjYWxpbmcgaXMgYWxsb3dlZCwgdGhpcyBwcmVmZXJlbmNlIHNldHMgdGhlIGRlZmF1bHQgZmlsdGVyIHRoYXQgd2lsbCBiZSB1c2VkLiAgVGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB1c2luZyB0aGUgYXV0b3NjYWxlX29wIHBhcmFtZXRlci4nOwokbGFuZ1snaW5mb19jaGVja19tZW1vcnknXSA9ICdJZiBlbmFibGVkLCB0aGUgc3lzdGVtIHdpbGwgYXR0ZW1wdCB0byBlc3RpbWF0ZSBtZW1vcnkgbmVlZGVkIGZvciBhbiBpbWFnZSB0cmFuc2Zvcm1hdGlvbiwgYW5kIHdpbGwgZmFpbCBpZiBpbnN1ZmZpY2llbnQgYXZhaWxhYmxlIG1lbW9yeSBpcyBkZXRlY3RlZCc7CiRsYW5nWydpbmZvX2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1NwZWNpZnkgdGhlIGRlZmF1bHQgbG9jYXRpb24gZnJvbSB3aGljaCB0byAmcXVvdDtjcm9wIHRvIGZpdCZxdW90OyB0aGlzIHdpbGwgZWZmZWN0IGFsbCBjcm9wIHRvIGZpdCBvcGVyYXRpb25zIHVubGVzcyB0aGUgbG9jYXRpb24gcGFyYW1ldGVyIG9uIHRoZSBmaWx0ZXJfY3JvcHRvZml0IGF0dHJpYnV0ZSBvdmVycmlkZXMgaXQuICBEZWZhdWx0IGxvY2F0aW9uIGlzICZxdW90O2NlbnRlciZxdW90Oyc7CiRsYW5nWydpbmZvX3Jlc3BvbnNpdmUnXSA9ICdJZiBlbmFibGVkLCBTbWFydEltYWdlIHdpbGwgYXR0ZW1wdCB0byBkZXRlY3QgdGhlIG1heGltdW0gcmVzb2x1dGlvbiBvZiB0aGUgcmVxdWVzdGluZyBkZXZpY2UgYW5kIGF1dG9tYXRpY2FsbHkgcmVzY2FsZSB0aGUgaW1hZ2Ugc28gdGhhdCB1bmRlciBubyBjaXJjdW1zdGFuY2VzIGNhbiB0aGUgb3V0cHV0IGltYWdlIGJlIHRvbyBsYXJnZSBmb3IgdGhlIGRpc3BsYXkuICBUaGlzIGFzc2lzdHMgaW4gcGVyZm9ybWFuY2Ugd2hlbiBkZXZlbG9waW5nIG1vYmlsZSB3ZWJzaXRlcy4nOwokbGFuZ1snaW5mb19mb3JjZV9leHRlbnNpb24nXSA9ICdJZiBlbmFibGVkLCBTbWFydEltYWdlIHdpbGwgZm9yY2UgYWxsIGdlbmVyYXRlZCBpbWFnZXMgdG8gaGF2ZSBhIGZpbGUgZXh0ZW5zaW9uLiA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRob3VnaCBhbGwgZWZmb3J0cyBhcmUgbWFkZSB0byBlbnN1cmUgY29ycmVjdG5lc3MsIHRoZSBmaWxlIGV4dGVuc2lvbiBnZW5lcmF0ZWQgbWF5IG5vdCBhY2N1cmF0ZWx5IHJlcHJlc2VudCB0aGUgYWN0dWFsIGltYWdlIHR5cGUsIGRlcGVuZGluZyB1cG9uIHRoZSBmaWx0ZXJzIHVzZWQgYW5kIHRoZSBwYXJhbWV0ZXJzIHRvIHRob3NlIGZpbHRlcnMuJzsKJGxhbmdbJ2luZm9fcmVzcG9uc2l2ZV9icmVha3BvaW50cyddID0gJ0lmIHNwZWNpZmllZCwgYW5kIGEgbW9iaWxlIGRldmljZSBpcyBkZXRlY3RlZCB0aGUgYnJlYWtwb2ludHMgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgbWF4aW11bSBsYXJnZXN0IGVkZ2UgZm9yIHRoZSByZXN1bHRpbmcgaW1hZ2UuICBTcGVjaWZ5IGEgbGlzdCBvZiBjb21tYSBzZXBhcmF0ZWQgaW5jcmVhc2luZyBpbnRlZ2VycyA8ZW0+KGkuZTogMjAwLDQwMCw2MDAsODAwKTwvZW0+LiBUaGUgZGV2aWNlIGNhcGFiaWx0aWVzIHdpbGwgYmUgdXNlZCB0byBmaW5kIHRoZSBjbG9zZXN0IG1hdGNoaW5nIGJyZWFrcG9pbnQgdmFsdWUuICBUaGUgaW1hZ2Ugd2lsbCBiZSByZXNpemVkIHNvIHRoYXQgaXRzIGxhcmdlc3QgZWRnZSBpcyBhdCB0aGF0IHZhbHVlIHdpdGhvdXQgdXBzY2FsaW5nLiAgQXNwZWN0IHJhdGlvIHdpbGwgYmUgbWFpbnRhaW5lZC4nOwokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnRG9lcyB0aGUgVVJMIGFib3ZlIGFjY291bnQgZm9yIHRoZSBjYWNoZSBwYXRoPyBpZS4gKHVwbG9hZHMvX1NtYXJ0SW1hZ2UpJzsKJGxhbmdbJ2ltYWdlX3VybF9wcmVmaXgnXSA9ICdJbWFnZSBVcmwgUHJlZml4JzsKJGxhbmdbJ2luZm9fY2FjaGVfYWdlJ10gPSAnU3BlY2lmeSB0aGUgbWF4aW11bSBhZ2Ugb2YgYSBmaWxlIChpbiBkYXlzKSBiZWZvcmUgaXQgd2lsbCBiZSByZW1vdmVkIGFuZCBmb3JjZWQgdG8gcmVnZW5lcmF0ZS4gIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBoYXZlIGNoYW5nZWQgc29tZSBvZiB0aGUgcGFyYW1ldGVycyB1c2VkIHdoZW4gZ2VuZXJhdGluZyBpbWFnZXMsIG9yIHRvIGNvbnRyb2wgdGhlIGFtb3VudCBvZiBkaXNrIHNwYWNlIHVzZWQuICBFbnRlcmluZyAwIHdpbGwgZGlzYWJsZSBhdXRvbWF0aWMgZmlsZSBkZWxldGlvbic7CiRsYW5nWydpbmZvX2NhY2hlX3BhdGgnXSA9ICdDYWNoZSBwYXRoIGZvciBjYWNoZSBpbWFnZXMgdG8gYmUgc3RvcmVkLiBDYWNoZSBwYXRoIGlzIHJlbGF0aXZlIHRvIGNvbmZpZyByZWZlcmVuY2UgInJvb3RfcGF0aCIuJzsKJGxhbmdbJ2luZm9fZW1iZWRfbW9kZSddID0gJ1RoaXMgc2VsZWN0aW9uIGRldGVybWluZXMgaG93IHRoZSB7c21hcnRpbWd9IHRhZyB3aWxsIGdlbmVyYXRlIG91dHB1dC4gIElmICZxdW90O25vbmUmcXVvdDsgaXMgc2VsZWN0ZWQgbm8gaW1hZ2UgZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkLiAgSWYgJnF1b3Q7c21hcnQmcXVvdDsgaXMgc2VsZWN0ZWQgdGhlbiB0aGUgc3lzdGVtIHdpbGwgZGVjaWRlIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplLCB0eXBlLCBhbmQgdGhlIGJyb3dzZXIgdGhhdCBpcyByZXF1ZXN0aW5nIHRoZSBpbWFnZS4gIE90aGVyIG9wdGlvbnMgaW5jbHVkZSBhbHdheXMgZW1iZWRkaW5nIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplLCBvciB0aGUgaW1hZ2UgdHlwZS4nOwokbGFuZ1snaW5mb19lbWJlZF9zaXplbGltaXQnXSA9ICdJZiB0aGUgZW1iZWRkaW5nIG9wdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBpbWFnZSBzaXplLCBzcGVjaWZ5IHRoZSBtYXhpbXVtIHNpemUgKGluIGtpbG9ieXRlcykgZm9yIGltYWdlcyB0byBiZSBlbWJlZGRlZCAoMzIgaXMgcmVjb21tZW5kZWQpLic7CiRsYW5nWydpbmZvX2VtYmVkX3R5cGVzJ10gPSAnSWYgdGhlIGVtYmVkZGluZyBvcHRpb24gaXMgZGV0ZXJtaW5lZCBieSB0aGUgaW1hZ2UgdHlwZSwgc3BlY2lmeSB0aGUgZXh0ZW5zaW9ucyBvZiB0aGUgZmlsZXMgdGhhdCBzaG91bGQgYmUgZW1iZWRkZWQgaGVyZSBzZXBhcmF0ZWQgYnkgY29tbWFzLiAgVGhpcyBvcHRpb24gaXMgbm90IGNhc2Ugc2Vuc2l0aXZlJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnSWYgeW91ciBDRE4gaXMgcG9pbnRpbmcgZGlyZWN0bHkgYXQgdGhlIGltYWdlIGNhY2hlIGRpcmVjdG9yeSB0aGVuIHlvdSBtYXkgd2FudCB0byB0dXJuIHRoaXMgb3B0aW9uIG9uLic7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9wcmVmaXgnXSA9ICdTcGVjaWZ5IHRoZSBVUkwgdG8gcHJlZml4IHRvIGFsbCBnZW5lcmF0ZWQgaW1hZ2VzLiAgQnkgZGVmYXVsdCB0aGlzIGlzIHRoZSB1cGxvYWRzIFVSTCwgaG93ZXZlciBpZiB5b3UgaGF2ZSB5b3VyIG93biBDRE4gKG9yIG11bHRpcGxlIGRvbWFpbnMgcG9pbnRpbmcgYXQgdGhlIHNhbWUgZGlyZWN0b3J5KSBZb3UgbWF5IHdhbnQgdG8gc3BlY2lmeSBhIGRpZmZlcmVudCBuYW1lIGhlcmUnOwokbGFuZ1snaW5mb19wcm9ncmVzc2l2ZSddID0gJ0lmIGVuYWJsZWQsIEpQRUcgaW1hZ2VzIHdpbGwgYmUgc2F2ZWQgYXMgcHJvZ3Jlc3NpdmUgaW1hZ2VzLiAgVGhpcyBvcHRpb24gY2FuIGFsc28gYmUgb3ZlcnJpZGRlbiB3aXRoIHRoZSBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2luZm9fc3VwcHJlc3NfZXJyb3JzJ10gPSAnU3BlY2lmeSBhIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSAmcXVvdDtzaWxlbnQmcXVvdDsgcGFyYW1ldGVyJzsKCiMgTQokbGFuZ1snbWF4X2NhY2hlX2FnZSddID0gJ01heGltdW0gQ2FjaGUgRmlsZSBBZ2UgKGRheXMpJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBzbWFydCBpbWFnZSB0YWcgZ2VuZXJhdGlvbiBtb2R1bGUgZm9yIENNU01TJzsKJGxhbmdbJ21zZ19hbGlhc2VzX3VwZGF0ZWQnXSA9ICdBbGlhc2VzIFVwZGF0ZWQnOwokbGFuZ1snbXNnX2NhY2hlY2xlYW5lZCddID0gJ0NhY2hlIGRpcmVjdG9yeSBjbGVhbmVkLiAlZCBmaWxlcyByZW1vdmVkJzsKJGxhbmdbJ21zZ19jYWNoZXJlbW92ZWQnXSA9ICdDYWNoZSBkaXJlY3RvcnkgY29tcGxldGVseSBjbGVhbmVkJzsKJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbmNlcyBVcGRhdGVkJzsKJGxhbmdbJ21zZ190YXNrbm90cmVhZHknXSA9ICdUYXNrIG5vdCByZWFkeSc7CgojIE4KJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKCiMgTwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbnMnOwoKIyBQCiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9IDw8PEVPVApUaGUgYWN0aW9uIGZvciB0aGUgbW9kdWxlIHRvIHBlcmZvcm0uICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPjxzdHJvbmc+ZGVmYXVsdDwvc3Ryb25nPiAtIFBlcmZvcm0gbWFuaXB1bGF0aW9uIG9uIGEgc2luZ2xlIGltYWdlLjwvbGk+CiAgPGxpPnJlc3BvbnNpdmUgLSBPdXRwdXQgamF2YXNjcmlwdCBjb2RlIHRoYXQgd2lsbCBjcmVhdGUgYSBjb29raWUgcHJvdmlkaW5nIHRoZSBTbWFydEltYWdlIG1vZHVsZSB3aXRoIGRldmljZSBzY3JlZW4gc2l6ZSBhbmQgcGl4ZWwgcmF0aW8uPC9saT4KPC91bD4KRU9UOwokbGFuZ1sncGFyYW1fYWxpYXMnXSA9ICdUaGUgU21hcnRJbWFnZSBhZG1pbiBwYW5lbCBhbGxvd3MgY3JlYXRpbmcgbnVtZXJvdXMgY29tbWFuZCBhbGlhcyB0byBjb21iaW5lIGEgZnJlcXVlbnRseSB1c2VkIHBhdHRlcm4gb2YgYXJndW1lbnRzIGludG8gb25lIG5hbWUuICBUbyB1c2UgdGhlc2UgYWxpYXNlcyB1c2UgYW4gYXJndW1lbnQgb2YgdGhlIGZvcm0gYWxpYXMjIz1hbGlhc19uYW1lIGkuZTogIGFsaWFzMT1mb28gYWxpYXMyPWZvby4nOwokbGFuZ1sncGFyYW1fYWx0J10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgYWx0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3BhcmFtX2F1dG9zY2FsZV9vcCddID0gJ092ZXJyaWRlIHRoZSBkZWZhdWx0IGZpbHRlciB0byBiZSB1c2VkIHdoZW4gYXV0b3NjYWxpbmcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlICJyZXNpemUiIGFuZCAiY3JvcHRvZml0Iic7CiRsYW5nWydwYXJhbV9jbGFzcyddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBvbmUgb3IgbW9yZSBjbGFzc2VzIHRvIGluY2x1ZGUgb24gdGhlIHRhZy4gIGkuZTogY2xhc3M9ImZhbmN5Ym94IHRodW1ibmFpbCInOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcoYW55dGhpbmcpIFNwZWNpZnkgYW55IHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciB0byBhZGQgYSBibHVyIGZpbHRlciB0byB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JyaWdodG5lc3MnXSA9ICcoaW50ZWdlcikgSW5jcmFzZSB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBMaWtlIGZpbHRlcl9ncmF5c2NhbGUgaG93ZXZlciB5b3UgY2FuIHNwZWNpZnkgdGhlIGNvbG9yIGFuZCBhbHBoYSB2YWx1ZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoaW50ZWdlcikgQ2hhbmdlIHRoZSBjb250cmFzdCBvZiB0aGUgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wJ10gPSAnKHBlcmNlbnRbLGhfYWxpZ24sdl9hbGlnbl0pIC0gUGVyZm9ybSBjcm9wcGluZyBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBDcm9wIHBhcmFtZWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGZpcnN0IChyZXF1aXJlZCkgdmFsdWUgaXMgYW4gaW50ZWdlciBwZXJjZW50YWdlIG9mIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplLiAgVGhlIG9wdGlvbmFsIHNlY29uZCBhbmQgdGhpcmQgcGFyYW1ldGVycyBhcmUgb25lIG9mIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgYW5kIHQsYyxiICh0b3AsY2VudGVyLGJvdHRvbSkgc3BlY2lmeWluZyB3aGVyZSB0aGUgbG9jYXRpb24gd2l0aGluIHRoZSBzb3VyY2UgaW1hZ2UgdG8gY3JvcCBmcm9tLiAgaS5lOiBjcm9wPTMzLGIsciB0byBncmFiIGEgY3JvcCBvZiAzMyUgZnJvbSB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBzb3VyY2UgaW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvblssdXBzY2FsZV1dKSAtIFBlcmZvcm0gYSBjcm9wdG9maXQgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvLCB0aGVuIGZvY3VzIG9uIHRoZSBzZWxlY3RlZCBhcmVhIG9mIHRoZSByZXNpemVkIGltYWdlLiAgQ3JvcCB0byBmaXQgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGFzIHRoZSBkZXNpcmVkIHdpZHRoIGFuZCBoZWlnaHQgZm9yIHRoZSBkZXN0aW5hdGlvbiBpbWFnZSBhbG9uZyB3aXRoIGFuIChvcHRpb25hbCkgbG9jYXRpb24gY29kZSwgYW5kIHVwc2NhbGUgZmxhZy4gIHZhbGlkIGxvY2F0aW9uIGNvZGVzIGFyZSB0bCx0Yyx0cixjbCxjLGNyLGJsLGIsYnIgZm9yIHRoZSA5IHJlbGF0aXZlIHBvc2l0aW9ucyB3aXRoaW4gdGhlIGltYWdlLiAgSWYgYSBsb2NhdGlvbiBpcyBub3Qgc3BlY2lmaWVkIGEgcHJlZmVyZW5jZSB3aWxsIGJlIHVzZWQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAmcXVvdDtjJnF1b3Q7IHRvIGNyb3AtdG8tZml0IGZyb20gdGhlIGNlbnRlciBvZiB0aGUgc291cmNlIGltYWdlLiAgQnkgZGVmYXVsdCB1cHNjYWxpbmcgaXMgZGlzYWJsZWQgb24gdGhpcyBmaWx0ZXIuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wMnNpemUnXSA9ICcod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvbl0pIC0gUGVyZm9ybSBhIGNyb3Agb24gdGhlIGltYWdlIHNwZWNpZmllZC4gIFRoaXMgZmlsdGVyIHdpbGwgY29weSB0aGUgcG9ydGlvbiBvZiB0aGUgc291cmNlIGltYWdlIHNwZWNpZmllZCBpbnRvIHRoZSBkZXN0aW5hdGlvbiBpbWFnZS4gIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgY2FuIGJlIG5vIGxhcmdlciB0aGFuIHRoZSBzaXplIG9mIHRoZSBzb3VyY2UgaW1hZ2UgKGFuZCB3aWxsIGJlIHRyaW1tZWQgYXMgc3VjaC4gIE5lZ2F0aXZlIHZhbHVlcyBhcmUgbm90IHBlcm1pdHRlZC4gIFZhbGlkIGxvY2F0aW9ucyBhcmU6IHRsLHRjLHRyLGNsLGMsY3IsYmwsYmMsYnIgZm9yIHRoZSA5IHJlbGF0aXZlIHBvc2l0aW9ucyB3aXRoaW4gdGhlIGltYWdlLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZWRnZWRldGVjdCddID0gJyhhbnl0aGluZykgSGlsaWdodCB0aGUgZWRnZXMgaW4gdGhlIGltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lbWJvc3MnXSA9ICcoYW55dGhpbmcpIEVtYm9zcyB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2ZsaXAnXSA9ICcobW9kZSkgLSBQZXJmb3JtIGEgZmxpcCBvbiB0aGUgc3BlY2lmaWVkIGltYWdlLiAgU3BlY2lmeSAwIGZvciBob3Jpem9udGFsLCAxIGZvciB2ZXJ0aWNhbCwgYW5kIDIgZm9yIGZsaXAgaW4gYm90aCBkaXJlY3Rpb25zLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfbm9vcCddID0gJyhhbnl0aGluZykgRG8gbm8gcHJvY2Vzc2luZyAoYnV0IHRyaWdnZXJzIGEgY2FjaGVkIGltYWdlKSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKGFueXRoaW5nKSBDb252ZXJ0IHRoZSBpbWFnZSB0byBncmF5c2NhbGUnOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFueXRoaW5nKSBBdHRlbXB0IHRvIGFjaGlldmUgYSAmcXVvdDtza2V0Y2h5JnF1b3Q7IGVmZmVjdCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFueXRoaW5nKSBOZWdhdGUgdGhlIGltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyhzaXplWyxhZHZhbmNlZF0pIFBpeGVsYXRlIHRoZSBpbWFnZSwgc3BlY2lmeSBhbiBpbnRlZ2VyIHNpemUgYW5kIGFuIG9wdGlvbmFsIGJvb2xlYW4gKGRlZmF1bHQgaXMgZmFsc2UpIHRvIGVuYWJsZSBhZHZhbmNlZCBwaXhlbGF0aW9uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZWZsZWN0J10gPSAnKFtyZWZsZWN0aW9uX2hlaWdodFsscmVmbGVjdGlvbl9vcGFjaXR5WyxkaXZpZGVyX2hlaWdodF1dXSksIENyZWF0ZXMgcmVmbGVjdGlvbiBvZiBpbWFnZSwgY3VycmVudGx5IHdvcmtpbmcgb25seSB3aXRoIGpwZyxqcGVnIGltYWdlcyBhZ2FpbnN0IHdoaXRlIGJhY2tncm91bmQuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemUnXSA9ICd0eXBlLG51bWJlclssbnVtYmVyWyx1cHNjYWxlXV0gLSBQZXJmb3JtIGEgcmVzaXplIG9mIHRoZSBzb3VyY2UgaW1hZ2UuICBCeSBkZWZhdWx0LCB0aGUgcmVzaXplIGZpbHRlciBhbGxvd3MgdXBzY2FsaW5nLiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4KICA8bGk+cCxudW1iZXIsMCAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuIERvIG5vdCBhbGxvdyB1cHNjYWxpbmc8L2xpPgogIDxsaT53LG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgd2lkdGggKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT13LDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSB3aWR0aCBvZiA4MCBwaXhlbHMuPC9saT4KICA8bGk+dyxudW1iZXIsMCAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgd2lkdGggKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT13LDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSB3aWR0aCBvZiA4MCBwaXhlbHMuIERvIG5vdCBhbGxvdyB1cHNjYWxpbmc8L2xpPgogIDxsaT5oLG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgaGVpZ2h0ICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9aCw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gaGVpZ2h0IG9mIDgwIHBpeGVscy48L2xpPgogIDxsaT5oLG51bWJlciwwIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLiBEbyBub3QgYWxsb3cgdXBzY2FsaW5nPC9saT4KICA8bGk+ZSxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHJlc2l6aW5nIHRoZSBsYXJnZXN0IGVkZ2UgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWUsMTAwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aG9zIGxhcmdlc3QgZWRnZSBpcyAxMDAgcGl4ZWxzLjwvbGk+CiAgPGxpPmUsbnVtYmVyLDAgLSBQZXJmb3JtIGEgcmVzaXplIHJlc2l6aW5nIHRoZSBsYXJnZXN0IGVkZ2UgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWUsMTAwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aG9zIGxhcmdlc3QgZWRnZSBpcyAxMDAgcGl4ZWxzLiAgRG8gbm90IGFsbG93IHVwc2NhbGluZy48L2xpPgogIDxsaT5jLHgseSAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBjdXN0b20gc2l6ZSAod2l0aG91dCByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIGkuZTogZmlsdGVyX3Jlc2l6ZT1jLDUwLDc1IHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB0aGF0IGlzIDUweDc1IHBpeGVscy48L2xpPi4KICA8bGk+Yyx4LHksMCAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBjdXN0b20gc2l6ZSAod2l0aG91dCByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIGkuZTogZmlsdGVyX3Jlc2l6ZT1jLDUwLDc1IHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB0aGF0IGlzIDUweDc1IHBpeGVscy4gRG8gbm90IGFsbG93IHVwc2NhbGluZy48L2xpPi4KPC91bD4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZXRvZml0J10gPSAnKHdpZHRoLGhlaWdodFssY29sb3JbLGFscGhhXV0pIC0gUGVyZm9ybSBhIHJlc2l6ZSBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZSBpbWFnZSBpcyBjZW50ZXJlZCBpbiB0aGUgYm94IHNwZWNpZmllZCAoZWl0aGVyIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGRlcGVuZGluZyB1cG9uIGFzcGVjdCByYXRpbyBhbmQgdGhlIGRlc3RpbmF0aW9uIHNpemUsIGFuZCB0aGUgaW1hZ2UgaXMgc3Vycm91bmRlZCBieSB0aGUgc3VwcGxpZWQgY29sb3IuICBDb2xvcnMgY2FuIGJlIHNwZWNpZmllZCBieSBuYW1lIChzZWUgdGhlIFgxMSBjb2xvciBuYW1lcyksIG9yIGJ5ICNubm5ubm4gaGV4YWRlY2ltYWwgZm9ybWF0LCBvciBhcyByZ2IgdmFsdWVzIHNlcGFyYXRlZCBieSBhIDogaS5lOiAgZmlsdGVyX2Nyb3B0b2ZpdD02MDAsNDAwLCNmZjAwMDAuICBUaGUgc3BlY2lhbCBjb2xvciB2YWx1ZSAmcXVvdDt0cmFuc3BhcmVudCZxdW90OyBjYW4gYmUgc3BlY2lmaWVkIHRvIGZvcmNlIHRoZSBiYWNrZ3JvdW5kIHRvIGJlIHRyYW5zcGFyZW50IChmb3IgaW1hZ2UgdHlwZXMgdGhhdCBzdXBwb3J0IGl0KS4gICBBbiBhbHBoYSB2YWx1ZSBtYXkgYmUgc3BlY2lmaWVkIGJldHdlZW4gMCBhbmQgMTI3IHRvIHNwZWNpZnkgZGlmZmVyZW50IGRlZ3JlZXMgb2YgdHJhbnNsdWNlbmN5IGZvciB0aGUgYmFja2dyb3VuZC4gICBBdCBubyB0aW1lIHdpbGwgdGhpcyBwbHVnaW4gcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm90YXRlJ10gPSAnKGFuZ2xlKSBTcGVjaWZ5IHRoZSBpbnRlZ2VyIGFuZ2xlIChjb3VudGVyIGNsb2Nrd2lzZSkgdG8gcm90YXRlIHRoZSBpbWFnZSwgVGhlIGltYWdlIGlzIHJvdGF0ZWQgYWJvdXQgaXRzIGNlbnRlci4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdW5kZWRjb3JuZXJzJ10gPSAnKHJhZGl1c1ssY29sb3JdKSBTcGVjaWZ5IGFuIGludGVnZXIgcmFkaXVzIChpbiBwaXhlbHMpIGZvciByb3VuZGluZyB0aGUgY29ybmVycy4gIE9wdGlvbmFsbHkgc3BlY2lmeSBhIGNvbG9yIGZvciB0aGUgcm91bmRlZCBjb3JuZXJzLiAgVGhlIHNwZWNpYWwgdmFsdWUgaWYgJnF1b3Q7dHJhbnNwYXJlbnQmcXVvdDsgZm9yIHRoZSBjb2xvciB3aWxsIGZvcmNlIHRoZSBpbWFnZSB0byBiZSBjb252ZXJ0ZWQgdG8gYSBwbmcgYW5kIGEgdHJhbnNwYXJlbnQgY29sb3IgdXNlZC4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3NoYXJwZW4nXSA9ICcoaW50ZWdlcikgU3BlY2lmeSBhbiBhZGp1c3RtZW50IChiZXR3ZWVuIC0xMCBhbmQgMTApIHRvIHRoZSBzaGFycGVuIGZpbHRlci4gIExvd2VyIHZhbHVlcyB3aWxsIGxpZ2h0ZW4gdGhlIHNoYXJwZW5pbmcgZWZmZWN0LiAgSGlnaGVyIHZhbHVlcyBpbmNyZWFzZSBpdC4gIE5vdGU6IHNoYXJwZW5pbmcgbWF5IGhhdmUgYWR2ZXJzZSBlZmZlY3RzIG9uIHNvbWUgaW1hZ2VzLCBhbmQgc2hvdWxkIHVzdWFsbHkgYmUgc3BlY2lmaWVkIGFzIHRoZSBsYXN0IGZpbHRlciwgdW5sZXNzIHRoZSBmaWx0ZXIgbWF5IGFkZCBib3JkZXJzIHRvdGhlIGltYWdlLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfdHJhbnNwYXJlbnQnXSA9ICcoY29sb3JbLGFscGhhXSkgQ29udmVydHMgYSBqcGVnIGltYWdlIHRvIHRyYW5zcGFyZW50IFBORyBieSBjb252ZXJ0aW5nIGFsbCBvZiB0aGUgcGl4ZWxzIG9mIHRoZSBzcGVjaWZpZWQgY29sb3IgdG8gdGhlIHRyYW5zcGFyZW50IGNvbG9yLiAgT3B0aW9uYWxseSwgYW4gYWxwaGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxMjcgY2FuIGJlIHNwZWNpZmllZCB0byBpbmRpY2F0ZSBzb21lIGFscGhhIGxldmVsIGJsZW5kaW5nJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl91bnRyYW5zcGFyZW50J10gPSAnKGNvbG9yWyxwZXJjZW50XSkgQ29udmVydHMgYSB0cmFuc3BhcmVudCBwbmcgaW1hZ2UgdG8gYSBqcGVnIGltYWdlIGJ5IGNvcHlpbmcgYSB0cmFuc3BhcmVudC9hbHBoYSBibGVuZGVkIHBuZyBvdmVyIHRvcCBvZiBhbiBpbWFnZSBvZiB0aGUgYXBwcm9wcmlhdGUgY29sb3IuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYm9vbHxzdHJpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2UuICBBbiBvcHRpb25hbCBzdHJpbmcgY2FuIGJlIHNwZWNpZmllZCB0byBhbGxvdyBjdXN0b21pemluZyB0aGUgdGV4dCBpbiB0aGUgd2F0ZXJtYXJrLiAgVGhlIHN0cmluZyBjYW5ub3QgY29udGFpbiBIVE1MIGNoYXJhY3RlcnMsIGFuZCBjYW5ub3QgYmUgbW9yZSB0aGFuIDUwIGNoYXJhY3RlcnMgaW4gbGVuZ3RoIChpdCB3aWxsIGJlIHRyaW1tZWQpLiAgTm90ZSwgIGRlcGVuZGluZyBvbiBpbWFnZSBzaXplLCBhbmQgd2F0ZXJtYXJrIHNldHRpbmdzIHRoZSB0ZXh0IG1heSBub3QgYmUgdmlzaWJsZSBvciBtYXkgYmUgY2xpcHBlZCBieSB0aGUgaW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX2ZvcmNlZXh0J10gPSAnKGludGVnZXIpIEVuYWJsZSAob3IgZGlzYWJsZWQpIHRoZSBmb3JjaW5nIG9mIGFsbCBnZW5lcmF0ZWQgaW1hZ2UgZmlsZXMgdG8gaGF2ZSBmaWxlIGV4dGVuc2lvbnMuICBEZXBlbmRpbmcgdXBvbiB0aGUgc291cmNlIGltYWdlLCBhbmQgdGhlIGZpbHRlcnMgYW5kIHBhcmFtZXRlcnMgdXNlZCwgdGhlIGdlbmVyYXRlZCBleHRlbnNpb24gbWF5IG5vdCBhY2N1cmF0ZWx5IHJlcHJlc2VudCB0aGUgYWN0dWFsIGNvbnRlbnRzIG9mIHRoZSBmaWxlJzsKJGxhbmdbJ3BhcmFtX2ZvcmNldHlwZSddID0gJyhzdHJpbmcpIEZvcmNlIHRoZSBvdXRwdXQgaW1hZ2UgdG8gYmUgc2F2ZWQgaW4gdGhlIHNwZWNpZmllZCBpbWFnZSB0eXBlLCBpbmRlcGVuZGVudCBvZiB0aGUgc291cmNlIGltYWdlLCBmaWx0ZXJzLCBhbmQgcGFyYW1ldGVycy4gIFZhbGlkIHZhbHVlcyBhcmU6IGpwZWcscG5nLGdpZi4gTm90ZTogRHVlIHRvIHRoZSBjYXBhYmlsaXRpZXMgb2Ygc29tZSBpbWFnZSBmb3JtYXRzLCBzdXJwcmlzaW5nIGVmZmVjdHMgY2FuIG9jY3VyLiAgUGFydGljdWxhcmx5LCBmb3JjaW5nIGEgdHJhbnNwYXJlbnQgUE5HIHRvIHNhdmUgaW4gSlBFRyBmb3JtYXQgd2lsbCByZXN1bHQgaW4gYWxsIHRyYW5zcGFyZW5jeSBiZWluZyBsb3N0Lic7CiRsYW5nWydwYXJhbV9oZWlnaHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBoZWlnaHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXIuICBUaGlzIHBhcmFtZXRlciB3aWxsIGFsc28gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDt3aWR0aCZxdW90OyBwYXJhbWV0ZXIgdG8gcGVyZm9ybSBhIGZpbmFsIHJlc2l6aW5nIG9yIGNyb3B0b2ZpdCBmaWx0ZXIgKHVubGVzcyB0aGUgJnF1b3Q7bm9hdXRvc2NhbGUmcXVvdDsgcGFyYW1ldGVyIGlzIGFsc28gc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2lkJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFuIGlkIGF0dHJpYnV0ZSB0byBpbmNsdWRlIG9uIHRoZSB0YWcuICBpLmU6IGlkPSJzb21ldGFnIic7CiRsYW5nWydwYXJhbV9tYXhfaGVpZ2h0J10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBtYXhpbXVtIGhlaWdodCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMuJzsKJGxhbmdbJ3BhcmFtX21heF93aWR0aCddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSB3aWR0aCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMuJzsKJGxhbmdbJ3BhcmFtX25hbWUnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBuYW1lIGF0dHJpYnV0ZS4nOwokbGFuZ1sncGFyYW1fbm9hdXRvJ10gPSAnRG8gbm90IGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlIHBhcmFtZXRlcnMgZm9yIHRoZSBpbWcgdGFnLiAgVGhpcyBtYXkgY2F1c2UgeW91ciBzaXRlIHRvIGZhaWwgdmFsaWRhdGlvbiBpZiBzb21lIHJlcXVpcmVkIHBhcmFtZXRlcnMgKHdpZHRoLGhlaWdodCxhbHQpIGFyZSBub3Qgc3BlY2lmaWVkLiAgQWRkaXRpb25hbGx5LCBpZiB0aGUgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIGFyZSBzcGVjaWZpZWQsIHRoaXMgcGFyYW1ldGVyIHdpbGwgZW5zdXJlIHRoYXQgdGhleSB3aWxsIG5vdCBiZSBvdmVycmlkZGVuIGJ5IHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlLic7CiRsYW5nWydwYXJhbV9ub2F1dG9zY2FsZSddID0gJ0lmIHdpZHRoIGFuZCBoZWlnaHQgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkLCB0aGlzIHBhcmFtZXRlciB3aWxsIGRpc2FibGUgYXV0b21hdGljIHNjYWxpbmcgb2YgdGhlIGltYWdlLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBiZSBkaXNhYmxlZCBmb3IgbW9iaWxlIGJyb3dzZXJzJzsKJGxhbmdbJ3BhcmFtX25vYmNhY2hlJ10gPSAnRG8gbm90IGFsbG93IHRoZSByZXNpemVkIGltYWdlIHRvIGNhY2hlIGluIHRoZSBicm93c2VyICh1c2VmdWwgZm9yIGRldmVsb3BtZW50IHB1cnBvc2VzKSB0aGlzIGFkZHMgYSB1bmlxdWUgbnVtYmVyIGFzIGEgcGFyYW1ldGVyIHRvIHRoZSBpbWFnZSB3aGljaCB3aWxsIGZvcmNlIHRoZSBicm93c2VyIG5vdCB0byBjYWNoZSB0aGUgaW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX25vYnJlYWtwb2ludHMnXSA9ICdGb3IgcmVzcG9uc2l2ZSBpbWFnZSBoYW5kbGluZywgZGlzYWJsZSBicmVha3BvaW50cyBhbmQgZm9yY2UgcmVndWxhciByZXNpemUgaGFuZGxpbmcgZm9yIGltYWdlcyBvbiBtb2JpbGUgYnJvd3NlcnMuJzsKJGxhbmdbJ3BhcmFtX25vZHByYWRqdXN0J10gPSAnRm9yIHJlc3BvbnNpdmUgaW1hZ2UgaGFuZGxpbmcsIGRvIG5vdCBhZGp1c3QgdGhlIHNpemUgb2YgYSBzY2FsZWQgaW1hZ2UgYmFzZWQgb24gdGhlIGRldmljZSBwaXhlbCByYXRpbyBmcm9tIHRoZSByZXNwb25zaXZlIGluZm9ybWF0aW9uLic7CiRsYW5nWydwYXJhbV9ub2VtYmVkJ10gPSAnRm9yY2UgdGhlIGltYWdlIHRvIG5vdCBlbWJlZC4gIFJlZ2FyZGxlc3Mgb2Ygc2V0dGluZ3MgaW4gdGhlIGFkbWluIHBhbmVsLCB0aGUgVVJMIGFuZCB0YWcgZ2VuZXJhdGVkIHdpbGwgYmUgdG8gYSBmaWxlIG9uIHRoZSBzZXJ2ZXIuICBObyBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQnOwokbGFuZ1sncGFyYW1fbm90aW1lY2hlY2snXSA9ICdEaXNhYmxlIHRpbWUgY2hlY2tpbmcgb2YgY2FjaGVkIGZpbGVzLic7CiRsYW5nWydwYXJhbV9ub3JlbW90ZSddID0gJ0RvIG5vdCBhbGxvdyByZXRyaWV2aW5nIHNvdXJjZXMgZnJvbSByZW1vdGUgVVJMUyc7CiRsYW5nWydwYXJhbV9ub3Jlc3BvbnNpdmUnXSA9ICdUdXJuIG9mZiBhbGwgcmVzcG9uc2l2ZSBpbWFnZSBoYW5kbGluZyBmb3IgdGhpcyBvcGVyYXRpb24uJzsKJGxhbmdbJ3BhcmFtX25vcm90YXRlJ10gPSAnRG8gbm90IGF0dGVtcHQgdG8gcmVhZCBleGlmIGluZm9ybWF0aW9uIGZyb20gdGhlIGZpbGUgYW5kIGNvcnJlY3QgaW1hZ2Ugcm90YXRpb24nOwokbGFuZ1sncGFyYW1fbm90YWcnXSA9ICdEbyBub3Qgb3V0cHV0IGFuIGltZyB0YWcsIG9ubHkgdGhlIHVybCB0byB0aGUgY2FjaGVkIGltYWdlLiAgVGhpcyBoYXMgbm8gZWZmZWN0IHdoZW4gU21hcnRJbWFnZSBpcyB1c2VkIGZyb20gd2l0aGluIGEgc3R5bGVzaGVldC4nOwokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnRGlzYWJsZSBhbGwgY2FjaGluZyBhbmQgZm9yY2UgcmUtY2FsY3VsYXRpb24gb2YgYWxsIGZpbHRlcnMnOwokbGFuZ1sncGFyYW1fcHJvZ3Jlc3NpdmUnXSA9ICcoYm9vbGVhbikgVG9nZ2xlIHNhdmluZyBqcGVnIGltYWdlcyBpbiBwcm9ncmVzc2l2ZSBmb3JtYXQuICBUaGlzIHBhcmFtZXRlciB3aWxsIG92ZXJyaWRlIHRoZSBwcmVmZXJlbmNlIGluIHRoZSBtb2R1bGVzIGFkbWluIHBhbmVsLiAgQXBwbGllcyBvbmx5IHRvIEpQRUcgaW1hZ2VzLic7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnU3BlY2lmeSB0aGUgcXVhbGl0eSBvZiB0aGUgb3V0cHV0IGltYWdlLiAgQSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEwMC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlmIG5vdCBzcGVjaWZpZWQgaXMgNzUuJzsKJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1VzZWQgd2hlbiBidWlsZGluZyBhbiBpbWFnZSB0YWcgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcmVsIGF0dHJpYnV0ZSAodHlwaWNhbGx5IHVzZWQgd2l0aCBqYXZhc2NyaXB0IHR5cGUgYWxidW1zKS4gaS5lOiByZWw9ImFsYnVtIic7CiRsYW5nWydwYXJhbV9zaWxlbnQnXSA9ICdTaWxlbnRseSBpZ25vcmUgZXJyb3JzJzsKJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoKPHVsPgogIDxsaT5GaXJzdCBsb29rIHRvIHNlZSBpZiB0aGUgc3BlY2lmaWVkIHNyYyB2YWx1ZSBleGlzdHMgYXMgYSBmaWxlIG9uIHRoZSBmaWxlc3lzdGVtIDxzdHJvbmc+QmVsb3cgdGhlIENNU01TIHJvb3QgVVJMPC9zdHJvbmc+PC9saT4KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSB1cGxvYWRzX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+CiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgcm9vdF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgo8L3VsPgpJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNwbGl0IHRoZSBzcmMgcGFyYW1ldGVyIGludG8gbXVsdGlwbGUgYXJndW1lbnRzLCB3aGljaCBpcyB1c2VmdWwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgcGF0aCB0byB0aGUgZmlsZSwgYW5kIHRoZSBmaWxlbmFtZSBhcmUgc3RvcmVkIGluIHNlcGFyYXRlIHNtYXJ0eSB2YXJpYWJsZXMuICAgWW91IGNhbiBzcGVjaWZ5IHRoZSBzcmMgYXMgc3JjMT1cJHRoZV9wYXRoIHNyYzI9XCR0aGVfZmlsZW5hbWUuICBUaGUgc3lzdGVtIHdpbGwgYXV0b21hdGljYWxseSBhZGQgYSAvIGluIGJldHdlZW4gZWFjaCBhcmd1bWVudC4gIFRoZXJlIGlzIG5vIGxpbWl0IHRvIHRoZSBudW1iZXIgb2Ygc3JjIHBhcmFtZXRlcnMuJzsKJGxhbmdbJ3BhcmFtX3N0eWxlJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFsdGVybmF0ZSBzdHlsZXMgZm9yIHRoZSB0YWcuICBpLmU6IHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsiJzsKJGxhbmdbJ3BhcmFtX3RpdGxlJ10gPSAnU3BlY2lmeSBhbiBvcHRpb25hbCB0aXRsZSBhdHRyaWJ1dGUgZm9yIHRoZSBpbWcgdGFnLiAgaS5lOiB0aXRsZT0iVGhpcyBpcyB0aGUgdG9vbHRpcCInOwokbGFuZ1sncGFyYW1fd2lkdGgnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSB3aWR0aCBhdHRyaWJ1dGUuICAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXIuICBUaGlzIHBhcmFtZXRlciB3aWxsIGFsc28gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtoZWlnaHQmcXVvdDsgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7IHBhcmFtZXRlciBpcyBhbHNvIHN1cHBsaWVkKSc7CgokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bGUgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdBbGwgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVtb3ZlZCc7CiRsYW5nWydwcm9tcHRfYXV0b3NjYWxlX29wJ10gPSAnRGVmYXVsdCBhdXRvc2NhbGUgZmlsdGVyIG9wZXJhdGlvbic7CiRsYW5nWydwcm9tcHRfY3JvcHRvZml0X2RlZmF1bHRfbG9jJ10gPSAnRGVmYXVsdCBsb2NhdGlvbiBmcm9tIHdoaWNoIHRvICZxdW90O2Nyb3AgdG8gZml0JnF1b3Q7JzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zaXplbGltaXQnXSA9ICdCYXNlZCBvbiBpbWFnZSBzaXplJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnXSA9ICdTbWFydCBtb2RlIGJ1dCBsaW1pdCBpbWFnZSBzaXplJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF90eXBlJ10gPSAnQmFzZWQgb24gaW1hZ2UgdHlwZSc7CiRsYW5nWydwcm9tcHRfZm9yY2VfZXh0ZW5zaW9uJ10gPSAnRm9yY2UgYWxsIG91dHB1dCBmaWxlcyB0byBoYXZlIGEgZmlsZSBleHRlbnNpb24nOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAnQm90dG9tIExlZnQgKGJsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0JvdHRvbSBDZW50ZXIgKGJjKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0J10gPSAnQm90dG9tIFJpZ2h0IChiciknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJsZWZ0J10gPSAnQ2VudGVyIExlZnQgKGNsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlciddID0gJ0NlbnRlciAoYyknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ0NlbnRlciBSaWdodCAoY2wpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wbGVmdCddID0gJ1RvcCBMZWZ0ICh0bCknOwokbGFuZ1sncHJvbXB0X2xvY190b3BjZW50ZXInXSA9ICdUb3AgQ2VudGVyICh0YyknOwokbGFuZ1sncHJvbXB0X2xvY190b3ByaWdodCddID0gJ1RvcCBSaWdodCAodHIpJzsKJGxhbmdbJ3Byb21wdF9wcm9ncmVzc2l2ZSddID0gJ1NhdmUgSlBHIGltYWdlcyBhcyBwcm9ncmVzc2l2ZSc7CgojIFIKJGxhbmdbJ3Jlc2l6ZSddID0gJ1Jlc2l6ZSc7CiRsYW5nWydyZXNpemluZyddID0gJ1Jlc2l6aW5nJzsKJGxhbmdbJ3Jlc3BvbnNpdmUnXSA9ICdSZXNwb25zaXZlbmVzcyc7CiRsYW5nWydyZXNwb25zaXZlX2JyZWFrcG9pbnRzJ10gPSAnU3BlY2lmeSByZXNwb25zaXZlIGltYWdlIG1heGltdW0gZWRnZSBicmVha3BvaW50cyc7CgojIFMKJGxhbmdbJ3NtYXJ0J10gPSAnU21hcnQnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3N1cHByZXNzX2Vycm9ycyddID0gJ1N1cHByZXNzIEVycm9ycyc7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnWndpc2NoZW5zcGVpY2hlciBnZWxlZXJ0JzsNCiRsYW5nWydhZGRfcm93J10gPSAnWmVpbGUgaGluenVmJnV1bWw7Z2VuJzsNCiRsYW5nWydhbGlhcyddID0gJ0FsaWFzICc7DQokbGFuZ1snYWxpYXNlcyddID0gJ0FsaWFzZSc7DQokbGFuZ1snYXNrX2NsZWFyX2ltYWdlX2NhY2hlJ10gPSAnV29sbGVuIFNpZSB3aXJrbGljaCBBTExFIERhdGVpZW4gYXVzIGRlbSBad2lzY2hlbnNwZWljaGVyIGVudGZlcm5lbj8nOw0KJGxhbmdbJ2NsZWFyX2FsbCddID0gJ0FsbGUgRGF0ZWllbiBsJm91bWw7c2NoZW4nOw0KJGxhbmdbJ2NsZWFyX25vdyddID0gJ0pldHp0IGwmb3VtbDtzY2hlbic7DQokbGFuZ1snZGVsZXRlJ10gPSAnTCZvdW1sO3NjaGVuJzsNCiRsYW5nWydlbWJlZGRpbmcnXSA9ICdFaW5nZWJldHRldGUgQmlsZGVyJzsNCiRsYW5nWydlbWJlZGRpbmdfbW9kZSddID0gJ0JpbGRlaW5iZXR0dW5nc21vZHVzJzsNCiRsYW5nWydlbWJlZF9zaXplbGltaXQnXSA9ICdCaWxkZXIgZWluYmV0dGVuIGJpcyBtYXhpbWFsIChrYiknOw0KJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnQmlsZGVyIGRlcyBUeXBzIGVpbmJldHRlbic7DQokbGFuZ1snZXJyb3JfYWxpYXNfZHVwbGljYXRlbmFtZV9hdHJvdyddID0gJ0RlbiBBbGlhcy1OYW1lbiwgZGVyIGYmdXVtbDtyIEFsaWFzIGluIFplaWxlICVkIGFuZ2VnZWJlbiB3dXJkZSwgZHVwbGl6aWVyZW4uJzsNCiRsYW5nWydlcnJvcl9hbGlhc19ub25hbWVfYXRyb3cnXSA9ICdLZWluIE5hbWUgZiZ1dW1sO3IgZGVuIEFsaWFzIGluIFplaWxlICVkIGFuZ2VnZWJlbi4nOw0KJGxhbmdbJ2Vycm9yX2FsaWFzX25vb3B0aW9uc19hdHJvdyddID0gJ0tlaW5lIE9wdGlvbmVuIGYmdXVtbDtyIGRlbiBBbGlhcyBpbiBaZWlsZSAlZCBhbmdlZ2ViZW4uJzsNCiRsYW5nWydlcnJvcl9pbnZhbGlkX2FnZSddID0gJ0FsdGVyc2VpbnN0ZWxsdW5nIHVuZyZ1dW1sO2x0aWcgLi4uIGtlaW5lIEFrdGlvbiBhdXNnZWYmdXVtbDtocnQnOw0KJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0VpbiBlcmZvcmRlcmxpY2hlciBQYXJhbWV0ZXIgZmVobHQgb2RlciBpc3QgdW5nJnV1bWw7bHRpZzogJXMnOw0KJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbSddID0gJ1VuZyZ1dW1sO2x0aWdlciBQYXJhbWV0ZXIgaW4gJXMnOw0KJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnS29ubnRlIERhdGVpIGluICVzIG5pY2h0IGZpbmRlbic7DQokbGFuZ1snZXJyb3JfcmVtb3RlZmlsZSddID0gJ0VzIGdhYiBlaW4gUHJvYmxlbSwgZGllIGVudGZlcm50ZSBEYXRlaSBpbiAlcyB6dSBmaW5kZW4uJzsNCiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnU21hcnRJbWFnZSAmbmRhc2g7IFVuYmVrYW5udGVyIEZpbHRlcjogJXMnOw0KJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgU21hcnQtSW1hZ2UtV2Vya3pldWdlJzsNCiRsYW5nWydnZW5lcmFsJ10gPSAnQWxsZ2VtZWluJzsNCiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3YXkgdG8gcHJvY2VzcywgYW5kIGRpc3BsYXkgaW1hZ2VzIG9uIHlvdXIgd2ViIHBhZ2UuICBJdCBhbGxvd3Mgc2ltcGxlIGltYWdlIHByb2Nlc3NpbmcsIGFuZCB3YXRlcm1hcmtpbmcuICBUaGlzIG1vZHVsZSBtYWtlcyBkaXNwbGF5aW5nIHByb2Nlc3NlZCBpbWFnZXMgb24geW91ciB3ZWJzaXRlIHRyaXZpYWwuICBJdCBhbHNvIHByb3ZpZGVzIGZlYXR1cmVzIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIHJhdGluZyBvZiB5b3VyIHdlYnNpdGUsIG1ha2luZyB5b3VyIHdlYnNpdGUgcG93ZXJmdWwgYW5kIGZhc3QgYXQgdGhlIHNhbWUgdGltZS48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPlBvd2VyZnVsLCBidXQgc2ltcGxlIHRvIHVzZSBpbWFnZSBmaWx0ZXJpbmcgYW5kIHByb2Nlc3NpbmcuIEZpbHRlcmluZyBpbmNsdWRlczoNCiAgPHVsPg0KICAgIDxsaT5CbHVyPC9saT4NCiAgICA8bGk+QnJpZ2h0bmVzczwvbGk+DQogICAgPGxpPkNvbG9yaXplPC9saT4NCiAgICA8bGk+Q29udHJhc3Q8L2xpPg0KICAgIDxsaT5Dcm9wPC9saT4NCiAgICA8bGk+PHN0cm9uZz5Dcm9wIFRvIEZpdDwvc3Ryb25nPjwvbGk+DQogICAgPGxpPkVkZ2UgRGV0ZWN0aW9uPC9saT4NCiAgICA8bGk+RW1ib3NzPC9saT4gDQogICAgPGxpPkdyYXlzY2FsZTwvbGk+DQogICAgPGxpPk1lYW4gUmVtb3ZhbDwvbGk+DQogICAgPGxpPk5lZ2F0ZTwvbGk+DQogICAgPGxpPlBpeGVsYXRlPC9saT4NCiAgICA8bGk+UmVzaXplPC9saT4NCiAgICA8bGk+Um90YXRlPC9saT4NCiAgICA8bGk+U2VsaWN0aXZlIEJsdXI8L2xpPg0KICAgIDxsaT5TbW9vdGg8L2xpPg0KICAgIDxsaT5XYXRlcm1hcms8L2xpPg0KICA8L3VsPg0KPC9saT48YnIvPg0KPGxpPlNtYXJ0IGRldGVjdGlvbiBvZiBpbWFnZXMuICBTcGVjaWZ5IGFic29sdXRlIFVSTFMsIGFic29sdXRlIHBhdGhzLCBvciBmaWxlcyByZWxhdGl2ZSB0byB5b3VyIHJvb3QgaW5zdGFsbGF0aW9uLjwvbGk+DQo8bGk+QXV0b21hdGljIGRvd25sb2FkaW5nLCBjYWNoaW5nLCBwcm9jZXNzaW5nLCBhbmQgcmUtY2FjaGluZyBvZiBpbWFnZXMgZnJvbSByZW1vdGUgd2Vic2l0ZXMuPC9saT4NCjxsaT5TbWFydCBhdXRvbWF0aWMgcmVzaXppbmcgKGF1dG9tYXRpY2FsbHkgcmVzaXplIHRvIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBiZWZvcmUgc2VydmluZyB0aGUgaW1hZ2UuLi4gcmVzaXppbmcgdG8gd2lkdGggQU5EIGhlaWdodCBkb2VzIGEgY3JvcCB0byBmaXQuIDxlbT4oanVzdCBzcGVjaWZ5IGEgd2lkdGgsIGFuZC9vciBoZWlnaHQgcGFyYW1ldGVyIHRvIHRoZSBTbWFydEltYWdlIHRhZy4pPC9lbT48L2xpPg0KPGxpPkF1dG9tYXRpY2FsbHkgcmVhZHMgaW1hZ2UgRVhJRiBpbmZvcm1hdGlvbiBhbmQgY29ycmVjdHMgdGhlIG9yaWVudGF0aW9uLjwvbGk+DQo8bGk+SW1hZ2UgY2hhbmdlIGRldGVjdGlvbiwgaWYgdGhlIG1hc3RlciBpbWFnZSBpcyBjaGFuZ2VkIHNjYWxlZCBpbWFnZXMgd2lsbCBiZSByZWdlbmVyYXRlZC4gKHNlZSB0aGUgbm90aW1lY2hlY2sgcGFyYW1ldGVyIHRvIGRpc2FibGUgdGhpcyBiZWhhdmlvcikuPC9saT4NCjxsaT5TbWFydCBhdHRyaWJ1dGUgZ2VuZXJhdGlvbiBmb3IgaW1hZ2VzLjwvbGk+DQo8bGk+UHJvY2Vzc2VkIGltYWdlcyBhcmUgY2FjaGVkIG9uIHRoZSBzZXJ2ZXIgZm9yIGZhc3RlciBzZXJ2aW5nLjwvbEk+DQo8bGk+VGhlIGFiaWxpdHkgdG8gdXNlIGEgc2VwYXJhdGUgVVJMIChDRE4pIGZvciBzZXJ2aW5nIGltYWdlczwvbGk+DQo8bGk+SW1hZ2UgcHJvY2Vzc2VzIGNhbiBiZSBjb21iaW5lZCwgYW5kIGFyZSBleGVjdXRlZCBpbiBvcmRlci48L2xpPg0KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZW50IG9mIHRoZSB3ZWIgcGFnZSB0byBtaW5pbWl6ZSBzcGFjZS48L2xpPg0KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGxpbWl0IGVtYmVkZGluZyBpbWFnZXMgc21hcnRseSwgb25seSB0byBicm93c2VycyB0aGF0IGFyZSBjYXBhYmxlIG9mIHVuZGVyc3RhbmRpbmcgdGhlbS48L2xpPg0KPGxpPkNvbWJpbmUgY29tbW9ubHkgdXNlZCBhcmd1bWVudHMgaW50byBuYW1lZCBhbGlhc2VzLjwvbGk+DQo8bGk+QWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMgdmlhIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZy48L2xpPg0KPGxpPlRoZSBhYmlsaXR5IHRvIGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBpbWFnZXMgaW5zaWRlIGEgYmxvY2sgb2YgaHRtbCBjb2RlIHVzaW5nIHRoZSB7c2lfY29udmVydH0gYmxvY2sgdGFnLjwvbGk+DQo8bGk+TW9yZS4uLjwvbGk+DQo8L3VsPg0KPGgzPldoeSBzaG91bGQgSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZXJlIGFyZSBmb3VyIHZlcnkgaW1wb3J0YW50IHJlYXNvbnMgdG8gdXNlIHRoaXMgcGx1Z2luOjwvcD4NCjx1bD4NCiAgPGxpPlBlcmZvcm1hbmNlOiAgVXNpbmcgaW1hZ2UgZW1iZWRkaW5nIChldmVuIGlmIG5vIG90aGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCkgcmVzdWx0cyBpbiBmZXdlciByZXF1ZXN0cy4gIE1vc3QgYnJvd3NlcnMgb25seSBwZXJmb3JtIHR3byB0byBmb3VyIHNpbXVsdGFuZW91cyByZXF1ZXN0cyB0byB0aGUgc2FtZSBkb21haW4gYXQgdGhlIHNhbWUgdGltZS4gIEZvciB3ZWIgcGFnZXMgd2l0aCBsb3RzIG9mIGltYWdlcyB0aGlzIGNhbiBzZXJpb3VzbHkgc2xvdyBkb3duIHlvdXIgc2l0ZS48L2xpPg0KICA8bGk+UGVyZm9ybWFuY2U6ICBFdmVuIGlmIG5vdCB1c2luZyBlbWJlZGRpbmcsIHNlbmRpbmcgbGFyZ2UgaW1hZ2VzIHRvIHlvdXIgdmlzaXRvcnMsIGFuZCBhc2tpbmcgdGhlaXIgYnJvd3NlciB0byBzY2FsZSB0aGUgaW1hZ2UgaXMgdmVyeSB2ZXJ5IHNsb3cuPC9saT4NCiAgPGxpPlNlY3VyaXR5OiAgU21hcnRJbWFnZSBjYWNoZXMgaXRzIGltYWdlcyBpbiBhIHNlcGFyYXRlIGRpcmVjdG9yeSwgdGhlcmVieSBoaWRpbmcgdGhlIG9yaWdpbmFsIChwZXJoYXBzIGNvcHlyaWdodGVkKSBpbWFnZXMgZnJvbSB5b3VyIHVzZXJzLiAgSWYgZW1iZWRkaW5nIGlzIHVzZWQgdGhleSBjYW50IGV2ZW4gZmluZCB0aGUgY2FjaGVkIGxvY2F0aW9uKTwvbGk+DQogIDxsaT5TaW1wbGljaXR5OiAgVGhlIGZpbHRlcmluZyBjYXBhYmlsaXRpZXMgb2YgU21hcnRJbWFnZSBhbGxvdyB5b3UgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBmb3IgY29uc2lzdGVudCBhbmQgc2VjdXJlIGRpc3BsYXksIHdpdGhvdXQgc2l0ZSBlZGl0b3JzIGhhdmluZyB0byBwbGF5IHdpdGggdGhlbS4gIFRoZXkgY2FuIHVwbG9hZCBsYXJnZXIgaW1hZ2VzLCBhbmQgeW91ciBzaXRlIHdpbGwganVzdCBoYW5kbGUgdGhlbSBwcm9wZXJseS48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZSBzaW1wbGVzdCB3YXkgdG8gdXNlIHRoaXMgbW9kdWxlIGlzIHRvIHVzZSBpdCBpbiB0aGUgc2FtZSBwbGFjZSB5b3Ugd291bGQgdGhlIHtpbWFnZX0gdGFnLiAgSS5lOiBTb21ldGhpbmcgbGlrZSA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7fTwvY29kZT4uICBUaGlzIHdpbGwgZ2VuZXJhdGUgdGhlIGltYWdlIHRhZyBmb3IgeW91IHdpdGggbm8gcHJvY2Vzc2luZy4gIEFuZCBpZiBwb3NzaWJsZSwgZW1iZWQgdGhlIGltYWdlIGRpcmVjdGx5IGludG8geW91ciBodG1sIG91dHB1dC48L3A+DQo8cD5PZnRlbiBwZW9wbGUgd2FudCB0byBkaXNwbGF5IGEgd2F0ZXJtYXJrIG9uIHRoZSBpbWFnZXMgdGhhdCB0aGV5IGRpc3BsYXkgb24gdGhlIGZyb250ZW5kIHRvIHByZXZlbnQgaW1hZ2UgdGhlZnQuICBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBwcm92aWRlcyBzZXR0aW5ncyBmb3IgeW91IHRvIGNvbmZpZ3VyZSB3YXRlcm1hcmtpbmcgYW5kIHlvdSBjYW4gZW5hYmxlIHRoYXQgd2l0aCBhbnkgaW1hZ2Ugd2l0aCBhIHRhZyBsaWtlIHRoaXM6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTsgZmlsdGVyX3dhdGVybWFyaz0xfTwvY29kZT4uICBUaGlzIHdpbGwgcmVhZCB0aGUgaW1hZ2UsIGFwcGx5IHRoZSB3YXRlcm1hcmsgYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiBDR0V4dGVuc2lvbnMsIGNhY2hlIHRoZSBhbHRlcmVkIGltYWdlLCBhbmQgdGhlbiBlbWJlZCBpdCBpbnRvIHlvdXIgb3V0cHV0LjwvcD4NCjxwPkFsc28sIFBpY3R1cmVzIHRha2VuIGJ5IG1vZGVybiBkaWdpdGFsIGNhbWVyYXMgYXJlIG9mdGVuIHRvbyBsYXJnZSBmb3IgdXNlIG9uIGEgd2Vic2l0ZSwgdGhlcmVmb3JlIHRoZXkgbmVlZCB0byBiZSBzY2FsZWQgYmVmb3JlIGRpc3BsYXllZCBvbiB5b3VyIHBhZ2UuICBUaGlzIGNhbiBiZSBkb25lIHF1aXRlIGVhc2lseSB3aXRoIGEgdGFnIGxpa2U6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTsgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7dywzNTAmIzAzOTt9PC9jb2RlPi4gIEFzIHlvdSBtYXkgdGhpbmssIHRoZSB3YXRlcm1hcmsgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSBiZWZvcmUgaXQgaXMgcmVzaXplZCB0byBhIG1heGltdW0gd2lkdGggb2YgMzAwIHBpeGVscyAocmV0YWluaW5nIGFzcGVjdCByYXRpbykuICBUaGVuIHRoZSBhZGp1c3RlZCBpbWFnZSB3aWxsIGJlIGNhY2hlZCwgYW5kIGlmIHRoZSBicm93c2VyIGFsbG93ZXMgdGhlIGltYWdlIHdpbGwgYmUgZW1iZWRkZWQgaW50byB0aGUgSFRNTCBvdXRwdXQuICBJZiBlbWJlZGRpbmcgaXMgbm90IHBvc3NpYmxlLCB0aGUgaW1nIHRhZyB3aWxsIGNvbnRhaW4gdGhlIFVSTCB0byB0aGUgY2FjaGVkIGltYWdlLjwvcD4NCjxwPkZyb20gaGVyZSB5b3UgY2FuIGNvbWJpbmUgdGhlIG9wdGlvbnMgYmVsb3cgdG8gcGVyZm9ybSBhbG90IG9mIGRpZmZlcmVudCBlZmZlY3RzIHRvIHlvdXIgaW1hZ2VzLCBidWlsZCBzaW1wbGUgZ2FsbGVyaWVzLCBhbmQgaW1wcm92ZSB5b3VyIHNpdGUgcGVyZm9ybWFuY2UgYXQgdGhlIHNhbWUgdGltZS4gIEVuam95ITwvcD4NCjxoMz5BdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmc8L2gzPg0KICA8cD5JZiB5b3Ugc3BlY2lmeSBhIHdpZHRoLCBhbmQvb3IgYSBoZWlnaHQgcGFyYW1ldGVyLCBhbmQgZG8gbm90IHNwZWNpZnkgdGhlICZhbXA7cXVvdDtub2F1dG9zY2FsZSZhbXA7cXVvdDsgcGFyYW1ldGVyLCB0aGUgbW9kdWxlIHdpbGwgYW5hbHl6ZSB0aGUgZmlsdGVycyB5b3UgaGF2ZSBhbHJlYWR5IHNwZWNpZmllZCwgYW5kIGlmIHRoZXJlIGlzIG5vIHJlc2l6ZSBmaWx0ZXIgYWxyZWFkeSBzcGVjaWZpZWQgYXV0b21hdGljYWxseSBhZGQgYSBmaWx0ZXIgdG8gcmVzaXplIG9yIGNyb3B0b2ZpdCB0aGUgaW1hZ2Ugb24gb3V0cHV0LiAgVGhpcyBpcyB1c2VmdWwgdG8gZG8gYXV0b21hdGljIHRodW1ibmFpbGluZyBvbiB0aGUgc2VydmVyLCBhbmQgbm90IHJlcXVpcmUgdGhlIGJyb3dzZXIgdG8gcmVzaXplIHRoZSBpbWFnZS48L3A+DQogPGgzPkEgU2ltcGxlIEdhbGxlcnk8L2gzPg0KPHA+VGhlIGNvZGUgYmVsb3cgdXNlcyB0aGUge1NtYXJ0SW1hZ2V9IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxib20gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPg0KPHByZSBzdHlsZT0mcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDs+PGNvZGU+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDE6PC9zcGFuPiAmYW1wO2x0O3NjcmlwdCB0eXBlPSZxdW90O3RleHQvamF2YXNjcmlwdCZxdW90OyZhbXA7Z3Q7e2xpdGVyYWx9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMjo8L3NwYW4+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiAzOjwvc3Bhbj4gIGpRdWVyeSgmIzAzOTthLmZhbmN5Ym94JiMwMzk7KS5mYW5jeWJveCgpOw0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDQ6PC9zcGFuPiB9KTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA1Ojwvc3Bhbj4gey9saXRlcmFsfSZhbXA7bHQ7L3NjcmlwdCZhbXA7Z3Q7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNjo8L3NwYW4+IHthc3NpZ24gdmFyPSYjMDM5O2ZpbGVzJiMwMzk7IHZhbHVlPSYjMDM5O3VwbG9hZHMvYWxidW0vKi5qcGcmIzAzOTt8Z2xvYn0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA3Ojwvc3Bhbj4ge2lmIGNvdW50KCRmaWxlcyl9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gODo8L3NwYW4+ICZhbXA7bHQ7ZGl2IHN0eWxlPSZxdW90O3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsmcXVvdDsmYW1wO2d0Ow0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPSYjMDM5O2ZpbGUmIzAzOTt9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMDo8L3NwYW4+ICAmYW1wO2x0O2EgcmVsPSYjMDM5O3NpbXBsZV9hbGJ1bSYjMDM5OyBjbGFzcz0mcXVvdDtmYW5jeWJveCZxdW90OyBocmVmPSZxdW90OzxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDUwMCYjMDM5OyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+JnF1b3Q7JmFtcDtndDsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7aCwxNTAmIzAzOTt9PC9zcGFuPg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTI6PC9zcGFuPiAgJmFtcDtsdDsvYSZhbXA7Z3Q7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMzo8L3NwYW4+IHsvZm9yZWFjaH0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjE0Ojwvc3Bhbj4gJmFtcDtsdDsvZGl2JmFtcDtndDsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjE1Ojwvc3Bhbj4gey9pZn0NCjwvY29kZT48L3ByZT48YnIvPg0KPHA+TGV0cyB0YWxrIGFib3V0IHRoaXMuPC9wPg0KPHA+TGluZXMgMSB0aHJvdWdoIDUgdXRpbGl6ZSBqUXVlcnkgdG8gY2FsbCBmYW5jeWJveCBvbiBhbnkgbGlua3MgdGhhdCBoYXZlIHRoZSAmYW1wO3F1b3Q7ZmFuY3lib3gmYW1wO3F1b3Q7IGNsYXNzLiAgVGhlIGZhbmN5Ym94IGpRdWVyeSBwbHVnaW4gaXMgaW5jbHVkZWQgd2l0aCB0aGUgSlF1ZXJ5VG9vbHMgbW9kdWxlLjwvcD4NCjxwPkxpbmUgNiB1c2VzIGEgYnVpbHQgaW4gcGhwIGZ1bmN0aW9uIGNhbGxlZCBnbG9iLCBhbmQgc29tZSBzbWFydHkgbWFnaWMgdG8gZmluZCBhbGwgb2YgdGhlIEpQRyBmaWxlcyBpbiB0aGUgdXBsb2Fkcy9hbGJ1bSBkaXJlY3RvcnkgYmVsb3cgb3VyIGluc3RhbGxhdGlvbiByb290LjwvcD4NCjxwPkxpbmUgNyBpcyBhIHRlc3QgdG8gc2VlIGlmIGFueSBmaWxlcyB3ZXJlIGFjdHVhbGx5IGZvdW5kIGluIHRoZSBhc3NpZ24gbGluZSBzdGF0ZWQgYWJvdmUuICBUaGlzIGlmIHN0YXRlbWVudCBpcyBjbG9zZWQgb24gbGluZSAxNS48L3A+DQo8cD5MaW5lIDggb3BlbnMgdXAgYSBkaXYgdG8gY29udGFpbiBvdXIgYWxidW0uICBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZXhhbXBsZSB0aGUgc3R5bGVzIHdlcmUgaW5jbHVkZWQgaW5saW5lLCBob3dldmVyIGEgY2xhc3MgdGhhdCB3YXMgZGVmaW5lZCBpbiB0aGUgc3R5bGVzaGVldCBzaG91bGQgYmUgdXNlZCBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4gIFRoZSBjbG9zaW5nIHRhZyBmb3IgdGhpcyBkaXYgaXMgb24gbGluZSAxNCwganVzdCBiZWZvcmUgdGhlIDxjb2RlPnsvaWZ9PC9jb2RlPi48L3A+DQo8cD5MaW5lIDkgYmVnaW5zIGEgbG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgZmlsZXMgdGhhdCB3ZSBmb3VuZCBpbiB0aGUgZGlyZWN0b3J5LiAgVGhpcyBsb29wIGlzIGNsb3NlZCBvbiBsaW5lIDEzLjwvcD48YnIvPg0KPHA+TGluZXMgMTAgYW5kIDExIGFyZSB0aGUgcmVhbCBtYWdpYy4gIEhlcmUgd2UgY3JlYXRlIGEgbGluayB3aXRoIGNsYXNzICZhbXA7cXVvdDtmYW5jeWJveCZhbXA7cXVvdDsgYW5kIGFkZHMgdGhlIDxjb2RlPnJlbDwvY29kZT4gYXR0cmlidXRlIHNvIHRoYXQgZmFuY3lib3gga25vd3MgdGhhdCBhbGwgb2YgdGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyIGFzIG9uZSBhbGJ1bSBhbmQgYWxsb3cgY2xpY2tpbmcgYmV0d2VlbiB0aGUgaW1hZ2VzLiAgVGhlbiBjb21lcyB0aGUgcGFydCB3aGVyZSB3ZSBkZWZpbmUgb3VyIGltYWdlcy4NCjxwPldlIHN1cHBseSB0aGUgJGZpbGUgdmFyaWFibGUgdG8gdGhlIHNyYyBhcmd1bWVudCBvZiB0aGUgPGNvZGU+e1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+DQo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+DQo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+e1NtYXJ0SW1hZ2V9PC9jb2RlPiBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBjYWxsLCBleGNlcHQgdGhhdCB3ZSB1c2UgYSBkaWZmZXJlbnQgaGVpZ2h0IHZhbHVlICgxNTAgcGl4ZWxzKSBmb3IgdGhlIHRodW1ibmFpbCwgYW5kIGZvciBraWNrcyBJIGNvbnZlcnRlZCB0aGUgdGh1bWJuYWlsIHRvIGdyYXlzY2FsZSA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiBhcHBseWluZyB0aGUgd2F0ZXJtYXJrLiAgSSBhbHNvIHJlbW92ZWQgdGhlIG5vZW1iZWQ9MSBhcmd1bWVudCBzbyB0aGF0IHRoZSBzeXN0ZW0gY291bGQgZW1iZWQgdGhlIGltYWdlIGluIHRoZSBIVE1MIG91dHB1dCBpZiB0aGUgYnJvd3NlciBzdXBwb3J0ZWQgaXQuICBUaGUgc2NyZWVuIGNhcHR1cmUgYmVsb3cgc2hvd3MgdGhlIGVmZmVjdC48L3A+DQo8aW1nIHNyYz0mcXVvdDtkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8yd0JEQUFnR0JnY0dCUWdIQndjSkNRZ0tEQlFOREFzTERCa1NFdzhVSFJvZkhoMGFIQndnSkM0bklDSXNJeHdjS0RjcExEQXhORFEwSHljNVBUZ3lQQzR6TkRMLzJ3QkRBUWtKQ1F3TERCZ05EUmd5SVJ3aE1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakwvd0FBUkNBQ2hBZkFEQVNJQUFoRUJBeEVCLzhRQUhBQUFBUVFEQVFBQUFBQUFBQUFBQUFBQUFBUUZCZ2NCQWdNSS84UUFVQkFBQWdFREFnTUVCd1FHQndRSUJRVUFBUUlEQUFRUkJTRUdFakVUUVZGaEJ4UWljWUdSc1NNeW9kRVZNMEpTa3NFV0pUUmljblB3SkZXQzRSYzJRMU5XZzZMeEpqVkVZN0prazdQQzB2L0VBQmdCQVFFQkFRRUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJeEVCQVFBQ0FnTUFBZ0lEQUFBQUFBQUFBQUVDRVNFeEF4SkJFeUlqUWxGaGtmL2FBQXdEQVFBQ0VRTVJBRDhBdGZXOVZ1Yks3MCt4c2tnOVp2cEdWWkxnbnMwQ2pKeUJ1VDRDdEx2VkxuVExGWTlRdk5NaTFHWitXREljUnVNZ2ROem5mNlYwNGhrMFgxYUtEV3d2WXlNZVJtVnNLdzcrWmZ1bnpxSjNNbDFKd3RJSGt1SnJOTldnV3ltdUFlMGVMbUhYTzVHZWhOQk5MclhOS3NaSGp1dFF0NFhSd2pLNzRJWWpPTWU0ZzF0SHJXbHkzd3NvOVF0bnVXR1JFc2dKTzJkdmhURkZESEp4THhnenhxeDdHTlFXWE8zWkhiOEJUWERFcWNKOEZ1c1lWeGVRSElYQjM1cy9PZ2xiOFM2SkhPME1tcVdxU3E1alpXZkJERFlnK0ZjNTlTdUU0dHNkT1JrOVduczVabTluSkxLUmpCOEtpOXJxZW1XMm44U1dkMkJKY1QzMXdFZ0VSWnBjN0FEQThmbFNxeml1TkwxbmhjNmh6b3cwNTdWcENDUUpTUmhTZTQwRW1tMTNTYmE5OVRtMUcyanVNZ2RtMGdCQlBjZkErK25DcTRza2dqMGU1MGJWdFFlMXVaSlhXZTNOaUhlUXMyenEyTXRuSU9lNnJCdG9SWjJVVURTczZ3eGhESS9VaFJqSitWQTJYZXZKYThTMldrbGNpZENYay9jWS9jSHg1Vy9DajlKWFA5THBOTnlucXk2ZjZ3Qnk3OC9QanI0WTdxaXp4NnZxK21hbHFWcnAwYkM3bkZ6Ynp0Y2Nyb3NSOWdCTWI5RDM3ODFPVnJxTVYxeGRaYWl3WklkUTBvSkV4VTRNbk1TVXozRVlOQXM0YjRwdGRSMHl6Vyt2N1VhbE1HekVDRkpQTVFCanh3QnRUN0hlVzAxeGNXOGN5Tk5iNDdaQjFUSXlNL0NxN3Q3aXp1ZlI3RG8wY2JTYXMvNnFFUXR6cTVmS3ZuR3d4dm5OUGR2Znc2THhOcmE2ZzdxOXpIQTBHSTJidGlJK1U4dUJ1YzkxQklQMDdwUXRvN2s2aGJpR1ZHZEhMWURLcHd4SHVKQXJtZUpORVdLS1E2cmFCSlNRaDdRYi9sOGFoMmdSaDI0TUVpQmdJN3RzTU00SUpJTkxCYnhmbzNqcjdGUDEwbVBZSGRIa2ZqdlFUa0hJeURrR2lrT2lrblFkT0p6bjFXTE9mOEFwZFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZSbHVEcmZsNUZtRWtZVUtvbVZpUUFQN3JLUHdxVFVWWmRKWnN3YU53cGJhUGZldUxjU3lTQlpFUk9pSXJsU1FBY245Z2RTYWY2S0tpaWpyUlJRRkZId294NVVDRFM5TFRTeGRpT1Y1UFdibDdsdVlBY3BiR1FNZDIxTDZNZVZHRDRVQmsrTkZHRDRHakI4RFFGRkdENEdzNFBnYURHVFJtczRQZ2F4ZytCb0NpaWo0VUJSUjhLUGhRRkZHUEtqSGxRRkZHRDRHakI4RFFGRkdENEdqQjhEUUZGWndmQTFqQjhEUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVlQZ2FQaFFGRkZHQ1RqRzlBVVZua2I5MXZsUnl0KzYzeW9NVVZubGI5MXZsUmcrQitWQmlpakI4S3p5dCs2ZmxRWW9ySlVqcUNQZUtBckhvcFB3b01VVm5sYjkxdmxRVllkVkkrRkJpaXM0UGdmbFFBVDBCUHVGQmlpczhqZnVOOGpSeVA4QXVOOHFERkZaS3NPcWtlOFVjamZ1TjhxREZGWjVHL2NiNVVjai91TjhqUVlvclBJMzdyZktqbGI5MXZsUVlvclBLMzdwK1ZBQlBRRSs0VUdLS3p5dCs2M3lyRkFVVVVVRGJxVEVTeDRKR3g2ZStrWE8zN3pmT2xtcWZyWS84Sit0TitkOFVHNWtZayswM3pySE94L2FiNTFwbmV0U2FEY3lQbjd6Zk0xelozeHN6Zk0wWk5jM29NbVIvd0I5djRqWE15UC9BTjQvek5ZSnJVbnpvTU5KSisrMzhScmk4a20vMmoveEd0MkpwTzIxQmhwNWYrOGYrSTEzNFIxQTZrWTdqMmg5c3lZTEU3Q2tMdHYxeFhIZ2Vkb1dnanh6Q1Mra1FrZEIxTkJNN3gyRjNKN1J3Q05zK1ZjQzdkN0g1MTF2djdaSjhQcFNWajQwRzVkc2ZmYjUwZG8vZXpmT3RNNXJHZkhyUWJGMi9lYjUxb1pIejk5dm1heHpBSEhTdWJNRDMwR1drY2Z0dC9FYTBNci9BTDcvQU1SclJtM3JRbkZCc1paTWdjN2Z4R3VUelNEOXQvNGpRVzNyaTVvTlhta0EybGYrSTA2Y015TStxeWd1N0FRbnFTZjJoVExLZHMwNjhLSE9yVC81UFgvaUZBNE5JMlQ3UjZudnJIYXNQMm0rZEkzdVZEdm54SXJtYnRSM2lnY1JNM1RtYjUxbnRXL2ZiNTAwSFVZMUpIT3VSNG11YjZxbU5uWCtJVUQwWjNEWUxIR091YXdidmw2c2ZuVU4xRGlxMXNjbWFkVngzYzFNNDlJZWx6U2RuNnlBZk5xQ2YzZXNyYnFUemtudXFQM25GRndTUWtoSHVxTlhYRWxzOHFabVRzMzJEODJ3OTlJNU5Sc1pFa2NYMGFoY2tzUEx6OGFDUVcrdTZycWx6TGE2ZElKWm93REp6UHlyR1BNK1BsMXAxZy9TZk5PdDVxMGtUUTRMZGlBRkhtYzVxc0xUaTZiaEpCNnRINjI5eXJPc3pleUQvZS9HbUhVdUplSWJxNmFTU1M1UmdRU2U3STZIcFFYeHhScVY3b2NWcmNXY3N6cVVWbVNZaGxrQnh2dHZtbDNGRnk3ZWp2VVoxTEkvWnFSZ2tGZmJUYk5lZmh4VnhOcU4zSGMzZDllMzB3MjdObDJLZzVIZGo4S3Q1dFJ2TlU5Q21xM1Y3RDJOd1NReWs1eGgwL0dncW1hOHVocTh5aTl1VlJsQkdKbXh0OGFjOU92YmlPL1F0ZTNQSVJnODBySGMvR21KNVErcDI1WWMzUEVSdjFHS2NZbUNUeHR5SFBmZ1p6UUxkZXVydjlKVzBrZDVjc25aNC9YTU53VDRHckQwS0dhNnRyS2RwcHNQR3JIMno0ZStxMDFRbmxnd0NBR0lxenVDcHUwNGV0WE8rRTVDZWJPNFAvT2dsOHp4aUdPRnBDQzU1VkcrNXhucjhLcjdpeTJraTAvVXBVdnJxUDdGOHhpVEFKV1JRTURyakdjNzljVk43bXpudVJic3NUa0pNc2dJSFVqT0tZT0w5TmRyYWVOWXBoUExieW9pSW85dGh5bFYzQlBlZW1LQnI5RGR4SkpmYXJienlTeUV3Q1JTN2xzZHhHNTg2ZXVJN0N3dXRPbnVuRWd2WUxkbGlsRTdyZ0Rmb0RqeDZpbUQwVlc5M1k2enJFTWtiMjg2V1dNU2o3amMzZUtiTlZ0K0pGdG5lNTE3dG9TcEx4cGJnQWp3ejNVRFhwZGxkYXZxTUtHNHVKSTRvSkpHZ2E0ZE8xYktxTWtIb001cDhzMy9BS05tNGp1N3E1Z2dlUldRYzdTdEo3SUpVRTl3T2ZjTVo4YWplZ2F1TksxKzBGeElrY0VzVXFTTzdZQzQ1V0J6OEtjK09MUkxvMmVxMmM0bHQrVHNuTVc0eHpaRGVlYzQrVkJwcVhGa3BkaGJ6eXhZSjVGV1J1WWZIcDE4cWUvU1ZkM0k5SEhDY3l6VFJ5eU1wY3JLUVQ5ajNrSGVvQnlXNGtoY082QlR6TXJzRHlONDV4NUQzVk92U1NESjZOT0Q4a2trcGtucitwb0twdWI2K1ZWWVh0ME45L3QzL091OXRxVjdsVk43Y2tmNTcvblNmVUVUMUl5STJTa25LK0QwTmJSMkY0dW5SNmkxdko2bThuWnJNUjdKWWRSbnhvSDIxMWJVN1FPOXRxVjFFN3FWYmxsSnlwN3R6VGRjMzk2Y2tYdDF6WkhTZHQveG9pbEhZRGZwMXBIZGtOYnRuQjNIWHVvRjFyZGFnQzZTM04ydTNScG4yL0dzVFhsNHVDdDdjK1gyN2ZuU2ZRVlNXNVpaV2s3SUp6UHlBRmdNanBuclc5OHFMSTVoNSt5NWp5bDhaeDU0b085dHFOK2poeGUzSUtuS250VzJQZDMxS1JkU1hzU1gwTnhPZ2ZhV05aWDVZNVIxVWI5RDk0ZThqdXFGcElBdU5zK2RQWEQrcFIyRjhlM2FRV2N3NVprWHc3bUhtcDN4M2pidm9KYmFUM01EUlN0Y1RFZy90U3NmUHhxVmVtYTN1SDRTc2J5MW1sUnUxUldhTnl2VldJNmVkZDdQaHlEVkVpVG5WWmNZWWo5dndPZmRpczhjelQzR2cyL0RyV3J0Y0NOSnUxWmgreVN1QVBFanZvS2E0VTlmSEYyamM5NWNsUFhvUXl0T3h5T2NkUm12VXg2bXFRNFc0V2doMXF3bHVVbldlTzRSMVZtQzRJWUhjWS9uVjMwQlJSUlFOV3Jmcll2OEordE4yYWNkVy9XeGY0VDlhYkdvTWs3MXJ6WXJESEcrRFRGeEp4SEhvTm9za2tMdUh5QXk0d01VRDR6aXVaa3FwWDlLOTdISi9aN1J4MDNMQ2xOaDZXNFRJVjFHekNvVHMwQkpJK0JvTE5MZDlhTXh4MDJxUGFmeGxvdW9SSzZYcUt6ZnNObm1Id3BiK25OTnovYkkva2Z5b0hFbmF1RDBRM1VWMUVKWUpCSWhKQUkyNlZpUTBDVnp2aytOTE9BMkhxeXNla2wzS1ViOTRaNmp5cGoxMStUVGp1d1ZwRVZzSEhzbGdDS2t2REtCSnJlTlJoVmtPQjRiVUQzcUcxNUo4UHBTVW1sVi93RDJ5VDRmU2tob05RYTVUVGlDSjVDQ1FnemdkVFhUdjZWRk9OZFRGcHBndFJLWTN1VHlsaG5PUERieG9HRFdQU1JQYjNVaTJscUJHdTMyM1hQZjBwRkg2VkpTeW1TeWo1TSsxZzc0cUtYMXZEMlRNSCtZSk5Na2lvaWZmR2ZlYUM3ZE40MzBuVTVZNG8zWkpIemtQc0YyOGFrQ3lMSW9aR0RBOUNEWG0rRzRFYjVFcFUrSXF6dUJlSlJOYnpSMzE2QXNTaFkxT2ZuUVdFYTVPYXlraVNJcm9RVllBZ2p2clYrbEFua08xTHVESGVYaU8rTE9lUklBaXAveERKcEJKMHBad1IvMWoxTGJmc3gvK1FvRU05eTNhdnYrMGZyWEF6dTNmVGhQYXFKWC93QVI3dk91WXRvejF6OHFDQmErNS9TOHA3K1ZmcFVZMWpXVTArRXFwQm1ZWVVlRlRUaUMyUmRZbEFIUkY3dktxZzE2WnBOVG15YzRZZ2VWQWludTVaNUdlU1FsajFyZ0pDRDEzcFZZNlpQZnY3SUtvT3JHbiszNGJ0MEE3VExIem9JK2wwVlhCWThnT1N0U2ZUZUsyc2JVMjVnV2ExQTVsVmtCNVQ0MG9UaHV4ZGQ0K3ZoVzAzQ1RXMWxMTmJQekVEbUtONGVGWnl5OVhidytMOG1WM3hERGZUeWFuYytzRkVSVDkxUnNBTytuMjBqa0UwYlhISzBJeHpLaTRKSGhudXFMeHl5SmNNSFhsd1NDbmNLbWR1QklxTUNNRUN0T1Y0dkIzMUtmUnA5TVNMUzlNbXRieklMeXl6OW9wWHZITFV2MGRKbjlDR3NKSVVaek80SEt2S01jMGRRUlV3d3FmMlE1ZlFwckJIL2ZzZjhBMXgwUlY4Mm44aVcwalN4UWhIR1dkOXNIR054bWxDdU9ibDV3V1VuSjVlbEtOVFR0dERsbnhnUmNyYmVSeHZTT0VjLzNRY0FLVGdiRE85QXRuaWdsakwzSWtaWS9iUUkyTXQ1bnVGU3JTdFkxQzM0YWdzckJrdG1lY3pDU1JNcXVEakJKM09kc1kyNjFybzBPbmFUYlI2anFNQ1hEU1k3TzFLOHdPUDJpTzgrL2FwTnhYYmFYcmx2cDV0ZFNndEpvTVJzZ1FxRlhPY0FBYlk4S0NUYVJOZlhIQUthaGV4T05RZTM5dU1ObGNnNHlnN2dSdlNUakRTVTFPUWFmRXBTTmNaNUNRRkJVOVFPNDcvaFdxY1k2VG85dERwY1YzQklxUUJGREJ0Z1BJQ212V09KclM3N1NTMXZTSGxUSmVGQ3JOZ2JaUGRqZjUwRGI2T3JDYlMrSUxwR0VmYVBFNkdEbXc0UU9DR0k2WVB6MzZVbDF5V2U3bmx0b05QbWtjZG9nVmNEYmY2YlVxNEhuczlKdm52NysraVQxaUpvaXhKTGgyd2NIYnhGT1NUaTltdW9OT2pWaXhmTEp1OG96Z25KeHQzWUhrYUN2WHM3YlM5Y2dWclUzVitFUE5JUDFNQUtBNHdSN1RlZlFlZFMyR3dUVmJOOUpFVTBjMTRXajdjcjdJQklJT2V1QVBLbld5NFgxTFZManRncVF4TW5MMmpuYndJeDM5S2UrSU5HL1JIRGQ5ZTIxMUt0eEJiczZka2lvZVlEYkJHNCt0QkhyYjBNMjZ4cXI2cEtjOVNJODkvY1BuU0QwdjZkSHBmQnZEK20yNVl4VzF4MktGdXBDeEVETk1jTjdmUmNzOHVwNmpNN0wwbnZaR0ErR2FkL1NneGw5SDNERHNTeGFSU1NTU1Q5bDQ5YUNCMmQvcGIraXkvMGk0ZFUxT0NjTWlIN3o1Y0VGZmhrZkNtS0hUWTVMS0oxSlZtVUh5cHkxS09IOUR2eUFoeVl5YzV4MXJ0cDl1VFlRbkczTDNEem9HWDFlNmpRcmdPdmlLMHVVQnM4R1Q3Vmo3VVpVZ3JqdnowTldHbkRVYzJqTmNLd0VnT2ZlS2grcHJidlp1Qk1uTXFjd3dPNEhmZWc1OE1SdzV2OEF0V0MvN01lVFBlZVphMjFhSUpaaVJWMkw0NjF3ME80aEVWeUdtNUhiQzlPNy9RcGJxNndMb2lOMnZNL2Jia0gyY1lQZGpyOGFCdm5OcGNOYmVvd1N4dVVXTjBhVHRESkpucXV3d1BMZjMwT1d0eVZsVXF3T0dCR0NwSGlLSWpCQ3RzeVM4a29ZU2xsRytPdXhQUStGT0VrUDZVdFpQVitTWm1PWkpNYjh4OGM3NHgxTkJabm81MXUzaXRJYkc0dUlrZU1oNE9ZNE9DU1N1ZnhIdk5TdmpmVTdLM3RiTFZaQVhnQk1KQ1k1c25CSFh1MmFvYnc3Y2FGYldkcXNlaXlYVnpnTEpOT1ZTTmlPL09jNEh1M3dLbEVXcld1c3ZkMk54cE5vOGNaNW93NkNRRTQyM1B2T052SHBRTVdpOGM2TE5yRmxaTGFYWWtrbVNOQ1FtQXhJQXp2NTFhOVJ2VFlkQVRzNDR0THM0cm1KdGliWkFTZWJBS25IamlwSlFGRkZGQTA2dit0aUhkeW42MDFuNDA2YXgrdGkvd0FKK3ROWjZVR2puQnFyT0xZN2pXWmJ1ZEZra2lqMlJjN0lOaCtQV3JRbHh5Tm53cU5haERIRm9WMDBhY29lUEorWW9LUHU5TmxqY0ZsSThhUXZBUTJNR3BsZmhSTVJqclRQUEd2TWRobWdhTGQ1YmFaSkVZbzQ2RVZaa0VRR254UzlvT1lnYlp5Zm5VRWEzN1Fxd1haVHVlNFZMTkpuYWF3UlMyZXo5bkdUaXBlK0hYSDFtTnVTd09ITS9vWlA4eC9yVGk0ODZidUhCL1V5ZjQyK3RPTGdFSGI4YXJrWmRmWG0wcVVEWUJsT2Zjd3FVY040OVloem5QYS95cU5hK0IraHJueVhQeXFSOE5NUFc0UVJqRDVIbnRRUGQvajF1WFBYYjZVa2FsZC8vYkpQaDlLUm1nNW5yNVZEZU1vbzNFYmxjdXJydjhEVXlZVlgvSEYzSmFLNmtBa3lLd2J3SEsyMUJGTlFSVEdBUjVWSDdxM2pPNFhwV2JqV3BYY3h0SW1PblRGSTU5UUlJRFkzNmVZb05UYnFWSVZjazA4NkhCNm5kbFJKbm5UZGZBMHpRWGg1eElGd282SFBmVGhZVHl5YXBEZ0VnN2RlZ3JQMTEvV1lYYzVxNzdMK3dXMytVdjBGZEdyU3lIOVgyMytVdjBGZFdyVGtUUDVVcjRMMjRuMUlkM1lLZnhGSlpBQUNLWGNJUXNuRTE3SmoyWHRoZy84QUVLQjN2ckR0T2FXSmR4MVVkL25UTTBYS2NkL2hVbHM3dUM5amFTM2NNQXhVK0lOTWVrb3QzZFhuYW5PUHUrV1NhQ3VlTWJnV2wxZXpuYnM0VkkrVlZCWldqNnZxYkFraGM4OGpmSCtkVzU2U28xUnRUUnQyRUM0OStCVmU4TVFGTE9hWURMTytBZklmNk5BN0pIRmJ4aUtKUXFyMHhRWHlOcXkzS28zTzljeTRCMm9mNkxiWm43Uk1iYmpmd3A3am5rdVZWWlF2VWpQWEpxT1BxNjZkQVVtaFBpcHlDQ2ZFVnpzdUpBSkVMQWhBZXBGWW43WGw2TTkrUEgxbDc3YWNUYUY2dklidUpQWmMrMWl0ZEtjcEdJMk9lWGRUVTRTTzMxelJ5Z2JabDYrQnFMWHVpM1duWE1sbzY5bmRSdHlGVDQ3WVBoaXR2T1VEWnMvT3JDMGtjL29jMVVZNXN6UHQvd0FVZFFFOEtjWDIyR3VMYlR5V3dBbzFDSG1PU0FOdWJ6RldOQnBkOXBmb2gxVzF2b1ZpdURJWDVCSXNnd1dqNzFKSGNhQ0NROGhpbXQ1RVU5dEhnZ0FOdmpZSDYwaHRsWkpaYmRZZ29kVkRaSVBUd3g3dXRLWW9wU1F2WjgyUmhlWGJGS0xmVERhcEpQT3dSMlRFU25QdE4zWjhnTjZCWEU2cmFMRGRTaU9PTTg4Yk9jZXpqSkE5dzMrSGpTNWJxMjlabjVXSDN5YytOUjJTUDFobWt1dVdkMlVwbjkxY1l3TTlPcDZWR3A3MitzTHlkWUhWNGd4NWVja0hGQktOWGUyYWFXUVpEQkErVjd4bmNmS25xR2RKSVVhSWhrNWQ1Q05oL3dBK3RRcXdtTjFjb2JvODVaR0JDOUNRUWNWS2t2UnloVWpQZ2lLTmdLSFpWMlpGaXhtOWxSTUNHQzVMZTJOejhLZWVITlhXRFhKQ3FLd0VMY3VUdDFGUks1MUdVb1VrYkI4QWVuaUs3YUJMMnVxNFBzanN6amJPZW0xU2IyNjUrc2trN1hWbzJvUGZBOGlLcXFOZ293QlRocTFnZFMwaWF6OW5NcThwTFp4K0ZOWEMvSXRua1lDZzR5Y0NuMlc3aWpBQmRjOTI5VnlWamNlaTdWWkpTNjMxcmduY0htSkh1eUtSK2xpeWV4NEw0ZnNuWU0wRTNac3c2RWlPck11OVVhQjRZSWlzbHhPeFdOZTRZNnNmSVZYM3BrRGYwZDBydE1Pd3VtNWlCako3TTkxQlU5NHhmVG1EWXh5cjA4alVpNFhzbHV0T2pPZGxjanJVWVpKSnJjeFJSdTdFYktvejMxTCtGM0ZucEI3WnNFU09NQUZoM2Q0Mm9KYTVoZzAva1lBS1Y1QnNPdkthcWJWNDRrdFpsN1Vvd2hiS2pIdEU0cXo3aTFtdXRNTnd2TXNDRlpHZGxJQVVEYy9qVmNhdmJwQkZjckxLcXlzckRsRCs3RzFBaDRTdG9wa3Z6SkdyRkl3VnlPaDM2VXAxN21PbHFnZm1UdFZQSUVHM1hKejFQZlNmaGt6Slk2b1lPVHRERXZMemJqdnBMUE5xQ01UZFBHOGE3c3NhOVBPaXliNGpqSnBndW9wSm9yaHVhTUtFUmsrOE1maFVoNGV0clMyc3A1SmlWeVZPWGt3VzI2RlIxSHdwcjAvVWJaNVpVU1RITmpPVHNjZnUrWFNrNkxLbDdjckxNQVdZRU1CMUhsOUtrMjM1UFhpWW4rNzFGWGlNTnN5d0ZjNGtBNVd3VDVkUjEycEhhYXJjMnFSU2krbTNMS0ZTVTVqSndDVjMyUFRla2thSkVIYVhMQnp5L2YzQUh1N3FTdGFNSi9zeUFHR00vbWFybW12RFdzWE12RUduUXlYYnVHdm9seXpFNUhOdjhNbjVtdlFaNjE1ZjRXQ3J4WG9LQXZuMXVFNEorOTdZMzkxZW9EMU5BVVVVVURUckg2MkwvQ2ZyVFVUVHJySDYyTC9DZnJUVXd4UUl0UldXU3htV0VrU0ViWUdTZktxNzRrMVM4R2t5aFkzNU96d0RHZGh2MzFackRQeHFBY1MyeXRwdDdseWloU2NmSHBRVmFsMWMzSmZMTWVYR1NhUXlYa3BrSUdlYnBpbnEwQ1IyczdrQUsyVlhJd1dIalRWSENyM1piZnN3Y2xnTTcrRlMzVFdHRnp5bU1LTGU1bWloQ2xYVm5HZCtoSGpVaTRhU1QxT1IyUHNGdVZjL2pVZDUxa2taZ05pZHM5d3FiV0Z1TFd5aWhHZGh2NytwcFA4QUxYa3ZPcGVJblhEbi93QW1UL01mNjA0UG1rSERnL3FaUDh4L3JUaTQ4cXJtUVhsdWwxYnlRU1o1SkY1VGpyU2pnNzF1SFdPd3U1VmRReTlrNEdPYlk3ZStzU1lBeWVncmh3YWJxOTE2RyttQ3BBMjhVWWJQS044SDNtZ21kK00za253K2xJenZTMisvdGtudytsSW1vT2JiL09vVHg5RHoyMXN3d0NYNVNEM2pCcWJFVkVlT284NlpieWZ1ellQdXdhQ3BGdGdOVXdRcnVQYTZEQUhpYWJkVVFQZU1VR1FUZ0FkMVBmWnZHMDdySHpFa2d0bW1zeEdOMm5seWNiRHZ6VXQwNmVQRDN5MThjWXdVSFlaS3FQdkE3L0tuN2g2MTVwNWJrOUVYa1gzMHdSNTY3NVltcFp3OWhkT1lramR6dFNNNTVicTJyRWYxZmJmNVNmUVYwYXVka2Y2dnR1bjZwZm9LNnRWWkozL0duYmhUSDZVbUdSbnNmSCs4S2EzSGZTcmhZSCtsc3V3UCt4SEgvd0M0dEF5MjF6Tlkza2trRGxUenQzN0hlcER3NjY4bHc1NnV5ajZtb3FrOFU4a2p3eXBJdk93SlE1M3lkcWxHZ3FGdEZrQjNNaHlQSUQvblFWcDZVVTdUVXJ5TWQ4YS9IMmFyMjB2R3R0SWlTSWUwek4wOTlXVngycXpjU3pSbjdwaVg2VkFiblRQVTE1WThsUVNWQjh4UU5EWDl6SEw5bzJhbU9pYVdkU3MzbktrcXE5UE05S2hpV1V0MWVySHVjdGpIY0JWdGFFSXJQVGpBTURtMk9Lemxma2Vqd1lTMzJ6NmlwYnd5QzVkWExzcXNjYzFTUGhxUzBtamUzblRuNXdSeTh2bDFwOTEvaG0wdWgyc1dFbDhRZGpVZHRiSzQwNmJrNWNNZjJsTldUVGpsbHU3U0Rodk9uMzBsc0hab1RuQ3QzVk52U1BweGg0Z3RicjJSRHFGcUZaOGZkZU1ESHpCcUk2TGFZWXU0KzBPNUpxMitOOU9GNVk2UWVVRVJ1UTJlNVNneWZ3cXN2UGx0YlNyeEhQYnlNeElrVGNucGxoVm84Q0dOdlF2cUpseUU5YWtKNW01dStQdnFEYWJFMXh4azVrUE1RVUJJNzhIWS9HcHp3REMwM29ZMUNOVGt0ZHlBRWp6am9HaDdxSWpGdGJFSCsva2ZnS2oycVBkUGU5bzB6Y3lrTUN4T1BEcCtGU2RkS241ajdjWUhRblAwcEJxV2dYRnlyTEVFWTQzekpnbnYvbFFJYkNkSlFWZmxEamZCTk11cVdLU3JkeVNGUnlTK3dQMmp2OVBHbldYU05Sc0U5WWtXSUZSMUVneVBjTyttcVNVU1EzQW1MTkwyNHk1TzVKUFNnVGN5Mm5ZQUV2bHVWU09vNXUvOEsyZ2ttVWRwMnMyRng3U3YwTkpya3lLNVNLUE12TUFpNDZHbGN4UlVTRkRubFBNZHZHczIvSGJ4NGNYTzhhS2tsYVpRN2tsaU1ibW5qaHNFYXEyQjFRay9NVXhXMmV5VlI1NzFJdUdVSDZTWTlBSXljNTY3aXRPVnU3dFlkdnEzcWtJR1NGVTdLUDUxdEh4SGJ0QVZOdkk4eFAzKzEyMzhzVXh6bjJTQ1Jqdnp2U05XNUVYT1NPdXd4UkQ3ZTZuTmMzVnJjMjhpcGMyejlwRVhQc0U5NGJHK0RTbjBnYWxheDhQYUxmYXBZcmNxODNNOEtQdGtwdmhxanNYTXhWczRIbjFweTlKYWtjR2FDdWRoSUFjOS93Qm5RUUxWOVQwaThSalkyVTF1a2dPQWhBWlI3LzhBbHZTL2htZms0WldJTitzdVpsQkhUWll6VVhXUEpBd1FEMys2cEhwMXJjdzJOcmJ5eVFXcUxMSTZ1RjVtT1ZYSktuWWpBOHFDNFlMZU81NFdTTnlNUFpZeDQrem1xRzFhTHQzYVNhYU5VS01VOFNUanA1YlZQYmFXNWx0cFlSTThpeFd2TWp1TWtaeUQ1YmtlSFNvSEpwOGpLVEoyYXNRTjg3azBDWFFZemIyMm9kbGx5aWNyN2JFNzlQREZKWnJlZHJScHBrTnVqamFVNWJPTnNZRzVwKzBxd0ZySERHcmMvcmpCV0lIUWNySEsvR3RMN1Q1N2lYKzBDUWdZSE4wMjIrbFp0NTA3WVkrdVB2OEE4UmkwampnWjRvb21ZY3h6STRCWnZjZTRId0ZUUGgvaEdQaXBiaWRMdHJVd0ZVdzBlZWJJelhIVDlEakJaN2libWJtMkVaK3BwVGROYzZkeUpZVDNFVVR1VEl5VEZTZHRodDg2MDRuNWZRNHR4R3p2ckJTTWRBSVQ4ZSt1VGVqVzF0OVN0SUJQTE0xMHhpRGxUaFFCbm1ZZE01STc2ajdhenFEanN6cVY0Y2VNNzQrdGQ3Vzl2WUFadlhibFd4OS90V3lQZDRkOUJNckwwYXBwR3RhZmVSM1NUU1IzRWJIQ2xSeWc1eGpKcTBxb0xTTld2cHVKOUxFbDdkU0sxN0NDcG1adHVZZGQrbFg2ZXRBVVVVVURUcTQrMmkvd242MDF0MU5PbXIvcm92OEFDZnJUUFBMSENwWnpqYWdEc0RVSzR1aHhZYWl2UU5IbGNmNjhhMTRxNDhYU1VFTm5HajNMOU9ZbkNqeDg2YmZXZFExYmc1dFR2cEF6VGh5Z1ZRb1ZRUVBxQ2FDRVhGdTdXeW96S01nZE5zVTBYQ1BDQkVHWEJ3VGdZSTY3VktIYnNiZHBHSHRnWlRJLzFtb3hKekdWM2JxeHpXZTd3N3orUERjN3JNZUF5NU9BU0tuU1hNTDdKS3JmOFZRRE9XQTdxMDFKR1V4U2dlMFJ5azFwd1h4dzI0T2lwdjhBOW8zMXB6WTdud3FydUNiNjhrMGRVam1iMkhJTy9qdlUxaTFDNVFEdHZhWG9jamNVRHV3NXRxMDRDY0ZMRWVBSS9FaXRJWmttNVhRN1Z4OUhzM01iTmM3Q1dSZmt4b0p0ZkgvYlpQZVBwU1EwdnVJRExleW5jS0NOL2dLYTlTbkZxamN0QWt2dFN0ckNKNUo1TUtpbG14NENxeDFuamR1STVFc0xTMDdLSU1aREk3WmJsQUk2ZDNXdCtPdFVZV0poRGUxT2VYUGwzMUh1R3JWVGFYdW9NRHpSc3NTanVPUVNmajdOQjJFWmRYWEdmZFRCcU1oYTRNU2hWUkdJQVVZQnFVVHNscEZJUUQycFBMeWtkQjQrN3pxTno1bmxKVUU0OHF6M1hmTCtQQ1l6dWtHUXE3VjJFODhkbklZcFdRcnY3SnJUMWFSNU1jcEg4NmQvMFMwVm82djk1a0xINVZwd08vQzNHT3BtV08wbW5hVWNuc2N4NllIU3A5YjYxSXdIYXB0anVxbk9IM0Z0cmRtejdBU0JXOXgycTRvTFJKR1pCOTVlbm5RT0Vkd2s0eWh6VHR3dC93QlpXYnU5VlA4QS9JdFF1R2Q0Sm1HY0ZXd1JVeDRQbEUydE00UC9BTk1lNysrdEJDTkUwK1RTN0o0SmVYdE8ya1p1WHpZMU9kS3hIcDhEZDVWaWZuVVB2NzVMUjNabEp6Tnk0SGlUaXBaWmN5NmRIL2tEYnpvSzk0cmtFbkU4elo2SW4wcU5YNHlkcWZPSTJ6eERjKzVmcFRUS25OSW0yY2tESGpUcFpOM1J2dG1oMCtLU2FRTjJyZEdBNkR3cnRaNjFjcmF1OXFxdElTQXNiSGwybzFXWkk0eEFxZ2pxRjhLWTRnOFYwcmMyQjE2OUt4anpkdlI1c3JoSjRwZWt2djhBVjU1OU50cHV3YUtRT1ZsVFBkaXRiQjF2Z3ZNUGJCcmxCZHpYRnVlMVpKQXV3QXJhR2FDMlpaMFhra0RxQ21ldTliZVpJYmVMc21Ia0t0ZmlxSzZmUkltdFFHWlFBUm54QUg4NnE3MlRHc21lbzdxdUtlNTdEU25tNUE2eFFoK1h2SkFGQlN5Y00zV2xjZkd6V09TNGxoc29IbWtSZGl4NW1QeUdCOEtkZUI3bHRKOUN1cFhJREZvN3FSaHk1VTdtTWZ6cVIzdXAzVjNxTWx6RlBOQUh4N0VjaHdNREZaNGllVzQ5RitybVZ5N25BeTMrTktDdGhyK29jN01zaXV1VGd1bWUrdTBYRTJvR1ZWS1FGU1J6Zlo0eitOTWZPVzVjWkI1Um5Qald3a0FZQWpjQTlQR2drdHlXdVk1T1pzdVZiQXgwMnFFU1pqZTZpbldYTEVoQ2k1S3NEa1o5MVRMTE5HVzJ4eWcrT0Q0VkhaazdiVUpqSm5rRWhMRUR6cGJydGNjZmE2Y3dIa1QxaHhIa2NwM1hxZkh5TzFKMXM0MllBN0h4cFhLVWVRSkVDVVFZQjhhNWVJT2MxbVQ2NitXLzFuVGVLQkkxeHpad2NtbjdoMWsvU1RiNCt4YjZpbU9Od1VPMk1lRk9tZzUvU0xMak9ZaWVubUswNHBQZDlwY1FjdHVzYk5rZnJISTI3KzZ0QUpBUGI1U09tT3VhNXU3SS9Mc0FlN082MWxaWFZVQXdSbnczRkIzaTVvOEJJMDh5Um40VXU5STREY0ZjUDViQzg0SlAvbDAzd3VDZ0hMN1pPY0grVk9ucEpVRGd6UTR4SExJeGZDcEdoWmllejhQem9LdGdRTklNN2o5bW5hM203RndGQmRzNUJidUoyTzFJTFcxMUNXUm1PbDNNS29Nbm5YZmJ2cFhHUzBweDdJRGJzZWdvSFhTcDU1cjZmbmx5UkNNQmp0ako2Q200R0tLTUhtNTJDKzI3SEdQZFduTjZ2ZW1XS1J1UVF1cEo3OXRxajl0cURNcW00VWNvR3h5Y1pxVzZqV0dIdGxvL1RYWHFjVU1jTW1TaHlHSTNHTnR2S214N3VSMzJjazlkanRTV1M3ZTVQYUhBeUJzS3hHeHlvT05qM2Y2M3FTYTdiOHVXN3FkUktkTFZuaEJKSnlkcWxtbDhOUWE5WTNJbG5hSXE2Z0ZRRDNacUhXTjlIQkFGSXkzajRWTk9HYnFjV1YxTEpidXNIYUpsenN1Y2JiMXB5YlEraTJLS1VUbTllV01uY05GZ0g4YVhhandqcDB0bjZ2RTFyYnlNTUJzTVQzK2RLZEVuWFhkY3ZiU2VROWxib3JSVy9OZ01Ebm1ZK1BkN3FrRnZwRU50S3hNazl3enRrTEkyUXZ1SFFVRmU2VHdPbHRybG5jRFUyWm9MbEdLQzNJNXVWZ2NaejA4NnQzdnBMYlBod2lSQkZPZDhZUHVwVlFGRkZGQTNhb0FBcmtiaFNLZ2VzM2JoaXZON3FtdXV6Q0dOYzV4eU1mbFVBMXdOSHBrMXljZXhIbmZ4NWMwRlE4UVhSdWRadVhVN0tlVmZoVnEzVmlscHdwSHA4WVZUSGFZQ0h1SU9UOFNEVlY2TlpIVjlmdExVZ250NVJ6ZVF6ay9oVnY2dXZyZHNaL2FXTHRGTGN2WEJVQS9IMmFMTHE3VmxxMXc2ZllyOXhCN0pGTXpRTThZWVlESHhOV2ZxSEJGdmNNVEZQS2hYT2M0d2Z3cEphZWowdk1yVFRza1hMdVZJSkhsMHFTYVhQTzUzYUJhYnBKdVp2Yis2TjJJck92V2FycGtjcUFERG41ZEt0U3g0U3NBaEVVczRRSXo4MlZ5MlBoVFBxSENVRTNEWE9zc3hKU1U0T01aQjkxVmxHdlJ4Sm1hOHRpZnZSYzZEekIzL0FBcXhMbUlUYVBMY1JEMm84RnNlWGZWUmNQWEw2VnJsbE1qRUJaZ0c5eE9EVnhzeTJONkhVWnRMazhrcW5vcGJiUHUzb0dtMHVtaGRaQVRna1pBcFp3VE9MRFhyTFRwYzlwSmNTT2hBMlpXeVJqK2RNdHdodEw2VzF5ZnM1T1VlN2I4NmNOQzdTYmpEaDJSZDFodW1WaDRCa1A1VUZzM3NxeExudjYvaFVXMWhqTkp5QVpESXJaOTdFRDZVOTY2N0xDV1Q3eS96Rk1jTXhsa2FWUmtCVnhub1BaMno3aVNhQ25PT24vcldLMkJ6MmE1UGh2OEErMVBQRDFvZzRMdDFjQU5OZmRxYy90QUt5MUYrSlpEZWNUWGZaNWJNblpvRDEyMi9HclZ0TkV0cDdUUzdVODhjRUxsUFl4bmJidzh6VXMyMWpsNjNhRHo4MS9BR2NEbVhLQWp2eFRLMm0zQ3NRRXlmRVZZeThLMnlYdDliTE5NR2pKZGVuY2R4MDhLVmFid25ZM0Z4Mm5yRTVpWmViR1I3TzN1cEpxSmxsY3J1cS90ZE5XMllTU2dHUWRGRytQZlNtNFFpYVpjZElmcWFtdHZ3aGFTdVpqTk9VbGxFY2VDT2c2bnBXeWNKMlUrclh5R2E1NVVqeCt6NCs2cWluYisyTmhxUkFHQ09WeDhnYXR6VExzemFSWTZyRjFhTUNRZmhWZWNhUWlQVlZrakI1QWdRRTkrTnY1VkpPQk5RRXVoVFdya25zV3hrOUFEUVBHdEtrZDRzMFdPU2RBdzkvZlVoOUhrdmFhdGNlSFliZnhpb2pxTTJZRmladmFna0pIK0Uvd0R0VW45SERaMXFjZjhBNlhQL0FLMW9JbnJCTDNxeGdBZ08waitJOXJBL0hOV0V6Q0pKRjVsKzR2S3VSbkdLcjY0NVpkVHVEa0U5dXNYVHdiSit0VDdVWVkwRThySXBkQ1FqNDNBb0txMXVVdnJkd3hQZ052ZFhBWE5zbHE1TGp0VVBOaklCK0ZJdGRtWVhGOU1wWUZGMks5YzkxUUc4dW5hY2UwU3luZHM5YTU1YzMxajFlR1h4WS9sK3BMZUdhUzZKVWtrNzU4S1FlclN2S0FaVGttbHVuM0l1cmRKZjJpdUc5OUUwVEJ3M05qZXVrbW5tdHQ1cDZzTkZES015Uzh6WTZOakZhNmpwNzJlcFdrUWtaMGJHU3h6dm1uSFNXYnN3YzgzeDZVNFhWa1pKVXVEdnk3Z0dpRmtFNFdKVUo2REhTcmR1cHM2Sk9CbmxOdjMrNnFXdDNMU0VFWU9maFZ6VFdNbXBhSmVXU1N0RTh0cVVXVmVxa3IxK2xCR0VRTWVZSGFsV3VyemVqVFZWR01rLy93QjBxaDM0dTRvMFcvYTN1N21UbWpPQ3NneXB4NzZ0dlROY200azlDMnAzc2thUnlDUm95RTZIbFpOL3hvSzVueUlJK1Rvdk56TVc2QUhvSzR4eXJJd1lEQkIySnA0c2JSWjRnU0F5a25JWWVPS2NZOUd0MklMUktBTnhzQlFjYldUdFlJejNjdU1VMXpsb3BKeGtjenlIcDFJL2xVcWkwK0dQb3VCanBqYWtzdkRsdE5QSk9aWmdYSllnRVkrbFN6YmVHZnB0RmhrREkySGNLMkdDQnR2VWxYaHEyemd5VEtldTVINGJWbitqbHBnL2F6NDk0L0txd2krTUVuYnc2VTZhRDdWK3c1aUIyYmRCbndwMEhEbHBqUGJ6bkhka2JmaFhXMzBtQ3dtTWtja2pFakJERVlIVHdIamdVRzU1QTQ1ZVlkK2NaLzEvNzFvWHlwSVVxMiszVTQvMXY4YTZFRmlBRDdQZUNEbnIxcldRTUdIczV5TTV4OGYrVkIwaWN4bkNIZGpndVJ6ZjZIV3BoeEhJVHdsb3pqbVVFTGtFZjNPK29jaFVmWmxTTTVHMndQOEFyTlM3aVovL0FJUzBRZ2s4d0h4OWlnaXF1eXVHRGtNT2hCNmU2bSsvc0JNcGtoQUVneVNnR0ZmM2VCK3RLUXg5bzVHMk90YjU1d1ZCTzQ2MEVNdkpwWU96RXZNbVg1R1R2QUlOTWswbkxDa0ErNkFDU0RuTlQvVWRKZzFPTUpKN0VpYkNWUnY3ajVWRkp1RzVMZVF4dXpIQjJaUnN3OFJ0VXMyNlk1K3NzbjAyeEg3TVkrbEtJbFBObk85TzF0dy9IMmE4enljM2Z1TUNsUTBLM0EvV3krZU1WWE14dkt5cGhUVDNvZDlPdHRNaG5rS0YxeWhZNE8zaFhHYlNiWkdSV21sSE41ak5LYld5aXQxSVdTVGxmY2x0K2c4cUJ6aXVDMDZNWGtqbUI5bVdKK1YxejRFVllPajYzclN3a3oyMFdvUkQ3clJuc3BjWUdCeS9kUGZ2a0dxNnQzQ01DUU4vTDhLbk9nM2I4MjhtQXdJVXQreHQzZTdOQktkTjRnMC9VSkNycWJTNVJnaGh1MUtPR1BRTG5aaWZJbW5xbWkzbGpOd1N5eFNGbkdNWVBUdjkrNHAzb0NpaWlnalhFNnMweWdrOGpXNVhIbnpqUDRFMUJlUDUwc3VHVEVuM3BUZ0RmcWVwK1cxVDdYNWd1b1dzTHFBanhzUTU3am5wK0ZWaDZVNUdTMjA2Qm05cG1MRWVBd2NEOGFDTytqNnhNbXVldG5ZUWxVSGp6TWNmVE5XZXRzSDBhL2pQVkdWdmhrMUZ2UjVZTkhwOXRJdy9YenRQMDZCUnlqOFFhbjBVSVByY0lHZTFqUHpGQXhMUDJ0cmJ1K2VTWmV4Y2o5bHh0ekQ4S2NYak52dytrU2pNa2poRlB2cHFzMUUybjNsc3g5cU05b244eFR2cGg5ZnQ3UW5jdzdON3gzMEdVajlXdHJ0QVFSRGJpUElIei9HbXlmN0hoS054MWRtSHpOUFYwT1RUTlJrd1J6RHFmZUthTlZqeHduQUUvWWt5Y1VGR2FuQzFycVZ4R2RzT1NOL0hjZldyU2p2VGU2SGFOekQ3V0JlVnozUGpwOHh0NTFBdUw3VXhYc055QnRNbUNmTmFVY1AzNU9pdkF6WUNTSGxiUFR2K3RCSUh1dldyMkdadnZPTXllOWRqOUtmZURnVHhMWXR1VjdiYnkyTlEvVG05WXVwQzJ3UUZ2aWV2MHFjOEZBSFdiWTQyN1lFZkkwRmc2bmd4emc3N0FnZUpHLzhBS283YjRPa3U0VDdNb1dZamJtR09ueDZlNFV1NGgxU08ya25RRWN5akh4d0RUUGFYZ3V1Rkw0aHdJNHc0YkdOdHM0OHNENjBGUDhQeG05NHZ0cEpQYkFtTXplNFpQNVZkVm5iOW5ZV2hJM0I3VDRtcXo5R3RpTG5VYjJZNHlrS3hqL2pPK1BsVnZYRVlqVUFEQUEyOHFCazFGdlUrSlVtNkpLTW56RFZ0WU42cGVYbG9NZTE5ejNWbmlHTXZhMjF5QWVkY0thNE0vTk5hWGlBL2RBZWdmSUxZUm16aC9jR2NEdXBCWVplODFOaDNoZ1BoVDVibFpabzVWNzk4MHk2WkdSZTNhSHZsYjhhQ3ErTGJjU2FkSytEenhTQnMvR21UZy9VUFZkUW50MlljazBlNDh4MHFaNjViQ1VYMXZnRG1EZGZMSnF0Tk1mc05YakIyM0ttZ21WNWRNOHp4ZysyUUZCODg3VllQbzJCL1R0enpkZlZnUC9XdFZiTElFMUszTEhibUI2MWFYbzBmdE9JTHR1NHdELzhBTmFDS2FReVhXdDJ1UnRQZkZpUEhMWStnRlRuV3JneGFaS3g2NEpOVjd3UGROZmEvYnRLQUNzMDJBUDdwYkIvQ3BWeFBkbjlEdTJjY3lFMEZPYTlmOHR0S0FEenMzS0NQUC8ycUdrbGpudk5URFVMZUs4dG93eFZUejh6bnZJR2FRTERaMjQ1WUlBVy9mZmNtcEpJM2xuY3BKZmpscFRHM3NXbExjcDVzZ0h2cGNiZ3lFQW5wVGZmTWlSY29VYzNmU3pUcmZ0OU9TNFJBNTVpckR3eFZZT09tYW0xck1WNXRtNjFNbDFOWHNobjkzQkhmVUJFUDJvNW9nUGhVczBWclVxaXZiSVNUam1id29GdG8yL01Ua0hwVjU2ZmR4UVdEVFNON0tybmYzYjFVNlBvNndxb3RvUnlqZnI3UnJoclBHTTM2UDlVZ2ZCWVlPTzRlRkJIT0kxdGRVbXVXa1FNclNzeW53R1NhbWZCVmcwdm9QMVcwdCtkajZ6TVJqcnNVWS9TcXd2NzFsanhra21yajlGQTUvUmpjcXgyZTdtQko4d2dvSXBwRUhKcHNkeE12SzBqZlpMayswcDN6VHNwQU93N2hqek5NcVN1bW9pemtsYVZJQ1ZRRTdBS2U2bjhLckJteGhldWU3RkJqN294Z2sxaFpjdnlZSkFIVUdzeVJNRUxad2NaNVNLNTRPRHNjK1kvblFkK2R1aUhiNTFnRDJjWVB4RzljVWZBMlBYNFYwVml3emdzZS9Cb0FuR1FUeTR6Zy93QXF3VGhCdm5JNm5yOHFDZmNNYmN0YUFnRTV4bkI2MEdnNU04ekFnWS8wUGxYTW9TZnZnSGJyMThmeStWZE9YMmxBR1d5ZDY1OHc2a0gzWW9NdkNjOHlqR01mRDRWTHVJRlljSTZHR1BQeXF2TnQ5NzdPb2h6OXhiYnI0VktlSjc0V1hDL0RuTS9La3pDTWhoMSt6L0NnaXVPYlBOakhjTWRhMC9heHk4dWVnOGE3elFZNW5CQ2dmUEZKK1ZTVkkzeDMwR1ZsSDNOeGtlRmRTQThaamtCZFNjanhYekZDQk00T0NCMXdkeldIQWRSM1p4MzBDQ2Uza3R4a01YakoyZm9QY2ZDa3JTa0hMTm5hbmpsSlU1WEtzTjg5Q0tSWGVuaFVhYTN6MmY3UzR5VndOL2hRSkJjY25LTUFIdXJET25VYjRwT010c3B3TTV6L0FLOHEyRGN2VEhUT1Nlb0hoUUxyTzJrbmtRUSswVGpZSDRWTXRJMHk0aWdMU3pyR0NRQ3JibkgralVRc3B1eVFnQTV4MXowMzYvaFRzTlRsN1BzNHBlVlJsY0U5VHRRV0ZhV2lKTmJzMDZIMmc3RUlSa2dnZnpxUVZWT2hheGQvcExUb2VkaWhrVUU1OFdXcldvQ2lpaWdoM0Z0NExmWDlJUnNGU0dJQjhTY2Z6cXR2U3dXL1M5Z0dPY3dNMk0vM3F1KzYwdXh2YmlHNHVyV09hYUQ5VTdqZFBkU0xVT0ZOQjFhVkpOUTBtMnVYUmVWV2tCSkF6bkhXZ2luQittbTAwVzBSd2N4VzZyN3MrMGZ4YW5sWEVWekdjYlp3YWtVZGpheElFamdSVkFBQUE4TmhXRHA5bVRrMjZFMEZkbFRZNjJ5SFpYT0Q3alMvU3Y4QVk3MldJNTVHSklQdnFZVGFOcHR4SUpKcktKM0hSaURtdGhwVmdHREMwaXlPL0JvR1BWSS82a3ZQN3cvblRYY0tINFptSVhPQUdGVFY3TzJraU1Ud295SHFwNkd1UTBxd0Z1YmNXa2ZZa1lLWU9LRHoxeGRidE5wSWwzUFpPQUFPNFkzcU84T3lyL3ROdXgrOE9ZZWZqWHBtYmhIaDY0aWFLYlI3VjQyKzhwQndmeHBKRjZQZUVJSDU0dUhyRkd4aklWdnpvS0cwMlpvN3U0UW5ydHZWaThHNUd0V0FBeURMa240R3B3dkF2Q3F1WFhRYk1NVGtubGI4NmNMWFFkS3NwVWt0ckNHSjBPVlpRY2o4YUN0ZU03a3J4UmZRSzJBM0psZkU4b29VVFdmQytyUWNvN0pyQ1YyYi93QzZRUjlLc2U2NGMwYTl2R3ZMblRiZVc0WWdtUmdja2dZSGY1Q3QzMEhTcExlV0JyQ0V4U3J5eUlRY01QQTcwRldlaVcwUHF0OWRzdjJaa1ZRM2p5Zy8vd0NoVmdTL2FsaFRwcDJoYVZwTnMxdnA5aERiUXMzT1VqQkFKOGV2a0tVK3BXMmM5Z21hQ0xUeENhMmt0bXpuSkswMGFhQ3lTVzdkVU93cWZtd3RHZm1OdWhieHJrbWs2ZkhJMGlXa1N1M1VnSGVnYU5ObTVVQ01jWTJGSkxST1RYTGxjZFJ6VkpsMCswUTVXM1FIcnRRTlB0Qk9aaGJwMnBHQzNmaWdxSFhDWXRWdUF3TzVZVlZHclF0WmF0SU1FZTJHRmVxcmpoelJycVF5VDZiYnlPM1ZtQnlmeHBCYzhBOEpYa25hWEhEOWxJL1RMS2Z6b1BQRjVNWHU3WmxCUE1QNVZhdm9tbVY5WnVWTEF5QzNHUjRlMnRUUmVCT0ZWWkdYUWJJR1A3cDVUdCtOTGRNNGMwYlJydVM3MDNUWUxXNGxYbGVTTUVGaG5PT3ZpQWFEejk2UGJpNFhpMlZDVjdPRkxsK200M1A1MDljZGE5RGFXeHRZMlZwaUNHVWZzOUt0Mno0SzRhMCs0ZTR0TkZ0SVpuQkRPaW5KQjY5L2ZYSzU0QjRUdkpXa3VkQXNwWFk1TE1HSkorZEI1WmVSekdNbmRxd3VVeXhIUVorTmVvditqamczL3dBTjJIOExmblFmUnp3YVFRZUhMREI2K3kzNTBIa3FWbmxiY2UrcFJ3NE96MDREbFB0WlA0MTZLLzZNK0NmL0FBenAvd0RDMzUwcGg0QzRUdDBDUmFCWklvNkFLMzUwSG5xUzM5ck9EV1VrbGpHRkdLOURuZ25oZzlkRHMvNFQrZFkvb053di91S3ovaFA1MEhuczNFaWpkalNOM1krMWs1ODY5SG5nVGhWdXVnMlIvd0NGdnpyVThBOEpucncvWmZ3dCtkQjVjdW5hV2MrVzFYbjZObU52Nko3aHlOMXZITy8rS09wWi93QkhQQjJjL3dCSExEK0Z2enAzczlDMHV3MDF0T3RMQ0dHelppelFvRHlrbkcvWHlIeW9LVTFGUmFjWVhLdi9BTnBLV0JBMnczaFQxRTNNb3gwWFlaNmJISDhxc3E0NFcwSzZuN2VmU3JhU1hBSE93T2NaejQxMFRoN1I0MTVWMDZBTDRZUGpueG9LemxZeUFuQjJIK3Mxd0xkWFpXejRuWWtlWXEwMjRkMFp1dW13SDRIODZ4L1J6UnM1L1JzR2NZNkg4NkNxbFp6azVPRDM0N3ZBVjNMbGM4cnRrZXlEamIzMVozOUc5Ri8zYkI4aitkQjRiMFU5ZE50K21PaC9PZ3E1bUhRNUoyMno4cTJKQzdnRW56cTBEdzVveElKMDIzeU44NFA1MWdjT2FNQmdhYkJqM0g4NkNyMkF4bkJ5ZkRwV2tudDU3Z1J1ZkNyVEhEZWlnQURUYmZBNmJIODZEdzNvcE9UcHR2OEFJL25RVk5saVNDMmNIT01lRk92cEhCSEFYRFJ6dXJxYy93RGwxWVo0YTBRbkoweTN6N2orZGRiN1F0SzFLemhzNzJ3aG50NGYxVWJnNFRiRzIvaFFVenBlcEhWTE5lWVlsanh6QURxT2xLRUdIOGo0VmFkdHdmdzdac1d0dEh0WWkyeEtnNy9qWFgrakdoNHgraTdmSHVQNTBGVTU1R0tnTVQxSUhkVzRKS2hnblRwdGpOV24vUmpRL3dEZGR2OEFJL25XMzlHOUcvM2JiL0kvblFWZW9WUGFiMmxHQmcvNjZWaU15eG9Xa0lEQmlWWkQxWFBzOWZ4cTB2Nk9hTi91MjMrUi9Pc0hoelJqMTAyMytSL09ncVc1MHRMbFRMYkJJNVd6elJqbzNtRDNlNm1ZeE1qbm5SZ1ZQdEJ0aU1WZW45SGRIMi9xMjMyOGorZGFTOE1hSE8vUExwZHM3WXhrZzUrdEJTcUtwQUJCSTZEQjdqWFJuWitYbUJHQ0Q0K05YSC9SUGgvL0FIUmEvd0FKL09nOEo2QWV1a1d2eVA1MEZWNk5NejY1cGlndG4xbU1IdysrS3UwOWFhSWVGOUNnbWptaTB1M1NTTmc2TUFjZ2pvZXRPOUFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUWYvL1omcXVvdDsgYWx0PSZxdW90O1lvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkmcXVvdDsvPg0KPGgzPlN0eWxlc2hlZXRzOjwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz5kaXYuaGVhZGVyIHsgYmFja2dyb3VuZDogdXJsKFtbU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9waWN0dXJlLmpwZyYjMDM5OyBub3RhZz0xXV0pOyB9PC9jb2RlPjwvcD4NCjxwPkJlY2F1c2Ugc3R5bGVzaGVldHMgYXJlIGdlbmVyYXRlZCBvbiBtb2RpZmljYXRpb24gYW5kIHN0b3JlZCBpbiB0aGUgZmlsZXN5c3RlbSB0aGVyZSBpcyBubyB3YXkgdG8gZGV0ZXJtaW5lIGR1cmluZyB0aGUgcmVxdWVzdCB3aGljaCBicm93c2VyIGlzIHJlcXVlc3RpbmcgdGhlIHN0eWxlc2hlZXQsIHRoZXJlZm9yZSBlbWJlZGRpbmcgd2lsbCBiZSBkb25lIHN0cmljdGx5IGJhc2VkIHVwb24gdGhlIHByZXNlbnNlIG9mIHRoZSBub2VtYmVkIHBhcmFtZXRlci4gIElmIHlvdSBoYXZlIGNob3NlbiB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB5b3VyIHN0eWxlc2hlZXRzLCBZb3UgbWF5IG5lZWQgdG8gYWRkIGFkZGl0aW9uYWwgc3R5bGVzaGVldCBzdXBwb3J0IGZvciB0aGUgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMuICBpLmU6ICBJRTYuPC9wPg0KPGgzPkF1dG9tYXRpYyBQcm9jZXNzaW5nPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGluY2x1ZGVzIGEgc21hcnR5IGJsb2NrIHRhZyBjYWxsZWQgPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntzaV9jb252ZXJ0fTwvY29kZT4gdGhhdCBjYW4gc3Vycm91bmQgYSBibG9jayBvZiBodG1sLCBvciBvdGhlciBzbWFydHkgdGFncyB0byBhbGxvdyBhdXRvbWF0aWMgaW1hZ2UgcHJvY2Vzc2luZy4gIFRoaXMgdGFnIGNhbiBiZSB1c2VkIGxpa2U6IChmb3IgZXhhbXBsZSk6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e3NpX2NvbnZlcnR9e2NvbnRlbnR9ey9zaV9jb252ZXJ0fTwvY29kZT48L3ByZT4NCjxwPlRoaXMgd2lsbCBhbGxvdyB5b3VyIHVzZXJzIHRvIGluY2x1ZGUgaW1hZ2VzIGludG8gcGFnZXMgdXNpbmcgdGhlIG5vcm1hbCB3eXNpd3lnIHRvb2xzLCBhbmQgdG8gaGF2ZSB0aGVtIGF1dG9tYXRpY2FsbHkgcHJvY2Vzc2VkIGFuZCBlbWJlZGRlZCBpbnRvIHRoZSBwYWdlIHVzaW5nIHRoZSBtYWdpYyBvZiB7U21hcnRJbWFnZX0uIGkuZTogU2VlIHRoZSBmb2xsb3dpbmcgY29kZTo8L3A+DQo8cHJlPjxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57c2lfY29udmVydCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xfXtjb250ZW50fXsvc2lfY29udmVydH08L2NvZGU+PC9wcmU+DQo8cD5UaGUgYWJvdmUgY29kZSB3aWxsIGNhcHR1cmUgYWxsIGltYWdlIHRhZ3MsIGFuZCBjb252ZXJ0IHRoZW0gdG8gZ3JheXNjYWxlIGFuZCB0aGVuIGFwcGx5IHRoZSB3YXRlcm1hcmsgKGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gdGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUpLiAgQWxsIG9mIHRoZSBwYXJldGVycyBhdmFpbGFibGUgdG8gdGhlIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZX08L2NvZGU+IHRhZyBhcmUgYXZhaWxhYmxlIHRvIHRoaXMgdGFnIChmb3IgaW1hZ2Ugc2NhbGluZyBldGMuKS4gIEFkZGl0aW9uYWxseSwgdHdvIG5ldyBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOiA8c3Ryb25nPm1heF93aWR0aDwvc3Ryb25nPiBhbmQgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldCBhIG1heGltdW0gc2l6ZSBmb3IgaW1hZ2VzLi48L3A+DQo8ZGl2IHN0eWxlPSZxdW90O21hcmdpbi1sZWZ0OiAzZW07JnF1b3Q7PjxzdHJvbmcgc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+Tm90ZTo8L3N0cm9uZz4NCjxwPlRoaXMgdGFnIHBhcnNlcyB0aGUgSFRNTCBjb250ZW50IGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgdGFncyB0byBmaW5kIHRoZSA8aW1nPiB0YWdzLiAgSXQgdGhlbiB3aWxsIG91dHB1dCBzeW50YWN0aWNhbGx5IHZhbGlkIEhUTUwgZm9yIHRoZSBzdWJzZXQgb2YgY29kZSBpdCB3YXMgcHJvdmlkZWQuICBUaGVyZWZvcmUgaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlIHNuaXBwZXQgb2YgSFRNTCBwYXNzZWQgdG8gdGhpcyB0YWcgYmUgaW50YWN0IGFuZCBhcyBjbG9zZSB0byB2YWxpZCBhcyBwb3NzaWJsZS4gIDxzdHJvbmc+VXNlIHdpdGggY2F1dGlvbi48L3N0cm9uZz4NCjwvZGl2Pg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPlRoaXMgbW9kdWxlIG1ha2VzIGV2dGVuc2l2ZSB1c2Ugb2YgdGhlIEdEIEltYWdlIHByb2Nlc3NpbmcgbGlicmFyeSB0byBkbyBpbWFnZSBtYW5pcHVsYXRpb24uICBBZGRpdGlvbmFsbHksIHRoZSB7c2lfY29udmVydH0gcGx1Z2luIG1ha2VzIGV4dGVuc2l2ZSB1c2Ugb2YgdGhlIHNpbXBsZXhtbCBhbmQgWE1MRG9tIGNsYXNzZXMgYnVpbHQgaW4gdG8gcGhwLiAgVGhlcmUgbWF5IGJlIG90aGVyIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgZXJyb3JzIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgZXJyb3IgcmVwb3J0aW5nIGlzIGVuYWJsZWQsIGFuZCB0aGF0IHlvdSBoYXZlIGFuYWx5emVkIHlvdXIgZXJyb3IgbG9ncy48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7DQokbGFuZ1snaW5mb19hbGlhc2VzJ10gPSAnVW0gemFobHJlaWNoZSB1bmQgaCZhdW1sO3VmaWcgdmVyd2VuZGV0ZSBPcHRpb25lbiB6dSBrb21iaW5pZXJlbiBrJm91bWw7bm5lbiBhbGlhc2Ugdm9uIGFsaWFzMSBiaXMgYWxpYXM1IGR1cmNoIFNtYXJ0SW1hZ2UgT3B0aW9uZW4gdmVyd2VuZGV0IHdlcmRlbi4nOw0KJGxhbmdbJ2luZm9fY3JvcHRvZml0X2RlZmF1bHRfbG9jJ10gPSAnU3RhbmRhcmQgcmljaHR1bmcsICBmJnV1bWw7ciAmcXVvdDtjcm9wIHRvIGZpdCZxdW90OywgZGllcyB3aXJrdCBzaWNoIGF1ZiBhbGxlICZxdW90O2Nyb3AgdG8gZml0JnF1b3Q7IG9wZXJhdGlvbmVuIGF1cywgYXVzZ2Vub21tZW4gZmlsdGVyX2Nyb3B0b2ZpdCBBdHRyaWJ1dCAmdXVtbDtiZXJzY2hyZWlidCBlcy4gU3RhbmRhcmQtRWluc3RlbGx1bmcgaXN0ICZxdW90O2NlbnRlciZxdW90Oy4nOw0KJGxhbmdbJ2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ1omYXVtbDtobHQgZGllIFVSTCBvYmVuIGYmdXVtbDtyIGRhcyBad2lzY2hlbnNwZWljaGVyLVZlcnplaWNobmlzIChfU21hcnRJbWFnZSknOw0KJGxhbmdbJ2ltYWdlX3VybF9wcmVmaXgnXSA9ICdCaWxkLVVSTC1QciZhdW1sO2ZpeCc7DQokbGFuZ1snaW5mb19jYWNoZV9hZ2UnXSA9ICdNYXhpbWFsZXMgQWx0ZXIgZWluZXIgRGF0ZWkgKGluIFRhZ2VuKSBiZXZvciBlcyBlbnRmZXJudCB1bmQgbmV1IGVyemV1Z3Qgd2lyZC4gTiZ1dW1sO3R6bGljaCwgd2VubiBkaWUgRWluc3RlbGx1bmdlbiB2ZXImYXVtbDtuZGVydCB3dXJkZW4gb2RlciB1bSBkaWUgR3Imb3VtbDsmc3psaWc7ZSBkZXMgZ2VudXR6dGVuIFNwZWljaGVycGxhdHplcyB6dSBrb250cm9sbGllcmVuLic7DQokbGFuZ1snaW5mb19lbWJlZF9tb2RlJ10gPSAnVGhpcyBzZWxlY3Rpb24gZGV0ZXJtaW5lcyBob3cgdGhlIHtzbWFydGltZ30gdGFnIHdpbGwgZ2VuZXJhdGUgb3V0cHV0LiAgSWYgJnF1b3Q7bm9uZSZxdW90OyBpcyBzZWxlY3RlZCBubyBpbWFnZSBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQuICBJZiAmcXVvdDtzbWFydCZxdW90OyBpcyBzZWxlY3RlZCB0aGVuIHRoZSBzeXN0ZW0gd2lsbCBkZWNpZGUgYmFzZWQgb24gdGhlIGltYWdlIHNpemUsIHR5cGUsIGFuZCB0aGUgYnJvd3NlciB0aGF0IGlzIHJlcXVlc3RpbmcgdGhlIGltYWdlLiAgT3RoZXIgb3B0aW9ucyBpbmNsdWRlIGFsd2F5cyBlbWJlZGRpbmcgYmFzZWQgb24gdGhlIGltYWdlIHNpemUsIG9yIHRoZSBpbWFnZSB0eXBlLic7DQokbGFuZ1snaW5mb19lbWJlZF9zaXplbGltaXQnXSA9ICdXZW5uIGRpZSBPcHRpb24gZiZ1dW1sO3IgQmlsZC1FaW5iZXR0dW5nIGR1cmNoIGRpZSBCaWxkZ3Imb3VtbDsmc3psaWc7ZSBiZXN0aW1tdCB3aXJkLCBnZWJlbiBTaWUgZGllIG1heGltYWxlIEdyJm91bWw7JnN6bGlnO2UgKGluIEtpbG9ieXRlKSBmJnV1bWw7ciBlaW5nZWJldHRldGUgQmlsZGVyIGFuICAoMzIgd2lyZCBlbXBmb2hsZW4pLic7DQokbGFuZ1snaW5mb19lbWJlZF90eXBlcyddID0gJ1dlbm4gZGllIE9wdGlvbiBmJnV1bWw7ciBCaWxkLUVpbmJldHR1bmcgZHVyY2ggQmlsZC1UeXAgYmVzdGltbXQgd2lyZCwgZ2ViZW4gU2llIGR1cmNoIEtvbW1hIGdldHJlbm50ZSBFcndlaXRlcnVuZ2VuIGRlciBEYXRlaWVuIGFuLCBkaWUgZWluZ2ViZXR0ZXQgd2VyZGVuIHNvbGxlbi4gR3JvJnN6bGlnOy0vS2xlaW5zY2hyZWlidW5nIHdpcmQgbmljaHQgYmVhY2h0ZXQuJzsNCiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ1dlbm4gSWhyIENETiBkaXJla3QgYXVmIGRhcyBad2lzY2hlbnNwZWljaGVyLVZlcnplaWNobmlzIHZlcndlaXN0LCBrJm91bWw7bm50ZSBkaWVzZSBPcHRpb25lbiBoaWxmcmVpY2ggc2Vpbi4nOw0KJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1VSTCBkZXIgQmlsZGVyLiBTdGFuZGFyZG0mYXVtbDsmc3psaWc7aWcgaXN0IGRpZXMgZGllIFVwbG9hZC1VUkwuIFZlcndlbmRlbiBTaWUgZWluIENETiAob2RlciBtZWhyZXJlIERvbWFpbnMsIGRpZSBhdWYgZGFzIHNlbGJlIFZlcnplaWNobmlzIHZlcndlaXNlbikgayZvdW1sO25uZW4gU2llIGhpZXIgZWluIGVpbmUgYW5kZXJlIFVSTCBmZXN0bGVnZW4uJzsNCiRsYW5nWydtYXhfY2FjaGVfYWdlJ10gPSAnTWF4aW1hbGVzIEFsdGVyIGRlciBEYXRlaWVuIGltIFp3aXNjaGVuc3BlaWNoZXIgKFRhZ2UpJzsNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VpbiBNb2R1bCB6dXIgc2NobGF1ZW4gRXJ6ZXVndW5nIHZvbiBCaWxkZXJuIGYmdXVtbDtyIENNUyBNYWRlIFNpbXBsZSc7DQokbGFuZ1snbXNnX2FsaWFzZXNfdXBkYXRlZCddID0gJ0FsaWFzZSBha3R1YWxpc2llcnQnOw0KJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdad2lzY2hlbnNwZWljaGVyIGdlbGVlcnQuICVkIERhdGVpZW4gZW50ZmVybnQuJzsNCiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnWndpc2NoZW5zcGVpY2hlciBlbnRmZXJudCc7DQokbGFuZ1snbXNnX3ByZWZzdXBkYXRlZCddID0gJ0VpbnN0ZWxsdW5nZW4gYWt0dWFsaXNpZXJ0JzsNCiRsYW5nWydub25lJ10gPSAnS2VpbmVyJzsNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9uZW4nOw0KJGxhbmdbJ3BhcmFtX2FsaWFzJ10gPSAnVGhlIFNtYXJ0SW1hZ2UgYWRtaW4gcGFuZWwgYWxsb3dzIGNyZWF0aW5nIG51bWVyb3VzIGNvbW1hbmQgYWxpYXMgdG8gY29tYmluZSBhIGZyZXF1ZW50bHkgdXNlZCBwYXR0ZXJuIG9mIGFyZ3VtZW50cyBpbnRvIG9uZSBuYW1lLiAgVG8gdXNlIHRoZXNlIGFsaWFzZXMgdXNlIGFuIGFyZ3VtZW50IG9mIHRoZSBmb3JtIGFsaWFzIyM9YWxpYXNfbmFtZSBpLmU6ICBhbGlhczE9Zm9vIGFsaWFzMj1mb28uJzsNCiRsYW5nWydwYXJhbV9hbHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBhbHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOw0KJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0mcXVvdDtmYW5jeWJveCB0aHVtYm5haWwmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ibHVyJ10gPSAnKGlyZ2VuZHdhcykgR2ViZW4gU2llIGVpbmVuIGJlbGllYmlnZW4gV2VydCBlaW4gZiZ1dW1sO3IgZGllc2VuIFBhcmFtZXRlciB6dW0gSGluenVmJnV1bWw7Z2VuIGVpbmVzIFdlaWNoemVpY2hudW5nc2ZpbHRlciBhdWYgZGFzIEJpbGQnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKEdhbnp6YWhsKSBFcmgmb3VtbDtoZW4gU2llIGRpZSBIZWxsaWdrZWl0IGRlcyBiZWFyYmVpdGV0ZW4gQmlsZGVzIGR1cmNoIGRlbiBhbmdlZ2ViZW4gR2FuenphaGwtV2VydCc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbG9yaXplJ10gPSAnKHIsZyxiWyxhbHBoYV0pIC0gV2llIGZpbHRlcl9ncmV5c2NhbGUsIGplZG9jaCBrJm91bWw7bm5lbiBTaWUgZGllIEZhcmJlIHVuZCBkZW4gQWxwaGEtV2VydCBiZXN0aW1tZW4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb250cmFzdCddID0gJyhHYW56emFobCkgVmVyJmF1bWw7bmRlcnQgZGVuIEtvbnN0cmFzdCBkZXMgQmlsZGVzIHVtIGRpZSBhbmdlZ2ViZW5lIEdhbnp6YWhsJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfY3JvcCddID0gJyhwZXJjZW50WyxoX2FsaWduLHZfYWxpZ25dKSAtIFBlcmZvcm0gY3JvcHBpbmcgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gQ3JvcCBwYXJhbWVldGVycyBhcmUgc3BlY2lmaWVkIGFzIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcGFyYW1ldGVycy4gIFRoZSBmaXJzdCAocmVxdWlyZWQpIHZhbHVlIGlzIGFuIGludGVnZXIgcGVyY2VudGFnZSBvZiB0aGUgb3JpZ2luYWwgaW1hZ2Ugc2l6ZS4gIFRoZSBvcHRpb25hbCBzZWNvbmQgYW5kIHRoaXJkIHBhcmFtZXRlcnMgYXJlIG9uZSBvZiBsLGMsciAobGVmdCxjZW50ZXIscmlnaHQpIGFuZCB0LGMsYiAodG9wLGNlbnRlcixib3R0b20pIHNwZWNpZnlpbmcgd2hlcmUgdGhlIGxvY2F0aW9uIHdpdGhpbiB0aGUgc291cmNlIGltYWdlIHRvIGNyb3AgZnJvbS4gIGkuZTogY3JvcD0zMyxiLHIgdG8gZ3JhYiBhIGNyb3Agb2YgMzMlIGZyb20gdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgc291cmNlIGltYWdlLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3B0b2ZpdCddID0gJyh3aWR0aCxoZWlnaHQpIC0gUGVyZm9ybSBhIGNyb3B0b2ZpdCBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZW4gZm9jdXMgb24gdGhlIGNlbnRlciBvZiB0aGUgcmVzaXplZCBpbWFnZS4gIENyb3AgdG8gZml0IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCBhcyB0aGUgZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGZvciB0aGUgZGVzdGluYXRpb24gaW1hZ2UuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfZWRnZWRldGVjdCddID0gJyhpcmdlbmR3YXMpIEthbnRlbiBpbSBCaWxkIGhlcnZvcmhlYmVuLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2VtYm9zcyddID0gJyhpcmdlbmR3YXMpIEJpbGQgcHImYXVtbDtnZW4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9mbGlwJ10gPSAnKG1vZGUpIC0gRiZ1dW1sO2hydCBlaW5lIERyZWh1bmcgYXVmIGRlbSBhbmdlZ2ViZW5lbiBCaWxkLiBHZWJlbiBTaWUgMCBmJnV1bWw7ciBob3Jpem9udGFsZSwgMSBmJnV1bWw7ciB2ZXJ0aWthbGUgdW5kIDIgZiZ1dW1sO3IgRHJlaHVuZyBpbiBiZWlkZSBSaWNodHVuZ2VuLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2dyYXlzY2FsZSddID0gJyhhbnl0aGluZykgQmlsZCBpbiBHcmF1c3R1ZmVuIHVtd2FuZGVsbic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFueXRoaW5nKSBWZXJzdWNodCBlaW5lbiAmcXVvdDtnZXplaWNobmV0JnF1b3Q7LUVmZmVrdCc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX25lZ2F0ZSddID0gJyhhbnl0aGluZykgQmlsZCBpbnMgTmVnYXRpdiB1bWtlaHJlbic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3BpeGVsYXRlJ10gPSAnKHNpemVbLGFkdmFuY2VkXSkgUGl4ZWxhdGUgdGhlIGltYWdlLCBzcGVjaWZ5IGFuIGludGVnZXIgc2l6ZSBhbmQgYW4gb3B0aW9uYWwgYm9vbGVhbiAoZGVmYXVsdCBpcyBmYWxzZSkgdG8gZW5hYmxlIGFkdmFuY2VkIHBpeGVsYXRpb24nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemUnXSA9ICd0eXBlLG51bWJlclssbnVtYmVyXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4NCiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+aCxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiByZXNpemU9Yyw1MCw3NSB0byBjcmVhdGUgYSB0aHVtYm5haWwgdGhhdCBpcyA1MHg3NSBwaXhlbHMuPC9saT4NCjwvdWw+JzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcmVzaXpldG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxjb2xvclssYWxwaGFdXSkgLSBQZXJmb3JtIGEgcmVzaXplIG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIFRoaXMgYXR0ZW1wdHMgdG8gcmVzY2FsZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc3RpbmF0aW9uIHNpemUgd2hpbGUgcmVhdGluaW5nIGFzcGVjdCByYXRpbywgdGhlIGltYWdlIGlzIGNlbnRlcmVkIGluIHRoZSBib3ggc3BlY2lmaWVkIChlaXRoZXIgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgZGVwZW5kaW5nIHVwb24gYXNwZWN0IHJhdGlvIGFuZCB0aGUgZGVzdGluYXRpb24gc2l6ZSwgYW5kIHRoZSBpbWFnZSBpcyBzdXJyb3VuZGVkIGJ5IHRoZSBzdXBwbGllZCBjb2xvci4gIENvbG9ycyBjYW4gYmUgc3BlY2lmaWVkIGJ5IG5hbWUgKHNlZSB0aGUgWDExIGNvbG9yIG5hbWVzKSwgb3IgYnkgI25ubm5ubiBoZXhhZGVjaW1hbCBmb3JtYXQsIG9yIGFzIHJnYiB2YWx1ZXMgc2VwYXJhdGVkIGJ5IGEgOiBpLmU6ICBmaWx0ZXJfY3JvcHRvZml0PTYwMCw0MDAsI2ZmMDAwMC4gIFRoZSBzcGVjaWFsIGNvbG9yIHZhbHVlICZxdW90O3RyYW5zcGFyZW50JnF1b3Q7IGNhbiBiZSBzcGVjaWZpZWQgdG8gZm9yY2UgdGhlIGJhY2tncm91bmQgdG8gYmUgdHJhbnNwYXJlbnQuICAgQW4gYWxwaGEgdmFsdWUgbWF5IGJlIHNwZWNpZmllZCBiZXR3ZWVuIDAgYW5kIDEyNyB0byBzcGVjaWZ5IGRpZmZlcmVudCBkZWdyZWVzIG9mIHRyYW5zbHVjZW5jeSBmb3IgdGhlIGJhY2tncm91bmQuICAgQXQgbm8gdGltZSB3aWxsIHRoaXMgcGx1Z2luIHBlcmZvcm0gYW55IHVwc2NhbGluZy4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nbGUsY29sb3IpIFNwZWNpZnkgdGhlIGludGVnZXIgYW5nbGUgKGNvdW50ZXIgY2xvY2t3aXNlKSB0byByb3RhdGUgdGhlIGltYWdlLCBhbmQgYSBjb2xvciB0byBmaWxsIHRoZSBlbXB0eSBwaXhlbHMgd2l0aC4gIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnXSA9ICcocmFkaXVzKSBlaW5lbiBnYW56emFobGlnZW4gUmFkaXVzIChpbiBQaXhlbG4pIHp1bSBBYnJ1bmRlbiBkZXIgRWNrZW4gYW5nZWJlbic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3dhdGVybWFyayddID0gJyhpcmdlbmR3YXMpIFdhc3NlcnplaWNoZW4gKHdpZSBpbiBkZW4gRWluc3RlbGx1bmdlbiB2b24gQ0dFeHRlbnNpb25zIGRlZmluaWVydCkgYXVmIGRhcyBCaWxkIGFud2VuZGVuJzsNCiRsYW5nWydwYXJhbV9oZWlnaHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBoZWlnaHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOw0KJGxhbmdbJ3BhcmFtX2lkJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFuIGlkIGF0dHJpYnV0ZSB0byBpbmNsdWRlIG9uIHRoZSB0YWcuICBpLmU6IGlkPSZxdW90O3NvbWV0YWcmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX21heF9oZWlnaHQnXSA9ICdXaXJkIG51ciBmJnV1bWw7ciB7c2lfY29udmVydH0gdGFnIHZlcndlbmRldC4gRGllc2VyIFBhcmFtZXRlciBlcm0mb3VtbDtnbGljaHQgZGllIEFuZ2FiZSBlaW5lciBtYXhpbWFsZW4gSCZvdW1sO2hlIGYmdXVtbDtyIGRpZSBrb252ZXJ0aWVydGVuIEJpbGRlcic7DQokbGFuZ1sncGFyYW1fbWF4X3dpZHRoJ10gPSAnV2lyZCBudXIgZiZ1dW1sO3Ige3NpX2NvbnZlcnR9IHRhZyB2ZXJ3ZW5kZXQuIERpZXNlciBQYXJhbWV0ZXIgZXJtJm91bWw7Z2xpY2h0IGRpZSBBbmdhYmUgZWluZXIgbWF4aW1hbGVuIEJyZWl0ZSBmJnV1bWw7ciBkaWUga29udmVydGllcnRlbiBCaWxkZXInOw0KJGxhbmdbJ3BhcmFtX25hbWUnXSA9ICdWZXJ3ZW5kZXQgYmVpIGRlciBFcnN0ZWxsdW5nIGVpbmVzIGltZy1UYWdzLCBnZWJlbiBTaWUgZGVuIFdlcnQgZiZ1dW1sO3IgZGFzIG5hbWUgQXR0cmlidXQuJzsNCiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdBdHRyaWJ1dGUgZiZ1dW1sO3IgZGFzIGltZy1UYWcgbmljaHQgYXV0b21hdGlzY2ggYmVyZWNobmV0LiBEaWVzIGsmb3VtbDtubnRlIGRhenUgZiZ1dW1sO2hyZW4sIGRhc3MgSWhyZSBTZWl0ZSBuaWNodCBtZWhyIHZhbGlkaWVydCwgd2VubiB2ZXJwZmxpY2h0ZW5kZSBBdHRyaWJ1dGUgKHdpZHRoLCBoZWlnaHQsIGFsdCkgbmljaHQgYW5nZWdlYmVuIHNpbmQuJzsNCiRsYW5nWydwYXJhbV9ub2F1dG9zY2FsZSddID0gJ3dlbm4gQnJlaXRlIHVuZCBIJm91bWw7aGUgUGFyYW1ldGVyIGFuZ2VnZWJlbiB3ZXJkZW4sIHdpcmQgZGllc2VyIFBhcmFtZXRlciBkaWUgYXV0b21hdGlzY2hlIFNrYWxpZXJ1bmcgZGVzIEJpbGRlcyBkZWFrdGl2aWVyZW4uJzsNCiRsYW5nWydwYXJhbV9ub2JjYWNoZSddID0gJ0RvIG5vdCBhbGxvdyB0aGUgcmVzaXplZCBpbWFnZSB0byBjYWNoZSBpbiB0aGUgYnJvd3NlciAodXNlZnVsIGZvciBkZXZlbG9wbWVudCBwdXJwb3NlcykgdGhpcyBhZGRzIGEgdW5pcXVlIG51bWJlciBhcyBhIHBhcmFtZXRlciB0byB0aGUgaW1hZ2Ugd2hpY2ggd2lsbCBmb3JjZSB0aGUgYnJvd3NlciBub3QgdG8gY2FjaGUgdGhlIGltYWdlLic7DQokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkJzsNCiRsYW5nWydwYXJhbV9ub3RpbWVjaGVjayddID0gJ1plaXQmdXVtbDtiZXJwciZ1dW1sO2Z1bmcgZGVyIHp3aXNjaGVuZ2VzcGVpY2hlcnRlbiBEYXRlaWVuIGRlYWt0aXZpZXJlbi4nOw0KJGxhbmdbJ3BhcmFtX25vcmVtb3RlJ10gPSAnQXVmcnVmIHZvbiBleHRyZW5lbiBVUkwmIzAzOTtzIG5pY2h0IGVybGF1YmVuJzsNCiRsYW5nWydwYXJhbV9ub3JvdGF0ZSddID0gJ0V4aWYgSW5mb3JtYXRpb24gZGVyIERhdGVpIG5pY2h0IGF1c2xlc2VuIHVuZCBCaWxyb3RhdGlvbiBuaWNodCBrb3JyaWdpZXJlbic7DQokbGFuZ1sncGFyYW1fbm90YWcnXSA9ICdLZWluIGltZy1UYWcgYXVzZ2ViZW4sIG51ciBkaWUgVVJMIHp1bSBCaWxkLiBLZWluIEVmZmVrdCwgd2VubiBTbWFydEltYWdlcyBpbiBlaW5lbSBTdHlsZXNoZWV0IHZlcndlbmRldCB3aXJkLic7DQokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnWndpc2NoZW5zcGVpY2hlciBkZWFrdGl2aWVyZW4gdW5kIE5ldWJlcmVjaG51bmcgYWxsZXIgRmlsdGVyIGVyendpbmdlbic7DQokbGFuZ1sncGFyYW1fcXVhbGl0eSddID0gJ1F1YWxpdCZhdW1sO3QgZGVzIEJpbGRlcy4gRWluIFdlcnQgendpc2NoZW4gMCB1bmQgMTAwLiBEaWUgVm9yZWluc3RlbGx1bmcgaXN0IDc1Lic7DQokbGFuZ1sncGFyYW1fcmVsJ10gPSAnVXNlZCB3aGVuIGJ1aWxkaW5nIGFuIGltYWdlIHRhZyBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCByZWwgYXR0cmlidXRlICh0eXBpY2FsbHkgdXNlZCB3aXRoIGphdmFzY3JpcHQgdHlwZSBhbGJ1bXMpLiBpLmU6IHJlbD0mcXVvdDthbGJ1bSZxdW90Oyc7DQokbGFuZ1sncGFyYW1fc2lsZW50J10gPSAnRmVobGVyIHN0aWxsIGlnbm9yaWVyZW4nOw0KJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCjx1bD4NCiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KPC91bD4nOw0KJGxhbmdbJ3BhcmFtX3N0eWxlJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFsdGVybmF0ZSBzdHlsZXMgZm9yIHRoZSB0YWcuICBpLmU6IHN0eWxlPSZxdW90O2JvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyZxdW90Oyc7DQokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdUaXRlbC1BdHRyaWJ1dCBmJnV1bWw7ciBkYXMgaW1nLVRhZyAob3B0aW9uYWwpLCB6LiBCLiA8Y29kZT50aXRsZT0mcXVvdDtEaWVzIGlzdCBkZXIgVG9vbHRpcCZxdW90OzwvY29kZT4nOw0KJGxhbmdbJ3BhcmFtX3dpZHRoJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgd2lkdGggYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOw0KJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWwgd3VyZGUgaW5zdGFsbGllcnQnOw0KJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdBbGxlIERhdGVuIGRpZXNlcyBNb2R1bHMgd3VyZGVuIGVudGZlcm50Lic7DQokbGFuZ1sncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1N0YW5kYXJkYmVyZWljaCBmJnV1bWw7ciAmYmRxdW87QmVzY2huZWlkZW4gdW5kIEFucGFzc2VuJmxkcXVvOyc7DQokbGFuZ1sncHJvbXB0X2VtYmVkX3NpemVsaW1pdCddID0gJ0Jhc2llcmVuZCBhdWYgQmlsZGdyJm91bWw7JnN6bGlnO2UnOw0KJGxhbmdbJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnXSA9ICdTbWFydC1Nb2R1cywgYWJlciBCaWxkZ3Imb3VtbDsmc3psaWc7ZSBiZXNjaHImYXVtbDtua2VuJzsNCiRsYW5nWydwcm9tcHRfZW1iZWRfdHlwZSddID0gJ0JpbGR0eXAtYmFzaWVyZW5kJzsNCiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWxlZnQnXSA9ICd1bnRlbiBsaW5rcyc7DQokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21jZW50ZXInXSA9ICd1bnRlbiBtaXR0aWcnOw0KJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tcmlnaHQnXSA9ICd1bnRlbiByZWNodHMnOw0KJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVybGVmdCddID0gJ21pdHRpZyBsaW5rcyc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXInXSA9ICdtaXR0aWcnOw0KJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVycmlnaHQnXSA9ICdtaXR0aWcgcmVjaHRzJzsNCiRsYW5nWydwcm9tcHRfbG9jX3RvcGxlZnQnXSA9ICdvYmVuIGxpbmtzJzsNCiRsYW5nWydwcm9tcHRfbG9jX3RvcGNlbnRlciddID0gJ29iZW4gbWl0dGlnJzsNCiRsYW5nWydwcm9tcHRfbG9jX3RvcHJpZ2h0J10gPSAnb2JlbiByZWNodHMnOw0KJGxhbmdbJ3Jlc2l6aW5nJ10gPSAnR3Imb3VtbDsmc3psaWc7ZW4mYXVtbDtuZGVydW5nJzsNCiRsYW5nWydzbWFydCddID0gJ2F1dG9tYXRpc2NoJzsNCiRsYW5nWydzdWJtaXQnXSA9ICdBYnNlbmRlbic7DQokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zMjY3MDA0NTAuMTM3MzgyNzM2Ny4xMzczODI3MzY3LjEzNzM4MjczNjcuMSc7DQokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7DQokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzczODI3MzY3LjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOw0KJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGUgdmlkw6knOw0KJGxhbmdbJ2FkZF9yb3cnXSA9ICdBam91dGVyIHVuZSBsaWduZSc7DQokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyZuYnNwOyc7DQokbGFuZ1snYWxpYXNlcyddID0gJ0FsaWFzJm5ic3A7JzsNCiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBzdXBwcmltZXIgVE9VVEVTIGxlcyBpbWFnZXMgZW4gY2FjaGUgPyc7DQokbGFuZ1snY2xlYXJfYWxsJ10gPSAnU3VwcHJpbWVyIHRvdXMgbGVzIGZpY2hpZXJzJzsNCiRsYW5nWydjbGVhcl9ub3cnXSA9ICdTdXBwcmltZXIgbWFpbnRlbmFudCc7DQokbGFuZ1snZGVsZXRlJ10gPSAnRWZmYWNlcic7DQokbGFuZ1snZW1iZWRkaW5nJ10gPSAnSW1hZ2VzIGludMOpZ3LDqWVzJzsNCiRsYW5nWydlbWJlZGRpbmdfbW9kZSddID0gJ01vZGUgZFwnaW50w6lncmF0aW9uIGRlcyBpbWFnZXMgKGF1IHNlaW4gZHUgY29kZSBIVE1MKSc7DQokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnVGFpbGxlIGxpbWl0ZSBkZXMgaW1hZ2VzIGludMOpZ3LDqWVzIChLbyknOw0KJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnVHlwZShzKSBkXCdpbWFnZShzKSBpbnTDqWdyYWJsZShzKSc7DQokbGFuZ1snZXJyb3JfYWxpYXNfZHVwbGljYXRlbmFtZV9hdHJvdyddID0gJ05vbSBkXCdhbGlhcyBkdXBsaXF1w6kgcG91ciBsXCdhbGlhcyBkZSBsYSBsaWduZSAlZCc7DQokbGFuZ1snZXJyb3JfYWxpYXNfbm9uYW1lX2F0cm93J10gPSAnQXVjdW4gbm9tIG5cJ2Egw6l0w6kgc3DDqWNpZmnDqSBwb3VyIGxcJ2FsaWFzIMOgIGxhIGxpZ25lICVkJzsNCiRsYW5nWydlcnJvcl9hbGlhc19ub29wdGlvbnNfYXRyb3cnXSA9ICdBdWN1bmUgb3B0aW9uIG5cJ2Egw6l0w6kgc3DDqWNpZmnDqWUgcG91ciBsXCdhbGlhcyDDoCBsYSBsaWduZSAlZCc7DQokbGFuZ1snZXJyb3JfaW52YWxpZF9hZ2UnXSA9ICdQcsOpZsOpcmVuY2UgZFwnw6JnZSBpbnZhbGlkZS4uLiBBdWN1bmUgb3DDqXJhdGlvbiByw6lhbGlzw6llJzsNCiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdVbiBwYXJhbcOodHJlIHJlcXVpcyBlc3QgbWFucXVhbnQgb3UgaW52YWxpZGUgOiAlcyc7DQokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtJ10gPSAnUGFyYW3DqHRyZSBpbnZhbGlkZSBkYW5zIGxcJ2FwcGVsIDogJXMnOw0KJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnTGUgZmljaGllciBzdWl2YW50IG5cJ2EgcGFzIMOpdMOpIHRyb3V2w6kgOiAlcyc7DQokbGFuZ1snZXJyb3JfcmVtb3RlZmlsZSddID0gJ1Byb2Jsw6htZSBkZSByw6ljdXDDqXJhdGlvbiBkdSBmaWNoaWVyIGRpc3RhbnQgZGVwdWlzICVzJzsNCiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnVHJhaXRlbWVudCBkXCdpbWFnZXMgLSBGaWx0cmUgaW5jb25udSA6ICVzJzsNCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdUcmFpdGVtZW50IGRcJ2ltYWdlcyAoQ0cpJzsNCiRsYW5nWydnZW5lcmFsJ10gPSAnR8OpbsOpcmFsJzsNCiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdheSB0byBwcm9jZXNzLCBhbmQgZGlzcGxheSBpbWFnZXMgb24geW91ciB3ZWIgcGFnZS4gIEl0IGFsbG93cyBzaW1wbGUgaW1hZ2UgcHJvY2Vzc2luZywgYW5kIHdhdGVybWFya2luZy4gIFRoaXMgbW9kdWxlIG1ha2VzIGRpc3BsYXlpbmcgcHJvY2Vzc2VkIGltYWdlcyBvbiB5b3VyIHdlYnNpdGUgdHJpdmlhbC4gIEl0IGFsc28gcHJvdmlkZXMgZmVhdHVyZXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UgcmF0aW5nIG9mIHlvdXIgd2Vic2l0ZSwgbWFraW5nIHlvdXIgd2Vic2l0ZSBwb3dlcmZ1bCBhbmQgZmFzdCBhdCB0aGUgc2FtZSB0aW1lLjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+UG93ZXJmdWwsIGJ1dCBzaW1wbGUgdG8gdXNlIGltYWdlIGZpbHRlcmluZyBhbmQgcHJvY2Vzc2luZy4gRmlsdGVyaW5nIGluY2x1ZGVzOg0KICA8dWw+DQogICAgPGxpPkJsdXI8L2xpPg0KICAgIDxsaT5CcmlnaHRuZXNzPC9saT4NCiAgICA8bGk+Q29sb3JpemU8L2xpPg0KICAgIDxsaT5Db250cmFzdDwvbGk+DQogICAgPGxpPkNyb3A8L2xpPg0KICAgIDxsaT48c3Ryb25nPkNyb3AgVG8gRml0PC9zdHJvbmc+PC9saT4NCiAgICA8bGk+RWRnZSBEZXRlY3Rpb248L2xpPg0KICAgIDxsaT5FbWJvc3M8L2xpPiANCiAgICA8bGk+R3JheXNjYWxlPC9saT4NCiAgICA8bGk+TWVhbiBSZW1vdmFsPC9saT4NCiAgICA8bGk+TmVnYXRlPC9saT4NCiAgICA8bGk+UGl4ZWxhdGU8L2xpPg0KICAgIDxsaT5SZXNpemU8L2xpPg0KICAgIDxsaT5Sb3RhdGU8L2xpPg0KICAgIDxsaT5TZWxpY3RpdmUgQmx1cjwvbGk+DQogICAgPGxpPlNtb290aDwvbGk+DQogICAgPGxpPldhdGVybWFyazwvbGk+DQogIDwvdWw+DQo8L2xpPjxici8+DQo8bGk+U21hcnQgZGV0ZWN0aW9uIG9mIGltYWdlcy4gIFNwZWNpZnkgYWJzb2x1dGUgVVJMUywgYWJzb2x1dGUgcGF0aHMsIG9yIGZpbGVzIHJlbGF0aXZlIHRvIHlvdXIgcm9vdCBpbnN0YWxsYXRpb24uPC9saT4NCjxsaT5BdXRvbWF0aWMgZG93bmxvYWRpbmcsIGNhY2hpbmcsIHByb2Nlc3NpbmcsIGFuZCByZS1jYWNoaW5nIG9mIGltYWdlcyBmcm9tIHJlbW90ZSB3ZWJzaXRlcy48L2xpPg0KPGxpPlNtYXJ0IGF1dG9tYXRpYyByZXNpemluZyAoYXV0b21hdGljYWxseSByZXNpemUgdG8gZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBzZXJ2aW5nIHRoZSBpbWFnZS4uLiByZXNpemluZyB0byB3aWR0aCBBTkQgaGVpZ2h0IGRvZXMgYSBjcm9wIHRvIGZpdC4gPGVtPihqdXN0IHNwZWNpZnkgYSB3aWR0aCwgYW5kL29yIGhlaWdodCBwYXJhbWV0ZXIgdG8gdGhlIFNtYXJ0SW1hZ2UgdGFnLik8L2VtPjwvbGk+DQo8bGk+QXV0b21hdGljYWxseSByZWFkcyBpbWFnZSBFWElGIGluZm9ybWF0aW9uIGFuZCBjb3JyZWN0cyB0aGUgb3JpZW50YXRpb24uPC9saT4NCjxsaT5JbWFnZSBjaGFuZ2UgZGV0ZWN0aW9uLCBpZiB0aGUgbWFzdGVyIGltYWdlIGlzIGNoYW5nZWQgc2NhbGVkIGltYWdlcyB3aWxsIGJlIHJlZ2VuZXJhdGVkLiAoc2VlIHRoZSBub3RpbWVjaGVjayBwYXJhbWV0ZXIgdG8gZGlzYWJsZSB0aGlzIGJlaGF2aW9yKS48L2xpPg0KPGxpPlNtYXJ0IGF0dHJpYnV0ZSBnZW5lcmF0aW9uIGZvciBpbWFnZXMuPC9saT4NCjxsaT5Qcm9jZXNzZWQgaW1hZ2VzIGFyZSBjYWNoZWQgb24gdGhlIHNlcnZlciBmb3IgZmFzdGVyIHNlcnZpbmcuPC9sST4NCjxsaT5UaGUgYWJpbGl0eSB0byB1c2UgYSBzZXBhcmF0ZSBVUkwgKENETikgZm9yIHNlcnZpbmcgaW1hZ2VzPC9saT4NCjxsaT5JbWFnZSBwcm9jZXNzZXMgY2FuIGJlIGNvbWJpbmVkLCBhbmQgYXJlIGV4ZWN1dGVkIGluIG9yZGVyLjwvbGk+DQo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8gdGhlIGNvbnRlbnQgb2YgdGhlIHdlYiBwYWdlIHRvIG1pbmltaXplIHNwYWNlLjwvbGk+DQo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gbGltaXQgZW1iZWRkaW5nIGltYWdlcyBzbWFydGx5LCBvbmx5IHRvIGJyb3dzZXJzIHRoYXQgYXJlIGNhcGFibGUgb2YgdW5kZXJzdGFuZGluZyB0aGVtLjwvbGk+DQo8bGk+Q29tYmluZSBjb21tb25seSB1c2VkIGFyZ3VtZW50cyBpbnRvIG5hbWVkIGFsaWFzZXMuPC9saT4NCjxsaT5BbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cyB2aWEgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnLjwvbGk+DQo8bGk+VGhlIGFiaWxpdHkgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBpbnNpZGUgYSBibG9jayBvZiBodG1sIGNvZGUgdXNpbmcgdGhlIHtzaV9jb252ZXJ0fSBibG9jayB0YWcuPC9saT4NCjxsaT5Nb3JlLi4uPC9saT4NCjwvdWw+DQo8aDM+V2h5IHNob3VsZCBJIHVzZSBpdD88L2gzPg0KPHA+VGhlcmUgYXJlIGZvdXIgdmVyeSBpbXBvcnRhbnQgcmVhc29ucyB0byB1c2UgdGhpcyBwbHVnaW46PC9wPg0KPHVsPg0KICA8bGk+UGVyZm9ybWFuY2U6ICBVc2luZyBpbWFnZSBlbWJlZGRpbmcgKGV2ZW4gaWYgbm8gb3RoZXIgZnVuY3Rpb25zIGFyZSB1c2VkKSByZXN1bHRzIGluIGZld2VyIHJlcXVlc3RzLiAgTW9zdCBicm93c2VycyBvbmx5IHBlcmZvcm0gdHdvIHRvIGZvdXIgc2ltdWx0YW5lb3VzIHJlcXVlc3RzIHRvIHRoZSBzYW1lIGRvbWFpbiBhdCB0aGUgc2FtZSB0aW1lLiAgRm9yIHdlYiBwYWdlcyB3aXRoIGxvdHMgb2YgaW1hZ2VzIHRoaXMgY2FuIHNlcmlvdXNseSBzbG93IGRvd24geW91ciBzaXRlLjwvbGk+DQogIDxsaT5QZXJmb3JtYW5jZTogIEV2ZW4gaWYgbm90IHVzaW5nIGVtYmVkZGluZywgc2VuZGluZyBsYXJnZSBpbWFnZXMgdG8geW91ciB2aXNpdG9ycywgYW5kIGFza2luZyB0aGVpciBicm93c2VyIHRvIHNjYWxlIHRoZSBpbWFnZSBpcyB2ZXJ5IHZlcnkgc2xvdy48L2xpPg0KICA8bGk+U2VjdXJpdHk6ICBTbWFydEltYWdlIGNhY2hlcyBpdHMgaW1hZ2VzIGluIGEgc2VwYXJhdGUgZGlyZWN0b3J5LCB0aGVyZWJ5IGhpZGluZyB0aGUgb3JpZ2luYWwgKHBlcmhhcHMgY29weXJpZ2h0ZWQpIGltYWdlcyBmcm9tIHlvdXIgdXNlcnMuICBJZiBlbWJlZGRpbmcgaXMgdXNlZCB0aGV5IGNhbnQgZXZlbiBmaW5kIHRoZSBjYWNoZWQgbG9jYXRpb24pPC9saT4NCiAgPGxpPlNpbXBsaWNpdHk6ICBUaGUgZmlsdGVyaW5nIGNhcGFiaWxpdGllcyBvZiBTbWFydEltYWdlIGFsbG93IHlvdSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGZvciBjb25zaXN0ZW50IGFuZCBzZWN1cmUgZGlzcGxheSwgd2l0aG91dCBzaXRlIGVkaXRvcnMgaGF2aW5nIHRvIHBsYXkgd2l0aCB0aGVtLiAgVGhleSBjYW4gdXBsb2FkIGxhcmdlciBpbWFnZXMsIGFuZCB5b3VyIHNpdGUgd2lsbCBqdXN0IGhhbmRsZSB0aGVtIHByb3Blcmx5LjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUge2ltYWdlfSB0YWcuICBJLmU6IFNvbWV0aGluZyBsaWtlIDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntTbWFydEltYWdlIHNyYz1cJ3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnXCd9PC9jb2RlPi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4NCjxwPk9mdGVuIHBlb3BsZSB3YW50IHRvIGRpc3BsYXkgYSB3YXRlcm1hcmsgb24gdGhlIGltYWdlcyB0aGF0IHRoZXkgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQgdG8gcHJldmVudCBpbWFnZSB0aGVmdC4gIFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIHByb3ZpZGVzIHNldHRpbmdzIGZvciB5b3UgdG8gY29uZmlndXJlIHdhdGVybWFya2luZyBhbmQgeW91IGNhbiBlbmFibGUgdGhhdCB3aXRoIGFueSBpbWFnZSB3aXRoIGEgdGFnIGxpa2UgdGhpczogPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e1NtYXJ0SW1hZ2Ugc3JjPVwndXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGdcJyBmaWx0ZXJfd2F0ZXJtYXJrPTF9PC9jb2RlPi4gIFRoaXMgd2lsbCByZWFkIHRoZSBpbWFnZSwgYXBwbHkgdGhlIHdhdGVybWFyayBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIENHRXh0ZW5zaW9ucywgY2FjaGUgdGhlIGFsdGVyZWQgaW1hZ2UsIGFuZCB0aGVuIGVtYmVkIGl0IGludG8geW91ciBvdXRwdXQuPC9wPg0KPHA+QWxzbywgUGljdHVyZXMgdGFrZW4gYnkgbW9kZXJuIGRpZ2l0YWwgY2FtZXJhcyBhcmUgb2Z0ZW4gdG9vIGxhcmdlIGZvciB1c2Ugb24gYSB3ZWJzaXRlLCB0aGVyZWZvcmUgdGhleSBuZWVkIHRvIGJlIHNjYWxlZCBiZWZvcmUgZGlzcGxheWVkIG9uIHlvdXIgcGFnZS4gIFRoaXMgY2FuIGJlIGRvbmUgcXVpdGUgZWFzaWx5IHdpdGggYSB0YWcgbGlrZTogPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e1NtYXJ0SW1hZ2Ugc3JjPVwndXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGdcJyBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT1cJ3csMzUwXCd9PC9jb2RlPi4gIEFzIHlvdSBtYXkgdGhpbmssIHRoZSB3YXRlcm1hcmsgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSBiZWZvcmUgaXQgaXMgcmVzaXplZCB0byBhIG1heGltdW0gd2lkdGggb2YgMzAwIHBpeGVscyAocmV0YWluaW5nIGFzcGVjdCByYXRpbykuICBUaGVuIHRoZSBhZGp1c3RlZCBpbWFnZSB3aWxsIGJlIGNhY2hlZCwgYW5kIGlmIHRoZSBicm93c2VyIGFsbG93ZXMgdGhlIGltYWdlIHdpbGwgYmUgZW1iZWRkZWQgaW50byB0aGUgSFRNTCBvdXRwdXQuICBJZiBlbWJlZGRpbmcgaXMgbm90IHBvc3NpYmxlLCB0aGUgaW1nIHRhZyB3aWxsIGNvbnRhaW4gdGhlIFVSTCB0byB0aGUgY2FjaGVkIGltYWdlLjwvcD4NCjxwPkZyb20gaGVyZSB5b3UgY2FuIGNvbWJpbmUgdGhlIG9wdGlvbnMgYmVsb3cgdG8gcGVyZm9ybSBhbG90IG9mIGRpZmZlcmVudCBlZmZlY3RzIHRvIHlvdXIgaW1hZ2VzLCBidWlsZCBzaW1wbGUgZ2FsbGVyaWVzLCBhbmQgaW1wcm92ZSB5b3VyIHNpdGUgcGVyZm9ybWFuY2UgYXQgdGhlIHNhbWUgdGltZS4gIEVuam95ITwvcD4NCjxoMz5BdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmc8L2gzPg0KICA8cD5JZiB5b3Ugc3BlY2lmeSBhIHdpZHRoLCBhbmQvb3IgYSBoZWlnaHQgcGFyYW1ldGVyLCBhbmQgZG8gbm90IHNwZWNpZnkgdGhlICJub2F1dG9zY2FsZSIgcGFyYW1ldGVyLCB0aGUgbW9kdWxlIHdpbGwgYW5hbHl6ZSB0aGUgZmlsdGVycyB5b3UgaGF2ZSBhbHJlYWR5IHNwZWNpZmllZCwgYW5kIGlmIHRoZXJlIGlzIG5vIHJlc2l6ZSBmaWx0ZXIgYWxyZWFkeSBzcGVjaWZpZWQgYXV0b21hdGljYWxseSBhZGQgYSBmaWx0ZXIgdG8gcmVzaXplIG9yIGNyb3B0b2ZpdCB0aGUgaW1hZ2Ugb24gb3V0cHV0LiAgVGhpcyBpcyB1c2VmdWwgdG8gZG8gYXV0b21hdGljIHRodW1ibmFpbGluZyBvbiB0aGUgc2VydmVyLCBhbmQgbm90IHJlcXVpcmUgdGhlIGJyb3dzZXIgdG8gcmVzaXplIHRoZSBpbWFnZS48L3A+DQogPGgzPkEgU2ltcGxlIEdhbGxlcnk8L2gzPg0KPHA+VGhlIGNvZGUgYmVsb3cgdXNlcyB0aGUge1NtYXJ0SW1hZ2V9IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxib20gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPg0KPHByZSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Ij48Y29kZT48c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAxOjwvc3Bhbj4gPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQ0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMjo8L3NwYW4+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDM6PC9zcGFuPiAgalF1ZXJ5KFwnYS5mYW5jeWJveFwnKS5mYW5jeWJveCgpOw0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNDo8L3NwYW4+IH0pOw0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNTo8L3NwYW4+IHsvbGl0ZXJhbH08L3NjcmlwdD4NCjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDY6PC9zcGFuPiB7YXNzaWduIHZhcj1cJ2ZpbGVzXCcgdmFsdWU9XCd1cGxvYWRzL2FsYnVtLyouanBnXCd8Z2xvYn0NCjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0NCjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDg6PC9zcGFuPiA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87Ij4NCjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPVwnZmlsZVwnfQ0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xMDo8L3NwYW4+ICA8YSByZWw9XCdzaW1wbGVfYWxidW1cJyBjbGFzcz0iZmFuY3lib3giIGhyZWY9IjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPVwnaCw1MDBcJyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+Ij4NCjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTE6PC9zcGFuPiAgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPVwnaCwxNTBcJ308L3NwYW4+DQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEyOjwvc3Bhbj4gIDwvYT4NCjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTM6PC9zcGFuPiB7L2ZvcmVhY2h9DQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjE0Ojwvc3Bhbj4gPC9kaXY+DQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjE1Ojwvc3Bhbj4gey9pZn0NCjwvY29kZT48L3ByZT48YnIvPg0KPHA+TGV0cyB0YWxrIGFib3V0IHRoaXMuPC9wPg0KPHA+TGluZXMgMSB0aHJvdWdoIDUgdXRpbGl6ZSBqUXVlcnkgdG8gY2FsbCBmYW5jeWJveCBvbiBhbnkgbGlua3MgdGhhdCBoYXZlIHRoZSAiZmFuY3lib3giIGNsYXNzLiAgVGhlIGZhbmN5Ym94IGpRdWVyeSBwbHVnaW4gaXMgaW5jbHVkZWQgd2l0aCB0aGUgSlF1ZXJ5VG9vbHMgbW9kdWxlLjwvcD4NCjxwPkxpbmUgNiB1c2VzIGEgYnVpbHQgaW4gcGhwIGZ1bmN0aW9uIGNhbGxlZCBnbG9iLCBhbmQgc29tZSBzbWFydHkgbWFnaWMgdG8gZmluZCBhbGwgb2YgdGhlIEpQRyBmaWxlcyBpbiB0aGUgdXBsb2Fkcy9hbGJ1bSBkaXJlY3RvcnkgYmVsb3cgb3VyIGluc3RhbGxhdGlvbiByb290LjwvcD4NCjxwPkxpbmUgNyBpcyBhIHRlc3QgdG8gc2VlIGlmIGFueSBmaWxlcyB3ZXJlIGFjdHVhbGx5IGZvdW5kIGluIHRoZSBhc3NpZ24gbGluZSBzdGF0ZWQgYWJvdmUuICBUaGlzIGlmIHN0YXRlbWVudCBpcyBjbG9zZWQgb24gbGluZSAxNS48L3A+DQo8cD5MaW5lIDggb3BlbnMgdXAgYSBkaXYgdG8gY29udGFpbiBvdXIgYWxidW0uICBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZXhhbXBsZSB0aGUgc3R5bGVzIHdlcmUgaW5jbHVkZWQgaW5saW5lLCBob3dldmVyIGEgY2xhc3MgdGhhdCB3YXMgZGVmaW5lZCBpbiB0aGUgc3R5bGVzaGVldCBzaG91bGQgYmUgdXNlZCBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4gIFRoZSBjbG9zaW5nIHRhZyBmb3IgdGhpcyBkaXYgaXMgb24gbGluZSAxNCwganVzdCBiZWZvcmUgdGhlIDxjb2RlPnsvaWZ9PC9jb2RlPi48L3A+DQo8cD5MaW5lIDkgYmVnaW5zIGEgbG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgZmlsZXMgdGhhdCB3ZSBmb3VuZCBpbiB0aGUgZGlyZWN0b3J5LiAgVGhpcyBsb29wIGlzIGNsb3NlZCBvbiBsaW5lIDEzLjwvcD48YnIvPg0KPHA+TGluZXMgMTAgYW5kIDExIGFyZSB0aGUgcmVhbCBtYWdpYy4gIEhlcmUgd2UgY3JlYXRlIGEgbGluayB3aXRoIGNsYXNzICJmYW5jeWJveCIgYW5kIGFkZHMgdGhlIDxjb2RlPnJlbDwvY29kZT4gYXR0cmlidXRlIHNvIHRoYXQgZmFuY3lib3gga25vd3MgdGhhdCBhbGwgb2YgdGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyIGFzIG9uZSBhbGJ1bSBhbmQgYWxsb3cgY2xpY2tpbmcgYmV0d2VlbiB0aGUgaW1hZ2VzLiAgVGhlbiBjb21lcyB0aGUgcGFydCB3aGVyZSB3ZSBkZWZpbmUgb3VyIGltYWdlcy4NCjxwPldlIHN1cHBseSB0aGUgJGZpbGUgdmFyaWFibGUgdG8gdGhlIHNyYyBhcmd1bWVudCBvZiB0aGUgPGNvZGU+e1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+DQo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+DQo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+e1NtYXJ0SW1hZ2V9PC9jb2RlPiBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBjYWxsLCBleGNlcHQgdGhhdCB3ZSB1c2UgYSBkaWZmZXJlbnQgaGVpZ2h0IHZhbHVlICgxNTAgcGl4ZWxzKSBmb3IgdGhlIHRodW1ibmFpbCwgYW5kIGZvciBraWNrcyBJIGNvbnZlcnRlZCB0aGUgdGh1bWJuYWlsIHRvIGdyYXlzY2FsZSA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiBhcHBseWluZyB0aGUgd2F0ZXJtYXJrLiAgSSBhbHNvIHJlbW92ZWQgdGhlIG5vZW1iZWQ9MSBhcmd1bWVudCBzbyB0aGF0IHRoZSBzeXN0ZW0gY291bGQgZW1iZWQgdGhlIGltYWdlIGluIHRoZSBIVE1MIG91dHB1dCBpZiB0aGUgYnJvd3NlciBzdXBwb3J0ZWQgaXQuICBUaGUgc2NyZWVuIGNhcHR1cmUgYmVsb3cgc2hvd3MgdGhlIGVmZmVjdC48L3A+DQo8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVlBQmdBQUQvMndCREFBZ0dCZ2NHQlFnSEJ3Y0pDUWdLREJRTkRBc0xEQmtTRXc4VUhSb2ZIaDBhSEJ3Z0pDNG5JQ0lzSXh3Y0tEY3BMREF4TkRRMEh5YzVQVGd5UEM0ek5ETC8yd0JEQVFrSkNRd0xEQmdORFJneUlSd2hNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpML3dBQVJDQUNoQWZBREFTSUFBaEVCQXhFQi84UUFIQUFBQVFRREFRQUFBQUFBQUFBQUFBQUFBQVFGQmdjQkFnTUkvOFFBVUJBQUFnRURBZ01FQndRR0J3UUlCUVVBQVFJREFBUVJCU0VHRWpFVFFWRmhCeFFpY1lHUnNTTXlvZEVWTTBKU2tzRVdKVFJpY25Qd0pGV0M0UmMyUTFOV2c2THhKalZFWTdKa2s3UEMwdi9FQUJnQkFRRUJBUUVBQUFBQUFBQUFBQUFBQUFBQkFnTUUvOFFBSXhFQkFRQUNBZ01BQWdJREFBQUFBQUFBQUFFQ0VTRXhBeEpCRXlJalFsRmhrZi9hQUF3REFRQUNFUU1SQUQ4QXRmVzlWdWJLNzAreHNrZzladnBHVlpMZ25zMENqSnlCdVQ0Q3RMdlZMblRMRlk5UXZOTWkxR1orV0RJY1J1TWdkTnpuZjZWMDRoazBYMWFLRFd3dll5TWVSbVZzS3c3K1pmdW56cUozTWwxSnd0SUhrdUpyTk5XZ1d5bXVBZTBlTG1IWE81R2VoTkJOTHJYTktzWkhqdXRRdDRYUndqSzc0SVlqT01lNGcxdEhyV2x5M3dzbzlRdG51V0dSRXNnSk8yZHZoVEZGREhKeEx4Z3p4cXg3R05RV1hPM1pIYjhCVFhERXFjSjhGdXNZVnhlUUhJWEIzNXMvT2dsYjhTNkpITzBNbXFXcVNxNWpaV2ZCRERZZytGYzU5U3VFNHRzZE9SazlXbnM1Wm05bkpMS1JqQjhLaTlycWVtVzJuOFNXZDJCSmNUMzF3RWdFUlpwYzdBREE4ZmxTcXppdU5MMW5oYzZoem93MDU3VnBDQ1FKU1JoU2U0MEVtbTEzU2JhOTlUbTFHMmp1TWdkbTBnQkJQY2ZBKytuQ3E0c2tnajBlNTBiVnRRZTF1WkpYV2UzTmlIZVFzMnpxMk10bklPZTZyQnRvUloyVVVEU3M2d3hoREkvVWhSakorVkEyWGV2SmE4UzJXa2xjaWRDWGsvY1kvY0h4NVcvQ2o5SlhQOUxwTk55bnF5NmY2d0J5NzgvUGpyNFk3cWl6eDZ2cSttYWxxVnJwMGJDN25GemJ6dGNjcm9zUjlnQk1iOUQzNzgxT1ZycU1WMXhkWmFpd1pJZFEwb0pFeFU0TW5NU1V6M0VZTkFzNGI0cHRkUjB5elcrdjdVYWxNR3pFQ0ZKUE1RQmp4d0J0VDdIZVcwMXhjVzhjeU5OYjQ3WkIxVEl5TS9DcTd0N2l6dWZSN0RvMGNiU2FzLzZxRVF0enE1Zkt2bkd3eHZuTlBkdmZ3Nkx4TnJhNmc3cTl6SEEwR0kyYnRpSStVOHVCdWM5MUJJUDA3cFF0bzdrNmhiaUdWR2RITFlES3B3eEh1SkFybWVKTkVXS0tRNnJhQkpTUWg3UWIvbDhhaDJnUmgyNE1FaUJnSTd0c01NNElKSU5MQmJ4Zm8zanI3RlAxMG1QWUhkSGtmanZRVGtISXlEa0dpa09pa25RZE9Kem4xV0xPZjhBcGRRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGUmx1RHJmbDVGbUVrWVVLb21WaVFBUDdyS1B3cVRVVlpkSlpzd2FOd3BiYVBmZXVMY1N5U0JaRVJPaUlybFNRQWNuOWdkU2FmNktLaWlqclJSUUZGSHdveDVVQ0RTOUxUU3hkaU9WNVBXYmw3bHVZQWNwYkdRTWQyMUw2TWVWR0Q0VUJrK05GR0Q0R2pCOERRRkZHRDRHczRQZ2FER1RSbXM0UGdheGcrQm9DaWlqNFVCUlI4S1BoUUZGR1BLakhsUUZGR0Q0R2pCOERRRkZHRDRHakI4RFFGRlp3ZkExakI4RFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVZUGdhUGhRRkZGR0NUakc5QVVWbmtiOTF2bFJ5dCs2M3lvTVVWbmxiOTF2bFJnK0IrVkJpaWpCOEt6eXQrNmZsUVlvckpVanFDUGVLQXJIb3BQd29NVVZubGI5MXZsUVZZZFZJK0ZCaWlzNFBnZmxRQVQwQlB1RkJpaXM4amZ1TjhqUnlQOEF1TjhxREZGWktzT3FrZThVY2pmdU44cURGRlo1Ry9jYjVVY2ovdU44alFZb3JQSTM3cmZLamxiOTF2bFFZb3JQSzM3cCtWQUJQUUUrNFVHS0t6eXQrNjN5ckZBVVVVVURicVRFU3g0Skd4NmUra1hPMzd6Zk9sbXFmclkvOEordE4rZDhVRzVrWWsrMDN6ckhPeC9hYjUxcG5ldFNhRGN5UG43emZNMXpaM3hzemZNMFpOYzNvTW1SL3dCOXY0alhNeVAvQU40L3pOWUpyVW56b01OSkorKzM4UnJpOGttLzJqL3hHdDJKcE8yMUJocDVmKzhmK0kxMzRSMUE2a1k3ajJoOXN5WUxFN0NrTHR2MXhYSGdlZG9XZ2p4ekNTK2tRa2RCMU5CTTd4MkYzSjdSd0NOcytWY0M3ZDdINTExdnY3Wko4UHBTVmo0MEc1ZHNmZmI1MGRvL2V6Zk90TTVyR2ZIclFiRjIvZWI1MW9aSHo5OXZtYXh6QUhIU3ViTUQzMEdXa2NmdHQvRWEwTXIvQUw3L0FNUnJSbTNyUW5GQnNaWk1nYzdmeEd1VHpTRDl0LzRqUVczcmk1b05YbWtBMmxmK0kwNmNNeU0rcXlndTdBUW5xU2YyaFRMS2RzMDY4S0hPclQvNVBYL2lGQTROSTJUN1I2bnZySGFzUDJtK2RJM3VWRHZueElybWJ0UjNpZ2NSTTNUbWI1MW50Vy9mYjUwMEhVWTFKSE91UjRtdWI2cW1OblgrSVVEMFozRFlMSEdPdWF3YnZsNnNmblVOMURpcTFzY21hZFZ4M2MxTTQ5SWVselNkbjZ5QWZOcUNmM2VzcmJxVHprbnVxUDNuRkZ3U1FraEh1cU5YWEVsczhxWm1UczMyRDgydzk5STVOUnNaRWtjWDBhaGNrc1BMejhhQ1FXK3U2cnFsekxhNmRJSlpvd0RKelB5ckdQTStQbDFwMWcvU2ZOT3Q1cTBrVFE0TGRpQUZIbWM1cXNMVGk2YmhKQjZ0SDYyOXlyT3N6ZXlEL2UvR21IVXVKZUlicTZhU1NTNVJnUVNlN0k2SHBRWHh4UnFWN29jVnJjV2NzenFVVm1TWWhsa0J4dnR2bWwzRkZ5N2VqdlVaMUxJL1pxUmdrRmZiVGJOZWZoeFZ4TnFOM0hjM2Q5ZTMwdzI3TmwyS2c1SGRqOEt0NXRSdk5VOUNtcTNWN0QyTndTUXlrNXhoMC9HZ3FtYTh1aHE4eWk5dVZSbEJHSm14dDhhYzlPdmJpTy9RdGUzUElSZzgwckhjL0dtSjVRK3AyNVljM1BFUnYxR0tjWW1DVHh0eUhQZmdaelFMZGV1cnY5Slcwa2Q1Y3NuWjQvWE1Od1Q0R3JEMEtHYTZ0cktkcHBzUEdySDJ6NGUrcTAxUW5sZ3dDQUdJcXp1Q3B1MDRldFhPK0U1Q2ViTzRQL09nbDh6eGlHT0ZwQ0M1NVZHKzV4bnI4S3I3aXkya2kwL1VwVXZycVA3Rjh4aVRBSldSUU1EcmpHYzc5Y1ZON216bnVSYnNzVGtKTXNnSUhVak9LWU9MOU5kcmFlTllwaFBMYnlvaUlvOXRoeWxWM0JQZWVtS0JyOURkeEpKZmFyYnp5U3lFd0NSUzdsc2R4RzU4NmV1STdDd3V0T251bkVndllMZGxpbEU3cmdEZm9Eang2aW1EMFZXOTNZNnpyRU1rYjI4NldXTVNqN2pjM2VLYk5WdCtKRnRuZTUxN3RvU3BMeHBiZ0Fqd3ozVURYcGRsZGF2cU1LRzR1Skk0b0pKR2dhNGRPMWJLcU1rSG9NNXA4czMvQUtObTRqdTdxNWdnZVJXUWM3U3RKN0lKVUU5d09mY01aOGFqZWdhdU5LMSswRnhJa2NFc1VxU083WUM0NVdCejhLYytPTFJMbzJlcTJjNGx0K1Rzbk1XNHh6WkRlZWM0K1ZCcHFYRmtwZGhienl4WUo1RldSdVlmSHAxOHFlL1NWZDNJOUhIQ2N5elRSeXlNcGNyS1FUOWoza0hlb0J5VzRraGNPNkJUek1yc0R5TjQ1eDVEM1ZPdlNTREo2Tk9EOGtra3BrbnIrcG9LcHViNitWVllYdDBOOS90My9PdTl0cVY3bFZON2NrZjU3L25TZlVFVDFJeUkyU2tuSytEME5iUjJGNHVuUjZpMXZKNm04blpyTVI3SllkUm54b0gyMTFiVTdRTzl0cVYxRTdxVmJsbEp5cDd0elRkYzM5NmNrWHQxelpIU2R0L3hvaWxIWURmcDFwSGRrTmJ0bkIzSFh1b0YxcmRhZ0M2UzNOMnUzUnBuMi9Hc1RYbDR1Q3Q3YytYMjdmblNmUVZTVzVaWldrN0lKelB5QUZnTWpwbnJXOThxTEk1aDUreTVqeWw4Wng1NG9POXRxTitqaHhlM0lLbktudFcyUGQzMUtSZFNYc1NYME54T2dmYVdOWlg1WTVSMVViOUQ5NGU4anVxRnBJQXVOcytkUFhEK3BSMkY4ZTNhUVdjdzVaa1h3N21IbXAzeDNqYnZvSmJhVDNNRFJTdGNURWcvdFNzZlB4cVZlbWEzdUg0U3NieTFtbFJ1MVJXYU55dlZXSTZlZGQ3UGh5RFZFaVRuVlpjWVlqOXZ3T2ZkaXM4Y3pUM0dnMi9EcldydGNDTkp1MVpoK3lTdUFQRWp2b0thNFU5ZkhGMmpjOTVjbFBYb1F5dE94eU9jZFJtdlV4Nm1xUTRXNFdnaDFxd2x1VW5XZU80UjFWbUM0SVlIY1kvblYzMEJSUlJRTldyZnJZdjhKK3ROMmFjZFcvV3hmNFQ5YWJHb01rNzFyellyREhHK0RURnhKeEhIb05vc2trTHVIeUF5NHdNVUQ0eml1WmtxcFg5Szk3SEovWjdSeDAzTENsTmg2VzRUSVYxR3pDb1RzMEJKSStCb0xOTGQ5YU14eDAycVBhZnhsb3VvUks2WHFLemZzTm5tSHdwYituTk56L2JJL2tmeW9IRW5hdUQwUTNVVjFFSllKQkloSkFJMjZWaVEwQ1Z6dmsrTkxPQTJIcXlzZWtsM0tVYjk0WjZqeXBqMTErVFRqdXdWcEVWc0hIc2xnQ0trdkRLQkpyZU5SaFZrT0I0YlVEM3FHMTVKOFBwU1VtbFYvd0QyeVQ0ZlNraG9OUWE1VFRpQ0o1Q0NRZ3pnZFRYVHY2VkZPTmRURnBwZ3RSS1kzdVR5bGhuT1BEYnhvR0RXUFNSUGIzVWkybHFCR3UzMjNYUGYwcEZINlZKU3ltU3lqNU0rMWc3NHFLWDF2RDJUTUgrWUpOTWtpb2lmZkdmZWFDN2RONDMwblU1WTRvM1pKSHprUHNGMjhha0N5TElvWkdEQTlDRFhtK0c0RWI1RXBVK0lxenVCZUpSTmJ6UjMxNkFzU2hZMU9mblFXRWE1T2F5a2lTSXJvUVZZQWdqdnJWK2xBbmtPMUx1REhlWGlPK0xPZVJJQWlwL3hESnBCSjBwWndSLzFqMUxiZnN4LytRb0VNOXkzYXZ2KzBmclhBenUzZlRoUGFxSlgvd0FSN3ZPdVl0b3oxejhxQ0JhKzUvUzhwNytWZnBVWTFqV1UwK0VxcEJtWVlVZUZUVGlDMlJkWWxBSFJGN3ZLcWcxNlpwTlRteWM0WWdlVkFpbnU1WjVHZVNRbGoxcmdKQ0QxM3BWWTZaUGZ2N0lLb09yR24rMzRidDBBN1RMSHpvSStsMFZYQlk4Z09TdFNmVGVLMnNiVTI1Z1dhMUE1bFZrQjVUNDBvVGh1eGRkNCt2aFcwM0NUVzFsTE5iUHpFRG1LTjRlRlp5eTlYYncrTDhtVjN4RERmVHlhbmMrc0ZFUlQ5MVJzQU8rbjIwamtFMGJYSEswSXh6S2k0SkhobnVxTHh5eUpjTUhYbHdTQ25jS21kdUJJcU1DTUVDdE9WNHZCMzFLZlJwOU1TTFM5TW10YnpJTHl5ejlvcFh2SExVdjBkSm45Q0dzSklVWnpPNEhLdktNYzBkUVJVd3dxZjJRNWZRcHJCSC9mc2Y4QTF4MFJWODJuOGlXMGpTeFFoSEdXZDlzSEdOeG1sQ3VPYmw1d1dVbko1ZWxLTlRUdHREbG54Z1JjcmJlUnh2U09FYy8zUWNBS1RnYkRPOUF0bmlnbGpMM0lrWlkvYlFJMk10NW51RlNyU3RZMUMzNGFnc3JCa3RtZWN6Q1NSTXF1RGpCSjNPZHNZMjYxcm8wT25hVGJSNmpxTUNYRFNZN08xSzh3T1AyaU84Ky9hcE54WGJhWHJsdnA1dGRTZ3RKb01Sc2dRcUZYT2NBQWJZOEtDVGFSTmZYSEFLYWhleE9OUWUzOXVNTmxjZzR5ZzdnUnZTVGpEU1UxT1FhZkVwU05jWjVDUUZCVTlRTzQ3L2hXcWNZNlRvOXREcGNWM0JJcVFCRkRCdGdQSUNtdldPSnJTNzdTUzF2U0hsVEplRkNyTmdiWlBkamY1MERiNk9yQ2JTK0lMcEdFZmFQRTZHRG13NFFPQ0dJNllQejM2VWwxeVdlN25sdG9OUG1rY2RvZ1ZjRGJmNmJVcTRIbnM5SnZudjcrK2lUMWlKb2l4SkxoMndjSGJ4Rk9TVGk5bXVvTk9qVml4ZkxKdThvemduSnh0M1lIa2FDdlhzN2JTOWNnVnJVM1YrRVBOSVAxTUFLQTR3UjdUZWZRZWRTMkd3VFZiTjlKRVUwYzE0V2o3Y3I3SUJJSU9ldUFQS25XeTRYMUxWTGp0Z3FReE1uTDJqbmJ3SXgzOUtlK0lORy9SSERkOWUyMTFLdHhCYnM2ZGtpb2VZRGJCRzQrdEJIcmIwTTI2eHFyNnBLYzlTSTg5L2NQblNEMHY2ZEhwZkJ2RCttMjVZeFcxeDJLRnVwQ3hFRE5NY043ZlJjczh1cDZqTTdMMG52WkdBK0dhZC9TZ3hsOUgzRERzU3hhUlNTU1NUOWw0OWFDQjJkL3BiK2l5LzBpNGRVMU9DY01pSDd6NWNFRmZoa2ZDbUtIVFk1TEtKMUpWbVVIeXB5MUtPSDlEdnlBaHlZeWM1eDFydHA5dVRZUW5HM0wzRHpvR1gxZTZqUXJnT3ZpSzB1VUJzOEdUN1ZqN1VaVWdyanZ6ME5XR25EVWMyak5jS3dFZ09mZUtoK3ByYnZadUJNbk1xY3d3TzRIZmVnNThNUnc1djhBdFdDLzdNZVRQZWVaYTIxYUlKWmlSVjJMNDYxdzBPNGhFVnlHbTVIYkM5TzcvUXBicTZ3TG9pTjJ2TS9iYmtIMmNZUGRqcjhhQnZuTnBjTmJlb3dTeHVVV04wYVR0REpKbnF1d3dQTGYzME9XdHlWbFVxd09HQkdDcEhpS0lqQkN0c3lTOGtvWVNsbEcrT3V4UFErRk9Fa1A2VXRaUFYrU1ptT1pKTWI4eDhjNzR4MU5CWm5vNTF1M2l0SWJHNHVJa2VNaDRPWTRPQ1NTdWZ4SHZOU3ZqZlU3SzN0YkxWWkFYZ0JNSkNZNXNuQkhYdTJhb2J3N2NhRmJXZHFzZWl5WFZ6Z0xKTk9WU05pTy9PYzRIdTN3S2xFV3JXdXN2ZDJOeHBObzhjWjVvdzZDUUU0MjNQdk9OdkhwUU1XaThjNkxOckZsWkxhWFlra21TTkNRbUF4SUF6djUxYTlSdlRZZEFUczQ0dExzNHJtSnRpYlpBU2ViQUtuSGppcEpRRkZGRkEwNnYrdGlIZHluNjAxbjQwNmF4K3RpL3dBSit0Tlo2VUdqbkJxck9MWTdqV1pidWRGa2tpajJSYzdJTmgrUFdyUWx4eU5ud3FOYWhESEZvVjAwYWNvZVBKK1lvS1B1OU5samNGbEk4YVF2QVEyTUdwbGZoUk1SanJUUFBHdk1kaG1nYUxkNWJhWkpFWW80NkVWWmtFUUdueFM5b09ZZ2JaeWZuVUVhMzdRcXdYWlR1ZTRWTE5KbmFhd1JTMmV6OW5HVGlwZStIWEgxbU51U3dPSE0vb1pQOHgvclRpNDg2YnVIQi9VeWY0Mit0T0xnRUhiOGFya1pkZlhtMHFVRFlCbE9mY3dxVWNONDlZaHpuUGEveXFOYStCK2hybnlYUHlxUjhOTVBXNFFSakQ1SG50UVBkL2oxdVhQWGI2VWthbGQvL2JKUGg5S1JtZzVucjVWRGVNb28zRWJsY3VycnY4RFV5WVZYL0hGM0phSzZrQWt5S3did0hLMjFCRk5RUlRHQVI1Vkg3cTNqTzRYcFdialdwWGN4dEltT25URkk1OVFJSURZMzZlWW9OVGJxVklWY2swODZIQjZuZGxSSm5uVGRmQTB6UVhoNXhJRndvNkhQZlRoWVR5eWFwRGdFZzdkZWdyUDExL1dZWGM1cTc3TCt3VzMrVXYwRmRHclN5SDlYMjMrVXYwRmRXclRrVFA1VXI0TDI0bjFJZDNZS2Z4RkpaQUFDS1hjSVFzbkUxN0pqMlh0aGcvOEFFS0IzdnJEdE9hV0pkeDFVZC9uVE0wWEtjZC9oVWxzN3VDOWphUzNjTUF4VStJTk1la290M2RYbmFuT1B1K1dTYUN1ZU1iZ1dsMWV6bmJzNFZJK1ZWQlpXajZ2cWJBa2hjODhqZkgrZFc1NlNvMVJ0VFJ0MkVDNDkrQlZlOE1RRkxPYVlETE8rQWZJZjZOQTdKSEZieGlLSlFxcjB4UVh5TnF5M0tvM085Y3k0QjJvZjZMYlpuN1JNYmJqZndwN2pua3VWVlpRdlVqUFhKcU9QcTY2ZEFVbWhQaXB5Q0NmRVZ6c3VKQUpFTEFoQWVwRlluN1hsNk05K1BIMWw3N2FjVGFGNnZJYnVKUFpjKzFpdGRLY3BHSTJPZVhkVFU0U08zMXpSeWdiWmw2K0JxTFh1aTNXblhNbG82OW5kUnR5RlQ0N1lQaGl0dk9VRFpzL09yQzBrYy9vYzFVWTVzelB0L3dBVWRRRThLY1gyMkd1TGJUeVd3QW8xQ0htT1NBTnViekZXTkJwZDlwZm9oMVcxdm9WaXVESVg1QklzZ3dXajcxSkhjYUNDUThoaW10NUVVOXRIZ2dBTnZqWUg2MGh0bFpKWmJkWWdvZFZEWklQVHd4N3V0S1lvcFNRdlo4MlJoZVhiRktMZlREYXBKUE93UjJURVNuUHROM1o4Z042QlhFNnJhTERkU2lPT004OGJPY2V6akpBOXczK0hqUzVicTI5Wm41V0gzeWMrTlIyU1AxaG1rdXVXZDJVcG45MWNZd005T3A2VkdwNzIrc0x5ZFlIVjRneDVlY2tIRkJLTlhlMmFhV1FaREJBK1Y3eG5jZktucUdkSklVYUloazVkNUNOaC93QSt0UXF3bU4xY29ibzg1WkdCQzlDUVFjVktrdlJ5aFVqUGdpS05nS0haVjJaRml4bTlsUk1DR0M1TGUyTno4S2VlSE5YV0RYSkNxS3dFTGN1VHQxRlJLNTFHVW9Va2JCOEFlbmlLN2FCTDJ1cTRQc2pzempiT2VtMVNiMjY1K3NrazdYVm8yb1BmQThpS3FxTmdvd0JUaHExZ2RTMGlhejluTXE4cExaeCtGTlhDL0l0bmtZQ2c0eWNDbjJXN2lqQUJkYzkyOVZ5VmpjZWk3VlpKUzYzMXJnbmNIbUpIdXlLUitsaXlleDRMNGZzbllNMEUzWnN3NkVpT3JNdTlVYUI0WUlpc2x4T3hXTmU0WTZzZklWWDNwa0RmMGQwcnRNT3d1bTVpQmpKN005MUJVOTR4ZlRtRFl4eXIwOGpVaTRYc2x1dE9qT2RsY2pyVVlaSkpyY3hSUnU3RWJLb3ozMUwrRjNGbnBCN1pzRVNPTUFGaDNkNDJvSmE1aGcwL2tZQUtWNUJzT3ZLYXFiVjQ0a3RabDdVb3doYktqSHRFNHF6N2kxbXV0TU53dk1zQ0ZaR2RsSUFVRGMvalZjYXZicEJGY3JMS3F5c3JEbEQrN0cxQWg0U3RvcGt2ekpHckZJd1Z5T2gzNlVwMTdtT2xxZ2ZtVHRWUElFRzNYSnoxUGZTZmhrekpZNm9ZT1R0REV2THpianZwTFBOcUNNVGRQRzhhN3NzYTlQT2l5YjRqakpwZ3VvcEpvcmh1YU1LRVJrKzhNZmhVaDRldHJTMnNwNUppVnlWT1hrd1cyNkZSMUh3cHIwL1ViWjVaVVNUSE5qT1RzY2Z1K1hTazZMS2w3Y3JMTUFXWUVNQjFIbDlLazIzNVBYaVluKzcxRlhpTU5zeXdGYzRrQTVXd1Q1ZFIxMnBIYWFyYzJxUlNpK20zTEtGU1U1akp3Q1YzMlBUZWtrYUpFSGFYTEJ6eS9mM0FIdTdxU3RhTUovc3lBR0dNL21hcm1tdkRXc1hNdkVHblF5WGJ1R3ZvbHl6RTVITnY4TW41bXZRWjYxNWY0V0NyeFhvS0F2bjF1RTRKKzk3WTM5MWVvRDFOQVVVVVVEVHJINjJML0NmclRVVFRyckg2MkwvQ2ZyVFV3eFFJdFJXV1N4bVdFa1NFYllHU2ZLcTc0azFTOEdreWhZMzVPendER2RodjMxWnJEUHhxQWNTMnl0cHQ3bHlpaFNjZkhwUVZhbDFjM0pmTE1lWEdTYVF5WGtwa0lHZWJwaW5xMENSMnM3a0FLMlZYSXdXSGpUVkhDcjNaYmZzd2NsZ003K0ZTM1RXR0Z6eW1NS0xlNW1paENsWFZuR2QraEhqVWk0YVNUMU9SMlBzRnVWYy9qVWQ1MWtrWmdOaWRzOXdxYldGdUxXeWloR2RodjcrcHBQOEFMWGt2T3BlSW5YRG4vd0FtVC9NZjYwNFBta0hEZy9xWlA4eC9yVGk0OHFybVFYbHVsMWJ5UVNaNUpGNVRqclNqZzcxdUhXT3d1NVZkUXk5azRHT2JZN2Urc1NZQXllZ3Jod2FicTkxNkcrbUNwQTI4VVliUEtOOEgzbWdtZCtNM2tudytsSXp2UzIrL3RrbncrbEltb09iYi9Pb1R4OUR6MjFzd3dDWDVTRDNqQnFiRVZFZU9vODZaYnlmdXpZUHV3YUNwRnRnTlV3UXJ1UGE2REFIaWFiZFVRUGVNVUdRVGdBZDFQZlp2RzA3ckh6RWtndG1tc3hHTjJubHljYkR2elV0MDZlUEQzeTE4Y1l3VUhZWktxUHZBNy9LbjdoNjE1cDViazlFWGtYMzB3UjU2NzVZbXBadzloZE9Za2pkenRTTTU1YnEyckVmMWZiZjVTZlFWMGF1ZGtmNnZ0dW42cGZvSzZ0VlpKMy9HbmJoVEg2VW1HUm5zZkgrOEthM0hmU3JoWUgrbHN1d1AreEhIL3dDNHRBeTIxek5ZM2tra0RsVHp0MzdIZXBEdzY2OGx3NTZ1eWo2bW9xazhVOGtqd3lwSXZPd0pRNTN5ZHFsR2dxRnRGa0IzTWh5UElEL25RVnA2VVU3VFVyeU1kOGEvSDJhcjIwdkd0dElpU0llMHpOMDk5V1Z4MnF6Y1N6Um43cGlYNlZBYm5UUFUxNVk4bFFTVkI4eFFORFg5ekhMOW8yYW1PaWFXZFNzM25La3FxOVBNOUtoaVdVdDFlckh1Y3RqSGNCVnRhRUlyUFRqQU1EbTJPS3psZmtlandZUzMyejZpcGJ3eUM1ZFhMc3FzY2MxU1BocVMwbWplM25UbjV3Unk4dmwxcDkxL2htMHVoMnNXRWw4UWRqVWR0Yks0MDZiazVjTWYybE5XVFRqbGx1N1NEaHZPbjMwbHNIWm9UbkN0M1ZOdlNQcHhoNGd0YnIyUkRxRnFGWjhmZGVNREh6QnFJNkxhWVl1NCswTzVKcTIrTjlPRjVZNlFlVUVSdVEyZTVTZ3lmd3FzdlBsdGJTcnhIUGJ5TXhJa1RjbnBsaFZvOENHTnZRdnFKbHlFOWFrSjVtNXUrUHZxRGFiRTF4eGs1a1BNUVVCSTc4SFkvR3B6d0RDMDNvWTFDTlRrdGR5QUVqempvR2g3cUlqRnRiRUgrL2tmZ0tqMnFQZFBlOW8wemN5a01DeE9QRHArRlNkZEtuNWo3Y1lIUW5QMHBCcVdnWEZ5ckxFRVk0M3pKZ252L2xRSWJDZEpRVmZsRGpmQk5NdXFXS1NyZHlTRlJ5Uyt3UDJqdjlQR25XWFNOUnNFOVlrV0lGUjFFZ3lQY08rbXFTVVNRM0FtTE5MMjR5NU81SlBTZ1RjeTJuWUFFdmx1VlNPbzV1LzhLMmdrbVVkcDJzMkZ4N1N2ME5Kcmt5SzVTS1BNdk1BaTQ2R2xjeFJVU0ZEbmxQTWR2R3MyL0hieDRjWE84YUtrbGFaUTdrbGlNYm1uamhzRWFxMkIxUWsvTVV4VzJleVZSNTcxSXVHVUg2U1k5QUl5YzU2N2l0T1Z1N3RZZHZxM3FrSUdTRlU3S1A1MXRIeEhidEFWTnZJOHhQMysxMjM4c1V4em4yU0NSanZ6dlNOVzVFWE9TT3V3eFJEN2U2bk5jM1ZyYzI4aXBjMno5cEVYUHNFOTRiRytEU24wZ2FsYXg4UGFMZmFwWXJjcTgzTThLUHRrcHZocWpzWE14VnM0SG4xcHk5SmFrY0dhQ3VkaElBYzkvd0JuUVFMVjlUMGk4UmpZMlUxdWtnT0FoQVpSNy84QWx2Uy9obWZrNFpXSU4rc3VabEJIVFpZelVYV1BKQXdRRDMrNnBIcDFyY3cyTnJieXlRV3FMTEk2dUY1bU9WWEpLbllqQThxQzRZTGVPNTRXU055TVBaWXg0K3ptcUcxYUx0M2FTYWFOVUtNVThTVGpwNWJWUGJhVzVsdHBZUk04aXhXdk1qdU1rWnlENWJrZUhTb0hKcDhqS1RKMmFzUU44N2swQ1hRWXpiMjJvZGxseWljcjdiRTc5UERGSlpyZWRyUnBwa051amphVTViT05zWUc1cCswcXdGckhER3JjL3JqQldJSFFjckhLL0d0TDdUNTdpWCswQ1FnWUhOMDIyK2xadDUwN1lZK3VQdjhBOFJpMGpqZ1o0b29tWWN4ekk0Qlp2Y2U0SHdGVFBoL2hHUGlwYmlkTHRyVXdGVXcwZWViSXpYSFQ5RGpCWjdpYm1ibTJFWitwcFRkTmM2ZHlKWVQzRVVUdVRJeVRGU2R0aHQ4NjA0bjVmUTR0eEd6dnJCU01kQUlUOGUrdVRlalcxdDlTdElCUExNMTB4aURsVGhRQm5tWWRNNUk3Nmo3YXpxRGpzenFWNGNlTTc0K3RkN1c5dllBWnZYYmxXeDkvdFd5UGQ0ZDlCTXJMMGFwcEd0YWZlUjNTVFNSM0ViSENsUnlnNXhqSnEwcW9MU05XdnB1SjlMRWw3ZFNLMTdDQ3BtWnR1WWRkK2xYNmV0QVVVVVVEVHE0KzJpL3duNjAxdDFOT21yL3JvdjhBQ2ZyVFBQTEhDcFp6amFnRHNEVUs0dWh4WWFpdlFOSGxjZjY4YTE0cTQ4WFNVRU5uR2ozTDlPWW5Dang4NmJmV2RRMWJnNXRUdnBBelRoeWdWUW9WUVFQcUNhQ0VYRnU3V3lvektNZ2ROc1UwWENQQ0JFR1hCd1RnWUk2N1ZLSGJzYmRwR0h0Z1pUSS8xbW94SnpHVjNicXh6V2U3dzd6K1BEYzdyTWVBeTVPQVNLblNYTUw3SktyZjhWUURPV0E3cTAxSkdVeFNnZTBSeWsxcHdYeHcyNE9pcHY4QTlvMzFwelk3bndxcnVDYjY4azBkVWptYjJISU8vanZVMWkxQzVRRHR2YVhvY2pjVUR1dzV0cTA0Q2NGTEVlQUkvRWl0SVprbTVYUTdWeDlIczNNYk5jN0NXUmZreG9KdGZIL2JaUGVQcFNRMHZ1SURMZXluY0tDTi9nS2E5U25GcWpjdEFrdnRTdHJDSjVKNU1LaWxteDRDcXgxbmpkdUk1RXNMUzA3S0lNWkRJN1pibEFJNmQzV3QrT3RVWVdKaERlMU9lWFBsMzFIdUdyVlRhWHVvTUR6UnNzU2p1T1FTZmo3TkIyRVpkWFhHZmRUQnFNaGE0TVNoVlJHSUFVWUJxVVRzbHBGSVFEMnBQTHlrZEI0Kzd6cU56NW5sSlVFNDhxejNYZkwrUENZenVrR1FxN1YyRTg4ZG5JWXBXUXJ2N0pyVDFhUjVNY3BIODZkLzBTMFZvNnY5NWtMSDVWcHdPL0MzR09wbVdPMG1uYVVjbnNjeDZZSFNwOWI2MUl3SGFwdGp1cW5PSDNGdHJkbXo3QVNCVzl4MnE0b0xSSkdaQjk1ZW5uUU9FZHdrNHloelR0d3Qvd0JaV2J1OVZQOEEvSXRRdUdkNEptR2NGV3dSVXg0UGxFMnRNNFAvQU5NZTcrK3RCQ05FMCtUUzdKNEplWHRPMmtadVh6WTFPZEt4SHA4RGQ1VmlmblVQdjc1TFIzWmxKek55NEhpVGlwWlpjeTZkSC9rRGJ6b0s5NHJrRW5FOHpaNkluMHFOWDR5ZHFmT0kyenhEYys1ZnBUVEtuTkltMmNrREhqVHBaTjNSdnRtaDArS1NhUU4ycmRHQTZEd3J0WjYxY3JhdTlxcXRJU0FzYkhsMm8xV1pJNHhBcWdqcUY4S1k0ZzhWMHJjMkIxNjlLeGp6ZHZSNXNyaEo0cGVrdnY4QVY1NTlOdHB1d2FLUU9WbFRQZGl0YkIxdmd2TVBiQnJsQmR6WEZ1ZTFaSkF1d0FyYUdhQzJaWjBYa2tEcUNtZXU5YmVaSWJlTHNtSGtLdGZpcUs2ZlJJbXRRR1pRQVJueEFIODZxNzJUR3NtZW83cXVLZTU3RFNubTVBNnhRaCtYdkpBRkJTeWNNM1dsY2ZHeldPUzRsaHNvSG1rUmRpeDVtUHlHQjhLZGVCN2x0SjlDdXBYSURGbzdxUmh5NVU3bU1menFSM3VwM1YzcU1sekZQTkFIeDdFY2h3TURGWjRpZVc0OUYrcm1WeTduQXkzK05LQ3RocitvYzdNc2l1dVRndW1lK3UwWEUyb0dWVktRRlNSemZaNHorTk1mT1c1Y1pCNVJuUGpXd2tBWUFqY0E5UEdna3R5V3VZNU9ac3VWYkF4MDJxRVNaamU2aW5XWExFaENpNUtzRGtaOTFUTExOR1cyeHlnK09ENFZIWms3YlVKakpua0VoTEVEenBicnRjY2ZhNmN3SGtUMWh4SGtjcDNYcWZIeU8xSjFzNDJZQTdIeHBYS1VlUUpFQ1VRWUI4YTVlSU9jMW1UNjYrVy8xblRlS0JJMXh6WndjbW43aDFrL1NUYjQreGI2aW1PTndVTzJNZUZPbWc1L1NMTGpPWWllbm1LMDRwUGQ5cGNRY3R1c2JOa2ZySEkyNys2dEFKQVBiNVNPbU91YTV1N0kvTHNBZTdPNjFsWlhWVUF3Um53M0ZCM2k1bzhCSTA4eVJuNFV1OUk0RGNGY1A1YkM4NEpQL2wwM3d1Q2dITDdaT2NIK1ZPbnBKVURnelE0eEhMSXhmQ3BHaFppZXo4UHpvS3RnUU5JTTdqOW1uYTNtN0Z3RkJkczVCYnVKMk8xSUxXMTFDV1JtT2wzTUtvTW5uWGZidnBYR1MwcHg3SURic2Vnb0hYU3A1NXI2Zm5seVJDTUJqdGpKNkNtNEdLS01IbTUyQysyN0hHUGRXbk42dmVtV0tSdVFRdXBKNzl0cWo5dHFETXFtNFVjb0d4eWNacVc2aldHSHRsby9UWFhxY1VNY01tU2h5R0kzR050dktteDd1UjMyY2s5ZGp0U1dTN2U1UGFIQXlCc0t4R3h5b09OajNmNjNxU2E3Yjh1VzdxZFJLZExWbmhCSkp5ZHFsbWw4TlFhOVkzSWxuYUlxNmdGUUQzWnFIV045SEJBRkl5M2o0Vk5PR2JxY1dWMUxKYnVzSGFKbHpzdWNiYjFweWJRK2kyS0tVVG05ZVdNbmNORmdIOGFYYWp3anAwdG42dkUxcmJ5TU1Cc01UMytkS2RFblhYZGN2YlNlUTlsYm9yUlcvTmdNRG5tWStQZDdxa0Z2cEVOdEt4TWs5d3p0a0xJMlF2dUhRVUZlNlR3T2x0cmxuY0RVMlpvTGxHS0MzSTV1VmdjWnowODZ0M3ZwTGJQaHdpUkJGT2Q4WVB1cFZRRkZGRkEzYW9BQXJrYmhTS2dlczNiaGl2TjdxbXV1ekNHTmM1eHlNZmxVQTF3TkhwazF5Y2V4SG5meDVjMEZROFFYUnVkWnVYVTdLZVZmaFZxM1ZpbHB3cEhwOFlWVEhhWUNIdUlPVDhTRFZWNk5aSFY5ZnRMVWdudDVSemVRemsvaFZ2NnV2cmRzWi9hV0x0RkxjdlhCVUEvSDJhTExxN1ZscTF3NmZZcjl4QjdKRk16UU04WVlZREh4TldmcUhCRnZjTVRGUEtoWE9jNHdmd3BKYWVqMHZNclRUc2tYTHVWSUpIbDBxU2FYUE81M2FCYWJwSnVadmIrNk4ySXJPdldhcnBrY3FBRERuNWRLdFN4NFNzQWhFVXM0UUl6ODJWeTJQaFRQcUhDVUUzRFhPc3N4SlNVNE9NWkI5MVZsR3ZSeEptYTh0aWZ2UmM2RHpCMy9BQXF4TG1JVGFQTGNSRDJvOEZzZVhmVlJjUFhMNlZybGxNakVCWmdHOXhPRFZ4c3kyTjZIVVp0TGs4a3Fub3BiYlB1M29HbTB1bWhkWkFUZ2taQXBad1RPTERYckxUcGM5cEpjU09oQTJaV3lSaitkTXR3aHRMNlcxeWZzNU9VZTdiODZjTkM3U2JqRGgyUmQxaHVtVmg0QmtQNVVGczNzcXhMbnY2L2hVVzFoak5KeUFaRElyWjk3RUQ2VTk2NjdMQ1dUN3kvekZNY014bGthVlJrQlZ4bm9QWjJ6N2lTYUNuT09uL3JXSzJCejJhNVBodjhBKzFQUEQxb2c0THQxY0FOTmZkcWMvdEFLeTFGK0paRGVjVFhmWjViTW5ab0QxMjIvR3JWdE5FdHA3VFM3VTg4Y0VMbFBZeG5iYnc4elVzMjFqbDYzYUR6ODEvQUdjRG1YS0FqdnhUSzJtM0NzUUV5ZkVWWXk4SzJ5WHQ5YkxOTUdqSmRlbmNkeDA4S1ZhYnduWTNGeDJuckU1aVplYkdSN08zdXBKcUpsbGNydXEvdGROVzJZU1NnR1FkRkcrUGZTbTRRaWFaY2RJZnFhbXR2d2hhU3Vaak5PVWxsRWNlQ09nNm5wV3ljSjJVK3JYeUdhNTVVangrejQrNnFpbmIrMk5ocVJBR0NPVng4Z2F0elRMc3phUlk2ckYxYU1DUWZoVmVjYVFpUFZWa2pCNUFnUUU5K052NVZKT0JOUUV1aFRXcmtuc1d4azlBRFFQR3RLa2Q0czBXT1NkQXc5L2ZVaDlIa3ZhYXRjZUhZYmZ4aW9qcU0yWUZpWnZhZ2tKSCtFL3dEdFVuOUhEWjFxY2Y4QTZYUC9BSzFvSW5yQkwzcXhnQWdPMGorSTlyQS9ITldFekNKSkY1bCs0dkt1Um5HS3I2NDVaZFR1RGtFOXVzWFR3YkordFQ3VVlZMEU4cklwZENRajQzQW9LcTF1VXZyZHd4UGdOdmRYQVhOc2xxNUxqdFVQTmpJQitGSXRkbVlYRjlNcFlGRjJLOWM5MVFHOHVuYWNlMFN5bmRzOWE1NWMzMWoxZUdYeFkvbCtwTGVHYVM2SlVrazc1OEtRZXJTdktBWlRrbWx1bjNJdXJkSmYyaXVHOTlFMFRCdzNOamV1a21ubXR0NXA2c05GREtNeVM4elk2TmpGYTZqcDcyZXBXa1FrWjBiR1N4enZtbkhTV2Jzd2M4M3g2VTRYVmtaSlV1RHZ5N2dHaUZrRTRXSlVKNkRIU3JkdXBzNkpPQm5sTnYzKzZxV3QzTFNFRVlPZmhWelRXTW1wYUplV1NTdEU4dHFVV1ZlcWtyMStsQkdFUU1lWUhhbFd1cnplalRWVkdNay8vd0IwcWgzNHU0bzBXL2EzdTdtVG1qT0NzZ3lweDc2dHZUTmNtNGs5QzJwM3NrYVJ5Q1JveUU2SGxaTi94b0s1bnlJSStUb3ZOek1XNkFIb0s0eHlySXdZREJCMkpwNHNiUlo0Z1NBeWtuSVllT0tjWTlHdDJJTFJLQU54c0JRY2JXVHRZSXozY3VNVTF6bG9wSnhrY3p5SHAxSS9sVXFpMCtHUG91QmpwamFrc3ZEbHROUEpPWlpnWEpZZ0VZK2xTemJlR2ZwdEZoa0RJMkhjSzJHQ0J0dlVsWGhxMnpneVRLZXU1SDRiVm4ramxwZy9hejQ5NC9LcXdpK01FbmJ3NlU2YUQ3Vit3NWlCMmJkQm53cDBIRGxwalBiem5IZGtiZmhYVzMwbUN3bU1rY2tqRWpCREVZSFR3SGpnVUc1NUE0NWVZZCtjWi8xLzcxb1h5cElVcTIrM1U0LzF2OGE2RUZpQUQ3UGVDRG5yMXJXUU1HSHM1eU01eDhmK1ZCMGljeG5DSGRqZ3VSemY2SFdwaHhISVR3bG96am1VRUxrRWYzTytvY2hVZlpsU001RzJ3UDhBck5TN2laLy9BSVMwUWdrOHdIeDlpZ2lxdXl1R0RrTU9oQjZlNm0rL3NCTXBraEFFZ3lTZ0dGZjNlQit0S1F4OW81RzJPdGI1NXdWQk80NjBFTXZKcFlPekV2TW1YNUdUdkFJTk1rMG5MQ2tBKzZBQ1NEbk5UL1VkSmcxT01KSjdFaWJDVlJ2N2o1VkZKdUc1TGVReHV6SEIyWlJzdzhSdFVzMjZZNStzc24wMnhIN01ZK2xLSWxQTm5POU8xdHcvSDJhOHp5YzNmdU1DbFEwSzNBL1d5K2VNVlhNeHZLeXBoVFQzb2Q5T3R0TWhua0tGMXloWTRPM2hYR2JTYlpHUldtbEhONWpOS2JXeWl0MUlXU1RsZmNsdCtnOHFCeml1QzA2TVhram1COW1XSitWMXo0RVZZT2o2M3JTd2t6MjBXb1JEN3JSbnNwY1lHQnkvZFBmdmtHcTZ0M0NNQ1FOL0w4S25PZzNiODI4bUF3SVV0K3h0M2U3TkJLZE40ZzAvVUpDcnFiUzVSZ2hodTFLT0dQUUxuWmlmSW1ucW1pM2xqTndTeXhTRm5HTVlQVHY5KzRwM29DaWlpZ2pYRTZzMHlnazhqVzVYSG56alA0RTFCZVA1MHN1R1RFbjNwVGdEZnFlcCtXMVQ3WDVndW9Xc0xxQWp4c1E1N2pucCtGVmg2VTVHUzIwNkJtOXBtTEVlQXdjRDhhQ08rajZ4TW11ZXRuWVFsVUhqek1jZlROV2V0c0gwYS9qUFZHVnZoazFGdlI1WU5IcDl0SXcvWHp0UDA2QlJ5ajhRYW4wVUlQcmNJR2UxalB6RkF4TFAydHJidStlU1pleGNqOWx4dHpEOEtjWGpOdncra1NqTWtqaEZQdnBxczFFMm4zbHN4OXFNOW9uOHhUdnBoOWZ0N1FuY3c3Tjd4MzBHVWo5V3RydEFRUkRiaVBJSHovR215ZjdIaEtOeDFkbUh6TlBWME9UVE5Sa3dSekRxZmVLYU5Wanh3bkFFL1lreWNVRkdhbkMxcnFWeEdkc09TTi9IY2ZXclNqdlRlNkhhTnpEN1dCZVZ6M1BqcDh4dDUxQXVMN1V4WHNOeUJ0TW1DZk5hVWNQMzVPaXZBellDU0hsYlBUdit0QklIdXZXcjJHWnZ2T015ZTlkajlLZmVEZ1R4TFl0dVY3YmJ5Mk5RL1RtOVl1cEMyd1FGdmlldjBxYzhGQUhXYlk0MjdZRWZJMEZnNm5neHpnNzdBZ2VKRy84QUtvN2I0T2t1NFQ3TW9XWWpibUdPbng2ZTRVdTRoMVNPMmtuUUVjeWpIeHdEVFBhWGd1dUZMNGh3STR3NGJHTnRzNDhzRDYwRlA4UHhtOTR2dHBKUGJBbU16ZTRaUDVWZFZuYjluWVdoSTNCN1Q0bXF6OUd0aUxuVWIyWTR5a0t4ai9qTytQbFZ2WEVZalVBREFBMjhxQmsxRnZVK0pVbTZKS01uekRWdFlONnBlWGxvTWUxOXozVm5pR012YTIxeUFlZGNLYTRNL05OYVhpQS9kQWVnZklMWVJtemgvY0djRHVwQllaZTgxTmgzaGdQaFQ1YmxaWm81Vjc5ODB5NlpHUmUzYUh2bGI4YUNxK0xiY1NhZEsrRHp4U0JzL0dtVGcvVVBWZFFudDJZY2swZTQ4eDBxWjY1YkNVWDF2Z0RtRGRmTEpxdE5NZnNOWGpCMjNLbWdtVjVkTTh6eGcrMlFGQjg4N1ZZUG8yQi9UdHp6ZGZWZ1AvV3RWYkxJRTFLM0xIYm1CNjFhWG8wZnRPSUx0dTR3RC84QU5hQ0thUXlYV3QydVJ0UGZGaVBITFkrZ0ZUbldyZ3hhWkt4NjRKTlY3d1BkTmZhL2J0S0FDczAyQVA3cGJCL0NwVnhQZG45RHUyY2N5RTBGT2E5Zjh0dEtBRHpzM0tDUFAvMnFHa2xqbnZOVERVTGVLOHRvd3hWVHo4em52SUdhUUxEWjI0NVlJQVcvZmZjbXBKSTNsbmNwSmZqbHBURzNzV2xMY3A1c2dIdnBjYmd5RUFucFRmZk1pUmNvVWMzZlN6VHJmdDlPUzRSQTU1aXJEd3hWWU9PbWFtMXJNVjV0bTYxTWwxTlhzaG45M0JIZlVCRVAybzVvZ1BoVXMwVnJVcWl2YklTVGptYndvRnRvMi9NVGtIcFY1NmZkeFFXRFRTTjdLcm5mM2IxVTZQbzZ3cW90b1J5amZyN1JyaHJQR00zNlA5VWdmQllZT080ZUZCSE9JMXRkVW11V2tRTXJTc3lud0dTYW1mQlZnMHZvUDFXMHQrZGo2ek1SanJzVVkvU3F3djcxbGp4a2ttcmo5RkE1L1JqY3F4MmU3bUJKOHdnb0lwcEVISnBzZHhNdkswamZaTGsrMHAzelRzcEFPdzdoanpOTXFTdW1vaXprbGFWSUNWUUU3QUtlNm44S3JCbXhoZXVlN0ZCajdveGdrMWhaY3Z5WUpBSFVHc3lSTUVMWndjWjVTSzU0T0RzYytZL25RZCtkdWlIYjUxZ0QyY1lQeEc5Y1VmQTJQWDRWMFZpd3pnc2UvQm9BbkdRVHk0emcvd0Fxd1RoQnZuSTZucjhxQ2ZjTWJjdGFBZ0U1eG5CNjBHZzVNOHpBZ1kvMFBsWE1vU2Z2Z0hicjE4ZnkrVmRPWDJsQUdXeWQ2NTh3NmtIM1lvTXZDYzh5akdNZkQ0Vkx1SUZZY0k2R0dQUHlxdk50OTc3T29oejl4YmJyNFZLZUo3NFdYQy9Ebk0vS2t6Q01oaDErei9DZ2l1T2JQTmpIY01kYTAvYXh5OHVlZzhhN3pRWTVuQkNnZlBGSitWU1ZJM3gzMEdWbEgzTnhrZUZkU0E4WmprQmRTY2p4WHpGQ0JNNE9DQjF3ZHpXSEFkUjNaeDMwQ0NlM2t0eGtNWGpKMmZvUGNmQ2tyU2tITE5uYW5qbEpVNVhLc044OUNLUlhlbmhVYWEzejJmN1M0eVZ3Ti9oUUpCY2NuS01BSHVyRE9uVWI0cE9NdHNwd001ei9BSzhxMkRjdlRIVE9TZW9IaFFMck8ya25rUVErMFRqWUg0Vk10STB5NGlnTFN6ckdDUUNyYm5IK2pVUXNwdXlRZ0E1eDF6MDM2L2hUc05UbDdQczRwZVZSbGNFOVR0UVdGYVdpSk5iczA2SDJnN0VJUmtnZ2Z6cVFWVk9oYXhkL3BMVG9lZGloa1VFNThXV3JXb0NpaWlnaDNGdDRMZlg5SVJzRlNHSUI4U2NmenF0dlN3Vy9TOWdHT2N3TTJNLzNxdSs2MHV4dmJpRzR1cldPYWFEOVU3amRQZFNMVU9GTkIxYVZKTlEwbTJ1WFJlVldrQkpBem5IV2dpbkIrbW0wMFcwUndjeFc2cjdzKzBmeGFubFhFVnpHY2Jad2FrVWRqYXhJRWpnUlZBQUFBOE5oV0RwOW1UazI2RTBGZGxUWTYyeUhaWE9EN2pTL1N2OEFZNzJXSTU1R0pJUHZxWVRhTnB0eElKSnJLSjNIUmlEbXRocFZnR0RDMGl5Ty9Cb0dQVkkvNmt2UDd3L25UWGNLSDRabUlYT0FHRlRWN08ya2lNVHdveUhxcDZHdVEwcXdGdWJjV2tmWWtZS1lPS0R6MXhkYnROcElsM1BaT0FBTzRZM3FPOE95ci90TnV4KzhPWWVmalhwbWJoSGg2NGlhS2JSN1Y0Mis4cEJ3ZnhwSkY2UGVFSUg1NHVIckZHeGpJVnZ6b0tHMDJabzd1NFFucnR2Vmk4RzVHdFdBQXlETGtuNEdwd3ZBdkNxdVhYUWJNTVRrbmxiODZjTFhRZEtzcFVrdHJDR0owT1ZaUWNqOGFDdGVNN2tyeFJmUUsyQTNKbGZFOG9vVVRXZkMrclFjbzdKckNWMmIvd0M2UVI5S3NlNjRjMGE5dkd2TG5UYmVXNFlnbVJnY2tnWUhmNUN0MzBIU3BMZVdCckNFeFNyeXlJUWNNUEE3MEZXZWlXMFBxdDlkc3YyWmtWUTNqeWcvL3dDaFZnUy9hbGhUcHAyaGFWcE5zMXZwOWhEYlFzM09VakJBSjhldmtLVStwVzJjOWdtYUNMVHhDYTJrdG16bkpLMDBhYUN5U1c3ZFVPd3FmbXd0R2ZtTnVoYnhya21rNmZISTBpV2tTdTNVZ0hlZ2FOTm01VUNNY1kyRkpMUk9UWExsY2RSelZKbDArMFE1VzNRSHJ0UU5QdEJPWmhicDJwR0MzZmlncUhYQ1l0VnVBd081WVZWR3JRdFphdElNRWUyR0ZlcXJqaHpScnFReVQ2YmJ5TzNWbUJ5ZnhwQmM4QThKWGtuYVhIRDlsSS9UTEtmem9QUEY1TVh1N1psQlBNUDVWYXZvbW1WOVp1VkxBeUMzR1I0ZTJ0VFJlQk9GVlpHWFFiSUdQN3A1VHQrTkxkTTRjMGJScnVTNzAzVFlMVzRsWGxlU01FRmhuT092aUFhRHo5NlBiaTRYaTJWQ1Y3T0ZMbCttNDNQNTA5Y2RhOURhV3h0WTJWcGlDR1VmczlLdDJ6NEs0YTArNGU0dE5GdElabkJET2luSkI2OS9mWEs1NEI0VHZKV2t1ZEFzcFhZNUxNR0pKK2RCNVplUnpHTW5kcXd1VXl4SFFaK05lb3YrampnMy93QU4ySDhMZm5RZlJ6d2FRUWVITERCNit5MzUwSGtxVm5sYmNlK3BSdzRPejA0RGxQdFpQNDE2Sy82TStDZi9BQXpwL3dEQzM1MHBoNEM0VHQwQ1JhQlpJbzZBSzM1MEhucVMzOXJPRFdVa2xqR0ZHSzlEbmduaGc5ZERzLzRUK2RZL29Od3YvdUt6L2hQNTBIbnMzRWlqZGpTTjNZKzFrNTg2OUhuZ1RoVnV1ZzJSL3dDRnZ6clU4QThKbnJ3L1pmd3QrZEI1Y3VuYVdjK1cxWG42Tm1OdjZKN2h5TjF2SE8vK0tPcFovd0JIUEIyYy93QkhMRCtGdnpwM3M5QzB1dzAxdE90TENHR3paaXpRb0R5a25HL1h5SHlvS1UxRlJhY1lYS3YvQU5wS1dCQTJ3M2hUMUUzTW94MFhZWjZiSEg4cXNxNDRXMEs2bjdlZlNyYVNYQUhPd09jWno0MTBUaDdSNDE1VjA2QUw0WVBqbnhvS3psWXlBbkIySCtzMXdMZFhaV3o0bllrZVlxMDI0ZDBadXVtd0g0SDg2eC9SelJzNS9Sc0djWTZIODZDcWxaems1T0QzNDd2QVYzTGxjOHJ0a2V5RGpiMzFaMzlHOUYvM2JCOGorZEI0YjBVOWROdCttT2gvT2dxNW1IUTVKMjJ6OHEySkM3Z0VuenEwRHc1b3hJSjAyM3lOODRQNTFnY09hTUJnYWJCajNIODZDcjJBeG5CeWZEcFdrbnQ1N2dSdWZDclRIRGVpZ0FEVGJmQTZiSDg2RHczb3BPVHB0djhBSS9uUVZObGlTQzJjSE9NZUZPdnBIQkhBWERSenVycWMvd0RsMVlaNGEwUW5KMHkzejdqK2RkYjdRdEsxS3poczcyd2hudDRmMVViZzRUYkcyL2hRVXpwZXBIVkxOZVlZbGp4ekFEcU9sS0VHSDhqNFZhZHR3Znc3WnNXdHRIdFlpMnhLZzcvalhYK2pHaDR4K2k3Zkh1UDUwRlU1NUdLZ01UMUlIZFc0SktoZ25UcHRqTlduL1JqUS93RGRkdjhBSS9uVzM5RzlHLzNiYi9JL25RVmVvVlBhYjJsR0JnLzY2VmlNeXhvV2tJREJpVlpEMVhQczlmeHEwdjZPYU4vdTIzK1IvT3NIaHpSajEwMjMrUi9PZ3FXNTB0TGxUTGJCSTVXenpSam8zbUQzZTZtWXhNam5uUmdWUHRCdGlNVmVuOUhkSDIvcTIzMjhqK2RhUzhNYUhPL1BMcGRzN1l4a2c1K3RCU3FLcEFCQkk2REI3alhSblorWG1CR0NENCtOWEgvUlBoLy9BSFJhL3dBSi9PZzhKNkFldWtXdnlQNTBGVjZOTXo2NXBpZ3RuMW1NSHcrK0t1MDlhYUllRjlDZ21qbWkwdTNTU05nNk1BY2dqb2V0TzlBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFmLy9aIiBhbHQ9IllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkiLz4NCjxoMz5TdHlsZXNoZWV0czo8L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMsIGlmIHVzaW5nIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuICBCZWNhdXNlIHRoZSBzbWFydHkgc3ludGF4IGlzIHNsaWdodGx5IGRpZmZlcmVudCBpbnNpZGUgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIHlvdSB1dGlsaXplIHRoZSBtb2R1bGUgdXNpbmcgdGhlIFtbIGFuZCBdXSBkZWxpbWl0ZXJzLiAgaS5lOiA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij5kaXYuaGVhZGVyIHsgYmFja2dyb3VuZDogdXJsKFtbU21hcnRJbWFnZSBzcmM9XCd1cGxvYWRzL3BpY3R1cmUuanBnXCcgbm90YWc9MV1dKTsgfTwvY29kZT48L3A+DQo8cD5CZWNhdXNlIHN0eWxlc2hlZXRzIGFyZSBnZW5lcmF0ZWQgb24gbW9kaWZpY2F0aW9uIGFuZCBzdG9yZWQgaW4gdGhlIGZpbGVzeXN0ZW0gdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVybWluZSBkdXJpbmcgdGhlIHJlcXVlc3Qgd2hpY2ggYnJvd3NlciBpcyByZXF1ZXN0aW5nIHRoZSBzdHlsZXNoZWV0LCB0aGVyZWZvcmUgZW1iZWRkaW5nIHdpbGwgYmUgZG9uZSBzdHJpY3RseSBiYXNlZCB1cG9uIHRoZSBwcmVzZW5zZSBvZiB0aGUgbm9lbWJlZCBwYXJhbWV0ZXIuICBJZiB5b3UgaGF2ZSBjaG9zZW4gdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8geW91ciBzdHlsZXNoZWV0cywgWW91IG1heSBuZWVkIHRvIGFkZCBhZGRpdGlvbmFsIHN0eWxlc2hlZXQgc3VwcG9ydCBmb3IgdGhlIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgZW1iZWRkZWQgaW1hZ2VzLiAgaS5lOiAgSUU2LjwvcD4NCjxoMz5BdXRvbWF0aWMgUHJvY2Vzc2luZzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpbmNsdWRlcyBhIHNtYXJ0eSBibG9jayB0YWcgY2FsbGVkIDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntzaV9jb252ZXJ0fTwvY29kZT4gdGhhdCBjYW4gc3Vycm91bmQgYSBibG9jayBvZiBodG1sLCBvciBvdGhlciBzbWFydHkgdGFncyB0byBhbGxvdyBhdXRvbWF0aWMgaW1hZ2UgcHJvY2Vzc2luZy4gIFRoaXMgdGFnIGNhbiBiZSB1c2VkIGxpa2U6IChmb3IgZXhhbXBsZSk6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij57c2lfY29udmVydH17Y29udGVudH17L3NpX2NvbnZlcnR9PC9jb2RlPjwvcHJlPg0KPHA+VGhpcyB3aWxsIGFsbG93IHlvdXIgdXNlcnMgdG8gaW5jbHVkZSBpbWFnZXMgaW50byBwYWdlcyB1c2luZyB0aGUgbm9ybWFsIHd5c2l3eWcgdG9vbHMsIGFuZCB0byBoYXZlIHRoZW0gYXV0b21hdGljYWxseSBwcm9jZXNzZWQgYW5kIGVtYmVkZGVkIGludG8gdGhlIHBhZ2UgdXNpbmcgdGhlIG1hZ2ljIG9mIHtTbWFydEltYWdlfS4gaS5lOiBTZWUgdGhlIGZvbGxvd2luZyBjb2RlOjwvcD4NCjxwcmU+PGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e3NpX2NvbnZlcnQgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MX17Y29udGVudH17L3NpX2NvbnZlcnR9PC9jb2RlPjwvcHJlPg0KPHA+VGhlIGFib3ZlIGNvZGUgd2lsbCBjYXB0dXJlIGFsbCBpbWFnZSB0YWdzLCBhbmQgY29udmVydCB0aGVtIHRvIGdyYXlzY2FsZSBhbmQgdGhlbiBhcHBseSB0aGUgd2F0ZXJtYXJrIChhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIHRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlKS4gIEFsbCBvZiB0aGUgcGFyZXRlcnMgYXZhaWxhYmxlIHRvIHRoZSA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij57U21hcnRJbWFnZX08L2NvZGU+IHRhZyBhcmUgYXZhaWxhYmxlIHRvIHRoaXMgdGFnIChmb3IgaW1hZ2Ugc2NhbGluZyBldGMuKS4gIEFkZGl0aW9uYWxseSwgdHdvIG5ldyBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOiA8c3Ryb25nPm1heF93aWR0aDwvc3Ryb25nPiBhbmQgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldCBhIG1heGltdW0gc2l6ZSBmb3IgaW1hZ2VzLi48L3A+DQo8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogM2VtOyI+PHN0cm9uZyBzdHlsZT0iY29sb3I6IHJlZDsiPk5vdGU6PC9zdHJvbmc+DQo8cD5UaGlzIHRhZyBwYXJzZXMgdGhlIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIHRhZ3MgdG8gZmluZCB0aGUgPGltZz4gdGFncy4gIEl0IHRoZW4gd2lsbCBvdXRwdXQgc3ludGFjdGljYWxseSB2YWxpZCBIVE1MIGZvciB0aGUgc3Vic2V0IG9mIGNvZGUgaXQgd2FzIHByb3ZpZGVkLiAgVGhlcmVmb3JlIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBzbmlwcGV0IG9mIEhUTUwgcGFzc2VkIHRvIHRoaXMgdGFnIGJlIGludGFjdCBhbmQgYXMgY2xvc2UgdG8gdmFsaWQgYXMgcG9zc2libGUuICA8c3Ryb25nPlVzZSB3aXRoIGNhdXRpb24uPC9zdHJvbmc+DQo8L2Rpdj4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPlRoaXMgbW9kdWxlIG1ha2VzIGV2dGVuc2l2ZSB1c2Ugb2YgdGhlIEdEIEltYWdlIHByb2Nlc3NpbmcgbGlicmFyeSB0byBkbyBpbWFnZSBtYW5pcHVsYXRpb24uICBBZGRpdGlvbmFsbHksIHRoZSB7c2lfY29udmVydH0gcGx1Z2luIG1ha2VzIGV4dGVuc2l2ZSB1c2Ugb2YgdGhlIHNpbXBsZXhtbCBhbmQgWE1MRG9tIGNsYXNzZXMgYnVpbHQgaW4gdG8gcGhwLiAgVGhlcmUgbWF5IGJlIG90aGVyIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgZXJyb3JzIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgZXJyb3IgcmVwb3J0aW5nIGlzIGVuYWJsZWQsIGFuZCB0aGF0IHlvdSBoYXZlIGFuYWx5emVkIHlvdXIgZXJyb3IgbG9ncy48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsNCiRsYW5nWydpbmZvX2FsaWFzZXMnXSA9ICdMZXMgYWxpYXMgcGV1dmVudCDDqnRyZSB1dGlsaXPDqXMgdmlhIGxlcyBvcHRpb25zIGFsaWFzMSDDoCBhbGlhczUgZGVzIGJhbGlzZXMgU21hcnRJbWFnZSBwb3VyIGNvbWJpbmVyIHBsdXNpZXVycyBvcHRpb25zIGZyw6lxdWVtbWVudCB1dGlsaXPDqWVzLic7DQokbGFuZ1snaW5mb19jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdTcMOpY2lmaWUgbGEgem9uZSBkZSBsXCdpbWFnZSDDoCBwYXJ0aXIgZGUgbGFxdWVsbGUgZMOpY291cGVyIHBvdXIgbGEgZm9uY3Rpb24gImNyb3AgdG8gZml0IiA7IGNlY2kgYWZmZWN0ZXJhIHRvdXRlcyBsZXMgb3DDqXJhdGlvbnMgZGUgZMOpY291cGFnZSAiY3JvcCB0byBmaXQiIMOgIG1vaW5zIHF1ZSBsZSBwYXJhbcOodHJlIGRlIHpvbmUgZGFucyBsXCdhdHRyaWJ1dCBkdSBmaWx0cmUgZmlsdGVyX2Nyb3B0b2ZpdCBuZSBsXCdhbm51bGUuIExhIHpvbmUgcGFyIGTDqWZhdXQgZXN0ICJjZW50ZXIiJzsNCiRsYW5nWydpbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICdMXCdVUkwgY2ktZGVzc3VzIGVzdC1lbGxlIGxlIHLDqXBlcnRvaXJlIGRlIGNhY2hlIChfU21hcnRJbWFnZSkgPyc7DQokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ1Byw6lmaXhlIGRlIGxcJ1VSTCBkZSBsXCdpbWFnZSc7DQokbGFuZ1snaW5mb19jYWNoZV9hZ2UnXSA9ICdTcMOpY2lmaWUgbFwnw6JnZSBtYXhpbXVtIGRcJ3VuIGZpY2hpZXItaW1hZ2UgKGVuIGpvdXJzKSBhdmFudCBxdVwnaWwgbmUgc29pdCBzdXBwcmltw6kgZXQgcmVnw6luw6lyw6kuIENlY2kgZXN0IHV0aWxlIHNpIHZvdXMgYXZleiBjaGFuZ8OpIGNlcnRhaW5zIHBhcmFtw6h0cmVzIGRlIGfDqW7DqXJhdGlvbiBkXCdpbWFnZXMsIG91IHBvdXIgcsOpZ3VsZXIgbFwnZXNwYWNlIGRpc3F1ZSB1dGlsaXPDqS4gVW5lIHZhbGV1ciBkZSAiMCIgZMOpc2FjdGl2ZSBsYSBzdXBwcmVzc2lvbiBhdXRvbWF0aXF1ZS4nOw0KJGxhbmdbJ2luZm9fZW1iZWRfbW9kZSddID0gJ0NlIHBhcmFtw6h0cmUgZMOpZmluaXQgbGEgbWFuacOocmUgZG9udCBsZSBtb2R1bGUgdmEgZ8OpbsOpcmVyIGxcJ2FmZmljaGFnZSA6DQoNCjx1bD48bGk+QXVjdW4gOiB1bmUgYmFsaXNlIEhUTUwgImltZyIgY2xhc3NpcXVlIHNlcmEgdXRpbGlzw6llIGV0IGxcJ2ltYWdlIG5lIHNlcmEgcGFzIGludMOpZ3LDqWUgZGFucyBsYSBzb3VyY2U8L2xpPg0KPGxpPlNtYXJ0IDogbGUgc3lzdMOobWUgdmEgaW50w6lncmVyIG91IG5vbiBsXCdpbWFnZSBkYW5zIGxlIGNvZGUgc2Vsb24gc29uIHBvaWRzLCBzb24gdHlwZSBldCBsZSBuYXZpZ2F0ZXVyIHF1aSBhZmZpY2hlIGxhIHBhZ2U8L2xpPg0KPC91bD48YnIgLz4NCkxlcyBhdXRyZXMgbW9kZXMgcsOpYWxpc2Vyb250IHVuZSBpbnTDqWdyYXRpb24gZGUgbFwnaW1hZ2UgYmFzw6llIHN1ciBsZSBwb2lkcyBvdSBsZSB0eXBlIGRlIGNlbGxlLWNpLic7DQokbGFuZ1snaW5mb19lbWJlZF9zaXplbGltaXQnXSA9ICdTaSBsXCdpbnTDqWdyYXRpb24gZXN0IGJhc8OpZSBzdXIgbGUgcG9pZHMgZGUgbFwnaW1hZ2UsIHByw6ljaXNleiBpY2kgbGUgcG9pZHMgbWF4aW11bSAoZW4ga2lsby1vY3RldHMpIHBvdXIgbGVzIGltYWdlcyDDoCBpbnTDqWdyZXIgKDMya28gZXN0IHVuZSB2YWxldXIgcmVjb21tYW5kw6llKS4nOw0KJGxhbmdbJ2luZm9fZW1iZWRfdHlwZXMnXSA9ICdTaSBsXCdpbnTDqWdyYXRpb24gZXN0IGJhc8OpZSBzdXIgbGUgdHlwZSBkZSBsXCdpbWFnZSwgcHLDqWNpc2V6IGljaSBsZXMgdHlwZXMgZFwnaW1hZ2VzIHF1aSBkZXZyb250IMOqdHJlIGludMOpZ3LDqWVzLCBlbiBsZXMgc8OpcGFyYW50IHBhciBkZXMgdmlyZ3VsZXMuIEV4ZW1wbGUgOiAiLmpwZywucG5nLC5naWYiLiBMYSBjYXNzZSAobWFqdXNjdWxlL21pbnVzY3VsZSkgblwnZXN0IHBhcyBwcmlzZSBlbiBjb21wdGUuJzsNCiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ1NpIHZvdHJlIENETiAocsOpc2VhdSBkZSBjb250ZW51KSBwb2ludGUgZGlyZWN0ZW1lbnQgdmVycyBsZSByw6lwZXJ0b2lyZSBkZXMgaW1hZ2VzIGVuIGNhY2hlLCBhbG9ycyB2b3VzIGRldnJleiBwZXV0LcOqdHJlIHBhc3NlciBjZXR0ZSBvcHRpb24gw6AgIk91aSInOw0KJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1Nww6ljaWZpZSBsXCdVUkwgw6AgYWpvdXRlciBlbiBwcsOpZml4ZSBhdXggaW1hZ2VzIGfDqW7DqXLDqWVzLiBQYXIgZMOpZmF1dCwgY1wnZXN0IGxcJ1VSTCBkdSByw6lwZXJ0b2lyZSAidXBsb2FkcyIsIG1haXMgc2kgdm91cyBhdmV6IHZvdHJlIHByb3ByZSByw6lzZWF1IGRlIGNvbnRlbnUgKENvbnRlbnQgRGVsaXZlcnkgTmV0d29yayksIG91IHBsdXNpZXVycyBkb21haW5lcyBwb2ludGFudCB2ZXJzIGxlIG3Dqm1lIHLDqXBlcnRvaXJlLCB2b3VzIHZvdWRyZXogcGV1dC3DqnRyZSBzcMOpY2lmaWVyIHVuZSBhZHJlc3NlIGRpZmbDqXJlbnRlIGljaS4nOw0KJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICfDgmdlIG1heGltdW0gZGVzIGZpY2hpZXJzIGVuIGNhY2hlIChlbiBqb3VycyknOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxlIGRlIGfDqW7DqXJhdGlvbiBkXCdpbWFnZXMgZXQgZGUgYmFsaXNlcy1pbWFnZXMgcG91ciBDTVNNUyc7DQokbGFuZ1snbXNnX2FsaWFzZXNfdXBkYXRlZCddID0gJ0xlcyBhbGlhcyBvbnQgw6l0w6kgbWlzIMOgIGpvdXInOw0KJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdSw6lwZXJ0b2lyZSBjYWNoZSB2aWTDqS4gJWQgZmljaGllcnMgc3VwcHJpbcOpcyc7DQokbGFuZ1snbXNnX2NhY2hlcmVtb3ZlZCddID0gJ0NhY2hlIHN1cHByaW3DqSc7DQokbGFuZ1snbXNnX3ByZWZzdXBkYXRlZCddID0gJ1Byw6lmw6lyZW5jZXMgbW9kaWZpw6llcyc7DQokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyZuYnNwOyc7DQokbGFuZ1sncGFyYW1fYWxpYXMnXSA9ICdMZSBwYW5uZWF1IGRcJ2FkbWluaXN0cmF0aW9uIGR1IG1vZHVsZSB2b3VzIHBlcm1ldCBkZSBjcsOpZXIgcGx1c2lldXJzIGFsaWFzIGRlIGNvbW1hbmRlIHF1aSBjb21iaW5lbnQgZGVzIG1vZMOobGVzIGRcJ2FyZ3VtZW50cyBmcsOpcXVlbW1lbnQgdXRpbGlzw6lzLCBzb3VzIHVuIG5vbS4gUG91ciB1dGlsaXNlciBjZXMgYWxpYXMsIHV0aWxpc2V6IHVuIGFyZ3VtZW50IGRlIGxhIGZvcm1lIHN1aXZhbnRlIDogYWxpYXMjIz1taW5fYWxpYXMuIFBhciBleCA6IGFsaWFzMT1mb28gYWxpYXMyPWZvby4nOw0KJGxhbmdbJ3BhcmFtX2FsdCddID0gJ1V0aWxpc8OpIGxvcnMgZGUgbGEgY3LDqWF0aW9uIGRcJ3VuIHRhZyBpbWcsIHNww6ljaWZpZSBsYSB2YWxldXIgZGUgbFwnYXR0cmlidXQgYWx0LiBOb3RleiBxdWUsIHNpIGNlIG5cJ2VzdCBwYXMgc3DDqWNpZmnDqSwgdW5lIHZhbGV1ciBzZXJhIGF1dG9tYXRpcXVlbWVudCBjYWxjdWzDqWUgcG91ciBjZXQgYXR0cmlidXQgZGUgc29ydCBxdWUgbGEgcGx1cGFydCBkZXMgdGFncyBpbWcgc29pZW50IHZhbGlkZXMuIFZvdXMgcG91dmV6IGluaGliZXIgY2UgY2FsY3VsIGF1dG9tYXRpcXVlIGF2ZWMgbGEgcGFyYW3DqHRyZSAibm9hdXRvIic7DQokbGFuZ1sncGFyYW1fY2xhc3MnXSA9ICdVdGlsaXPDqSBsb3JzIGRlIGxhIGNyw6lhdGlvbiBkXCd1biB0YWcgPGltZz4uIFBlcm1ldCBkXCdham91dGVyIHVuZSBvdSBwbHVzaWV1cnMgY2xhc3NlcyBDU1MgYXUgdGFnLCBwYXIgZXhlbXBsZSA6IGNsYXNzPSJmYW5jeWJveCB0aHVtYm5haWwiJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfYmx1ciddID0gJyh0b3V0ZXMgdmFsZXVycykgU3DDqWNpZmlleiB1bmUgdmFsZXVyIHBvdXIgY2UgcGFyYW3DqHRyZSBwb3VyIGFqb3V0ZXIgdW4gZWZmZXQgZGUgZmxvdSBzdXIgbFwnaW1hZ2UnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKGVudGllcikgQXVnbWVudGUgbGEgbHVtaW5vc2l0w6kgZGUgbFwnaW1hZ2UgZ8OpbsOpcsOpZSBzZWxvbiBsXCdlbnRpZXIgc3DDqWNpZmnDqSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbG9yaXplJ10gPSAnKHIsZyxiWyxhbHBoYV0pIElkZW50aXF1ZSDDoCAiZmlsdGVyX2dyZXlzY2FsZSIgc2F1ZiBxdWUgdm91cyBwb3V2ZXogc3DDqWNpZmllciBsYSBjb3VsZXVyIGV0IGxhIHZhbGV1ciBhbHBoYSAodHJhbnNwYXJlbmNlKSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbnRyYXN0J10gPSAnKGVudGllcikgTW9kaWZpZSBsZSBjb250cmFzdGUgZGUgbFwnaW1hZ2UgZ8OpbsOpcsOpZSBzZWxvbiBsXCdlbnRpZXIgc3DDqWNpZmnDqSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3AnXSA9ICcocG91cmNlbnRhZ2VbLGFsaWduZW1lbnRfaG9yaXpvbnRhbCxhbGlnbmVtZW50X3ZlcnRpY2FsXSkgLSBFZmZlY3R1ZSB1biByZWNhZHJhZ2Ugc3VyIGxcJ2ltYWdlIHNww6ljaWZpw6llLiBMZXMgcGFyYW3DqHRyZXMgZGUgcmVjYWRyYWdlIHNvbnQgc3DDqWNpZmnDqXMgc291cyBmb3JtZSBkXCd1bmUgbGlzdGUgZGUgcGFyYW3DqHRyZXMgc8OpcGFyw6lzIHBhciB1bmUgdmlyZ3VsZS4gTGEgcHJlbWnDqHJlIHZhbGV1ciAob2JsaWdhdG9pcmUpIGVzdCB1biBwb3VyY2VudGFnZSBkZSBsYSB0YWlsbGUgb3JpZ2luYWxlIGRlIGxcJ2ltYWdlLiBMZSBzZWNvbmRzIHBhcmFtw6h0cmUgKG9wdGlvbm5lbCkgZG9pdCDDqnRyZSBjaG9pc2kgcGFybWkgXCdsXCcsIFwnY1wnLCBvdSBcJ3JcJyAocmVzcGVjdGl2ZW1lbnQgcG91ciBnYXVjaGUobGVmdCksIGNlbnRyZShjZW50ZXIpLCBkcm9pdChyaWdodCkpLiBMZSB0cm9pc2nDqG1lIHBhcmFtw6h0cmUgKG9wdGlvbm5lbCkgZG9pdCDDqnRyZSBjaG9pc2kgcGFybWkgXCd0XCcsIFwnY1wnLCBvdSBcJ2JcJyAocmVzcGVjdGl2ZW1lbnQgcG91ciBoYXV0KHRvcCksIGNlbnRyZShjZW50ZXIpLCBiYXMoYm90dG9tKSkuIENlcyBkZXV4IGRlcm5pZXJzIHBhcmFtw6h0cmVzIHNww6ljaWZpZW50IGxhIHBvc2l0aW9uIGF1IHNlaW4gZGUgbFwnaW1hZ2Ugb3JpZ2luYWxlIMOgIGxhcXVlbGxlIGFwcGxpcXVlciBsZSByZWNhZHJhZ2UuIGUuZy4gOiBjcm9wPTMzLGIsciBwb3VyIGVmZmVjdHVlciB1biByZWNhZHJhZ2UgZGUgMzMlIMOgIHBhcnRpciBkdSBiYXMgZHJvaXQgZGUgbFwnaW1hZ2Ugb3JpZ2luYWxlLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3B0b2ZpdCddID0gJyhsYXJnZXVyLGhhdXRldXIpIC0gRWZmZWN0dWUgdW4gcmVjYWRyYWdlIHN1ciBsXCdpbWFnZSBzcMOpY2lmacOpZSBwb3VyIGVuIGFkYXB0ZXIgbGEgdGFpbGxlLiBDZWxhIHRlbnRlIGRlIHJlZGltZW5zaW9ubmVyIGxcJ2ltYWdlIMOgIGxhIHRhaWxsZSBkw6lzaXLDqWUgZW4gZ2FyZGFudCBsZSByYXRpbyBkXCdhc3BlY3QsIHB1aXMgcmVjZW50cmUgbFwnaW1hZ2UgcmVkaW1lbnNpb25uw6llLiBMZXMgcGFyYW3DqHRyZXMgc3DDqWNpZmnDqXMgY29ycmVzcG9uZGVudCDDoCBsYSBoYXV0ZXVyIGV0IGxhIGxhcmdldXIgZMOpc2lyw6lzIHBvdXIgbFwnaW1hZ2UgZGUgZGVzdGluYXRpb24uJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfZWRnZWRldGVjdCddID0gJyh0b3V0ZXMgdmFsZXVycykgQWNjZW50dWUgbGVzIGJvcmRzIGRlIGxcJ2ltYWdlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfZW1ib3NzJ10gPSAnKHRvdXRlcyB2YWxldXJzKSAiUmVwb3Vzc2UiIGxcJ2ltYWdlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfZmxpcCddID0gJyhtb2RlKSAtIEFwcGxpcXVlIHVuZSByb3RhdGlvbiDDoCBsXCdpbWFnZS4gIDAgPSBob3Jpem9udGFsLCAxID0gdmVydGljYWwsIGV0IDIgPSBkYW5zIGxlcyBkZXV4IGRpcmVjdGlvbnMuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKHRvdXRlcyB2YWxldXJzKSBDb252ZXJ0aXQgbFwnaW1hZ2UgZW4gbml2ZWF1eCBkZSBncmlzJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbWVhbnJlbW92YWwnXSA9ICcodG91dGVzIHZhbGV1cnMpIFRlbnRlIGRcJ2Fqb3V0ZXIgdW4gZWZmZXQgInNrZXRjaHkiJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKHRvdXRlcyB2YWxldXJzKSBQYXNzZSBsXCdpbWFnZSBlbiBuw6lnYXRpZic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3BpeGVsYXRlJ10gPSAnKHRhaWxsZVssYXZhbmPDqV0pIFBpeGVsbGlzZSBsXCdpbWFnZS4gU3DDqWNpZmlleiB1biBlbnRpZXIgcG91ciBsZSBwb2lkcyBldCB1bmUgdmFsZXVyIGJvb2zDqWVubmUgb3B0aW9ubmVsbGUgKHRydWUvZmFsc2UgLSBmYWxzZSBwYXIgZMOpZmF1dCkgcG91ciBwZXJtZXR0cmUgdW5lIHBpeMOpbGlzYXRpb24gYXZhbmPDqWUuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcmVzaXplJ10gPSAndHlwZSxudW1iZXJbLG51bWJlcl0gLSBQZXJmb3JtIGEgcmVzaXplIG9mIHRoZSBzb3VyY2UgaW1hZ2UuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+cCxudW1iZXIgLSBQZXJmb3JtIGEgc2ltcGxlIHJlc2NhbGUgdG8gYSBjZXJ0YWluIHBlcmNlbnRhZ2UuICBpLmU6ICByZXNpemU9cCw1MCB0byByZXNpemUgdG8gNTAlIG9mIHRoZSBvcmlnaW5hbCBzaXplLjwvbGk+DQogIDxsaT53LG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgd2lkdGggKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT13LDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSB3aWR0aCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmgsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLjwvbGk+DQogIDxsaT5jLHgseSAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBjdXN0b20gc2l6ZSAod2l0aG91dCByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIGkuZTogcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+DQo8L3VsPic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZXRvZml0J10gPSAnKHdpZHRoLGhlaWdodFssY29sb3JbLGFscGhhXV0pIC0gUGVyZm9ybSBhIHJlc2l6ZSBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZSBpbWFnZSBpcyBjZW50ZXJlZCBpbiB0aGUgYm94IHNwZWNpZmllZCAoZWl0aGVyIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGRlcGVuZGluZyB1cG9uIGFzcGVjdCByYXRpbyBhbmQgdGhlIGRlc3RpbmF0aW9uIHNpemUsIGFuZCB0aGUgaW1hZ2UgaXMgc3Vycm91bmRlZCBieSB0aGUgc3VwcGxpZWQgY29sb3IuICBDb2xvcnMgY2FuIGJlIHNwZWNpZmllZCBieSBuYW1lIChzZWUgdGhlIFgxMSBjb2xvciBuYW1lcyksIG9yIGJ5ICNubm5ubm4gaGV4YWRlY2ltYWwgZm9ybWF0LCBvciBhcyByZ2IgdmFsdWVzIHNlcGFyYXRlZCBieSBhIDogaS5lOiAgZmlsdGVyX2Nyb3B0b2ZpdD02MDAsNDAwLCNmZjAwMDAuICBUaGUgc3BlY2lhbCBjb2xvciB2YWx1ZSAidHJhbnNwYXJlbnQiIGNhbiBiZSBzcGVjaWZpZWQgdG8gZm9yY2UgdGhlIGJhY2tncm91bmQgdG8gYmUgdHJhbnNwYXJlbnQuICAgQW4gYWxwaGEgdmFsdWUgbWF5IGJlIHNwZWNpZmllZCBiZXR3ZWVuIDAgYW5kIDEyNyB0byBzcGVjaWZ5IGRpZmZlcmVudCBkZWdyZWVzIG9mIHRyYW5zbHVjZW5jeSBmb3IgdGhlIGJhY2tncm91bmQuICAgQXQgbm8gdGltZSB3aWxsIHRoaXMgcGx1Z2luIHBlcmZvcm0gYW55IHVwc2NhbGluZy4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nbGUsY291bGV1cikgU3DDqWNpZmllIGxcJ2FuZ2xlIChzZW5zIGRlcyBhaWd1aWxsZXMgZFwndW5lIG1vbnRyZSkgZGUgcm90YXRpb24gZGUgbFwnaW1hZ2UsIGV0IGxhIGNvdWxldXIgZGUgcmVtcGxpc3NhZ2UgcG91ciBsZXMgcGl4ZWxzIHZpZGVzLiBMYSByb3RhdGlvbiBzXCdlZmZlY3R1ZSDDoCBwYXJ0aXIgZHUgY2VudHJlIGRlIGxcJ2ltYWdlLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdW5kZWRjb3JuZXJzJ10gPSAnKHJheW9uKSBTcMOpY2lmaWUgdW5lIHZhbGV1ciBkZSByYXlvbiAoZW4gcGl4ZWxzKSBwb3VyIGFycm9uZGlyIGxlcyBhbmdsZXMuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJ10gPSAnKHRvdXRlcyB2YWxldXJzKSBTcMOpY2lmaWUgcXVlIGxlIGZpbGlncmFuZSAocsOpZ2zDqSBkYW5zIGxlIG1vZHVsZSBDR0V4dGVuc2lvbnMpIGRvaXQgw6p0cmUgYXBwbGlxdcOpIMOgIGxcJ2ltYWdlJzsNCiRsYW5nWydwYXJhbV9oZWlnaHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBoZWlnaHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICJub2F1dG8iIHBhcmFtZXRlci4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgYWxzbyBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICJ3aWR0aCIgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICJub2F1dG9zY2FsZSIgcGFyYW1ldGVyIGlzIGFsc28gc3VwcGxpZWQpJzsNCiRsYW5nWydwYXJhbV9pZCddID0gJ1V0aWxpc8OpIGxvcnMgZGUgbGEgY3LDqWF0aW9uIGRcJ3VuIHRhZyBpbWcsIHBlcm1ldCBkZSBzcMOpY2lmaWVyIHVuIGF0dHJpYnV0IGlkIMOgIGluY2x1cmUgYXUgdGFnLiBQYXIgZXggOiBpZD0ibW9udGFnIic7DQokbGFuZ1sncGFyYW1fbWF4X2hlaWdodCddID0gJ1V0aWxpc8OpIHVuaXF1ZW1lbnQgYXZlYyBsYSBiYWxpc2Uge3NpX2NvbnZlcnR9LCBjZSBwYXJhbcOodHJlIHBlcm1ldCBkZSBzcMOpY2lmaWVyIGxhIGhhdXRldXIgbWF4LiBwb3VyIGxlcyBpbWFnZXMgY29udmVydGllcyc7DQokbGFuZ1sncGFyYW1fbWF4X3dpZHRoJ10gPSAnVXRpbGlzw6kgdW5pcXVlbWVudCBhdmVjIGxhIGJhbGlzZSB7c2lfY29udmVydH0sIGNlIHBhcmFtw6h0cmUgcGVybWV0IGRlIHNww6ljaWZpZXIgbGEgbGFyZ2V1ciBtYXguIHBvdXIgbGVzIGltYWdlcyBjb252ZXJ0aWVzJzsNCiRsYW5nWydwYXJhbV9uYW1lJ10gPSAnVXRpbGlzw6kgbG9ycyBkZSBsYSBjcsOpYXRpb24gZHUgdGFnIGltZywgc3DDqWNpZmllIGxhIHZhbGV1ciBwb3VyIGxcJ2F0dHJpYnV0IG5hbWUuJzsNCiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdOZSBwYXMgY2FsY3VsZXIgYXV0b21hdGlxdWVtZW50IGxlcyBhdHRyaWJ1dHMgKHdpZHRoLCBoZWlnaHQsIGFsdCkgcG91ciBsYSBiYWxpc2UgImltZyIuIENlY2kgcGV1dCBmYWlyZSBlbiBzb3J0ZSBxdWUgdm90cmUgY29kZSBuZSBzb2l0IHBhcyB2YWxpZGUgc2kgdm91cyBuZSBzcMOpY2lmaWV6IHBhcyBsZXMgYXR0cmlidXRzICJ3aWR0aCIsICJoZWlnaHQiIGV0ICJhbHQiLic7DQokbGFuZ1sncGFyYW1fbm9hdXRvc2NhbGUnXSA9ICdTaSBsZXMgcGFyYW3DqHRyZXMgaGF1dGV1ciBldCBsYXJnZXVyIHNvbnQgc3DDqWNpZmnDqXMsIGNlIHBhcmFtw6h0cmVzIGTDqXNhY3RpdmUgbGUgcmVkaW1lbnNpb25uZW1lbnQgYXV0b21hdGlxdWUgZGUgbFwnaW1hZ2UuJzsNCiRsYW5nWydwYXJhbV9ub2JjYWNoZSddID0gJ05lIHBhcyBhdXRvcmlzZXIgbFwnaW1hZ2UgcmVkaW1lbnNpb25uw6llIMOgIMOqdHJlIG1pc2UgZW4gY2FjaGUgZGFucyBsZSBuYXZpZ2F0ZXVyICh1dGlsZSBkdXJhbnQgbGUgZMOpdmVsb3BwZW1lbnQpIDsgY2VjaSBham91dGUgdW4gbnVtw6lybyB1bmlxdWUgZW4gcGFyYW3DqHRyZSBkZSBsXCdpbWFnZSBxdWkgZm9yY2VyYSBsZSBuYXZpZ2F0ZXVyIMOgIG5lIHBhcyBtZXR0cmUgbFwnaW1hZ2UgZW4gY2FjaGUuJzsNCiRsYW5nWydwYXJhbV9ub2VtYmVkJ10gPSAnRm9yY2UgbFwnaW1hZ2Ugw6AgbmUgcGFzIMOqdHJlIGludMOpZ3LDqWUgZW5jb2TDqWUgZGFucyBsZSBjb2RlIHNvdXJjZS4gRW4gZMOpcGl0IGRlIHNhIGNvbmZpZ3VyYXRpb24gZGFucyBsXCdhZG1pbiwgbGUgbW9kdWxlIHZhIGfDqW7DqXJlciB1biBmaWNoaWVyIGltYWdlIHN1ciBsZSBzZXJ2ZXVyLic7DQokbGFuZ1sncGFyYW1fbm90aW1lY2hlY2snXSA9ICdEw6lzYWN0aXZlciBsYSB2w6lyaWZpY2F0aW9uIGRlIHRlbXBvcmlzYXRpb24gZGVzIGZpY2hpZXJzIG1pcyBlbiBjYWNoZS4nOw0KJGxhbmdbJ3BhcmFtX25vcmVtb3RlJ10gPSAnTmUgcGFzIGF1dG9yaXNlciBsYSByw6ljdXDDqXJhdGlvbiBkZSBzb3VyY2UgZGVzIFVSTHMgZGlzdGFudGVzJzsNCiRsYW5nWydwYXJhbV9ub3JvdGF0ZSddID0gJ05lIHBhcyB0ZW50ZXIgZGUgbGlyZSBsZXMgaW5mb3JtYXRpb25zIGV4aWYgZGVwdWlzIGxlIGZpY2hpZXIgcG91ciBjb3JyaWdlciBsYSByb3RhdGlvbiBkZSBsXCdpbWFnZSc7DQokbGFuZ1sncGFyYW1fbm90YWcnXSA9ICdOZSBwYXMgZ8OpbsOpcmVyIGRlIGJhbGlzZSAiaW1nIiwgbWFpcyB1bmlxdWVtZW50IGxcJ1VSTCBkZSBsXCdpbWFnZSBlbiBjYWNoZS4gQ2VjaSBuXCdhIGF1Y3VuIGVmZmV0IHF1YW5kIFNtYXJ0SW1hZ2UgZXN0IHV0aWxpc8OpIGRlcHVpcyB1bmUgZmV1aWxsZSBkZSBzdHlsZXMuJzsNCiRsYW5nWydwYXJhbV9vdmVyd3JpdGUnXSA9ICdEw6lzYWN0aXZlIHRvdXQgbGUgY2FjaGUgZXQgZm9yY2Ugw6AgcmVjYWxjdWxlciBsZXMgZmlsdHJlcyc7DQokbGFuZ1sncGFyYW1fcXVhbGl0eSddID0gJ1Nww6ljaWZpZXIgbGEgcXVhbGl0w6kgZGUgbFwnaW1hZ2UgYWZmaWNow6llLiBNZXR0cmUgdW5lIHZhbGV1ciBlbnRyZSAwIGV0IDEwMC4nOw0KJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1V0aWxpc8OpIGxvcnMgZGUgbGEgY3LDqWF0aW9uIGRcJ3VuZSBiYWxpc2UgZFwnaW1hZ2UsIGlsIHBlcm1ldCBkZSBzcMOpY2lmaWVyIHVuIGF0dHJpYnV0IHJlbCBvcHRpb25uZWwgKHV0aWxpc8OpIHR5cGlxdWVtZW50IGRhbnMgbGVzIGFsYnVtcyBqYXZhc2NyaXB0KS4gZS5nOiByZWw9ImFsYnVtIic7DQokbGFuZ1sncGFyYW1fc2lsZW50J10gPSAnSWdub3JlciBzaWxlbmNpZXVzZW1lbnQgbGVzIGVycmV1cnMnOw0KJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCjx1bD4NCiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KPC91bD4NCkl0IGlzIGFsc28gcG9zc2libGUgdG8gc3BsaXQgdGhlIHNyYyBwYXJhbWV0ZXIgaW50byBtdWx0aXBsZSBhcmd1bWVudHMsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYXRoIHRvIHRoZSBmaWxlLCBhbmQgdGhlIGZpbGVuYW1lIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUgc21hcnR5IHZhcmlhYmxlcy4gICBZb3UgY2FuIHNwZWNpZnkgdGhlIHNyYyBhcyBzcmMxPVwkdGhlX3BhdGggc3JjMj1cJHRoZV9maWxlbmFtZS4gIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIC8gaW4gYmV0d2VlbiBlYWNoIGFyZ3VtZW50LiAgVGhlcmUgaXMgbm8gbGltaXQgdG8gdGhlIG51bWJlciBvZiBzcmMgcGFyYW1ldGVycy4nOw0KJGxhbmdbJ3BhcmFtX3N0eWxlJ10gPSAnVXRpbGlzw6kgcG91ciBsYSBiYWxpc2UgImltZyIsIHBlcm1ldCBkZSBzcMOpY2lmaWVyIHVuIHN0eWxlIGFsdGVybmF0aWYgcG91ciBsYSBiYWxpc2UuICBQYXIgZXggOiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Iic7DQokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdSZW5zZWlnbmV6IHVuIHRpdHJlIG9wdGlvbm5lbCBwb3VyIGxhIGJhbGlzZSAiaW1nIi4gIFBhciBleCA6IHRpdGxlPSJDZWNpIGVzdCB1bmUgYXN0dWNlIic7DQokbGFuZ1sncGFyYW1fd2lkdGgnXSA9ICdVdGlsaXPDqSBsb3JzIGRlIGxhIGNyw6lhdGlvbiBkXCd1bmUgYmFsaXNlICJpbWciIDogc3DDqWNpZmllIGxcJ2F0dHJpYnV0ICJ3aWR0aCIgKGxhcmdldXIpLiBOb3RlIDogc2kgY2V0dGUgdmFsZXVyIG5cJ2VzdCBwYXMgc3DDqWNpZmnDqWUsIHVuZSB2YWxldXIgdmEgw6p0cmUgYXV0b21hdGlxdWVtZW50IGNhbGN1bMOpZS4gVm91cyBwb3V2ZXogZMOpc2FjdGl2ZXIgY2UgY2FsY3VsIGF1dG9tYXRpcXVlIGF2ZWMgbGUgcGFyYW3DqHRyZSAibm9hdXRvIi4nOw0KJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlIGluc3RhbGzDqSc7DQokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RvdXRlcyBsZXMgZG9ubsOpZXMgcmVsYXRpdmVzIMOgIGNlIG1vZHVsZSBvbnQgw6l0w6kgc3VwcHJpbcOpZXMnOw0KJGxhbmdbJ3Byb21wdF9jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdQb3NpdGlvbiDDoCBwYXJ0aXIgZGUgbGFxdWVsbGUgcmVjYWRyZXIgOic7DQokbGFuZ1sncHJvbXB0X2VtYmVkX3NpemVsaW1pdCddID0gJ0ludMOpZ3JhdGlvbiBiYXPDqWUgc3VyIGxlIHBvaWRzIGRlIGxcJ2ltYWdlJzsNCiRsYW5nWydwcm9tcHRfZW1iZWRfc21hcnRsaW1pdGVkJ10gPSAnSW50w6lncmF0aW9uIGVuIG1vZGUgU21hcnQgbWFpcyBsaW1pdGUgbGUgcG9pZHMgZGUgbFwnaW1hZ2UnOw0KJGxhbmdbJ3Byb21wdF9lbWJlZF90eXBlJ10gPSAnSW50w6lncmF0aW9uIGJhc8OpZSBzdXIgbGUgdHlwZSBkZSBsXCdpbWFnZSc7DQokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAnRW4gYmFzIMOgIGdhdWNoZSAoYmcpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0VuIGJhcyBhdSBjZW50cmUgKGJjKSc7DQokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21yaWdodCddID0gJ0VuIGJhcyDDoCBkcm9pdGUgKGJkKSc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJsZWZ0J10gPSAnQXUgY2VudHJlIMOgIGdhdWNoZSAoY2cpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlciddID0gJ0F1IGNlbnRyZSc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ0F1IGNlbnRyZSDDoCBkcm9pdGUgKGNkKSc7DQokbGFuZ1sncHJvbXB0X2xvY190b3BsZWZ0J10gPSAnRW4gaGF1dCDDoCBnYXVjaGUgKGhnKSc7DQokbGFuZ1sncHJvbXB0X2xvY190b3BjZW50ZXInXSA9ICdFbiBoYXV0IGF1IGNlbnRyZSAoaGMpJzsNCiRsYW5nWydwcm9tcHRfbG9jX3RvcHJpZ2h0J10gPSAnRW4gaGF1dCDDoCBkcm9pdGUgKGhkKSc7DQokbGFuZ1sncmVzaXppbmcnXSA9ICdSZWRpbWVuc2lvbm5lbWVudCc7DQokbGFuZ1snc21hcnQnXSA9ICdJbnRlbGxpZ2VudCBbU21hcnRdJzsNCiRsYW5nWydzdWJtaXQnXSA9ICdFbnZveWVyJzsNCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGUgUHVsaXRhJzsNCiRsYW5nWydhZGRfcm93J10gPSAnQWdnaXVuZ2kgcmlnYSc7DQokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7DQokbGFuZ1snYWxpYXNlcyddID0gJ0FsaWFzJzsNCiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICdTaWN1cm8gZGkgdm9sZXIgcmltdW92ZXJlIFRVVFRJIGkgZmlsZSBkYWxsYSBjYWNoZSBkZWxsZSBpbW1hZ2luaT8nOw0KJGxhbmdbJ2NsZWFyX2FsbCddID0gJ0VsaW1pbmEgVHV0dGkgaSBGaWxlJzsNCiRsYW5nWydjbGVhcl9ub3cnXSA9ICdFbGltaW5hIE9yYSc7DQokbGFuZ1snZGVsZXRlJ10gPSAnQ2FuY2VsbGEnOw0KJGxhbmdbJ2VtYmVkZGluZyddID0gJ0ltbWFnaW5pIGluY29ycG9yYXRlJzsNCiRsYW5nWydlbWJlZGRpbmdfbW9kZSddID0gJ01vZGFsaXQmYWdyYXZlOyBJbmNvcnBvcmF6aW9uZSBJbW1hZ2luZSc7DQokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnTGltaXRlIGRpIGdyYW5kZXp6YSBwZXIgbCYjMDM5O2ltbWFnaW5lIGluY29ycG9yYWJpbGUgKGtiKSc7DQokbGFuZ1snZW1iZWRfdHlwZXMnXSA9ICdUaXBvIGRpIGltbWFnaW5lIGluY29ycG9yYWJpbGUnOw0KJGxhbmdbJ2Vycm9yX2FsaWFzX2R1cGxpY2F0ZW5hbWVfYXRyb3cnXSA9ICdEdXBsaWNhIGlsIG5vbWUgYWxpYXMgc3BlY2lmaWNhdG8gcGVyIGwmIzAzOTthbGlhcyBhbGxhIHJpZ2EgJWQnOw0KJGxhbmdbJ2Vycm9yX2FsaWFzX25vbmFtZV9hdHJvdyddID0gJ05lc3N1biBub21lIHNwZWNpZmljYXRvIHBlciBsJiMwMzk7YWxpYXMgYWxsYSByaWdhICVkJzsNCiRsYW5nWydlcnJvcl9hbGlhc19ub29wdGlvbnNfYXRyb3cnXSA9ICdOZXNzdW5hIG9wemlvbmUgc3BlY2lmaWNhdGEgcGVyIGwmIzAzOTthbGlhcyBhbGxhIHJpZ2EgJWQnOw0KJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnRXQmYWdyYXZlOyBwcmVmZXJlbnphIG5vbiB2YWxpZG8gLi4uIE5lc3N1bmEgb3BlcmF6aW9uZSBlc2VndWl0YSc7DQokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnVW4gcGFyYW1ldHJvIHJpY2hpZXN0byBtYW5jYSBvIG5vbiAmZWdyYXZlOyB2YWxpZG86ICVzJzsNCiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW0nXSA9ICdQYXJhbWV0cm8gbm9uIHZhbGlkbyBuZWxsYSBjaGlhbWF0YTogJXMnOw0KJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnSW1wb3NzaWJpbGUgdHJvdmFyZSB1biBmaWxlIGluOiAlcyc7DQokbGFuZ1snZXJyb3JfcmVtb3RlZmlsZSddID0gJ1Byb2JsZW1hIHJlY3VwZXJvIGZpbGUgcmVtb3RvIGluICVzJzsNCiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnU21hcnRJbWFnZSAtIEZpbHRybyBTY29ub3NjaXV0bzogJXMnOw0KJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgU21hcnQgSW1hZ2UgVG9vbGtpdCc7DQokbGFuZ1snZ2VuZXJhbCddID0gJ0dlbmVyYWxlJzsNCiRsYW5nWydoZWxwJ10gPSAnPGgzPkNvc2EgZmE/PC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gZmFjaWxpdGEgbCYjMDM5O2VsYWJvcmF6aW9uZSBlIGxhIHZpc3VhbGl6emF6aW9uZSBkZWxsZSBpbW1hZ2luaSBuZWwgdHVvIHNpdG8gd2ViLiBQZXJtZXR0ZSB1bmEgc2VtcGxpY2UgZWxhYm9yYXppb25lIGRlbGwmIzAzOTtpbW1hZ2luZSwgZSBsJiMwMzk7YWdnaXVudGEgZGkgZmlsaWdyYW5hLiBRdWVzdG8gbW9kdWxvIHJlbmRlIGJhbmFsZSBpbCBwcm9jZXNzbyBkaSB2aXN1YWxpenphemlvbmUgZGVsbGUgaW1tYWdpbmkgbmVsIHR1byBzaXRvLiBJbm9sdHJlIGZvcm5pc2NlIGZ1bnppb25hbGl0JmFncmF2ZTsgcGVyIG1pZ2xpb3JhcmUgbGEgdmFsdXRhemlvbmUgZGVsbGUgcHJlc3RhemlvbmkgZGVsIHR1byBzaXRvIHdlYiwgcmVuZGVuZG9sbyBwb3RlbnRlIGUgdmVsb2NlIGFsIHRlbXBvIHN0ZXNzby48L3A+DQo8aDM+Q2FyYXR0ZXJpc3RpY2hlPC9oMz4NCjx1bD4NCjxsaT5FbGFib3JhemlvbmUgZSBmaWx0cmFnZ2lvIGRlbGxlIGltbWFnaW5pIHBvdGVudGkgbWEgc2VtcGxpY2kgZGEgdXNhcmUuIElsIGZpbHRyYWdnaW8gY29tcHJlbmRlOg0KICA8dWw+DQogICAgPGxpPlNmb2NhdHVyYTwvbGk+DQogICAgPGxpPkx1bWlub3NpdCZhZ3JhdmU7PC9saT4NCiAgICA8bGk+Q29sb3JhemlvbmU8L2xpPg0KICAgIDxsaT5Db250cmFzdG88L2xpPg0KICAgIDxsaT5SaXRhZ2xpbzwvbGk+DQogICAgPGxpPjxzdHJvbmc+Uml0YWdsaW8gZSBhZGF0dGFtZW50bzwvc3Ryb25nPjwvbGk+DQogICAgPGxpPlJpbGV2YW1lbnRvIGRlaSBib3JkaTwvbGk+DQogICAgPGxpPlJpbGlldm88L2xpPiANCiAgICA8bGk+U2NhbGEgZGkgZ3JpZ2k8L2xpPg0KICAgIDxsaT5SaW1vemlvbmUgbWVkaWE8L2xpPg0KICAgIDxsaT5OZWdhdGl2bzwvbGk+DQogICAgPGxpPkVmZmV0dG8gcGl4ZWw8L2xpPg0KICAgIDxsaT5SaWRpbWVuc2lvbmFtZW50bzwvbGk+DQogICAgPGxpPlJvdGF6aW9uZTwvbGk+DQogICAgPGxpPlNmb2NhdHVyYSBzZWxldHRpdmE8L2xpPg0KICAgIDxsaT5TbXVzc2FtZW50bzwvbGk+DQogICAgPGxpPkZpbGlncmFuYTwvbGk+DQogIDwvdWw+DQo8L2xpPjxici8+DQo8bGk+UmlsZXZhbWVudG8gaW50ZWxsaWdlbnRlIGRpIGltbWFnaW5pLiBTcGVjaWZpY2FyZSBVUkwgYXNzb2x1dGksIHBlcmNvcnNpIGFzc29sdXRpIG8gcmVsYXRpdmkgYWkgZmlsZSBuZWxsYSBjYXJ0ZWxsYSBwcmluY2lwYWxlIGRlbCBzaXRvLjwvbGk+DQo8bGk+U2NhcmljYW1lbnRvIGF1dG9tYXRpY28sIG1lbW9yaXp6YXppb25lIGluIGNhY2hlLCBlbGFib3JhemlvbmUsIGUgcmltZW1vcml6emF6aW9uZSBpbiBjYWNoZSBkaSBpbW1hZ2luaSBkaSBzaXRpIHJlbW90aS48L2xpPg0KPGxpPlJpZGltZW5zaW9uYW1lbnRvIGludGVsbGlnZW50ZSBhdXRvbWF0aWNvIChyaWRpbWVuc2lvbmEgYXV0b21hdGljYW1lbnRlIGFsbGEgbGFyZ2hlenphIGVkIGFsdGV6emEgZGVzaWRlcmF0ZSBwcmltYSBkaSBzZXJ2aXJlIGwmIzAzOTtpbW1hZ2luZS4uLiByaWRpbWVuc2lvbmFuZG8gYSBsYXJnaGV6emEgRSBhbHRlenphIHByb3ZvY2EgdW4gcml0YWdsaW8gYWRhdHRhdG8pLiA8ZW0+KEJhc3RhIHNwZWNpZmljYXJlIHVuIHBhcmFtZXRybyBwZXIgbGEgbGFyZ2hlenphIGUvbyB1bm8gcGVyIGwmIzAzOTthbHRlenphIG5lbCB0YWcgU21hcnRJbWFnZSkuPC9lbT48L2xpPg0KPGxpPkxlZ2dlIGF1dG9tYXRpY2FtZW50ZSBsZSBpbmZvcm1hemlvbmkgRVhJRiBkZWxsJiMwMzk7aW1tYWdpbmUgZSBjb3JyZWdnZSBsJiMwMzk7b3JpZW50YW1lbnRvLjwvbGk+DQo8bGk+UmlsZXZhbWVudG8gZGVsIGNhbWJpYW1lbnRvIGRlbGwmIzAzOTtpbW1hZ2luZSwgc2UgbCYjMDM5O2ltbWFnaW5lIHByaW5jaXBhbGUgJmVncmF2ZTsgY2FtYmlhdGEgdmVycmFubm8gZ2VuZXJhdGUgaW1tYWdpbmkgc2NhbGF0ZS4gKHBlciBkaXNhYmlsaXRhcmUgcXVlc3RvIGNvbXBvcnRhbWVudG8sIHZlZGkgaWwgcGFyYW1ldHJvIG5vdGltZWNoZWNrKS48L2xpPg0KPGxpPkdlbmVyYXppb25lIGludGVsbGlnZW50ZSBhdXRvbWF0aWNhIGRlZ2xpIGF0dHJpYnV0aSBkZWxsZSBpbW1hZ2luaS48L2xpPg0KPGxpPkxlIGltbWFnaW5pIGVsYWJvcmF0ZSB2ZW5nb25vIG1lbW9yaXp6YXRlIG5lbGxhIGNhY2hlIGRlbCBzZXJ2ZXIgcGVyIHZlbG9jaXp6YXJuZSBsYSBmcnVpemlvbmUuPC9sST4NCjxsaT5Qb3NzaWJpbGl0JmFncmF2ZTsgZGkgdXRpbGl6emFyZSB1biBVUkwgc2VwYXJhdG8gKENETikgcGVyIHNlcnZpcmUgbGUgaW1tYWdpbmk8L2xpPg0KPGxpPkxlIGVsYWJvcmF6aW9uaSBkZWxsJiMwMzk7aW1tYWdpbmUgcG9zc29ubyBlc3NlcmUgY29tYmluYXRlIGUgdmVuZ29ubyBlc2VndWl0ZSBpbiBvcmRpbmUuPC9saT4NCjxsaT5PZmZyZSBsYSBwb3NzaWJpbGl0JmFncmF2ZTsgZGkgaW5zZXJpcmUgbGUgaW1tYWdpbmkgZGlyZXR0YW1lbnRlIG5lbCBjb250ZW51dG8gZGVsbGEgcGFnaW5hIHdlYiwgcGVyIG1pbmltaXp6YXJlIGxvIHNwYXppby48L2xpPg0KPGxpPkZvcm5pc2NlIGxhIGNhcGFjaXQmYWdyYXZlOyBkaSBsaW1pdGFyZSBlbGVnYW50ZW1lbnRlIGwmIzAzOTtpbmNsdXNpb25lIGRlbGxlIGltbWFnaW5pLCBzb2xvIHBlciBxdWVpIGJyb3dzZXIgaW4gZ3JhZG8gZGkgZ2VzdGlybGUuPC9saT4NCjxsaT5Db21iaW5hIGdsaSBhcmdvbWVudGkgY29tdW5lbWVudGUgdXNhdGkgaW4gYWxpYXMgZGVub21pbmF0aS48L2xpPg0KPGxpPkZ1bnppb25hIGFuY2hlIG5laSBmb2xnaSBkaSBzdGlsZSBjb24gaWwgdGFnIHtjbXNfc3R5bGVzaGVldH0uPC9saT4NCjxsaT5Qb3NzaWJpbGl0JmFncmF2ZTsgZGkgZWxhYm9yYXJlIGF1dG9tYXRpY2FtZW50ZSBsZSBpbW1hZ2luaSBhbGwmIzAzOTtpbnRlcm5vIGRpIHVuIGJsb2NjbyBodG1sIHVzYW5kbyBpbCB0YWcgcGVyIGkgYmxvY2NoaSB7c2lfY29udmVydH0uPC9saT4NCjxsaT5BbHRyby4uLjwvbGk+DQo8L3VsPg0KPGgzPlBlcmNoJmVhY3V0ZTsgdXNhcmxvPzwvaDM+DQo8cD5DaSBzb25vIHF1YXR0cm8gbW90aXZpIG1vbHRvIGltcG9ydGFudGkgcGVyIHV0aWxpenphcmUgcXVlc3RvIHBsdWdpbjo8L3A+DQo8dWw+DQogIDxsaT5QcmVzdGF6aW9uaTogbCYjMDM5O3V0aWxpenpvIGRlbGxhIGluY29ycG9yYW1lbnRvIGRlbGxlIGltbWFnaW5pIChhbmNoZSBub24gdXNhbmRvIGFsdHJlIGZ1bnppb25pKSBzaSB0cmFkdWNlIGluIHVuIG1pbm9yIG51bWVybyBkaSByaWNoaWVzdGUpLiBMYSBtYWdnaW9yIHBhcnRlIGRlaSBicm93c2VyIGVmZmV0dHVhIGRhbGxlIGR1ZSBhbGxlIHF1YXR0cm8gcmljaGllc3RlIHNpbXVsdGFuZWUgcGVyIHZvbHRhIHZlcnNvIGxvIHN0ZXNzbyBkb21pbmlvLiBRdWVzdG8gcHUmb2dyYXZlOyByYWxsZW50YXJlIHNlcmlhbWVudGUgcGFnaW5lIHdlYiBjb24gdW4gYWx0byBudW1lcm8gZGkgaW1tYWdpbmkuPC9saT4NCiAgPGxpPlByZXN0YXppb25pOiBhbmNoZSBub24gdXNhbmRvIGwmIzAzOTtpbmNvcnBvcmFtZW50bywgbCYjMDM5O2ludmlvIGRpIGdyYW5kaSBpbW1hZ2luaSBhaSB0dW9pIHZpc2l0YXRvcmksIGNoaWVkZW5kbyBhaSBsb3JvIGJyb3dzZXIgZGkgc2NhbGFybGUsICZlZ3JhdmU7IG1vbHRvIG1vbHRvIGxlbnRvLjwvbGk+DQogIDxsaT5TaWN1cmV6emE6IFNtYXJ0SW1hZ2UgbWVtb3JpenphIGluIGNhY2hlIGxlIHByb3ByaWUgaW1tYWdpbmkgaW4gdW5hIGNhcnRlbGxhIHNlcGFyYXRhLCBuYWNvbmRlbmRvIHF1aW5kaSBhZ2xpIHV0ZW50aSBsZSBpbW1hZ2luaSBvcmlnaW5hbGkgKG1hZ2FyaSBwcm90ZXR0byBkYSBjb3B5cmlnaHQpLiBTZSB2aWVuZSB1c2F0byBsJiMwMzk7aW5jb3Jwb3JhbWVudG8gbm9uIHBvdHJhbm5vIHRyb3ZhcmUgbGEgcG9zaXppb25lIG9yaWdpbmFsZSBkZWxsJiMwMzk7aW1tYWdpbmU8L2xpPg0KICA8bGk+U2VtcGxpY2l0JmFncmF2ZTs6IGxlIGNhcGFjaXQmYWdyYXZlOyBkaSBmaWx0cmFnZ2lvIGRpIFNtYXJ0SW1hZ2UgcGVybWV0dG9ubyBkaSBlbGFib3JhcmUgYXV0b21hdGljYW1lbnRlIGxlIGltbWFnaW5pIHBlciB1bmEgbG9ybyB2aXN1YWxpenphemlvbmUgYXJtb25pb3NhIGUgc2ljdXJhLCBzZW56YSBjaGUgZ2xpIGVkaXRvcmkgZGVsIHNpdG8gZGViYmFubyBtb2RpZmljYXJsZS4gUG9zc29ubyBjYXJpY2FyZSBpbW1hZ2luaSBwaSZ1Z3JhdmU7IGdyYW5kaSwgZWQgaWwgdHVvIHNpdG8gbGUgdHJhdHRlciZhZ3JhdmU7IGluIG1vZG8gYXBwcm9wcmlhdG8uPC9saT4NCjwvdWw+DQo8aDM+Q29tZSBzaSB1c2E/PC9oMz4NCjxwPklsIG1vZG8gcGkmdWdyYXZlOyBzZW1wbGljZSBkaSB1c2FyZSBxdWVzdG8gbW9kdWxvICZlZ3JhdmU7IGRpIGNvbGxvY2FybG8gbmVsbG8gc3Rlc3NvIHBvc3RvIGluIGN1aSBhdnJlc3RpIGNvbGxvY2F0byBpbCB0YWcge2ltYWdlfS4gIEFkIGVzZW1waW86IHF1YWxjb3NhIGRpIHNpbWlsZSBhIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTt9PC9jb2RlPi4gUXVlc3RvIGdlbmVyZXImYWdyYXZlOyBpbCB0YWcgaW1tYWdpbmUgc2VuemEgYWxjdW5hIGVsYWJvcmF6aW9uZS4gRSwgc2UgcG9zc2liaWxlLCBpbmNvcnBvcmVyJmFncmF2ZTsgbCYjMDM5O2ltbWFnaW5lIGRpcmV0dGFtZW50ZSBuZWxsJiMwMzk7b3V0cHV0IGh0bWwuPC9wPg0KPHA+U3Blc3NvIHNpIHZ1b2xlIGFwcGxpY2FyZSB1bmEgZmlsaWdyYW5hIGFsbGUgaW1tYWdpbmkgdmlzdWFsaXp6YXRlIG5lbCBmcm9udGVuZCBwZXIgZXZpdGFybmUgaWwgZnVydG8uIElsIG1vZHVsbyBDR0V4dGVuc2lvbnMgcGVybWV0dGUgZm9ybmlzY2UgaW1wb3N0YXppb25pIGRpIGNvbmZpZ3VyYXppb25lIGRlbGxlIGZpbGlncmFuZSBjaGUgcG9zc29ubyBlc3NlcmUgYWJpbGl0YXRlIHBlciBxdWFsc2lhc2kgaW1tYWdpbmUgY29uIHVuIHRhZyBzaW1pbGUgYSBxdWVzdG86IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTsgZmlsdGVyX3dhdGVybWFyaz0xfTwvY29kZT4uIFF1ZXN0byBwcm92b2NoZXImYWdyYXZlOyBsYSBsZXR0dXJhIGRlbGwmIzAzOTtpbW1hZ2luZSwgbCYjMDM5O2FwcGxpY2F6aW9uZSBkZWxsYSBmaWxpZ3JhbmEgc2Vjb25kbyBsZSBpbXBvc3RhemlvbmkgZGkgQ0dFeHRlbnNpb25zLCBsYSBtZW1vcml6emF6aW9uZSBpbiBjYWNoZSBkZWxsJiMwMzk7aW1tYWdpbmUgYWx0ZXJhdGEsIHF1aW5kaSBpbCBzdW8gaW5jb3Jwb3JhbWVudG8gbmVsIHR1byBvdXRwdXQ8L3A+DQo8cD5FIGFuY29yYSwgZm90b2dyYWZpZSByaXByZXNlIGRhbGxlIG1vZGVybmUgbWFjY2hpbmUgZm90b2dyYWZpY2hlIGRpZ2l0YWxpIHNvbm8gc3Blc3NvIHRyb3BwbyBncmFuZGkgcGVyIHBvdGVyIGVzc2VyZSB1dGlsaXp6YXRlIGluIHVuIHNpdG8gd2ViLCBxdWluZGkgZGV2b25vIGVzc2VyZSBzY2FsYXRlIHByaW1hIGRpIGVzc2VyZSB2aXN1YWxpenphdGUgbmVsbGEgcGFnaW5hIHdlYi4gUXVlc3RvIHNpIHB1Jm9ncmF2ZTsgZmFyZSBhYmJhc3RhbnphIGZhY2lsbWVudGUgY29uIHVuIHRhZyBjb21lOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7IGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O3csMzUwJiMwMzk7fTwvY29kZT4uICBDb21lIHNpIHB1Jm9ncmF2ZTsgaW1tYWdpbmFyZSwgbGEgZmlsaWdyYW5hIHZpZW5lIGFwcGxpY2F0YSBhbGwmIzAzOTtpbW1hZ2luZSBwcmltYSBjaGUgcXVlc3RhIHZlbmdhIHNjYWxhdGEgYWQgdW5hIGxhcmdoZXp6YSBtYXNzaW1hIGRpIDMwMCBwaXhlbCAobWFudGVuZW5kbyBsZSBwcm9wb3J6aW9uaSkuIFF1aW5kaSBsJiMwMzk7aW1tYWdpbmUgYWRhdHRhdGEgdmVyciZhZ3JhdmU7IG1lbW9yaXp6YXRhIGluIGNhY2hlLCBlIHNlIGlsIGJyb3dzZXIgbG8gcGVybWV0dGUgbCYjMDM5O2ltbWFnaW5lIHZlcnImYWdyYXZlOyBpbmNvcnBvcmF0YSBuZWxsJiMwMzk7b3V0cHV0IEhUTUwuIFNlIGwmIzAzOTtpbmNvcnBvcmFtZW50byBub24gJmVncmF2ZTsgcG9zc2liaWxlLCBpbCB0YWcgaW1nIGNvbnRlcnImYWdyYXZlOyBsJiMwMzk7VVJMIGFsbCYjMDM5O2ltbWFnaW5lIG5lbGxhIGNhY2hlLjwvcD4NCjxwPk9yYSBwdW9pIGNvbWJpbmFyZSB0cmEgbG9ybyBsZSBvcHppb25pIHF1aSBzb3R0byBwZXIgb3R0ZW5lcmUgbW9sdGkgZWZmZXR0aSBkaWZmZXJlbnRpIHN1bGxlIHR1ZSBpbW1hZ2luaSwgcmVhbGl6emFyZSBzZW1wbGljaSBnYWxsZXJpZSwgZWQgYWxsbyBzdGVzc28gdGVtcG8gbWlnbGlvcmFyZSBsZSBwcmVzdGF6aW9uaSBkZWwgdHVvIHNpdG8uIERpdmVydGl0aSE8L3A+DQo8aDM+UmlkaW1lbnNpb25hbWVudG8gaW1tYWdpbmUgYXV0b21hdGljbzwvaDM+DQogIDxwPlNlIHNpIHNwZWNpZmljYSB1biBwYXJhbWV0cm8gcGVyIGxhIGxhcmdoZXp6YSwgZS9vIHBlciBsJiMwMzk7YWx0ZXp6YSwgZSBub24gc2kgc3BlY2lmaWNhIGlsIHBhcmFtZXRybyAmcXVvdDtub2F1dG9zY2FsZSZxdW90OywgaWwgbW9kdWxvIGFuYWxpenphciZhZ3JhdmU7IGkgZmlsdHJpIGNoZSBoYWkgYXBwZW5hIHNwZWNpZmljYXRvLCBlIHNlIGFuY29yYSBub24gYyYjMDM5OyZlZ3JhdmU7IG5lc3N1biBmaWx0cm8gZGkgcmlkaW1lbnNpb25hbWVudG8sIGFnZ2l1bmdlIGF1dG9tYXRpY2FtZW50ZSB1biBmaWx0cm8gcGVyIHJpZGltZW5zaW9uYXJlIG8gcml0YWdsaWFyZSBhZGF0dGFuZG9sYSBsJiMwMzk7aW1tYWdpbmUgbmVsbCYjMDM5O291dHB1dC4gUXVlc3RvICZlZ3JhdmU7IHV0aWxlIHBlciBnZW5lcmFyZSBhdXRvbWF0aWNhbWVudGUgbGUgbWluaWF0dXJlIHN1bCBzZXJ2ZXIsIGV2aXRhbmRvIGFsIGJyb3dzZXIgZGkgcmlkaW1lbnNpb25hcmUgbCYjMDM5O2ltbWFnaW5lLjwvcD4NCiA8aDM+VW5hIFNlbXBsaWNlIEdhbGxlcmlhPC9oMz4NCjxwPklsIGNvZGljZSBzb3R0b3N0YW50ZSB1dGlsaXp6YSBpbCBtb2R1bG8ge1NtYXJ0SW1hZ2V9LCBmYW5jeWJveCwgZSB1biBwbyYjMDM5OyBkaSB0cnVjY2hpIHNtYXJ0eSBwZXIgZ2VuZXJhcmUgdW4gc2VtcGxpY2UgYWxidW0gbGlnaHRib3ggZGEgdW5hIHNvdHRvY2FydGVsbGEgZGVsIHNpdG8gd2ViLCBlbGFib3JhbmRvIGNvbnRlbXBvcmFuZWFtZW50ZSBsZSBpbW1hZ2luaSBzZWNvbmRvIGdsaSBzdGFuZGFyZCB3ZWIsIGUgY3JlYW5kbyBsZSBtaW5pYXR1cmUuPC9wPg0KPHByZSBzdHlsZT0mcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDs+PGNvZGU+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDE6PC9zcGFuPiA8c2NyaXB0IHR5cGU9JnF1b3Q7dGV4dC9qYXZhc2NyaXB0JnF1b3Q7PntsaXRlcmFsfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDI6PC9zcGFuPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMzo8L3NwYW4+ICBqUXVlcnkoJiMwMzk7YS5mYW5jeWJveCYjMDM5OykuZmFuY3lib3goKTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA0Ojwvc3Bhbj4gfSk7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNTo8L3NwYW4+IHsvbGl0ZXJhbH08L3NjcmlwdD4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA2Ojwvc3Bhbj4ge2Fzc2lnbiB2YXI9JiMwMzk7ZmlsZXMmIzAzOTsgdmFsdWU9JiMwMzk7dXBsb2Fkcy9hbGJ1bS8qLmpwZyYjMDM5O3xnbG9ifQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA4Ojwvc3Bhbj4gPGRpdiBzdHlsZT0mcXVvdDt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPSYjMDM5O2ZpbGUmIzAzOTt9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMDo8L3NwYW4+ICA8YSByZWw9JiMwMzk7c2ltcGxlX2FsYnVtJiMwMzk7IGNsYXNzPSJmYW5jeWJveCIgaHJlZj0iPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7aCw1MDAmIzAzOTsgbm90YWc9MSBub2VtYmVkPTF9PC9zcGFuPiZxdW90Oz4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7aCwxNTAmIzAzOTt9PC9zcGFuPg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTI6PC9zcGFuPiAgPC9hPg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTM6PC9zcGFuPiB7L2ZvcmVhY2h9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xNDo8L3NwYW4+IDwvZGl2Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTU6PC9zcGFuPiB7L2lmfQ0KPC9jb2RlPjwvcHJlPjxici8+DQo8cD5Fc2FtaW5pYW1vbG8uPC9wPg0KPHA+TGUgcmlnaGUgZGFsbGEgMSBhbGxhIDUgdXNhbm8galF1ZXJ5IHBlciBjYXJpY2FyZSBmYW5jeWJveCBtZWRpYW50ZSBvZ25pIGxpbmsgY29uIGNsYXNzZSAmcXVvdDtmYW5jeWJveCZxdW90Oy4gSWwgcGx1Z2luIGZhbmN5Ym94IGRpIGpRdWVyeSAmZWdyYXZlOyBpbmNsdXNvIG5lbCBtb2R1bG8gSlF1ZXJ5VG9vbHMuPC9wPg0KPHA+TGEgcmlnYSA2IHVzYSB1bmEgZnVuemlvbmUgcHJvcHJpYSBkaSBwaHAgY2hpYW1hdGEgZ2xvYiwgZWQgYWxjdW5pIHRydWNjaGkgc21hcnR5IHBlciB0cm92YXJlIHR1dHRpIGkgZmlsZSBKUEcgbmVsbGEgY2FydGVsbGEgdXBsb2Fkcy9hbGJ1bSBzb3R0byBsYSBjYXJ0ZWxsYSBwcmluY2lwYWxlIGRlbCBzaXRvLjwvcD4NCjxwPkxhIHJpZ2EgNyBlZmZldHR1YSB1biB0ZXN0IHBlciB2ZWRlcmUgc2Ugc29ubyBzdGF0aSBlZmZldHRpdmFtZW50ZSB0cm92YXRpIHR1dHRpIGkgZmlsZSBuZWxsYSBsaW5lYSBkaSBhc3NlZ25hemlvbmUgZGkgY3VpIHNvcHJhLiBRdWVzdGEgaXN0cnV6aW9uZSBpZiBzaSBjaGl1ZGUgYWxsYSByaWdhIDE1LjwvcD4NCjxwPkxhIHJpZ2EgOCBjcmVhIHVuIGRpdiBwZXIgY29udGVuZXJlIGlsIG5vc3RybyBhbGJ1bS4gUGVyIGdsaSBzY29waSBkaSBxdWVzdG8gZXNlbXBpbyBnbGkgc3RpbGkgc29ubyBzdGF0aSBpbmNsdXNpIGlubGluZSwgbWEgaW4gdW4gYW1iaWVudGUgZGkgcHJvZHV6aW9uZSBzaSBkb3ZyZWJiZSB1c2FyZSB1bmEgY2xhc3NlIGRlZmluaXRhIG5lbCBmb2dsaW8gZGkgc3RpbGUuIElsIHRhZyBkaSBjaGl1c3VyYSBkaSBxdWVzdG8gZGl2ICZlZ3JhdmU7IGFsbGEgcmlnYSAxNCwgYXBwZW5hIHByaW1hIGRpIDxjb2RlPnsvaWZ9PC9jb2RlPi48L3A+DQo8cD5MYSByaWdhIDkgaW5pemlhIHVuIGNpY2xvIHN1IHR1dHRpIGkgZmlsZSB0cm92YXRpIG5lbGxhIGNhcnRlbGxhLiBRdWVzdG8gY2ljbG8gc2kgY2hpdWRlIGFsbGEgcmlnYSAxMy48L3A+PGJyLz4NCjxwPkxlIHJpZ2hlIDEwIGUgMTEgZmFubm8gaWwgdmVybyBwcm9kaWdpby4gUXVpIHZpZW5lIGNyZWF0byB1biBsaW5rIGNvbiBjbGFzc2UgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgZSB2aWVuZSBhZ2dpdW50byBsJiMwMzk7YXR0cmlidXRvIDxjb2RlPnJlbDwvY29kZT4gaW4gbW9kbyBjaGUgZmFuY3lib3ggc2FwcGlhIGNoZSB0dXR0ZSBxdWVzdGUgaW1tYWdpbmkgZG92cmFubm8gZXNzZXJlIHJhZ2dydXBwYXRlIGluc2llbWUgY29tZSB1biBzaW5nb2xvIGFsYnVtIGUgbmUgcGVybWV0dGEgbG8gc2NvcnJpbWVudG8gY29uIGlsIGNsaWNrIGRlbCBtb3VzZS4gUXVpbmRpLCB2aWVuZSBsYSBwYXJ0ZSBpbiBjdWkgZGVmaW5pYW1vIGxlIG5vc3RyZSBpbW1hZ2luaS48L3A+DQo8cD5Gb3JuaWFtbyBsYSB2YXJpYWJpbGUgJGZpbGUgYWxsJiMwMzk7YXJnb21lbnRvIHNyYyBkZWwgdGFnIDxjb2RlPntTbWFydEltYWdlfTwvY29kZT4gaW4gbW9kbyBjaGUgcHJlbmRhIGlsIG5vbWUgZGkgb2duaSBqcGcgdHJvdmF0byBkdXJhbnRlIGlsIGNpY2xvLjwvcD4NCjxwPkxlIGltbWFnaW5pIGNvbiBsZSBxdWFsaSBobyBjb25kb3R0byBpbCB0ZXN0IHNvbm8gc3RhdGUgY2FyaWNhdGUgZGFsIG1pbyBpcG9kLCBlIHR1dHRlIHNlbWJyYXZhbm8gcnVvdGF0ZSBkaSA5MCBncmFkaSBpbiBzZW5zbyBhbnRpb3JhcmlvLiBQZXJjaSZvZ3JhdmU7IGlsIHByaW1vIGZpbHRybyBjaGUgaG8gYWdnaXVudG8gJmVncmF2ZTsgc3RhdGEgbGEgcm90YXppb25lIGRpIDkwIGdyYWRpIGluIHNlbnNvIG9yYXJpbyBjb24gbCYjMDM5O2FyZ29tZW50byA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPi4gSW4gc2VndWl0byBsZSBpbW1hZ2luaSBuZWNlc3NpdGF2YW5vIGRpIHVuYSBmaWxpZ3JhbmEgPGVtPigmZWdyYXZlOyBzb2xvIHVuIGVzZW1waW8sIG5vbiBjcmVkbyBwcm9wcmlvIGNoZSBxdWFsY3VubyBydWJlcmViYmUgcGVyIGZpbmkgY29tbWVyY2lhbGkgbGUgaW1tYWdpbmkgc2ZvY2F0ZSBkZWwgbWlvIGlwb2QpPC9lbT4sIGNvcyZpZ3JhdmU7IGhvIGFnZ2l1bnRvIGlsIHBhcmFtZXRybyA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+LiBFZCBpbmZpbmUsIHBvaWNoJmVhY3V0ZTsgYW5jaGUgY29uIGwmIzAzOTtpcG9kIHRvdWNoICZlZ3JhdmU7IHBvc3NpYmlsZSBzY2F0dGFyZSBmb3RvIHRyb3BwbyBncmFuZGkgcGVyIGVzc2VyZSB2aXN1YWxpenphdGUgc3VsbG8gc2NoZXJtbywgbGUgaG8gdm9sdXRlIHJpZGltZW5zaW9uYXJlIGFkIHVuYSBhbHRlenphIG1hc3NpbWEgZGkgNTAwIHBpeGVscy4gUXVlc3RvICZlZ3JhdmU7IHN0YXRvIGZhdHRvIGNvbiBsJiMwMzk7YXJnb21lbnRvIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+LiBBYmJpYW1vIGFnZ2l1bnRvIGwmIzAzOTthcmdvbWVudG8gPGNvZGU+bm9lbWJlZD0xPC9jb2RlPiBwZXJjaCZlYWN1dGU7IGZhbmN5Ym94IG5vbiBzYSB2aXN1YWxpenphcmUgaW1tYWdpbmkgaW5jb3Jwb3JhdGUgbmVsbGEgc3VhIGZpbmVzdHJhIHBvcHVwLiBRdWVzdG8gaGEgZGVmaW5pdG8gbCYjMDM5O2ltbWFnaW5lIGNoZSBzdGF2YW1vIGNvbGxlZ2FuZG8uPC9wPg0KPHA+UG9pIGRvYmJpYW1vIGRlZmluaXJlIGxhIG1pbmlhdHVyYSBkZWxsJiMwMzk7aW1tYWdpbmUgY2hlIGFiYmlhbW8gaW50ZW56aW9uZSBkaSB1dGlsaXp6YXJlIG5lbGxhIGdhbGxlcmlhLiBRdWVzdG8gbW9kbyBkaSByaWNoaWFtYXJlIDxjb2RlPntTbWFydEltYWdlfTwvY29kZT4gJmVncmF2ZTsgcXVhc2kgaWRlbnRpY28gYWwgcHJpbW8gbW9kbywgdHJhbm5lIGNoZSBwZXIgaWwgZmF0dG8gY2hlIHVzaWFtbyB1biBkaWZmZXJlbnRlIHZhbG9yZSBwZXIgbCYjMDM5O2FsdGV6emEgZGVsbGEgbWluaWF0dXJhICgxNTAgcGl4ZWxzKSwgZSBwZXIgZGl2ZXJ0aXJtaSBobyBjb252ZXJ0aXRvIGxhIG1pbmlhdHVyYSBpbiBzY2FsYSBkaSBncmlnaSA8c3Ryb25nPnByaW1hPC9zdHJvbmc+IGRpIGFwcGxpY2FyZSBsYSBmaWxpZ3JhbmEuIEhvIGFuY2hlIHJpbW9zc28gbCYjMDM5O2FyZ29tZW50byBub2VtYmVkPTEgaW4gbW9kbyBjaGUgaWwgc2lzdGVtYSBwb3NzYSBpbmNvcnBvcmFyZSBsJiMwMzk7aW1tYWdpbmUgbmVsbCYjMDM5O291dHB1dCBIVE1MIHBlciBpIGJyb3dzZXIgY29tcGF0aWJpbGkuIEwmIzAzOTtpc3RhbnRhbmVhIGRlbGxvIHNjaGVybW8gcXVpIHNvdHRvIG1vc3RyYSBpbCByaXN1bHRhdG8uPC9wPg0KPGltZyBzcmM9JnF1b3Q7ZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVlBQmdBQUQvMndCREFBZ0dCZ2NHQlFnSEJ3Y0pDUWdLREJRTkRBc0xEQmtTRXc4VUhSb2ZIaDBhSEJ3Z0pDNG5JQ0lzSXh3Y0tEY3BMREF4TkRRMEh5YzVQVGd5UEM0ek5ETC8yd0JEQVFrSkNRd0xEQmdORFJneUlSd2hNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpML3dBQVJDQUNoQWZBREFTSUFBaEVCQXhFQi84UUFIQUFBQVFRREFRQUFBQUFBQUFBQUFBQUFBQVFGQmdjQkFnTUkvOFFBVUJBQUFnRURBZ01FQndRR0J3UUlCUVVBQVFJREFBUVJCU0VHRWpFVFFWRmhCeFFpY1lHUnNTTXlvZEVWTTBKU2tzRVdKVFJpY25Qd0pGV0M0UmMyUTFOV2c2THhKalZFWTdKa2s3UEMwdi9FQUJnQkFRRUJBUUVBQUFBQUFBQUFBQUFBQUFBQkFnTUUvOFFBSXhFQkFRQUNBZ01BQWdJREFBQUFBQUFBQUFFQ0VTRXhBeEpCRXlJalFsRmhrZi9hQUF3REFRQUNFUU1SQUQ4QXRmVzlWdWJLNzAreHNrZzladnBHVlpMZ25zMENqSnlCdVQ0Q3RMdlZMblRMRlk5UXZOTWkxR1orV0RJY1J1TWdkTnpuZjZWMDRoazBYMWFLRFd3dll5TWVSbVZzS3c3K1pmdW56cUozTWwxSnd0SUhrdUpyTk5XZ1d5bXVBZTBlTG1IWE81R2VoTkJOTHJYTktzWkhqdXRRdDRYUndqSzc0SVlqT01lNGcxdEhyV2x5M3dzbzlRdG51V0dSRXNnSk8yZHZoVEZGREhKeEx4Z3p4cXg3R05RV1hPM1pIYjhCVFhERXFjSjhGdXNZVnhlUUhJWEIzNXMvT2dsYjhTNkpITzBNbXFXcVNxNWpaV2ZCRERZZytGYzU5U3VFNHRzZE9SazlXbnM1Wm05bkpMS1JqQjhLaTlycWVtVzJuOFNXZDJCSmNUMzF3RWdFUlpwYzdBREE4ZmxTcXppdU5MMW5oYzZoem93MDU3VnBDQ1FKU1JoU2U0MEVtbTEzU2JhOTlUbTFHMmp1TWdkbTBnQkJQY2ZBKytuQ3E0c2tnajBlNTBiVnRRZTF1WkpYV2UzTmlIZVFzMnpxMk10bklPZTZyQnRvUloyVVVEU3M2d3hoREkvVWhSakorVkEyWGV2SmE4UzJXa2xjaWRDWGsvY1kvY0h4NVcvQ2o5SlhQOUxwTk55bnF5NmY2d0J5NzgvUGpyNFk3cWl6eDZ2cSttYWxxVnJwMGJDN25GemJ6dGNjcm9zUjlnQk1iOUQzNzgxT1ZycU1WMXhkWmFpd1pJZFEwb0pFeFU0TW5NU1V6M0VZTkFzNGI0cHRkUjB5elcrdjdVYWxNR3pFQ0ZKUE1RQmp4d0J0VDdIZVcwMXhjVzhjeU5OYjQ3WkIxVEl5TS9DcTd0N2l6dWZSN0RvMGNiU2FzLzZxRVF0enE1Zkt2bkd3eHZuTlBkdmZ3Nkx4TnJhNmc3cTl6SEEwR0kyYnRpSStVOHVCdWM5MUJJUDA3cFF0bzdrNmhiaUdWR2RITFlES3B3eEh1SkFybWVKTkVXS0tRNnJhQkpTUWg3UWIvbDhhaDJnUmgyNE1FaUJnSTd0c01NNElKSU5MQmJ4Zm8zanI3RlAxMG1QWUhkSGtmanZRVGtISXlEa0dpa09pa25RZE9Kem4xV0xPZjhBcGRRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGUmx1RHJmbDVGbUVrWVVLb21WaVFBUDdyS1B3cVRVVlpkSlpzd2FOd3BiYVBmZXVMY1N5U0JaRVJPaUlybFNRQWNuOWdkU2FmNktLaWlqclJSUUZGSHdveDVVQ0RTOUxUU3hkaU9WNVBXYmw3bHVZQWNwYkdRTWQyMUw2TWVWR0Q0VUJrK05GR0Q0R2pCOERRRkZHRDRHczRQZ2FER1RSbXM0UGdheGcrQm9DaWlqNFVCUlI4S1BoUUZGR1BLakhsUUZGR0Q0R2pCOERRRkZHRDRHakI4RFFGRlp3ZkExakI4RFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVZUGdhUGhRRkZGR0NUakc5QVVWbmtiOTF2bFJ5dCs2M3lvTVVWbmxiOTF2bFJnK0IrVkJpaWpCOEt6eXQrNmZsUVlvckpVanFDUGVLQXJIb3BQd29NVVZubGI5MXZsUVZZZFZJK0ZCaWlzNFBnZmxRQVQwQlB1RkJpaXM4amZ1TjhqUnlQOEF1TjhxREZGWktzT3FrZThVY2pmdU44cURGRlo1Ry9jYjVVY2ovdU44alFZb3JQSTM3cmZLamxiOTF2bFFZb3JQSzM3cCtWQUJQUUUrNFVHS0t6eXQrNjN5ckZBVVVVVURicVRFU3g0Skd4NmUra1hPMzd6Zk9sbXFmclkvOEordE4rZDhVRzVrWWsrMDN6ckhPeC9hYjUxcG5ldFNhRGN5UG43emZNMXpaM3hzemZNMFpOYzNvTW1SL3dCOXY0alhNeVAvQU40L3pOWUpyVW56b01OSkorKzM4UnJpOGttLzJqL3hHdDJKcE8yMUJocDVmKzhmK0kxMzRSMUE2a1k3ajJoOXN5WUxFN0NrTHR2MXhYSGdlZG9XZ2p4ekNTK2tRa2RCMU5CTTd4MkYzSjdSd0NOcytWY0M3ZDdINTExdnY3Wko4UHBTVmo0MEc1ZHNmZmI1MGRvL2V6Zk90TTVyR2ZIclFiRjIvZWI1MW9aSHo5OXZtYXh6QUhIU3ViTUQzMEdXa2NmdHQvRWEwTXIvQUw3L0FNUnJSbTNyUW5GQnNaWk1nYzdmeEd1VHpTRDl0LzRqUVczcmk1b05YbWtBMmxmK0kwNmNNeU0rcXlndTdBUW5xU2YyaFRMS2RzMDY4S0hPclQvNVBYL2lGQTROSTJUN1I2bnZySGFzUDJtK2RJM3VWRHZueElybWJ0UjNpZ2NSTTNUbWI1MW50Vy9mYjUwMEhVWTFKSE91UjRtdWI2cW1OblgrSVVEMFozRFlMSEdPdWF3YnZsNnNmblVOMURpcTFzY21hZFZ4M2MxTTQ5SWVselNkbjZ5QWZOcUNmM2VzcmJxVHprbnVxUDNuRkZ3U1FraEh1cU5YWEVsczhxWm1UczMyRDgydzk5STVOUnNaRWtjWDBhaGNrc1BMejhhQ1FXK3U2cnFsekxhNmRJSlpvd0RKelB5ckdQTStQbDFwMWcvU2ZOT3Q1cTBrVFE0TGRpQUZIbWM1cXNMVGk2YmhKQjZ0SDYyOXlyT3N6ZXlEL2UvR21IVXVKZUlicTZhU1NTNVJnUVNlN0k2SHBRWHh4UnFWN29jVnJjV2NzenFVVm1TWWhsa0J4dnR2bWwzRkZ5N2VqdlVaMUxJL1pxUmdrRmZiVGJOZWZoeFZ4TnFOM0hjM2Q5ZTMwdzI3TmwyS2c1SGRqOEt0NXRSdk5VOUNtcTNWN0QyTndTUXlrNXhoMC9HZ3FtYTh1aHE4eWk5dVZSbEJHSm14dDhhYzlPdmJpTy9RdGUzUElSZzgwckhjL0dtSjVRK3AyNVljM1BFUnYxR0tjWW1DVHh0eUhQZmdaelFMZGV1cnY5Slcwa2Q1Y3NuWjQvWE1Od1Q0R3JEMEtHYTZ0cktkcHBzUEdySDJ6NGUrcTAxUW5sZ3dDQUdJcXp1Q3B1MDRldFhPK0U1Q2ViTzRQL09nbDh6eGlHT0ZwQ0M1NVZHKzV4bnI4S3I3aXkya2kwL1VwVXZycVA3Rjh4aVRBSldSUU1EcmpHYzc5Y1ZON216bnVSYnNzVGtKTXNnSUhVak9LWU9MOU5kcmFlTllwaFBMYnlvaUlvOXRoeWxWM0JQZWVtS0JyOURkeEpKZmFyYnp5U3lFd0NSUzdsc2R4RzU4NmV1STdDd3V0T251bkVndllMZGxpbEU3cmdEZm9Eang2aW1EMFZXOTNZNnpyRU1rYjI4NldXTVNqN2pjM2VLYk5WdCtKRnRuZTUxN3RvU3BMeHBiZ0Fqd3ozVURYcGRsZGF2cU1LRzR1Skk0b0pKR2dhNGRPMWJLcU1rSG9NNXA4czMvQUtObTRqdTdxNWdnZVJXUWM3U3RKN0lKVUU5d09mY01aOGFqZWdhdU5LMSswRnhJa2NFc1VxU083WUM0NVdCejhLYytPTFJMbzJlcTJjNGx0K1Rzbk1XNHh6WkRlZWM0K1ZCcHFYRmtwZGhienl4WUo1RldSdVlmSHAxOHFlL1NWZDNJOUhIQ2N5elRSeXlNcGNyS1FUOWoza0hlb0J5VzRraGNPNkJUek1yc0R5TjQ1eDVEM1ZPdlNTREo2Tk9EOGtra3BrbnIrcG9LcHViNitWVllYdDBOOS90My9PdTl0cVY3bFZON2NrZjU3L25TZlVFVDFJeUkyU2tuSytEME5iUjJGNHVuUjZpMXZKNm04blpyTVI3SllkUm54b0gyMTFiVTdRTzl0cVYxRTdxVmJsbEp5cDd0elRkYzM5NmNrWHQxelpIU2R0L3hvaWxIWURmcDFwSGRrTmJ0bkIzSFh1b0YxcmRhZ0M2UzNOMnUzUnBuMi9Hc1RYbDR1Q3Q3YytYMjdmblNmUVZTVzVaWldrN0lKelB5QUZnTWpwbnJXOThxTEk1aDUreTVqeWw4Wng1NG9POXRxTitqaHhlM0lLbktudFcyUGQzMUtSZFNYc1NYME54T2dmYVdOWlg1WTVSMVViOUQ5NGU4anVxRnBJQXVOcytkUFhEK3BSMkY4ZTNhUVdjdzVaa1h3N21IbXAzeDNqYnZvSmJhVDNNRFJTdGNURWcvdFNzZlB4cVZlbWEzdUg0U3NieTFtbFJ1MVJXYU55dlZXSTZlZGQ3UGh5RFZFaVRuVlpjWVlqOXZ3T2ZkaXM4Y3pUM0dnMi9EcldydGNDTkp1MVpoK3lTdUFQRWp2b0thNFU5ZkhGMmpjOTVjbFBYb1F5dE94eU9jZFJtdlV4Nm1xUTRXNFdnaDFxd2x1VW5XZU80UjFWbUM0SVlIY1kvblYzMEJSUlJRTldyZnJZdjhKK3ROMmFjZFcvV3hmNFQ5YWJHb01rNzFyellyREhHK0RURnhKeEhIb05vc2trTHVIeUF5NHdNVUQ0eml1WmtxcFg5Szk3SEovWjdSeDAzTENsTmg2VzRUSVYxR3pDb1RzMEJKSStCb0xOTGQ5YU14eDAycVBhZnhsb3VvUks2WHFLemZzTm5tSHdwYituTk56L2JJL2tmeW9IRW5hdUQwUTNVVjFFSllKQkloSkFJMjZWaVEwQ1Z6dmsrTkxPQTJIcXlzZWtsM0tVYjk0WjZqeXBqMTErVFRqdXdWcEVWc0hIc2xnQ0trdkRLQkpyZU5SaFZrT0I0YlVEM3FHMTVKOFBwU1VtbFYvd0QyeVQ0ZlNraG9OUWE1VFRpQ0o1Q0NRZ3pnZFRYVHY2VkZPTmRURnBwZ3RSS1kzdVR5bGhuT1BEYnhvR0RXUFNSUGIzVWkybHFCR3UzMjNYUGYwcEZINlZKU3ltU3lqNU0rMWc3NHFLWDF2RDJUTUgrWUpOTWtpb2lmZkdmZWFDN2RONDMwblU1WTRvM1pKSHprUHNGMjhha0N5TElvWkdEQTlDRFhtK0c0RWI1RXBVK0lxenVCZUpSTmJ6UjMxNkFzU2hZMU9mblFXRWE1T2F5a2lTSXJvUVZZQWdqdnJWK2xBbmtPMUx1REhlWGlPK0xPZVJJQWlwL3hESnBCSjBwWndSLzFqMUxiZnN4LytRb0VNOXkzYXZ2KzBmclhBenUzZlRoUGFxSlgvd0FSN3ZPdVl0b3oxejhxQ0JhKzUvUzhwNytWZnBVWTFqV1UwK0VxcEJtWVlVZUZUVGlDMlJkWWxBSFJGN3ZLcWcxNlpwTlRteWM0WWdlVkFpbnU1WjVHZVNRbGoxcmdKQ0QxM3BWWTZaUGZ2N0lLb09yR24rMzRidDBBN1RMSHpvSStsMFZYQlk4Z09TdFNmVGVLMnNiVTI1Z1dhMUE1bFZrQjVUNDBvVGh1eGRkNCt2aFcwM0NUVzFsTE5iUHpFRG1LTjRlRlp5eTlYYncrTDhtVjN4RERmVHlhbmMrc0ZFUlQ5MVJzQU8rbjIwamtFMGJYSEswSXh6S2k0SkhobnVxTHh5eUpjTUhYbHdTQ25jS21kdUJJcU1DTUVDdE9WNHZCMzFLZlJwOU1TTFM5TW10YnpJTHl5ejlvcFh2SExVdjBkSm45Q0dzSklVWnpPNEhLdktNYzBkUVJVd3dxZjJRNWZRcHJCSC9mc2Y4QTF4MFJWODJuOGlXMGpTeFFoSEdXZDlzSEdOeG1sQ3VPYmw1d1dVbko1ZWxLTlRUdHREbG54Z1JjcmJlUnh2U09FYy8zUWNBS1RnYkRPOUF0bmlnbGpMM0lrWlkvYlFJMk10NW51RlNyU3RZMUMzNGFnc3JCa3RtZWN6Q1NSTXF1RGpCSjNPZHNZMjYxcm8wT25hVGJSNmpxTUNYRFNZN08xSzh3T1AyaU84Ky9hcE54WGJhWHJsdnA1dGRTZ3RKb01Sc2dRcUZYT2NBQWJZOEtDVGFSTmZYSEFLYWhleE9OUWUzOXVNTmxjZzR5ZzdnUnZTVGpEU1UxT1FhZkVwU05jWjVDUUZCVTlRTzQ3L2hXcWNZNlRvOXREcGNWM0JJcVFCRkRCdGdQSUNtdldPSnJTNzdTUzF2U0hsVEplRkNyTmdiWlBkamY1MERiNk9yQ2JTK0lMcEdFZmFQRTZHRG13NFFPQ0dJNllQejM2VWwxeVdlN25sdG9OUG1rY2RvZ1ZjRGJmNmJVcTRIbnM5SnZudjcrK2lUMWlKb2l4SkxoMndjSGJ4Rk9TVGk5bXVvTk9qVml4ZkxKdThvemduSnh0M1lIa2FDdlhzN2JTOWNnVnJVM1YrRVBOSVAxTUFLQTR3UjdUZWZRZWRTMkd3VFZiTjlKRVUwYzE0V2o3Y3I3SUJJSU9ldUFQS25XeTRYMUxWTGp0Z3FReE1uTDJqbmJ3SXgzOUtlK0lORy9SSERkOWUyMTFLdHhCYnM2ZGtpb2VZRGJCRzQrdEJIcmIwTTI2eHFyNnBLYzlTSTg5L2NQblNEMHY2ZEhwZkJ2RCttMjVZeFcxeDJLRnVwQ3hFRE5NY043ZlJjczh1cDZqTTdMMG52WkdBK0dhZC9TZ3hsOUgzRERzU3hhUlNTU1NUOWw0OWFDQjJkL3BiK2l5LzBpNGRVMU9DY01pSDd6NWNFRmZoa2ZDbUtIVFk1TEtKMUpWbVVIeXB5MUtPSDlEdnlBaHlZeWM1eDFydHA5dVRZUW5HM0wzRHpvR1gxZTZqUXJnT3ZpSzB1VUJzOEdUN1ZqN1VaVWdyanZ6ME5XR25EVWMyak5jS3dFZ09mZUtoK3ByYnZadUJNbk1xY3d3TzRIZmVnNThNUnc1djhBdFdDLzdNZVRQZWVaYTIxYUlKWmlSVjJMNDYxdzBPNGhFVnlHbTVIYkM5TzcvUXBicTZ3TG9pTjJ2TS9iYmtIMmNZUGRqcjhhQnZuTnBjTmJlb3dTeHVVV04wYVR0REpKbnF1d3dQTGYzME9XdHlWbFVxd09HQkdDcEhpS0lqQkN0c3lTOGtvWVNsbEcrT3V4UFErRk9Fa1A2VXRaUFYrU1ptT1pKTWI4eDhjNzR4MU5CWm5vNTF1M2l0SWJHNHVJa2VNaDRPWTRPQ1NTdWZ4SHZOU3ZqZlU3SzN0YkxWWkFYZ0JNSkNZNXNuQkhYdTJhb2J3N2NhRmJXZHFzZWl5WFZ6Z0xKTk9WU05pTy9PYzRIdTN3S2xFV3JXdXN2ZDJOeHBObzhjWjVvdzZDUUU0MjNQdk9OdkhwUU1XaThjNkxOckZsWkxhWFlra21TTkNRbUF4SUF6djUxYTlSdlRZZEFUczQ0dExzNHJtSnRpYlpBU2ViQUtuSGppcEpRRkZGRkEwNnYrdGlIZHluNjAxbjQwNmF4K3RpL3dBSit0Tlo2VUdqbkJxck9MWTdqV1pidWRGa2tpajJSYzdJTmgrUFdyUWx4eU5ud3FOYWhESEZvVjAwYWNvZVBKK1lvS1B1OU5samNGbEk4YVF2QVEyTUdwbGZoUk1SanJUUFBHdk1kaG1nYUxkNWJhWkpFWW80NkVWWmtFUUdueFM5b09ZZ2JaeWZuVUVhMzdRcXdYWlR1ZTRWTE5KbmFhd1JTMmV6OW5HVGlwZStIWEgxbU51U3dPSE0vb1pQOHgvclRpNDg2YnVIQi9VeWY0Mit0T0xnRUhiOGFya1pkZlhtMHFVRFlCbE9mY3dxVWNONDlZaHpuUGEveXFOYStCK2hybnlYUHlxUjhOTVBXNFFSakQ1SG50UVBkL2oxdVhQWGI2VWthbGQvL2JKUGg5S1JtZzVucjVWRGVNb28zRWJsY3VycnY4RFV5WVZYL0hGM0phSzZrQWt5S3did0hLMjFCRk5RUlRHQVI1Vkg3cTNqTzRYcFdialdwWGN4dEltT25URkk1OVFJSURZMzZlWW9OVGJxVklWY2swODZIQjZuZGxSSm5uVGRmQTB6UVhoNXhJRndvNkhQZlRoWVR5eWFwRGdFZzdkZWdyUDExL1dZWGM1cTc3TCt3VzMrVXYwRmRHclN5SDlYMjMrVXYwRmRXclRrVFA1VXI0TDI0bjFJZDNZS2Z4RkpaQUFDS1hjSVFzbkUxN0pqMlh0aGcvOEFFS0IzdnJEdE9hV0pkeDFVZC9uVE0wWEtjZC9oVWxzN3VDOWphUzNjTUF4VStJTk1la290M2RYbmFuT1B1K1dTYUN1ZU1iZ1dsMWV6bmJzNFZJK1ZWQlpXajZ2cWJBa2hjODhqZkgrZFc1NlNvMVJ0VFJ0MkVDNDkrQlZlOE1RRkxPYVlETE8rQWZJZjZOQTdKSEZieGlLSlFxcjB4UVh5TnF5M0tvM085Y3k0QjJvZjZMYlpuN1JNYmJqZndwN2pua3VWVlpRdlVqUFhKcU9QcTY2ZEFVbWhQaXB5Q0NmRVZ6c3VKQUpFTEFoQWVwRlluN1hsNk05K1BIMWw3N2FjVGFGNnZJYnVKUFpjKzFpdGRLY3BHSTJPZVhkVFU0U08zMXpSeWdiWmw2K0JxTFh1aTNXblhNbG82OW5kUnR5RlQ0N1lQaGl0dk9VRFpzL09yQzBrYy9vYzFVWTVzelB0L3dBVWRRRThLY1gyMkd1TGJUeVd3QW8xQ0htT1NBTnViekZXTkJwZDlwZm9oMVcxdm9WaXVESVg1QklzZ3dXajcxSkhjYUNDUThoaW10NUVVOXRIZ2dBTnZqWUg2MGh0bFpKWmJkWWdvZFZEWklQVHd4N3V0S1lvcFNRdlo4MlJoZVhiRktMZlREYXBKUE93UjJURVNuUHROM1o4Z042QlhFNnJhTERkU2lPT004OGJPY2V6akpBOXczK0hqUzVicTI5Wm41V0gzeWMrTlIyU1AxaG1rdXVXZDJVcG45MWNZd005T3A2VkdwNzIrc0x5ZFlIVjRneDVlY2tIRkJLTlhlMmFhV1FaREJBK1Y3eG5jZktucUdkSklVYUloazVkNUNOaC93QSt0UXF3bU4xY29ibzg1WkdCQzlDUVFjVktrdlJ5aFVqUGdpS05nS0haVjJaRml4bTlsUk1DR0M1TGUyTno4S2VlSE5YV0RYSkNxS3dFTGN1VHQxRlJLNTFHVW9Va2JCOEFlbmlLN2FCTDJ1cTRQc2pzempiT2VtMVNiMjY1K3NrazdYVm8yb1BmQThpS3FxTmdvd0JUaHExZ2RTMGlhejluTXE4cExaeCtGTlhDL0l0bmtZQ2c0eWNDbjJXN2lqQUJkYzkyOVZ5VmpjZWk3VlpKUzYzMXJnbmNIbUpIdXlLUitsaXlleDRMNGZzbllNMEUzWnN3NkVpT3JNdTlVYUI0WUlpc2x4T3hXTmU0WTZzZklWWDNwa0RmMGQwcnRNT3d1bTVpQmpKN005MUJVOTR4ZlRtRFl4eXIwOGpVaTRYc2x1dE9qT2RsY2pyVVlaSkpyY3hSUnU3RWJLb3ozMUwrRjNGbnBCN1pzRVNPTUFGaDNkNDJvSmE1aGcwL2tZQUtWNUJzT3ZLYXFiVjQ0a3RabDdVb3doYktqSHRFNHF6N2kxbXV0TU53dk1zQ0ZaR2RsSUFVRGMvalZjYXZicEJGY3JMS3F5c3JEbEQrN0cxQWg0U3RvcGt2ekpHckZJd1Z5T2gzNlVwMTdtT2xxZ2ZtVHRWUElFRzNYSnoxUGZTZmhrekpZNm9ZT1R0REV2THpianZwTFBOcUNNVGRQRzhhN3NzYTlQT2l5YjRqakpwZ3VvcEpvcmh1YU1LRVJrKzhNZmhVaDRldHJTMnNwNUppVnlWT1hrd1cyNkZSMUh3cHIwL1ViWjVaVVNUSE5qT1RzY2Z1K1hTazZMS2w3Y3JMTUFXWUVNQjFIbDlLazIzNVBYaVluKzcxRlhpTU5zeXdGYzRrQTVXd1Q1ZFIxMnBIYWFyYzJxUlNpK20zTEtGU1U1akp3Q1YzMlBUZWtrYUpFSGFYTEJ6eS9mM0FIdTdxU3RhTUovc3lBR0dNL21hcm1tdkRXc1hNdkVHblF5WGJ1R3ZvbHl6RTVITnY4TW41bXZRWjYxNWY0V0NyeFhvS0F2bjF1RTRKKzk3WTM5MWVvRDFOQVVVVVVEVHJINjJML0NmclRVVFRyckg2MkwvQ2ZyVFV3eFFJdFJXV1N4bVdFa1NFYllHU2ZLcTc0azFTOEdreWhZMzVPendER2RodjMxWnJEUHhxQWNTMnl0cHQ3bHlpaFNjZkhwUVZhbDFjM0pmTE1lWEdTYVF5WGtwa0lHZWJwaW5xMENSMnM3a0FLMlZYSXdXSGpUVkhDcjNaYmZzd2NsZ003K0ZTM1RXR0Z6eW1NS0xlNW1paENsWFZuR2QraEhqVWk0YVNUMU9SMlBzRnVWYy9qVWQ1MWtrWmdOaWRzOXdxYldGdUxXeWloR2RodjcrcHBQOEFMWGt2T3BlSW5YRG4vd0FtVC9NZjYwNFBta0hEZy9xWlA4eC9yVGk0OHFybVFYbHVsMWJ5UVNaNUpGNVRqclNqZzcxdUhXT3d1NVZkUXk5azRHT2JZN2Urc1NZQXllZ3Jod2FicTkxNkcrbUNwQTI4VVliUEtOOEgzbWdtZCtNM2tudytsSXp2UzIrL3RrbncrbEltb09iYi9Pb1R4OUR6MjFzd3dDWDVTRDNqQnFiRVZFZU9vODZaYnlmdXpZUHV3YUNwRnRnTlV3UXJ1UGE2REFIaWFiZFVRUGVNVUdRVGdBZDFQZlp2RzA3ckh6RWtndG1tc3hHTjJubHljYkR2elV0MDZlUEQzeTE4Y1l3VUhZWktxUHZBNy9LbjdoNjE1cDViazlFWGtYMzB3UjU2NzVZbXBadzloZE9Za2pkenRTTTU1YnEyckVmMWZiZjVTZlFWMGF1ZGtmNnZ0dW42cGZvSzZ0VlpKMy9HbmJoVEg2VW1HUm5zZkgrOEthM0hmU3JoWUgrbHN1d1AreEhIL3dDNHRBeTIxek5ZM2tra0RsVHp0MzdIZXBEdzY2OGx3NTZ1eWo2bW9xazhVOGtqd3lwSXZPd0pRNTN5ZHFsR2dxRnRGa0IzTWh5UElEL25RVnA2VVU3VFVyeU1kOGEvSDJhcjIwdkd0dElpU0llMHpOMDk5V1Z4MnF6Y1N6Um43cGlYNlZBYm5UUFUxNVk4bFFTVkI4eFFORFg5ekhMOW8yYW1PaWFXZFNzM25La3FxOVBNOUtoaVdVdDFlckh1Y3RqSGNCVnRhRUlyUFRqQU1EbTJPS3psZmtlandZUzMyejZpcGJ3eUM1ZFhMc3FzY2MxU1BocVMwbWplM25UbjV3Unk4dmwxcDkxL2htMHVoMnNXRWw4UWRqVWR0Yks0MDZiazVjTWYybE5XVFRqbGx1N1NEaHZPbjMwbHNIWm9UbkN0M1ZOdlNQcHhoNGd0YnIyUkRxRnFGWjhmZGVNREh6QnFJNkxhWVl1NCswTzVKcTIrTjlPRjVZNlFlVUVSdVEyZTVTZ3lmd3FzdlBsdGJTcnhIUGJ5TXhJa1RjbnBsaFZvOENHTnZRdnFKbHlFOWFrSjVtNXUrUHZxRGFiRTF4eGs1a1BNUVVCSTc4SFkvR3B6d0RDMDNvWTFDTlRrdGR5QUVqempvR2g3cUlqRnRiRUgrL2tmZ0tqMnFQZFBlOW8wemN5a01DeE9QRHArRlNkZEtuNWo3Y1lIUW5QMHBCcVdnWEZ5ckxFRVk0M3pKZ252L2xRSWJDZEpRVmZsRGpmQk5NdXFXS1NyZHlTRlJ5Uyt3UDJqdjlQR25XWFNOUnNFOVlrV0lGUjFFZ3lQY08rbXFTVVNRM0FtTE5MMjR5NU81SlBTZ1RjeTJuWUFFdmx1VlNPbzV1LzhLMmdrbVVkcDJzMkZ4N1N2ME5Kcmt5SzVTS1BNdk1BaTQ2R2xjeFJVU0ZEbmxQTWR2R3MyL0hieDRjWE84YUtrbGFaUTdrbGlNYm1uamhzRWFxMkIxUWsvTVV4VzJleVZSNTcxSXVHVUg2U1k5QUl5YzU2N2l0T1Z1N3RZZHZxM3FrSUdTRlU3S1A1MXRIeEhidEFWTnZJOHhQMysxMjM4c1V4em4yU0NSanZ6dlNOVzVFWE9TT3V3eFJEN2U2bk5jM1ZyYzI4aXBjMno5cEVYUHNFOTRiRytEU24wZ2FsYXg4UGFMZmFwWXJjcTgzTThLUHRrcHZocWpzWE14VnM0SG4xcHk5SmFrY0dhQ3VkaElBYzkvd0JuUVFMVjlUMGk4UmpZMlUxdWtnT0FoQVpSNy84QWx2Uy9obWZrNFpXSU4rc3VabEJIVFpZelVYV1BKQXdRRDMrNnBIcDFyY3cyTnJieXlRV3FMTEk2dUY1bU9WWEpLbllqQThxQzRZTGVPNTRXU055TVBaWXg0K3ptcUcxYUx0M2FTYWFOVUtNVThTVGpwNWJWUGJhVzVsdHBZUk04aXhXdk1qdU1rWnlENWJrZUhTb0hKcDhqS1RKMmFzUU44N2swQ1hRWXpiMjJvZGxseWljcjdiRTc5UERGSlpyZWRyUnBwa051amphVTViT05zWUc1cCswcXdGckhER3JjL3JqQldJSFFjckhLL0d0TDdUNTdpWCswQ1FnWUhOMDIyK2xadDUwN1lZK3VQdjhBOFJpMGpqZ1o0b29tWWN4ekk0Qlp2Y2U0SHdGVFBoL2hHUGlwYmlkTHRyVXdGVXcwZWViSXpYSFQ5RGpCWjdpYm1ibTJFWitwcFRkTmM2ZHlKWVQzRVVUdVRJeVRGU2R0aHQ4NjA0bjVmUTR0eEd6dnJCU01kQUlUOGUrdVRlalcxdDlTdElCUExNMTB4aURsVGhRQm5tWWRNNUk3Nmo3YXpxRGpzenFWNGNlTTc0K3RkN1c5dllBWnZYYmxXeDkvdFd5UGQ0ZDlCTXJMMGFwcEd0YWZlUjNTVFNSM0ViSENsUnlnNXhqSnEwcW9MU05XdnB1SjlMRWw3ZFNLMTdDQ3BtWnR1WWRkK2xYNmV0QVVVVVVEVHE0KzJpL3duNjAxdDFOT21yL3JvdjhBQ2ZyVFBQTEhDcFp6amFnRHNEVUs0dWh4WWFpdlFOSGxjZjY4YTE0cTQ4WFNVRU5uR2ozTDlPWW5Dang4NmJmV2RRMWJnNXRUdnBBelRoeWdWUW9WUVFQcUNhQ0VYRnU3V3lvektNZ2ROc1UwWENQQ0JFR1hCd1RnWUk2N1ZLSGJzYmRwR0h0Z1pUSS8xbW94SnpHVjNicXh6V2U3dzd6K1BEYzdyTWVBeTVPQVNLblNYTUw3SktyZjhWUURPV0E3cTAxSkdVeFNnZTBSeWsxcHdYeHcyNE9pcHY4QTlvMzFwelk3bndxcnVDYjY4azBkVWptYjJISU8vanZVMWkxQzVRRHR2YVhvY2pjVUR1dzV0cTA0Q2NGTEVlQUkvRWl0SVprbTVYUTdWeDlIczNNYk5jN0NXUmZreG9KdGZIL2JaUGVQcFNRMHZ1SURMZXluY0tDTi9nS2E5U25GcWpjdEFrdnRTdHJDSjVKNU1LaWxteDRDcXgxbmpkdUk1RXNMUzA3S0lNWkRJN1pibEFJNmQzV3QrT3RVWVdKaERlMU9lWFBsMzFIdUdyVlRhWHVvTUR6UnNzU2p1T1FTZmo3TkIyRVpkWFhHZmRUQnFNaGE0TVNoVlJHSUFVWUJxVVRzbHBGSVFEMnBQTHlrZEI0Kzd6cU56NW5sSlVFNDhxejNYZkwrUENZenVrR1FxN1YyRTg4ZG5JWXBXUXJ2N0pyVDFhUjVNY3BIODZkLzBTMFZvNnY5NWtMSDVWcHdPL0MzR09wbVdPMG1uYVVjbnNjeDZZSFNwOWI2MUl3SGFwdGp1cW5PSDNGdHJkbXo3QVNCVzl4MnE0b0xSSkdaQjk1ZW5uUU9FZHdrNHloelR0d3Qvd0JaV2J1OVZQOEEvSXRRdUdkNEptR2NGV3dSVXg0UGxFMnRNNFAvQU5NZTcrK3RCQ05FMCtUUzdKNEplWHRPMmtadVh6WTFPZEt4SHA4RGQ1VmlmblVQdjc1TFIzWmxKek55NEhpVGlwWlpjeTZkSC9rRGJ6b0s5NHJrRW5FOHpaNkluMHFOWDR5ZHFmT0kyenhEYys1ZnBUVEtuTkltMmNrREhqVHBaTjNSdnRtaDArS1NhUU4ycmRHQTZEd3J0WjYxY3JhdTlxcXRJU0FzYkhsMm8xV1pJNHhBcWdqcUY4S1k0ZzhWMHJjMkIxNjlLeGp6ZHZSNXNyaEo0cGVrdnY4QVY1NTlOdHB1d2FLUU9WbFRQZGl0YkIxdmd2TVBiQnJsQmR6WEZ1ZTFaSkF1d0FyYUdhQzJaWjBYa2tEcUNtZXU5YmVaSWJlTHNtSGtLdGZpcUs2ZlJJbXRRR1pRQVJueEFIODZxNzJUR3NtZW83cXVLZTU3RFNubTVBNnhRaCtYdkpBRkJTeWNNM1dsY2ZHeldPUzRsaHNvSG1rUmRpeDVtUHlHQjhLZGVCN2x0SjlDdXBYSURGbzdxUmh5NVU3bU1menFSM3VwM1YzcU1sekZQTkFIeDdFY2h3TURGWjRpZVc0OUYrcm1WeTduQXkzK05LQ3RocitvYzdNc2l1dVRndW1lK3UwWEUyb0dWVktRRlNSemZaNHorTk1mT1c1Y1pCNVJuUGpXd2tBWUFqY0E5UEdna3R5V3VZNU9ac3VWYkF4MDJxRVNaamU2aW5XWExFaENpNUtzRGtaOTFUTExOR1cyeHlnK09ENFZIWms3YlVKakpua0VoTEVEenBicnRjY2ZhNmN3SGtUMWh4SGtjcDNYcWZIeU8xSjFzNDJZQTdIeHBYS1VlUUpFQ1VRWUI4YTVlSU9jMW1UNjYrVy8xblRlS0JJMXh6WndjbW43aDFrL1NUYjQreGI2aW1PTndVTzJNZUZPbWc1L1NMTGpPWWllbm1LMDRwUGQ5cGNRY3R1c2JOa2ZySEkyNys2dEFKQVBiNVNPbU91YTV1N0kvTHNBZTdPNjFsWlhWVUF3Um53M0ZCM2k1bzhCSTA4eVJuNFV1OUk0RGNGY1A1YkM4NEpQL2wwM3d1Q2dITDdaT2NIK1ZPbnBKVURnelE0eEhMSXhmQ3BHaFppZXo4UHpvS3RnUU5JTTdqOW1uYTNtN0Z3RkJkczVCYnVKMk8xSUxXMTFDV1JtT2wzTUtvTW5uWGZidnBYR1MwcHg3SURic2Vnb0hYU3A1NXI2Zm5seVJDTUJqdGpKNkNtNEdLS01IbTUyQysyN0hHUGRXbk42dmVtV0tSdVFRdXBKNzl0cWo5dHFETXFtNFVjb0d4eWNacVc2aldHSHRsby9UWFhxY1VNY01tU2h5R0kzR050dktteDd1UjMyY2s5ZGp0U1dTN2U1UGFIQXlCc0t4R3h5b09OajNmNjNxU2E3Yjh1VzdxZFJLZExWbmhCSkp5ZHFsbWw4TlFhOVkzSWxuYUlxNmdGUUQzWnFIV045SEJBRkl5M2o0Vk5PR2JxY1dWMUxKYnVzSGFKbHpzdWNiYjFweWJRK2kyS0tVVG05ZVdNbmNORmdIOGFYYWp3anAwdG42dkUxcmJ5TU1Cc01UMytkS2RFblhYZGN2YlNlUTlsYm9yUlcvTmdNRG5tWStQZDdxa0Z2cEVOdEt4TWs5d3p0a0xJMlF2dUhRVUZlNlR3T2x0cmxuY0RVMlpvTGxHS0MzSTV1VmdjWnowODZ0M3ZwTGJQaHdpUkJGT2Q4WVB1cFZRRkZGRkEzYW9BQXJrYmhTS2dlczNiaGl2TjdxbXV1ekNHTmM1eHlNZmxVQTF3TkhwazF5Y2V4SG5meDVjMEZROFFYUnVkWnVYVTdLZVZmaFZxM1ZpbHB3cEhwOFlWVEhhWUNIdUlPVDhTRFZWNk5aSFY5ZnRMVWdudDVSemVRemsvaFZ2NnV2cmRzWi9hV0x0RkxjdlhCVUEvSDJhTExxN1ZscTF3NmZZcjl4QjdKRk16UU04WVlZREh4TldmcUhCRnZjTVRGUEtoWE9jNHdmd3BKYWVqMHZNclRUc2tYTHVWSUpIbDBxU2FYUE81M2FCYWJwSnVadmIrNk4ySXJPdldhcnBrY3FBRERuNWRLdFN4NFNzQWhFVXM0UUl6ODJWeTJQaFRQcUhDVUUzRFhPc3N4SlNVNE9NWkI5MVZsR3ZSeEptYTh0aWZ2UmM2RHpCMy9BQXF4TG1JVGFQTGNSRDJvOEZzZVhmVlJjUFhMNlZybGxNakVCWmdHOXhPRFZ4c3kyTjZIVVp0TGs4a3Fub3BiYlB1M29HbTB1bWhkWkFUZ2taQXBad1RPTERYckxUcGM5cEpjU09oQTJaV3lSaitkTXR3aHRMNlcxeWZzNU9VZTdiODZjTkM3U2JqRGgyUmQxaHVtVmg0QmtQNVVGczNzcXhMbnY2L2hVVzFoak5KeUFaRElyWjk3RUQ2VTk2NjdMQ1dUN3kvekZNY014bGthVlJrQlZ4bm9QWjJ6N2lTYUNuT09uL3JXSzJCejJhNVBodjhBKzFQUEQxb2c0THQxY0FOTmZkcWMvdEFLeTFGK0paRGVjVFhmWjViTW5ab0QxMjIvR3JWdE5FdHA3VFM3VTg4Y0VMbFBZeG5iYnc4elVzMjFqbDYzYUR6ODEvQUdjRG1YS0FqdnhUSzJtM0NzUUV5ZkVWWXk4SzJ5WHQ5YkxOTUdqSmRlbmNkeDA4S1ZhYnduWTNGeDJuckU1aVplYkdSN08zdXBKcUpsbGNydXEvdGROVzJZU1NnR1FkRkcrUGZTbTRRaWFaY2RJZnFhbXR2d2hhU3Vaak5PVWxsRWNlQ09nNm5wV3ljSjJVK3JYeUdhNTVVangrejQrNnFpbmIrMk5ocVJBR0NPVng4Z2F0elRMc3phUlk2ckYxYU1DUWZoVmVjYVFpUFZWa2pCNUFnUUU5K052NVZKT0JOUUV1aFRXcmtuc1d4azlBRFFQR3RLa2Q0czBXT1NkQXc5L2ZVaDlIa3ZhYXRjZUhZYmZ4aW9qcU0yWUZpWnZhZ2tKSCtFL3dEdFVuOUhEWjFxY2Y4QTZYUC9BSzFvSW5yQkwzcXhnQWdPMGorSTlyQS9ITldFekNKSkY1bCs0dkt1Um5HS3I2NDVaZFR1RGtFOXVzWFR3YkordFQ3VVlZMEU4cklwZENRajQzQW9LcTF1VXZyZHd4UGdOdmRYQVhOc2xxNUxqdFVQTmpJQitGSXRkbVlYRjlNcFlGRjJLOWM5MVFHOHVuYWNlMFN5bmRzOWE1NWMzMWoxZUdYeFkvbCtwTGVHYVM2SlVrazc1OEtRZXJTdktBWlRrbWx1bjNJdXJkSmYyaXVHOTlFMFRCdzNOamV1a21ubXR0NXA2c05GREtNeVM4elk2TmpGYTZqcDcyZXBXa1FrWjBiR1N4enZtbkhTV2Jzd2M4M3g2VTRYVmtaSlV1RHZ5N2dHaUZrRTRXSlVKNkRIU3JkdXBzNkpPQm5sTnYzKzZxV3QzTFNFRVlPZmhWelRXTW1wYUplV1NTdEU4dHFVV1ZlcWtyMStsQkdFUU1lWUhhbFd1cnplalRWVkdNay8vd0IwcWgzNHU0bzBXL2EzdTdtVG1qT0NzZ3lweDc2dHZUTmNtNGs5QzJwM3NrYVJ5Q1JveUU2SGxaTi94b0s1bnlJSStUb3ZOek1XNkFIb0s0eHlySXdZREJCMkpwNHNiUlo0Z1NBeWtuSVllT0tjWTlHdDJJTFJLQU54c0JRY2JXVHRZSXozY3VNVTF6bG9wSnhrY3p5SHAxSS9sVXFpMCtHUG91QmpwamFrc3ZEbHROUEpPWlpnWEpZZ0VZK2xTemJlR2ZwdEZoa0RJMkhjSzJHQ0J0dlVsWGhxMnpneVRLZXU1SDRiVm4ramxwZy9hejQ5NC9LcXdpK01FbmJ3NlU2YUQ3Vit3NWlCMmJkQm53cDBIRGxwalBiem5IZGtiZmhYVzMwbUN3bU1rY2tqRWpCREVZSFR3SGpnVUc1NUE0NWVZZCtjWi8xLzcxb1h5cElVcTIrM1U0LzF2OGE2RUZpQUQ3UGVDRG5yMXJXUU1HSHM1eU01eDhmK1ZCMGljeG5DSGRqZ3VSemY2SFdwaHhISVR3bG96am1VRUxrRWYzTytvY2hVZlpsU001RzJ3UDhBck5TN2laLy9BSVMwUWdrOHdIeDlpZ2lxdXl1R0RrTU9oQjZlNm0rL3NCTXBraEFFZ3lTZ0dGZjNlQit0S1F4OW81RzJPdGI1NXdWQk80NjBFTXZKcFlPekV2TW1YNUdUdkFJTk1rMG5MQ2tBKzZBQ1NEbk5UL1VkSmcxT01KSjdFaWJDVlJ2N2o1VkZKdUc1TGVReHV6SEIyWlJzdzhSdFVzMjZZNStzc24wMnhIN01ZK2xLSWxQTm5POU8xdHcvSDJhOHp5YzNmdU1DbFEwSzNBL1d5K2VNVlhNeHZLeXBoVFQzb2Q5T3R0TWhua0tGMXloWTRPM2hYR2JTYlpHUldtbEhONWpOS2JXeWl0MUlXU1RsZmNsdCtnOHFCeml1QzA2TVhram1COW1XSitWMXo0RVZZT2o2M3JTd2t6MjBXb1JEN3JSbnNwY1lHQnkvZFBmdmtHcTZ0M0NNQ1FOL0w4S25PZzNiODI4bUF3SVV0K3h0M2U3TkJLZE40ZzAvVUpDcnFiUzVSZ2hodTFLT0dQUUxuWmlmSW1ucW1pM2xqTndTeXhTRm5HTVlQVHY5KzRwM29DaWlpZ2pYRTZzMHlnazhqVzVYSG56alA0RTFCZVA1MHN1R1RFbjNwVGdEZnFlcCtXMVQ3WDVndW9Xc0xxQWp4c1E1N2pucCtGVmg2VTVHUzIwNkJtOXBtTEVlQXdjRDhhQ08rajZ4TW11ZXRuWVFsVUhqek1jZlROV2V0c0gwYS9qUFZHVnZoazFGdlI1WU5IcDl0SXcvWHp0UDA2QlJ5ajhRYW4wVUlQcmNJR2UxalB6RkF4TFAydHJidStlU1pleGNqOWx4dHpEOEtjWGpOdncra1NqTWtqaEZQdnBxczFFMm4zbHN4OXFNOW9uOHhUdnBoOWZ0N1FuY3c3Tjd4MzBHVWo5V3RydEFRUkRiaVBJSHovR215ZjdIaEtOeDFkbUh6TlBWME9UVE5Sa3dSekRxZmVLYU5Wanh3bkFFL1lreWNVRkdhbkMxcnFWeEdkc09TTi9IY2ZXclNqdlRlNkhhTnpEN1dCZVZ6M1BqcDh4dDUxQXVMN1V4WHNOeUJ0TW1DZk5hVWNQMzVPaXZBellDU0hsYlBUdit0QklIdXZXcjJHWnZ2T015ZTlkajlLZmVEZ1R4TFl0dVY3YmJ5Mk5RL1RtOVl1cEMyd1FGdmlldjBxYzhGQUhXYlk0MjdZRWZJMEZnNm5neHpnNzdBZ2VKRy84QUtvN2I0T2t1NFQ3TW9XWWpibUdPbng2ZTRVdTRoMVNPMmtuUUVjeWpIeHdEVFBhWGd1dUZMNGh3STR3NGJHTnRzNDhzRDYwRlA4UHhtOTR2dHBKUGJBbU16ZTRaUDVWZFZuYjluWVdoSTNCN1Q0bXF6OUd0aUxuVWIyWTR5a0t4ai9qTytQbFZ2WEVZalVBREFBMjhxQmsxRnZVK0pVbTZKS01uekRWdFlONnBlWGxvTWUxOXozVm5pR012YTIxeUFlZGNLYTRNL05OYVhpQS9kQWVnZklMWVJtemgvY0djRHVwQllaZTgxTmgzaGdQaFQ1YmxaWm81Vjc5ODB5NlpHUmUzYUh2bGI4YUNxK0xiY1NhZEsrRHp4U0JzL0dtVGcvVVBWZFFudDJZY2swZTQ4eDBxWjY1YkNVWDF2Z0RtRGRmTEpxdE5NZnNOWGpCMjNLbWdtVjVkTTh6eGcrMlFGQjg4N1ZZUG8yQi9UdHp6ZGZWZ1AvV3RWYkxJRTFLM0xIYm1CNjFhWG8wZnRPSUx0dTR3RC84QU5hQ0thUXlYV3QydVJ0UGZGaVBITFkrZ0ZUbldyZ3hhWkt4NjRKTlY3d1BkTmZhL2J0S0FDczAyQVA3cGJCL0NwVnhQZG45RHUyY2N5RTBGT2E5Zjh0dEtBRHpzM0tDUFAvMnFHa2xqbnZOVERVTGVLOHRvd3hWVHo4em52SUdhUUxEWjI0NVlJQVcvZmZjbXBKSTNsbmNwSmZqbHBURzNzV2xMY3A1c2dIdnBjYmd5RUFucFRmZk1pUmNvVWMzZlN6VHJmdDlPUzRSQTU1aXJEd3hWWU9PbWFtMXJNVjV0bTYxTWwxTlhzaG45M0JIZlVCRVAybzVvZ1BoVXMwVnJVcWl2YklTVGptYndvRnRvMi9NVGtIcFY1NmZkeFFXRFRTTjdLcm5mM2IxVTZQbzZ3cW90b1J5amZyN1JyaHJQR00zNlA5VWdmQllZT080ZUZCSE9JMXRkVW11V2tRTXJTc3lud0dTYW1mQlZnMHZvUDFXMHQrZGo2ek1SanJzVVkvU3F3djcxbGp4a2ttcmo5RkE1L1JqY3F4MmU3bUJKOHdnb0lwcEVISnBzZHhNdkswamZaTGsrMHAzelRzcEFPdzdoanpOTXFTdW1vaXprbGFWSUNWUUU3QUtlNm44S3JCbXhoZXVlN0ZCajdveGdrMWhaY3Z5WUpBSFVHc3lSTUVMWndjWjVTSzU0T0RzYytZL25RZCtkdWlIYjUxZ0QyY1lQeEc5Y1VmQTJQWDRWMFZpd3pnc2UvQm9BbkdRVHk0emcvd0Fxd1RoQnZuSTZucjhxQ2ZjTWJjdGFBZ0U1eG5CNjBHZzVNOHpBZ1kvMFBsWE1vU2Z2Z0hicjE4ZnkrVmRPWDJsQUdXeWQ2NTh3NmtIM1lvTXZDYzh5akdNZkQ0Vkx1SUZZY0k2R0dQUHlxdk50OTc3T29oejl4YmJyNFZLZUo3NFdYQy9Ebk0vS2t6Q01oaDErei9DZ2l1T2JQTmpIY01kYTAvYXh5OHVlZzhhN3pRWTVuQkNnZlBGSitWU1ZJM3gzMEdWbEgzTnhrZUZkU0E4WmprQmRTY2p4WHpGQ0JNNE9DQjF3ZHpXSEFkUjNaeDMwQ0NlM2t0eGtNWGpKMmZvUGNmQ2tyU2tITE5uYW5qbEpVNVhLc044OUNLUlhlbmhVYWEzejJmN1M0eVZ3Ti9oUUpCY2NuS01BSHVyRE9uVWI0cE9NdHNwd001ei9BSzhxMkRjdlRIVE9TZW9IaFFMck8ya25rUVErMFRqWUg0Vk10STB5NGlnTFN6ckdDUUNyYm5IK2pVUXNwdXlRZ0E1eDF6MDM2L2hUc05UbDdQczRwZVZSbGNFOVR0UVdGYVdpSk5iczA2SDJnN0VJUmtnZ2Z6cVFWVk9oYXhkL3BMVG9lZGloa1VFNThXV3JXb0NpaWlnaDNGdDRMZlg5SVJzRlNHSUI4U2NmenF0dlN3Vy9TOWdHT2N3TTJNLzNxdSs2MHV4dmJpRzR1cldPYWFEOVU3amRQZFNMVU9GTkIxYVZKTlEwbTJ1WFJlVldrQkpBem5IV2dpbkIrbW0wMFcwUndjeFc2cjdzKzBmeGFubFhFVnpHY2Jad2FrVWRqYXhJRWpnUlZBQUFBOE5oV0RwOW1UazI2RTBGZGxUWTYyeUhaWE9EN2pTL1N2OEFZNzJXSTU1R0pJUHZxWVRhTnB0eElKSnJLSjNIUmlEbXRocFZnR0RDMGl5Ty9Cb0dQVkkvNmt2UDd3L25UWGNLSDRabUlYT0FHRlRWN08ya2lNVHdveUhxcDZHdVEwcXdGdWJjV2tmWWtZS1lPS0R6MXhkYnROcElsM1BaT0FBTzRZM3FPOE95ci90TnV4KzhPWWVmalhwbWJoSGg2NGlhS2JSN1Y0Mis4cEJ3ZnhwSkY2UGVFSUg1NHVIckZHeGpJVnZ6b0tHMDJabzd1NFFucnR2Vmk4RzVHdFdBQXlETGtuNEdwd3ZBdkNxdVhYUWJNTVRrbmxiODZjTFhRZEtzcFVrdHJDR0owT1ZaUWNqOGFDdGVNN2tyeFJmUUsyQTNKbGZFOG9vVVRXZkMrclFjbzdKckNWMmIvd0M2UVI5S3NlNjRjMGE5dkd2TG5UYmVXNFlnbVJnY2tnWUhmNUN0MzBIU3BMZVdCckNFeFNyeXlJUWNNUEE3MEZXZWlXMFBxdDlkc3YyWmtWUTNqeWcvL3dDaFZnUy9hbGhUcHAyaGFWcE5zMXZwOWhEYlFzM09VakJBSjhldmtLVStwVzJjOWdtYUNMVHhDYTJrdG16bkpLMDBhYUN5U1c3ZFVPd3FmbXd0R2ZtTnVoYnhya21rNmZISTBpV2tTdTNVZ0hlZ2FOTm01VUNNY1kyRkpMUk9UWExsY2RSelZKbDArMFE1VzNRSHJ0UU5QdEJPWmhicDJwR0MzZmlncUhYQ1l0VnVBd081WVZWR3JRdFphdElNRWUyR0ZlcXJqaHpScnFReVQ2YmJ5TzNWbUJ5ZnhwQmM4QThKWGtuYVhIRDlsSS9UTEtmem9QUEY1TVh1N1psQlBNUDVWYXZvbW1WOVp1VkxBeUMzR1I0ZTJ0VFJlQk9GVlpHWFFiSUdQN3A1VHQrTkxkTTRjMGJScnVTNzAzVFlMVzRsWGxlU01FRmhuT092aUFhRHo5NlBiaTRYaTJWQ1Y3T0ZMbCttNDNQNTA5Y2RhOURhV3h0WTJWcGlDR1VmczlLdDJ6NEs0YTArNGU0dE5GdElabkJET2luSkI2OS9mWEs1NEI0VHZKV2t1ZEFzcFhZNUxNR0pKK2RCNVplUnpHTW5kcXd1VXl4SFFaK05lb3YrampnMy93QU4ySDhMZm5RZlJ6d2FRUWVITERCNit5MzUwSGtxVm5sYmNlK3BSdzRPejA0RGxQdFpQNDE2Sy82TStDZi9BQXpwL3dEQzM1MHBoNEM0VHQwQ1JhQlpJbzZBSzM1MEhucVMzOXJPRFdVa2xqR0ZHSzlEbmduaGc5ZERzLzRUK2RZL29Od3YvdUt6L2hQNTBIbnMzRWlqZGpTTjNZKzFrNTg2OUhuZ1RoVnV1ZzJSL3dDRnZ6clU4QThKbnJ3L1pmd3QrZEI1Y3VuYVdjK1cxWG42Tm1OdjZKN2h5TjF2SE8vK0tPcFovd0JIUEIyYy93QkhMRCtGdnpwM3M5QzB1dzAxdE90TENHR3paaXpRb0R5a25HL1h5SHlvS1UxRlJhY1lYS3YvQU5wS1dCQTJ3M2hUMUUzTW94MFhZWjZiSEg4cXNxNDRXMEs2bjdlZlNyYVNYQUhPd09jWno0MTBUaDdSNDE1VjA2QUw0WVBqbnhvS3psWXlBbkIySCtzMXdMZFhaV3o0bllrZVlxMDI0ZDBadXVtd0g0SDg2eC9SelJzNS9Sc0djWTZIODZDcWxaems1T0QzNDd2QVYzTGxjOHJ0a2V5RGpiMzFaMzlHOUYvM2JCOGorZEI0YjBVOWROdCttT2gvT2dxNW1IUTVKMjJ6OHEySkM3Z0VuenEwRHc1b3hJSjAyM3lOODRQNTFnY09hTUJnYWJCajNIODZDcjJBeG5CeWZEcFdrbnQ1N2dSdWZDclRIRGVpZ0FEVGJmQTZiSDg2RHczb3BPVHB0djhBSS9uUVZObGlTQzJjSE9NZUZPdnBIQkhBWERSenVycWMvd0RsMVlaNGEwUW5KMHkzejdqK2RkYjdRdEsxS3poczcyd2hudDRmMVViZzRUYkcyL2hRVXpwZXBIVkxOZVlZbGp4ekFEcU9sS0VHSDhqNFZhZHR3Znc3WnNXdHRIdFlpMnhLZzcvalhYK2pHaDR4K2k3Zkh1UDUwRlU1NUdLZ01UMUlIZFc0SktoZ25UcHRqTlduL1JqUS93RGRkdjhBSS9uVzM5RzlHLzNiYi9JL25RVmVvVlBhYjJsR0JnLzY2VmlNeXhvV2tJREJpVlpEMVhQczlmeHEwdjZPYU4vdTIzK1IvT3NIaHpSajEwMjMrUi9PZ3FXNTB0TGxUTGJCSTVXenpSam8zbUQzZTZtWXhNam5uUmdWUHRCdGlNVmVuOUhkSDIvcTIzMjhqK2RhUzhNYUhPL1BMcGRzN1l4a2c1K3RCU3FLcEFCQkk2REI3alhSblorWG1CR0NENCtOWEgvUlBoLy9BSFJhL3dBSi9PZzhKNkFldWtXdnlQNTBGVjZOTXo2NXBpZ3RuMW1NSHcrK0t1MDlhYUllRjlDZ21qbWkwdTNTU05nNk1BY2dqb2V0TzlBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFmLy9aJnF1b3Q7IGFsdD0mcXVvdDtJbCB0dW8gYnJvd3NlciBub24gJmVncmF2ZTsgY29tcGF0aWJpbGUgY29uIGxlIGltbWFnaW5pIGluY29ycG9yYXRlLCBtaSBzcGlhY2UmcXVvdDsvPg0KPGgzPkZvZ2xpIGRpIFN0aWxlOjwvaDM+DQo8cD5RdWVzdG8gbW9kdWxvIGZ1bnppb25hIGFuY2hlIGNvbiBpIGZsb2dsaSBkaSBzdGlsZSwgc2Ugc2kgdXNhIGlsIHRhZyB7Y21zX3N0eWxlc2hlZXR9IG5lbCBtb2RlbGxvIGRlbGxhIHBhZ2luYS4gUG9pY2gmZWFjdXRlOyBsYSBzaW50YXNzaSBkaSBzbWFydHkgJmVncmF2ZTsgbGVnZ2VybWVudGUgZGl2ZXJzYSBhbGwmIzAzOTtpbnRlcm5vIGRlbCB0YWcge2Ntc19zdHlsZXNoZWV0fSBzaSB1dGlsaXp6YSBpbCBtb2R1bG8gdXNhbmRvIGkgZGVsaW1pdGF0b3JpICBbWyBlIF1dLiAgT3Z2ZXJvOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+ZGl2LmhlYWRlciB7IGJhY2tncm91bmQ6IHVybChbW1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvcGljdHVyZS5qcGcmIzAzOTsgbm90YWc9MV1dKTsgfTwvY29kZT48L3A+DQo8cD5BIGNhdXNhIGRlbCBmYXR0byBjaGUgaSBmb2dsaSBkaSBzdGlsZSB2ZW5nb25vIGdlbmVyYXRpIGRvcG8gbGEgbG9ybyBtb2RpZmljYXRpIGUgbWVtb3JpenphdGkgbmVsIGZpbGVzeXN0ZW0gbm9uIHZpICZlZ3JhdmU7IGFsY3VuIG1vZG8gcGVyIGRldGVybWluYXJlIGR1cmFudGUgbGEgcmljaGllc3RhIHF1YWxlIGJyb3dzZXIgc3RhIHJpY2hpZWRlbmRvIGlsIGZvZ2xpbyBkaSBzdGlsZSwgcGVyY2kmb2dyYXZlOyBsJiMwMzk7aW5jb3Jwb3JhbWVudG8gdmVyciZhZ3JhdmU7IGVmZmV0dHVhdG8gYmFzYW5kb3NpIHN0cmV0dGFtZW50ZSBzdWxsYSByaWxldmF6aW9uZSBhbnRpY2lwYXRhIGRlbCBwYXJhbWV0cm8gbm9lbWJlZC4gU2Ugc2kgJmVncmF2ZTsgZGVjaXNvIGRpIGluY29ycG9yYXJlIGxlIGltbWFnaW5pIGRpcmV0dGFtZW50ZSBuZWkgZm9sZ2kgZGkgc3RpbGUsIHBvdHJlYmJlIGVzc2VyZSBuZWNlc3NhcmlvIGFnZ2l1bmdlcmUgYXNzaXN0ZW56YSBhZGRpemlvbmFsZSBwZXIgaSBmb2dsaSBkaSBzdGlsZSBwZXIgaSBicm93c2VyIG5vbiBjb21wYXRpYmlsaSBjb24gbGUgaW1tYWdpbmkgaW5jb3Jwb3JhdGUuIE92dmVybzogIElFNi48L3A+DQo8aDM+RWxhYm9yYXppb25lIGF1dG9tYXRpY2E8L2gzPg0KPHA+UXVlc3RvIG1vZHVsbyBpbmNsdWRlIHVuIHRhZyBkaSBibG9jY28gc21hcnR5IGNoaWFtYXRvIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57c2lfY29udmVydH08L2NvZGU+IGNoZSBwdSZvZ3JhdmU7IHJhY2NoaXVkZXJlIHVuIGJsb2NjbyBodG1sLCBvIGFsdHJpIHRhZyBzbWFydHkgcGVyIGNvbnNlbnRpcmUgbCYjMDM5O2VsYWJvcmF6aW9uZSBhdXRvbWF0aWNhIGRlbGxlIGltbWFnaW5pLiBRdWVzdG8gdGFnIHB1Jm9ncmF2ZTsgZXNzZXJlIHVzYXRvIGluIHF1ZXN0byBtb2RvOiAoYWQgZXNlbXBpbyk6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e3NpX2NvbnZlcnR9e2NvbnRlbnR9ey9zaV9jb252ZXJ0fTwvY29kZT48L3ByZT4NCjxwPlF1ZXN0byBwZXJtZXR0ZXImYWdyYXZlOyBhZ2xpIHV0ZW50aSBkaSBpbmNsdWRlcmUgaW1tYWdpbmkgbmVsbGUgcGFnaW5lIHVzYW5kbyBpIG5vcm1hbGkgc3RydW1lbnRpIHd5c2l3eWcsIHByb2Nlc3NhbmRvbGUgIGVkIGluY29ycG9yYW5kb2xlIGF1dG9tYXRpY2FtZW50ZSBuZWxsYSBwYWdpbmEgdXRpbGl6emFuZG8gbGEgbWFnaWEgZGkge1NtYXJ0SW1hZ2V9LiAgRXNlbXBpbzogVmVkaSBpbCBzZWd1ZW50ZSBjb2RpY2U6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e3NpX2NvbnZlcnQgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MX17Y29udGVudH17L3NpX2NvbnZlcnR9PC9jb2RlPjwvcHJlPg0KPHA+SWwgY29kaWNlIHF1aSBzb3ByYSBjYXR0dXJlciZhZ3JhdmU7IHR1dHRpIGkgdGFnIGltbWFnaW5lLCBlIGxlIGNvbnZlcnRpciZhZ3JhdmU7IGluIHNjYWxhIGRpIGdyaWdpbywgcXVpbmRpIGFwcGxpY2hlciZhZ3JhdmU7IGxhIGZpbGlncmFuYSAoc2Vjb25kbyBsZSBpbXBvc3RhemlvbmkgcHJlc2VudGkgbmVsIG1vZHVsbyBDR0V4dGVuc2lvbnMpLiBUdXR0aSBpIHBhcmFtZXRyaSBkaXNwb25pYmlsaSBuZWwgdGFnIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZX08L2NvZGU+IHNvbm8gZGlzcG9uaWJpbGkgaW4gcXVlc3RvIHRhZyAocGVyIGxhIHNjYWxhdHVyYSBkZWxsZSBpbW1hZ2luaSBlY2MuKS4gSW4gcGkmdWdyYXZlOywgc29ubyBzdGF0aSBpbnRyb2RvdHRpIGR1ZSBudW92aSBwYXJhbWV0cmk6IDxzdHJvbmc+bWF4X3dpZHRoPC9zdHJvbmc+IGUgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IGNoZSBwb3Nzb25vIGVzc2VyZSB1c2F0aSBwZXIgaW1wb3N0YXJlIGxhIGdyYW5kZXp6YSBtYXNzaW1hIGRlbGxlIGltbWFnaW5pLjwvcD4NCjxkaXYgc3R5bGU9JnF1b3Q7bWFyZ2luLWxlZnQ6IDNlbTsmcXVvdDs+PHN0cm9uZyBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz5Ob3RhOjwvc3Ryb25nPg0KPHA+UXVlc3RvIHRhZyBhbmFsaXp6YSBpbCBjb250ZW51dG8gSFRNTCBjb21wcmVzbyB0cmEgaSB0YWcgZGkgaW5pemlvIGUgZmluZSBwZXIgdHJvdmFyZSBpIHRhZyA8aW1nPi4gUXVpbmRpIGdlbmVyZXImYWdyYXZlOyB1biBvdXRwdXQgSFRNTCBzaW50YXR0aWNhbWVudGUgdmFsaWRvIHBlciBpbCBzb3R0b2luc2llbWUgZGkgY29kaWNlIHByZXZpc3RvLiAgUGVydGFudG8gJmVncmF2ZTsgaW1wb3J0YW50ZSBjaGUgaWwgZnJhbW1lbnRvIGRpIEhUTUwgcGFzc2F0byBhbCB0YWcgZXNzZXJlIGludGF0dG8gZSBpbCBwaSZ1Z3JhdmU7IHZpY2lubyBwb3NzaWJpbGUgYWkgdmFsaWRlLiBQZXJ0YW50byAmZWdyYXZlOyBpbXBvcnRhbnRlIGNoZSBpbCBmcmFtbWVudG8gZGkgSFRNTCBwYXNzYXRvIGFsIHRhZyBzaWEgaWwgcGkmdWdyYXZlOyBpbnRhdHRvIGUgdmFsaWRvIHBvc3NpYmlsZS4gIDxzdHJvbmc+VXNhcmUgY29uIGNhdXRlbGEuPC9zdHJvbmc+DQo8L2Rpdj4NCjxoMz5Bc3Npc3RlbnphPC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gbm9uIGluY2x1ZGUgYXNzaXN0ZW56YSBjb21tZXJjaWFsZS4gQ29tdW5xdWUsIHNvbm8gZGlzcG9uaWJpbGkgbnVtZXJvc2Ugcmlzb3JzZSBkaSBhaXV0bzo8L3A+DQo8dWw+DQo8bGk+UGVyIGwmIzAzOTt1bHRpbWEgdmVyc2lvbmUgZGkgcXVlc3RvIG1vZHVsbywgRkFRcywgbyBwZXIgc2VnbmFsYXJlIHVuIEJ1ZyBvIHBlciBhY3F1aXN0YXJlIGFzc2lzdGVuemEgY29tbWVyY2lhbGUsIHNlaSBwcmVnYXRvIGRpIHZpc2l0YXJlIGwmIzAzOTtob21lIHBhZ2UgZGVsIG1vZHVsbyBkaSBjYWxndXkgYSA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5VbHRlcmlvcmkgZGlzY3Vzc2lvbmkgc3UgcXVlc3RvIG1vZHVsbyBwb3Nzb25vIGVzc2VyZSB0cm92YXRlIG5laSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkZvcnVtIGRpIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5MJiMwMzk7YXV0b3JlLCBjYWxndXkxMDAwLCBwdSZvZ3JhdmU7IGVzc2VyZSByYWdnaXVudG8gc3Blc3NvIG5lbCA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPmNhbmFsZSBJUkMgQ01TPC9hPi48L2xpPg0KPGxpPkluZmluZSwgcHUmb2dyYXZlOyBhbmNoZSBkYXJzaSBjaGUgbCYjMDM5O2F1dG9yZSByaXNwb25kYSBhZCB1bmEgcmljaGllc3RhIGRpcmV0dGEgdmlhIGVtYWlsLjwvbGk+ICANCjwvdWw+DQo8aDM+UmVxdWlzaXRpPC9oMz4NCjxwPlBlciBsYSBtYW5pcG9sYXppb25lIGRlbGxlIGltbWFnaW5pLCBxdWVzdG8gbW9kdWxvIGZhIGxhcmdvIHVzbyBkZWxsYSBsaWJyZXJpYSBHRCBwZXIgbCYjMDM5O2VsYWJvcmF6aW9uZSBkZWxsZSBpbW1hZ2luaS4gIEluIGFnZ2l1bnRhLCBpbCBwbHVnaW4ge3NpX2NvbnZlcnR9IHVzYSBpbiBtb2RvIGVzdGVzbyBsZSBjbGFzc2kgc2ltcGxleG1sICBlIFhNTERvbSBwcm9wcmllIGRpIHBocC4gUG9zc29ubyBlc3NlcmVjaSBhbHRyaSByZXF1aXNpdGkgc3VwcGxlbWVudGFyaS4gSW4gY2FzbyBkaSBlcnJvcmksIGFzc2ljdXJhdGkgY2hlIGxhIHNlZ25hbGF6aW9uZSBkZWdsaSBlcnJvcmkgc2lhIGFiaWxpdGF0YSwgZSBkaSBhdmVyIGFuYWxpenphdG8gaSB0dW9pIGZpbGUgZGkgbG9nLiBkZWdsaSBlcnJvcmkuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOw0KJGxhbmdbJ2luZm9fYWxpYXNlcyddID0gJ0dsaSBhbGlhcyBwb3Nzb25vIGVzc2VyZSB1c2F0aSBuZWwgdGFnIFNtYXJ0SW1hZ2UsIGRhbGwmIzAzOTtvcHppb25lIGFsaWFzMSBhbGwmIzAzOTthbGlhczUsIHBlciBjb21iaW5hcmUgdHJhIGxvcm8gb3B6aW9uaSB1c2F0ZSBkaSBmcmVxdWVudGUnOw0KJGxhbmdbJ2luZm9fY3JvcHRvZml0X2RlZmF1bHRfbG9jJ10gPSAnU3BlY2lmaWNhcmUgbGEgcG9zaXppb25lIHByZWRlZmluaXRhIGRhIGN1aSAmcXVvdDtSaXRhZ2xpYXJlIGVkIEFkYXR0YXJlJnF1b3Q7OyBhdnImYWdyYXZlOyBlZmZldHRvIHN1IHR1dHRlIGxlIG9wZXJhemlvbmkgZGkgcml0YWdsaW8gZWQgYWRhdHRhbWVudG8gc2Ugbm9uIGRpdmVyc2FtZW50ZSBzcGVjaWZpY2F0byBuZWwgcGFyYW1ldHJvIGRpIHBvc2l6aW9uYW1lbnRvIGRlbGwmIzAzOTthdHRyaWJ1dG8gZGVsIGZpbHRybyBmaWx0ZXJfY3JvcHRvZml0LiBMYSBwb3NpemlvbmUgcHJlZGVmaW5pdGEgJmVncmF2ZTsgJnF1b3Q7Y2VudGVyJnF1b3Q7JzsNCiRsYW5nWydpbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICdMJiMwMzk7VVJMIHF1aSBzb3ByYSB0aWVuZSBjb250byBkZWxsYSBjYXJ0ZWxsYSBjYWNoZSAoX1NtYXJ0SW1hZ2UpJzsNCiRsYW5nWydpbWFnZV91cmxfcHJlZml4J10gPSAnUHJlZmlzc28gVVJMIEltbWFnaW5lJzsNCiRsYW5nWydpbmZvX2NhY2hlX2FnZSddID0gJ1NwZWNpZmljYXJlIGwmIzAzOTtldCZhZ3JhdmU7IG1hc3NpbWEgZGkgdW4gZmlsZSAoaW4gZ2lvcm5pKSBwcmltYSBjaGUgc2lhIHJpbW9zc28gZSByaWdlbmVyYXRvLiBRdWVzdG8gJmVncmF2ZTsgdXRpbGUgbmVsIGNhc28gaW4gY3VpIHNpYW5vIHN0YXRpIG1vZGlmaWNhdGkgYWxjdW5pIGRlaSBwYXJhbWV0cmkgdXNhdGkgbmVsbGEgZ2VuZXJhemlvbmUgZGVsbGUgaW1tYWdpbmksIG9wcHVyZSBwZXIgY29udHJvbGxhcmUgbGEgcXVvdGEgZGkgc3BhemlvIGRpc2NvIHVzYXRvLiBJbXBvc3RhbmRvIDAgbGEgY2FuY2VsbGF6aW9uZSBhdXRvbWF0aWNhIGRlbCBmaWxlICZlZ3JhdmU7IGRpc2FiaWxpdGF0YSc7DQokbGFuZ1snaW5mb19lbWJlZF9tb2RlJ10gPSAnUXVlc3RhIHNlbGV6aW9uZSBkZXRlcm1pbmEgaWwgbW9kbyBpbiBjdWkgaWwgdGFnIHtzbWFydGltZ30gZ2VuZXJlciZhZ3JhdmU7IGwmIzAzOTtvdXRwdXQuIFNlIHZpZW5lIHNlbGV6aW9uYXRvICZxdW90O25vbmUmcXVvdDsgbm9uIHZlcnImYWdyYXZlOyBlc2VndWl0YSBuZXNzdW5hIGluY29ycG9yYXppb25lIGRlbGwmIzAzOTtpbW1hZ2luZS4gU2VsZXppb25hbmRvICZxdW90O3NtYXJ0JnF1b3Q7IGlsIHNpc3RlbWEgZGVjaWRlciZhZ3JhdmU7IGluIGJhc2UgYWxsYSBncmFuZGV6emEgZGVsbCYjMDM5O2ltbWFnaW5lLCBhbCB0aXBvLCBlZCBhbCBicm93c2VyIGNoZSBzdGEgcmljaGllZGVuZG8gbCYjMDM5O2ltbWFnaW5lLiBMZSBhbHRyZSBvcHppb25pIGluY2x1ZG9ubyBzZW1wcmUgbCYjMDM5O2luY29ycG9yYW1lbnRvIGJhc2F0byBzdWxsYSBncmFuZGV6emEgZGVsbCYjMDM5O2ltbWFnaW5lLCBvIGlsIHRpcG8gZGkgaW1tYWdpbmUuJzsNCiRsYW5nWydpbmZvX2VtYmVkX3NpemVsaW1pdCddID0gJ1NlIGwmIzAzOTtvcHppb25lIGRpIGluY29ycG9yYW1lbnRvICZlZ3JhdmU7IGRldGVybWluYXRhIGRhbGxhIGdyYW5kZXp6YSBkZWxsJiMwMzk7aW1tYWdpbmUsIHNwZWNpZmljYXJlIGxhIGdyYW5kZXp6YSBtYXNzaW1hIGRlbGxlIGltbWFnaW5pIGRhIGluY29ycG9yYXJlIChpbiAga2lsb2J5dGVzLiBSYWNjb21hbmRhdG8gMzIpLic7DQokbGFuZ1snaW5mb19lbWJlZF90eXBlcyddID0gJ1NlIGwmIzAzOTtvcHppb25lIGRpIGluY29ycG9yYW1lbnRvICZlZ3JhdmU7IGRldGVybWluYXRhIGRhbCB0aXBvIGRpIGltbWFnaW5lLCBzcGVjaWZpY2FyZSBxdWkgbGUgZXN0ZW5zaW9uaSBkZWkgZmlsZSBkYSBpbmNvcnBvcmFyZSwgc2VwYXJhdGUgZGEgdmlyZ29sYS4gUXVlc3RhIG9wemlvbmUgbm9uIGZhIGRpc3Rpbnppb25lIHRyYSBtYWl1c2NvbGUgZSBtaW51c2NvbGUuJzsNCiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ1NlIGxhIHByb3ByaWEgQ0ROIHB1bnRhIGRpcmV0dGFtZW50ZSBhbGxhIGNhcnRlbGxhIGNhY2hlIGRlbGxlIGltbWFnaW5pLCBzaSBwb3RyZWJiZSB2b2xlciBhdHRpdmFyZSBxdWVzdGEgb3B6aW9uZS4nOw0KJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1NwZWNpZmljYXJlIGwmIzAzOTtVUkwgZGEgYW50ZXBvcnJlIGEgdHV0dGUgbGUgaW1tYWdpbmkgZ2VuZXJhdGUuIEwmIzAzOTtVUkwgZGkgdXBsb2FkcyAmZWdyYXZlOyBsJiMwMzk7aW1wb3N0YXppb25lIHByZWRlZmluaXRhLCBjb211bnF1ZSBzZSBzaSBoYSB1bmEgcHJvcHJpYSBDRE4gKG8gZG9taW5pIG11bHRpcGxpIGNoZSBwdW50YW5vIGFsbGEgc3Rlc3NhIGNhcnRlbGxhKSwgc2kgcG90cmViYmUgdm9sZXIgc3BlY2lmaWNhcmUgdW4gbm9tZSBkaXZlcnNvLic7DQokbGFuZ1snbWF4X2NhY2hlX2FnZSddID0gJ0V0JmFncmF2ZTsgbWFzc2ltYSBkZWkgZmlsZSBuZWxsYSBjYWNoZSAoZ2lvcm5pKSc7DQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bG8gcGVyIENNU01TIHBlciBsYSBnZW5lcmF6aW9uZSBpbnRlbGxpZ2VudGUgZGVsIHRhZyBpbWFnZSc7DQokbGFuZ1snbXNnX2FsaWFzZXNfdXBkYXRlZCddID0gJ0FsaWFzIEFnZ2lvcm5hdGknOw0KJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdDYXJ0ZWxsYSBDYWNoZSBwdWxpdGEuIFJpbW9zc2kgJWQgZmlsZSc7DQokbGFuZ1snbXNnX2NhY2hlcmVtb3ZlZCddID0gJ0NhY2hlIFJpbW9zc2EnOw0KJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbnplIEFnZ2lvcm5hdGUnOw0KJGxhbmdbJ25vbmUnXSA9ICdOZXNzdW5vJzsNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B6aW9uaSc7DQokbGFuZ1sncGFyYW1fYWxpYXMnXSA9ICdJbCBwYW5uZWxsbyBkaSBhbW1pbmlzdHJhemlvbmUgU21hcnRJbWFnZSBjb25zZW50ZSBsYSBjcmVhemlvbmUgZGkgbnVtZXJvc2kgYWxpYXMgZGkgY29tYW5kbyBwZXIgY29tYmluYXJlIGluIHVuIHVuaWNvIG5vbWUgYXJnb21lbnRpIHVzYXRpIGRpIGZyZXF1ZW50ZS4gUGVyIHV0aWxpenphcmUgcXVlc3RpIGFsaWFzLCB1c2FyZSB1biBhcmdvbWVudG8gZGVsIG1vZHVsbyBhbGlhcyMjPWFsaWFzX25hbWUsIGNvbWUgYWxpYXMxPWZvbyBhbGlhczI9Zm9vLic7DQokbGFuZ1sncGFyYW1fYWx0J10gPSAnVXNhdG8gbmVsbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHNwZWNpZmljYSBpbCB2YWxvcmUgZGVsbCYjMDM5O2F0dHJpYnV0byBhbHQuIE5vdGE6IHNlIG5vbiBzcGVjaWZpY2F0bywgc2FyJmFncmF2ZTsgYXV0b21hdGljYW1lbnRlIGNhbGNvbGF0byB1biB2YWxvcmUgcGVyIHF1ZXN0byBhdHRyaWJ1dG8gcGVyIGNvbnNlbnRpcmUgbGEgdmFsaWRhemlvbmUgZGVsbGEgbWFnZ2lvciBwYXJ0ZSBkZWkgdGFnIGltZy4gJkVncmF2ZTsgcG9zc2liaWxlIGluaWJpcmUgcXVlc3RvIGF1dG9tYXRpc21vIG1lZGlhbnRlIGlsIHBhcmFtZXRybyAmcXVvdDtub2F1dG8mcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnVXNhdG8gbmVsbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIHVuYSBvIHBpJnVncmF2ZTsgY2xhc3NpIGRhIGluY2x1ZGVyZSBuZWwgdGFnLiBBZCBlc2VtcGlvOiBjbGFzcz0mcXVvdDtmYW5jeWJveCx0aHVtYm5haWwmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ibHVyJ10gPSAnKHF1YWxzaWFzaSkgU3BlY2lmaWNhcmUgdW4gdmFsb3JlIHBlciBxdWVzdG8gcGFyYW1ldHJvIHBlciBhZ2dpdW5nZXJlIHVuIGZpbHRybyBzZm9jYXR1cmEgYWxsJiMwMzk7aW1tYWdpbmUnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKGludGVybykgQXVtZW50YSBsYSBsdW1pbm9zaXQmYWdyYXZlOyBkZWxsJiMwMzk7aW1tYWdpbmUgZWxhYm9yYXRhIGRlbCB2YWxvcmUgaW50ZXJvIHNwZWNpZmljYXRvJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBDb21lIGZpbHRlcl9ncmF5c2NhbGUgJmVncmF2ZTsgY29tdW5xdWUgcG9zc2liaWxlIHNwZWNpZmljYXJlIGlsIGNvbG9yZSBlZCBpbCB2YWxvcmUgYWxmYSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbnRyYXN0J10gPSAnKGludGVybykgTW9kaWZpY2EgaWwgY29udHJhc3RvIGRlbGwmIzAzOTtpbW1hZ2luZSBpbiBiYXNlIGFsbCYjMDM5O2ludGVybyBzcGVjaWZpY2F0byc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3AnXSA9ICcocGVyY2VudHVhbGVbLGhfYWxpZ24sdl9hbGlnbl0pIC0gRWZmZXR0dWEgaWwgcml0YWdsaW8gZGVsbCYjMDM5O2ltbWFnaW5lIHNwZWNpZmljYXRhLiBJIHZhbG9yaSBwZXIgaWwgcml0YWdsaW8gc29ubyBzcGVjaWZpY2F0aSBjb21lIHVuYSBsaXN0YSBkaSBwYXJhbWV0cmkgc2VwYXJhdGkgZGEgdmlyZ29sYS4gSWwgcHJpbW8gdmFsb3JlIChyaWNoaWVzdG8pICZlZ3JhdmU7IHVuIGludGVybyBwZXJjZW50dWFsZSBkZWxsYSBncmFuZGV6emEgb3JpZ2luYWxlIGRlbGwmIzAzOTtpbW1hZ2luZS4gSWwgc2Vjb25kbyBlZCBpbCB0ZXJ6byBwYXJhbWV0cm8sIG9wemlvbmFsaSwgc29ubyByZWxhdGl2aSBhIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgZSB0LGMsYiAodG9wLGNlbnRlcixib3R0b20pIGUgc3BlY2lmaWNhbm8gaWwgcHVudG8gZGVsbCYjMDM5O2ltbWFnaW5lIGRhIGN1aSBpbml6aWFyZSBpbCByaXRhZ2xpby4gRXNlbXBpbzogY3JvcD0zMyxiLHIgcGVyIGVmZmV0dHVhcmUgdW4gcml0YWdsaW8gZGVsMzMlIHBhcnRlbmRvIGRhbCBtYXJnaW5lIGluZmVyaW9yZSBkZXN0cm8gZGVsbCYjMDM5O2ltbWFnaW5lIG9yaWdpbmFsZS4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcobGFyZ2hlenphLGFsdGV6emEsWyxwb3NpemlvbmVdKSAtIEVmZmV0dHVhIHVuIHJpdGFnbGlvIGVkIHVuIGFkYXR0YW1lbnRvIGRlbGwmIzAzOTtpbW1hZ2luZSBzcGVjaWZpY2F0YS4gVGVudGEgZGkgc2NhbGFyZSBsJiMwMzk7aW1tYWdpbmUgYWxsYSBncmFuZGV6emEgZGVzaWRlcmF0YSBtYW50ZW5lbmRvbmUgaWwgcmFwcG9ydG8gdHJhIGxhcmdoZXp6YSBlZCBhbHRlenphLCBxdWluZGkgZm9jYWxpenphIGwmIzAzOTthcmVhIHNlbGV6aW9uYXRhIGRlbGwmIzAzOTtpbW1hZ2luZSBzY2FsYXRhLiBQYXJhbWV0cmkgZGkgcml0YWdsaW8gZWQgYWRhdHRhbWVudG8gc29ubyBzcGVjaWZpY2F0aSBjb21lIGxhcmdoZXp6YSBlZCBhbHRlenphIGRlc2lkZXJhdGUgcGVyIGwmIzAzOTtpbW1hZ2luZSBmaW5hbGUsIGluc2llbWUgY29uIHVuIGNvZGljZSAob3B6aW9uYWxlKSBkaSBwb3NpemlvbmUuIENvZGljaSBkaSBwb3NpemlvbmUgdmFsaWRpIHNvbm8gdGwsdGMsdHIsY2wsYyxjcixibCxiLGJyIHJlbGF0aXZpIGFsbGUgOSBwb3NpemlvbmkgYWxsJiMwMzk7aW50ZXJubyBkZWxsJiMwMzk7aW1tYWdpbmUuIFNlIHVuYSBwb3NpemlvbmUgbm9uIHZpZW5lIHNwZWNpZmljYXRhIHZlcnImYWdyYXZlOyB1c2F0YSB1bmEgcHJlZmVyZW56YS4gSWwgdmFsb3JlIHByZWRlZmluaXRvICZlZ3JhdmU7ICZxdW90O2MmcXVvdDsgcGVyIHJpdGFnbGlhcmUtZWQtYWRhdHRhcmUgcGFydGVuZG8gZGFsIGNlbnRybyBkZWxsJiMwMzk7aW1tYWdpbmUgb3JpZ2luYWxlLiBRdWVzdG8gZmlsdHJvIG5vbiBlc2VndWlyJmFncmF2ZTsgaW4gbmVzc3VuIGNhc28gdW4gaW5ncmFuZGltZW50byAodXBzY2FsaW5nKS4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lZGdlZGV0ZWN0J10gPSAnKG5pZW50ZSkgRXZpZGVuemlhIGkgYm9yZGkgZGVsbCYjMDM5O2ltbWFnaW5lJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfZW1ib3NzJ10gPSAnKG5pZW50ZSkgQXBwbGljYSB1biByaWxpZXZvIGFsbCYjMDM5O2ltbWFnaW5lJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfZmxpcCddID0gJyhtb2RlKSAtIFJpZmxldHRlIGwmIzAzOTtpbW1hZ2luZSBzcGVjaWZpY2F0YS4gU3BlY2lmaWNhcmUgMCBwZXIgb3JpenpvbmF0bGUsIDEgcGVyIHZlcnRpY2FsZSwgZSAyIHBlciByaWZsZXR0ZXJlIGluIGVudHJhbWJlIGxlIGRpcmV6aW9uaS4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ncmF5c2NhbGUnXSA9ICcobmllbnRlKSBDb252ZXJ0ZSBsJiMwMzk7aW1tYWdpbmUgaW4gc2NhbGEgZGkgZ3JpZ2lvJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbWVhbnJlbW92YWwnXSA9ICcobmllbnRlKSBUZW50YSBkaSBvdHRlbmVyZSB1biBlZmZldHRvICZxdW90O1NjaGl6em8mcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9uZWdhdGUnXSA9ICcobmllbnRlKSBSZW5kZSBsJiMwMzk7aW1tYWdpbmUgaW4gbmVnYXRpdm8nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyhncmFuZGV6emFbLGF2YW56YXRvXSkgRWZmZXR0byBwaXhlbCBzdWxsJiMwMzk7aW1tYWdpbmUsIHNwZWNpZmljYXJlIHVuYSBncmFuZGV6emEgaW50ZXJhIGVkIHVuIGJvb2xlYW5vIG9wemlvbmFsZSAoaWwgcHJlZGVmaW5pdG8gJmVncmF2ZTsgZmFsc2UpIHBlciBhYmlsaXRhcmUgdW4gZWZmZXR0byBwaXhlbCBhdmFuemF0byc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZSddID0gJ3RpcG8sbnVtZXJvWyxudW1lcm9dIC0gUmlkaW1lbnNpb25hIGwmIzAzOTtpbW1hZ2luZSBvcmlnaW5hbGUuIElsIGZpbHRybyBkaSByaWRpbWVuc2lvbmFtZW50byBub24gZWZmZXR0dWEgbmVzc3VuIGNvbnRyb2xsbyBkaSBpbmdyYW5kaW1lbnRvLg0KSSBwb3NzaWJpbGkgdmFsb3JpIHNvbm86DQo8dWw+DQogIDxsaT5wLG51bWVybyAtIEVzZWd1ZSB1biByaWRpbWVuc2lvbmFtZW50byBzZW1wbGljZSBhZCB1bmEgZGV0ZXJtaW5hdGEgcGVyY2VudHVhbGUuIEVzZW1waW86IHJlc2l6ZT1wLDUwIHBlciByaWR1cnJlIGRlbCA1MCUgbGEgZ3JhbmRlenphIG9yaWdpbmFsZTwvbGk+DQogIDxsaT53LG51bWVybyAtIEVzZWd1ZSBpbCByaWRpbWVuc2lvbmFtZW50byBhbGxhIGxhcmdoZXp6YSBzcGVjaWZpY2F0YSAobWFudGVuZW5kbyBpbCByYXBwb3J0byB0cmEgbGFyZ2hlenphIGVkIGFsdGV6emEpLiBFc2VtcGlvOiByZXNpemU9dyw4MCBwZXIgY3JlYXJlIHVuYSBtaW5pYXR1cmEgY29uIGxhcmdoZXp6YSBtYXNzaW1hIGRpIDgwIHBpeGVsLjwvbGk+DQogIDxsaT5oLG51bWVybyAtIEVzZWd1ZSBpbCByaWRpbWVuc2lvbmFtZW50byBhbGwmIzAzOTthbHRlenphIHNwZWNpZmljYXRhIChtYW50ZW5lbmRvIGlsIHJhcHBvcnRvIHRyYSBsYXJnaGV6emEgZWQgYWx0ZXp6YSkuIEVzZW1waW86IHJlc2l6ZT1oLDgwIHBlciBjcmVhcmUgdW5hIG1pbmlhdHVyYSBjb24gYWx0ZXp6YSBtYXNzaW1hIGRpIDgwIHBpeGVsLjwvbGk+DQogIDxsaT5lLG51bWVybyAtIEVzZWd1ZSBpbCByaWRpbWVuc2lvbmFtZW50byBpbXBvc3RhbmRvIGlsIGxhdG8gbWFnZ2lvcmUgYWwgdmFsb3JlIHNwZWNpZmljYXRvIChtYW50ZW5lbmRvIGlsIHJhcHBvcnRvIHRyYSBsYXJnaGV6emEgZWQgYWx0ZXp6YSkuIEVzZW1waW86IHJlc2l6ZT1lLDEwMCBwZXIgY3JlYXJlIHVuYSBtaW5pYXR1cmEgaWwgY3VpIGxhdG8gbWFnZ2lvcmUgc2lhIGRpIDEwMCBwaXhlbC4NCiAgPGxpPmMseCx5IC0gRXNlZ3VlIGlsIHJpZGltZW5zaW9uYW1lbnRvIGFkIHVuYSBncmFuZGV6emEgcGVyc29uYWxpenphdGEgKHNlbnphIG1hbnRlbmVyZSBpbCByYXBwb3J0byB0cmEgbGFyZ2hlenphIGVkIGFsdGV6emEpLiBFc2VtcGlvOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgcGVyIGNyZWFyZSB1bmEgbWluaWF0dXJhIGRpIDUweDc1IHBpeGVsLjwvbGk+Lg0KPC91bD4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemV0b2ZpdCddID0gJyhsYXJnaGV6emEsYWx0ZXp6YVssY29sb3JlWyx0cmFzcGFyZW56YV1dKSAtIEVzZWd1ZSB1biByaWRpbWVuc2lvbmFtZW50byBkZWxsJiMwMzk7aW1tYWdpbmUgc3BlY2lmaWNhdGEuIFRlbnRhIGRpIHNjYWxhcmUgbCYjMDM5O2ltbWFnaW5lIGFsbGEgZ3JhbmRlenphIGRpIGRlc3RpbmF6aW9uZSBzcGVjaWZpY2F0YSBtYW50ZW5lbmRvbmUgaWwgcmFwcG9ydG8gdHJhIGxhcmdoZXp6YSBlZCBhbHRlenphLCBsJiMwMzk7aW1tYWdpbmUgJmVncmF2ZTsgY2VudHJhdGEgcmlzcGV0dG8gYWxsJiMwMzk7YXJlYSBzcGVjaWZpY2F0YSAob3JpenpvbnRhbG1lbnRlIG8gdmVydGljYWxtZW50ZSBpbiBiYXNlIGFsIHJhcHBvcnRvIGxhcmdoZXp6YS9hbHRlenphIGVkIGFsbGEgZ3JhbmRlenphIGZpbmFsZSksIGUgY2lyY29uZGF0YSBkYWwgY29sb3JlIHNwZWNpZmljYXRvLiBJIGNvbG9yaSBwb3Nzb25vIGVzc2VyZSBzcGVjaWZpY2F0aSBwZXIgbm9tZSAodmVkZXJlIGkgbm9taSBkaSBjb2xvcmUgWDExKSwgbyBjb24gaWwgZm9ybWF0byBlc2FkZWNpbWFsZSAjbm5ubm5uLCBvIGNvbWUgdmFsb3JpIHJnYiBzZXBhcmF0aSBkYSA6IEVzZW1waW86IGZpbHRlcl9jcm9wdG9maXQ9NjAwLDQwMCwjZmYwMDAwLiBJbCB2YWxvcmUgc3BlY2lhbGUgJnF1b3Q7dHJhbnNwYXJlbnQmcXVvdDsgcHUmb2dyYXZlOyBlc3NlcmUgc3BlY2lmaWNhdG8gcGVyIGZvcnphcmUgdW5vIHNmb25kbyB0cmFzcGFyZW50ZS4gSWwgdmFsb3JlIGFscGhhIHB1Jm9ncmF2ZTsgdmFyaWFyZSB0cmEgMCBlIDEyNyBwZXIgc3BlY2lmaWNhcmUgdmFyaSBncmFkaSBkaSB0cmFzcGFyZW56YSBkZWxsbyBzZm9uZG8uIFF1ZXN0byBmaWx0cm8gbm9uIGVzZWd1aXImYWdyYXZlOyBpbiBuZXNzdW4gY2FzbyB1biBpbmdyYW5kaW1lbnRvICh1cHNjYWxpbmcpLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdGF0ZSddID0gJyhhbmdvbG8pIFNwZWNpZmljYXJlIHVuIGFuZ29sbyBpbnRlcm8gKGluIHNlbnNvIGFudGlvcmFyaW8pIHBlciBydW90YXJlIGwmIzAzOTtpbW1hZ2luZS4gTCYjMDM5O2ltbWFnaW5lIHZpZW5lIHJ1b3RhdGEgc3VsIHN1byBjZW50cm8uJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnXSA9ICcocmFkaWFsZSkgU3BlY2lmaWNhcmUgdW4gdmFsb3JlIHJhZGlhbGUgaW50ZXJvIChpbiBwaXhlbCkgcGVyIGFycm90b25kYXJlIGdsaSBhbmdvbGkuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJ10gPSAnKG5pbmV0ZSksIEltcG9zdGFyZSBsJiMwMzk7YXBwbGljYXppb25lIGRlbGxhIGZpbGlncmFuYSBhbGwmIzAzOTtpbW1hZ2luZSAoY29tZSBzcGVjaWZpY2F0byBuZWwgcGFubmVsbG8gZGkgYW1taW5pc3RyYXppb25lIGRpIENHRXh0ZW5zaW9ucyApJzsNCiRsYW5nWydwYXJhbV9oZWlnaHQnXSA9ICdVc2F0byBuZWxsYSBjcmVhemlvbmUgZGkgdW4gdGFnIGltZywgc3BlY2lmaWNhIGlsIHZhbG9yZSBwZXIgbCYjMDM5O2F0dHJpYnV0byBoZWlnaHQgLiBOb3RhLCBzZSBub24gdmllbmUgc3BlY2lmaWNhdG8gdW4gdmFsb3JlLCBuZSB2ZXJyJmFncmF2ZTsgY2FsY29sYXRvIGF1dG9tYXRpY2FtZW50ZSB1bm8gcGVyIHF1ZXN0byBhdHRyaWJ1dG8gaW4gbW9kbyBjaGUgbGEgbWFnZ2lvciBwYXJ0ZSBkZWkgdGFnIGltZyBzaWFubyB2YWxpZGF0aS4NCiAmRWdyYXZlOyBwb3NzaWJpbGUgc292cmFzY3JpdmVyZSBxdWVzdG8gY2FsY29sbyBhdXRvbWF0aWNvIG1lZGlhbnRlIGlsIHBhcmFtZXRybyAmcXVvdDtub2F1dG8mcXVvdDsuIFF1ZXN0byBwYXJhbWV0cm8gc2FyJmFncmF2ZTsgaW5vbHRyZSB1c2F0byBpbnNpZW1lIGNvbiBpbCBwYXJhbWV0cm8gJnF1b3Q7d2lkdGgmcXVvdDsgcGVyIGVmZmV0dHVhcmUgdW4gcmlkaW1lbnNpb25hbWVudG8gZmluYWxlIG8gdW4gZmlsdHJvIGRpIHJpdGFnbGlvIGVkIGFkYXR0YW1lbnRvIChhIG1lbm8gY2hlIG5vbiBzaWEgc3RhdG8gc3BlY2lmaWNhdG8gYW5jaGUgaWwgcGFyYW1ldHJvICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7ICknOw0KJGxhbmdbJ3BhcmFtX2lkJ10gPSAnVXNhdG8gbmVsbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIHVuIGF0dHJpYnV0byBpZCBkYSBpbmNsdWRlcmUgbmVsIHRhZy4gRXNlbXBpbzogaWQ9JnF1b3Q7dHVvaWQmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX21heF9oZWlnaHQnXSA9ICdBcHBsaWNhYmlsZSBzb2xvIGFsIHRhZyAge3NpX2NvbnZlcnR9LCBxdWVzdG8gcGFyYW1ldHJvIHBlcm1ldHRlIHNpIHNwZWNpZmljYXJlIHVuJiMwMzk7YWx0ZXp6YSBtYXNzaW1hIHBlciBsZSBpbW1hZ2luZSBjb252ZXJ0aXRlJzsNCiRsYW5nWydwYXJhbV9tYXhfd2lkdGgnXSA9ICdBcHBsaWNhYmlsZSBzb2xvIGFsIHRhZyAge3NpX2NvbnZlcnR9LCBxdWVzdG8gcGFyYW1ldHJvIHBlcm1ldHRlIHNpIHNwZWNpZmljYXJlIHVuYSBsYXJnaGV6emEgbWFzc2ltYSBwZXIgbGUgaW1tYWdpbmUgY29udmVydGl0ZSc7DQokbGFuZ1sncGFyYW1fbmFtZSddID0gJ1VzYXRvIG5lbGxhIGNyZWF6aW9uZSBkaSB1biB0YWcgaW1nLCAgc3BlY2lmaWNhIGlsIHZhbG9yZSBkZWxsJiMwMzk7YXR0cmlidXRvIG5hbWUuJzsNCiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdOb24gY2FsY29sYXJlIGF1dG9tYXRpY2FtZW50ZSBpIHBhcmFtZXRyaSBwZXIgaWwgdGFnIGltZy4gUXVlc3RvIHB1Jm9ncmF2ZTsgY29tcG9ydGFyZSBsYSBtYW5jYXRhIHZhbGlkYXppb25lIGRlbCBzaXRvIG5lbCBjYXNvIGluIGN1aSBhbGN1bmkgcGFyYW1ldHJpIHJpY2hpZXN0aSAod2lkdGgsaGVpZ2h0LGFsdCkgbm9uIHNpYW5vIHNwZWNpZmljYXRpJzsNCiRsYW5nWydwYXJhbV9ub2F1dG9zY2FsZSddID0gJ1NlIHNvbm8gc3BlY2lmaWNhdGkgaSBwYXJhbWV0cmkgd2lkdGggZSBoZWlnaHQsIHF1ZXN0byBwYXJhbWV0cm8gZGlzYWJpbGl0ZXImYWdyYXZlOyBsYSBzY2FsYXR1cmEgYXV0b21hdGljYSBkZWxsJiMwMzk7aW1tYWdpbmUuJzsNCiRsYW5nWydwYXJhbV9ub2JjYWNoZSddID0gJ05vbiBwZXJtZXR0ZSBsYSBtZW1vcml6emF6aW9uZSBuZWxsYSBjYWNoZSBkZWwgYnJvd3NlciBkZWxsJiMwMzk7aW1tYWdpbmUgcmlkaW1lbnNpb25hdGEgKHV0aWxlIGluIGZhc2UgZGkgc3ZpbHVwcG8pLCBhZ2dpdW5nZSB1biBudW1lcm8gdW5pdm9jbyBjb21lIHBhcmFtZXRybyBkZWxsJiMwMzk7aW1tYWdpbmUgY2hlIGZvcnplciZhZ3JhdmU7IGlsIGJyb3dzZXIgYSBub24gbWVtb3JpenphcmxhIG5lbGxhIGNhY2hlLic7DQokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcnphIGxhIG5vbiBpbmNsdXNpb25lIGRlbGwmIzAzOTtpbW1hZ2luZS4gSW5kaXBlbmRlbnRlbWVudGUgZGFsbGUgaW1wb3N0YXppb25pIG5lbCBwYW5uZWxsbyBkaSBhbW1pbmlzdHJhemlvbmUsIGwmIzAzOTtVUkwgZWQgaWwgdGFnIGdlbmVyYXRpIHB1bnRlcmFubm8gYWQgdW4gZmlsZSBzdWwgc2VydmVyLiBOZXNzdW5hIGluY2x1c2lvbmUgKGVtYmVkZGluZykgc2FyJmFncmF2ZTsgZXNlZ3VpdGEnOw0KJGxhbmdbJ3BhcmFtX25vdGltZWNoZWNrJ10gPSAnRGlzYWJpbGl0YXJlIGlsIGNvbnRyb2xsbyB0ZW1wb3JhbGUgZGVpIGZpbGUgbmVsbGEgY2FjaGUuJzsNCiRsYW5nWydwYXJhbV9ub3JlbW90ZSddID0gJ05vbiBwZXJtZXR0ZXJlIGlsIHJlY3VwZXJvIGRpIGZvbnRpIGRhIFVSTCByZW1vdGknOw0KJGxhbmdbJ3BhcmFtX25vcm90YXRlJ10gPSAnTm9uIHRlbnRhcmUgZGkgbGVnZ2VyZSBsZSBpbmZvcm1hemlvbmkgZXhpZiBkYWwgZmlsZSBlIGNvcnJlZ2dlcmUgbGEgcm90YXppb25lIGltbWFnaW5lJzsNCiRsYW5nWydwYXJhbV9ub3RhZyddID0gJ05vbiBnZW5lcmFyZSB1biB0YWcgaW1nLCBzb2xvIGwmIzAzOTt1cmwgZGVsbCYjMDM5O2ltbWFnaW5lIG1lbW9yaXp6YXRhIG5lbGxhIGNhY2hlLiBRdWVzdG8gbm9uIGhhIGFsY3VuIGVmZmV0dG8gc2UgU21hcnRJbWFnZSB2aWVuZSB1dGlsaXp6YXRvIGFsbCYjMDM5O2ludGVybm8gZGkgdW4gZm9nbGlvIGRpIHN0aWxlLic7DQokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnRGlzYXR0aXZhcmUgbGEgbWVtb3JpenphemlvbmUgbmVsbGEgY2FjaGUgZSBmb3J6YXJlIGlsIHJpY2FsY29sbyBkaSB0dXR0aSBpIGZpbHRyaSc7DQokbGFuZ1sncGFyYW1fcXVhbGl0eSddID0gJ1NwZWNpZmljYXJlIGxhIHF1YWxpdCZhZ3JhdmU7IGRlbGwmIzAzOTtpbW1hZ2luZSBwcm9kb3R0YS4gVW4gdmFsb3JlIHRyYSAwIGUgMTAwLiBJbCB2YWxvcmUgcHJlZGVmaW5pdG8sIHNlIG5vbiBzcGVjaWZpY2F0bywgJmVncmF2ZTsgZGkgNzUuJzsNCiRsYW5nWydwYXJhbV9yZWwnXSA9ICdVc2F0byBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkaSB1biB0YWcgZGkgaW1tYWdpbmUgcGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgdW4gYXR0cmlidXRvIG9wemlvbmFsZSByZWwgKGluIGdlbmVyZSB1dGlsaXp6YXRvIGNvbiBnbGkgYWxidW0gZGkgdGlwbyBqYXZhc2NyaXB0KS4gRXNlbXBpbzogcmVsPSZxdW90O2FsYnVtJnF1b3Q7JzsNCiRsYW5nWydwYXJhbV9zaWxlbnQnXSA9ICdJZ25vcmFyZSBzaWxlbnppb3NhbWVudGUgZ2xpIGVycm9yaSc7DQokbGFuZ1sncGFyYW1fc3JjJ10gPSAnU3BlY2lmaWNhcmUgbCYjMDM5O29yaWdpbmUgcGVyIGwmIzAzOTtlbGFib3JhemlvbmUgZGVsbGUgaW1tYWdpbmkgKHNlIHByZXNlbnRlKSBvIGlsIHRhZyBpbWcgZ2VuZXJhdG8uIE5vdGEsIHF1ZXN0byBwYXJhbWV0cm8gJmVncmF2ZTsgZmxlc3NpYmlsZSwgZSBpbCBtb2R1bG8gdGVudGVyJmFncmF2ZTsgbW9sdGkgbWV0b2RpIHBlciB0cm92YXJlIGlsIGZpbGUgaW1tYWdpbmUgc29yZ2VudGUgc3VsIHNlcnZlciB3ZWIgY29tZSBzZWd1ZToNCjx1bD4NCiAgIDxsaT4gUHJpbWEgY29udHJvbGxhIHNlIGlsIHZhbG9yZSBzcmMgc3BlY2lmaWNhdG8gY29ycmlzcG9uZGUgYWQgdW4gZmlsZSBlc2lzdGVudGUgbmVsIGZpbGVzeXN0ZW0uPC8gbGk+DQogICA8bGk+SW4gc2VndWl0bywgdmVyaWZpY2Egc2UgaWwgdmFsb3JlIHNwZWNpZmljYXRvIHBlciBpbCBwYXJhbWV0cm8gc3JjICZlZ3JhdmU7IHVuIFVSTCBlIGluaXppYSBjb24gdXBsb2Fkc191cmwgKGNvbWUgc3BlY2lmaWNhdG8gbmVsIGNvbmZpZy5waHApPC8gbGk+DQogICA8bGk+UG9pLCB2ZXJpZmljYSBzZSBpbCB2YWxvcmUgc3BlY2lmaWNhdG8gcGVyIGlsIHBhcmFtZXRybyBzcmMgJmVncmF2ZTsgdW4gVVJMIGUgaW5pemlhIGNvbiByb290X3VybCAoY29tZSBzcGVjaWZpY2F0byBuZWwgY29uZmlnLnBocCk8LyBsaT4NCiAgIDxsaT5RdWluZGksIHZlcmlmaWNhIHNlIGlsIHZhbG9yZSBzcGVjaWZpY2F0byBwZXIgaWwgcGFyYW1ldHJvIHNyYyAmZWdyYXZlOyB1biBVUkwgZSBpbml6aWEgY29uIHNzbF91cmwgKGNvbWUgc3BlY2lmaWNhdG8gbmVsIGNvbmZpZy5waHApPC8gbGk+DQo8LyB1bD4NCiAmRWdyYXZlOyBhbmNoZSBwb3NzaWJpbGUgc3VkZGl2aWRlcmUgaWwgcGFyYW1ldHJvIHNyYyBpbiBwaSZ1Z3JhdmU7IGFyZ29tZW50aSwgaWwgY2hlICZlZ3JhdmU7IHV0aWxlIHBlciBlc2VtcGlvIHF1YW5kbyBpbCBwZXJjb3JzbyBkZWwgZmlsZSBlIGlsIG5vbWUgZGVsIGZpbGUgc29ubyBtZW1vcml6emF0aSBpbiB2YXJpYWJpbGkgc21hcnR5IHNlcGFyYXRlLiAmRWdyYXZlOyBwb3NzaWJpbGUgc3BlY2lmaWNhcmUgc3JjIGNvbWUgc3JjMSA9IFwgJCB0aGVfcGF0aCBzcmMyID0gXCAkIHRoZV9maWxlbmFtZS4gSWwgc2lzdGVtYSBhZ2dpdW5nZSBhdXRvbWF0aWNhbWVudGUgdW4gLyB0cmEgb2duaSBhcmdvbWVudG8uIE5vbiB2aSAmZWdyYXZlOyBhbGN1biBsaW1pdGUgYWwgbnVtZXJvIGRpIHBhcmFtZXRyaSBzcmMuJzsNCiRsYW5nWydwYXJhbV9zdHlsZSddID0gJ1VzYXRvIGR1cmFudGUgbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIGdsaSBzdGlsaSBhbHRlcm5hdGl2aSBwZXIgaWwgdGFnLiBFc2VtcGlvOiBzdHlsZSA9ICZxdW90O2JvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyZxdW90Oyc7DQokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdTcGVjaWZpY2FyZSB1biBhdHRyaWJ1dG8gb3B6aW9uYWxlIHRpdGxlIHBlciBpbCB0YWcgaW1nLiBFc2VtcGlvOiB0aXRsZT0mcXVvdDtRdWVzdG8gJmVncmF2ZTsgaWwgdG9vbHRpcCZxdW90Oyc7DQokbGFuZ1sncGFyYW1fd2lkdGgnXSA9ICdVc2F0byBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkaSB1biB0YWcgaW1nLCBzcGVjaWZpY2EgaWwgdmFsb3JlIHBlciBsJiMwMzk7YXR0cmlidXRvIHdpZHRoLiBOb3RhLCBzZSBub24gdmllbmUgc3BlY2lmaWNhdG8gdW4gdmFsb3JlLCBuZSB2ZXJyJmFncmF2ZTsgY2FsY29sYXRvIGF1dG9tYXRpY2FtZW50ZSB1bm8gcGVyIHF1ZXN0byBhdHRyaWJ1dG8gaW4gbW9kbyBjaGUgbGEgbWFnZ2lvciBwYXJ0ZSBkZWkgdGFnIGltZyBzaWFubyB2YWxpZGF0aS4gJkVncmF2ZTsgcG9zc2liaWxlIHNvdnJhc2NyaXZlcmUgcXVlc3RvIGNhbGNvbG8gYXV0b21hdGljbyBtZWRpYW50ZSBpbCBwYXJhbWV0cm8gJnF1b3Q7bm9hdXRvJnF1b3Q7LiBRdWVzdG8gcGFyYW1ldHJvIHNhciZhZ3JhdmU7IGlub2x0cmUgdXNhdG8gaW5zaWVtZSBjb24gaWwgcGFyYW1ldHJvICZxdW90O2hlaWdodCZxdW90OyBwZXIgZWZmZXR0dWFyZSB1biByaWRpbWVuc2lvbmFtZW50byBmaW5hbGUgbyB1biBmaWx0cm8gZGkgcml0YWdsaW8gZWQgYWRhdHRhbWVudG8gKGEgbWVubyBjaGUgbm9uIHNpYSBzdGF0byBzcGVjaWZpY2F0byBhbmNoZSBpbCBwYXJhbWV0cm8gJnF1b3Q7bm9hdXRvc2NhbGUmcXVvdDsgKSc7DQokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bG8gaW5zdGFsbGF0byc7DQokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1R1dHRpIGkgZGF0aSBhc3NvY2lhdGkgYSBxdWVzdG8gbW9kdWxvIHNvbm8gc3RhdGkgcmltb3Nzc2knOw0KJGxhbmdbJ3Byb21wdF9jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdQdW50byBwcmVkZWZpbml0byBkYWwgcXVhbGUgZWZmZXR0dWFyZSB1biByaWRpdGFnbGlvIGVkIGFkYXR0YW1lbnRvICgmcXVvdDtjcm9wIHRvIGZpdCZxdW90OyknOw0KJGxhbmdbJ3Byb21wdF9lbWJlZF9zaXplbGltaXQnXSA9ICdCYXNhdG8gc3VsbGEgZ3JhbmRlenphIGRlbGwmIzAzOTtpbW1hZ2luZSc7DQokbGFuZ1sncHJvbXB0X2VtYmVkX3NtYXJ0bGltaXRlZCddID0gJ01vZGFsaXQmYWdyYXZlOyBJbnRlbGxpZ2VudGUgbWEgbGltaXRhIGxhIGRpbWVuc2lvbmUgZGVsbCYjMDM5O2ltbWFnaW5lJzsNCiRsYW5nWydwcm9tcHRfZW1iZWRfdHlwZSddID0gJ0Jhc2F0byBzdWwgdGlwbyBkaSBpbW1hZ2luZSc7DQokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAnSW4gQmFzc28gYSBTaW5pc3RyYSAoYmwpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0luIEJhc3NvIGFsIENlbnRybyAoYmMpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0J10gPSAnSW4gQmFzc28gYSBEZXN0cmEgKGJyKSc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJsZWZ0J10gPSAnQ2VudHJvIFNpbmlzdHJhIChjbCknOw0KJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVyJ10gPSAnQ2VudHJvIChjKSc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ0NlbnRybyBEZXN0cmEgKGNsKSc7DQokbGFuZ1sncHJvbXB0X2xvY190b3BsZWZ0J10gPSAnSW4gQWx0byBhIFNpbmlzdHJhICh0bCknOw0KJGxhbmdbJ3Byb21wdF9sb2NfdG9wY2VudGVyJ10gPSAnSW4gQWx0byBhbCBDZW50cm8gKHRjKSc7DQokbGFuZ1sncHJvbXB0X2xvY190b3ByaWdodCddID0gJ0luIEFsdG8gYSBEZXN0cmEgKHRyKSc7DQokbGFuZ1sncmVzaXppbmcnXSA9ICdSaWRpbWVuc2lvbmFtZW50byc7DQokbGFuZ1snc21hcnQnXSA9ICdJbnRlbGxpZ2VudGUnOw0KJGxhbmdbJ3N1Ym1pdCddID0gJ0ludmlhJzsNCiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE5MDk1MzY1MTYuMTM1ODE2NTIzMi4xMzU4MTY1MjMyLjEzNTgxNjUyMzIuMSc7DQokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzU4MTY1MjMyLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOw0KJGxhbmdbJ3FjYSddID0gJzEyMDk5MTcyNjYtMzY0NjQ2MzgtMzE2ODc4Nyc7DQokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7DQokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnTWVsbG9tbGFnZXIgdCZvc2xhc2g7bXQnOw0KJGxhbmdbJ2FkZF9yb3cnXSA9ICdMZWdnIHRpbCByYWQnOw0KJGxhbmdbJ2FsaWFzJ10gPSAnQWxpYXMnOw0KJGxhbmdbJ2FsaWFzZXMnXSA9ICdBbGlhc2VyJzsNCiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgJm9zbGFzaDtuc2tlciAmYXJpbmc7IGZqZXJuZSBBTExFIGZpbGVyIGZyYSBtZWxsb21sYWdlcmV0Pyc7DQokbGFuZ1snY2xlYXJfYWxsJ10gPSAnVCZvc2xhc2g7bSBhbGxlIGZpbGVyJzsNCiRsYW5nWydjbGVhcl9ub3cnXSA9ICdUJm9zbGFzaDttIG4mYXJpbmc7JzsNCiRsYW5nWydkZWxldGUnXSA9ICdTbGV0dCc7DQokbGFuZ1snZW1iZWRkaW5nJ10gPSAnSW5rbHVkZXJ0ZSBiaWxkZXInOw0KJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnSW5rbHVkZXJpbmdzbWV0b2RlJzsNCiRsYW5nWydlbWJlZF9zaXplbGltaXQnXSA9ICdJbmtsdWRlciBldHRlciBmaWxzdCZvc2xhc2g7cnJlbHNlIChrYiknOw0KJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnSW5rbHVkZXIgZmlsdHlwZXInOw0KJGxhbmdbJ2Vycm9yX2FsaWFzX2R1cGxpY2F0ZW5hbWVfYXRyb3cnXSA9ICdEdXBsaWNhdGUgYWxpYXMgbmFtZSBzcGVjaWZpZWQgZm9yIGFsaWFzIGF0IHJvdyAlZCc7DQokbGFuZ1snZXJyb3JfYWxpYXNfbm9uYW1lX2F0cm93J10gPSAnTm8gbmFtZSBzcGVjaWZpZWQgZm9yIGFsaWFzIGF0IHJvdyAlZCc7DQokbGFuZ1snZXJyb3JfYWxpYXNfbm9vcHRpb25zX2F0cm93J10gPSAnTm8gb3B0aW9ucyBzcGVjaWZpZWQgZm9yIGFsaWFzIGF0IHJvdyAlZCc7DQokbGFuZ1snZXJyb3JfaW52YWxpZF9hZ2UnXSA9ICdBZ2UgcHJlZmVyZW5jZSBpbnZhbGlkLi4uIE5vIG9wZXJhdGlvbiBwZXJmb3JtZWQnOw0KJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0EgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIGludmFsaWQ6ICVzJzsNCiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW0nXSA9ICdJbnZhbGlkIHBhcmFtZXRlciBpbiBjYWxsOiAlcyc7DQokbGFuZ1snZXJyb3Jfc3Jjbm90Zm91bmQnXSA9ICdDb3VsZCBub3QgZmluZCBhIGZpbGUgYXQ6ICVzJzsNCiRsYW5nWydlcnJvcl9yZW1vdGVmaWxlJ10gPSAnUHJvYmxlbSByZXRyaWV2aW5nIHJlbW90ZSBmaWxlIGF0ICVzJzsNCiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnU21hcnRJbWFnZSAtIFVua25vd24gRmlsdGVyOiAlcyc7DQokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBTbWFydCBJbWFnZSBUb29sa2l0JzsNCiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJlbHQnOw0KJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdheSB0byBwcm9jZXNzLCBhbmQgZGlzcGxheSBpbWFnZXMgb24geW91ciB3ZWIgcGFnZS4gIEl0IGFsbG93cyBzaW1wbGUgaW1hZ2UgcHJvY2Vzc2luZywgYW5kIHdhdGVybWFya2luZy4gIFRoaXMgbW9kdWxlIG1ha2VzIGRpc3BsYXlpbmcgcHJvY2Vzc2VkIGltYWdlcyBvbiB5b3VyIHdlYnNpdGUgdHJpdmlhbC4gIEl0IGFsc28gcHJvdmlkZXMgZmVhdHVyZXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UgcmF0aW5nIG9mIHlvdXIgd2Vic2l0ZSwgbWFraW5nIHlvdXIgd2Vic2l0ZSBwb3dlcmZ1bCBhbmQgZmFzdCBhdCB0aGUgc2FtZSB0aW1lLjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+UG93ZXJmdWwsIGJ1dCBzaW1wbGUgdG8gdXNlIGltYWdlIGZpbHRlcmluZyBhbmQgcHJvY2Vzc2luZy4gRmlsdGVyaW5nIGluY2x1ZGVzOg0KICA8dWw+DQogICAgPGxpPkJsdXI8L2xpPg0KICAgIDxsaT5CcmlnaHRuZXNzPC9saT4NCiAgICA8bGk+Q29sb3JpemU8L2xpPg0KICAgIDxsaT5Db250cmFzdDwvbGk+DQogICAgPGxpPkNyb3A8L2xpPg0KICAgIDxsaT48c3Ryb25nPkNyb3AgVG8gRml0PC9zdHJvbmc+PC9saT4NCiAgICA8bGk+RWRnZSBEZXRlY3Rpb248L2xpPg0KICAgIDxsaT5FbWJvc3M8L2xpPiANCiAgICA8bGk+R3JheXNjYWxlPC9saT4NCiAgICA8bGk+TWVhbiBSZW1vdmFsPC9saT4NCiAgICA8bGk+TmVnYXRlPC9saT4NCiAgICA8bGk+UGl4ZWxhdGU8L2xpPg0KICAgIDxsaT5SZXNpemU8L2xpPg0KICAgIDxsaT5Sb3RhdGU8L2xpPg0KICAgIDxsaT5TZWxpY3RpdmUgQmx1cjwvbGk+DQogICAgPGxpPlNtb290aDwvbGk+DQogICAgPGxpPldhdGVybWFyazwvbGk+DQogIDwvdWw+DQo8L2xpPjxici8+DQo8bGk+U21hcnQgZGV0ZWN0aW9uIG9mIGltYWdlcy4gIFNwZWNpZnkgYWJzb2x1dGUgVVJMUywgYWJzb2x1dGUgcGF0aHMsIG9yIGZpbGVzIHJlbGF0aXZlIHRvIHlvdXIgcm9vdCBpbnN0YWxsYXRpb24uPC9saT4NCjxsaT5BdXRvbWF0aWMgZG93bmxvYWRpbmcsIGNhY2hpbmcsIHByb2Nlc3NpbmcsIGFuZCByZS1jYWNoaW5nIG9mIGltYWdlcyBmcm9tIHJlbW90ZSB3ZWJzaXRlcy48L2xpPg0KPGxpPlNtYXJ0IGF1dG9tYXRpYyByZXNpemluZyAoYXV0b21hdGljYWxseSByZXNpemUgdG8gZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBzZXJ2aW5nIHRoZSBpbWFnZS4uLiByZXNpemluZyB0byB3aWR0aCBBTkQgaGVpZ2h0IGRvZXMgYSBjcm9wIHRvIGZpdC4gPGVtPihqdXN0IHNwZWNpZnkgYSB3aWR0aCwgYW5kL29yIGhlaWdodCBwYXJhbWV0ZXIgdG8gdGhlIFNtYXJ0SW1hZ2UgdGFnLik8L2VtPjwvbGk+DQo8bGk+QXV0b21hdGljYWxseSByZWFkcyBpbWFnZSBFWElGIGluZm9ybWF0aW9uIGFuZCBjb3JyZWN0cyB0aGUgb3JpZW50YXRpb24uPC9saT4NCjxsaT5JbWFnZSBjaGFuZ2UgZGV0ZWN0aW9uLCBpZiB0aGUgbWFzdGVyIGltYWdlIGlzIGNoYW5nZWQgc2NhbGVkIGltYWdlcyB3aWxsIGJlIHJlZ2VuZXJhdGVkLiAoc2VlIHRoZSBub3RpbWVjaGVjayBwYXJhbWV0ZXIgdG8gZGlzYWJsZSB0aGlzIGJlaGF2aW9yKS48L2xpPg0KPGxpPlNtYXJ0IGF0dHJpYnV0ZSBnZW5lcmF0aW9uIGZvciBpbWFnZXMuPC9saT4NCjxsaT5Qcm9jZXNzZWQgaW1hZ2VzIGFyZSBjYWNoZWQgb24gdGhlIHNlcnZlciBmb3IgZmFzdGVyIHNlcnZpbmcuPC9sST4NCjxsaT5UaGUgYWJpbGl0eSB0byB1c2UgYSBzZXBhcmF0ZSBVUkwgKENETikgZm9yIHNlcnZpbmcgaW1hZ2VzPC9saT4NCjxsaT5JbWFnZSBwcm9jZXNzZXMgY2FuIGJlIGNvbWJpbmVkLCBhbmQgYXJlIGV4ZWN1dGVkIGluIG9yZGVyLjwvbGk+DQo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8gdGhlIGNvbnRlbnQgb2YgdGhlIHdlYiBwYWdlIHRvIG1pbmltaXplIHNwYWNlLjwvbGk+DQo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gbGltaXQgZW1iZWRkaW5nIGltYWdlcyBzbWFydGx5LCBvbmx5IHRvIGJyb3dzZXJzIHRoYXQgYXJlIGNhcGFibGUgb2YgdW5kZXJzdGFuZGluZyB0aGVtLjwvbGk+DQo8bGk+Q29tYmluZSBjb21tb25seSB1c2VkIGFyZ3VtZW50cyBpbnRvIG5hbWVkIGFsaWFzZXMuPC9saT4NCjxsaT5BbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cyB2aWEgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnLjwvbGk+DQo8bGk+VGhlIGFiaWxpdHkgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBpbnNpZGUgYSBibG9jayBvZiBodG1sIGNvZGUgdXNpbmcgdGhlIHtzaV9jb252ZXJ0fSBibG9jayB0YWcuPC9saT4NCjxsaT5Nb3JlLi4uPC9saT4NCjwvdWw+DQo8aDM+V2h5IHNob3VsZCBJIHVzZSBpdD88L2gzPg0KPHA+VGhlcmUgYXJlIGZvdXIgdmVyeSBpbXBvcnRhbnQgcmVhc29ucyB0byB1c2UgdGhpcyBwbHVnaW46PC9wPg0KPHVsPg0KICA8bGk+UGVyZm9ybWFuY2U6ICBVc2luZyBpbWFnZSBlbWJlZGRpbmcgKGV2ZW4gaWYgbm8gb3RoZXIgZnVuY3Rpb25zIGFyZSB1c2VkKSByZXN1bHRzIGluIGZld2VyIHJlcXVlc3RzLiAgTW9zdCBicm93c2VycyBvbmx5IHBlcmZvcm0gdHdvIHRvIGZvdXIgc2ltdWx0YW5lb3VzIHJlcXVlc3RzIHRvIHRoZSBzYW1lIGRvbWFpbiBhdCB0aGUgc2FtZSB0aW1lLiAgRm9yIHdlYiBwYWdlcyB3aXRoIGxvdHMgb2YgaW1hZ2VzIHRoaXMgY2FuIHNlcmlvdXNseSBzbG93IGRvd24geW91ciBzaXRlLjwvbGk+DQogIDxsaT5QZXJmb3JtYW5jZTogIEV2ZW4gaWYgbm90IHVzaW5nIGVtYmVkZGluZywgc2VuZGluZyBsYXJnZSBpbWFnZXMgdG8geW91ciB2aXNpdG9ycywgYW5kIGFza2luZyB0aGVpciBicm93c2VyIHRvIHNjYWxlIHRoZSBpbWFnZSBpcyB2ZXJ5IHZlcnkgc2xvdy48L2xpPg0KICA8bGk+U2VjdXJpdHk6ICBTbWFydEltYWdlIGNhY2hlcyBpdHMgaW1hZ2VzIGluIGEgc2VwYXJhdGUgZGlyZWN0b3J5LCB0aGVyZWJ5IGhpZGluZyB0aGUgb3JpZ2luYWwgKHBlcmhhcHMgY29weXJpZ2h0ZWQpIGltYWdlcyBmcm9tIHlvdXIgdXNlcnMuICBJZiBlbWJlZGRpbmcgaXMgdXNlZCB0aGV5IGNhbnQgZXZlbiBmaW5kIHRoZSBjYWNoZWQgbG9jYXRpb24pPC9saT4NCiAgPGxpPlNpbXBsaWNpdHk6ICBUaGUgZmlsdGVyaW5nIGNhcGFiaWxpdGllcyBvZiBTbWFydEltYWdlIGFsbG93IHlvdSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGZvciBjb25zaXN0ZW50IGFuZCBzZWN1cmUgZGlzcGxheSwgd2l0aG91dCBzaXRlIGVkaXRvcnMgaGF2aW5nIHRvIHBsYXkgd2l0aCB0aGVtLiAgVGhleSBjYW4gdXBsb2FkIGxhcmdlciBpbWFnZXMsIGFuZCB5b3VyIHNpdGUgd2lsbCBqdXN0IGhhbmRsZSB0aGVtIHByb3Blcmx5LjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUge2ltYWdlfSB0YWcuICBJLmU6IFNvbWV0aGluZyBsaWtlIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTt9PC9jb2RlPi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4NCjxwPk9mdGVuIHBlb3BsZSB3YW50IHRvIGRpc3BsYXkgYSB3YXRlcm1hcmsgb24gdGhlIGltYWdlcyB0aGF0IHRoZXkgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQgdG8gcHJldmVudCBpbWFnZSB0aGVmdC4gIFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIHByb3ZpZGVzIHNldHRpbmdzIGZvciB5b3UgdG8gY29uZmlndXJlIHdhdGVybWFya2luZyBhbmQgeW91IGNhbiBlbmFibGUgdGhhdCB3aXRoIGFueSBpbWFnZSB3aXRoIGEgdGFnIGxpa2UgdGhpczogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTF9PC9jb2RlPi4gIFRoaXMgd2lsbCByZWFkIHRoZSBpbWFnZSwgYXBwbHkgdGhlIHdhdGVybWFyayBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIENHRXh0ZW5zaW9ucywgY2FjaGUgdGhlIGFsdGVyZWQgaW1hZ2UsIGFuZCB0aGVuIGVtYmVkIGl0IGludG8geW91ciBvdXRwdXQuPC9wPg0KPHA+QWxzbywgUGljdHVyZXMgdGFrZW4gYnkgbW9kZXJuIGRpZ2l0YWwgY2FtZXJhcyBhcmUgb2Z0ZW4gdG9vIGxhcmdlIGZvciB1c2Ugb24gYSB3ZWJzaXRlLCB0aGVyZWZvcmUgdGhleSBuZWVkIHRvIGJlIHNjYWxlZCBiZWZvcmUgZGlzcGxheWVkIG9uIHlvdXIgcGFnZS4gIFRoaXMgY2FuIGJlIGRvbmUgcXVpdGUgZWFzaWx5IHdpdGggYSB0YWcgbGlrZTogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTt3LDM1MCYjMDM5O308L2NvZGU+LiAgQXMgeW91IG1heSB0aGluaywgdGhlIHdhdGVybWFyayB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGltYWdlIGJlZm9yZSBpdCBpcyByZXNpemVkIHRvIGEgbWF4aW11bSB3aWR0aCBvZiAzMDAgcGl4ZWxzIChyZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIFRoZW4gdGhlIGFkanVzdGVkIGltYWdlIHdpbGwgYmUgY2FjaGVkLCBhbmQgaWYgdGhlIGJyb3dzZXIgYWxsb3dlcyB0aGUgaW1hZ2Ugd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBIVE1MIG91dHB1dC4gIElmIGVtYmVkZGluZyBpcyBub3QgcG9zc2libGUsIHRoZSBpbWcgdGFnIHdpbGwgY29udGFpbiB0aGUgVVJMIHRvIHRoZSBjYWNoZWQgaW1hZ2UuPC9wPg0KPHA+RnJvbSBoZXJlIHlvdSBjYW4gY29tYmluZSB0aGUgb3B0aW9ucyBiZWxvdyB0byBwZXJmb3JtIGFsb3Qgb2YgZGlmZmVyZW50IGVmZmVjdHMgdG8geW91ciBpbWFnZXMsIGJ1aWxkIHNpbXBsZSBnYWxsZXJpZXMsIGFuZCBpbXByb3ZlIHlvdXIgc2l0ZSBwZXJmb3JtYW5jZSBhdCB0aGUgc2FtZSB0aW1lLiAgRW5qb3khPC9wPg0KPGgzPkF1dG9tYXRpYyBpbWFnZSByZXNpemluZzwvaDM+DQogIDxwPklmIHlvdSBzcGVjaWZ5IGEgd2lkdGgsIGFuZC9vciBhIGhlaWdodCBwYXJhbWV0ZXIsIGFuZCBkbyBub3Qgc3BlY2lmeSB0aGUgJnF1b3Q7bm9hdXRvc2NhbGUmcXVvdDsgcGFyYW1ldGVyLCB0aGUgbW9kdWxlIHdpbGwgYW5hbHl6ZSB0aGUgZmlsdGVycyB5b3UgaGF2ZSBhbHJlYWR5IHNwZWNpZmllZCwgYW5kIGlmIHRoZXJlIGlzIG5vIHJlc2l6ZSBmaWx0ZXIgYWxyZWFkeSBzcGVjaWZpZWQgYXV0b21hdGljYWxseSBhZGQgYSBmaWx0ZXIgdG8gcmVzaXplIG9yIGNyb3B0b2ZpdCB0aGUgaW1hZ2Ugb24gb3V0cHV0LiAgVGhpcyBpcyB1c2VmdWwgdG8gZG8gYXV0b21hdGljIHRodW1ibmFpbGluZyBvbiB0aGUgc2VydmVyLCBhbmQgbm90IHJlcXVpcmUgdGhlIGJyb3dzZXIgdG8gcmVzaXplIHRoZSBpbWFnZS48L3A+DQogPGgzPkEgU2ltcGxlIEdhbGxlcnk8L2gzPg0KPHA+VGhlIGNvZGUgYmVsb3cgdXNlcyB0aGUge1NtYXJ0SW1hZ2V9IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxib20gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPg0KPHByZSBzdHlsZT0mcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDs+PGNvZGU+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDE6PC9zcGFuPiA8c2NyaXB0IHR5cGU9JnF1b3Q7dGV4dC9qYXZhc2NyaXB0JnF1b3Q7PntsaXRlcmFsfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDI6PC9zcGFuPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMzo8L3NwYW4+ICBqUXVlcnkoJiMwMzk7YS5mYW5jeWJveCYjMDM5OykuZmFuY3lib3goKTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA0Ojwvc3Bhbj4gfSk7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNTo8L3NwYW4+IHsvbGl0ZXJhbH08L3NjcmlwdD4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA2Ojwvc3Bhbj4ge2Fzc2lnbiB2YXI9JiMwMzk7ZmlsZXMmIzAzOTsgdmFsdWU9JiMwMzk7dXBsb2Fkcy9hbGJ1bS8qLmpwZyYjMDM5O3xnbG9ifQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA4Ojwvc3Bhbj4gPGRpdiBzdHlsZT0mcXVvdDt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPSYjMDM5O2ZpbGUmIzAzOTt9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMDo8L3NwYW4+ICA8YSByZWw9JiMwMzk7c2ltcGxlX2FsYnVtJiMwMzk7IGNsYXNzPSJmYW5jeWJveCIgaHJlZj0iPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7aCw1MDAmIzAzOTsgbm90YWc9MSBub2VtYmVkPTF9PC9zcGFuPiZxdW90Oz4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7aCwxNTAmIzAzOTt9PC9zcGFuPg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTI6PC9zcGFuPiAgPC9hPg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTM6PC9zcGFuPiB7L2ZvcmVhY2h9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xNDo8L3NwYW4+IDwvZGl2Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTU6PC9zcGFuPiB7L2lmfQ0KPC9jb2RlPjwvcHJlPjxici8+DQo8cD5MZXRzIHRhbGsgYWJvdXQgdGhpcy48L3A+DQo8cD5MaW5lcyAxIHRocm91Z2ggNSB1dGlsaXplIGpRdWVyeSB0byBjYWxsIGZhbmN5Ym94IG9uIGFueSBsaW5rcyB0aGF0IGhhdmUgdGhlICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGNsYXNzLiAgVGhlIGZhbmN5Ym94IGpRdWVyeSBwbHVnaW4gaXMgaW5jbHVkZWQgd2l0aCB0aGUgSlF1ZXJ5VG9vbHMgbW9kdWxlLjwvcD4NCjxwPkxpbmUgNiB1c2VzIGEgYnVpbHQgaW4gcGhwIGZ1bmN0aW9uIGNhbGxlZCBnbG9iLCBhbmQgc29tZSBzbWFydHkgbWFnaWMgdG8gZmluZCBhbGwgb2YgdGhlIEpQRyBmaWxlcyBpbiB0aGUgdXBsb2Fkcy9hbGJ1bSBkaXJlY3RvcnkgYmVsb3cgb3VyIGluc3RhbGxhdGlvbiByb290LjwvcD4NCjxwPkxpbmUgNyBpcyBhIHRlc3QgdG8gc2VlIGlmIGFueSBmaWxlcyB3ZXJlIGFjdHVhbGx5IGZvdW5kIGluIHRoZSBhc3NpZ24gbGluZSBzdGF0ZWQgYWJvdmUuICBUaGlzIGlmIHN0YXRlbWVudCBpcyBjbG9zZWQgb24gbGluZSAxNS48L3A+DQo8cD5MaW5lIDggb3BlbnMgdXAgYSBkaXYgdG8gY29udGFpbiBvdXIgYWxidW0uICBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZXhhbXBsZSB0aGUgc3R5bGVzIHdlcmUgaW5jbHVkZWQgaW5saW5lLCBob3dldmVyIGEgY2xhc3MgdGhhdCB3YXMgZGVmaW5lZCBpbiB0aGUgc3R5bGVzaGVldCBzaG91bGQgYmUgdXNlZCBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4gIFRoZSBjbG9zaW5nIHRhZyBmb3IgdGhpcyBkaXYgaXMgb24gbGluZSAxNCwganVzdCBiZWZvcmUgdGhlIDxjb2RlPnsvaWZ9PC9jb2RlPi48L3A+DQo8cD5MaW5lIDkgYmVnaW5zIGEgbG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgZmlsZXMgdGhhdCB3ZSBmb3VuZCBpbiB0aGUgZGlyZWN0b3J5LiAgVGhpcyBsb29wIGlzIGNsb3NlZCBvbiBsaW5lIDEzLjwvcD48YnIvPg0KPHA+TGluZXMgMTAgYW5kIDExIGFyZSB0aGUgcmVhbCBtYWdpYy4gIEhlcmUgd2UgY3JlYXRlIGEgbGluayB3aXRoIGNsYXNzICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGFuZCBhZGRzIHRoZSA8Y29kZT5yZWw8L2NvZGU+IGF0dHJpYnV0ZSBzbyB0aGF0IGZhbmN5Ym94IGtub3dzIHRoYXQgYWxsIG9mIHRoZXNlIGltYWdlcyBzaG91bGQgYmUgZ3JvdXBlZCB0b2dldGhlciBhcyBvbmUgYWxidW0gYW5kIGFsbG93IGNsaWNraW5nIGJldHdlZW4gdGhlIGltYWdlcy4gIFRoZW4gY29tZXMgdGhlIHBhcnQgd2hlcmUgd2UgZGVmaW5lIG91ciBpbWFnZXMuDQo8cD5XZSBzdXBwbHkgdGhlICRmaWxlIHZhcmlhYmxlIHRvIHRoZSBzcmMgYXJndW1lbnQgb2YgdGhlIDxjb2RlPntTbWFydEltYWdlfTwvY29kZT4gdGFnIHNvIHRoYXQgaXQgd2lsbCBnZXQgdGhlIG5hbWUgb2YgZWFjaCBtYXRjaGVkIGpwZWcgYXMgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuPC9wPg0KPHA+VGhlIGltYWdlcyBJIHdhcyB0ZXN0aW5nIHdpdGggd2VyZSB1cGxvYWRlZCBmcm9tIG15IGlwb2QsIGFuZCBhbGwgc2VlbWVkIHRvIGJlIHJvdGF0ZWQgOTAgZGVncmVlcyBjb3VudGVyIGNsb2NrZWlzLiAgU28gdGhlIGZpcnN0IGZpbHRlciBJIGFkZGVkIHdhcyB0byByb3RhdGUgdGhlIGltYWdlIDkwIGRlZ3JlZXMgY2xvY2t3aXNlIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3JvdGF0ZT05MDwvY29kZT4gYXJndW1lbnQuIFRoZSBpbWFnZXMgdGhlbiBuZWVkZWQgdG8gaGF2ZSB0aGUgd2F0ZXJtYXJrIG9uIHRoZW0gPGVtPih0aGlzIGlzIGp1c3QgZm9yIGV4YW1wbGUgcHVycG9zZXMsIEkgZG9udCB0aGluayBhbnlib2R5IHdvdWxkIHJlYWxseSBzdGVhbCB0aGUgYmx1cnJ5IHBpY3R1cmVzIGZyb20gbXkgaXBvZCBmb3IgY29tbWVyY2lhbCBwdXJwb3Nlcyk8L2VtPiwgc28gSSBhZGRlZCB0aGUgPGNvZGU+ZmlsdGVyX3dhdGVybWFyaz0xPC9jb2RlPiBwYXJhbWV0ZXIuICBBbmQgZmluYWxseSwgYmVjYXVzZSBldmVuIHRoZSBpcG9kIHRvdWNoIGNhbiB0YWtlIHBpY3R1cmVzIHRoYXQgYXJlIHRvbyBiaWcgdG8gZGlzcGxheSBvbiB0aGUgc2NyZWVuIEkgd2FudGVkIHRvIHJlc2l6ZSB0aGVtIHRvIGEgbWF4aW11bSBoZWlnaHQgb2YgNTAwIHBpeGVscy4gIFRoaXMgd2FzIGFjY29tcGxpc2hlZCB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+IGFyZ3VtZW50LiAgV2UgYWRkIHRoZSA8Y29kZT5ub2VtYmVkPTE8L2NvZGU+IGFyZ3VtZW50IGJlY2F1c2UgZmFuY3lib3ggZG9lcyBub3QgdW5kZXJzdGFuZCBob3cgdG8gZGlzcGxheSBlbWJlZGRlZCBpbWFnZXMgaW4gaXRzIHBvcHVwIHdpbmRvdy4gIFRoaXMgZGVmaW5lZCB0aGUgaW1hZ2UgdGhhdCB3ZSB3ZXJlIGdvaW5nIHRvIGxpbmsgdG8uPC9wPg0KPHA+TmV4dCB3ZSBuZWVkZWQgdG8gZGVmaW5lIHRoZSB0aHVtYm5haWwgaW1hZ2UgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gdXNlIGluIHRoZSBnYWxsZXJ5LiAgVGhpcyBjYWxsIHRvIDxjb2RlPntTbWFydEltYWdlfTwvY29kZT4gaXMgYWxtb3N0IGlkZW50aWNhbCB0byB0aGUgZmlyc3QgY2FsbCwgZXhjZXB0IHRoYXQgd2UgdXNlIGEgZGlmZmVyZW50IGhlaWdodCB2YWx1ZSAoMTUwIHBpeGVscykgZm9yIHRoZSB0aHVtYm5haWwsIGFuZCBmb3Iga2lja3MgSSBjb252ZXJ0ZWQgdGhlIHRodW1ibmFpbCB0byBncmF5c2NhbGUgPHN0cm9uZz5iZWZvcmU8L3N0cm9uZz4gYXBwbHlpbmcgdGhlIHdhdGVybWFyay4gIEkgYWxzbyByZW1vdmVkIHRoZSBub2VtYmVkPTEgYXJndW1lbnQgc28gdGhhdCB0aGUgc3lzdGVtIGNvdWxkIGVtYmVkIHRoZSBpbWFnZSBpbiB0aGUgSFRNTCBvdXRwdXQgaWYgdGhlIGJyb3dzZXIgc3VwcG9ydGVkIGl0LiAgVGhlIHNjcmVlbiBjYXB0dXJlIGJlbG93IHNob3dzIHRoZSBlZmZlY3QuPC9wPg0KPGltZyBzcmM9JnF1b3Q7ZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVlBQmdBQUQvMndCREFBZ0dCZ2NHQlFnSEJ3Y0pDUWdLREJRTkRBc0xEQmtTRXc4VUhSb2ZIaDBhSEJ3Z0pDNG5JQ0lzSXh3Y0tEY3BMREF4TkRRMEh5YzVQVGd5UEM0ek5ETC8yd0JEQVFrSkNRd0xEQmdORFJneUlSd2hNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpML3dBQVJDQUNoQWZBREFTSUFBaEVCQXhFQi84UUFIQUFBQVFRREFRQUFBQUFBQUFBQUFBQUFBQVFGQmdjQkFnTUkvOFFBVUJBQUFnRURBZ01FQndRR0J3UUlCUVVBQVFJREFBUVJCU0VHRWpFVFFWRmhCeFFpY1lHUnNTTXlvZEVWTTBKU2tzRVdKVFJpY25Qd0pGV0M0UmMyUTFOV2c2THhKalZFWTdKa2s3UEMwdi9FQUJnQkFRRUJBUUVBQUFBQUFBQUFBQUFBQUFBQkFnTUUvOFFBSXhFQkFRQUNBZ01BQWdJREFBQUFBQUFBQUFFQ0VTRXhBeEpCRXlJalFsRmhrZi9hQUF3REFRQUNFUU1SQUQ4QXRmVzlWdWJLNzAreHNrZzladnBHVlpMZ25zMENqSnlCdVQ0Q3RMdlZMblRMRlk5UXZOTWkxR1orV0RJY1J1TWdkTnpuZjZWMDRoazBYMWFLRFd3dll5TWVSbVZzS3c3K1pmdW56cUozTWwxSnd0SUhrdUpyTk5XZ1d5bXVBZTBlTG1IWE81R2VoTkJOTHJYTktzWkhqdXRRdDRYUndqSzc0SVlqT01lNGcxdEhyV2x5M3dzbzlRdG51V0dSRXNnSk8yZHZoVEZGREhKeEx4Z3p4cXg3R05RV1hPM1pIYjhCVFhERXFjSjhGdXNZVnhlUUhJWEIzNXMvT2dsYjhTNkpITzBNbXFXcVNxNWpaV2ZCRERZZytGYzU5U3VFNHRzZE9SazlXbnM1Wm05bkpMS1JqQjhLaTlycWVtVzJuOFNXZDJCSmNUMzF3RWdFUlpwYzdBREE4ZmxTcXppdU5MMW5oYzZoem93MDU3VnBDQ1FKU1JoU2U0MEVtbTEzU2JhOTlUbTFHMmp1TWdkbTBnQkJQY2ZBKytuQ3E0c2tnajBlNTBiVnRRZTF1WkpYV2UzTmlIZVFzMnpxMk10bklPZTZyQnRvUloyVVVEU3M2d3hoREkvVWhSakorVkEyWGV2SmE4UzJXa2xjaWRDWGsvY1kvY0h4NVcvQ2o5SlhQOUxwTk55bnF5NmY2d0J5NzgvUGpyNFk3cWl6eDZ2cSttYWxxVnJwMGJDN25GemJ6dGNjcm9zUjlnQk1iOUQzNzgxT1ZycU1WMXhkWmFpd1pJZFEwb0pFeFU0TW5NU1V6M0VZTkFzNGI0cHRkUjB5elcrdjdVYWxNR3pFQ0ZKUE1RQmp4d0J0VDdIZVcwMXhjVzhjeU5OYjQ3WkIxVEl5TS9DcTd0N2l6dWZSN0RvMGNiU2FzLzZxRVF0enE1Zkt2bkd3eHZuTlBkdmZ3Nkx4TnJhNmc3cTl6SEEwR0kyYnRpSStVOHVCdWM5MUJJUDA3cFF0bzdrNmhiaUdWR2RITFlES3B3eEh1SkFybWVKTkVXS0tRNnJhQkpTUWg3UWIvbDhhaDJnUmgyNE1FaUJnSTd0c01NNElKSU5MQmJ4Zm8zanI3RlAxMG1QWUhkSGtmanZRVGtISXlEa0dpa09pa25RZE9Kem4xV0xPZjhBcGRRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGUmx1RHJmbDVGbUVrWVVLb21WaVFBUDdyS1B3cVRVVlpkSlpzd2FOd3BiYVBmZXVMY1N5U0JaRVJPaUlybFNRQWNuOWdkU2FmNktLaWlqclJSUUZGSHdveDVVQ0RTOUxUU3hkaU9WNVBXYmw3bHVZQWNwYkdRTWQyMUw2TWVWR0Q0VUJrK05GR0Q0R2pCOERRRkZHRDRHczRQZ2FER1RSbXM0UGdheGcrQm9DaWlqNFVCUlI4S1BoUUZGR1BLakhsUUZGR0Q0R2pCOERRRkZHRDRHakI4RFFGRlp3ZkExakI4RFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVZUGdhUGhRRkZGR0NUakc5QVVWbmtiOTF2bFJ5dCs2M3lvTVVWbmxiOTF2bFJnK0IrVkJpaWpCOEt6eXQrNmZsUVlvckpVanFDUGVLQXJIb3BQd29NVVZubGI5MXZsUVZZZFZJK0ZCaWlzNFBnZmxRQVQwQlB1RkJpaXM4amZ1TjhqUnlQOEF1TjhxREZGWktzT3FrZThVY2pmdU44cURGRlo1Ry9jYjVVY2ovdU44alFZb3JQSTM3cmZLamxiOTF2bFFZb3JQSzM3cCtWQUJQUUUrNFVHS0t6eXQrNjN5ckZBVVVVVURicVRFU3g0Skd4NmUra1hPMzd6Zk9sbXFmclkvOEordE4rZDhVRzVrWWsrMDN6ckhPeC9hYjUxcG5ldFNhRGN5UG43emZNMXpaM3hzemZNMFpOYzNvTW1SL3dCOXY0alhNeVAvQU40L3pOWUpyVW56b01OSkorKzM4UnJpOGttLzJqL3hHdDJKcE8yMUJocDVmKzhmK0kxMzRSMUE2a1k3ajJoOXN5WUxFN0NrTHR2MXhYSGdlZG9XZ2p4ekNTK2tRa2RCMU5CTTd4MkYzSjdSd0NOcytWY0M3ZDdINTExdnY3Wko4UHBTVmo0MEc1ZHNmZmI1MGRvL2V6Zk90TTVyR2ZIclFiRjIvZWI1MW9aSHo5OXZtYXh6QUhIU3ViTUQzMEdXa2NmdHQvRWEwTXIvQUw3L0FNUnJSbTNyUW5GQnNaWk1nYzdmeEd1VHpTRDl0LzRqUVczcmk1b05YbWtBMmxmK0kwNmNNeU0rcXlndTdBUW5xU2YyaFRMS2RzMDY4S0hPclQvNVBYL2lGQTROSTJUN1I2bnZySGFzUDJtK2RJM3VWRHZueElybWJ0UjNpZ2NSTTNUbWI1MW50Vy9mYjUwMEhVWTFKSE91UjRtdWI2cW1OblgrSVVEMFozRFlMSEdPdWF3YnZsNnNmblVOMURpcTFzY21hZFZ4M2MxTTQ5SWVselNkbjZ5QWZOcUNmM2VzcmJxVHprbnVxUDNuRkZ3U1FraEh1cU5YWEVsczhxWm1UczMyRDgydzk5STVOUnNaRWtjWDBhaGNrc1BMejhhQ1FXK3U2cnFsekxhNmRJSlpvd0RKelB5ckdQTStQbDFwMWcvU2ZOT3Q1cTBrVFE0TGRpQUZIbWM1cXNMVGk2YmhKQjZ0SDYyOXlyT3N6ZXlEL2UvR21IVXVKZUlicTZhU1NTNVJnUVNlN0k2SHBRWHh4UnFWN29jVnJjV2NzenFVVm1TWWhsa0J4dnR2bWwzRkZ5N2VqdlVaMUxJL1pxUmdrRmZiVGJOZWZoeFZ4TnFOM0hjM2Q5ZTMwdzI3TmwyS2c1SGRqOEt0NXRSdk5VOUNtcTNWN0QyTndTUXlrNXhoMC9HZ3FtYTh1aHE4eWk5dVZSbEJHSm14dDhhYzlPdmJpTy9RdGUzUElSZzgwckhjL0dtSjVRK3AyNVljM1BFUnYxR0tjWW1DVHh0eUhQZmdaelFMZGV1cnY5Slcwa2Q1Y3NuWjQvWE1Od1Q0R3JEMEtHYTZ0cktkcHBzUEdySDJ6NGUrcTAxUW5sZ3dDQUdJcXp1Q3B1MDRldFhPK0U1Q2ViTzRQL09nbDh6eGlHT0ZwQ0M1NVZHKzV4bnI4S3I3aXkya2kwL1VwVXZycVA3Rjh4aVRBSldSUU1EcmpHYzc5Y1ZON216bnVSYnNzVGtKTXNnSUhVak9LWU9MOU5kcmFlTllwaFBMYnlvaUlvOXRoeWxWM0JQZWVtS0JyOURkeEpKZmFyYnp5U3lFd0NSUzdsc2R4RzU4NmV1STdDd3V0T251bkVndllMZGxpbEU3cmdEZm9Eang2aW1EMFZXOTNZNnpyRU1rYjI4NldXTVNqN2pjM2VLYk5WdCtKRnRuZTUxN3RvU3BMeHBiZ0Fqd3ozVURYcGRsZGF2cU1LRzR1Skk0b0pKR2dhNGRPMWJLcU1rSG9NNXA4czMvQUtObTRqdTdxNWdnZVJXUWM3U3RKN0lKVUU5d09mY01aOGFqZWdhdU5LMSswRnhJa2NFc1VxU083WUM0NVdCejhLYytPTFJMbzJlcTJjNGx0K1Rzbk1XNHh6WkRlZWM0K1ZCcHFYRmtwZGhienl4WUo1RldSdVlmSHAxOHFlL1NWZDNJOUhIQ2N5elRSeXlNcGNyS1FUOWoza0hlb0J5VzRraGNPNkJUek1yc0R5TjQ1eDVEM1ZPdlNTREo2Tk9EOGtra3BrbnIrcG9LcHViNitWVllYdDBOOS90My9PdTl0cVY3bFZON2NrZjU3L25TZlVFVDFJeUkyU2tuSytEME5iUjJGNHVuUjZpMXZKNm04blpyTVI3SllkUm54b0gyMTFiVTdRTzl0cVYxRTdxVmJsbEp5cDd0elRkYzM5NmNrWHQxelpIU2R0L3hvaWxIWURmcDFwSGRrTmJ0bkIzSFh1b0YxcmRhZ0M2UzNOMnUzUnBuMi9Hc1RYbDR1Q3Q3YytYMjdmblNmUVZTVzVaWldrN0lKelB5QUZnTWpwbnJXOThxTEk1aDUreTVqeWw4Wng1NG9POXRxTitqaHhlM0lLbktudFcyUGQzMUtSZFNYc1NYME54T2dmYVdOWlg1WTVSMVViOUQ5NGU4anVxRnBJQXVOcytkUFhEK3BSMkY4ZTNhUVdjdzVaa1h3N21IbXAzeDNqYnZvSmJhVDNNRFJTdGNURWcvdFNzZlB4cVZlbWEzdUg0U3NieTFtbFJ1MVJXYU55dlZXSTZlZGQ3UGh5RFZFaVRuVlpjWVlqOXZ3T2ZkaXM4Y3pUM0dnMi9EcldydGNDTkp1MVpoK3lTdUFQRWp2b0thNFU5ZkhGMmpjOTVjbFBYb1F5dE94eU9jZFJtdlV4Nm1xUTRXNFdnaDFxd2x1VW5XZU80UjFWbUM0SVlIY1kvblYzMEJSUlJRTldyZnJZdjhKK3ROMmFjZFcvV3hmNFQ5YWJHb01rNzFyellyREhHK0RURnhKeEhIb05vc2trTHVIeUF5NHdNVUQ0eml1WmtxcFg5Szk3SEovWjdSeDAzTENsTmg2VzRUSVYxR3pDb1RzMEJKSStCb0xOTGQ5YU14eDAycVBhZnhsb3VvUks2WHFLemZzTm5tSHdwYituTk56L2JJL2tmeW9IRW5hdUQwUTNVVjFFSllKQkloSkFJMjZWaVEwQ1Z6dmsrTkxPQTJIcXlzZWtsM0tVYjk0WjZqeXBqMTErVFRqdXdWcEVWc0hIc2xnQ0trdkRLQkpyZU5SaFZrT0I0YlVEM3FHMTVKOFBwU1VtbFYvd0QyeVQ0ZlNraG9OUWE1VFRpQ0o1Q0NRZ3pnZFRYVHY2VkZPTmRURnBwZ3RSS1kzdVR5bGhuT1BEYnhvR0RXUFNSUGIzVWkybHFCR3UzMjNYUGYwcEZINlZKU3ltU3lqNU0rMWc3NHFLWDF2RDJUTUgrWUpOTWtpb2lmZkdmZWFDN2RONDMwblU1WTRvM1pKSHprUHNGMjhha0N5TElvWkdEQTlDRFhtK0c0RWI1RXBVK0lxenVCZUpSTmJ6UjMxNkFzU2hZMU9mblFXRWE1T2F5a2lTSXJvUVZZQWdqdnJWK2xBbmtPMUx1REhlWGlPK0xPZVJJQWlwL3hESnBCSjBwWndSLzFqMUxiZnN4LytRb0VNOXkzYXZ2KzBmclhBenUzZlRoUGFxSlgvd0FSN3ZPdVl0b3oxejhxQ0JhKzUvUzhwNytWZnBVWTFqV1UwK0VxcEJtWVlVZUZUVGlDMlJkWWxBSFJGN3ZLcWcxNlpwTlRteWM0WWdlVkFpbnU1WjVHZVNRbGoxcmdKQ0QxM3BWWTZaUGZ2N0lLb09yR24rMzRidDBBN1RMSHpvSStsMFZYQlk4Z09TdFNmVGVLMnNiVTI1Z1dhMUE1bFZrQjVUNDBvVGh1eGRkNCt2aFcwM0NUVzFsTE5iUHpFRG1LTjRlRlp5eTlYYncrTDhtVjN4RERmVHlhbmMrc0ZFUlQ5MVJzQU8rbjIwamtFMGJYSEswSXh6S2k0SkhobnVxTHh5eUpjTUhYbHdTQ25jS21kdUJJcU1DTUVDdE9WNHZCMzFLZlJwOU1TTFM5TW10YnpJTHl5ejlvcFh2SExVdjBkSm45Q0dzSklVWnpPNEhLdktNYzBkUVJVd3dxZjJRNWZRcHJCSC9mc2Y4QTF4MFJWODJuOGlXMGpTeFFoSEdXZDlzSEdOeG1sQ3VPYmw1d1dVbko1ZWxLTlRUdHREbG54Z1JjcmJlUnh2U09FYy8zUWNBS1RnYkRPOUF0bmlnbGpMM0lrWlkvYlFJMk10NW51RlNyU3RZMUMzNGFnc3JCa3RtZWN6Q1NSTXF1RGpCSjNPZHNZMjYxcm8wT25hVGJSNmpxTUNYRFNZN08xSzh3T1AyaU84Ky9hcE54WGJhWHJsdnA1dGRTZ3RKb01Sc2dRcUZYT2NBQWJZOEtDVGFSTmZYSEFLYWhleE9OUWUzOXVNTmxjZzR5ZzdnUnZTVGpEU1UxT1FhZkVwU05jWjVDUUZCVTlRTzQ3L2hXcWNZNlRvOXREcGNWM0JJcVFCRkRCdGdQSUNtdldPSnJTNzdTUzF2U0hsVEplRkNyTmdiWlBkamY1MERiNk9yQ2JTK0lMcEdFZmFQRTZHRG13NFFPQ0dJNllQejM2VWwxeVdlN25sdG9OUG1rY2RvZ1ZjRGJmNmJVcTRIbnM5SnZudjcrK2lUMWlKb2l4SkxoMndjSGJ4Rk9TVGk5bXVvTk9qVml4ZkxKdThvemduSnh0M1lIa2FDdlhzN2JTOWNnVnJVM1YrRVBOSVAxTUFLQTR3UjdUZWZRZWRTMkd3VFZiTjlKRVUwYzE0V2o3Y3I3SUJJSU9ldUFQS25XeTRYMUxWTGp0Z3FReE1uTDJqbmJ3SXgzOUtlK0lORy9SSERkOWUyMTFLdHhCYnM2ZGtpb2VZRGJCRzQrdEJIcmIwTTI2eHFyNnBLYzlTSTg5L2NQblNEMHY2ZEhwZkJ2RCttMjVZeFcxeDJLRnVwQ3hFRE5NY043ZlJjczh1cDZqTTdMMG52WkdBK0dhZC9TZ3hsOUgzRERzU3hhUlNTU1NUOWw0OWFDQjJkL3BiK2l5LzBpNGRVMU9DY01pSDd6NWNFRmZoa2ZDbUtIVFk1TEtKMUpWbVVIeXB5MUtPSDlEdnlBaHlZeWM1eDFydHA5dVRZUW5HM0wzRHpvR1gxZTZqUXJnT3ZpSzB1VUJzOEdUN1ZqN1VaVWdyanZ6ME5XR25EVWMyak5jS3dFZ09mZUtoK3ByYnZadUJNbk1xY3d3TzRIZmVnNThNUnc1djhBdFdDLzdNZVRQZWVaYTIxYUlKWmlSVjJMNDYxdzBPNGhFVnlHbTVIYkM5TzcvUXBicTZ3TG9pTjJ2TS9iYmtIMmNZUGRqcjhhQnZuTnBjTmJlb3dTeHVVV04wYVR0REpKbnF1d3dQTGYzME9XdHlWbFVxd09HQkdDcEhpS0lqQkN0c3lTOGtvWVNsbEcrT3V4UFErRk9Fa1A2VXRaUFYrU1ptT1pKTWI4eDhjNzR4MU5CWm5vNTF1M2l0SWJHNHVJa2VNaDRPWTRPQ1NTdWZ4SHZOU3ZqZlU3SzN0YkxWWkFYZ0JNSkNZNXNuQkhYdTJhb2J3N2NhRmJXZHFzZWl5WFZ6Z0xKTk9WU05pTy9PYzRIdTN3S2xFV3JXdXN2ZDJOeHBObzhjWjVvdzZDUUU0MjNQdk9OdkhwUU1XaThjNkxOckZsWkxhWFlra21TTkNRbUF4SUF6djUxYTlSdlRZZEFUczQ0dExzNHJtSnRpYlpBU2ViQUtuSGppcEpRRkZGRkEwNnYrdGlIZHluNjAxbjQwNmF4K3RpL3dBSit0Tlo2VUdqbkJxck9MWTdqV1pidWRGa2tpajJSYzdJTmgrUFdyUWx4eU5ud3FOYWhESEZvVjAwYWNvZVBKK1lvS1B1OU5samNGbEk4YVF2QVEyTUdwbGZoUk1SanJUUFBHdk1kaG1nYUxkNWJhWkpFWW80NkVWWmtFUUdueFM5b09ZZ2JaeWZuVUVhMzdRcXdYWlR1ZTRWTE5KbmFhd1JTMmV6OW5HVGlwZStIWEgxbU51U3dPSE0vb1pQOHgvclRpNDg2YnVIQi9VeWY0Mit0T0xnRUhiOGFya1pkZlhtMHFVRFlCbE9mY3dxVWNONDlZaHpuUGEveXFOYStCK2hybnlYUHlxUjhOTVBXNFFSakQ1SG50UVBkL2oxdVhQWGI2VWthbGQvL2JKUGg5S1JtZzVucjVWRGVNb28zRWJsY3VycnY4RFV5WVZYL0hGM0phSzZrQWt5S3did0hLMjFCRk5RUlRHQVI1Vkg3cTNqTzRYcFdialdwWGN4dEltT25URkk1OVFJSURZMzZlWW9OVGJxVklWY2swODZIQjZuZGxSSm5uVGRmQTB6UVhoNXhJRndvNkhQZlRoWVR5eWFwRGdFZzdkZWdyUDExL1dZWGM1cTc3TCt3VzMrVXYwRmRHclN5SDlYMjMrVXYwRmRXclRrVFA1VXI0TDI0bjFJZDNZS2Z4RkpaQUFDS1hjSVFzbkUxN0pqMlh0aGcvOEFFS0IzdnJEdE9hV0pkeDFVZC9uVE0wWEtjZC9oVWxzN3VDOWphUzNjTUF4VStJTk1la290M2RYbmFuT1B1K1dTYUN1ZU1iZ1dsMWV6bmJzNFZJK1ZWQlpXajZ2cWJBa2hjODhqZkgrZFc1NlNvMVJ0VFJ0MkVDNDkrQlZlOE1RRkxPYVlETE8rQWZJZjZOQTdKSEZieGlLSlFxcjB4UVh5TnF5M0tvM085Y3k0QjJvZjZMYlpuN1JNYmJqZndwN2pua3VWVlpRdlVqUFhKcU9QcTY2ZEFVbWhQaXB5Q0NmRVZ6c3VKQUpFTEFoQWVwRlluN1hsNk05K1BIMWw3N2FjVGFGNnZJYnVKUFpjKzFpdGRLY3BHSTJPZVhkVFU0U08zMXpSeWdiWmw2K0JxTFh1aTNXblhNbG82OW5kUnR5RlQ0N1lQaGl0dk9VRFpzL09yQzBrYy9vYzFVWTVzelB0L3dBVWRRRThLY1gyMkd1TGJUeVd3QW8xQ0htT1NBTnViekZXTkJwZDlwZm9oMVcxdm9WaXVESVg1QklzZ3dXajcxSkhjYUNDUThoaW10NUVVOXRIZ2dBTnZqWUg2MGh0bFpKWmJkWWdvZFZEWklQVHd4N3V0S1lvcFNRdlo4MlJoZVhiRktMZlREYXBKUE93UjJURVNuUHROM1o4Z042QlhFNnJhTERkU2lPT004OGJPY2V6akpBOXczK0hqUzVicTI5Wm41V0gzeWMrTlIyU1AxaG1rdXVXZDJVcG45MWNZd005T3A2VkdwNzIrc0x5ZFlIVjRneDVlY2tIRkJLTlhlMmFhV1FaREJBK1Y3eG5jZktucUdkSklVYUloazVkNUNOaC93QSt0UXF3bU4xY29ibzg1WkdCQzlDUVFjVktrdlJ5aFVqUGdpS05nS0haVjJaRml4bTlsUk1DR0M1TGUyTno4S2VlSE5YV0RYSkNxS3dFTGN1VHQxRlJLNTFHVW9Va2JCOEFlbmlLN2FCTDJ1cTRQc2pzempiT2VtMVNiMjY1K3NrazdYVm8yb1BmQThpS3FxTmdvd0JUaHExZ2RTMGlhejluTXE4cExaeCtGTlhDL0l0bmtZQ2c0eWNDbjJXN2lqQUJkYzkyOVZ5VmpjZWk3VlpKUzYzMXJnbmNIbUpIdXlLUitsaXlleDRMNGZzbllNMEUzWnN3NkVpT3JNdTlVYUI0WUlpc2x4T3hXTmU0WTZzZklWWDNwa0RmMGQwcnRNT3d1bTVpQmpKN005MUJVOTR4ZlRtRFl4eXIwOGpVaTRYc2x1dE9qT2RsY2pyVVlaSkpyY3hSUnU3RWJLb3ozMUwrRjNGbnBCN1pzRVNPTUFGaDNkNDJvSmE1aGcwL2tZQUtWNUJzT3ZLYXFiVjQ0a3RabDdVb3doYktqSHRFNHF6N2kxbXV0TU53dk1zQ0ZaR2RsSUFVRGMvalZjYXZicEJGY3JMS3F5c3JEbEQrN0cxQWg0U3RvcGt2ekpHckZJd1Z5T2gzNlVwMTdtT2xxZ2ZtVHRWUElFRzNYSnoxUGZTZmhrekpZNm9ZT1R0REV2THpianZwTFBOcUNNVGRQRzhhN3NzYTlQT2l5YjRqakpwZ3VvcEpvcmh1YU1LRVJrKzhNZmhVaDRldHJTMnNwNUppVnlWT1hrd1cyNkZSMUh3cHIwL1ViWjVaVVNUSE5qT1RzY2Z1K1hTazZMS2w3Y3JMTUFXWUVNQjFIbDlLazIzNVBYaVluKzcxRlhpTU5zeXdGYzRrQTVXd1Q1ZFIxMnBIYWFyYzJxUlNpK20zTEtGU1U1akp3Q1YzMlBUZWtrYUpFSGFYTEJ6eS9mM0FIdTdxU3RhTUovc3lBR0dNL21hcm1tdkRXc1hNdkVHblF5WGJ1R3ZvbHl6RTVITnY4TW41bXZRWjYxNWY0V0NyeFhvS0F2bjF1RTRKKzk3WTM5MWVvRDFOQVVVVVVEVHJINjJML0NmclRVVFRyckg2MkwvQ2ZyVFV3eFFJdFJXV1N4bVdFa1NFYllHU2ZLcTc0azFTOEdreWhZMzVPendER2RodjMxWnJEUHhxQWNTMnl0cHQ3bHlpaFNjZkhwUVZhbDFjM0pmTE1lWEdTYVF5WGtwa0lHZWJwaW5xMENSMnM3a0FLMlZYSXdXSGpUVkhDcjNaYmZzd2NsZ003K0ZTM1RXR0Z6eW1NS0xlNW1paENsWFZuR2QraEhqVWk0YVNUMU9SMlBzRnVWYy9qVWQ1MWtrWmdOaWRzOXdxYldGdUxXeWloR2RodjcrcHBQOEFMWGt2T3BlSW5YRG4vd0FtVC9NZjYwNFBta0hEZy9xWlA4eC9yVGk0OHFybVFYbHVsMWJ5UVNaNUpGNVRqclNqZzcxdUhXT3d1NVZkUXk5azRHT2JZN2Urc1NZQXllZ3Jod2FicTkxNkcrbUNwQTI4VVliUEtOOEgzbWdtZCtNM2tudytsSXp2UzIrL3RrbncrbEltb09iYi9Pb1R4OUR6MjFzd3dDWDVTRDNqQnFiRVZFZU9vODZaYnlmdXpZUHV3YUNwRnRnTlV3UXJ1UGE2REFIaWFiZFVRUGVNVUdRVGdBZDFQZlp2RzA3ckh6RWtndG1tc3hHTjJubHljYkR2elV0MDZlUEQzeTE4Y1l3VUhZWktxUHZBNy9LbjdoNjE1cDViazlFWGtYMzB3UjU2NzVZbXBadzloZE9Za2pkenRTTTU1YnEyckVmMWZiZjVTZlFWMGF1ZGtmNnZ0dW42cGZvSzZ0VlpKMy9HbmJoVEg2VW1HUm5zZkgrOEthM0hmU3JoWUgrbHN1d1AreEhIL3dDNHRBeTIxek5ZM2tra0RsVHp0MzdIZXBEdzY2OGx3NTZ1eWo2bW9xazhVOGtqd3lwSXZPd0pRNTN5ZHFsR2dxRnRGa0IzTWh5UElEL25RVnA2VVU3VFVyeU1kOGEvSDJhcjIwdkd0dElpU0llMHpOMDk5V1Z4MnF6Y1N6Um43cGlYNlZBYm5UUFUxNVk4bFFTVkI4eFFORFg5ekhMOW8yYW1PaWFXZFNzM25La3FxOVBNOUtoaVdVdDFlckh1Y3RqSGNCVnRhRUlyUFRqQU1EbTJPS3psZmtlandZUzMyejZpcGJ3eUM1ZFhMc3FzY2MxU1BocVMwbWplM25UbjV3Unk4dmwxcDkxL2htMHVoMnNXRWw4UWRqVWR0Yks0MDZiazVjTWYybE5XVFRqbGx1N1NEaHZPbjMwbHNIWm9UbkN0M1ZOdlNQcHhoNGd0YnIyUkRxRnFGWjhmZGVNREh6QnFJNkxhWVl1NCswTzVKcTIrTjlPRjVZNlFlVUVSdVEyZTVTZ3lmd3FzdlBsdGJTcnhIUGJ5TXhJa1RjbnBsaFZvOENHTnZRdnFKbHlFOWFrSjVtNXUrUHZxRGFiRTF4eGs1a1BNUVVCSTc4SFkvR3B6d0RDMDNvWTFDTlRrdGR5QUVqempvR2g3cUlqRnRiRUgrL2tmZ0tqMnFQZFBlOW8wemN5a01DeE9QRHArRlNkZEtuNWo3Y1lIUW5QMHBCcVdnWEZ5ckxFRVk0M3pKZ252L2xRSWJDZEpRVmZsRGpmQk5NdXFXS1NyZHlTRlJ5Uyt3UDJqdjlQR25XWFNOUnNFOVlrV0lGUjFFZ3lQY08rbXFTVVNRM0FtTE5MMjR5NU81SlBTZ1RjeTJuWUFFdmx1VlNPbzV1LzhLMmdrbVVkcDJzMkZ4N1N2ME5Kcmt5SzVTS1BNdk1BaTQ2R2xjeFJVU0ZEbmxQTWR2R3MyL0hieDRjWE84YUtrbGFaUTdrbGlNYm1uamhzRWFxMkIxUWsvTVV4VzJleVZSNTcxSXVHVUg2U1k5QUl5YzU2N2l0T1Z1N3RZZHZxM3FrSUdTRlU3S1A1MXRIeEhidEFWTnZJOHhQMysxMjM4c1V4em4yU0NSanZ6dlNOVzVFWE9TT3V3eFJEN2U2bk5jM1ZyYzI4aXBjMno5cEVYUHNFOTRiRytEU24wZ2FsYXg4UGFMZmFwWXJjcTgzTThLUHRrcHZocWpzWE14VnM0SG4xcHk5SmFrY0dhQ3VkaElBYzkvd0JuUVFMVjlUMGk4UmpZMlUxdWtnT0FoQVpSNy84QWx2Uy9obWZrNFpXSU4rc3VabEJIVFpZelVYV1BKQXdRRDMrNnBIcDFyY3cyTnJieXlRV3FMTEk2dUY1bU9WWEpLbllqQThxQzRZTGVPNTRXU055TVBaWXg0K3ptcUcxYUx0M2FTYWFOVUtNVThTVGpwNWJWUGJhVzVsdHBZUk04aXhXdk1qdU1rWnlENWJrZUhTb0hKcDhqS1RKMmFzUU44N2swQ1hRWXpiMjJvZGxseWljcjdiRTc5UERGSlpyZWRyUnBwa051amphVTViT05zWUc1cCswcXdGckhER3JjL3JqQldJSFFjckhLL0d0TDdUNTdpWCswQ1FnWUhOMDIyK2xadDUwN1lZK3VQdjhBOFJpMGpqZ1o0b29tWWN4ekk0Qlp2Y2U0SHdGVFBoL2hHUGlwYmlkTHRyVXdGVXcwZWViSXpYSFQ5RGpCWjdpYm1ibTJFWitwcFRkTmM2ZHlKWVQzRVVUdVRJeVRGU2R0aHQ4NjA0bjVmUTR0eEd6dnJCU01kQUlUOGUrdVRlalcxdDlTdElCUExNMTB4aURsVGhRQm5tWWRNNUk3Nmo3YXpxRGpzenFWNGNlTTc0K3RkN1c5dllBWnZYYmxXeDkvdFd5UGQ0ZDlCTXJMMGFwcEd0YWZlUjNTVFNSM0ViSENsUnlnNXhqSnEwcW9MU05XdnB1SjlMRWw3ZFNLMTdDQ3BtWnR1WWRkK2xYNmV0QVVVVVVEVHE0KzJpL3duNjAxdDFOT21yL3JvdjhBQ2ZyVFBQTEhDcFp6amFnRHNEVUs0dWh4WWFpdlFOSGxjZjY4YTE0cTQ4WFNVRU5uR2ozTDlPWW5Dang4NmJmV2RRMWJnNXRUdnBBelRoeWdWUW9WUVFQcUNhQ0VYRnU3V3lvektNZ2ROc1UwWENQQ0JFR1hCd1RnWUk2N1ZLSGJzYmRwR0h0Z1pUSS8xbW94SnpHVjNicXh6V2U3dzd6K1BEYzdyTWVBeTVPQVNLblNYTUw3SktyZjhWUURPV0E3cTAxSkdVeFNnZTBSeWsxcHdYeHcyNE9pcHY4QTlvMzFwelk3bndxcnVDYjY4azBkVWptYjJISU8vanZVMWkxQzVRRHR2YVhvY2pjVUR1dzV0cTA0Q2NGTEVlQUkvRWl0SVprbTVYUTdWeDlIczNNYk5jN0NXUmZreG9KdGZIL2JaUGVQcFNRMHZ1SURMZXluY0tDTi9nS2E5U25GcWpjdEFrdnRTdHJDSjVKNU1LaWxteDRDcXgxbmpkdUk1RXNMUzA3S0lNWkRJN1pibEFJNmQzV3QrT3RVWVdKaERlMU9lWFBsMzFIdUdyVlRhWHVvTUR6UnNzU2p1T1FTZmo3TkIyRVpkWFhHZmRUQnFNaGE0TVNoVlJHSUFVWUJxVVRzbHBGSVFEMnBQTHlrZEI0Kzd6cU56NW5sSlVFNDhxejNYZkwrUENZenVrR1FxN1YyRTg4ZG5JWXBXUXJ2N0pyVDFhUjVNY3BIODZkLzBTMFZvNnY5NWtMSDVWcHdPL0MzR09wbVdPMG1uYVVjbnNjeDZZSFNwOWI2MUl3SGFwdGp1cW5PSDNGdHJkbXo3QVNCVzl4MnE0b0xSSkdaQjk1ZW5uUU9FZHdrNHloelR0d3Qvd0JaV2J1OVZQOEEvSXRRdUdkNEptR2NGV3dSVXg0UGxFMnRNNFAvQU5NZTcrK3RCQ05FMCtUUzdKNEplWHRPMmtadVh6WTFPZEt4SHA4RGQ1VmlmblVQdjc1TFIzWmxKek55NEhpVGlwWlpjeTZkSC9rRGJ6b0s5NHJrRW5FOHpaNkluMHFOWDR5ZHFmT0kyenhEYys1ZnBUVEtuTkltMmNrREhqVHBaTjNSdnRtaDArS1NhUU4ycmRHQTZEd3J0WjYxY3JhdTlxcXRJU0FzYkhsMm8xV1pJNHhBcWdqcUY4S1k0ZzhWMHJjMkIxNjlLeGp6ZHZSNXNyaEo0cGVrdnY4QVY1NTlOdHB1d2FLUU9WbFRQZGl0YkIxdmd2TVBiQnJsQmR6WEZ1ZTFaSkF1d0FyYUdhQzJaWjBYa2tEcUNtZXU5YmVaSWJlTHNtSGtLdGZpcUs2ZlJJbXRRR1pRQVJueEFIODZxNzJUR3NtZW83cXVLZTU3RFNubTVBNnhRaCtYdkpBRkJTeWNNM1dsY2ZHeldPUzRsaHNvSG1rUmRpeDVtUHlHQjhLZGVCN2x0SjlDdXBYSURGbzdxUmh5NVU3bU1menFSM3VwM1YzcU1sekZQTkFIeDdFY2h3TURGWjRpZVc0OUYrcm1WeTduQXkzK05LQ3RocitvYzdNc2l1dVRndW1lK3UwWEUyb0dWVktRRlNSemZaNHorTk1mT1c1Y1pCNVJuUGpXd2tBWUFqY0E5UEdna3R5V3VZNU9ac3VWYkF4MDJxRVNaamU2aW5XWExFaENpNUtzRGtaOTFUTExOR1cyeHlnK09ENFZIWms3YlVKakpua0VoTEVEenBicnRjY2ZhNmN3SGtUMWh4SGtjcDNYcWZIeU8xSjFzNDJZQTdIeHBYS1VlUUpFQ1VRWUI4YTVlSU9jMW1UNjYrVy8xblRlS0JJMXh6WndjbW43aDFrL1NUYjQreGI2aW1PTndVTzJNZUZPbWc1L1NMTGpPWWllbm1LMDRwUGQ5cGNRY3R1c2JOa2ZySEkyNys2dEFKQVBiNVNPbU91YTV1N0kvTHNBZTdPNjFsWlhWVUF3Um53M0ZCM2k1bzhCSTA4eVJuNFV1OUk0RGNGY1A1YkM4NEpQL2wwM3d1Q2dITDdaT2NIK1ZPbnBKVURnelE0eEhMSXhmQ3BHaFppZXo4UHpvS3RnUU5JTTdqOW1uYTNtN0Z3RkJkczVCYnVKMk8xSUxXMTFDV1JtT2wzTUtvTW5uWGZidnBYR1MwcHg3SURic2Vnb0hYU3A1NXI2Zm5seVJDTUJqdGpKNkNtNEdLS01IbTUyQysyN0hHUGRXbk42dmVtV0tSdVFRdXBKNzl0cWo5dHFETXFtNFVjb0d4eWNacVc2aldHSHRsby9UWFhxY1VNY01tU2h5R0kzR050dktteDd1UjMyY2s5ZGp0U1dTN2U1UGFIQXlCc0t4R3h5b09OajNmNjNxU2E3Yjh1VzdxZFJLZExWbmhCSkp5ZHFsbWw4TlFhOVkzSWxuYUlxNmdGUUQzWnFIV045SEJBRkl5M2o0Vk5PR2JxY1dWMUxKYnVzSGFKbHpzdWNiYjFweWJRK2kyS0tVVG05ZVdNbmNORmdIOGFYYWp3anAwdG42dkUxcmJ5TU1Cc01UMytkS2RFblhYZGN2YlNlUTlsYm9yUlcvTmdNRG5tWStQZDdxa0Z2cEVOdEt4TWs5d3p0a0xJMlF2dUhRVUZlNlR3T2x0cmxuY0RVMlpvTGxHS0MzSTV1VmdjWnowODZ0M3ZwTGJQaHdpUkJGT2Q4WVB1cFZRRkZGRkEzYW9BQXJrYmhTS2dlczNiaGl2TjdxbXV1ekNHTmM1eHlNZmxVQTF3TkhwazF5Y2V4SG5meDVjMEZROFFYUnVkWnVYVTdLZVZmaFZxM1ZpbHB3cEhwOFlWVEhhWUNIdUlPVDhTRFZWNk5aSFY5ZnRMVWdudDVSemVRemsvaFZ2NnV2cmRzWi9hV0x0RkxjdlhCVUEvSDJhTExxN1ZscTF3NmZZcjl4QjdKRk16UU04WVlZREh4TldmcUhCRnZjTVRGUEtoWE9jNHdmd3BKYWVqMHZNclRUc2tYTHVWSUpIbDBxU2FYUE81M2FCYWJwSnVadmIrNk4ySXJPdldhcnBrY3FBRERuNWRLdFN4NFNzQWhFVXM0UUl6ODJWeTJQaFRQcUhDVUUzRFhPc3N4SlNVNE9NWkI5MVZsR3ZSeEptYTh0aWZ2UmM2RHpCMy9BQXF4TG1JVGFQTGNSRDJvOEZzZVhmVlJjUFhMNlZybGxNakVCWmdHOXhPRFZ4c3kyTjZIVVp0TGs4a3Fub3BiYlB1M29HbTB1bWhkWkFUZ2taQXBad1RPTERYckxUcGM5cEpjU09oQTJaV3lSaitkTXR3aHRMNlcxeWZzNU9VZTdiODZjTkM3U2JqRGgyUmQxaHVtVmg0QmtQNVVGczNzcXhMbnY2L2hVVzFoak5KeUFaRElyWjk3RUQ2VTk2NjdMQ1dUN3kvekZNY014bGthVlJrQlZ4bm9QWjJ6N2lTYUNuT09uL3JXSzJCejJhNVBodjhBKzFQUEQxb2c0THQxY0FOTmZkcWMvdEFLeTFGK0paRGVjVFhmWjViTW5ab0QxMjIvR3JWdE5FdHA3VFM3VTg4Y0VMbFBZeG5iYnc4elVzMjFqbDYzYUR6ODEvQUdjRG1YS0FqdnhUSzJtM0NzUUV5ZkVWWXk4SzJ5WHQ5YkxOTUdqSmRlbmNkeDA4S1ZhYnduWTNGeDJuckU1aVplYkdSN08zdXBKcUpsbGNydXEvdGROVzJZU1NnR1FkRkcrUGZTbTRRaWFaY2RJZnFhbXR2d2hhU3Vaak5PVWxsRWNlQ09nNm5wV3ljSjJVK3JYeUdhNTVVangrejQrNnFpbmIrMk5ocVJBR0NPVng4Z2F0elRMc3phUlk2ckYxYU1DUWZoVmVjYVFpUFZWa2pCNUFnUUU5K052NVZKT0JOUUV1aFRXcmtuc1d4azlBRFFQR3RLa2Q0czBXT1NkQXc5L2ZVaDlIa3ZhYXRjZUhZYmZ4aW9qcU0yWUZpWnZhZ2tKSCtFL3dEdFVuOUhEWjFxY2Y4QTZYUC9BSzFvSW5yQkwzcXhnQWdPMGorSTlyQS9ITldFekNKSkY1bCs0dkt1Um5HS3I2NDVaZFR1RGtFOXVzWFR3YkordFQ3VVlZMEU4cklwZENRajQzQW9LcTF1VXZyZHd4UGdOdmRYQVhOc2xxNUxqdFVQTmpJQitGSXRkbVlYRjlNcFlGRjJLOWM5MVFHOHVuYWNlMFN5bmRzOWE1NWMzMWoxZUdYeFkvbCtwTGVHYVM2SlVrazc1OEtRZXJTdktBWlRrbWx1bjNJdXJkSmYyaXVHOTlFMFRCdzNOamV1a21ubXR0NXA2c05GREtNeVM4elk2TmpGYTZqcDcyZXBXa1FrWjBiR1N4enZtbkhTV2Jzd2M4M3g2VTRYVmtaSlV1RHZ5N2dHaUZrRTRXSlVKNkRIU3JkdXBzNkpPQm5sTnYzKzZxV3QzTFNFRVlPZmhWelRXTW1wYUplV1NTdEU4dHFVV1ZlcWtyMStsQkdFUU1lWUhhbFd1cnplalRWVkdNay8vd0IwcWgzNHU0bzBXL2EzdTdtVG1qT0NzZ3lweDc2dHZUTmNtNGs5QzJwM3NrYVJ5Q1JveUU2SGxaTi94b0s1bnlJSStUb3ZOek1XNkFIb0s0eHlySXdZREJCMkpwNHNiUlo0Z1NBeWtuSVllT0tjWTlHdDJJTFJLQU54c0JRY2JXVHRZSXozY3VNVTF6bG9wSnhrY3p5SHAxSS9sVXFpMCtHUG91QmpwamFrc3ZEbHROUEpPWlpnWEpZZ0VZK2xTemJlR2ZwdEZoa0RJMkhjSzJHQ0J0dlVsWGhxMnpneVRLZXU1SDRiVm4ramxwZy9hejQ5NC9LcXdpK01FbmJ3NlU2YUQ3Vit3NWlCMmJkQm53cDBIRGxwalBiem5IZGtiZmhYVzMwbUN3bU1rY2tqRWpCREVZSFR3SGpnVUc1NUE0NWVZZCtjWi8xLzcxb1h5cElVcTIrM1U0LzF2OGE2RUZpQUQ3UGVDRG5yMXJXUU1HSHM1eU01eDhmK1ZCMGljeG5DSGRqZ3VSemY2SFdwaHhISVR3bG96am1VRUxrRWYzTytvY2hVZlpsU001RzJ3UDhBck5TN2laLy9BSVMwUWdrOHdIeDlpZ2lxdXl1R0RrTU9oQjZlNm0rL3NCTXBraEFFZ3lTZ0dGZjNlQit0S1F4OW81RzJPdGI1NXdWQk80NjBFTXZKcFlPekV2TW1YNUdUdkFJTk1rMG5MQ2tBKzZBQ1NEbk5UL1VkSmcxT01KSjdFaWJDVlJ2N2o1VkZKdUc1TGVReHV6SEIyWlJzdzhSdFVzMjZZNStzc24wMnhIN01ZK2xLSWxQTm5POU8xdHcvSDJhOHp5YzNmdU1DbFEwSzNBL1d5K2VNVlhNeHZLeXBoVFQzb2Q5T3R0TWhua0tGMXloWTRPM2hYR2JTYlpHUldtbEhONWpOS2JXeWl0MUlXU1RsZmNsdCtnOHFCeml1QzA2TVhram1COW1XSitWMXo0RVZZT2o2M3JTd2t6MjBXb1JEN3JSbnNwY1lHQnkvZFBmdmtHcTZ0M0NNQ1FOL0w4S25PZzNiODI4bUF3SVV0K3h0M2U3TkJLZE40ZzAvVUpDcnFiUzVSZ2hodTFLT0dQUUxuWmlmSW1ucW1pM2xqTndTeXhTRm5HTVlQVHY5KzRwM29DaWlpZ2pYRTZzMHlnazhqVzVYSG56alA0RTFCZVA1MHN1R1RFbjNwVGdEZnFlcCtXMVQ3WDVndW9Xc0xxQWp4c1E1N2pucCtGVmg2VTVHUzIwNkJtOXBtTEVlQXdjRDhhQ08rajZ4TW11ZXRuWVFsVUhqek1jZlROV2V0c0gwYS9qUFZHVnZoazFGdlI1WU5IcDl0SXcvWHp0UDA2QlJ5ajhRYW4wVUlQcmNJR2UxalB6RkF4TFAydHJidStlU1pleGNqOWx4dHpEOEtjWGpOdncra1NqTWtqaEZQdnBxczFFMm4zbHN4OXFNOW9uOHhUdnBoOWZ0N1FuY3c3Tjd4MzBHVWo5V3RydEFRUkRiaVBJSHovR215ZjdIaEtOeDFkbUh6TlBWME9UVE5Sa3dSekRxZmVLYU5Wanh3bkFFL1lreWNVRkdhbkMxcnFWeEdkc09TTi9IY2ZXclNqdlRlNkhhTnpEN1dCZVZ6M1BqcDh4dDUxQXVMN1V4WHNOeUJ0TW1DZk5hVWNQMzVPaXZBellDU0hsYlBUdit0QklIdXZXcjJHWnZ2T015ZTlkajlLZmVEZ1R4TFl0dVY3YmJ5Mk5RL1RtOVl1cEMyd1FGdmlldjBxYzhGQUhXYlk0MjdZRWZJMEZnNm5neHpnNzdBZ2VKRy84QUtvN2I0T2t1NFQ3TW9XWWpibUdPbng2ZTRVdTRoMVNPMmtuUUVjeWpIeHdEVFBhWGd1dUZMNGh3STR3NGJHTnRzNDhzRDYwRlA4UHhtOTR2dHBKUGJBbU16ZTRaUDVWZFZuYjluWVdoSTNCN1Q0bXF6OUd0aUxuVWIyWTR5a0t4ai9qTytQbFZ2WEVZalVBREFBMjhxQmsxRnZVK0pVbTZKS01uekRWdFlONnBlWGxvTWUxOXozVm5pR012YTIxeUFlZGNLYTRNL05OYVhpQS9kQWVnZklMWVJtemgvY0djRHVwQllaZTgxTmgzaGdQaFQ1YmxaWm81Vjc5ODB5NlpHUmUzYUh2bGI4YUNxK0xiY1NhZEsrRHp4U0JzL0dtVGcvVVBWZFFudDJZY2swZTQ4eDBxWjY1YkNVWDF2Z0RtRGRmTEpxdE5NZnNOWGpCMjNLbWdtVjVkTTh6eGcrMlFGQjg4N1ZZUG8yQi9UdHp6ZGZWZ1AvV3RWYkxJRTFLM0xIYm1CNjFhWG8wZnRPSUx0dTR3RC84QU5hQ0thUXlYV3QydVJ0UGZGaVBITFkrZ0ZUbldyZ3hhWkt4NjRKTlY3d1BkTmZhL2J0S0FDczAyQVA3cGJCL0NwVnhQZG45RHUyY2N5RTBGT2E5Zjh0dEtBRHpzM0tDUFAvMnFHa2xqbnZOVERVTGVLOHRvd3hWVHo4em52SUdhUUxEWjI0NVlJQVcvZmZjbXBKSTNsbmNwSmZqbHBURzNzV2xMY3A1c2dIdnBjYmd5RUFucFRmZk1pUmNvVWMzZlN6VHJmdDlPUzRSQTU1aXJEd3hWWU9PbWFtMXJNVjV0bTYxTWwxTlhzaG45M0JIZlVCRVAybzVvZ1BoVXMwVnJVcWl2YklTVGptYndvRnRvMi9NVGtIcFY1NmZkeFFXRFRTTjdLcm5mM2IxVTZQbzZ3cW90b1J5amZyN1JyaHJQR00zNlA5VWdmQllZT080ZUZCSE9JMXRkVW11V2tRTXJTc3lud0dTYW1mQlZnMHZvUDFXMHQrZGo2ek1SanJzVVkvU3F3djcxbGp4a2ttcmo5RkE1L1JqY3F4MmU3bUJKOHdnb0lwcEVISnBzZHhNdkswamZaTGsrMHAzelRzcEFPdzdoanpOTXFTdW1vaXprbGFWSUNWUUU3QUtlNm44S3JCbXhoZXVlN0ZCajdveGdrMWhaY3Z5WUpBSFVHc3lSTUVMWndjWjVTSzU0T0RzYytZL25RZCtkdWlIYjUxZ0QyY1lQeEc5Y1VmQTJQWDRWMFZpd3pnc2UvQm9BbkdRVHk0emcvd0Fxd1RoQnZuSTZucjhxQ2ZjTWJjdGFBZ0U1eG5CNjBHZzVNOHpBZ1kvMFBsWE1vU2Z2Z0hicjE4ZnkrVmRPWDJsQUdXeWQ2NTh3NmtIM1lvTXZDYzh5akdNZkQ0Vkx1SUZZY0k2R0dQUHlxdk50OTc3T29oejl4YmJyNFZLZUo3NFdYQy9Ebk0vS2t6Q01oaDErei9DZ2l1T2JQTmpIY01kYTAvYXh5OHVlZzhhN3pRWTVuQkNnZlBGSitWU1ZJM3gzMEdWbEgzTnhrZUZkU0E4WmprQmRTY2p4WHpGQ0JNNE9DQjF3ZHpXSEFkUjNaeDMwQ0NlM2t0eGtNWGpKMmZvUGNmQ2tyU2tITE5uYW5qbEpVNVhLc044OUNLUlhlbmhVYWEzejJmN1M0eVZ3Ti9oUUpCY2NuS01BSHVyRE9uVWI0cE9NdHNwd001ei9BSzhxMkRjdlRIVE9TZW9IaFFMck8ya25rUVErMFRqWUg0Vk10STB5NGlnTFN6ckdDUUNyYm5IK2pVUXNwdXlRZ0E1eDF6MDM2L2hUc05UbDdQczRwZVZSbGNFOVR0UVdGYVdpSk5iczA2SDJnN0VJUmtnZ2Z6cVFWVk9oYXhkL3BMVG9lZGloa1VFNThXV3JXb0NpaWlnaDNGdDRMZlg5SVJzRlNHSUI4U2NmenF0dlN3Vy9TOWdHT2N3TTJNLzNxdSs2MHV4dmJpRzR1cldPYWFEOVU3amRQZFNMVU9GTkIxYVZKTlEwbTJ1WFJlVldrQkpBem5IV2dpbkIrbW0wMFcwUndjeFc2cjdzKzBmeGFubFhFVnpHY2Jad2FrVWRqYXhJRWpnUlZBQUFBOE5oV0RwOW1UazI2RTBGZGxUWTYyeUhaWE9EN2pTL1N2OEFZNzJXSTU1R0pJUHZxWVRhTnB0eElKSnJLSjNIUmlEbXRocFZnR0RDMGl5Ty9Cb0dQVkkvNmt2UDd3L25UWGNLSDRabUlYT0FHRlRWN08ya2lNVHdveUhxcDZHdVEwcXdGdWJjV2tmWWtZS1lPS0R6MXhkYnROcElsM1BaT0FBTzRZM3FPOE95ci90TnV4KzhPWWVmalhwbWJoSGg2NGlhS2JSN1Y0Mis4cEJ3ZnhwSkY2UGVFSUg1NHVIckZHeGpJVnZ6b0tHMDJabzd1NFFucnR2Vmk4RzVHdFdBQXlETGtuNEdwd3ZBdkNxdVhYUWJNTVRrbmxiODZjTFhRZEtzcFVrdHJDR0owT1ZaUWNqOGFDdGVNN2tyeFJmUUsyQTNKbGZFOG9vVVRXZkMrclFjbzdKckNWMmIvd0M2UVI5S3NlNjRjMGE5dkd2TG5UYmVXNFlnbVJnY2tnWUhmNUN0MzBIU3BMZVdCckNFeFNyeXlJUWNNUEE3MEZXZWlXMFBxdDlkc3YyWmtWUTNqeWcvL3dDaFZnUy9hbGhUcHAyaGFWcE5zMXZwOWhEYlFzM09VakJBSjhldmtLVStwVzJjOWdtYUNMVHhDYTJrdG16bkpLMDBhYUN5U1c3ZFVPd3FmbXd0R2ZtTnVoYnhya21rNmZISTBpV2tTdTNVZ0hlZ2FOTm01VUNNY1kyRkpMUk9UWExsY2RSelZKbDArMFE1VzNRSHJ0UU5QdEJPWmhicDJwR0MzZmlncUhYQ1l0VnVBd081WVZWR3JRdFphdElNRWUyR0ZlcXJqaHpScnFReVQ2YmJ5TzNWbUJ5ZnhwQmM4QThKWGtuYVhIRDlsSS9UTEtmem9QUEY1TVh1N1psQlBNUDVWYXZvbW1WOVp1VkxBeUMzR1I0ZTJ0VFJlQk9GVlpHWFFiSUdQN3A1VHQrTkxkTTRjMGJScnVTNzAzVFlMVzRsWGxlU01FRmhuT092aUFhRHo5NlBiaTRYaTJWQ1Y3T0ZMbCttNDNQNTA5Y2RhOURhV3h0WTJWcGlDR1VmczlLdDJ6NEs0YTArNGU0dE5GdElabkJET2luSkI2OS9mWEs1NEI0VHZKV2t1ZEFzcFhZNUxNR0pKK2RCNVplUnpHTW5kcXd1VXl4SFFaK05lb3YrampnMy93QU4ySDhMZm5RZlJ6d2FRUWVITERCNit5MzUwSGtxVm5sYmNlK3BSdzRPejA0RGxQdFpQNDE2Sy82TStDZi9BQXpwL3dEQzM1MHBoNEM0VHQwQ1JhQlpJbzZBSzM1MEhucVMzOXJPRFdVa2xqR0ZHSzlEbmduaGc5ZERzLzRUK2RZL29Od3YvdUt6L2hQNTBIbnMzRWlqZGpTTjNZKzFrNTg2OUhuZ1RoVnV1ZzJSL3dDRnZ6clU4QThKbnJ3L1pmd3QrZEI1Y3VuYVdjK1cxWG42Tm1OdjZKN2h5TjF2SE8vK0tPcFovd0JIUEIyYy93QkhMRCtGdnpwM3M5QzB1dzAxdE90TENHR3paaXpRb0R5a25HL1h5SHlvS1UxRlJhY1lYS3YvQU5wS1dCQTJ3M2hUMUUzTW94MFhZWjZiSEg4cXNxNDRXMEs2bjdlZlNyYVNYQUhPd09jWno0MTBUaDdSNDE1VjA2QUw0WVBqbnhvS3psWXlBbkIySCtzMXdMZFhaV3o0bllrZVlxMDI0ZDBadXVtd0g0SDg2eC9SelJzNS9Sc0djWTZIODZDcWxaems1T0QzNDd2QVYzTGxjOHJ0a2V5RGpiMzFaMzlHOUYvM2JCOGorZEI0YjBVOWROdCttT2gvT2dxNW1IUTVKMjJ6OHEySkM3Z0VuenEwRHc1b3hJSjAyM3lOODRQNTFnY09hTUJnYWJCajNIODZDcjJBeG5CeWZEcFdrbnQ1N2dSdWZDclRIRGVpZ0FEVGJmQTZiSDg2RHczb3BPVHB0djhBSS9uUVZObGlTQzJjSE9NZUZPdnBIQkhBWERSenVycWMvd0RsMVlaNGEwUW5KMHkzejdqK2RkYjdRdEsxS3poczcyd2hudDRmMVViZzRUYkcyL2hRVXpwZXBIVkxOZVlZbGp4ekFEcU9sS0VHSDhqNFZhZHR3Znc3WnNXdHRIdFlpMnhLZzcvalhYK2pHaDR4K2k3Zkh1UDUwRlU1NUdLZ01UMUlIZFc0SktoZ25UcHRqTlduL1JqUS93RGRkdjhBSS9uVzM5RzlHLzNiYi9JL25RVmVvVlBhYjJsR0JnLzY2VmlNeXhvV2tJREJpVlpEMVhQczlmeHEwdjZPYU4vdTIzK1IvT3NIaHpSajEwMjMrUi9PZ3FXNTB0TGxUTGJCSTVXenpSam8zbUQzZTZtWXhNam5uUmdWUHRCdGlNVmVuOUhkSDIvcTIzMjhqK2RhUzhNYUhPL1BMcGRzN1l4a2c1K3RCU3FLcEFCQkk2REI3alhSblorWG1CR0NENCtOWEgvUlBoLy9BSFJhL3dBSi9PZzhKNkFldWtXdnlQNTBGVjZOTXo2NXBpZ3RuMW1NSHcrK0t1MDlhYUllRjlDZ21qbWkwdTNTU05nNk1BY2dqb2V0TzlBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFmLy9aJnF1b3Q7IGFsdD0mcXVvdDtZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMsIHNvcnJ5JnF1b3Q7Lz4NCjxoMz5TdHlsZXNoZWV0czo8L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMsIGlmIHVzaW5nIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuICBCZWNhdXNlIHRoZSBzbWFydHkgc3ludGF4IGlzIHNsaWdodGx5IGRpZmZlcmVudCBpbnNpZGUgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIHlvdSB1dGlsaXplIHRoZSBtb2R1bGUgdXNpbmcgdGhlIFtbIGFuZCBdXSBkZWxpbWl0ZXJzLiAgaS5lOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+ZGl2LmhlYWRlciB7IGJhY2tncm91bmQ6IHVybChbW1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvcGljdHVyZS5qcGcmIzAzOTsgbm90YWc9MV1dKTsgfTwvY29kZT48L3A+DQo8cD5CZWNhdXNlIHN0eWxlc2hlZXRzIGFyZSBnZW5lcmF0ZWQgb24gbW9kaWZpY2F0aW9uIGFuZCBzdG9yZWQgaW4gdGhlIGZpbGVzeXN0ZW0gdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVybWluZSBkdXJpbmcgdGhlIHJlcXVlc3Qgd2hpY2ggYnJvd3NlciBpcyByZXF1ZXN0aW5nIHRoZSBzdHlsZXNoZWV0LCB0aGVyZWZvcmUgZW1iZWRkaW5nIHdpbGwgYmUgZG9uZSBzdHJpY3RseSBiYXNlZCB1cG9uIHRoZSBwcmVzZW5zZSBvZiB0aGUgbm9lbWJlZCBwYXJhbWV0ZXIuICBJZiB5b3UgaGF2ZSBjaG9zZW4gdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8geW91ciBzdHlsZXNoZWV0cywgWW91IG1heSBuZWVkIHRvIGFkZCBhZGRpdGlvbmFsIHN0eWxlc2hlZXQgc3VwcG9ydCBmb3IgdGhlIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgZW1iZWRkZWQgaW1hZ2VzLiAgaS5lOiAgSUU2LjwvcD4NCjxoMz5BdXRvbWF0aWMgUHJvY2Vzc2luZzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpbmNsdWRlcyBhIHNtYXJ0eSBibG9jayB0YWcgY2FsbGVkIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57c2lfY29udmVydH08L2NvZGU+IHRoYXQgY2FuIHN1cnJvdW5kIGEgYmxvY2sgb2YgaHRtbCwgb3Igb3RoZXIgc21hcnR5IHRhZ3MgdG8gYWxsb3cgYXV0b21hdGljIGltYWdlIHByb2Nlc3NpbmcuICBUaGlzIHRhZyBjYW4gYmUgdXNlZCBsaWtlOiAoZm9yIGV4YW1wbGUpOjwvcD4NCjxwcmU+PGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntzaV9jb252ZXJ0fXtjb250ZW50fXsvc2lfY29udmVydH08L2NvZGU+PC9wcmU+DQo8cD5UaGlzIHdpbGwgYWxsb3cgeW91ciB1c2VycyB0byBpbmNsdWRlIGltYWdlcyBpbnRvIHBhZ2VzIHVzaW5nIHRoZSBub3JtYWwgd3lzaXd5ZyB0b29scywgYW5kIHRvIGhhdmUgdGhlbSBhdXRvbWF0aWNhbGx5IHByb2Nlc3NlZCBhbmQgZW1iZWRkZWQgaW50byB0aGUgcGFnZSB1c2luZyB0aGUgbWFnaWMgb2Yge1NtYXJ0SW1hZ2V9LiBpLmU6IFNlZSB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e3NpX2NvbnZlcnQgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MX17Y29udGVudH17L3NpX2NvbnZlcnR9PC9jb2RlPjwvcHJlPg0KPHA+VGhlIGFib3ZlIGNvZGUgd2lsbCBjYXB0dXJlIGFsbCBpbWFnZSB0YWdzLCBhbmQgY29udmVydCB0aGVtIHRvIGdyYXlzY2FsZSBhbmQgdGhlbiBhcHBseSB0aGUgd2F0ZXJtYXJrIChhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIHRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlKS4gIEFsbCBvZiB0aGUgcGFyZXRlcnMgYXZhaWxhYmxlIHRvIHRoZSA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgYXJlIGF2YWlsYWJsZSB0byB0aGlzIHRhZyAoZm9yIGltYWdlIHNjYWxpbmcgZXRjLikuICBBZGRpdGlvbmFsbHksIHR3byBuZXcgcGFyYW1ldGVycyBoYXZlIGJlZW4gaW50cm9kdWNlZDogPHN0cm9uZz5tYXhfd2lkdGg8L3N0cm9uZz4gYW5kIDxzdHJvbmc+bWF4X2hlaWdodDwvc3Ryb25nPiB3aGljaCBjYW4gYmUgdXNlZCB0byBzZXQgYSBtYXhpbXVtIHNpemUgZm9yIGltYWdlcy4uPC9wPg0KPGRpdiBzdHlsZT0mcXVvdDttYXJnaW4tbGVmdDogM2VtOyZxdW90Oz48c3Ryb25nIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7Pk5vdGU6PC9zdHJvbmc+DQo8cD5UaGlzIHRhZyBwYXJzZXMgdGhlIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIHRhZ3MgdG8gZmluZCB0aGUgPGltZz4gdGFncy4gIEl0IHRoZW4gd2lsbCBvdXRwdXQgc3ludGFjdGljYWxseSB2YWxpZCBIVE1MIGZvciB0aGUgc3Vic2V0IG9mIGNvZGUgaXQgd2FzIHByb3ZpZGVkLiAgVGhlcmVmb3JlIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBzbmlwcGV0IG9mIEhUTUwgcGFzc2VkIHRvIHRoaXMgdGFnIGJlIGludGFjdCBhbmQgYXMgY2xvc2UgdG8gdmFsaWQgYXMgcG9zc2libGUuICA8c3Ryb25nPlVzZSB3aXRoIGNhdXRpb24uPC9zdHJvbmc+DQo8L2Rpdj4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5UaGlzIG1vZHVsZSBtYWtlcyBldnRlbnNpdmUgdXNlIG9mIHRoZSBHRCBJbWFnZSBwcm9jZXNzaW5nIGxpYnJhcnkgdG8gZG8gaW1hZ2UgbWFuaXB1bGF0aW9uLiAgQWRkaXRpb25hbGx5LCB0aGUge3NpX2NvbnZlcnR9IHBsdWdpbiBtYWtlcyBleHRlbnNpdmUgdXNlIG9mIHRoZSBzaW1wbGV4bWwgYW5kIFhNTERvbSBjbGFzc2VzIGJ1aWx0IGluIHRvIHBocC4gIFRoZXJlIG1heSBiZSBvdGhlciBhZGRpdGlvbmFsIHJlcXVpcmVtZW50cy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGVycm9ycyB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IGVycm9yIHJlcG9ydGluZyBpcyBlbmFibGVkLCBhbmQgdGhhdCB5b3UgaGF2ZSBhbmFseXplZCB5b3VyIGVycm9yIGxvZ3MuPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOw0KJGxhbmdbJ2luZm9fYWxpYXNlcyddID0gJ0FsaWFlcyBjYW4gYmUgdXNlZCB2aWEgdGhlIGFsaWFzMSB0aHJvdWdoIGFsaWFzNSBvcHRpb25zIG9uIHRoZSBTbWFydEltYWdlIHRhZyB0byBjb21iaW5lIG51bWVyb3VzIGZyZXF1ZW50bHkgdXNlZCBvcHRpb25zJzsNCiRsYW5nWydpbmZvX2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1NwZWNpZnkgdGhlIGRlZmF1bHQgbG9jYXRpb24gZnJvbSB3aGljaCB0byAmcXVvdDtjcm9wIHRvIGZpdCZxdW90OyB0aGlzIHdpbGwgZWZmZWN0IGFsbCBjcm9wIHRvIGZpdCBvcGVyYXRpb25zIHVubGVzcyB0aGUgbG9jYXRpb24gcGFyYW1ldGVyIG9uIHRoZSBmaWx0ZXJfY3JvcHRvZml0IGF0dHJpYnV0ZSBvdmVycmlkZXMgaXQuICBEZWZhdWx0IGxvY2F0aW9uIGlzICZxdW90O2NlbnRlciZxdW90Oyc7DQokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnRG9lcyB0aGUgVVJMIGFib3ZlIGFjb3VudCBmb3IgdGhlIGNhY2hlIGRpcmVjdG9yeSAoX1NtYXJ0SW1hZ2UpJzsNCiRsYW5nWydpbWFnZV91cmxfcHJlZml4J10gPSAnSW1hZ2UgVXJsIFByZWZpeCc7DQokbGFuZ1snaW5mb19jYWNoZV9hZ2UnXSA9ICdTcGVjaWZ5IHRoZSBtYXhpbXVtIGFnZSBvZiBhIGZpbGUgKGluIGRheXMpIGJlZm9yZSBpdCB3aWxsIGJlIHJlbW92ZWQgYW5kIGZvcmNlZCB0byByZWdlbmVyYXRlLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91IGhhdmUgY2hhbmdlZCBzb21lIG9mIHRoZSBwYXJhbWV0ZXJzIHVzZWQgd2hlbiBnZW5lcmF0aW5nIGltYWdlcywgb3IgdG8gY29udHJvbCB0aGUgYW1vdW50IG9mIGRpc2sgc3BhY2UgdXNlZC4gIEVudGVyaW5nIDAgd2lsbCBkaXNhYmxlIGF1dG9tYXRpYyBmaWxlIGRlbGV0aW9uJzsNCiRsYW5nWydpbmZvX2VtYmVkX21vZGUnXSA9ICdUaGlzIHNlbGVjdGlvbiBkZXRlcm1pbmVzIGhvdyB0aGUge3NtYXJ0aW1nfSB0YWcgd2lsbCBnZW5lcmF0ZSBvdXRwdXQuICBJZiAmcXVvdDtub25lJnF1b3Q7IGlzIHNlbGVjdGVkIG5vIGltYWdlIGVtYmVkZGluZyB3aWxsIGJlIHBlcmZvcm1lZC4gIElmICZxdW90O3NtYXJ0JnF1b3Q7IGlzIHNlbGVjdGVkIHRoZW4gdGhlIHN5c3RlbSB3aWxsIGRlY2lkZSBiYXNlZCBvbiB0aGUgaW1hZ2Ugc2l6ZSwgdHlwZSwgYW5kIHRoZSBicm93c2VyIHRoYXQgaXMgcmVxdWVzdGluZyB0aGUgaW1hZ2UuICBPdGhlciBvcHRpb25zIGluY2x1ZGUgYWx3YXlzIGVtYmVkZGluZyBiYXNlZCBvbiB0aGUgaW1hZ2Ugc2l6ZSwgb3IgdGhlIGltYWdlIHR5cGUuJzsNCiRsYW5nWydpbmZvX2VtYmVkX3NpemVsaW1pdCddID0gJ0lmIHRoZSBlbWJlZGRpbmcgb3B0aW9uIGlzIGRldGVybWllZCBieSB0aGUgaW1hZ2Ugc2l6ZSwgc3BlY2lmeSB0aGUgbWF4aW11bSBzaXplIChpbiBraWxvYnl0ZXMpIGZvciBpbWFnZXMgdG8gYmUgZW1iZWRkZWQgKDMyIGlzIHJlY29tbWVuZGVkKS4nOw0KJGxhbmdbJ2luZm9fZW1iZWRfdHlwZXMnXSA9ICdJZiB0aGUgZW1iZWRkaW5nIG9wdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBpbWFnZSB0eXBlLCBzcGVjaWZ5IHRoZSBleHRlbnNpb25zIG9mIHRoZSBmaWxlcyB0aGF0IHNob3VsZCBiZSBlbWJlZGRlZCBoZXJlIHNlcGFyYXRlZCBieSBjb21tYXMuICBUaGlzIG9wdGlvbiBpcyBub3QgY2FzZSBzZW5zaXRpdmUnOw0KJGxhbmdbJ2luZm9faW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnSWYgeW91ciBDRE4gaXMgcG9pbnRpbmcgZGlyZWN0bHkgYXQgdGhlIGltYWdlIGNhY2hlIGRpcmVjdG9yeSB0aGVuIHlvdSBtYXkgd2FudCB0byB0dXJuIHRoaXMgb3B0aW9uIG9uLic7DQokbGFuZ1snaW5mb19pbWFnZV91cmxfcHJlZml4J10gPSAnU3BlY2lmeSB0aGUgVVJMIHRvIHByZWZpeCB0byBhbGwgZ2VuZXJhdGVkIGltYWdlcy4gIEJ5IGRlZmF1bHQgdGhpcyBpcyB0aGUgdXBsb2FkcyBVUkwsIGhvd2V2ZXIgaWYgeW91IGhhdmUgeW91ciBvd24gQ0ROIChvciBtdWx0aXBsZSBkb21haW5zIHBvaW50aW5nIGF0IHRoZSBzYW1lIGRpcmVjdG9yeSkgWW91IG1heSB3YW50IHRvIHNwZWNpZnkgYSBkaWZmZXJlbnQgbmFtZSBoZXJlJzsNCiRsYW5nWydtYXhfY2FjaGVfYWdlJ10gPSAnQW50YWxsIGRhZ2VyICZhcmluZzsgbWVsbG9tbGFncmUgZmlsZXInOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBzbWFydCBpbWFnZSB0YWcgZ2VuZXJhdGlvbiBtb2R1bGUgZm9yIENNU01TJzsNCiRsYW5nWydtc2dfYWxpYXNlc191cGRhdGVkJ10gPSAnQWxpYXNlciBvcHBkYXRlcnQnOw0KJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdNZWxsb21sYWdlciB0Jm9zbGFzaDttdC4gJWQgZmlsZXIgZmplcm5ldCc7DQokbGFuZ1snbXNnX2NhY2hlcmVtb3ZlZCddID0gJ01lbGxvbWxhZ2VyIGZqZXJuZXQnOw0KJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdJbm5zdGlsbGluZ2VuZSBvcHBkYXRlcnQnOw0KJGxhbmdbJ25vbmUnXSA9ICdJbmdlbic7DQokbGFuZ1snb3B0aW9ucyddID0gJ1ZhbGcnOw0KJGxhbmdbJ3BhcmFtX2FsaWFzJ10gPSAnVGhlIFNtYXJ0SW1hZ2UgYWRtaW4gcGFuZWwgYWxsb3dzIGNyZWF0aW5nIG51bWVyb3VzIGNvbW1hbmQgYWxpYXMgdG8gY29tYmluZSBhIGZyZXF1ZW50bHkgdXNlZCBwYXR0ZXJuIG9mIGFyZ3VtZW50cyBpbnRvIG9uZSBuYW1lLiAgVG8gdXNlIHRoZXNlIGFsaWFzZXMgdXNlIGFuIGFyZ3VtZW50IG9mIHRoZSBmb3JtIGFsaWFzIyM9YWxpYXNfbmFtZSBpLmU6ICBhbGlhczE9Zm9vIGFsaWFzMj1mb28uJzsNCiRsYW5nWydwYXJhbV9hbHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBhbHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOw0KJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0mcXVvdDtmYW5jeWJveCx0aHVtYm5haWwmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ibHVyJ10gPSAnKGFueXRoaW5nKSBTcGVjaWZ5IGFueSB2YWx1ZSBmb3IgdGhpcyBwYXJhbWV0ZXIgdG8gYWRkIGEgYmx1ciBmaWx0ZXIgdG8gdGhlIGltYWdlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfYnJpZ2h0bmVzcyddID0gJyhpbnRlZ2VyKSBJbmNyYXNlIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBwcm9jZXNzZWQgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBMaWtlIGZpbHRlcl9ncmF5c2NhbGUgaG93ZXZlciB5b3UgY2FuIHNwZWNpZnkgdGhlIGNvbG9yIGFuZCBhbHBoYSB2YWx1ZSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbnRyYXN0J10gPSAnKGludGVnZXIpIENoYW5nZSB0aGUgY29udHJhc3Qgb2YgdGhlIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3AnXSA9ICcocGVyY2VudFssaF9hbGlnbix2X2FsaWduXSkgLSBQZXJmb3JtIGNyb3BwaW5nIG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIENyb3AgcGFyYW1lZXRlcnMgYXJlIHNwZWNpZmllZCBhcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHBhcmFtZXRlcnMuICBUaGUgZmlyc3QgKHJlcXVpcmVkKSB2YWx1ZSBpcyBhbiBpbnRlZ2VyIHBlcmNlbnRhZ2Ugb2YgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuICBUaGUgb3B0aW9uYWwgc2Vjb25kIGFuZCB0aGlyZCBwYXJhbWV0ZXJzIGFyZSBvbmUgb2YgbCxjLHIgKGxlZnQsY2VudGVyLHJpZ2h0KSBhbmQgdCxjLGIgKHRvcCxjZW50ZXIsYm90dG9tKSBzcGVjaWZ5aW5nIHdoZXJlIHRoZSBsb2NhdGlvbiB3aXRoaW4gdGhlIHNvdXJjZSBpbWFnZSB0byBjcm9wIGZyb20uICBpLmU6IGNyb3A9MzMsYixyIHRvIGdyYWIgYSBjcm9wIG9mIDMzJSBmcm9tIHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHNvdXJjZSBpbWFnZS4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvbl0pIC0gUGVyZm9ybSBhIGNyb3B0b2ZpdCBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZW4gZm9jdXMgb24gdGhlIHNlbGVjdGVkIGFyZWEgb2YgdGhlIHJlc2l6ZWQgaW1hZ2UuICBDcm9wIHRvIGZpdCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgdGhlIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBmb3IgdGhlIGRlc3RpbmF0aW9uIGltYWdlIGFsb25nIHdpdGggYW4gKG9wdGlvbmFsKSBsb2NhdGlvbiBjb2RlLiAgdmFsaWQgbG9jYXRpb24gY29kZXMgYXJlIHRsLHRjLHRyLGNsLGMsY3IsYmwsYixiciBmb3IgdGhlIDkgcmVsYXRpdmUgcG9zaXRpb25zIHdpdGhpbiB0aGUgaW1hZ2UuICBJZiBhIGxvY2F0aW9uIGlzIG5vdCBzcGVjaWZpZWQgYSBwcmVmZXJlbmNlIHdpbGwgYmUgdXNlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzICZxdW90O2MmcXVvdDsgdG8gY3JvcC10by1maXQgZnJvbSB0aGUgY2VudGVyIG9mIHRoZSBzb3VyY2UgaW1hZ2UuICBBdCBubyB0aW1lIHdpbGwgdGhpcyBmaWx0ZXIgcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2VkZ2VkZXRlY3QnXSA9ICcoYW55dGhpbmcpIEhpbGlnaHQgdGhlIGVkZ2VzIGluIHRoZSBpbWFnZSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2VtYm9zcyddID0gJyhhbnl0aGluZykgRW1ib3NzIHRoZSBpbWFnZSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2ZsaXAnXSA9ICcobW9kZSkgLSBQZXJmb3JtIGEgZmxpcCBvbiB0aGUgc3BlY2lmaWVkIGltYWdlLiAgU3BlY2lmeSAwIGZvciBob3Jpem9udGFsLCAxIGZvciB2ZXJ0aWNhbCwgYW5kIDIgZm9yIGZsaXAgaW4gYm90aCBkaXJlY3Rpb25zLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2dyYXlzY2FsZSddID0gJyhhbnl0aGluZykgQ29udmVydCB0aGUgaW1hZ2UgdG8gZ3JheXNjYWxlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbWVhbnJlbW92YWwnXSA9ICcoYW55dGhpbmcpIEF0dGVtcHQgdG8gYWNoaWV2ZSBhICZxdW90O3NrZXRjaHkmcXVvdDsgZWZmZWN0JzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFueXRoaW5nKSBOZWdhdGUgdGhlIGltYWdlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcGl4ZWxhdGUnXSA9ICcoc2l6ZVssYWR2YW5jZWRdKSBQaXhlbGF0ZSB0aGUgaW1hZ2UsIHNwZWNpZnkgYW4gaW50ZWdlciBzaXplIGFuZCBhbiBvcHRpb25hbCBib29sZWFuIChkZWZhdWx0IGlzIGZhbHNlKSB0byBlbmFibGUgYWR2YW5jZWQgcGl4ZWxhdGlvbic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZSddID0gJ3R5cGUsbnVtYmVyWyxudW1iZXJdIC0gUGVyZm9ybSBhIHJlc2l6ZSBvZiB0aGUgc291cmNlIGltYWdlLiAgVGhlIHJlc2l6ZSBmaWx0ZXIgZG9lcyBub3QgcGVyZm9ybSBhbnkgdXBzY2FsZSBjaGVja2luZy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4NCiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+aCxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmUsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSByZXNpemluZyB0aGUgbGFyZ2VzdCBlZGdlIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1lLDEwMCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2hvcyBsYXJnZXN0IGVkZ2UgaXMgMTAwIHBpeGVscy4NCiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+Lg0KPC91bD4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemV0b2ZpdCddID0gJyh3aWR0aCxoZWlnaHRbLGNvbG9yWyxhbHBoYV1dKSAtIFBlcmZvcm0gYSByZXNpemUgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZWF0aW5pbmcgYXNwZWN0IHJhdGlvLCB0aGUgaW1hZ2UgaXMgY2VudGVyZWQgaW4gdGhlIGJveCBzcGVjaWZpZWQgKGVpdGhlciBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBkZXBlbmRpbmcgdXBvbiBhc3BlY3QgcmF0aW8gYW5kIHRoZSBkZXN0aW5hdGlvbiBzaXplLCBhbmQgdGhlIGltYWdlIGlzIHN1cnJvdW5kZWQgYnkgdGhlIHN1cHBsaWVkIGNvbG9yLiAgQ29sb3JzIGNhbiBiZSBzcGVjaWZpZWQgYnkgbmFtZSAoc2VlIHRoZSBYMTEgY29sb3IgbmFtZXMpLCBvciBieSAjbm5ubm5uIGhleGFkZWNpbWFsIGZvcm1hdCwgb3IgYXMgcmdiIHZhbHVlcyBzZXBhcmF0ZWQgYnkgYSA6IGkuZTogIGZpbHRlcl9jcm9wdG9maXQ9NjAwLDQwMCwjZmYwMDAwLiAgVGhlIHNwZWNpYWwgY29sb3IgdmFsdWUgJnF1b3Q7dHJhbnNwYXJlbnQmcXVvdDsgY2FuIGJlIHNwZWNpZmllZCB0byBmb3JjZSB0aGUgYmFja2dyb3VuZCB0byBiZSB0cmFuc3BhcmVudC4gICBBbiBhbHBoYSB2YWx1ZSBtYXkgYmUgc3BlY2lmaWVkIGJldHdlZW4gMCBhbmQgMTI3IHRvIHNwZWNpZnkgZGlmZmVyZW50IGRlZ3JlZXMgb2YgdHJhbnNsdWNlbmN5IGZvciB0aGUgYmFja2dyb3VuZC4gICBBdCBubyB0aW1lIHdpbGwgdGhpcyBwbHVnaW4gcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdGF0ZSddID0gJyhhbmdsZSkgU3BlY2lmeSB0aGUgaW50ZWdlciBhbmdsZSAoY291bnRlciBjbG9ja3dpc2UpIHRvIHJvdGF0ZSB0aGUgaW1hZ2UsIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnXSA9ICcocmFkaXVzKSBTcGVjaWZ5IGFuIGludGVnZXIgcmFkaXVzIChpbiBwaXhlbHMpIGZvciByb3VuZGluZyB0aGUgY29ybmVycy4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYW55dGhpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayAoYXMgc3BlY2lmaWVkIGluIHRoZSBDR0V4dGVuc2lvbnMgYWRtaW4gcGFuZWwpIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSc7DQokbGFuZ1sncGFyYW1faGVpZ2h0J10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7d2lkdGgmcXVvdDsgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7IHBhcmFtZXRlciBpcyBhbHNvIHN1cHBsaWVkKSc7DQokbGFuZ1sncGFyYW1faWQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYW4gaWQgYXR0cmlidXRlIHRvIGluY2x1ZGUgb24gdGhlIHRhZy4gIGkuZTogaWQ9JnF1b3Q7c29tZXRhZyZxdW90Oyc7DQokbGFuZ1sncGFyYW1fbWF4X2hlaWdodCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUge3NpX2NvbnZlcnR9IHRhZyB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG1heGltdW0gaGVpZ2h0IGZvciB0aGUgY29udmVydGVkIGltYWdlcyc7DQokbGFuZ1sncGFyYW1fbWF4X3dpZHRoJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSB7c2lfY29udmVydH0gdGFnIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSB3aWR0aCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMnOw0KJGxhbmdbJ3BhcmFtX25hbWUnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBuYW1lIGF0dHJpYnV0ZS4nOw0KJGxhbmdbJ3BhcmFtX25vYXV0byddID0gJ0RvIG5vdCBhdXRvbWF0aWNhbGx5IGNhbGN1YWx0ZSBwYXJhbWV0ZXJzIGZvciB0aGUgaW1nIHRhZy4gIFRoaXMgbWF5IGNhdXNlIHlvdXIgc2l0ZSB0byBmYWlsIHZhbGlkYXRpb24gaWYgc29tZSByZXF1aXJlZCBwYXJhbWV0ZXJzICh3aWR0aCxoZWlnaHQsYWx0KSBhcmUgbm90IHNwZWNpZmllZCc7DQokbGFuZ1sncGFyYW1fbm9hdXRvc2NhbGUnXSA9ICdpZiB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBkaXNhYmxlIGF1dG9tYXRpYyBzY2FsaW5nIG9mIHRoZSBpbWFnZS4nOw0KJGxhbmdbJ3BhcmFtX25vYmNhY2hlJ10gPSAnRG8gbm90IGFsbG93IHRoZSByZXNpemVkIGltYWdlIHRvIGNhY2hlIGluIHRoZSBicm93c2VyICh1c2VmdWwgZm9yIGRldmVsb3BtZW50IHB1cnBvc2VzKSB0aGlzIGFkZHMgYSB1bmlxdWUgbnVtYmVyIGFzIGEgcGFyYW1ldGVyIHRvIHRoZSBpbWFnZSB3aGljaCB3aWxsIGZvcmNlIHRoZSBicm93c2VyIG5vdCB0byBjYWNoZSB0aGUgaW1hZ2UuJzsNCiRsYW5nWydwYXJhbV9ub2VtYmVkJ10gPSAnRm9yY2UgdGhlIGltYWdlIHRvIG5vdCBlbWJlZC4gIFJlZ2FyZGxlc3Mgb2Ygc2V0dGluZ3MgaW4gdGhlIGFkbWluIHBhbmVsLCB0aGUgVVJMIGFuZCB0YWcgZ2VuZXJhdGVkIHdpbGwgYmUgdG8gYSBmaWxlIG9uIHRoZSBzZXJ2ZXIuICBObyBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQnOw0KJGxhbmdbJ3BhcmFtX25vdGltZWNoZWNrJ10gPSAnRGlzYWJsZSB0aW1lIGNoZWNraW5nIG9mIGNhY2hlZCBmaWxlcy4nOw0KJGxhbmdbJ3BhcmFtX25vcmVtb3RlJ10gPSAnRG8gbm90IGFsbG93IHJldHJpZXZpbmcgc291cmNlcyBmcm9tIHJlbW90ZSBVUkxTJzsNCiRsYW5nWydwYXJhbV9ub3JvdGF0ZSddID0gJ0RvIG5vdCBhdHRlbXB0IHRvIHJlYWQgZXhpZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmaWxlIGFuZCBjb3JyZWN0IGltYWdlIHJvdGF0aW9uJzsNCiRsYW5nWydwYXJhbV9ub3RhZyddID0gJ0RvIG5vdCBvdXRwdXQgYW4gaW1nIHRhZywgb25seSB0aGUgdXJsIHRvIHRoZSBjYWNoZWQgaW1hZ2UuICBUaGlzIGhhcyBubyBlZmZlY3Qgd2hlbiBTbWFydEltYWdlIGlzIHVzZWQgZnJvbSB3aXRoaW4gYSBzdHlsZXNoZWV0Lic7DQokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnRGlzYWJsZSBhbGwgY2FjaGluZyBhbmQgZm9yY2UgcmUtY2FsY3VsYXRpb24gb2YgYWxsIGZpbHRlcnMnOw0KJGxhbmdbJ3BhcmFtX3F1YWxpdHknXSA9ICdTcGVjaWZ5IHRoZSBxdWFsaXR5IG9mIHRoZSBvdXRwdXQgaW1hZ2UuICBBIHZhbHVlIGJldHdlZW4gMCBhbmQgMTAwLiAgVGhlIGRlZmF1bHQgdmFsdWUgaWYgbm90IHNwZWNpZmllZCBpcyA3NS4nOw0KJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1VzZWQgd2hlbiBidWlsZGluZyBhbiBpbWFnZSB0YWcgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcmVsIGF0dHJpYnV0ZSAodHlwaWNhbGx5IHVzZWQgd2l0aCBqYXZhc2NyaXB0IHR5cGUgYWxidW1zKS4gaS5lOiByZWw9JnF1b3Q7YWxidW0mcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX3NpbGVudCddID0gJ1NpbGVudGx5IGlnbm9yZSBlcnJvcnMnOw0KJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCjx1bD4NCiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KPC91bD4NCkl0IGlzIGFsc28gcG9zc2libGUgdG8gc3BsaXQgdGhlIHNyYyBwYXJhbWV0ZXIgaW50byBtdWx0aXBsZSBhcmd1bWVudHMsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYXRoIHRvIHRoZSBmaWxlLCBhbmQgdGhlIGZpbGVuYW1lIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUgc21hcnR5IHZhcmlhYmxlcy4gICBZb3UgY2FuIHNwZWNpZnkgdGhlIHNyYyBhcyBzcmMxPVwkdGhlX3BhdGggc3JjMj1cJHRoZV9maWxlbmFtZS4gIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIC8gaW4gYmV0d2VlbiBlYWNoIGFyZ3VtZW50LiAgVGhlcmUgaXMgbm8gbGltaXQgdG8gdGhlIG51bWJlciBvZiBzcmMgcGFyYW1ldGVycy4nOw0KJGxhbmdbJ3BhcmFtX3N0eWxlJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFsdGVybmF0ZSBzdHlsZXMgZm9yIHRoZSB0YWcuICBpLmU6IHN0eWxlPSZxdW90O2JvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyZxdW90Oyc7DQokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdTcGVjaWZ5IGFuIG9wdGlvbmFsIHRpdGxlIGF0dHJpYnV0ZSBmb3IgdGhlIGltZyB0YWcuICBpLmU6IHRpdGxlPSZxdW90O1RoaXMgaXMgdGhlIHRvb2x0aXAmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX3dpZHRoJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgd2lkdGggYXR0cmlidXRlLiAgIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7aGVpZ2h0JnF1b3Q7IHBhcmFtZXRlciB0byBwZXJmb3JtIGEgZmluYWwgcmVzaXppbmcgb3IgY3JvcHRvZml0IGZpbHRlciAodW5sZXNzIHRoZSAmcXVvdDtub2F1dG9zY2FsZSZxdW90OyBwYXJhbWV0ZXIgaXMgYWxzbyBzdXBwbGllZCknOw0KJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlbiBibGUgaW5zdGFsbGVydCc7DQokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0FsbGxlIGRhdGEgdGlsaCZvc2xhc2g7cmVuZGUgZGVubmUgbW9kdWxlbiBlciBmamVybmV0Lic7DQokbGFuZ1sncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1N0YW5kYXJkIHV0Z2FuZ3NwdW5rdCBmb3IgJnF1b3Q7Y3JvcCB0byBmaXQmcXVvdDsnOw0KJGxhbmdbJ3Byb21wdF9lbWJlZF9zaXplbGltaXQnXSA9ICdCYXNlcnQgcCZhcmluZzsgYmlsZGUgc3Qmb3NsYXNoO3JyZWxzZSc7DQokbGFuZ1sncHJvbXB0X2VtYmVkX3NtYXJ0bGltaXRlZCddID0gJ1NtYXJ0IG1vZHVzIGJlZ3JlbnNldCB0aWwgYmlsZGUgc3Qmb3NsYXNoO3JyZWxzZSc7DQokbGFuZ1sncHJvbXB0X2VtYmVkX3R5cGUnXSA9ICdCYXNlcnQgcCZhcmluZzsgZmlsdHlwZSc7DQokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAnQm90dG9tIExlZnQgKGJsKSc7DQokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21jZW50ZXInXSA9ICdCb3R0b20gQ2VudGVyIChiYyknOw0KJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tcmlnaHQnXSA9ICdCb3R0b20gUmlnaHQgKGJyKSc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJsZWZ0J10gPSAnQ2VudGVyIExlZnQgKGNsKSc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXInXSA9ICdDZW50ZXIgKGMpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlcnJpZ2h0J10gPSAnQ2VudGVyIFJpZ2h0IChjbCknOw0KJGxhbmdbJ3Byb21wdF9sb2NfdG9wbGVmdCddID0gJ1RvcCBMZWZ0ICh0bCknOw0KJGxhbmdbJ3Byb21wdF9sb2NfdG9wY2VudGVyJ10gPSAnVG9wIENlbnRlciAodGMpJzsNCiRsYW5nWydwcm9tcHRfbG9jX3RvcHJpZ2h0J10gPSAnVG9wIFJpZ2h0ICh0ciknOw0KJGxhbmdbJ3Jlc2l6aW5nJ10gPSAnU2thbGVyaW5nJzsNCiRsYW5nWydzbWFydCddID0gJ1NtYXJ0JzsNCiRsYW5nWydzdWJtaXQnXSA9ICdMYWdyZSc7DQokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzc5Mzg1ODkwLjEzNzQyMzMyMTkuMTM3NDIzMzIxOS4xMzc0MjMzMjE5LjEnOw0KJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM3NDIzMzIxOS4xLjEudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj0obm90IHByb3ZpZGVkKSc7DQokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7DQokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEzNzQyMzMyMTknOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBvcGdlc2Nob29uZCc7CiRsYW5nWydhZGRfcm93J10gPSAnUmlqIHRvZXZvZWdlbic7CiRsYW5nWydhbGlhc2VzJ10gPSAnQWxpYXNzZW4nOwokbGFuZ1snYXNrX2NsZWFyX2ltYWdlX2NhY2hlJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IEFMTEUgYmVzdGFuZGVuIHdpbHQgdmVyd2lqZGVyZW4gdWl0IGRlIGFmYmVlbGRpbmdlbiBidWZmZXI/JzsKJGxhbmdbJ2NsZWFyX2FsbCddID0gJ1NjaG9vbiBhbGxlIGJlc3RhbmRlbiBvcCc7CiRsYW5nWydjbGVhcl9ub3cnXSA9ICdOdSBvcHNjaG9uZW4nOwokbGFuZ1snZGVsZXRlJ10gPSAnVmVyd2lqZGVyZW4nOwokbGFuZ1snZW1iZWRkaW5nJ10gPSAnR2UmZXVtbDttYmVkZGUgYWZiZWVsZGluZ2VuJzsKJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnQWZiZWVsZGluZyBpbnNsdWl0bW9kdXMnOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnSW5zbHVpdGJhcmUgYWZiZWVsZGluZ3Nncm9vdHRlIGxpbWlldCAoa2IpJzsKJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnSW5zbHVpdGJhcmUgYWZiZWVsZGluZyB0eXBlJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX2R1cGxpY2F0ZW5hbWVfYXRyb3cnXSA9ICdEZXplbGZkZSBhbGlhc25hYW0gb3BnZWdldmVuIHZvb3IgZGUgYWxpYXMgb3AgcmlqICVkJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX25vbmFtZV9hdHJvdyddID0gJ0dlZW4gbmFhbSBvcGdlZ2V2ZW4gdm9vciBkZSBhbGlhcyBvcCByaWogJWQnOwokbGFuZ1snZXJyb3JfYWxpYXNfbm9vcHRpb25zX2F0cm93J10gPSAnR2VlbiBvcHRpZXMgb3BnZWdldmVuIHZvb3IgZGUgYWxpYXMgb3AgcmlqICVkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnTGVlZnRpamRzaW5zdGVsbGluZyBvbmdlbGRpZy4uLiBCZXdlcmtpbmcgbmlldCB1aXRnZXZvZXJkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0VlbiB2ZXJwbGljaHRlIHBhcmFtZXRlciBpcyBuaWV0IChjb3JyZWN0KSBpbmdldnVsZDogJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtJ10gPSAnT25nZWxkaWdlIHBhcmFtZXRlciBpbiBvcHJvZXA6ICVzJzsKJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnS2FuIGdlZW4gYmVzdGFuZCB2aW5kZW4gaW46ICVzJzsKJGxhbmdbJ2Vycm9yX3JlbW90ZWZpbGUnXSA9ICdQcm9ibGVlbSBtZXQgaGV0IG9udHZhbmdlbiB2YW4gZWVuIGV4dGVybiBiZXN0YW5kIGluOiAlcyc7CiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnU21hcnRJbWFnZSAtIE9uYmVrZW5kIEZpbHRlcjogJXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5JiMwMzk7cyBTbWFydCBJbWFnZSBUb29sa2l0JzsKJGxhbmdbJ2dlbmVyYWwnXSA9ICdBbGdlbWVlbic7CiRsYW5nWydpbmZvX2FsaWFzZXMnXSA9ICdBbGlhc3NlbiBrdW5uZW4gd29yZGVuIGdlYnJ1aWt0IG1ldCBkZSBhbGlhczEgdG90IGVuIG1ldCBhbGlhczUgb3B0aWVzIGluIGRlIFNtYXJ0SW1hZ2UtdGFnIHZvb3IgdmVyc2NoaWxsZW5kZSByZWdlbG1hdGlnIGdlYnJ1aWt0ZSBvcHRpZXMnOwokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnSXMgZGUgYm92ZW5zdGFhbmRlIFVSTCBpbiBnZWJydWlrIHZvb3IgZGUgY2FjaGUgZGlyZWN0b3J5IChfU21hcnRJbWFnZSknOwokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ0FmYmVlbGRpbmcgVXJsIFByZWZpeCc7CiRsYW5nWydpbmZvX2NhY2hlX2FnZSddID0gJ0dlZWYgZGUgbWF4aW1hbGUgbGVlZnRpamQgb3AgdmFuIGVlbiBiZXN0YW5kIChpbiBkYWdlbikgdm9vcmRhdCBoZXQgbW9ldCB3b3JkZW4gdmVyd2lqZGVyZCBlbiBvcG5pZXV3IGdlZ2VuZXJlZXJkIG1vZXQgd29yZGVuICBEaXQgaXMgaGFuZGlnIGFscyB1IHNvbW1pZ2UgcGFyYW1ldGVycyBoZWVmdCBnZXdpanppZ2Qgdm9vciBoZXQgZ2VuZXJlcmVuIHZhbiBhZmJlZWxkaW5nZW4gb2Ygb20gZGUgZ2VicnVpa3RlIHNjaGlqZnJ1aW10ZSB0ZSBiZWhlcmVuLiAgQWxzIHUgMCBpbnZvZXJ0IGRhbiB6YWwgZGUgYXV0b21hdGlzY2hlIGJlc3RhbmRzZGV0ZWN0aWUgdWl0IHN0YWFuLic7CiRsYW5nWydpbmZvX2VtYmVkX21vZGUnXSA9ICdEZXplIHNlY3RpZSBiZXBhYWxkIGhvZSBkZSB7c21hcnRpbWd9LXRhZyBlZW4gb3V0cHV0IGdlbmVyZWVyZC4gQWxzICYjMDM5O25pZXRzJiMwMzk7IGlzIGdlc2VsZWN0ZWVyZCwgZGFuIHphbCBlciBnZWVuIGFmYmVlbGRpbmcgaW5nZXNsb3RlbiB3b3JkZW4uIEFscyB1ICYjMDM5O3NsaW0mIzAzOTsgc2VsZWN0ZWVydCBkYW4gemFsIGhldCBzeXN0ZWVtIGhldCB6ZWxmIGJlcGFsZW4gYWFuIGRlIGhhbmQgdmFuIGRlIGFmYmVlbGRpbmdzZ3Jvb3R0ZSwgdHlwZSBlbiBkZSBicm93c2VyIGRpZSBkZSBhZmJlZWxkaW5nIGFmYmVlbGRpbmcgb3B2cmFhZ3QuIEFuZGVyZSBvcHRpZXMgenVsbGVuIGFsdGlqZCBkZSBhZmJlZWxkaW5nIGluc2x1aXRlbiBvcCBiYXNpcyB2YW4gZGUgYWZiZWVsZGluZ3Nncm9vdHRlIGVuIGFmYmVlbGRpbmdzdHlwZS4nOwokbGFuZ1snaW5mb19lbWJlZF9zaXplbGltaXQnXSA9ICdBbHMgZGUgaW5zbHVpdGluZ3NvcHRpZSBiZXBhYWx0IHdvcmQgZG9vciBhZmJlZWxkaW5nc2dyb290dGUsIGdlZWYgdmFuIGVlbiBtYXhpbXVtIGJlc3RhbmRzZ3Jvb3R0ZSBvcCAoaW4ga2lsb2J5dGVzKSB2b29yIGFmYmVlbGRpbmdlbiBvbSBkZXplIGluIHRlIHNsdWl0ZW4gKDMyIGlzIGFhbmJldm9sZW4pLic7CiRsYW5nWydpbmZvX2VtYmVkX3R5cGVzJ10gPSAnQWxzIGRlIGluc2x1aXRpbmdzb3B0aWUgYmVwYWFsdCB3b3JkIGRvb3IgaGV0IGFmYmVlbGRpbmdzdHlwZSwgZ2VlZiBkYW4gaGllciBkZSBleHRlbnNpZXMgb3AgdmFuIGJlc3RhbmRlbiBkaWUgaW5nZXNsb3RlbiBtb2dlbiB3b3JkZW4sIGdlc2NoaWVkZW4gZG9vciBjb21tYSYjMDM5O3MuIERlemUgb3B0aWUgaXMgbmlldCBob29mZGxldHRlcmdldm9lbGlnLic7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ0FscyB1dyBDRE4gZGlyZWN0IHZlcndpanN0IG5hYXIgZGUgYWZiZWVsZGluZ3NjYWNoZSBkYW4gd2lsdCB1IG1pc3NjaGllbiBkZXplIGZ1bmN0aWUgaW5zY2hha2VsZW4uJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1NwZWNpZmljZWVyIGRlIFVSTCBtZXQgZWVuIHByZWZpeCB2b29yIGFsbGUgZ2VnZW5lcmVlcmRlIGFmYmVlbGRpbmdlbi4gU3RhbmRhYXJkIGlzIGRpdCBkZSB1cGxvYWRzIFVSTCwgbWFhciBoZXQgbWFnIG9vayB1dyBlaWdlbiBDRE4gemlqbiAob2YgbWVlcmRlcmUgZG9tZWluZW4gZGllIGdlYnJ1aWsgbWFrZW4gdmFuIGRlemVsZmRlIG1hcCkuIFUga3VudCBoaWVyIGVlbiBhbmRlcmUgbmFhbSBvcGdlZ2V2ZW4uJzsKJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICdNYXhpbXVtIGJlc3RhbmRzbGVlZnRpamQgaW4gY2FjaGUgKGRhZ2VuKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiBzbGltbWUgYWZiZWVsZGluZ3N0YWcgbW9kdWxlIHZvb3IgQ01TTVMnOwokbGFuZ1snbXNnX2FsaWFzZXNfdXBkYXRlZCddID0gJ0FsaWFzc2VuIGJpamdld2Vya3QnOwokbGFuZ1snbXNnX2NhY2hlY2xlYW5lZCddID0gJ0NhY2hlbWFwIG9wZ2VzY2hvb25kLiAlZCBiZXN0YW5kZW4gdmVyd2lqZGVyZCc7CiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnQ2FjaGUgdmVyd2lqZGVyZCc7CiRsYW5nWydtc2dfcHJlZnN1cGRhdGVkJ10gPSAnVm9vcmtldXJlbiBiaWpnZXdlcmt0JzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpZXMnOwokbGFuZ1sncGFyYW1fYWxpYXMnXSA9ICdIZXQgU21hcnRJbWFnZSBhZG1pbnBhbmVlbCBzdGFhdCB0b2Ugb20gdmVyc2NoaWxsZW5kZSBjb21tYW5kby1hbGlhc3NlbiB0b2UgdGUgd2lqemVuIGFhbiByZWdlbG1hdGlnIGdlYnJ1aWt0ZSBwYXRyb25lbiB2YW4gcmVnZWxzIGluIGVlbiBuYWFtLiBPbSBkZXplIGFsaWFzc2VuIHRlIGdlYnJ1aWtlbiBnZWJydWlrIGVlbiByZWdlbCBpbiBkZSB2b2xnZW5kZSB2b3JtOiBhbGlhcyMjPWFsaWFzX25hbWUuIEJpanZvb3JiZWVsZDogYWxpYXMxPWZvbywgYWxpYXMyPWZvby4nOwokbGFuZ1sncGFyYW1fYWx0J10gPSAnVm9vciBiaWogaGV0IGdlYnJ1aWsgdmFuIGRlIGltZy10YWcgbW9ldCB1IGhpZXIgZGUgd2FhcmRlIHZvb3IgaGV0IGFsdC1hdHRyaWJ1dXQgb3BnZWdldmVuLiAgT3BtZXJraW5nOiBhbHMgdSBoaWVyIGdlZW4gd2FhcmRlIGludm9lcnQgZGFuIHphbCBkZXplIHdhYXJkZSBhdXRvbWF0aXNjaCBiZXJla2VuZCB3b3JkZW4gem9kYXQgZGUgbWVlc3RlIGltZy10YWdzIGp1aXN0IHppam4uICBVIGt1bnQgZGV6ZSBhdXRvbWF0aXNjaGUgYmVyZWtlbmluZyB1aXRzY2hha2VsZW4gbWV0IGRlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOwokbGFuZ1sncGFyYW1fY2xhc3MnXSA9ICdXb3JkdCBnZWJydWlrdCBiaWogaGV0IGdlbmVyZXJlbiB2YW4gZWVuIGltZy10YWcsIHN0YWF0IHRvZSBvbSBlZW4gb2YgbWVlcmRlcmUgY2xhc3NlcyB0b2UgdGUgdm9lZ2VuIGFhbiBkZSB0YWcuICBiaWp2b29yYmVlbGQ6IGNsYXNzPSZxdW90O2ZhbmN5Ym94IHRodW1ibmFpbCZxdW90Oyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfYmx1ciddID0gJyhpZXRzKSBHZWVmIGVlbiB3YWFyZGUgb3Agdm9vciBkZXplIHBhcmFtZXRlciBvbSBlZW4gYmx1ciBmaWx0ZXIgdG9lIHRlIHZvZWdlbiBhYW4gZGUgYWZiZWVsZGluZyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfYnJpZ2h0bmVzcyddID0gJyhoZWVsIGdldGFsKSBWZXJiZXRlcmQgZGUgaGVsZGVyaGVpZCB2YW4gZGUgYWZiZWVsZGluZyBtZXQgZGUgZ2VoZWxlIHdhYXJkZSBkaWUgd29yZHQgb3BnZWdldmVuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb2xvcml6ZSddID0gJyhyLGcsYlssYWxwaGFdKSAtIExpamt0IG9wIGhldCBmaWx0ZXIgX2dyZXlzY2FsZSBtYWFyIHUga3VudCBoaWVyIGRlIGtsZXVyIGVuIGRlIGFscGhhd2FhcmRlIG9wZ2VnZXZlbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoaGVlbCBnZXRhbCkgV2lqemlnIGhldCBjb250cmFzdCB2YW4gZGUgYWZiZWVsZGluZyBkb29yIGRlIHdhYXJkZSBtZXQgZWVuIGhlZWwgZ2V0YWwgdGUgd2lqemlnZW4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3AnXSA9ICcocGVyY2VudGFnZVssaF9hbGlnbix2X2FsaWduXSkgLSBWb2VyIGJpanNuaWpkZW4gdWl0IG9wIGRlIG9wZ2VnZXZlbiBhZmJlZWxkaW5nLiBEZSBwYXJhbWV0ZXJzIHZvb3IgaGV0IGJpanNuaWpkZW4gemlqbiBvcGdlZ2V2ZW4gYWxzIGVlbiBrb21tYWdlc2NoZWlkZW4gbGlqc3QuICBEZSBlZXJzdGUgd2FhcmRlIGlzIGVlbiBnZWhlZWwgcGVyY2VudGFnZSB2YW4gZGUgYWZiZWVsZGluZyBvcCBvcmlnaW5lbGUgZ3Jvb3R0ZS4gIERlemUgdHdlZWRlIGVuIGRlcmRlIChvcHRpdGlvbmVsZSkgcGFyYW1ldGVycyB6aWpuOiBsLGMsciAobGlua3MsZ2VjZW50cmVlcmQscmVjaHRzKSBlbiB0LGMsYiAodG9wLGdlY2VudHJlZXJkLGJlbmVkZW4pIG9tIGRlIGxvY2F0aWUgb3AgdGUgZ2VnZXZlbiB2YW5hZiB3YWFyIGVyIGJpamdlc25lZGVuIG1vZXQgd29yZGVuLiAgYmlqdm9vcmJlZWxkOiBjcm9wPTMzLGIsciBvbSBlZW4ga25pcHNlbCB0ZSBuZW1lbiB2YW4gMzMlIHZhbmFmIGRlIHJlY2h0ZXIgb25kZXJrYW50IHZhbiBkZSBicm9uYWZiZWVsZGluZyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZWRnZWRldGVjdCddID0gJyhpZXRzKSBNYXJrZWVyIGRlIHJhbmRlbiBpbiBkZSBhZmJlZWxkaW5nJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lbWJvc3MnXSA9ICcoaWV0cykgR2VlZiBkZSBhZmJlZWxkaW5nIHJlbGkmZXVtbDtmJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9mbGlwJ10gPSAnKG1vZGUpIC0gRHJhYWkgZGUgb3BnZWdldmVuIGFmYmVlbGRpbmcuICBHZWVmIDAgb3Agdm9vciBob3Jpem9udGFhbCwgMSB2b29yIHZlcnRpY2FhbCBlbiAyIHZvb3IgYmVpZGUgcmljaHRpbmdlbi4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2dyYXlzY2FsZSddID0gJyhpZXRzKSBDb252ZXJ0ZWVyIGRlIGFmYmVlbGRpbmcgbmFhciBncmlqc3dhYXJkZW4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGlldHMpIEJlZG9lbGQgdm9vciBlZW4gJnF1b3Q7dGVrZW4mcXVvdDstZWZmZWN0JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9uZWdhdGUnXSA9ICcoaWV0cykgT250a2VuIGRlIGFmYmVlbGRpbmcnOwokbGFuZ1sncGFyYW1fZmlsdGVyX3BpeGVsYXRlJ10gPSAnKGdyb290dGVbLGdlYXZhbmNlZXJkXSkgUGl4ZWxhdGUgdGhlIGltYWdlLCBzcGVjaWZ5IGFuIGludGVnZXIgc2l6ZSBhbmQgYW4gb3B0aW9uYWwgYm9vbGVhbiAoZGVmYXVsdCBpcyBmYWxzZSkgdG8gZW5hYmxlIGFkdmFuY2VkIHBpeGVsYXRpb24nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdGF0ZSddID0gJyhhbmdsZSxjb2xvcikgR2VlZiBtZXQgZWVuIGdlaGVlbCBnZXRhbCBkZSBkcmFhaWhvZWsgb3AgKGRyYWFpZW4gZ2FhdCBtZXQgZGUga2xvayBtZWUpIG9tIGRlIGFmYmVlbGRpbmcgdGUgZHJhYWllbi4gRGFhcm5hYXN0IG1vZXQgdSBlZW4ga2xldXIgb3BnZWdldmVuIHdhYXJtZWUgZGUgb3ZlcmlnZSBwaXhlbHMgd29yZGVuIG9wZ2V2dWxkLiAgRGUgYWZiZWVsZGluZyBkcmFhaXQgb20gemlqbiBlaWdlbiBtaWRkZW4uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3VuZGVkY29ybmVycyddID0gJyhyYWRpdXMpIFNwZWNpZmljZWVyIGVlbiBoZWVsIGdldGFsIHZvb3IgZGUgc3RyYWFsIChpbiBwaXhlbHMpIHZhbiBkZSBhZmdlcm9uZGUgaG9la2VuLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJ10gPSAnKGlldHMpIEdlZWYgZWVuIHdhdGVybWVyayBvcCAoem9hbHMgb3BnZWdldmVuIGluIGRlIENHRXh0ZW50aW9ucyBtb2R1bGUpIGRpZSBtb2V0IHdvcmRlbiB0b2VnZXBhc3Qgb3AgZGUgYWZiZWVsZGluZyc7CiRsYW5nWydwYXJhbV9tYXhfaGVpZ2h0J10gPSAnVmFuIHRvZXBhc3Npbmcgb3AgZGUge3NpX2NvbnZlcnR9IHRhZywgZGV6ZSBwYXJhbWV0ZXIgc3RhYXQgdG9lIG9tIGVlbiBtYXhpbXVtIGhvb2d0ZSBvcCB0ZSBnZXZlbiB2b29yIGdlY29udmVydGVlcmRlIGFmYmVlbGRpbmdlbic7CiRsYW5nWydwYXJhbV9tYXhfd2lkdGgnXSA9ICdWYW4gdG9lcGFzc2luZyBvcCBkZSB7c2lfY29udmVydH0gdGFnLCBkZXplIHBhcmFtZXRlciBzdGFhdCB0b2Ugb20gZWVuIG1heGltdW0gaG9vZ3RlIG9wIHRlIGdldmVuIHZvb3IgZ2Vjb252ZXJ0ZWVyZGUgYWZiZWVsZGluZ2VuJzsKJGxhbmdbJ3BhcmFtX25hbWUnXSA9ICdHZWJydWlrdCBiaWogaGV0IG1ha2VuIHZhbiBkZSBpbWcgdGFnLCBiZW5vZW0gZWVuIHdhYXJkZSB2b29yIGRlIG5hYW0gYXR0cmlidXV0Lic7CiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdCZXJla2VuIG5pZXQgYXV0b21hdGlzY2ggZGUgcGFyYW1hdGVycyB2b29yIGRlIGltZy10YWcuICBEaXQga2FuIGVyIG1vZ2VsaWprIHZvb3Igem9yZ2VuIGRhdCB1dyBzaXRlIG5pZXQganVpc3QgZ2V2YWxpZGVlcmQgd29yZHQgaW5kaWVuIGRlIHZlcmVpc3RlIHBhcmFtZXRlcnMgKHdpZHRoLGhlaWdodCxhbHQpIG5pZXQgemlqbiBvcGdlZ2V2ZW4nOwokbGFuZ1sncGFyYW1fbm9hdXRvc2NhbGUnXSA9ICdpbmRpZW4gZXIgZWVuIGJyZWVkdGUgZW4gaG9vZ3RlIHBhcmFtZXRlciBpcyBvcCBnZWdldmVuLCBkYW4gemFsIGRlemUgcGFyYW1ldGVyIGhldCBhdXRvbWF0aXNjaGUgc2NoYWxlbiB2YW4gZGUgYWZiZWVsZGluZyB1aXRzY2hha2VsZW4uJzsKJGxhbmdbJ3BhcmFtX25vYmNhY2hlJ10gPSAnU3RhIG5pZXQgdG9lIGRhdCBkZSBoZXJzY2hhYWxkZSBhZmJlZWxkaW5nIGluIGRlIGJyb3dzZXIgZ2VjYWNoZWQgd29yZHQgKGhhbmRpZyB2b29yIG9udHdpa2tlbGRvZWxlaW5kZW4pIERpdCB2b2VndCBlZW4gdW5pZWsgbnVtbWVyIGFscyBwYXJhbWV0ZXIgdG9lIGFhbiBkZSBhZmJlZWxkaW5nLic7CiRsYW5nWydwYXJhbV9ub2VtYmVkJ10gPSAnRGV6ZSBhZmJlZWxkaW5nIG1hZyBuaWV0IGluZ2VzbG90ZW4gd29yZGVuLiBPbmdlYWNodCBkZSBpbnN0ZWxsaW5nZW4gaW4gaGV0IGJlaGVlcmRlcnNwYW5lZWwsIGRlIFVSTCBlbiBkZSBnZWdlbmVyZWVyZGUgdGFncyB6dWxsZW4gZGUgYmVzdGFuZGVuIG9wIGRlIHNlcnZlciB3b3JkZW4gb3BnZXJvZXBlbi4gRXIgemFsIGdlZW4gaW5zbHVpdGluZyBwbGFhdHMgdmluZGVuLic7CiRsYW5nWydwYXJhbV9ub3RpbWVjaGVjayddID0gJ1RpamRjb250cm9sZSB2b29yIGdlYnVmZmVyZGUgYmVzdGFuZGVuIHVpdHNjaGFrZWxlbi4nOwokbGFuZ1sncGFyYW1fbm9yZW1vdGUnXSA9ICdFeHRlcm5lIGJyb25uZW4gdm9vciBVUkwmIzAzOTtzIG5pZXQgdG9lc3RhYW4nOwokbGFuZ1sncGFyYW1fbm9yb3RhdGUnXSA9ICdOaWV0IHByb2JlcmVuIG9tIGRlIGV4aWYtaW5mb3JtYXRpZSB0ZSBsZXplbiB2YW4gaGV0IGJlc3RhbmQgb20gdmVydm9sZ2VucyBkZSBhZmJlZWxkaW5nIGp1aXN0IHRlIHJvdGVyZW4nOwokbGFuZ1sncGFyYW1fbm90YWcnXSA9ICdHZWVmIGdlZW4gaW1nLXRhZyBtZWUgaW4gZGUgb3V0cHV0LCBhbGxlZW4gZGUgVVJMIHZhbiBkZSBnZWNhY2hlZGUgYWZiZWVsZGluZy4gRGl0IGhlZWZ0IGdlZW4gZWZmZWN0IHdhbm5lZXIgU21hcnRJbWFnZSB3b3JkdCBnZWJydWlrdCBpbiBlZW4gc3R5bGVzaGVldC4nOwokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnU2NoYWtlbCBhbGxlIGNhY2hpbmcgdWl0IGVuIGZvcmNlZXIgaGVyYmVyZWtlbmluZyB2b29yIGFsbGUgZmlsdGVycyc7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnU3BlY2lmaWNlZXIgZGUga3dhbGl0ZWl0IHZhbiBkZSBvdXRwdXRhZmJlZWxkaW5nLiBVIG1vZXQgZWVuIHdhYXJkZSBpbnZ1bGxlbiB0dXNzZW4gZGUgMCBlbiAxMDAuJzsKJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1VzZWQgd2hlbiBidWlsZGluZyBhbiBpbWFnZSB0YWcgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcmVsIGF0dHJpYnV0ZSAodHlwaWNhbGx5IHVzZWQgd2l0aCBqYXZhc2NyaXB0IHR5cGUgYWxidW1zKS4gaS5lOiByZWw9JnF1b3Q7YWxidW0mcXVvdDsnOwokbGFuZ1sncGFyYW1fc2lsZW50J10gPSAnTmVnZWVyIGZvdXRlbic7CiRsYW5nWydwYXJhbV9zdHlsZSddID0gJ0dlYnJ1aWt0IGJpaiBoZXQgbWFrZW4gdmFuIGRlIGltZyB0YWcsIGdlYnJ1aWt0IHZvb3IgZWVuIGFsdGVybmF0aWV2ZSBzdHlsaW5nLiAgYmlqdi46IHN0eWxlPSZxdW90O2JvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyZxdW90Oyc7CiRsYW5nWydwYXJhbV90aXRsZSddID0gJ0dlZWYgaGV0IG9wdGlvbmVsZSB0aXRlbCBhdHRyaWJ1dXQgb3Agdm9vciBkZSBpbWctdGFnLiAgYmlqdm9vcmJlZWxkOiB0aXRsZT0mcXVvdDtEaXQgaXMgZWVuIHRvb2x0aXAmcXVvdDsnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdBbGxlIG1ldCBkZXplIG1vZHVsZSBnZWFzc29jaWVlcmRlIGRhdGEgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWydwcm9tcHRfY3JvcHRvZml0X2RlZmF1bHRfbG9jJ10gPSAnU3RhbmRhYXJkIHBsYWF0cyB2b29yICZxdW90O2Nyb3AgdG8gZml0JnF1b3Q7JzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zaXplbGltaXQnXSA9ICdHZWJhc2VlcmQgb3AgYWZiZWVsZGluZ3Nncm9vdHRlJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnXSA9ICdTbGltbWUgbW9kdXMsIG1hYXIgYmVwZXJrIGRlIGFmYmVlbGRpbmdzZ3Jvb3R0ZSc7CiRsYW5nWydwcm9tcHRfZW1iZWRfdHlwZSddID0gJ0dlYmFzZWVyZCBvcCBhZmJlZWxkaW5nc3R5cGUnOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAnQmVuZWRlbiBMaW5rcyAoYmwpJzsKJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tY2VudGVyJ10gPSAnQmVuZWRlbiBDZW50cmVlciAoYmMpJzsKJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tcmlnaHQnXSA9ICdCZW5lZGVuIFJlY2h0cyAoYnIpJzsKJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVybGVmdCddID0gJ0NlbnRyZWVyIExpbmtzIChjbCknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXInXSA9ICdDZW50cmVlciAoYyknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ0NlbnRyZWVyIFJlY2h0cyAoY2wpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wbGVmdCddID0gJ1RvcCBMaW5rcyAodGwpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wY2VudGVyJ10gPSAnVG9wIENlbnRyZWVyICh0YyknOwokbGFuZ1sncHJvbXB0X2xvY190b3ByaWdodCddID0gJ1RvcCBSZWNodHMgKHRyKSc7CiRsYW5nWydyZXNpemluZyddID0gJ0hlcnNjaGFsZW4nOwokbGFuZ1snc21hcnQnXSA9ICdTbGltJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ09wc2xhYW4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My42MDYwMTY0MzQuMTM4NTkxNzEwNy4xMzg1OTE3MTA3LjEzODU5MTcxMDcuMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzODU5MTcxMDcuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGUgTGltcGEnOw0KJGxhbmdbJ2FkZF9yb3cnXSA9ICdBZGljaW9uYXIgTGluaGEnOw0KJGxhbmdbJ2FsaWFzJ10gPSAnQWxpJmFhY3V0ZTtzJzsNCiRsYW5nWydhbGlhc2VzJ10gPSAnQWxpJmFhY3V0ZTtzJzsNCiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICdSZW1vdmVyIFRPRE9TIG9zIGZpY2hlaXJvcyBkYSBjYWNoZSBkZSBpbWFnZW5zOiB0ZW0gYSBjZXJ0ZXphPyc7DQokbGFuZ1snY2xlYXJfYWxsJ10gPSAnTGltcGFyIHRvZG9zIG9zIGZpY2hlaXJvcyc7DQokbGFuZ1snY2xlYXJfbm93J10gPSAnTGltcGFyIEltZWRpYXRhbWVudGUnOw0KJGxhbmdbJ2RlbGV0ZSddID0gJ0FwYWdhcic7DQokbGFuZ1snZW1iZWRkaW5nJ10gPSAnSW1hZ2VucyBFbWJlYmlkYXMnOw0KJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnTW9kbyBkZSBJbWFnZW0gRW1iZWJpZGEnOw0KJGxhbmdbJ2VtYmVkX3NpemVsaW1pdCddID0gJ1RhbWFuaG8gbGltaXRlIGRhIGltYWdlbSBhIGVtYmViZXIgKGtiKSc7DQokbGFuZ1snZW1iZWRfdHlwZXMnXSA9ICdUaXBvIGRhIGltYWdlbSBhIGVtYmViZXInOw0KJGxhbmdbJ2Vycm9yX2FsaWFzX2R1cGxpY2F0ZW5hbWVfYXRyb3cnXSA9ICdGb2kgZXNwZWNpZmljYWRvIHVtIGFsaSZhYWN1dGU7cyBkdXBsaWNhZG8gbmEgbGluaGEgJWQnOw0KJGxhbmdbJ2Vycm9yX2FsaWFzX25vbmFtZV9hdHJvdyddID0gJ04mYXRpbGRlO28gZm9pIGVzcGVjaWZpY2FkbyB1bSBub21lIHBhcmEgbyBhbGkmYWFjdXRlO3MgbmEgbGluaGEgJWQnOw0KJGxhbmdbJ2Vycm9yX2FsaWFzX25vb3B0aW9uc19hdHJvdyddID0gJ04mYXRpbGRlO28gZm9yYW0gZXNwZWNpZmljYWRhcyBvcCZjY2VkaWw7Jm90aWxkZTtlcyBwYXJhIG8gYWxpJmFhY3V0ZTtzIG5hIGxpbmhhICVkJzsNCiRsYW5nWydlcnJvcl9pbnZhbGlkX2FnZSddID0gJ1ByZWZlciZlY2lyYztuY2lhIGRlIGlkYWRlIGludiZhYWN1dGU7bGlkYS4uLiBuZW5odW1hIG9wZXJhJmNjZWRpbDsmYXRpbGRlO28gZWZlY3R1YWRhJzsNCiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdVbSBwYXImYWNpcmM7bWV0cm8gcmVxdWVyaWRvIGVzdCZhYWN1dGU7IGVtIGZhbHRhIG91IG4mYXRpbGRlO28gJmVhY3V0ZTsgdiZhYWN1dGU7bGlkbzogJXMnOw0KJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbSddID0gJ1BhciZhY2lyYzttZXRybyBpbnYmYWFjdXRlO2xpZG8gbmEgY2hhbWFkYTogJXMnOw0KJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnTiZhdGlsZGU7byBmb2kgZW5jb250cmFkbyBuZW5odW0gZmljaGVpcm8gZW06ICVzJzsNCiRsYW5nWydlcnJvcl9yZW1vdGVmaWxlJ10gPSAnUHJvYmxlbWEgbmEgb2J0ZW4mY2NlZGlsOyZhdGlsZGU7byBkZSB1bSBmaWNoZWlybyByZW1vdG8gZW0gICVzJzsNCiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnU21hcnRJbWFnZSAtIEZpbHRybyBEZXNjb25oZWNpZG86ICVzJzsNCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFNtYXJ0IEltYWdlIFRvb2xraXQgLSBGZXJyYW1lbnRhcyBkZSBJbWFnZW0nOw0KJGxhbmdbJ2dlbmVyYWwnXSA9ICdHZXJhbCc7DQokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd2F5IHRvIHByb2Nlc3MsIGFuZCBkaXNwbGF5IGltYWdlcyBvbiB5b3VyIHdlYiBwYWdlLiAgSXQgYWxsb3dzIHNpbXBsZSBpbWFnZSBwcm9jZXNzaW5nLCBhbmQgd2F0ZXJtYXJraW5nLiAgVGhpcyBtb2R1bGUgbWFrZXMgZGlzcGxheWluZyBwcm9jZXNzZWQgaW1hZ2VzIG9uIHlvdXIgd2Vic2l0ZSB0cml2aWFsLiAgSXQgYWxzbyBwcm92aWRlcyBmZWF0dXJlcyB0byBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSByYXRpbmcgb2YgeW91ciB3ZWJzaXRlLCBtYWtpbmcgeW91ciB3ZWJzaXRlIHBvd2VyZnVsIGFuZCBmYXN0IGF0IHRoZSBzYW1lIHRpbWUuPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT5Qb3dlcmZ1bCwgYnV0IHNpbXBsZSB0byB1c2UgaW1hZ2UgZmlsdGVyaW5nIGFuZCBwcm9jZXNzaW5nLiBGaWx0ZXJpbmcgaW5jbHVkZXM6DQogIDx1bD4NCiAgICA8bGk+Qmx1cjwvbGk+DQogICAgPGxpPkJyaWdodG5lc3M8L2xpPg0KICAgIDxsaT5Db2xvcml6ZTwvbGk+DQogICAgPGxpPkNvbnRyYXN0PC9saT4NCiAgICA8bGk+Q3JvcDwvbGk+DQogICAgPGxpPjxzdHJvbmc+Q3JvcCBUbyBGaXQ8L3N0cm9uZz48L2xpPg0KICAgIDxsaT5FZGdlIERldGVjdGlvbjwvbGk+DQogICAgPGxpPkVtYm9zczwvbGk+IA0KICAgIDxsaT5HcmF5c2NhbGU8L2xpPg0KICAgIDxsaT5NZWFuIFJlbW92YWw8L2xpPg0KICAgIDxsaT5OZWdhdGU8L2xpPg0KICAgIDxsaT5QaXhlbGF0ZTwvbGk+DQogICAgPGxpPlJlc2l6ZTwvbGk+DQogICAgPGxpPlJvdGF0ZTwvbGk+DQogICAgPGxpPlNlbGljdGl2ZSBCbHVyPC9saT4NCiAgICA8bGk+U21vb3RoPC9saT4NCiAgICA8bGk+V2F0ZXJtYXJrPC9saT4NCiAgPC91bD4NCjwvbGk+PGJyLz4NCjxsaT5TbWFydCBkZXRlY3Rpb24gb2YgaW1hZ2VzLiAgU3BlY2lmeSBhYnNvbHV0ZSBVUkxTLCBhYnNvbHV0ZSBwYXRocywgb3IgZmlsZXMgcmVsYXRpdmUgdG8geW91ciByb290IGluc3RhbGxhdGlvbi48L2xpPg0KPGxpPkF1dG9tYXRpYyBkb3dubG9hZGluZywgY2FjaGluZywgcHJvY2Vzc2luZywgYW5kIHJlLWNhY2hpbmcgb2YgaW1hZ2VzIGZyb20gcmVtb3RlIHdlYnNpdGVzLjwvbGk+DQo8bGk+U21hcnQgYXV0b21hdGljIHJlc2l6aW5nIChhdXRvbWF0aWNhbGx5IHJlc2l6ZSB0byBkZXNpcmVkIHdpZHRoIGFuZCBoZWlnaHQgYmVmb3JlIHNlcnZpbmcgdGhlIGltYWdlLi4uIHJlc2l6aW5nIHRvIHdpZHRoIEFORCBoZWlnaHQgZG9lcyBhIGNyb3AgdG8gZml0LiA8ZW0+KGp1c3Qgc3BlY2lmeSBhIHdpZHRoLCBhbmQvb3IgaGVpZ2h0IHBhcmFtZXRlciB0byB0aGUgU21hcnRJbWFnZSB0YWcuKTwvZW0+PC9saT4NCjxsaT5BdXRvbWF0aWNhbGx5IHJlYWRzIGltYWdlIEVYSUYgaW5mb3JtYXRpb24gYW5kIGNvcnJlY3RzIHRoZSBvcmllbnRhdGlvbi48L2xpPg0KPGxpPkltYWdlIGNoYW5nZSBkZXRlY3Rpb24sIGlmIHRoZSBtYXN0ZXIgaW1hZ2UgaXMgY2hhbmdlZCBzY2FsZWQgaW1hZ2VzIHdpbGwgYmUgcmVnZW5lcmF0ZWQuIChzZWUgdGhlIG5vdGltZWNoZWNrIHBhcmFtZXRlciB0byBkaXNhYmxlIHRoaXMgYmVoYXZpb3IpLjwvbGk+DQo8bGk+U21hcnQgYXR0cmlidXRlIGdlbmVyYXRpb24gZm9yIGltYWdlcy48L2xpPg0KPGxpPlByb2Nlc3NlZCBpbWFnZXMgYXJlIGNhY2hlZCBvbiB0aGUgc2VydmVyIGZvciBmYXN0ZXIgc2VydmluZy48L2xJPg0KPGxpPlRoZSBhYmlsaXR5IHRvIHVzZSBhIHNlcGFyYXRlIFVSTCAoQ0ROKSBmb3Igc2VydmluZyBpbWFnZXM8L2xpPg0KPGxpPkltYWdlIHByb2Nlc3NlcyBjYW4gYmUgY29tYmluZWQsIGFuZCBhcmUgZXhlY3V0ZWQgaW4gb3JkZXIuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB0aGUgY29udGVudCBvZiB0aGUgd2ViIHBhZ2UgdG8gbWluaW1pemUgc3BhY2UuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBsaW1pdCBlbWJlZGRpbmcgaW1hZ2VzIHNtYXJ0bHksIG9ubHkgdG8gYnJvd3NlcnMgdGhhdCBhcmUgY2FwYWJsZSBvZiB1bmRlcnN0YW5kaW5nIHRoZW0uPC9saT4NCjxsaT5Db21iaW5lIGNvbW1vbmx5IHVzZWQgYXJndW1lbnRzIGludG8gbmFtZWQgYWxpYXNlcy48L2xpPg0KPGxpPkFsc28gd29ya3Mgd2l0aGluIHN0eWxlc2hlZXRzIHZpYSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcuPC9saT4NCjxsaT5UaGUgYWJpbGl0eSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGluc2lkZSBhIGJsb2NrIG9mIGh0bWwgY29kZSB1c2luZyB0aGUge3NpX2NvbnZlcnR9IGJsb2NrIHRhZy48L2xpPg0KPGxpPk1vcmUuLi48L2xpPg0KPC91bD4NCjxoMz5XaHkgc2hvdWxkIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGVyZSBhcmUgZm91ciB2ZXJ5IGltcG9ydGFudCByZWFzb25zIHRvIHVzZSB0aGlzIHBsdWdpbjo8L3A+DQo8dWw+DQogIDxsaT5QZXJmb3JtYW5jZTogIFVzaW5nIGltYWdlIGVtYmVkZGluZyAoZXZlbiBpZiBubyBvdGhlciBmdW5jdGlvbnMgYXJlIHVzZWQpIHJlc3VsdHMgaW4gZmV3ZXIgcmVxdWVzdHMuICBNb3N0IGJyb3dzZXJzIG9ubHkgcGVyZm9ybSB0d28gdG8gZm91ciBzaW11bHRhbmVvdXMgcmVxdWVzdHMgdG8gdGhlIHNhbWUgZG9tYWluIGF0IHRoZSBzYW1lIHRpbWUuICBGb3Igd2ViIHBhZ2VzIHdpdGggbG90cyBvZiBpbWFnZXMgdGhpcyBjYW4gc2VyaW91c2x5IHNsb3cgZG93biB5b3VyIHNpdGUuPC9saT4NCiAgPGxpPlBlcmZvcm1hbmNlOiAgRXZlbiBpZiBub3QgdXNpbmcgZW1iZWRkaW5nLCBzZW5kaW5nIGxhcmdlIGltYWdlcyB0byB5b3VyIHZpc2l0b3JzLCBhbmQgYXNraW5nIHRoZWlyIGJyb3dzZXIgdG8gc2NhbGUgdGhlIGltYWdlIGlzIHZlcnkgdmVyeSBzbG93LjwvbGk+DQogIDxsaT5TZWN1cml0eTogIFNtYXJ0SW1hZ2UgY2FjaGVzIGl0cyBpbWFnZXMgaW4gYSBzZXBhcmF0ZSBkaXJlY3RvcnksIHRoZXJlYnkgaGlkaW5nIHRoZSBvcmlnaW5hbCAocGVyaGFwcyBjb3B5cmlnaHRlZCkgaW1hZ2VzIGZyb20geW91ciB1c2Vycy4gIElmIGVtYmVkZGluZyBpcyB1c2VkIHRoZXkgY2FudCBldmVuIGZpbmQgdGhlIGNhY2hlZCBsb2NhdGlvbik8L2xpPg0KICA8bGk+U2ltcGxpY2l0eTogIFRoZSBmaWx0ZXJpbmcgY2FwYWJpbGl0aWVzIG9mIFNtYXJ0SW1hZ2UgYWxsb3cgeW91IHRvIGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBpbWFnZXMgZm9yIGNvbnNpc3RlbnQgYW5kIHNlY3VyZSBkaXNwbGF5LCB3aXRob3V0IHNpdGUgZWRpdG9ycyBoYXZpbmcgdG8gcGxheSB3aXRoIHRoZW0uICBUaGV5IGNhbiB1cGxvYWQgbGFyZ2VyIGltYWdlcywgYW5kIHlvdXIgc2l0ZSB3aWxsIGp1c3QgaGFuZGxlIHRoZW0gcHJvcGVybHkuPC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byB1c2UgaXQgaW4gdGhlIHNhbWUgcGxhY2UgeW91IHdvdWxkIHRoZSB7aW1hZ2V9IHRhZy4gIEkuZTogU29tZXRoaW5nIGxpa2UgPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5O308L2NvZGU+LiAgVGhpcyB3aWxsIGdlbmVyYXRlIHRoZSBpbWFnZSB0YWcgZm9yIHlvdSB3aXRoIG5vIHByb2Nlc3NpbmcuICBBbmQgaWYgcG9zc2libGUsIGVtYmVkIHRoZSBpbWFnZSBkaXJlY3RseSBpbnRvIHlvdXIgaHRtbCBvdXRwdXQuPC9wPg0KPHA+T2Z0ZW4gcGVvcGxlIHdhbnQgdG8gZGlzcGxheSBhIHdhdGVybWFyayBvbiB0aGUgaW1hZ2VzIHRoYXQgdGhleSBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZCB0byBwcmV2ZW50IGltYWdlIHRoZWZ0LiAgVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgcHJvdmlkZXMgc2V0dGluZ3MgZm9yIHlvdSB0byBjb25maWd1cmUgd2F0ZXJtYXJraW5nIGFuZCB5b3UgY2FuIGVuYWJsZSB0aGF0IHdpdGggYW55IGltYWdlIHdpdGggYSB0YWcgbGlrZSB0aGlzOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7IGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+LiAgVGhpcyB3aWxsIHJlYWQgdGhlIGltYWdlLCBhcHBseSB0aGUgd2F0ZXJtYXJrIGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gQ0dFeHRlbnNpb25zLCBjYWNoZSB0aGUgYWx0ZXJlZCBpbWFnZSwgYW5kIHRoZW4gZW1iZWQgaXQgaW50byB5b3VyIG91dHB1dC48L3A+DQo8cD5BbHNvLCBQaWN0dXJlcyB0YWtlbiBieSBtb2Rlcm4gZGlnaXRhbCBjYW1lcmFzIGFyZSBvZnRlbiB0b28gbGFyZ2UgZm9yIHVzZSBvbiBhIHdlYnNpdGUsIHRoZXJlZm9yZSB0aGV5IG5lZWQgdG8gYmUgc2NhbGVkIGJlZm9yZSBkaXNwbGF5ZWQgb24geW91ciBwYWdlLiAgVGhpcyBjYW4gYmUgZG9uZSBxdWl0ZSBlYXNpbHkgd2l0aCBhIHRhZyBsaWtlOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7IGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O3csMzUwJiMwMzk7fTwvY29kZT4uICBBcyB5b3UgbWF5IHRoaW5rLCB0aGUgd2F0ZXJtYXJrIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2UgYmVmb3JlIGl0IGlzIHJlc2l6ZWQgdG8gYSBtYXhpbXVtIHdpZHRoIG9mIDMwMCBwaXhlbHMgKHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgVGhlbiB0aGUgYWRqdXN0ZWQgaW1hZ2Ugd2lsbCBiZSBjYWNoZWQsIGFuZCBpZiB0aGUgYnJvd3NlciBhbGxvd2VzIHRoZSBpbWFnZSB3aWxsIGJlIGVtYmVkZGVkIGludG8gdGhlIEhUTUwgb3V0cHV0LiAgSWYgZW1iZWRkaW5nIGlzIG5vdCBwb3NzaWJsZSwgdGhlIGltZyB0YWcgd2lsbCBjb250YWluIHRoZSBVUkwgdG8gdGhlIGNhY2hlZCBpbWFnZS48L3A+DQo8cD5Gcm9tIGhlcmUgeW91IGNhbiBjb21iaW5lIHRoZSBvcHRpb25zIGJlbG93IHRvIHBlcmZvcm0gYWxvdCBvZiBkaWZmZXJlbnQgZWZmZWN0cyB0byB5b3VyIGltYWdlcywgYnVpbGQgc2ltcGxlIGdhbGxlcmllcywgYW5kIGltcHJvdmUgeW91ciBzaXRlIHBlcmZvcm1hbmNlIGF0IHRoZSBzYW1lIHRpbWUuICBFbmpveSE8L3A+DQo8aDM+QXV0b21hdGljIGltYWdlIHJlc2l6aW5nPC9oMz4NCiAgPHA+SWYgeW91IHNwZWNpZnkgYSB3aWR0aCwgYW5kL29yIGEgaGVpZ2h0IHBhcmFtZXRlciwgYW5kIGRvIG5vdCBzcGVjaWZ5IHRoZSAmcXVvdDtub2F1dG9zY2FsZSZxdW90OyBwYXJhbWV0ZXIsIHRoZSBtb2R1bGUgd2lsbCBhbmFseXplIHRoZSBmaWx0ZXJzIHlvdSBoYXZlIGFscmVhZHkgc3BlY2lmaWVkLCBhbmQgaWYgdGhlcmUgaXMgbm8gcmVzaXplIGZpbHRlciBhbHJlYWR5IHNwZWNpZmllZCBhdXRvbWF0aWNhbGx5IGFkZCBhIGZpbHRlciB0byByZXNpemUgb3IgY3JvcHRvZml0IHRoZSBpbWFnZSBvbiBvdXRwdXQuICBUaGlzIGlzIHVzZWZ1bCB0byBkbyBhdXRvbWF0aWMgdGh1bWJuYWlsaW5nIG9uIHRoZSBzZXJ2ZXIsIGFuZCBub3QgcmVxdWlyZSB0aGUgYnJvd3NlciB0byByZXNpemUgdGhlIGltYWdlLjwvcD4NCiA8aDM+QSBTaW1wbGUgR2FsbGVyeTwvaDM+DQo8cD5UaGUgY29kZSBiZWxvdyB1c2VzIHRoZSB7U21hcnRJbWFnZX0gbW9kdWxlLCBmYW5jeWJveCwgYW5kIGEgYml0IG9mIHNtYXJ0eSBtYWdpYyB0byBnZW5lcmF0ZSBhIHNpbXBsZSBsaWdodGJveCBzdHlsZSBhbGJvbSBmcm9tIGEgc3ViZGlyZWN0b3J5IG9uIHlvdXIgd2Vic2l0ZSwgd2hpbGUgcHJvY2Vzc2luZyB0aGUgaW1hZ2VzIGZvciB3ZWIgc3RhbmRhcmRzLCBhbmQgY3JlYXRpbmcgdGh1bWJuYWlscy48L3A+DQo8cHJlIHN0eWxlPSZxdW90O2JhY2tncm91bmQtY29sb3I6ICNkZGQ7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyZxdW90Oz48Y29kZT48c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMTo8L3NwYW4+IDxzY3JpcHQgdHlwZT0mcXVvdDt0ZXh0L2phdmFzY3JpcHQmcXVvdDs+e2xpdGVyYWx9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMjo8L3NwYW4+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiAzOjwvc3Bhbj4gIGpRdWVyeSgmIzAzOTthLmZhbmN5Ym94JiMwMzk7KS5mYW5jeWJveCgpOw0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDQ6PC9zcGFuPiB9KTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA1Ojwvc3Bhbj4gey9saXRlcmFsfTwvc2NyaXB0Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDY6PC9zcGFuPiB7YXNzaWduIHZhcj0mIzAzOTtmaWxlcyYjMDM5OyB2YWx1ZT0mIzAzOTt1cGxvYWRzL2FsYnVtLyouanBnJiMwMzk7fGdsb2J9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNzo8L3NwYW4+IHtpZiBjb3VudCgkZmlsZXMpfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDg6PC9zcGFuPiA8ZGl2IHN0eWxlPSZxdW90O3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsmcXVvdDs+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gOTo8L3NwYW4+IHtmb3JlYWNoIGZyb209JGZpbGVzIGl0ZW09JiMwMzk7ZmlsZSYjMDM5O30NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEwOjwvc3Bhbj4gIDxhIHJlbD0mIzAzOTtzaW1wbGVfYWxidW0mIzAzOTsgY2xhc3M9ImZhbmN5Ym94IiBocmVmPSI8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57U21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDUwMCYjMDM5OyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTE6PC9zcGFuPiAgPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwIGZpbHRlcl9ncmF5c2NhbGU9MSBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDE1MCYjMDM5O308L3NwYW4+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMjo8L3NwYW4+ICA8L2E+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMzo8L3NwYW4+IHsvZm9yZWFjaH0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjE0Ojwvc3Bhbj4gPC9kaXY+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xNTo8L3NwYW4+IHsvaWZ9DQo8L2NvZGU+PC9wcmU+PGJyLz4NCjxwPkxldHMgdGFsayBhYm91dCB0aGlzLjwvcD4NCjxwPkxpbmVzIDEgdGhyb3VnaCA1IHV0aWxpemUgalF1ZXJ5IHRvIGNhbGwgZmFuY3lib3ggb24gYW55IGxpbmtzIHRoYXQgaGF2ZSB0aGUgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgY2xhc3MuICBUaGUgZmFuY3lib3ggalF1ZXJ5IHBsdWdpbiBpcyBpbmNsdWRlZCB3aXRoIHRoZSBKUXVlcnlUb29scyBtb2R1bGUuPC9wPg0KPHA+TGluZSA2IHVzZXMgYSBidWlsdCBpbiBwaHAgZnVuY3Rpb24gY2FsbGVkIGdsb2IsIGFuZCBzb21lIHNtYXJ0eSBtYWdpYyB0byBmaW5kIGFsbCBvZiB0aGUgSlBHIGZpbGVzIGluIHRoZSB1cGxvYWRzL2FsYnVtIGRpcmVjdG9yeSBiZWxvdyBvdXIgaW5zdGFsbGF0aW9uIHJvb3QuPC9wPg0KPHA+TGluZSA3IGlzIGEgdGVzdCB0byBzZWUgaWYgYW55IGZpbGVzIHdlcmUgYWN0dWFsbHkgZm91bmQgaW4gdGhlIGFzc2lnbiBsaW5lIHN0YXRlZCBhYm92ZS4gIFRoaXMgaWYgc3RhdGVtZW50IGlzIGNsb3NlZCBvbiBsaW5lIDE1LjwvcD4NCjxwPkxpbmUgOCBvcGVucyB1cCBhIGRpdiB0byBjb250YWluIG91ciBhbGJ1bS4gIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBleGFtcGxlIHRoZSBzdHlsZXMgd2VyZSBpbmNsdWRlZCBpbmxpbmUsIGhvd2V2ZXIgYSBjbGFzcyB0aGF0IHdhcyBkZWZpbmVkIGluIHRoZSBzdHlsZXNoZWV0IHNob3VsZCBiZSB1c2VkIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLiAgVGhlIGNsb3NpbmcgdGFnIGZvciB0aGlzIGRpdiBpcyBvbiBsaW5lIDE0LCBqdXN0IGJlZm9yZSB0aGUgPGNvZGU+ey9pZn08L2NvZGU+LjwvcD4NCjxwPkxpbmUgOSBiZWdpbnMgYSBsb29wIHRocm91Z2ggYWxsIG9mIHRoZSBmaWxlcyB0aGF0IHdlIGZvdW5kIGluIHRoZSBkaXJlY3RvcnkuICBUaGlzIGxvb3AgaXMgY2xvc2VkIG9uIGxpbmUgMTMuPC9wPjxici8+DQo8cD5MaW5lcyAxMCBhbmQgMTEgYXJlIHRoZSByZWFsIG1hZ2ljLiAgSGVyZSB3ZSBjcmVhdGUgYSBsaW5rIHdpdGggY2xhc3MgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgYW5kIGFkZHMgdGhlIDxjb2RlPnJlbDwvY29kZT4gYXR0cmlidXRlIHNvIHRoYXQgZmFuY3lib3gga25vd3MgdGhhdCBhbGwgb2YgdGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyIGFzIG9uZSBhbGJ1bSBhbmQgYWxsb3cgY2xpY2tpbmcgYmV0d2VlbiB0aGUgaW1hZ2VzLiAgVGhlbiBjb21lcyB0aGUgcGFydCB3aGVyZSB3ZSBkZWZpbmUgb3VyIGltYWdlcy4NCjxwPldlIHN1cHBseSB0aGUgJGZpbGUgdmFyaWFibGUgdG8gdGhlIHNyYyBhcmd1bWVudCBvZiB0aGUgPGNvZGU+e1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+DQo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+DQo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+e1NtYXJ0SW1hZ2V9PC9jb2RlPiBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBjYWxsLCBleGNlcHQgdGhhdCB3ZSB1c2UgYSBkaWZmZXJlbnQgaGVpZ2h0IHZhbHVlICgxNTAgcGl4ZWxzKSBmb3IgdGhlIHRodW1ibmFpbCwgYW5kIGZvciBraWNrcyBJIGNvbnZlcnRlZCB0aGUgdGh1bWJuYWlsIHRvIGdyYXlzY2FsZSA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiBhcHBseWluZyB0aGUgd2F0ZXJtYXJrLiAgSSBhbHNvIHJlbW92ZWQgdGhlIG5vZW1iZWQ9MSBhcmd1bWVudCBzbyB0aGF0IHRoZSBzeXN0ZW0gY291bGQgZW1iZWQgdGhlIGltYWdlIGluIHRoZSBIVE1MIG91dHB1dCBpZiB0aGUgYnJvd3NlciBzdXBwb3J0ZWQgaXQuICBUaGUgc2NyZWVuIGNhcHR1cmUgYmVsb3cgc2hvd3MgdGhlIGVmZmVjdC48L3A+DQo8aW1nIHNyYz0mcXVvdDtkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8yd0JEQUFnR0JnY0dCUWdIQndjSkNRZ0tEQlFOREFzTERCa1NFdzhVSFJvZkhoMGFIQndnSkM0bklDSXNJeHdjS0RjcExEQXhORFEwSHljNVBUZ3lQQzR6TkRMLzJ3QkRBUWtKQ1F3TERCZ05EUmd5SVJ3aE1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakwvd0FBUkNBQ2hBZkFEQVNJQUFoRUJBeEVCLzhRQUhBQUFBUVFEQVFBQUFBQUFBQUFBQUFBQUFBUUZCZ2NCQWdNSS84UUFVQkFBQWdFREFnTUVCd1FHQndRSUJRVUFBUUlEQUFRUkJTRUdFakVUUVZGaEJ4UWljWUdSc1NNeW9kRVZNMEpTa3NFV0pUUmljblB3SkZXQzRSYzJRMU5XZzZMeEpqVkVZN0prazdQQzB2L0VBQmdCQVFFQkFRRUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJeEVCQVFBQ0FnTUFBZ0lEQUFBQUFBQUFBQUVDRVNFeEF4SkJFeUlqUWxGaGtmL2FBQXdEQVFBQ0VRTVJBRDhBdGZXOVZ1Yks3MCt4c2tnOVp2cEdWWkxnbnMwQ2pKeUJ1VDRDdEx2VkxuVExGWTlRdk5NaTFHWitXREljUnVNZ2ROem5mNlYwNGhrMFgxYUtEV3d2WXlNZVJtVnNLdzcrWmZ1bnpxSjNNbDFKd3RJSGt1SnJOTldnV3ltdUFlMGVMbUhYTzVHZWhOQk5MclhOS3NaSGp1dFF0NFhSd2pLNzRJWWpPTWU0ZzF0SHJXbHkzd3NvOVF0bnVXR1JFc2dKTzJkdmhURkZESEp4THhnenhxeDdHTlFXWE8zWkhiOEJUWERFcWNKOEZ1c1lWeGVRSElYQjM1cy9PZ2xiOFM2SkhPME1tcVdxU3E1alpXZkJERFlnK0ZjNTlTdUU0dHNkT1JrOVduczVabTluSkxLUmpCOEtpOXJxZW1XMm44U1dkMkJKY1QzMXdFZ0VSWnBjN0FEQThmbFNxeml1TkwxbmhjNmh6b3cwNTdWcENDUUpTUmhTZTQwRW1tMTNTYmE5OVRtMUcyanVNZ2RtMGdCQlBjZkErK25DcTRza2dqMGU1MGJWdFFlMXVaSlhXZTNOaUhlUXMyenEyTXRuSU9lNnJCdG9SWjJVVURTczZ3eGhESS9VaFJqSitWQTJYZXZKYThTMldrbGNpZENYay9jWS9jSHg1Vy9DajlKWFA5THBOTnlucXk2ZjZ3Qnk3OC9QanI0WTdxaXp4NnZxK21hbHFWcnAwYkM3bkZ6Ynp0Y2Nyb3NSOWdCTWI5RDM3ODFPVnJxTVYxeGRaYWl3WklkUTBvSkV4VTRNbk1TVXozRVlOQXM0YjRwdGRSMHl6Vyt2N1VhbE1HekVDRkpQTVFCanh3QnRUN0hlVzAxeGNXOGN5Tk5iNDdaQjFUSXlNL0NxN3Q3aXp1ZlI3RG8wY2JTYXMvNnFFUXR6cTVmS3ZuR3d4dm5OUGR2Znc2THhOcmE2ZzdxOXpIQTBHSTJidGlJK1U4dUJ1YzkxQklQMDdwUXRvN2s2aGJpR1ZHZEhMWURLcHd4SHVKQXJtZUpORVdLS1E2cmFCSlNRaDdRYi9sOGFoMmdSaDI0TUVpQmdJN3RzTU00SUpJTkxCYnhmbzNqcjdGUDEwbVBZSGRIa2ZqdlFUa0hJeURrR2lrT2lrblFkT0p6bjFXTE9mOEFwZFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZSbHVEcmZsNUZtRWtZVUtvbVZpUUFQN3JLUHdxVFVWWmRKWnN3YU53cGJhUGZldUxjU3lTQlpFUk9pSXJsU1FBY245Z2RTYWY2S0tpaWpyUlJRRkZId294NVVDRFM5TFRTeGRpT1Y1UFdibDdsdVlBY3BiR1FNZDIxTDZNZVZHRDRVQmsrTkZHRDRHakI4RFFGRkdENEdzNFBnYURHVFJtczRQZ2F4ZytCb0NpaWo0VUJSUjhLUGhRRkZHUEtqSGxRRkZHRDRHakI4RFFGRkdENEdqQjhEUUZGWndmQTFqQjhEUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVlQZ2FQaFFGRkZHQ1RqRzlBVVZua2I5MXZsUnl0KzYzeW9NVVZubGI5MXZsUmcrQitWQmlpakI4S3p5dCs2ZmxRWW9ySlVqcUNQZUtBckhvcFB3b01VVm5sYjkxdmxRVllkVkkrRkJpaXM0UGdmbFFBVDBCUHVGQmlpczhqZnVOOGpSeVA4QXVOOHFERkZaS3NPcWtlOFVjamZ1TjhxREZGWjVHL2NiNVVjai91TjhqUVlvclBJMzdyZktqbGI5MXZsUVlvclBLMzdwK1ZBQlBRRSs0VUdLS3p5dCs2M3lyRkFVVVVVRGJxVEVTeDRKR3g2ZStrWE8zN3pmT2xtcWZyWS84Sit0TitkOFVHNWtZayswM3pySE94L2FiNTFwbmV0U2FEY3lQbjd6Zk0xelozeHN6Zk0wWk5jM29NbVIvd0I5djRqWE15UC9BTjQvek5ZSnJVbnpvTU5KSisrMzhScmk4a20vMmoveEd0MkpwTzIxQmhwNWYrOGYrSTEzNFIxQTZrWTdqMmg5c3lZTEU3Q2tMdHYxeFhIZ2Vkb1dnanh6Q1Mra1FrZEIxTkJNN3gyRjNKN1J3Q05zK1ZjQzdkN0g1MTF2djdaSjhQcFNWajQwRzVkc2ZmYjUwZG8vZXpmT3RNNXJHZkhyUWJGMi9lYjUxb1pIejk5dm1heHpBSEhTdWJNRDMwR1drY2Z0dC9FYTBNci9BTDcvQU1SclJtM3JRbkZCc1paTWdjN2Z4R3VUelNEOXQvNGpRVzNyaTVvTlhta0EybGYrSTA2Y015TStxeWd1N0FRbnFTZjJoVExLZHMwNjhLSE9yVC81UFgvaUZBNE5JMlQ3UjZudnJIYXNQMm0rZEkzdVZEdm54SXJtYnRSM2lnY1JNM1RtYjUxbnRXL2ZiNTAwSFVZMUpIT3VSNG11YjZxbU5uWCtJVUQwWjNEWUxIR091YXdidmw2c2ZuVU4xRGlxMXNjbWFkVngzYzFNNDlJZWx6U2RuNnlBZk5xQ2YzZXNyYnFUemtudXFQM25GRndTUWtoSHVxTlhYRWxzOHFabVRzMzJEODJ3OTlJNU5Sc1pFa2NYMGFoY2tzUEx6OGFDUVcrdTZycWx6TGE2ZElKWm93REp6UHlyR1BNK1BsMXAxZy9TZk5PdDVxMGtUUTRMZGlBRkhtYzVxc0xUaTZiaEpCNnRINjI5eXJPc3pleUQvZS9HbUhVdUplSWJxNmFTU1M1UmdRU2U3STZIcFFYeHhScVY3b2NWcmNXY3N6cVVWbVNZaGxrQnh2dHZtbDNGRnk3ZWp2VVoxTEkvWnFSZ2tGZmJUYk5lZmh4VnhOcU4zSGMzZDllMzB3MjdObDJLZzVIZGo4S3Q1dFJ2TlU5Q21xM1Y3RDJOd1NReWs1eGgwL0dncW1hOHVocTh5aTl1VlJsQkdKbXh0OGFjOU92YmlPL1F0ZTNQSVJnODBySGMvR21KNVErcDI1WWMzUEVSdjFHS2NZbUNUeHR5SFBmZ1p6UUxkZXVydjlKVzBrZDVjc25aNC9YTU53VDRHckQwS0dhNnRyS2RwcHNQR3JIMno0ZStxMDFRbmxnd0NBR0lxenVDcHUwNGV0WE8rRTVDZWJPNFAvT2dsOHp4aUdPRnBDQzU1VkcrNXhucjhLcjdpeTJraTAvVXBVdnJxUDdGOHhpVEFKV1JRTURyakdjNzljVk43bXpudVJic3NUa0pNc2dJSFVqT0tZT0w5TmRyYWVOWXBoUExieW9pSW85dGh5bFYzQlBlZW1LQnI5RGR4SkpmYXJienlTeUV3Q1JTN2xzZHhHNTg2ZXVJN0N3dXRPbnVuRWd2WUxkbGlsRTdyZ0Rmb0RqeDZpbUQwVlc5M1k2enJFTWtiMjg2V1dNU2o3amMzZUtiTlZ0K0pGdG5lNTE3dG9TcEx4cGJnQWp3ejNVRFhwZGxkYXZxTUtHNHVKSTRvSkpHZ2E0ZE8xYktxTWtIb001cDhzMy9BS05tNGp1N3E1Z2dlUldRYzdTdEo3SUpVRTl3T2ZjTVo4YWplZ2F1TksxKzBGeElrY0VzVXFTTzdZQzQ1V0J6OEtjK09MUkxvMmVxMmM0bHQrVHNuTVc0eHpaRGVlYzQrVkJwcVhGa3BkaGJ6eXhZSjVGV1J1WWZIcDE4cWUvU1ZkM0k5SEhDY3l6VFJ5eU1wY3JLUVQ5ajNrSGVvQnlXNGtoY082QlR6TXJzRHlONDV4NUQzVk92U1NESjZOT0Q4a2trcGtucitwb0twdWI2K1ZWWVh0ME45L3QzL091OXRxVjdsVk43Y2tmNTcvblNmVUVUMUl5STJTa25LK0QwTmJSMkY0dW5SNmkxdko2bThuWnJNUjdKWWRSbnhvSDIxMWJVN1FPOXRxVjFFN3FWYmxsSnlwN3R6VGRjMzk2Y2tYdDF6WkhTZHQveG9pbEhZRGZwMXBIZGtOYnRuQjNIWHVvRjFyZGFnQzZTM04ydTNScG4yL0dzVFhsNHVDdDdjK1gyN2ZuU2ZRVlNXNVpaV2s3SUp6UHlBRmdNanBuclc5OHFMSTVoNSt5NWp5bDhaeDU0b085dHFOK2poeGUzSUtuS250VzJQZDMxS1JkU1hzU1gwTnhPZ2ZhV05aWDVZNVIxVWI5RDk0ZThqdXFGcElBdU5zK2RQWEQrcFIyRjhlM2FRV2N3NVprWHc3bUhtcDN4M2pidm9KYmFUM01EUlN0Y1RFZy90U3NmUHhxVmVtYTN1SDRTc2J5MW1sUnUxUldhTnl2VldJNmVkZDdQaHlEVkVpVG5WWmNZWWo5dndPZmRpczhjelQzR2cyL0RyV3J0Y0NOSnUxWmgreVN1QVBFanZvS2E0VTlmSEYyamM5NWNsUFhvUXl0T3h5T2NkUm12VXg2bXFRNFc0V2doMXF3bHVVbldlTzRSMVZtQzRJWUhjWS9uVjMwQlJSUlFOV3Jmcll2OEordE4yYWNkVy9XeGY0VDlhYkdvTWs3MXJ6WXJESEcrRFRGeEp4SEhvTm9za2tMdUh5QXk0d01VRDR6aXVaa3FwWDlLOTdISi9aN1J4MDNMQ2xOaDZXNFRJVjFHekNvVHMwQkpJK0JvTE5MZDlhTXh4MDJxUGFmeGxvdW9SSzZYcUt6ZnNObm1Id3BiK25OTnovYkkva2Z5b0hFbmF1RDBRM1VWMUVKWUpCSWhKQUkyNlZpUTBDVnp2aytOTE9BMkhxeXNla2wzS1ViOTRaNmp5cGoxMStUVGp1d1ZwRVZzSEhzbGdDS2t2REtCSnJlTlJoVmtPQjRiVUQzcUcxNUo4UHBTVW1sVi93RDJ5VDRmU2tob05RYTVUVGlDSjVDQ1FnemdkVFhUdjZWRk9OZFRGcHBndFJLWTN1VHlsaG5PUERieG9HRFdQU1JQYjNVaTJscUJHdTMyM1hQZjBwRkg2VkpTeW1TeWo1TSsxZzc0cUtYMXZEMlRNSCtZSk5Na2lvaWZmR2ZlYUM3ZE40MzBuVTVZNG8zWkpIemtQc0YyOGFrQ3lMSW9aR0RBOUNEWG0rRzRFYjVFcFUrSXF6dUJlSlJOYnpSMzE2QXNTaFkxT2ZuUVdFYTVPYXlraVNJcm9RVllBZ2p2clYrbEFua08xTHVESGVYaU8rTE9lUklBaXAveERKcEJKMHBad1IvMWoxTGJmc3gvK1FvRU05eTNhdnYrMGZyWEF6dTNmVGhQYXFKWC93QVI3dk91WXRvejF6OHFDQmErNS9TOHA3K1ZmcFVZMWpXVTArRXFwQm1ZWVVlRlRUaUMyUmRZbEFIUkY3dktxZzE2WnBOVG15YzRZZ2VWQWludTVaNUdlU1FsajFyZ0pDRDEzcFZZNlpQZnY3SUtvT3JHbiszNGJ0MEE3VExIem9JK2wwVlhCWThnT1N0U2ZUZUsyc2JVMjVnV2ExQTVsVmtCNVQ0MG9UaHV4ZGQ0K3ZoVzAzQ1RXMWxMTmJQekVEbUtONGVGWnl5OVhidytMOG1WM3hERGZUeWFuYytzRkVSVDkxUnNBTytuMjBqa0UwYlhISzBJeHpLaTRKSGhudXFMeHl5SmNNSFhsd1NDbmNLbWR1QklxTUNNRUN0T1Y0dkIzMUtmUnA5TVNMUzlNbXRieklMeXl6OW9wWHZITFV2MGRKbjlDR3NKSVVaek80SEt2S01jMGRRUlV3d3FmMlE1ZlFwckJIL2ZzZjhBMXgwUlY4Mm44aVcwalN4UWhIR1dkOXNIR054bWxDdU9ibDV3V1VuSjVlbEtOVFR0dERsbnhnUmNyYmVSeHZTT0VjLzNRY0FLVGdiRE85QXRuaWdsakwzSWtaWS9iUUkyTXQ1bnVGU3JTdFkxQzM0YWdzckJrdG1lY3pDU1JNcXVEakJKM09kc1kyNjFybzBPbmFUYlI2anFNQ1hEU1k3TzFLOHdPUDJpTzgrL2FwTnhYYmFYcmx2cDV0ZFNndEpvTVJzZ1FxRlhPY0FBYlk4S0NUYVJOZlhIQUthaGV4T05RZTM5dU1ObGNnNHlnN2dSdlNUakRTVTFPUWFmRXBTTmNaNUNRRkJVOVFPNDcvaFdxY1k2VG85dERwY1YzQklxUUJGREJ0Z1BJQ212V09KclM3N1NTMXZTSGxUSmVGQ3JOZ2JaUGRqZjUwRGI2T3JDYlMrSUxwR0VmYVBFNkdEbXc0UU9DR0k2WVB6MzZVbDF5V2U3bmx0b05QbWtjZG9nVmNEYmY2YlVxNEhuczlKdm52NysraVQxaUpvaXhKTGgyd2NIYnhGT1NUaTltdW9OT2pWaXhmTEp1OG96Z25KeHQzWUhrYUN2WHM3YlM5Y2dWclUzVitFUE5JUDFNQUtBNHdSN1RlZlFlZFMyR3dUVmJOOUpFVTBjMTRXajdjcjdJQklJT2V1QVBLbld5NFgxTFZManRncVF4TW5MMmpuYndJeDM5S2UrSU5HL1JIRGQ5ZTIxMUt0eEJiczZka2lvZVlEYkJHNCt0QkhyYjBNMjZ4cXI2cEtjOVNJODkvY1BuU0QwdjZkSHBmQnZEK20yNVl4VzF4MktGdXBDeEVETk1jTjdmUmNzOHVwNmpNN0wwbnZaR0ErR2FkL1NneGw5SDNERHNTeGFSU1NTU1Q5bDQ5YUNCMmQvcGIraXkvMGk0ZFUxT0NjTWlIN3o1Y0VGZmhrZkNtS0hUWTVMS0oxSlZtVUh5cHkxS09IOUR2eUFoeVl5YzV4MXJ0cDl1VFlRbkczTDNEem9HWDFlNmpRcmdPdmlLMHVVQnM4R1Q3Vmo3VVpVZ3JqdnowTldHbkRVYzJqTmNLd0VnT2ZlS2grcHJidlp1Qk1uTXFjd3dPNEhmZWc1OE1SdzV2OEF0V0MvN01lVFBlZVphMjFhSUpaaVJWMkw0NjF3ME80aEVWeUdtNUhiQzlPNy9RcGJxNndMb2lOMnZNL2Jia0gyY1lQZGpyOGFCdm5OcGNOYmVvd1N4dVVXTjBhVHRESkpucXV3d1BMZjMwT1d0eVZsVXF3T0dCR0NwSGlLSWpCQ3RzeVM4a29ZU2xsRytPdXhQUStGT0VrUDZVdFpQVitTWm1PWkpNYjh4OGM3NHgxTkJabm81MXUzaXRJYkc0dUlrZU1oNE9ZNE9DU1N1ZnhIdk5TdmpmVTdLM3RiTFZaQVhnQk1KQ1k1c25CSFh1MmFvYnc3Y2FGYldkcXNlaXlYVnpnTEpOT1ZTTmlPL09jNEh1M3dLbEVXcld1c3ZkMk54cE5vOGNaNW93NkNRRTQyM1B2T052SHBRTVdpOGM2TE5yRmxaTGFYWWtrbVNOQ1FtQXhJQXp2NTFhOVJ2VFlkQVRzNDR0THM0cm1KdGliWkFTZWJBS25IamlwSlFGRkZGQTA2dit0aUhkeW42MDFuNDA2YXgrdGkvd0FKK3ROWjZVR2puQnFyT0xZN2pXWmJ1ZEZra2lqMlJjN0lOaCtQV3JRbHh5Tm53cU5haERIRm9WMDBhY29lUEorWW9LUHU5TmxqY0ZsSThhUXZBUTJNR3BsZmhSTVJqclRQUEd2TWRobWdhTGQ1YmFaSkVZbzQ2RVZaa0VRR254UzlvT1lnYlp5Zm5VRWEzN1Fxd1haVHVlNFZMTkpuYWF3UlMyZXo5bkdUaXBlK0hYSDFtTnVTd09ITS9vWlA4eC9yVGk0ODZidUhCL1V5ZjQyK3RPTGdFSGI4YXJrWmRmWG0wcVVEWUJsT2Zjd3FVY040OVloem5QYS95cU5hK0IraHJueVhQeXFSOE5NUFc0UVJqRDVIbnRRUGQvajF1WFBYYjZVa2FsZC8vYkpQaDlLUm1nNW5yNVZEZU1vbzNFYmxjdXJydjhEVXlZVlgvSEYzSmFLNmtBa3lLd2J3SEsyMUJGTlFSVEdBUjVWSDdxM2pPNFhwV2JqV3BYY3h0SW1PblRGSTU5UUlJRFkzNmVZb05UYnFWSVZjazA4NkhCNm5kbFJKbm5UZGZBMHpRWGg1eElGd282SFBmVGhZVHl5YXBEZ0VnN2RlZ3JQMTEvV1lYYzVxNzdMK3dXMytVdjBGZEdyU3lIOVgyMytVdjBGZFdyVGtUUDVVcjRMMjRuMUlkM1lLZnhGSlpBQUNLWGNJUXNuRTE3SmoyWHRoZy84QUVLQjN2ckR0T2FXSmR4MVVkL25UTTBYS2NkL2hVbHM3dUM5amFTM2NNQXhVK0lOTWVrb3QzZFhuYW5PUHUrV1NhQ3VlTWJnV2wxZXpuYnM0VkkrVlZCWldqNnZxYkFraGM4OGpmSCtkVzU2U28xUnRUUnQyRUM0OStCVmU4TVFGTE9hWURMTytBZklmNk5BN0pIRmJ4aUtKUXFyMHhRWHlOcXkzS28zTzljeTRCMm9mNkxiWm43Uk1iYmpmd3A3am5rdVZWWlF2VWpQWEpxT1BxNjZkQVVtaFBpcHlDQ2ZFVnpzdUpBSkVMQWhBZXBGWW43WGw2TTkrUEgxbDc3YWNUYUY2dklidUpQWmMrMWl0ZEtjcEdJMk9lWGRUVTRTTzMxelJ5Z2JabDYrQnFMWHVpM1duWE1sbzY5bmRSdHlGVDQ3WVBoaXR2T1VEWnMvT3JDMGtjL29jMVVZNXN6UHQvd0FVZFFFOEtjWDIyR3VMYlR5V3dBbzFDSG1PU0FOdWJ6RldOQnBkOXBmb2gxVzF2b1ZpdURJWDVCSXNnd1dqNzFKSGNhQ0NROGhpbXQ1RVU5dEhnZ0FOdmpZSDYwaHRsWkpaYmRZZ29kVkRaSVBUd3g3dXRLWW9wU1F2WjgyUmhlWGJGS0xmVERhcEpQT3dSMlRFU25QdE4zWjhnTjZCWEU2cmFMRGRTaU9PTTg4Yk9jZXpqSkE5dzMrSGpTNWJxMjlabjVXSDN5YytOUjJTUDFobWt1dVdkMlVwbjkxY1l3TTlPcDZWR3A3MitzTHlkWUhWNGd4NWVja0hGQktOWGUyYWFXUVpEQkErVjd4bmNmS25xR2RKSVVhSWhrNWQ1Q05oL3dBK3RRcXdtTjFjb2JvODVaR0JDOUNRUWNWS2t2UnloVWpQZ2lLTmdLSFpWMlpGaXhtOWxSTUNHQzVMZTJOejhLZWVITlhXRFhKQ3FLd0VMY3VUdDFGUks1MUdVb1VrYkI4QWVuaUs3YUJMMnVxNFBzanN6amJPZW0xU2IyNjUrc2trN1hWbzJvUGZBOGlLcXFOZ293QlRocTFnZFMwaWF6OW5NcThwTFp4K0ZOWEMvSXRua1lDZzR5Y0NuMlc3aWpBQmRjOTI5VnlWamNlaTdWWkpTNjMxcmduY0htSkh1eUtSK2xpeWV4NEw0ZnNuWU0wRTNac3c2RWlPck11OVVhQjRZSWlzbHhPeFdOZTRZNnNmSVZYM3BrRGYwZDBydE1Pd3VtNWlCako3TTkxQlU5NHhmVG1EWXh5cjA4alVpNFhzbHV0T2pPZGxjanJVWVpKSnJjeFJSdTdFYktvejMxTCtGM0ZucEI3WnNFU09NQUZoM2Q0Mm9KYTVoZzAva1lBS1Y1QnNPdkthcWJWNDRrdFpsN1Vvd2hiS2pIdEU0cXo3aTFtdXRNTnd2TXNDRlpHZGxJQVVEYy9qVmNhdmJwQkZjckxLcXlzckRsRCs3RzFBaDRTdG9wa3Z6SkdyRkl3VnlPaDM2VXAxN21PbHFnZm1UdFZQSUVHM1hKejFQZlNmaGt6Slk2b1lPVHRERXZMemJqdnBMUE5xQ01UZFBHOGE3c3NhOVBPaXliNGpqSnBndW9wSm9yaHVhTUtFUmsrOE1maFVoNGV0clMyc3A1SmlWeVZPWGt3VzI2RlIxSHdwcjAvVWJaNVpVU1RITmpPVHNjZnUrWFNrNkxLbDdjckxNQVdZRU1CMUhsOUtrMjM1UFhpWW4rNzFGWGlNTnN5d0ZjNGtBNVd3VDVkUjEycEhhYXJjMnFSU2krbTNMS0ZTVTVqSndDVjMyUFRla2thSkVIYVhMQnp5L2YzQUh1N3FTdGFNSi9zeUFHR00vbWFybW12RFdzWE12RUduUXlYYnVHdm9seXpFNUhOdjhNbjVtdlFaNjE1ZjRXQ3J4WG9LQXZuMXVFNEorOTdZMzkxZW9EMU5BVVVVVURUckg2MkwvQ2ZyVFVUVHJySDYyTC9DZnJUVXd4UUl0UldXU3htV0VrU0ViWUdTZktxNzRrMVM4R2t5aFkzNU96d0RHZGh2MzFackRQeHFBY1MyeXRwdDdseWloU2NmSHBRVmFsMWMzSmZMTWVYR1NhUXlYa3BrSUdlYnBpbnEwQ1IyczdrQUsyVlhJd1dIalRWSENyM1piZnN3Y2xnTTcrRlMzVFdHRnp5bU1LTGU1bWloQ2xYVm5HZCtoSGpVaTRhU1QxT1IyUHNGdVZjL2pVZDUxa2taZ05pZHM5d3FiV0Z1TFd5aWhHZGh2NytwcFA4QUxYa3ZPcGVJblhEbi93QW1UL01mNjA0UG1rSERnL3FaUDh4L3JUaTQ4cXJtUVhsdWwxYnlRU1o1SkY1VGpyU2pnNzF1SFdPd3U1VmRReTlrNEdPYlk3ZStzU1lBeWVncmh3YWJxOTE2RyttQ3BBMjhVWWJQS044SDNtZ21kK00za253K2xJenZTMisvdGtudytsSW1vT2JiL09vVHg5RHoyMXN3d0NYNVNEM2pCcWJFVkVlT284NlpieWZ1ellQdXdhQ3BGdGdOVXdRcnVQYTZEQUhpYWJkVVFQZU1VR1FUZ0FkMVBmWnZHMDdySHpFa2d0bW1zeEdOMm5seWNiRHZ6VXQwNmVQRDN5MThjWXdVSFlaS3FQdkE3L0tuN2g2MTVwNWJrOUVYa1gzMHdSNTY3NVltcFp3OWhkT1lramR6dFNNNTVicTJyRWYxZmJmNVNmUVYwYXVka2Y2dnR1bjZwZm9LNnRWWkozL0duYmhUSDZVbUdSbnNmSCs4S2EzSGZTcmhZSCtsc3V3UCt4SEgvd0M0dEF5MjF6Tlkza2trRGxUenQzN0hlcER3NjY4bHc1NnV5ajZtb3FrOFU4a2p3eXBJdk93SlE1M3lkcWxHZ3FGdEZrQjNNaHlQSUQvblFWcDZVVTdUVXJ5TWQ4YS9IMmFyMjB2R3R0SWlTSWUwek4wOTlXVngycXpjU3pSbjdwaVg2VkFiblRQVTE1WThsUVNWQjh4UU5EWDl6SEw5bzJhbU9pYVdkU3MzbktrcXE5UE05S2hpV1V0MWVySHVjdGpIY0JWdGFFSXJQVGpBTURtMk9Lemxma2Vqd1lTMzJ6NmlwYnd5QzVkWExzcXNjYzFTUGhxUzBtamUzblRuNXdSeTh2bDFwOTEvaG0wdWgyc1dFbDhRZGpVZHRiSzQwNmJrNWNNZjJsTldUVGpsbHU3U0Rodk9uMzBsc0hab1RuQ3QzVk52U1BweGg0Z3RicjJSRHFGcUZaOGZkZU1ESHpCcUk2TGFZWXU0KzBPNUpxMitOOU9GNVk2UWVVRVJ1UTJlNVNneWZ3cXN2UGx0YlNyeEhQYnlNeElrVGNucGxoVm84Q0dOdlF2cUpseUU5YWtKNW01dStQdnFEYWJFMXh4azVrUE1RVUJJNzhIWS9HcHp3REMwM29ZMUNOVGt0ZHlBRWp6am9HaDdxSWpGdGJFSCsva2ZnS2oycVBkUGU5bzB6Y3lrTUN4T1BEcCtGU2RkS241ajdjWUhRblAwcEJxV2dYRnlyTEVFWTQzekpnbnYvbFFJYkNkSlFWZmxEamZCTk11cVdLU3JkeVNGUnlTK3dQMmp2OVBHbldYU05Sc0U5WWtXSUZSMUVneVBjTyttcVNVU1EzQW1MTkwyNHk1TzVKUFNnVGN5Mm5ZQUV2bHVWU09vNXUvOEsyZ2ttVWRwMnMyRng3U3YwTkpya3lLNVNLUE12TUFpNDZHbGN4UlVTRkRubFBNZHZHczIvSGJ4NGNYTzhhS2tsYVpRN2tsaU1ibW5qaHNFYXEyQjFRay9NVXhXMmV5VlI1NzFJdUdVSDZTWTlBSXljNTY3aXRPVnU3dFlkdnEzcWtJR1NGVTdLUDUxdEh4SGJ0QVZOdkk4eFAzKzEyMzhzVXh6bjJTQ1Jqdnp2U05XNUVYT1NPdXd4UkQ3ZTZuTmMzVnJjMjhpcGMyejlwRVhQc0U5NGJHK0RTbjBnYWxheDhQYUxmYXBZcmNxODNNOEtQdGtwdmhxanNYTXhWczRIbjFweTlKYWtjR2FDdWRoSUFjOS93Qm5RUUxWOVQwaThSalkyVTF1a2dPQWhBWlI3LzhBbHZTL2htZms0WldJTitzdVpsQkhUWll6VVhXUEpBd1FEMys2cEhwMXJjdzJOcmJ5eVFXcUxMSTZ1RjVtT1ZYSktuWWpBOHFDNFlMZU81NFdTTnlNUFpZeDQrem1xRzFhTHQzYVNhYU5VS01VOFNUanA1YlZQYmFXNWx0cFlSTThpeFd2TWp1TWtaeUQ1YmtlSFNvSEpwOGpLVEoyYXNRTjg3azBDWFFZemIyMm9kbGx5aWNyN2JFNzlQREZKWnJlZHJScHBrTnVqamFVNWJPTnNZRzVwKzBxd0ZySERHcmMvcmpCV0lIUWNySEsvR3RMN1Q1N2lYKzBDUWdZSE4wMjIrbFp0NTA3WVkrdVB2OEE4UmkwampnWjRvb21ZY3h6STRCWnZjZTRId0ZUUGgvaEdQaXBiaWRMdHJVd0ZVdzBlZWJJelhIVDlEakJaN2libWJtMkVaK3BwVGROYzZkeUpZVDNFVVR1VEl5VEZTZHRodDg2MDRuNWZRNHR4R3p2ckJTTWRBSVQ4ZSt1VGVqVzF0OVN0SUJQTE0xMHhpRGxUaFFCbm1ZZE01STc2ajdhenFEanN6cVY0Y2VNNzQrdGQ3Vzl2WUFadlhibFd4OS90V3lQZDRkOUJNckwwYXBwR3RhZmVSM1NUU1IzRWJIQ2xSeWc1eGpKcTBxb0xTTld2cHVKOUxFbDdkU0sxN0NDcG1adHVZZGQrbFg2ZXRBVVVVVURUcTQrMmkvd242MDF0MU5PbXIvcm92OEFDZnJUUFBMSENwWnpqYWdEc0RVSzR1aHhZYWl2UU5IbGNmNjhhMTRxNDhYU1VFTm5HajNMOU9ZbkNqeDg2YmZXZFExYmc1dFR2cEF6VGh5Z1ZRb1ZRUVBxQ2FDRVhGdTdXeW96S01nZE5zVTBYQ1BDQkVHWEJ3VGdZSTY3VktIYnNiZHBHSHRnWlRJLzFtb3hKekdWM2JxeHpXZTd3N3orUERjN3JNZUF5NU9BU0tuU1hNTDdKS3JmOFZRRE9XQTdxMDFKR1V4U2dlMFJ5azFwd1h4dzI0T2lwdjhBOW8zMXB6WTdud3FydUNiNjhrMGRVam1iMkhJTy9qdlUxaTFDNVFEdHZhWG9jamNVRHV3NXRxMDRDY0ZMRWVBSS9FaXRJWmttNVhRN1Z4OUhzM01iTmM3Q1dSZmt4b0p0ZkgvYlpQZVBwU1EwdnVJRExleW5jS0NOL2dLYTlTbkZxamN0QWt2dFN0ckNKNUo1TUtpbG14NENxeDFuamR1STVFc0xTMDdLSU1aREk3WmJsQUk2ZDNXdCtPdFVZV0poRGUxT2VYUGwzMUh1R3JWVGFYdW9NRHpSc3NTanVPUVNmajdOQjJFWmRYWEdmZFRCcU1oYTRNU2hWUkdJQVVZQnFVVHNscEZJUUQycFBMeWtkQjQrN3pxTno1bmxKVUU0OHF6M1hmTCtQQ1l6dWtHUXE3VjJFODhkbklZcFdRcnY3SnJUMWFSNU1jcEg4NmQvMFMwVm82djk1a0xINVZwd08vQzNHT3BtV08wbW5hVWNuc2N4NllIU3A5YjYxSXdIYXB0anVxbk9IM0Z0cmRtejdBU0JXOXgycTRvTFJKR1pCOTVlbm5RT0Vkd2s0eWh6VHR3dC93QlpXYnU5VlA4QS9JdFF1R2Q0Sm1HY0ZXd1JVeDRQbEUydE00UC9BTk1lNysrdEJDTkUwK1RTN0o0SmVYdE8ya1p1WHpZMU9kS3hIcDhEZDVWaWZuVVB2NzVMUjNabEp6Tnk0SGlUaXBaWmN5NmRIL2tEYnpvSzk0cmtFbkU4elo2SW4wcU5YNHlkcWZPSTJ6eERjKzVmcFRUS25OSW0yY2tESGpUcFpOM1J2dG1oMCtLU2FRTjJyZEdBNkR3cnRaNjFjcmF1OXFxdElTQXNiSGwybzFXWkk0eEFxZ2pxRjhLWTRnOFYwcmMyQjE2OUt4anpkdlI1c3JoSjRwZWt2djhBVjU1OU50cHV3YUtRT1ZsVFBkaXRiQjF2Z3ZNUGJCcmxCZHpYRnVlMVpKQXV3QXJhR2FDMlpaMFhra0RxQ21ldTliZVpJYmVMc21Ia0t0ZmlxSzZmUkltdFFHWlFBUm54QUg4NnE3MlRHc21lbzdxdUtlNTdEU25tNUE2eFFoK1h2SkFGQlN5Y00zV2xjZkd6V09TNGxoc29IbWtSZGl4NW1QeUdCOEtkZUI3bHRKOUN1cFhJREZvN3FSaHk1VTdtTWZ6cVIzdXAzVjNxTWx6RlBOQUh4N0VjaHdNREZaNGllVzQ5RitybVZ5N25BeTMrTktDdGhyK29jN01zaXV1VGd1bWUrdTBYRTJvR1ZWS1FGU1J6Zlo0eitOTWZPVzVjWkI1Um5Qald3a0FZQWpjQTlQR2drdHlXdVk1T1pzdVZiQXgwMnFFU1pqZTZpbldYTEVoQ2k1S3NEa1o5MVRMTE5HVzJ4eWcrT0Q0VkhaazdiVUpqSm5rRWhMRUR6cGJydGNjZmE2Y3dIa1QxaHhIa2NwM1hxZkh5TzFKMXM0MllBN0h4cFhLVWVRSkVDVVFZQjhhNWVJT2MxbVQ2NitXLzFuVGVLQkkxeHpad2NtbjdoMWsvU1RiNCt4YjZpbU9Od1VPMk1lRk9tZzUvU0xMak9ZaWVubUswNHBQZDlwY1FjdHVzYk5rZnJISTI3KzZ0QUpBUGI1U09tT3VhNXU3SS9Mc0FlN082MWxaWFZVQXdSbnczRkIzaTVvOEJJMDh5Um40VXU5STREY0ZjUDViQzg0SlAvbDAzd3VDZ0hMN1pPY0grVk9ucEpVRGd6UTR4SExJeGZDcEdoWmllejhQem9LdGdRTklNN2o5bW5hM203RndGQmRzNUJidUoyTzFJTFcxMUNXUm1PbDNNS29Nbm5YZmJ2cFhHUzBweDdJRGJzZWdvSFhTcDU1cjZmbmx5UkNNQmp0ako2Q200R0tLTUhtNTJDKzI3SEdQZFduTjZ2ZW1XS1J1UVF1cEo3OXRxajl0cURNcW00VWNvR3h5Y1pxVzZqV0dIdGxvL1RYWHFjVU1jTW1TaHlHSTNHTnR2S214N3VSMzJjazlkanRTV1M3ZTVQYUhBeUJzS3hHeHlvT05qM2Y2M3FTYTdiOHVXN3FkUktkTFZuaEJKSnlkcWxtbDhOUWE5WTNJbG5hSXE2Z0ZRRDNacUhXTjlIQkFGSXkzajRWTk9HYnFjV1YxTEpidXNIYUpsenN1Y2JiMXB5YlEraTJLS1VUbTllV01uY05GZ0g4YVhhandqcDB0bjZ2RTFyYnlNTUJzTVQzK2RLZEVuWFhkY3ZiU2VROWxib3JSVy9OZ01Ebm1ZK1BkN3FrRnZwRU50S3hNazl3enRrTEkyUXZ1SFFVRmU2VHdPbHRybG5jRFUyWm9MbEdLQzNJNXVWZ2NaejA4NnQzdnBMYlBod2lSQkZPZDhZUHVwVlFGRkZGQTNhb0FBcmtiaFNLZ2VzM2JoaXZON3FtdXV6Q0dOYzV4eU1mbFVBMXdOSHBrMXljZXhIbmZ4NWMwRlE4UVhSdWRadVhVN0tlVmZoVnEzVmlscHdwSHA4WVZUSGFZQ0h1SU9UOFNEVlY2TlpIVjlmdExVZ250NVJ6ZVF6ay9oVnY2dXZyZHNaL2FXTHRGTGN2WEJVQS9IMmFMTHE3VmxxMXc2ZllyOXhCN0pGTXpRTThZWVlESHhOV2ZxSEJGdmNNVEZQS2hYT2M0d2Z3cEphZWowdk1yVFRza1hMdVZJSkhsMHFTYVhQTzUzYUJhYnBKdVp2Yis2TjJJck92V2FycGtjcUFERG41ZEt0U3g0U3NBaEVVczRRSXo4MlZ5MlBoVFBxSENVRTNEWE9zc3hKU1U0T01aQjkxVmxHdlJ4Sm1hOHRpZnZSYzZEekIzL0FBcXhMbUlUYVBMY1JEMm84RnNlWGZWUmNQWEw2VnJsbE1qRUJaZ0c5eE9EVnhzeTJONkhVWnRMazhrcW5vcGJiUHUzb0dtMHVtaGRaQVRna1pBcFp3VE9MRFhyTFRwYzlwSmNTT2hBMlpXeVJqK2RNdHdodEw2VzF5ZnM1T1VlN2I4NmNOQzdTYmpEaDJSZDFodW1WaDRCa1A1VUZzM3NxeExudjYvaFVXMWhqTkp5QVpESXJaOTdFRDZVOTY2N0xDV1Q3eS96Rk1jTXhsa2FWUmtCVnhub1BaMno3aVNhQ25PT24vcldLMkJ6MmE1UGh2OEErMVBQRDFvZzRMdDFjQU5OZmRxYy90QUt5MUYrSlpEZWNUWGZaNWJNblpvRDEyMi9HclZ0TkV0cDdUUzdVODhjRUxsUFl4bmJidzh6VXMyMWpsNjNhRHo4MS9BR2NEbVhLQWp2eFRLMm0zQ3NRRXlmRVZZeThLMnlYdDliTE5NR2pKZGVuY2R4MDhLVmFid25ZM0Z4Mm5yRTVpWmViR1I3TzN1cEpxSmxsY3J1cS90ZE5XMllTU2dHUWRGRytQZlNtNFFpYVpjZElmcWFtdHZ3aGFTdVpqTk9VbGxFY2VDT2c2bnBXeWNKMlUrclh5R2E1NVVqeCt6NCs2cWluYisyTmhxUkFHQ09WeDhnYXR6VExzemFSWTZyRjFhTUNRZmhWZWNhUWlQVlZrakI1QWdRRTkrTnY1VkpPQk5RRXVoVFdya25zV3hrOUFEUVBHdEtrZDRzMFdPU2RBdzkvZlVoOUhrdmFhdGNlSFliZnhpb2pxTTJZRmladmFna0pIK0Uvd0R0VW45SERaMXFjZjhBNlhQL0FLMW9JbnJCTDNxeGdBZ08waitJOXJBL0hOV0V6Q0pKRjVsKzR2S3VSbkdLcjY0NVpkVHVEa0U5dXNYVHdiSit0VDdVWVkwRThySXBkQ1FqNDNBb0txMXVVdnJkd3hQZ052ZFhBWE5zbHE1TGp0VVBOaklCK0ZJdGRtWVhGOU1wWUZGMks5YzkxUUc4dW5hY2UwU3luZHM5YTU1YzMxajFlR1h4WS9sK3BMZUdhUzZKVWtrNzU4S1FlclN2S0FaVGttbHVuM0l1cmRKZjJpdUc5OUUwVEJ3M05qZXVrbW5tdHQ1cDZzTkZES015Uzh6WTZOakZhNmpwNzJlcFdrUWtaMGJHU3h6dm1uSFNXYnN3YzgzeDZVNFhWa1pKVXVEdnk3Z0dpRmtFNFdKVUo2REhTcmR1cHM2Sk9CbmxOdjMrNnFXdDNMU0VFWU9maFZ6VFdNbXBhSmVXU1N0RTh0cVVXVmVxa3IxK2xCR0VRTWVZSGFsV3VyemVqVFZWR01rLy93QjBxaDM0dTRvMFcvYTN1N21UbWpPQ3NneXB4NzZ0dlROY200azlDMnAzc2thUnlDUm95RTZIbFpOL3hvSzVueUlJK1Rvdk56TVc2QUhvSzR4eXJJd1lEQkIySnA0c2JSWjRnU0F5a25JWWVPS2NZOUd0MklMUktBTnhzQlFjYldUdFlJejNjdU1VMXpsb3BKeGtjenlIcDFJL2xVcWkwK0dQb3VCanBqYWtzdkRsdE5QSk9aWmdYSllnRVkrbFN6YmVHZnB0RmhrREkySGNLMkdDQnR2VWxYaHEyemd5VEtldTVINGJWbitqbHBnL2F6NDk0L0txd2krTUVuYnc2VTZhRDdWK3c1aUIyYmRCbndwMEhEbHBqUGJ6bkhka2JmaFhXMzBtQ3dtTWtja2pFakJERVlIVHdIamdVRzU1QTQ1ZVlkK2NaLzEvNzFvWHlwSVVxMiszVTQvMXY4YTZFRmlBRDdQZUNEbnIxcldRTUdIczV5TTV4OGYrVkIwaWN4bkNIZGpndVJ6ZjZIV3BoeEhJVHdsb3pqbVVFTGtFZjNPK29jaFVmWmxTTTVHMndQOEFyTlM3aVovL0FJUzBRZ2s4d0h4OWlnaXF1eXVHRGtNT2hCNmU2bSsvc0JNcGtoQUVneVNnR0ZmM2VCK3RLUXg5bzVHMk90YjU1d1ZCTzQ2MEVNdkpwWU96RXZNbVg1R1R2QUlOTWswbkxDa0ErNkFDU0RuTlQvVWRKZzFPTUpKN0VpYkNWUnY3ajVWRkp1RzVMZVF4dXpIQjJaUnN3OFJ0VXMyNlk1K3NzbjAyeEg3TVkrbEtJbFBObk85TzF0dy9IMmE4enljM2Z1TUNsUTBLM0EvV3krZU1WWE14dkt5cGhUVDNvZDlPdHRNaG5rS0YxeWhZNE8zaFhHYlNiWkdSV21sSE41ak5LYld5aXQxSVdTVGxmY2x0K2c4cUJ6aXVDMDZNWGtqbUI5bVdKK1YxejRFVllPajYzclN3a3oyMFdvUkQ3clJuc3BjWUdCeS9kUGZ2a0dxNnQzQ01DUU4vTDhLbk9nM2I4MjhtQXdJVXQreHQzZTdOQktkTjRnMC9VSkNycWJTNVJnaGh1MUtPR1BRTG5aaWZJbW5xbWkzbGpOd1N5eFNGbkdNWVBUdjkrNHAzb0NpaWlnalhFNnMweWdrOGpXNVhIbnpqUDRFMUJlUDUwc3VHVEVuM3BUZ0RmcWVwK1cxVDdYNWd1b1dzTHFBanhzUTU3am5wK0ZWaDZVNUdTMjA2Qm05cG1MRWVBd2NEOGFDTytqNnhNbXVldG5ZUWxVSGp6TWNmVE5XZXRzSDBhL2pQVkdWdmhrMUZ2UjVZTkhwOXRJdy9YenRQMDZCUnlqOFFhbjBVSVByY0lHZTFqUHpGQXhMUDJ0cmJ1K2VTWmV4Y2o5bHh0ekQ4S2NYak52dytrU2pNa2poRlB2cHFzMUUybjNsc3g5cU05b244eFR2cGg5ZnQ3UW5jdzdON3gzMEdVajlXdHJ0QVFSRGJpUElIei9HbXlmN0hoS054MWRtSHpOUFYwT1RUTlJrd1J6RHFmZUthTlZqeHduQUUvWWt5Y1VGR2FuQzFycVZ4R2RzT1NOL0hjZldyU2p2VGU2SGFOekQ3V0JlVnozUGpwOHh0NTFBdUw3VXhYc055QnRNbUNmTmFVY1AzNU9pdkF6WUNTSGxiUFR2K3RCSUh1dldyMkdadnZPTXllOWRqOUtmZURnVHhMWXR1VjdiYnkyTlEvVG05WXVwQzJ3UUZ2aWV2MHFjOEZBSFdiWTQyN1lFZkkwRmc2bmd4emc3N0FnZUpHLzhBS283YjRPa3U0VDdNb1dZamJtR09ueDZlNFV1NGgxU08ya25RRWN5akh4d0RUUGFYZ3V1Rkw0aHdJNHc0YkdOdHM0OHNENjBGUDhQeG05NHZ0cEpQYkFtTXplNFpQNVZkVm5iOW5ZV2hJM0I3VDRtcXo5R3RpTG5VYjJZNHlrS3hqL2pPK1BsVnZYRVlqVUFEQUEyOHFCazFGdlUrSlVtNkpLTW56RFZ0WU42cGVYbG9NZTE5ejNWbmlHTXZhMjF5QWVkY0thNE0vTk5hWGlBL2RBZWdmSUxZUm16aC9jR2NEdXBCWVplODFOaDNoZ1BoVDVibFpabzVWNzk4MHk2WkdSZTNhSHZsYjhhQ3ErTGJjU2FkSytEenhTQnMvR21UZy9VUFZkUW50MlljazBlNDh4MHFaNjViQ1VYMXZnRG1EZGZMSnF0Tk1mc05YakIyM0ttZ21WNWRNOHp4ZysyUUZCODg3VllQbzJCL1R0enpkZlZnUC9XdFZiTElFMUszTEhibUI2MWFYbzBmdE9JTHR1NHdELzhBTmFDS2FReVhXdDJ1UnRQZkZpUEhMWStnRlRuV3JneGFaS3g2NEpOVjd3UGROZmEvYnRLQUNzMDJBUDdwYkIvQ3BWeFBkbjlEdTJjY3lFMEZPYTlmOHR0S0FEenMzS0NQUC8ycUdrbGpudk5URFVMZUs4dG93eFZUejh6bnZJR2FRTERaMjQ1WUlBVy9mZmNtcEpJM2xuY3BKZmpscFRHM3NXbExjcDVzZ0h2cGNiZ3lFQW5wVGZmTWlSY29VYzNmU3pUcmZ0OU9TNFJBNTVpckR3eFZZT09tYW0xck1WNXRtNjFNbDFOWHNobjkzQkhmVUJFUDJvNW9nUGhVczBWclVxaXZiSVNUam1id29GdG8yL01Ua0hwVjU2ZmR4UVdEVFNON0tybmYzYjFVNlBvNndxb3RvUnlqZnI3UnJoclBHTTM2UDlVZ2ZCWVlPTzRlRkJIT0kxdGRVbXVXa1FNclNzeW53R1NhbWZCVmcwdm9QMVcwdCtkajZ6TVJqcnNVWS9TcXd2NzFsanhra21yajlGQTUvUmpjcXgyZTdtQko4d2dvSXBwRUhKcHNkeE12SzBqZlpMayswcDN6VHNwQU93N2hqek5NcVN1bW9pemtsYVZJQ1ZRRTdBS2U2bjhLckJteGhldWU3RkJqN294Z2sxaFpjdnlZSkFIVUdzeVJNRUxad2NaNVNLNTRPRHNjK1kvblFkK2R1aUhiNTFnRDJjWVB4RzljVWZBMlBYNFYwVml3emdzZS9Cb0FuR1FUeTR6Zy93QXF3VGhCdm5JNm5yOHFDZmNNYmN0YUFnRTV4bkI2MEdnNU04ekFnWS8wUGxYTW9TZnZnSGJyMThmeStWZE9YMmxBR1d5ZDY1OHc2a0gzWW9NdkNjOHlqR01mRDRWTHVJRlljSTZHR1BQeXF2TnQ5NzdPb2h6OXhiYnI0VktlSjc0V1hDL0RuTS9La3pDTWhoMSt6L0NnaXVPYlBOakhjTWRhMC9heHk4dWVnOGE3elFZNW5CQ2dmUEZKK1ZTVkkzeDMwR1ZsSDNOeGtlRmRTQThaamtCZFNjanhYekZDQk00T0NCMXdkeldIQWRSM1p4MzBDQ2Uza3R4a01YakoyZm9QY2ZDa3JTa0hMTm5hbmpsSlU1WEtzTjg5Q0tSWGVuaFVhYTN6MmY3UzR5VndOL2hRSkJjY25LTUFIdXJET25VYjRwT010c3B3TTV6L0FLOHEyRGN2VEhUT1Nlb0hoUUxyTzJrbmtRUSswVGpZSDRWTXRJMHk0aWdMU3pyR0NRQ3JibkgralVRc3B1eVFnQTV4MXowMzYvaFRzTlRsN1BzNHBlVlJsY0U5VHRRV0ZhV2lKTmJzMDZIMmc3RUlSa2dnZnpxUVZWT2hheGQvcExUb2VkaWhrVUU1OFdXcldvQ2lpaWdoM0Z0NExmWDlJUnNGU0dJQjhTY2Z6cXR2U3dXL1M5Z0dPY3dNMk0vM3F1KzYwdXh2YmlHNHVyV09hYUQ5VTdqZFBkU0xVT0ZOQjFhVkpOUTBtMnVYUmVWV2tCSkF6bkhXZ2luQittbTAwVzBSd2N4VzZyN3MrMGZ4YW5sWEVWekdjYlp3YWtVZGpheElFamdSVkFBQUE4TmhXRHA5bVRrMjZFMEZkbFRZNjJ5SFpYT0Q3alMvU3Y4QVk3MldJNTVHSklQdnFZVGFOcHR4SUpKcktKM0hSaURtdGhwVmdHREMwaXlPL0JvR1BWSS82a3ZQN3cvblRYY0tINFptSVhPQUdGVFY3TzJraU1Ud295SHFwNkd1UTBxd0Z1YmNXa2ZZa1lLWU9LRHoxeGRidE5wSWwzUFpPQUFPNFkzcU84T3lyL3ROdXgrOE9ZZWZqWHBtYmhIaDY0aWFLYlI3VjQyKzhwQndmeHBKRjZQZUVJSDU0dUhyRkd4aklWdnpvS0cwMlpvN3U0UW5ydHZWaThHNUd0V0FBeURMa240R3B3dkF2Q3F1WFhRYk1NVGtubGI4NmNMWFFkS3NwVWt0ckNHSjBPVlpRY2o4YUN0ZU03a3J4UmZRSzJBM0psZkU4b29VVFdmQytyUWNvN0pyQ1YyYi93QzZRUjlLc2U2NGMwYTl2R3ZMblRiZVc0WWdtUmdja2dZSGY1Q3QzMEhTcExlV0JyQ0V4U3J5eUlRY01QQTcwRldlaVcwUHF0OWRzdjJaa1ZRM2p5Zy8vd0NoVmdTL2FsaFRwcDJoYVZwTnMxdnA5aERiUXMzT1VqQkFKOGV2a0tVK3BXMmM5Z21hQ0xUeENhMmt0bXpuSkswMGFhQ3lTVzdkVU93cWZtd3RHZm1OdWhieHJrbWs2ZkhJMGlXa1N1M1VnSGVnYU5ObTVVQ01jWTJGSkxST1RYTGxjZFJ6VkpsMCswUTVXM1FIcnRRTlB0Qk9aaGJwMnBHQzNmaWdxSFhDWXRWdUF3TzVZVlZHclF0WmF0SU1FZTJHRmVxcmpoelJycVF5VDZiYnlPM1ZtQnlmeHBCYzhBOEpYa25hWEhEOWxJL1RMS2Z6b1BQRjVNWHU3WmxCUE1QNVZhdm9tbVY5WnVWTEF5QzNHUjRlMnRUUmVCT0ZWWkdYUWJJR1A3cDVUdCtOTGRNNGMwYlJydVM3MDNUWUxXNGxYbGVTTUVGaG5PT3ZpQWFEejk2UGJpNFhpMlZDVjdPRkxsK200M1A1MDljZGE5RGFXeHRZMlZwaUNHVWZzOUt0Mno0SzRhMCs0ZTR0TkZ0SVpuQkRPaW5KQjY5L2ZYSzU0QjRUdkpXa3VkQXNwWFk1TE1HSkorZEI1WmVSekdNbmRxd3VVeXhIUVorTmVvditqamczL3dBTjJIOExmblFmUnp3YVFRZUhMREI2K3kzNTBIa3FWbmxiY2UrcFJ3NE96MDREbFB0WlA0MTZLLzZNK0NmL0FBenAvd0RDMzUwcGg0QzRUdDBDUmFCWklvNkFLMzUwSG5xUzM5ck9EV1VrbGpHRkdLOURuZ25oZzlkRHMvNFQrZFkvb053di91S3ovaFA1MEhuczNFaWpkalNOM1krMWs1ODY5SG5nVGhWdXVnMlIvd0NGdnpyVThBOEpucncvWmZ3dCtkQjVjdW5hV2MrVzFYbjZObU52Nko3aHlOMXZITy8rS09wWi93QkhQQjJjL3dCSExEK0Z2enAzczlDMHV3MDF0T3RMQ0dHelppelFvRHlrbkcvWHlIeW9LVTFGUmFjWVhLdi9BTnBLV0JBMnczaFQxRTNNb3gwWFlaNmJISDhxc3E0NFcwSzZuN2VmU3JhU1hBSE93T2NaejQxMFRoN1I0MTVWMDZBTDRZUGpueG9LemxZeUFuQjJIK3Mxd0xkWFpXejRuWWtlWXEwMjRkMFp1dW13SDRIODZ4L1J6UnM1L1JzR2NZNkg4NkNxbFp6azVPRDM0N3ZBVjNMbGM4cnRrZXlEamIzMVozOUc5Ri8zYkI4aitkQjRiMFU5ZE50K21PaC9PZ3E1bUhRNUoyMno4cTJKQzdnRW56cTBEdzVveElKMDIzeU44NFA1MWdjT2FNQmdhYkJqM0g4NkNyMkF4bkJ5ZkRwV2tudDU3Z1J1ZkNyVEhEZWlnQURUYmZBNmJIODZEdzNvcE9UcHR2OEFJL25RVk5saVNDMmNIT01lRk92cEhCSEFYRFJ6dXJxYy93RGwxWVo0YTBRbkoweTN6N2orZGRiN1F0SzFLemhzNzJ3aG50NGYxVWJnNFRiRzIvaFFVenBlcEhWTE5lWVlsanh6QURxT2xLRUdIOGo0VmFkdHdmdzdac1d0dEh0WWkyeEtnNy9qWFgrakdoNHgraTdmSHVQNTBGVTU1R0tnTVQxSUhkVzRKS2hnblRwdGpOV24vUmpRL3dEZGR2OEFJL25XMzlHOUcvM2JiL0kvblFWZW9WUGFiMmxHQmcvNjZWaU15eG9Xa0lEQmlWWkQxWFBzOWZ4cTB2Nk9hTi91MjMrUi9Pc0hoelJqMTAyMytSL09ncVc1MHRMbFRMYkJJNVd6elJqbzNtRDNlNm1ZeE1qbm5SZ1ZQdEJ0aU1WZW45SGRIMi9xMjMyOGorZGFTOE1hSE8vUExwZHM3WXhrZzUrdEJTcUtwQUJCSTZEQjdqWFJuWitYbUJHQ0Q0K05YSC9SUGgvL0FIUmEvd0FKL09nOEo2QWV1a1d2eVA1MEZWNk5NejY1cGlndG4xbU1IdysrS3UwOWFhSWVGOUNnbWptaTB1M1NTTmc2TUFjZ2pvZXRPOUFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUWYvL1omcXVvdDsgYWx0PSZxdW90O1lvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkmcXVvdDsvPg0KPGgzPlN0eWxlc2hlZXRzOjwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz5kaXYuaGVhZGVyIHsgYmFja2dyb3VuZDogdXJsKFtbU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9waWN0dXJlLmpwZyYjMDM5OyBub3RhZz0xXV0pOyB9PC9jb2RlPjwvcD4NCjxwPkJlY2F1c2Ugc3R5bGVzaGVldHMgYXJlIGdlbmVyYXRlZCBvbiBtb2RpZmljYXRpb24gYW5kIHN0b3JlZCBpbiB0aGUgZmlsZXN5c3RlbSB0aGVyZSBpcyBubyB3YXkgdG8gZGV0ZXJtaW5lIGR1cmluZyB0aGUgcmVxdWVzdCB3aGljaCBicm93c2VyIGlzIHJlcXVlc3RpbmcgdGhlIHN0eWxlc2hlZXQsIHRoZXJlZm9yZSBlbWJlZGRpbmcgd2lsbCBiZSBkb25lIHN0cmljdGx5IGJhc2VkIHVwb24gdGhlIHByZXNlbnNlIG9mIHRoZSBub2VtYmVkIHBhcmFtZXRlci4gIElmIHlvdSBoYXZlIGNob3NlbiB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB5b3VyIHN0eWxlc2hlZXRzLCBZb3UgbWF5IG5lZWQgdG8gYWRkIGFkZGl0aW9uYWwgc3R5bGVzaGVldCBzdXBwb3J0IGZvciB0aGUgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMuICBpLmU6ICBJRTYuPC9wPg0KPGgzPkF1dG9tYXRpYyBQcm9jZXNzaW5nPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGluY2x1ZGVzIGEgc21hcnR5IGJsb2NrIHRhZyBjYWxsZWQgPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntzaV9jb252ZXJ0fTwvY29kZT4gdGhhdCBjYW4gc3Vycm91bmQgYSBibG9jayBvZiBodG1sLCBvciBvdGhlciBzbWFydHkgdGFncyB0byBhbGxvdyBhdXRvbWF0aWMgaW1hZ2UgcHJvY2Vzc2luZy4gIFRoaXMgdGFnIGNhbiBiZSB1c2VkIGxpa2U6IChmb3IgZXhhbXBsZSk6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e3NpX2NvbnZlcnR9e2NvbnRlbnR9ey9zaV9jb252ZXJ0fTwvY29kZT48L3ByZT4NCjxwPlRoaXMgd2lsbCBhbGxvdyB5b3VyIHVzZXJzIHRvIGluY2x1ZGUgaW1hZ2VzIGludG8gcGFnZXMgdXNpbmcgdGhlIG5vcm1hbCB3eXNpd3lnIHRvb2xzLCBhbmQgdG8gaGF2ZSB0aGVtIGF1dG9tYXRpY2FsbHkgcHJvY2Vzc2VkIGFuZCBlbWJlZGRlZCBpbnRvIHRoZSBwYWdlIHVzaW5nIHRoZSBtYWdpYyBvZiB7U21hcnRJbWFnZX0uIGkuZTogU2VlIHRoZSBmb2xsb3dpbmcgY29kZTo8L3A+DQo8cHJlPjxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57c2lfY29udmVydCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xfXtjb250ZW50fXsvc2lfY29udmVydH08L2NvZGU+PC9wcmU+DQo8cD5UaGUgYWJvdmUgY29kZSB3aWxsIGNhcHR1cmUgYWxsIGltYWdlIHRhZ3MsIGFuZCBjb252ZXJ0IHRoZW0gdG8gZ3JheXNjYWxlIGFuZCB0aGVuIGFwcGx5IHRoZSB3YXRlcm1hcmsgKGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gdGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUpLiAgQWxsIG9mIHRoZSBwYXJldGVycyBhdmFpbGFibGUgdG8gdGhlIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57U21hcnRJbWFnZX08L2NvZGU+IHRhZyBhcmUgYXZhaWxhYmxlIHRvIHRoaXMgdGFnIChmb3IgaW1hZ2Ugc2NhbGluZyBldGMuKS4gIEFkZGl0aW9uYWxseSwgdHdvIG5ldyBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOiA8c3Ryb25nPm1heF93aWR0aDwvc3Ryb25nPiBhbmQgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldCBhIG1heGltdW0gc2l6ZSBmb3IgaW1hZ2VzLi48L3A+DQo8ZGl2IHN0eWxlPSZxdW90O21hcmdpbi1sZWZ0OiAzZW07JnF1b3Q7PjxzdHJvbmcgc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+Tm90ZTo8L3N0cm9uZz4NCjxwPlRoaXMgdGFnIHBhcnNlcyB0aGUgSFRNTCBjb250ZW50IGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgdGFncyB0byBmaW5kIHRoZSA8aW1nPiB0YWdzLiAgSXQgdGhlbiB3aWxsIG91dHB1dCBzeW50YWN0aWNhbGx5IHZhbGlkIEhUTUwgZm9yIHRoZSBzdWJzZXQgb2YgY29kZSBpdCB3YXMgcHJvdmlkZWQuICBUaGVyZWZvcmUgaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlIHNuaXBwZXQgb2YgSFRNTCBwYXNzZWQgdG8gdGhpcyB0YWcgYmUgaW50YWN0IGFuZCBhcyBjbG9zZSB0byB2YWxpZCBhcyBwb3NzaWJsZS4gIDxzdHJvbmc+VXNlIHdpdGggY2F1dGlvbi48L3N0cm9uZz4NCjwvZGl2Pg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPlRoaXMgbW9kdWxlIG1ha2VzIGV2dGVuc2l2ZSB1c2Ugb2YgdGhlIEdEIEltYWdlIHByb2Nlc3NpbmcgbGlicmFyeSB0byBkbyBpbWFnZSBtYW5pcHVsYXRpb24uICBBZGRpdGlvbmFsbHksIHRoZSB7c2lfY29udmVydH0gcGx1Z2luIG1ha2VzIGV4dGVuc2l2ZSB1c2Ugb2YgdGhlIHNpbXBsZXhtbCBhbmQgWE1MRG9tIGNsYXNzZXMgYnVpbHQgaW4gdG8gcGhwLiAgVGhlcmUgbWF5IGJlIG90aGVyIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgZXJyb3JzIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgZXJyb3IgcmVwb3J0aW5nIGlzIGVuYWJsZWQsIGFuZCB0aGF0IHlvdSBoYXZlIGFuYWx5emVkIHlvdXIgZXJyb3IgbG9ncy48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7DQokbGFuZ1snaW5mb19hbGlhc2VzJ10gPSAnT3MgQWxpJmFhY3V0ZTtzIHBvZGVtIHNlciB1c2Fkb3MgbmEgdGFnIFNtYXJ0SW1hZ2UgYXRyYXYmZWFjdXRlO3MgZGFzIG9wJmNjZWRpbDsmb3RpbGRlO2VzIGFsaWFzMSBhIGFsaWFzNSBwYXJhIGNvbWJpbmFyIGFzIG9wJmNjZWRpbDsmb3RpbGRlO2VzIG1haXMgZnJlcXVlbnRlbWVudGUgdXNhZGFzJzsNCiRsYW5nWydpbmZvX2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ0VzcGVjaWZpcXVlIGEgbG9jYWxpemEmY2NlZGlsOyZhdGlsZGU7byBwb3IgZGVmZWl0byBhIHBhcnRpciBkYSBxdWFsICZhbXA7cXVvdDtjb3J0YXIgcGFyYSBjYWJlciAoY3JvcCB0byBmaXQpJmFtcDtxdW90Oy4gRXN0YSBvcCZjY2VkaWw7JmF0aWxkZTtvIGFmZWN0YXImYWFjdXRlOyB0b2RhcyBhcyBvcGVyYSZjY2VkaWw7Jm90aWxkZTtlcyBjb3J0YXIgcGFyYSBjYWJlciBhIG1lbm9zIHF1ZSBvIHBhciZhY2lyYzttZXRybyAmYW1wO3F1b3Q7bG9jYXRpb24mYW1wO3F1b3Q7IG5vIGF0cmlidXRvICZhbXA7cXVvdDtmaWx0ZXJfY3JvcHRvZml0JmFtcDtxdW90OyBzZSBzb2JyZXBvbmhhLiBQb3IgZGVmZWl0byBvIHZhbG9yICZlYWN1dGU7ICZhbXA7cXVvdDtjZW50ZXImYW1wO3F1b3Q7IChjZW50cm8pICc7DQokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnTyBVUkwgYWNpbWEgdGVtIGVtIGNvbnRhIG8gZGlyJmVhY3V0ZTtjdG9yaW8gZGUgY2FjaGUgKF9TbWFydEltYWdlKSc7DQokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ1ByZWZpeG8gVXJsIGRlICBJbWFnZW0nOw0KJGxhbmdbJ2luZm9fY2FjaGVfYWdlJ10gPSAnRXNwZWNpZmlxdWUgdW1hIGlkYWRlIG0mYWFjdXRlO3hpbWEgKGVtIGRpYXMpIHBhcmEgdW0gZmljaGVpcm8gYW50ZXMgZGUgc2VyIHJlbW92aWRvIGUgcmVnZW5lcmFkbyBmb3ImY2NlZGlsO29zYW1lbnRlLiBFc3RhIG9wJmNjZWRpbDsmYXRpbGRlO28gJmVhY3V0ZTsgJnVhY3V0ZTt0aWwgc2UgdGl2ZXIgYWx0ZXJhZG8gYWxndW5zIGRvcyBwYXImYWNpcmM7bWV0cm9zIHVzYWRvcyBhbyBnZXJhciBpbWFnZW5zLCBvdSBwYXJhIGNvbnRyb2xhciBhIHF1YW50aWRhZGUgZGUgZXNwYSZjY2VkaWw7byB1c2FkbyBlbSBkaXNjby4gTyB2YWxvciB6ZXJvICgwKSBkZXNhY3RpdmEgbyBhcGFnYW1lbnRvIGF1dG9tJmFhY3V0ZTt0aWNvIGRlIGZpY2hlaXJvcyc7DQokbGFuZ1snaW5mb19lbWJlZF9tb2RlJ10gPSAnRXN0YSBzZWxlYyZjY2VkaWw7JmF0aWxkZTtvIGRldGVybWluYSBjb21vIGEgdGFnIHtzbWFydGltZ30gaXImYWFjdXRlOyBnZXJhciBhIHNhJmlhY3V0ZTtkYS4gU2UgZXN0aXZlciBzZWxlY2Npb25hZG8gJnF1b3Q7bm9uZSZxdW90OyAobmVuaHVtKSwgc2VyJmFhY3V0ZTsgZWZlY3R1YWRhIG8gJnF1b3Q7ZW1iZWRkaW5nJnF1b3Q7IGRhIGltYWdlbS4gc2UgZXN0aXZlciBzZWxlY2Npb25hZG8gJnF1b3Q7c21hcnQmcXVvdDsgKGludGVsaWdlbnRlKSBlbnQmYXRpbGRlO28gbyBzaXN0ZW1hIGlyJmFhY3V0ZTsgZGVjaWRpciBiYXNlYWRvIG5vIHRhbWFuaG8gZSB0aXBvIGRlIGltYWdlbSwgYmVtIGNvbW8gbm8gYnJvd3NlciBxdWUgZXN0aXZlciBhIGVmZWN0dWFyIG8gcGVkaWRvIHBhcmEgdmVyIGEgaW1hZ2VtLiBhcyBvdXRyYXMgb3AmY2NlZGlsOyZvdGlsZGU7ZXMgaW5jbHVlbSBmYXplciAmcXVvdDtlbWJlZGRpbmcmcXVvdDsgZGEgaW1hZ2VtIGJhc2VhZG8gbm8gc2V1IHRhbWFuaG8gb3UgdGlwby4nOw0KJGxhbmdbJ2luZm9fZW1iZWRfc2l6ZWxpbWl0J10gPSAnU2UgYSBvcCZjY2VkaWw7JmF0aWxkZTtvICZxdW90O2VtYmVkZGluZyZxdW90OyBmb3IgZGV0ZXJtaW5hZGEgcGVsbyB0YW1hbmhvIGRlIGltYWdlbSwgZXNwZWNpZmljYXIgbyB0YW1hbmhvIG0mYWFjdXRlO3hpbW8gKGVtIGtpbG9ieXRlcykgcGFyYSBhcyBpbWFnZW5zIGEgc2VyZW0gJnF1b3Q7ZW1iZWRkZWQmcXVvdDsgKHJlY29tZW5kYWRvIDMyKSc7DQokbGFuZ1snaW5mb19lbWJlZF90eXBlcyddID0gJ1NlIGEgb3AmY2NlZGlsOyZhdGlsZGU7byAmcXVvdDtlbWJlZGRpbmcmcXVvdDsgZm9yIGRldGVybWluYWRhIHBlbG8gdGlwbyBkZSBpbWFnZW0sIGVzcGVjaWZpY2FyIGFzIGV4dGVucyZvdGlsZGU7ZXMgYSBzZXJlbSAmcXVvdDtlbWJlZGRlZCZxdW90Oywgc2VwYXJhZGFzIHBvciB2aXJndWxhcy4gRXN0YSBvcCZjY2VkaWw7JmF0aWxkZTtvIG4mYXRpbGRlO28gJmVhY3V0ZTsgc2VucyZpYWN1dGU7dmVsICZhZ3JhdmU7IGNhcGl0YWxpemEmY2NlZGlsOyZhdGlsZGU7byc7DQokbGFuZ1snaW5mb19pbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICdTZSBvIHNldSBDRE4gYXBvbnRhIGRpcmVjdGFtZW50ZSBhbyBkaXJlY3Qmb2FjdXRlO3JpbyBkZSBjYWNoZSBwb2RlciZhYWN1dGU7IHF1ZXJlciBlc3RhIG9wJmNjZWRpbDsmYXRpbGRlO28gYWN0aXZhLic7DQokbGFuZ1snaW5mb19pbWFnZV91cmxfcHJlZml4J10gPSAnRXNwZWNpZmljYXIgbyBVUkwgYSBzZXIgdXNhZG8gY29tbyBwcmVmaXhvIHBhcmEgdG9kYXMgYXMgaW1hZ2VucyBnZXJhZGFzLiBQb3IgZGVmZWl0byBlc3RlICZlYWN1dGU7IG8gVVJMIGRvcyAmcXVvdDt1cGxvYWRzJnF1b3Q7LCBubyBlbnRhbnRvLCBzZSB0aXZlciBvIHNldSBwciZvYWN1dGU7cHJpbyBDRE4gKG91IG0mdWFjdXRlO2x0aXBsb3MgZG9tJmlhY3V0ZTtuaW9zIGEgYXBvbnRhciBwYXJhIG8gbWVzbW8gZGlyZWN0Jm9hY3V0ZTtyaW8pLCBwb2RlciZhYWN1dGU7IHF1ZXJlciBlc3BlY2lmaWNhciB1bSBub21lIGRpZmVyZW50ZSBhcXVpLic7DQokbGFuZ1snbWF4X2NhY2hlX2FnZSddID0gJ0lkYWRlIE0mYWFjdXRlO3hpbWEgZG9zIEZpY2hlaXJvcyBlbSBDYWNoZSAoZGlhcyknOw0KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW0gbSZvYWN1dGU7ZHVsbyBpbnRlbGlnZW50ZSBwYXJhIGdlcmFyIHRhZ3MgZGUgaW1hZ2VucyBwYXJhIG8gQ01TTVMnOw0KJGxhbmdbJ21zZ19hbGlhc2VzX3VwZGF0ZWQnXSA9ICdBbGlhc2VzIGFjdHVhbGl6YWRvcyc7DQokbGFuZ1snbXNnX2NhY2hlY2xlYW5lZCddID0gJ0RpcmVjdCZvYWN1dGU7cmlvIGRhIGNhY2hlIExpbXBvLiAlZCBmaWNoZWlyb3MgcmVtb3ZpZG9zJzsNCiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnQ2FjaGUgUmVtb3ZpZGEnOw0KJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbmNpYXMgQWN0dWFsaXphZGFzJzsNCiRsYW5nWydub25lJ10gPSAnTmVuaHVtJzsNCiRsYW5nWydvcHRpb25zJ10gPSAnT3AmY2NlZGlsOyZvdGlsZGU7ZXMnOw0KJGxhbmdbJ3BhcmFtX2FsaWFzJ10gPSAnVGhlIFNtYXJ0SW1hZ2UgYWRtaW4gcGFuZWwgYWxsb3dzIGNyZWF0aW5nIG51bWVyb3VzIGNvbW1hbmQgYWxpYXMgdG8gY29tYmluZSBhIGZyZXF1ZW50bHkgdXNlZCBwYXR0ZXJuIG9mIGFyZ3VtZW50cyBpbnRvIG9uZSBuYW1lLiAgVG8gdXNlIHRoZXNlIGFsaWFzZXMgdXNlIGFuIGFyZ3VtZW50IG9mIHRoZSBmb3JtIGFsaWFzIyM9YWxpYXNfbmFtZSBpLmU6ICBhbGlhczE9Zm9vIGFsaWFzMj1mb28uJzsNCiRsYW5nWydwYXJhbV9hbHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBhbHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOw0KJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0mcXVvdDtmYW5jeWJveCx0aHVtYm5haWwmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ibHVyJ10gPSAnKGFueXRoaW5nKSBTcGVjaWZ5IGFueSB2YWx1ZSBmb3IgdGhpcyBwYXJhbWV0ZXIgdG8gYWRkIGEgYmx1ciBmaWx0ZXIgdG8gdGhlIGltYWdlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfYnJpZ2h0bmVzcyddID0gJyhpbnRlZ2VyKSBJbmNyYXNlIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBwcm9jZXNzZWQgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBMaWtlIGZpbHRlcl9ncmF5c2NhbGUgaG93ZXZlciB5b3UgY2FuIHNwZWNpZnkgdGhlIGNvbG9yIGFuZCBhbHBoYSB2YWx1ZSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbnRyYXN0J10gPSAnKGludGVnZXIpIENoYW5nZSB0aGUgY29udHJhc3Qgb2YgdGhlIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3AnXSA9ICcocGVyY2VudFssaF9hbGlnbix2X2FsaWduXSkgLSBQZXJmb3JtIGNyb3BwaW5nIG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIENyb3AgcGFyYW1lZXRlcnMgYXJlIHNwZWNpZmllZCBhcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHBhcmFtZXRlcnMuICBUaGUgZmlyc3QgKHJlcXVpcmVkKSB2YWx1ZSBpcyBhbiBpbnRlZ2VyIHBlcmNlbnRhZ2Ugb2YgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuICBUaGUgb3B0aW9uYWwgc2Vjb25kIGFuZCB0aGlyZCBwYXJhbWV0ZXJzIGFyZSBvbmUgb2YgbCxjLHIgKGxlZnQsY2VudGVyLHJpZ2h0KSBhbmQgdCxjLGIgKHRvcCxjZW50ZXIsYm90dG9tKSBzcGVjaWZ5aW5nIHdoZXJlIHRoZSBsb2NhdGlvbiB3aXRoaW4gdGhlIHNvdXJjZSBpbWFnZSB0byBjcm9wIGZyb20uICBpLmU6IGNyb3A9MzMsYixyIHRvIGdyYWIgYSBjcm9wIG9mIDMzJSBmcm9tIHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHNvdXJjZSBpbWFnZS4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvbl0pIC0gUGVyZm9ybSBhIGNyb3B0b2ZpdCBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZW4gZm9jdXMgb24gdGhlIHNlbGVjdGVkIGFyZWEgb2YgdGhlIHJlc2l6ZWQgaW1hZ2UuICBDcm9wIHRvIGZpdCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgdGhlIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBmb3IgdGhlIGRlc3RpbmF0aW9uIGltYWdlIGFsb25nIHdpdGggYW4gKG9wdGlvbmFsKSBsb2NhdGlvbiBjb2RlLiAgdmFsaWQgbG9jYXRpb24gY29kZXMgYXJlIHRsLHRjLHRyLGNsLGMsY3IsYmwsYixiciBmb3IgdGhlIDkgcmVsYXRpdmUgcG9zaXRpb25zIHdpdGhpbiB0aGUgaW1hZ2UuICBJZiBhIGxvY2F0aW9uIGlzIG5vdCBzcGVjaWZpZWQgYSBwcmVmZXJlbmNlIHdpbGwgYmUgdXNlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzICZxdW90O2MmcXVvdDsgdG8gY3JvcC10by1maXQgZnJvbSB0aGUgY2VudGVyIG9mIHRoZSBzb3VyY2UgaW1hZ2UuICBBdCBubyB0aW1lIHdpbGwgdGhpcyBmaWx0ZXIgcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2VkZ2VkZXRlY3QnXSA9ICcoYW55dGhpbmcpIEhpbGlnaHQgdGhlIGVkZ2VzIGluIHRoZSBpbWFnZSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2VtYm9zcyddID0gJyhhbnl0aGluZykgRW1ib3NzIHRoZSBpbWFnZSc7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2ZsaXAnXSA9ICcobW9kZSkgLSBQZXJmb3JtIGEgZmxpcCBvbiB0aGUgc3BlY2lmaWVkIGltYWdlLiAgU3BlY2lmeSAwIGZvciBob3Jpem9udGFsLCAxIGZvciB2ZXJ0aWNhbCwgYW5kIDIgZm9yIGZsaXAgaW4gYm90aCBkaXJlY3Rpb25zLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX2dyYXlzY2FsZSddID0gJyhhbnl0aGluZykgQ29udmVydCB0aGUgaW1hZ2UgdG8gZ3JheXNjYWxlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbWVhbnJlbW92YWwnXSA9ICcoYW55dGhpbmcpIEF0dGVtcHQgdG8gYWNoaWV2ZSBhICZxdW90O3NrZXRjaHkmcXVvdDsgZWZmZWN0JzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFueXRoaW5nKSBOZWdhdGUgdGhlIGltYWdlJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcGl4ZWxhdGUnXSA9ICcoc2l6ZVssYWR2YW5jZWRdKSBQaXhlbGF0ZSB0aGUgaW1hZ2UsIHNwZWNpZnkgYW4gaW50ZWdlciBzaXplIGFuZCBhbiBvcHRpb25hbCBib29sZWFuIChkZWZhdWx0IGlzIGZhbHNlKSB0byBlbmFibGUgYWR2YW5jZWQgcGl4ZWxhdGlvbic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZSddID0gJ3R5cGUsbnVtYmVyWyxudW1iZXJdIC0gUGVyZm9ybSBhIHJlc2l6ZSBvZiB0aGUgc291cmNlIGltYWdlLiAgVGhlIHJlc2l6ZSBmaWx0ZXIgZG9lcyBub3QgcGVyZm9ybSBhbnkgdXBzY2FsZSBjaGVja2luZy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4NCiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+aCxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmUsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSByZXNpemluZyB0aGUgbGFyZ2VzdCBlZGdlIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1lLDEwMCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2hvcyBsYXJnZXN0IGVkZ2UgaXMgMTAwIHBpeGVscy4NCiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+Lg0KPC91bD4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemV0b2ZpdCddID0gJyh3aWR0aCxoZWlnaHRbLGNvbG9yWyxhbHBoYV1dKSAtIFBlcmZvcm0gYSByZXNpemUgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZWF0aW5pbmcgYXNwZWN0IHJhdGlvLCB0aGUgaW1hZ2UgaXMgY2VudGVyZWQgaW4gdGhlIGJveCBzcGVjaWZpZWQgKGVpdGhlciBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBkZXBlbmRpbmcgdXBvbiBhc3BlY3QgcmF0aW8gYW5kIHRoZSBkZXN0aW5hdGlvbiBzaXplLCBhbmQgdGhlIGltYWdlIGlzIHN1cnJvdW5kZWQgYnkgdGhlIHN1cHBsaWVkIGNvbG9yLiAgQ29sb3JzIGNhbiBiZSBzcGVjaWZpZWQgYnkgbmFtZSAoc2VlIHRoZSBYMTEgY29sb3IgbmFtZXMpLCBvciBieSAjbm5ubm5uIGhleGFkZWNpbWFsIGZvcm1hdCwgb3IgYXMgcmdiIHZhbHVlcyBzZXBhcmF0ZWQgYnkgYSA6IGkuZTogIGZpbHRlcl9jcm9wdG9maXQ9NjAwLDQwMCwjZmYwMDAwLiAgVGhlIHNwZWNpYWwgY29sb3IgdmFsdWUgJnF1b3Q7dHJhbnNwYXJlbnQmcXVvdDsgY2FuIGJlIHNwZWNpZmllZCB0byBmb3JjZSB0aGUgYmFja2dyb3VuZCB0byBiZSB0cmFuc3BhcmVudC4gICBBbiBhbHBoYSB2YWx1ZSBtYXkgYmUgc3BlY2lmaWVkIGJldHdlZW4gMCBhbmQgMTI3IHRvIHNwZWNpZnkgZGlmZmVyZW50IGRlZ3JlZXMgb2YgdHJhbnNsdWNlbmN5IGZvciB0aGUgYmFja2dyb3VuZC4gICBBdCBubyB0aW1lIHdpbGwgdGhpcyBwbHVnaW4gcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7DQokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdGF0ZSddID0gJyhhbmdsZSkgU3BlY2lmeSB0aGUgaW50ZWdlciBhbmdsZSAoY291bnRlciBjbG9ja3dpc2UpIHRvIHJvdGF0ZSB0aGUgaW1hZ2UsIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnXSA9ICcocmFkaXVzKSBTcGVjaWZ5IGFuIGludGVnZXIgcmFkaXVzIChpbiBwaXhlbHMpIGZvciByb3VuZGluZyB0aGUgY29ybmVycy4nOw0KJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYW55dGhpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayAoYXMgc3BlY2lmaWVkIGluIHRoZSBDR0V4dGVuc2lvbnMgYWRtaW4gcGFuZWwpIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSc7DQokbGFuZ1sncGFyYW1faGVpZ2h0J10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7d2lkdGgmcXVvdDsgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7IHBhcmFtZXRlciBpcyBhbHNvIHN1cHBsaWVkKSc7DQokbGFuZ1sncGFyYW1faWQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYW4gaWQgYXR0cmlidXRlIHRvIGluY2x1ZGUgb24gdGhlIHRhZy4gIGkuZTogaWQ9JnF1b3Q7c29tZXRhZyZxdW90Oyc7DQokbGFuZ1sncGFyYW1fbWF4X2hlaWdodCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUge3NpX2NvbnZlcnR9IHRhZyB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG1heGltdW0gaGVpZ2h0IGZvciB0aGUgY29udmVydGVkIGltYWdlcyc7DQokbGFuZ1sncGFyYW1fbWF4X3dpZHRoJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSB7c2lfY29udmVydH0gdGFnIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSB3aWR0aCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMnOw0KJGxhbmdbJ3BhcmFtX25hbWUnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBuYW1lIGF0dHJpYnV0ZS4nOw0KJGxhbmdbJ3BhcmFtX25vYXV0byddID0gJ0RvIG5vdCBhdXRvbWF0aWNhbGx5IGNhbGN1YWx0ZSBwYXJhbWV0ZXJzIGZvciB0aGUgaW1nIHRhZy4gIFRoaXMgbWF5IGNhdXNlIHlvdXIgc2l0ZSB0byBmYWlsIHZhbGlkYXRpb24gaWYgc29tZSByZXF1aXJlZCBwYXJhbWV0ZXJzICh3aWR0aCxoZWlnaHQsYWx0KSBhcmUgbm90IHNwZWNpZmllZCc7DQokbGFuZ1sncGFyYW1fbm9hdXRvc2NhbGUnXSA9ICdpZiB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBkaXNhYmxlIGF1dG9tYXRpYyBzY2FsaW5nIG9mIHRoZSBpbWFnZS4nOw0KJGxhbmdbJ3BhcmFtX25vYmNhY2hlJ10gPSAnRG8gbm90IGFsbG93IHRoZSByZXNpemVkIGltYWdlIHRvIGNhY2hlIGluIHRoZSBicm93c2VyICh1c2VmdWwgZm9yIGRldmVsb3BtZW50IHB1cnBvc2VzKSB0aGlzIGFkZHMgYSB1bmlxdWUgbnVtYmVyIGFzIGEgcGFyYW1ldGVyIHRvIHRoZSBpbWFnZSB3aGljaCB3aWxsIGZvcmNlIHRoZSBicm93c2VyIG5vdCB0byBjYWNoZSB0aGUgaW1hZ2UuJzsNCiRsYW5nWydwYXJhbV9ub2VtYmVkJ10gPSAnRm9yY2UgdGhlIGltYWdlIHRvIG5vdCBlbWJlZC4gIFJlZ2FyZGxlc3Mgb2Ygc2V0dGluZ3MgaW4gdGhlIGFkbWluIHBhbmVsLCB0aGUgVVJMIGFuZCB0YWcgZ2VuZXJhdGVkIHdpbGwgYmUgdG8gYSBmaWxlIG9uIHRoZSBzZXJ2ZXIuICBObyBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQnOw0KJGxhbmdbJ3BhcmFtX25vdGltZWNoZWNrJ10gPSAnRGlzYWJsZSB0aW1lIGNoZWNraW5nIG9mIGNhY2hlZCBmaWxlcy4nOw0KJGxhbmdbJ3BhcmFtX25vcmVtb3RlJ10gPSAnRG8gbm90IGFsbG93IHJldHJpZXZpbmcgc291cmNlcyBmcm9tIHJlbW90ZSBVUkxTJzsNCiRsYW5nWydwYXJhbV9ub3JvdGF0ZSddID0gJ0RvIG5vdCBhdHRlbXB0IHRvIHJlYWQgZXhpZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmaWxlIGFuZCBjb3JyZWN0IGltYWdlIHJvdGF0aW9uJzsNCiRsYW5nWydwYXJhbV9ub3RhZyddID0gJ0RvIG5vdCBvdXRwdXQgYW4gaW1nIHRhZywgb25seSB0aGUgdXJsIHRvIHRoZSBjYWNoZWQgaW1hZ2UuICBUaGlzIGhhcyBubyBlZmZlY3Qgd2hlbiBTbWFydEltYWdlIGlzIHVzZWQgZnJvbSB3aXRoaW4gYSBzdHlsZXNoZWV0Lic7DQokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnRGlzYWJsZSBhbGwgY2FjaGluZyBhbmQgZm9yY2UgcmUtY2FsY3VsYXRpb24gb2YgYWxsIGZpbHRlcnMnOw0KJGxhbmdbJ3BhcmFtX3F1YWxpdHknXSA9ICdTcGVjaWZ5IHRoZSBxdWFsaXR5IG9mIHRoZSBvdXRwdXQgaW1hZ2UuICBBIHZhbHVlIGJldHdlZW4gMCBhbmQgMTAwLiAgVGhlIGRlZmF1bHQgdmFsdWUgaWYgbm90IHNwZWNpZmllZCBpcyA3NS4nOw0KJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1VzZWQgd2hlbiBidWlsZGluZyBhbiBpbWFnZSB0YWcgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcmVsIGF0dHJpYnV0ZSAodHlwaWNhbGx5IHVzZWQgd2l0aCBqYXZhc2NyaXB0IHR5cGUgYWxidW1zKS4gaS5lOiByZWw9JnF1b3Q7YWxidW0mcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX3NpbGVudCddID0gJ1NpbGVudGx5IGlnbm9yZSBlcnJvcnMnOw0KJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCjx1bD4NCiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KPC91bD4NCkl0IGlzIGFsc28gcG9zc2libGUgdG8gc3BsaXQgdGhlIHNyYyBwYXJhbWV0ZXIgaW50byBtdWx0aXBsZSBhcmd1bWVudHMsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYXRoIHRvIHRoZSBmaWxlLCBhbmQgdGhlIGZpbGVuYW1lIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUgc21hcnR5IHZhcmlhYmxlcy4gICBZb3UgY2FuIHNwZWNpZnkgdGhlIHNyYyBhcyBzcmMxPVwkdGhlX3BhdGggc3JjMj1cJHRoZV9maWxlbmFtZS4gIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIC8gaW4gYmV0d2VlbiBlYWNoIGFyZ3VtZW50LiAgVGhlcmUgaXMgbm8gbGltaXQgdG8gdGhlIG51bWJlciBvZiBzcmMgcGFyYW1ldGVycy4nOw0KJGxhbmdbJ3BhcmFtX3N0eWxlJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFsdGVybmF0ZSBzdHlsZXMgZm9yIHRoZSB0YWcuICBpLmU6IHN0eWxlPSZxdW90O2JvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyZxdW90Oyc7DQokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdTcGVjaWZ5IGFuIG9wdGlvbmFsIHRpdGxlIGF0dHJpYnV0ZSBmb3IgdGhlIGltZyB0YWcuICBpLmU6IHRpdGxlPSZxdW90O1RoaXMgaXMgdGhlIHRvb2x0aXAmcXVvdDsnOw0KJGxhbmdbJ3BhcmFtX3dpZHRoJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgd2lkdGggYXR0cmlidXRlLiAgIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7aGVpZ2h0JnF1b3Q7IHBhcmFtZXRlciB0byBwZXJmb3JtIGEgZmluYWwgcmVzaXppbmcgb3IgY3JvcHRvZml0IGZpbHRlciAodW5sZXNzIHRoZSAmcXVvdDtub2F1dG9zY2FsZSZxdW90OyBwYXJhbWV0ZXIgaXMgYWxzbyBzdXBwbGllZCknOw0KJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTSZvYWN1dGU7ZHVsbyBpbnN0YWxhZG8nOw0KJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUb2RvcyBvcyBkYWRvcyBhc3NvY2lhZG9zIGEgZXN0ZSBtJm9hY3V0ZTtkdWxvIGZvcmFtIHJlbW92aWRvcyc7DQokbGFuZ1sncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1Bvc2kmY2NlZGlsOyZhdGlsZGU7byBwb3IgZGVmZWl0byBhcGFydGlyIGRlIG9uZGUgZmF6ZXIgJnF1b3Q7Y3JvcCB0byBmaXQmcXVvdDsgKGNvcnRhciBwYXJhIGNhYmVyKSc7DQokbGFuZ1sncHJvbXB0X2VtYmVkX3NpemVsaW1pdCddID0gJ0Jhc2VhZG8gbm8gdGFtYW5obyBkYSBpbWFnZW0nOw0KJGxhbmdbJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnXSA9ICdNb2RvIGludGVsaWdlbnRlIG1hcyBsaW1pdGFkbyBhbyB0YW1hbmhvIGRlIGltYWdlbSc7DQokbGFuZ1sncHJvbXB0X2VtYmVkX3R5cGUnXSA9ICdCYXNlYWRvIG5vIHRhbWFuaG8gZGUgaW1hZ2VtJzsNCiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWxlZnQnXSA9ICdCYWl4byBFc3F1ZXJkYSAoYmwpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0JhaXhvIENlbnRybyAoYmMpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0J10gPSAnQmFpeG8gRGlyZWl0YSAoYnIpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlcmxlZnQnXSA9ICdDZW50cm8gRXNxdWVyZGEgKGNsKSc7DQokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXInXSA9ICdDZW50cm8gKGMpJzsNCiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlcnJpZ2h0J10gPSAnQ2VudHJvIERpcmVpdGEgKGNyKSc7DQokbGFuZ1sncHJvbXB0X2xvY190b3BsZWZ0J10gPSAnVG9wbyBFc3F1ZXJkYSAodGwpJzsNCiRsYW5nWydwcm9tcHRfbG9jX3RvcGNlbnRlciddID0gJ1RvcG8gQ2VudHJvICh0YyknOw0KJGxhbmdbJ3Byb21wdF9sb2NfdG9wcmlnaHQnXSA9ICdUb3BvIERpcmVpdGEgKHRyKSc7DQokbGFuZ1sncmVzaXppbmcnXSA9ICdSZWRpbWVuc2lvbmFuZG8nOw0KJGxhbmdbJ3NtYXJ0J10gPSAnSW50ZWxpZ2VudGUnOw0KJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1ldGVyJzsNCiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIxMzY4MDk4NjIuMTM3NDE2Mjc1MS4xMzc0MTYyNzUxLjEzNzQxNjI3NTEuMSc7DQokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7DQokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzc0MTYyNzUxLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICfQmtGN0Ygg0L7Rh9C40YnQtdC9JzsKJGxhbmdbJ2FkZF9yb3cnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINGB0YLRgNC+0LrRgyc7CiRsYW5nWydhbGlhcyddID0gJ9CQ0LvQuNCw0YEnOwokbGFuZ1snYWxpYXNlcyddID0gJ9CQ0LvQuNCw0YHRiyc7CiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICfQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDQktCh0JUg0YTQsNC50LvRiyDQuNC3INC60LXRiNCwINC40LfQvtCx0YDQsNC20LXQvdC40Lk/JzsKJGxhbmdbJ2F1dG9wcm9jZXNzaW5nJ10gPSAn0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LDRjyDQvtCx0YDQsNCx0L7RgtC60LAnOwokbGFuZ1snYXV0b3Byb2Nlc3NfYXV0b3JvdGF0ZSddID0gJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INC+0YDQuNC10L3RgtCw0YbQuNGPINC40LfQvtCx0YDQsNC20LXQvdC40Y8nOwokbGFuZ1snYXV0b3Byb2Nlc3NfZW5hYmxlZCddID0gJ9CS0LrQu9GO0YfQtdC90L4nOwokbGFuZ1snYXV0b3Byb2Nlc3NfbWF4X3NpemUnXSA9ICfQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC40LfQvtCx0YDQsNC20LXQvdC40Y8nOwokbGFuZ1snYXV0b3Byb2Nlc3Nfd2F0ZXJtYXJrJ10gPSAn0JLQvtC00Y/QvdGL0LUg0LfQvdCw0LrQuCc7CiRsYW5nWydjbGVhcl9hbGwnXSA9ICfQntGH0LjRgdGC0LjRgtGMINCy0YHQtSDRhNCw0LnQu9GLJzsKJGxhbmdbJ2NsZWFyX25vdyddID0gJ9Ce0YfQuNGB0YLQuNGC0Ywg0YHQtdC50YfQsNGBJzsKJGxhbmdbJ2NhY2hlX3BhdGgnXSA9ICfQn9GD0YLRjCDQutGN0YjQsCc7CiRsYW5nWydjaGVja19tZW1vcnknXSA9ICfQktGL0L/QvtC70L3QtdC90LjQtSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+0Lkg0L/RgNC+0LLQtdGA0LrQuCDQv9Cw0LzRj9GC0LgnOwokbGFuZ1snY3JvcHRvZml0J10gPSAn0JrQsNC00YDQuNGA0L7QstCw0YLRjCc7CiRsYW5nWydkZWxldGUnXSA9ICfQo9C00LDQu9C40YLRjCc7CiRsYW5nWydlbWJlZGRpbmcnXSA9ICfQktGB0YLRgNC+0LXQvdC90YvQtSDQuNC30L7QsdGA0LDQttC10L3QuNGPJzsKJGxhbmdbJ2VuYWJsZV9yZXNwb25zaXZlJ10gPSAn0JLQutC70Y7Rh9C40YLRjCDQsNC00LDQv9GC0LjQstC90YvQtSDQuNC30L7QsdGA0LDQttC10L3QuNGPJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NtYXJ0SW1hZ2UnOwokbGFuZ1snZ2VuZXJhbCddID0gJ9Ce0LHRidC40LUg0L3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ2luZm9fYWxpYXNlcyddID0gJ9CSIFNtYXJ0SW1hZ2Ug0LLQvtC30LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LDQu9C40LDRgdGLINC00LvRjyDQvtCx0YrQtdC00LjQvdC10L3QuNGPINC80L3QvtCz0L7Rh9C40YHQu9C10L3QvdGL0YUg0YfQsNGB0YLQviDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0YUg0L7Qv9GG0LjQuSc7CiRsYW5nWydpbmZvX2F1dG9zY2FsZV9vcCddID0gJ9Ca0L7Qs9C00LAg0LDQstGC0L7QvNCw0YHRiNGC0LDQsdC40YDQvtCy0LDQvdC40LUg0YDQsNC30YDQtdGI0LXQvdC+LCDRjdGC0LAg0L3QsNGB0YLRgNC+0LnQutCwINGD0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC00LXQudGB0YLQstC40LUg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4sINC60L7RgtC+0YDRi9C5INCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjy4g0JTQtdC50YHRgtCy0LjQtSDQvNC+0LbQvdC+INC/0LXRgNC10L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YEg0L/QvtC80L7RidGM0Y4g0L/QsNGA0LDQvNC10YLRgNCwIGF1dG9zY2FsZV9vcC4nOwokbGFuZ1snaW5mb19jaGVja19tZW1vcnknXSA9ICfQldGB0LvQuCDRjdGC0L7RgiDQv9Cw0YDQsNC80LXRgtGAINCy0LrQu9GO0YfQtdC9LCDRgdC40YHRgtC10LzQsCDQv9C+0L/Ri9GC0LDQtdGC0YHRjyDQvtGG0LXQvdC40YLRjCDQv9Cw0LzRj9GC0YwsINC90LXQvtCx0YXQvtC00LjQvNGD0Y4g0LTQu9GPINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Y8g0LjQt9C+0LHRgNCw0LbQtdC90LjRjywg0Lgg0LfQsNCy0LXRgNGI0LjRgtGB0Y8g0YHQsdC+0LXQvCDQv9GA0Lgg0L7QsdC90LDRgNGD0LbQtdC90LjQuCDQvdC10LTQvtGB0YLQsNGC0L7Rh9C90L7QuSDQtNC+0YHRgtGD0L/QvdC+0Lkg0L/QsNC80Y/RgtC4JzsKJGxhbmdbJ2luZm9fY3JvcHRvZml0X2RlZmF1bHRfbG9jJ10gPSAn0KPQutCw0LbQuNGC0LUg0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiwg0LjQtyDQutC+0YLQvtGA0L7Qs9C+INC90YPQttC90L4gJnF1b3Q70L7QsdGA0LXQt9Cw0YLRjCZxdW90Oywg0Y3RgtC+INC/0YDQuNCy0LXQtNC10YIg0Log0YLQvtC80YMsINGH0YLQviDQstGB0LUg0LrQsNC00YDRiyDQsdGD0LTRg9GCINGB0L7QvtGC0LLQtdGC0YHRgtCy0L7QstCw0YLRjCDQvtC/0LXRgNCw0YbQuNGP0LwsINC10YHQu9C4INC/0LDRgNCw0LzQtdGC0YAgbG9jYXRpb24g0LIg0LDRgtGA0LjQsdGD0YLQtSBmaWx0ZXJfY3JvcHRvZml0INC90LUg0L/QtdGA0LXQvtC/0YDQtdC00LXQu9GP0LXRgiDQtdCz0L4uINCc0LXRgdGC0L4g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSAmcXVvdDvRhtC10L3RgtGAJnF1b3Q7JzsKJGxhbmdbJ2luZm9fcmVzcG9uc2l2ZSddID0gJ9CV0YHQu9C4INCy0LrQu9GO0YfQtdC90L4sIFNtYXJ0SW1hZ2Ug0L/QvtC/0YvRgtCw0LXRgtGB0Y8g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INGA0LDQt9GA0LXRiNC10L3QuNC1INGD0YHRgtGA0L7QudGB0YLQstCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDQv9C10YDQtdC80LDRgdGI0YLQsNCx0LjRgNC+0LLQsNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSwg0YfRgtC+0LHRiyDQvdC4INC/0YDQuCDQutCw0LrQuNGFINC+0LHRgdGC0L7Rj9GC0LXQu9GM0YHRgtCy0LDRhSDQstGL0YXQvtC00L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUg0L3QtSDQsdGL0LvQviDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0LjQvCDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjy4g0K3RgtC+INGB0L/QvtGB0L7QsdGB0YLQstGD0LXRgiDQv9C+0LLRi9GI0LXQvdC40Y4g0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4INC/0YDQuCDRgNCw0LfRgNCw0LHQvtGC0LrQtSDQvNC+0LHQuNC70YzQvdGL0YUg0LLQtdGA0YHQuNC5INGB0LDQudGC0L7Qsi4nOwokbGFuZ1snaW5mb19mb3JjZV9leHRlbnNpb24nXSA9ICfQldGB0LvQuCDQstC60LvRjtGH0LXQvdC+LCBTbWFydEltYWdlINC30LDRgdGC0LDQstC40YIg0LLRgdC1INGB0LPQtdC90LXRgNC40YDQvtCy0LDQvdC90YvQtSDQuNC30L7QsdGA0LDQttC10L3QuNGPINC40LzQtdGC0Ywg0YDQsNGB0YjQuNGA0LXQvdC40LUg0YTQsNC50LvQsC4g0J/RgNC40LzQtdGH0LDQvdC40LUuINCd0LXRgdC80L7RgtGA0Y8g0L3QsCDQstGB0LUg0YPRgdC40LvQuNGPINC/0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjiDQv9GA0LDQstC40LvRjNC90L7RgdGC0LgsINGB0L7Qt9C00LDQvdC90L7QtSDRgNCw0YHRiNC40YDQtdC90LjQtSDRhNCw0LnQu9CwINC80L7QttC10YIg0L3QtSDRgtC+0YfQvdC+INC+0YLQvtCx0YDQsNC20LDRgtGMINGE0LDQutGC0LjRh9C10YHQutC40Lkg0YLQuNC/INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCINC40YHQv9C+0LvRjNC30YPQtdC80YvRhSDRhNC40LvRjNGC0YDQvtCyINC4INC/0LDRgNCw0LzQtdGC0YDQvtCyINGN0YLQuNGFINGE0LjQu9GM0YLRgNC+0LIuJzsKJGxhbmdbJ2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ9Ch0L7QtNC10YDQttC40YIg0LvQuCBVUkwg0LLRi9GI0LUgINC/0YPRgtGMINC60Y3RiNCwPyAodXBsb2Fkcy9fU21hcnRJbWFnZSknOwokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ9Cf0YDQtdGE0LjQutGBIFVSTC3QsNC00YDQtdGB0LAg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyc7CiRsYW5nWydpbmZvX2NhY2hlX2FnZSddID0gJ9Cj0LrQsNC20LjRgtC1INC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDQstC+0LfRgNCw0YHRgiDRhNCw0LnQu9CwICjQsiDQtNC90Y/RhSkg0LTQviDQtdCz0L4g0YPQtNCw0LvQtdC90LjRjyDQuCDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC5INGA0LXQs9C10L3QtdGA0LDRhtC40LguINCt0YLQviDQv9C+0LvQtdC30L3Qviwg0LXRgdC70Lgg0LLRiyDQuNC30LzQtdC90LjQu9C4INC90LXQutC+0YLQvtGA0YvQtSDQv9Cw0YDQsNC80LXRgtGA0YssINC40YHQv9C+0LvRjNC30YPQtdC80YvQtSDQv9GA0Lgg0YHQvtC30LTQsNC90LjQuCDQuNC30L7QsdGA0LDQttC10L3QuNC5LCDQuNC70Lgg0LTQu9GPINGD0L/RgNCw0LLQu9C10L3QuNGPINC+0LHRitC10LzQvtC8INC40YHQv9C+0LvRjNC30YPQtdC80L7Qs9C+INC00LjRgdC60L7QstC+0LPQviDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0LAuINCU0LvRjyDQvtGC0LrQu9GO0YfQtdC90LjRjyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtCz0L4g0YPQtNCw0LvQtdC90LjQtSDRhNCw0LnQu9C+0LIg0LLQstC10LTQuNGC0LUgMCc7CiRsYW5nWydpbmZvX2NhY2hlX3BhdGgnXSA9ICfQn9GD0YLRjCDQtNC70Y8g0YXRgNCw0L3QtdC90LjRjyDQuNC30L7QsdGA0LDQttC10L3QuNC5INCyINC60Y3RiNC1LiDQmtGN0Ygt0L/Rg9GC0Ywg0L7RgtC90L7RgdC40YLRgdGPINC6INGB0YHRi9C70LrQtSDQvdCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjiAmcXVvdDtyb290X3BhdGgmcXVvdDsnOwokbGFuZ1snaW5mb19pbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICfQldGB0LvQuCDQstCw0YggQ0ROINGD0LrQsNC30YvQstCw0LXRgiDQv9GA0Y/QvNC+INC90LAg0LrQsNGC0LDQu9C+0LMg0LrQtdGI0LAsINCy0Ysg0LzQvtC20LXRgtC1INCy0LrQu9GO0YfQuNGC0Ywg0Y3RgtGDINC+0L/RhtC40Y4uJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ9Cj0LrQsNC20LjRgtC1INC/0YDQtdGE0LjQutGBIFVSTC3QsNC00YDQtdGB0LAgINC00LvRjyDQstGB0LXRhSDRgdCz0LXQvdC10YDQuNGA0L7QstCw0L3QvdGL0YUg0LjQt9C+0LHRgNCw0LbQtdC90LjQuS4g0J/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0Y3RgtC+IFVSTC3QsNC00YDQtdGBINC30LDQs9GA0YPQt9C+0LosINC+0LTQvdCw0LrQviDQtdGB0LvQuCDRgyDQstCw0YEg0LXRgdGC0Ywg0YHQvtCx0YHRgtCy0LXQvdC90YvQuSBDRE4gKNC40LvQuCDQvdC10YHQutC+0LvRjNC60L4g0LTQvtC80LXQvdC+0LIsINGD0LrQsNC30YvQstCw0Y7RidC40YUg0L3QsCDQvtC00LjQvSDQuCDRgtC+0YIg0LbQtSDQutCw0YLQsNC70L7QsyksINCy0Ysg0LzQvtC20LXRgtC1INGD0LrQsNC30LDRgtGMINC30LTQtdGB0Ywg0LTRgNGD0LPQvtC1INC40LzRjyc7CiRsYW5nWydpbmZvX3Byb2dyZXNzaXZlJ10gPSAn0JXRgdC70Lgg0LLQutC70Y7Rh9C10L3Qviwg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyBKUEVHINCx0YPQtNGD0YIg0YHQvtGF0YDQsNC90LXQvdGLINCyINCy0LjQtNC1INC/0YDQvtCz0YDQtdGB0YHQuNCy0L3Ri9GFINC40LfQvtCx0YDQsNC20LXQvdC40LkuINCt0YLQvtGCINC/0LDRgNCw0LzQtdGC0YAg0YLQsNC60LbQtSDQvNC+0LbQvdC+INC/0LXRgNC10L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YEg0L/QvtC80L7RidGM0Y4g0L/RgNC+0LPRgNC10YHRgdC40LLQvdC+0LPQviDQv9Cw0YDQsNC80LXRgtGA0LAuJzsKJGxhbmdbJ2luZm9fc3VwcHJlc3NfZXJyb3JzJ10gPSAn0KPQutCw0LbQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwICZxdW90O3NpbGVudCZxdW90Oyc7CiRsYW5nWydtYXhfY2FjaGVfYWdlJ10gPSAn0JzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwINC60Y3RiNCwICjQtNC90LXQuSknOwokbGFuZ1snbXNnX2FsaWFzZXNfdXBkYXRlZCddID0gJ9Ce0LHQvdC+0LLQu9C10L3RiyDQsNC70LjQsNGB0YsnOwokbGFuZ1snbXNnX2NhY2hlY2xlYW5lZCddID0gJ9Ce0YfQuNGB0YLQutCwINC60LXRiNCwINC30LDQstC10YDRiNC10L3QsC4g0KPQtNCw0LvQtdC90L4gJWQg0YTQsNC50LvQvtCyJzsKJGxhbmdbJ21zZ19jYWNoZXJlbW92ZWQnXSA9ICfQmtGN0Ygg0L/QvtC70L3QvtGB0YLRjNGOINC+0YfQuNGJ0LXQvSc7CiRsYW5nWydtc2dfcHJlZnN1cGRhdGVkJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4INC+0LHQvdC+0LLQu9C10L3Riyc7CiRsYW5nWydub25lJ10gPSAn0J3QuNC60YLQvic7CiRsYW5nWydvcHRpb25zJ10gPSAn0J7Qv9GG0LjQuCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ9Cc0L7QtNGD0LvRjCDRg9GB0YLQsNC90L7QstC70LXQvSc7CiRsYW5nWydwcm9tcHRfYXV0b3NjYWxlX29wJ10gPSAn0JTQtdC50YHRgtCy0LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8g0LDQstGC0L7QvNCw0YHRiNGC0LDQsdC40YDQvtCy0LDQvdC40Y8nOwokbGFuZ1sncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ9Cg0LDRgdC/0L7Qu9C+0LbQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQv9GA0Lgg0LrQsNC00YDQuNGA0L7QstCw0L3QuNC1IChjcm9wIHRvIGZpdCknOwokbGFuZ1sncHJvbXB0X2ZvcmNlX2V4dGVuc2lvbiddID0gJ9CS0YHQtSDRhNCw0LnQu9GLINC00L7Qu9C20L3RiyDQuNC80LXRgtGMINGA0LDRgdGI0LjRgNC10L3QuNC1INGE0LDQudC70LAnOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAn0JLQvdC40LfRgyDRgdC70LXQstCwIChibCknOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21jZW50ZXInXSA9ICfQktC90LjQt9GDINCyINGG0LXQvdGC0YDQtSAoYmMpJzsKJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tcmlnaHQnXSA9ICfQktC90LjQt9GDINGB0L/RgNCw0LLQsCAoYnIpJzsKJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVybGVmdCddID0gJ9CSINGG0LXQvdGC0YDQtSDRgdC70LXQstCwIChjbCknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXInXSA9ICfQkiDRhtC10L3RgtGA0LUgKGMpJzsKJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVycmlnaHQnXSA9ICfQkiDRhtC10L3RgtGA0LUg0YHQv9GA0LDQstCwIChjbCknOwokbGFuZ1sncHJvbXB0X2xvY190b3BsZWZ0J10gPSAn0JLQstC10YDRhdGDINGB0LvQtdCy0LAgKHRsKSc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcGNlbnRlciddID0gJ9CS0LLQtdGA0YXRgyDQsiDRhtC10L3RgtGA0LUgKHRjKSc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcHJpZ2h0J10gPSAn0JLQstC10YDRhdGDINGB0L/RgNCw0LLQsCAodHIpJzsKJGxhbmdbJ3Byb21wdF9wcm9ncmVzc2l2ZSddID0gJ9Ch0L7RhdGA0LDQvdGP0YLRjCDQuNC30L7QsdGA0LDQttC10L3QuNGPIEpQRyDQutCw0Log0L/RgNC+0LPRgNC10YHRgdC40LLQvdGL0LUnOwokbGFuZ1sncmVzaXplJ10gPSAn0JjQt9C80LXQvdC40YLRjCDRgNCw0LfQvNC10YAnOwokbGFuZ1sncmVzaXppbmcnXSA9ICfQmNC30LzQtdC90LXQvdC40LUg0YDQsNC30LzQtdGA0LAnOwokbGFuZ1sncmVzcG9uc2l2ZSddID0gJ9CQ0LTQsNC/0YLQuNCy0L3QvtGB0YLRjCc7CiRsYW5nWydzbWFydCddID0gJ9Cj0LzQvdGL0LknOwokbGFuZ1snc3VibWl0J10gPSAn0J7RgtC/0YDQsNCy0LjRgtGMJzsKJGxhbmdbJ3N1cHByZXNzX2Vycm9ycyddID0gJ9Cf0L7QtNCw0LLQu9GP0YLRjCDQvtGI0LjQsdC60LgnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.AutoProcessMasterTask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpuYW1lc3BhY2UgU21hcnRJbWFnZTsKCmNsYXNzIEF1dG9Qcm9jZXNzTWFzdGVyVGFzayBpbXBsZW1lbnRzIFxDbXNSZWd1bGFyVGFzawp7CiAgICBjb25zdCBQUkVGX0xBU1RSVU4gPSAnYXV0b3Byb2Nlc3NfbGFzdHJ1bic7CiAgICBwcml2YXRlICRfcHJlZnM7CiAgICBwcml2YXRlICRfZm9yY2U7CgogICAgcHJpdmF0ZSBmdW5jdGlvbiAmZ2V0X3ByZWZzKCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5fcHJlZnMgKSAkdGhpcy0+X3ByZWZzID0gYXV0b3Byb2Nlc3Nfb3B0aW9uczo6bG9hZCgpOwogICAgICAgIHJldHVybiAkdGhpcy0+X3ByZWZzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmb3JjZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPl9mb3JjZSA9IHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gYmFzZW5hbWUoZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1NNQVJUSU1BR0UpOwogICAgICAgIHJldHVybiAkbW9kLT5MYW5nKCdhdXRvcHJvY2Vzc3Rhc2tfZGVzY3JpcHRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdCgkdGltZSA9ICcnKQogICAgewogICAgICAgIGlmKCAhJHRpbWUgKSAkdGltZSA9IHRpbWUoKTsKCiAgICAgICAgJG9wdHMgPSAkdGhpcy0+Z2V0X3ByZWZzKCk7CiAgICAgICAgaWYoICEgJG9wdHMtPmVuYWJsZWQgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgaWYoICR0aGlzLT5fZm9yY2UgKSByZXR1cm4gVFJVRTsKCiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1NNQVJUSU1BR0UpOwogICAgICAgICRsYXN0cnVuID0gJG1vZC0+R2V0UHJlZmVyZW5jZShzZWxmOjpQUkVGX0xBU1RSVU4pOwogICAgICAgIGlmKCB0aW1lKCkgLSAkbGFzdHJ1biA8IDM2MDAgKiA2ICkgcmV0dXJuIEZBTFNFOwogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmlsZXMoJGRpcikKICAgIHsKICAgICAgICAkcHJlZnMgPSAkdGhpcy0+Z2V0X3ByZWZzKCk7CiAgICAgICAgaWYoICEkcHJlZnMtPmlzX2Rpcl9zY2FubmFibGUoJGRpcikgKSByZXR1cm47CgogICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICRkaCA9IG9wZW5kaXIoJGRpcik7CiAgICAgICAgd2hpbGUoIGZhbHNlICE9PSAoJGZpbGUgPSByZWFkZGlyKCRkaCkpICkgewogICAgICAgICAgICAkZmlsZXNwZWMgPSAkZGlyLicvJy4kZmlsZTsKICAgICAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJGZpbGUsJy4nKSApIGNvbnRpbnVlOwoKICAgICAgICAgICAgaWYoIGlzX2ZpbGUoJGZpbGVzcGVjKSAmJiAkcHJlZnMtPmlzX2ZpbGVfc2Nhbm5hYmxlKCRmaWxlc3BlYykgKSB7CiAgICAgICAgICAgICAgICAkc2l6ZWluZm8gPSBnZXRpbWFnZXNpemUoJGZpbGVzcGVjKTsKICAgICAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHNpemVpbmZvKSB8fCBjb3VudCgkc2l6ZWluZm8pIDwgMiApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYoICRzaXplaW5mb1swXSA8PSAkcHJlZnMtPm1heF9zaXplICYmICRzaXplaW5mb1sxXSA8PSAkcHJlZnMtPm1heF9zaXplICkgY29udGludWU7CiAgICAgICAgICAgICAgICAkb3V0W10gPSAkZmlsZXNwZWM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiggaXNfZGlyKCRmaWxlc3BlYykgKSB7CiAgICAgICAgICAgICAgICAkdG1wID0gJHRoaXMtPmdldF9maWxlcygkZmlsZXNwZWMpOwogICAgICAgICAgICAgICAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgJG91dCA9IGFycmF5X21lcmdlKCRvdXQsJHRtcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9uX3N1Y2Nlc3MoJHRpbWUgPSAnJykKICAgIHsKICAgICAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1NNQVJUSU1BR0UpOwogICAgICAgICRtb2QtPlNldFByZWZlcmVuY2Uoc2VsZjo6UFJFRl9MQVNUUlVOLCR0aW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb25fZmFpbHVyZSgkdGltZSA9ICcnKSB7fQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzY2FuX2Zvcl9maWxlcygpCiAgICB7CiAgICAgICAgJG9wdHMgPSAkdGhpcy0+Z2V0X3ByZWZzKCk7CiAgICAgICAgJGluYyA9ICRvcHRzLT5nZXRfaW5jbHVkZV9kaXJzKCk7CiAgICAgICAgJGNvbmZpZyA9IFxjbXNfY29uZmlnOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICBpZiggY291bnQoJGluYykgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICRpbmMgYXMgJGRpciApIHsKICAgICAgICAgICAgICAgICR0bXAgPSAkdGhpcy0+Z2V0X2ZpbGVzKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLicvJy4kZGlyKTsKICAgICAgICAgICAgICAgIGlmKCBjb3VudCgkdG1wKSApICRvdXQgPSBhcnJheV9tZXJnZSgkb3V0LCR0bXApOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJG91dCA9ICR0aGlzLT5nZXRfZmlsZXMoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhlY3V0ZSgkdGltZSA9ICcnKQogICAgewogICAgICAgIGlmKCAhJHRpbWUgKSAkdGltZSA9IHRpbWUoKTsKCiAgICAgICAgJGZpbGVzID0gJHRoaXMtPnNjYW5fZm9yX2ZpbGVzKCk7CiAgICAgICAgaWYoIGNvdW50KCRmaWxlcykgKSB7CiAgICAgICAgICAgIC8vIGRldmlkZSB0aGUgZmlsZSBsaXN0IGludG8gY2h1bmtzCiAgICAgICAgICAgICRjaHVua19zaXplID0gNTsgLy8gdG9kbzogc2V0dGluZwogICAgICAgICAgICAkY2h1bmtzID0gYXJyYXlfY2h1bmsoJGZpbGVzLCRjaHVua19zaXplKTsKICAgICAgICAgICAgZm9yZWFjaCggJGNodW5rcyBhcyAkY2h1bmsgKSB7CiAgICAgICAgICAgICAgICAkbXNnID0gbmV3IEF1dG9Qcm9jZXNzTWVzc2FnZSgkY2h1bmspOwogICAgICAgICAgICAgICAgJG1zZy0+c2F2ZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBUUlVFOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.AutoProcessMessage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEltYWdlOwoKZmluYWwgY2xhc3MgQXV0b1Byb2Nlc3NNZXNzYWdlIGV4dGVuZHMgXENNU01TXEFzeW5jXEpvYgp7CiAgICBwcml2YXRlICRfZmlsZXM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRmaWxlcykKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CiAgICAgICAgJHRoaXMtPl9maWxlcyA9ICRmaWxlczsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gJmdldF9wcmVmcygpCiAgICB7CiAgICAgICAgc3RhdGljICRfcHJlZnM7CiAgICAgICAgaWYoICEkX3ByZWZzICkgJF9wcmVmcyA9IGF1dG9wcm9jZXNzX29wdGlvbnM6OmxvYWQoKTsKICAgICAgICByZXR1cm4gJF9wcmVmczsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYXV0b2NvbnZlcnRfZmlsZSgkZmlsZW5hbWUpCiAgICB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYoICFpc19maWxlKCRmaWxlbmFtZSkgKSB0aHJvdyBuZXcgXEV4Y2VwdGlvbignRmlsZSBub3QgZm91bmQnKTsKICAgICAgICAgICAgaWYoICFpc193cml0YWJsZSgkZmlsZW5hbWUpICkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ0ZpbGUgbm90IHdyaXRhYmxlJyk7CiAgICAgICAgICAgICRwcmVmcyA9ICR0aGlzLT5nZXRfcHJlZnMoKTsKICAgICAgICAgICAgaWYoICEkcHJlZnMtPmlzX2ZpbGVfc2Nhbm5hYmxlKCRmaWxlbmFtZSkgKSByZXR1cm47CgogICAgICAgICAgICAkc2l6ZWluZm8gPSBnZXRpbWFnZXNpemUoJGZpbGVuYW1lKTsKICAgICAgICAgICAgaWYoICFpc19hcnJheSgkc2l6ZWluZm8pIHx8IGNvdW50KCRzaXplaW5mbykgPCAyICkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ1Byb2JsZW0gZ2V0dGluZyBpbWFnZSBkZXRhaWxzJyk7CiAgICAgICAgICAgIGlmKCAkc2l6ZWluZm9bMF0gPD0gJHByZWZzLT5tYXhfc2l6ZSAmJiAkc2l6ZWluZm9bMV0gPD0gJHByZWZzLT5tYXhfc2l6ZSkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoKICAgICAgICAgICAgJG9wdHMgPSBhcnJheSgpOwogICAgICAgICAgICAkb3B0c1snc3JjJ10gPSAkZmlsZW5hbWU7CiAgICAgICAgICAgICRvcHRzWydub3RhZyddID0gMTsKICAgICAgICAgICAgJG9wdHNbJ25vZW1iZWQnXSA9IDE7CiAgICAgICAgICAgICRvcHRzWydvdmVyd3JpdGUnXSA9IDE7CiAgICAgICAgICAgIGlmKCAhJHByZWZzLT5hdXRvcm90YXRlICkgJG9wdHNbJ25vcm90YXRlJ10gPSAxOwogICAgICAgICAgICAkb3B0c1snZmlsdGVyX3Jlc2l6ZSddID0gJ2UsJy4kcHJlZnMtPm1heF9zaXplOwogICAgICAgICAgICBpZiggJHByZWZzLT53YXRlcm1hcmsgKSAkb3B0c1snZmlsdGVyX3dhdGVybWFyayddID0gMTsKCiAgICAgICAgICAgICRvdXQgPSBcc2lfdXRpbHM6OnByb2Nlc3NfaW1hZ2UoJG9wdHMpOwogICAgICAgICAgICBpZiggJG91dFsnZXJyb3InXSApIHRocm93IG5ldyBcRXhjZXB0aW9uKCRvdXRbJ2Vycm9yJ10pOwogICAgICAgICAgICBpZiggIWlzc2V0KCRvdXRbJ2Rlc3RfZmlsZSddKSB8fCAhJG91dFsnZGVzdF9maWxlJ10gKSB0aHJvdyBuZXcgXEV4Y2VwdGlvbignTm8gY2FjaGVkIGltYWdlIGdlbmVyYXRlZCcpOwogICAgICAgICAgICBpZiggIWlzX2ZpbGUoJG91dFsnZGVzdF9maWxlJ10pICkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ091dHB1dCBmaWxlIG5vdCBmb3VuZCcpOwogICAgICAgICAgICBAcmVuYW1lKCRvdXRbJ2Rlc3RfZmlsZSddLCRmaWxlbmFtZSk7CiAgICAgICAgICAgIEB1bmxpbmsoJG91dFsnZGVzdF9maWxlJ10pOwogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgXHh0X3V0aWxzOjpsb2dfZXhjZXB0aW9uKCAkZSApOwogICAgICAgICAgICBhdWRpdCgnJywnU21hcnRJbWFnZSBBdXRvUHJvY2VzcycsJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgIGF1ZGl0KCcnLCdTbWFydEltYWdlIEF1dG9Qcm9jZXNzJywnRmFpbGVkIGNvbnZlcnRpbmcgJy4kZmlsZW5hbWUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhlY3V0ZSgpCiAgICB7CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPl9maWxlcyBhcyAkZmlsZSApIHsKICAgICAgICAgICAgJHRoaXMtPmF1dG9jb252ZXJ0X2ZpbGUoJGZpbGUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gVFJVRTsKICAgIH0KfSAvLyBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.autoprocess_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEltYWdlOwoKZmluYWwgY2xhc3MgYXV0b3Byb2Nlc3Nfb3B0aW9ucwp7CiAgICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCdlbmFibGVkJz0+MCwnaWdub3JlX2RpcnMnPT5udWxsLCdpZ25vcmVfZXh0ZW5zaW9ucyc9Pm51bGwsJ2luY2x1ZGVfZGlycyc9Pm51bGwsJ21heF9zaXplJz0+MTAyNCwnYXV0b3JvdGF0ZSc9PjEsJ3dhdGVybWFyayc9PjApOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgaWYoIGFycmF5X2tleV9leGlzdHMoJGtleSwkdGhpcy0+X2RhdGEpICkgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIGdldHRhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRrZXksJHZhbCkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnaWdub3JlX2RpcnMnOgogICAgICAgIGNhc2UgJ2lnbm9yZV9leHRlbnNpb25zJzoKICAgICAgICBjYXNlICdpbmNsdWRlX2RpcnMnOgogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnbWF4X3NpemUnOgogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSBtYXgoMTAwLChpbnQpICR2YWwpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnZW5hYmxlZCc6CiAgICAgICAgY2FzZSAnYXV0b3JvdGF0ZSc6CiAgICAgICAgY2FzZSAnd2F0ZXJtYXJrJzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gXHh0X3V0aWxzOjp0b19ib29sKCR2YWwpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9kaXJsaXN0KCRzdHIpCiAgICB7CiAgICAgICAgJHRtcCA9IHRyaW0oJHN0cik7CiAgICAgICAgaWYoICEkdG1wICkgcmV0dXJuOwoKICAgICAgICAkbGlzdF8xID0gZXhwbG9kZSgiXG4iLCRzdHIpOwogICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2goICRsaXN0XzEgYXMgJGxpc3RfaXRlbSApIHsKICAgICAgICAgICAgJGxpc3RfaXRlbSA9IHRyaW0oJGxpc3RfaXRlbSk7CiAgICAgICAgICAgIGlmKCAhJGxpc3RfaXRlbSApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggIWluX2FycmF5KCRsaXN0X2l0ZW0sJG91dCkgKSAkb3V0W10gPSAkbGlzdF9pdGVtOwogICAgICAgIH0KICAgICAgICBpZiggY291bnQoJG91dCkgKSByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2luY2x1ZGVfZGlycygpCiAgICB7CiAgICAgICAgc3RhdGljICRfb3V0OwogICAgICAgIGlmKCAhJF9vdXQgKSAkX291dCA9ICR0aGlzLT5nZXRfZGlybGlzdCgkdGhpcy0+aW5jbHVkZV9kaXJzKTsKICAgICAgICByZXR1cm4gJF9vdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9leGNsdWRlX2RpcnMoKQogICAgewogICAgICAgIHN0YXRpYyAkX291dDsKICAgICAgICBpZiggISRfb3V0ICkgJF9vdXQgPSAkdGhpcy0+Z2V0X2Rpcmxpc3QoJHRoaXMtPmlnbm9yZV9kaXJzKTsKICAgICAgICByZXR1cm4gJF9vdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzX2ltYWdlZmlsZSgkZmlsZW5hbWUpCiAgICB7CiAgICAgICAgJHR5cGUgPSBceHRfdXRpbHM6OmdldF9taW1lX3R5cGUoJGZpbGVuYW1lKTsKICAgICAgICAkdHlwZSA9IHN0cnRvbG93ZXIoJHR5cGUpOwogICAgICAgIGlmKCAhc3RhcnRzd2l0aCgkdHlwZSwnaW1hZ2UvJykgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGlzX2ZpbGVfZXhjbHVkZWQoJGZpbGVuYW1lKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPmlnbm9yZV9leHRlbnNpb25zICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICBzdGF0aWMgJF9leHQ7CiAgICAgICAgaWYoICEkX2V4dCApIHsKICAgICAgICAgICAgJF9saXN0ID0gYXJyYXkoKTsKICAgICAgICAgICAgJGxpc3RfYSA9IGV4cGxvZGUoJywnLCR0aGlzLT5pZ25vcmVfZXh0ZW5zaW9ucyk7CiAgICAgICAgICAgIGZvcmVhY2goICRsaXN0X2EgYXMgJGV4dCApIHsKICAgICAgICAgICAgICAgICRleHQgPSBzdHJ0b2xvd2VyKHRyaW0oJGV4dCkpOwogICAgICAgICAgICAgICAgaWYoICEkZXh0ICkgY29udGludWU7CiAgICAgICAgICAgICAgICBpZiggIWluX2FycmF5KCRleHQsJF9saXN0KSApICRfbGlzdFtdID0gJGV4dDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGV4dCA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVuYW1lLCAnLicpLCAxKSk7CiAgICAgICAgaWYoICEkZXh0ICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICBpZiggaW5fYXJyYXkoJGV4dCwkX2xpc3QpICkgcmV0dXJuIFRSVUU7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc19maWxlX3NjYW5uYWJsZShzdHJpbmcgJGZpbGVuYW1lKQogICAgewogICAgICAgIGlmKCAhaXNfZmlsZSgkZmlsZW5hbWUpICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAkYm4gPSBiYXNlbmFtZSgkZmlsZW5hbWUpOwogICAgICAgIGlmKCBzdGFydHN3aXRoKCRibiwnLicpICkgcmV0dXJuIEZBTFNFOwogICAgICAgIGlmKCAhaXNfd3JpdGFibGUoJGZpbGVuYW1lKSApIHJldHVybiBGQUxTRTsKICAgICAgICBpZiggISR0aGlzLT5pc19pbWFnZWZpbGUoJGZpbGVuYW1lKSApIHJldHVybiBGQUxTRTsKICAgICAgICAkbXRpbWUgPSBmaWxlbXRpbWUoJGZpbGVuYW1lKTsKICAgICAgICAkbGltaXQgPSB0aW1lKCkgLSAzMCAqIDI0ICogMzYwMDsKICAgICAgICBpZiggJG10aW1lIDwgJGxpbWl0ICkgcmV0dXJuIEZBTFNFOyAvLyBPTEQgZmlsZXMKICAgICAgICBpZiggJHRoaXMtPmlzX2ZpbGVfZXhjbHVkZWQoJGZpbGVuYW1lKSApIHJldHVybiBGQUxTRTsKICAgICAgICByZXR1cm4gVFJVRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNfZGlyX3NjYW5uYWJsZShzdHJpbmcgJGRpcikKICAgIHsKICAgICAgICAkZGlyID0gdHJpbSgkZGlyKTsKICAgICAgICBpZiggISRkaXIgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgJGJuID0gYmFzZW5hbWUoJGRpcik7CiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJGJuLCcuJykgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgaWYoIGlzX2ZpbGUoJGRpci4iLy5ub3NpIikgKSByZXR1cm4gRkFMU0U7CgogICAgICAgICRjb25maWcgPSBcY21zX2NvbmZpZzo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgJHVwID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ107CiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoICRkaXIsICR1cCkgKSAkZGlyID0gc3Vic3RyKCRkaXIsc3RybGVuKCR1cCkpOwogICAgICAgICRkaXIgPSBsdHJpbSgkZGlyLCcvJy5ESVJFQ1RPUllfU0VQQVJBVE9SKTsKICAgICAgICBpZiggIWlzX2RpcigkdXAuJy8nLiRkaXIpICkgcmV0dXJuIEZBTFNFOyAvLyBtdXN0IGJlIGEgcmVhbCBkaXJlY3RvcnkgaW5zaWRlIHVwbG9hZHMgcGF0aAoKICAgICAgICAkaW5jbHVkZV9kaXJzID0gJHRoaXMtPmdldF9pbmNsdWRlX2RpcnMoKTsKICAgICAgICBpZiggIWVtcHR5KCRpbmNsdWRlX2RpcnMpICkgewogICAgICAgICAgICAkZm5kID0gZmFsc2U7CiAgICAgICAgICAgIGZvcmVhY2goICRpbmNsdWRlX2RpcnMgYXMgJG9uZWRpciApIHsKICAgICAgICAgICAgICAgIGlmKCBzdGFydHN3aXRoKCRkaXIsJG9uZWRpcikgKSB7CiAgICAgICAgICAgICAgICAgICAgJGZuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoICEkZm5kICkgcmV0dXJuIEZBTFNFOwogICAgICAgIH0KCiAgICAgICAgJGV4Y2x1ZGVfZGlycyA9ICR0aGlzLT5nZXRfZXhjbHVkZV9kaXJzKCk7CiAgICAgICAgaWYoIGVtcHR5KCRleGNsdWRlX2RpcnMpICkgcmV0dXJuIFRSVUU7CgogICAgICAgIGZvcmVhY2goICRleGNsdWRlX2RpcnMgYXMgJG9uZWRpciApIHsKICAgICAgICAgICAgaWYoIHN0YXJ0c3dpdGgoICRkaXIsICRvbmVkaXIgKSApIHJldHVybiBGQUxTRTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZCgpCiAgICB7CiAgICAgICAgc3RhdGljICRfb2JqOwogICAgICAgIGlmKCAhJF9vYmogKSB7CiAgICAgICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9TTUFSVElNQUdFKTsKICAgICAgICAgICAgJHRtcCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2FwX3NldHRpbmdzJyk7CiAgICAgICAgICAgIGlmKCAkdG1wICkgewogICAgICAgICAgICAgICAgJF9vYmogPSB1bnNlcmlhbGl6ZSgkdG1wKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRfb2JqID0gbmV3IHNlbGYoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJF9vYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9TTUFSVElNQUdFKTsKICAgICAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdhcF9zZXR0aW5ncycsc2VyaWFsaXplKCR0aGlzKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGUoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9TTUFSVElNQUdFKTsKICAgICAgICAkbW9kLT5SZW1vdmVQcmVmZXJlbmNlKCdhcF9zZXR0aW5ncycpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ImageBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZUJhc2UgaW1wbGVtZW50cyBBcnJheUFjY2Vzcwp7CiAgICBwcml2YXRlICAgICAgICAkX3RyYW5zcGFyZW50OwogICAgcHJpdmF0ZSAgICAgICAgJF9yc3JjOwogICAgcHJpdmF0ZSAgICAgICAgJF9zcmNuYW1lOwogICAgcHJpdmF0ZSAgICAgICAgJF9kaXJ0eTsKICAgIHByaXZhdGUgICAgICAgICRfaW5mbzsKICAgIHByaXZhdGUgc3RhdGljICRfa2V5cyA9IFsnZGlydHknLCAncnNyYycsICd3aWR0aCcsICdoZWlnaHQnLCAndHlwZScsICdmaWxlbmFtZScsICduYW1lJywgJ3RyYW5zcGFyZW50J107CiAgICAKICAgIHByaXZhdGUgZnVuY3Rpb24gY3JlYXRlX25ld19yc3JjKCRtaW1ldHlwZSwgJHdpZHRoLCAkaGVpZ2h0KQogICAgewogICAgICAgIHN3aXRjaCgkbWltZXR5cGUpCiAgICAgICAgewogICAgICAgICAgICBjYXNlICdpbWFnZS9qcGVnJzoKICAgICAgICAgICAgICAgICRfcnNyYyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHJldHVybiAkX3JzcmM7CiAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICdpbWFnZS9wbmcnOgogICAgICAgICAgICBjYXNlICdpbWFnZS93ZWJwJzoKICAgICAgICAgICAgICAgIC8vIGZyb20gc3VwZXJzaXplcgogICAgICAgICAgICAgICAgJF9yc3JjID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoLCAkaGVpZ2h0KTsKICAgICAgICAgICAgICAgICRjb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRfcnNyYywgMjU1LCAyNTUsIDI1NSwgMTI3KTsKICAgICAgICAgICAgICAgIGltYWdlY29sb3J0cmFuc3BhcmVudCgkX3JzcmMsICRjb2xvcik7CiAgICAgICAgICAgICAgICAkdGhpcy0+X3RyYW5zcGFyZW50ID0gJGNvbG9yOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICByZXR1cm4gJF9yc3JjOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAnaW1hZ2UvZ2lmJzoKICAgICAgICAgICAgICAgICRfcnNyYyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CiAgICAgICAgICAgICAgICBpbWFnZXRydWVjb2xvcnRvcGFsZXR0ZSgkX3JzcmMsIFRSVUUsIDI1Nik7CiAgICAgICAgICAgICAgICBpbWFnZWFscGhhYmxlbmRpbmcoJF9yc3JjLCBGQUxTRSk7CiAgICAgICAgICAgICAgICAkdHJhbnNwYXJlbnQgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkX3JzcmMsIDI1NSwgMjU1LCAyNTUsIDEyNyk7CiAgICAgICAgICAgICAgICBpbWFnZWZpbGxlZHJlY3RhbmdsZSgkX3JzcmMsIDAsIDAsICR3aWR0aCwgJGhlaWdodCwgJHRyYW5zcGFyZW50KTsKICAgICAgICAgICAgICAgIGltYWdlY29sb3J0cmFuc3BhcmVudCgkX3JzcmMsICR0cmFuc3BhcmVudCk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHJldHVybiAkX3JzcmM7CiAgICAgICAgICAgIAogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IGNyZWF0ZSBuZXcgaW1hZ2Ugb2YgdHlwZSAnIC4gJG1pbWV0eXBlKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaW5wdXQpCiAgICB7CiAgICAgICAgaWYoIGlzX29iamVjdCgkaW5wdXQpICYmICRpbnB1dCBpbnN0YW5jZW9mIEltYWdlQmFzZSAgKSB7CiAgICAgICAgICAgIC8vIGNvcHkgY29uc3RydWN0b3IKICAgICAgICAgICAgJHRoaXMtPl90cmFuc3BhcmVudCA9ICRpbnB1dC0+X3RyYW5zcGFyZW50OwogICAgICAgICAgICAkdGhpcy0+X3JzcmMgPSAkaW5wdXQtPl9yc3JjOwogICAgICAgICAgICAkdGhpcy0+X3NyY25hbWUgPSAkaW5wdXQtPl9zcmNuYW1lOwogICAgICAgICAgICAkdGhpcy0+X2luZm8gPSAkaW5wdXQtPl9pbmZvOwogICAgICAgICAgICAkdGhpcy0+X2RpcnR5ID0gMTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiggaXNfc3RyaW5nKCRpbnB1dCkgJiYgaXNfcmVhZGFibGUoJGlucHV0KSAmJiBpc19maWxlKCRpbnB1dCkgKSB7CiAgICAgICAgICAgICRkYXRhID0gZmlsZV9nZXRfY29udGVudHMoJGlucHV0KTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKCAkZGF0YSAhPT0gRkFMU0UgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+X3JzcmMgPSBpbWFnZWNyZWF0ZWZyb21zdHJpbmcoJGRhdGEpOwogICAgICAgICAgICAgICAgJHRoaXMtPl9zcmNuYW1lID0gJGlucHV0OwogICAgICAgICAgICAgICAgJHRoaXMtPl9pbmZvID0gZ2V0aW1hZ2VzaXplKCRpbnB1dCk7CiAgICAgICAgICAgICAgICAkdG1wID0gaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0aGlzLT5fcnNyYyk7CiAgICAgICAgICAgICAgICBpZiggJHRtcCAhPSAtMSApICR0aGlzLT5fdHJhbnNwYXJlbnQgPSAkdG1wOwogICAgICAgICAgICAgICAgJHRoaXMtPl9pbmZvWzJdID0gaW1hZ2VfdHlwZV90b19taW1lX3R5cGUoJHRoaXMtPl9pbmZvWzJdKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdQcm9ibGVtIGNyZWF0aW5nIG5ldyBJbWFnZUJhc2Ugb2JqZWN0IGZyb20gJy4kaW5wdXQpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKCBpc19hcnJheSgkaW5wdXQpICYmIGNvdW50KCRpbnB1dCkgPj0gMyApIHsKICAgICAgICAgICAgJHRoaXMtPl9yc3JjID0gJHRoaXMtPmNyZWF0ZV9uZXdfcnNyYygkaW5wdXRbMF0sJGlucHV0WzFdLCRpbnB1dFsyXSk7CiAgICAgICAgICAgICR0aGlzLT5faW5mbyA9IGFycmF5KCRpbnB1dFsxXSwkaW5wdXRbMl0sJGlucHV0WzBdKTsKICAgICAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IDE7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGNyZWF0ZSBhIEltYWdlQmFzZSBvYmplY3Qgd2l0aCBpbnZhbGlkIGlucHV0Jyk7CiAgICAgICAgfQogICAgfQogICAgCiAgICAjW1xSZXR1cm5UeXBlV2lsbENoYW5nZV0KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRFeGlzdHMoJGspCiAgICB7CiAgICAgICAgcmV0dXJuIGluX2FycmF5KCRrLEltYWdlQmFzZTo6JF9rZXlzKTsKICAgIH0KICAgIAogICAgI1tcUmV0dXJuVHlwZVdpbGxDaGFuZ2VdCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJGspCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byB1bnNldCBhbiBhdHRyaWJ1dGUgb2YgYSBJbWFnZUJhc2Ugb2JqZWN0Jyk7CiAgICB9CiAgICAKICAgICNbXFJldHVyblR5cGVXaWxsQ2hhbmdlXQogICAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgkaykKICAgIHsKICAgICAgICAkayA9IHN0cnRvbG93ZXIoJGspOwogICAgICAgIGlmKCAhaW5fYXJyYXkoJGssSW1hZ2VCYXNlOjokX2tleXMpICkKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBnZXQgaW52YWxpZCBhdHRyaWJ1dGUgJy4kay4nIEZyb20gSW1hZ2VCYXNlJyk7CgogICAgICAgIHN3aXRjaCggJGsgKSB7CiAgICAgICAgY2FzZSAncnNyYyc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3JzcmM7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICd3aWR0aCc6CiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9pbmZvKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gZ2V0IGluZm9ybWF0aW9uIG9uIHVuaW5pdGlhbGl6ZWQgb2JqZWN0Jyk7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2luZm9bMF07CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdoZWlnaHQnOgogICAgICAgICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5faW5mbykgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGdldCBpbmZvcm1hdGlvbiBvbiB1bmluaXRpYWxpemVkIG9iamVjdCcpOwogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9pbmZvWzFdOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAndHlwZSc6CiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9pbmZvKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gZ2V0IGluZm9ybWF0aW9uIG9uIHVuaW5pdGlhbGl6ZWQgb2JqZWN0Jyk7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2luZm9bMl07CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdkaXJ0eSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2RpcnR5OwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAndHJhbnNwYXJlbnQnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl90cmFuc3BhcmVudDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2ZpbGVuYW1lJzoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fc3JjbmFtZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgCiAgICAjW1xSZXR1cm5UeXBlV2lsbENoYW5nZV0KICAgIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJGssJHYpCiAgICB7CiAgICAgICAgaWYoICFpbl9hcnJheSgkayxJbWFnZUJhc2U6OiRfa2V5cykgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIEF0dGVtcHQgdG8gbW9kaWZ5IHRoZSBhdHRyaWJ1dGUgb2YgSW1hZ2VCYXNlJyk7CgogICAgICAgICR0aGlzLT5fZGlydHkgPSAxOwogICAgICAgIHN3aXRjaCgkaykgewogICAgICAgIGNhc2UgJ3JzcmMnOgogICAgICAgIGNhc2UgJ2RpcnR5JzoKICAgICAgICBjYXNlICd0cmFuc3BhcmVudCc6CiAgICAgICAgICAgICRrID0gJ18nLiRrOwogICAgICAgICAgICAkdGhpcy0+JGsgPSAkdjsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3dpZHRoJzoKICAgICAgICAgICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2luZm8pICkgJHRoaXMtPl9pbmZvID0gYXJyYXkoKTsKICAgICAgICAgICAgJHRoaXMtPl9pbmZvWzBdID0gJHY7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdoZWlnaHQnOgogICAgICAgICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5faW5mbykgKSAkdGhpcy0+X2luZm8gPSBhcnJheSgpOwogICAgICAgICAgICAkdGhpcy0+X2luZm9bMV0gPSAkdjsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3R5cGUnOgogICAgICAgICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5faW5mbykgKSAkdGhpcy0+X2luZm8gPSBhcnJheSgpOwogICAgICAgICAgICAkdGhpcy0+X2luZm9bMl0gPSAkdjsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2ZpbGVuYW1lJzoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICAgICAgJHRoaXMtPl9zcmNuYW1lID0gJHY7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoJGZpbGVuYW1lLCRxdWFsaXR5ID0gNzUsJHByb2dyZXNzaXZlID0gMCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5fZGlydHkgKSByZXR1cm47CgogICAgICAgICR0eXBlID0gJHRoaXNbJ3R5cGUnXTsKICAgICAgICAkcmVzID0gJyc7CiAgICAgICAgc3dpdGNoKCR0eXBlKSB7CiAgICAgICAgY2FzZSAnaW1hZ2UvanBlZyc6CiAgICAgICAgICAgIGltYWdlaW50ZXJsYWNlKCR0aGlzWydyc3JjJ10sJHByb2dyZXNzaXZlKTsKICAgICAgICAgICAgJHJlcyA9IGltYWdlanBlZygkdGhpc1sncnNyYyddLCRmaWxlbmFtZSwoaW50KSRxdWFsaXR5KTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2ltYWdlL3BuZyc6CgkgICAgICAgICAgaW1hZ2VzYXZlYWxwaGEoJHRoaXNbJ3JzcmMnXSxUUlVFKTsKICAgICAgICAgICAgJHF1YWxpdHkgPSBjZWlsKCgxMDAuMCAtIChmbG9hdCkkcXVhbGl0eSkvMTAwLjAqMTAuMCk7CiAgICAgICAgICAgICRyZXMgPSBpbWFnZXBuZygkdGhpc1sncnNyYyddLCRmaWxlbmFtZSwkcXVhbGl0eSk7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdpbWFnZS9naWYnOgogICAgICAgICAgICAvL2ltYWdlc2F2ZWFscGhhKCR0aGlzWydyc3JjJ10sRkFMU0UpOwogICAgICAgICAgICAkcmVzID0gaW1hZ2VnaWYoJHRoaXNbJ3JzcmMnXSwkZmlsZW5hbWUpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnaW1hZ2Uvd2VicCc6CiAgICAgICAgICAgIGltYWdlc2F2ZWFscGhhKCR0aGlzWydyc3JjJ10sRkFMU0UpOwogICAgICAgICAgICAkcmVzID0gaW1hZ2V3ZWJwICgkdGhpc1sncnNyYyddLCRmaWxlbmFtZSwoaW50KSRxdWFsaXR5KTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Nhbm5vdCBzYXZlIGltYWdlIG9mIHR5cGUgJy4kdGhpc1sndHlwZSddKTsKICAgICAgICB9CgogICAgICAgIGlmKCAkcmVzICkgcmV0dXJuOwogICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIHNhdmluZyBpbWFnZSBvZiB0eXBlICcuJHRoaXNbJ3R5cGUnXS4nIHRvICcuJGZpbGVuYW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc3VwcG9ydHNfdHJhbnNwYXJlbmN5KCkKICAgIHsKICAgICAgICBzd2l0Y2goICR0aGlzWyd0eXBlJ10gKSB7CiAgICAgICAgY2FzZSAnaW1hZ2UvZ2lmJzoKICAgICAgICBjYXNlICdpbWFnZS9wbmcnOgogICAgICAgIGNhc2UgJ2ltYWdlL3dlYnAnOgogICAgICAgICAgICByZXR1cm4gVFJVRTsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgICAgIH0KICAgIH0KfSAvLyBjbGFzcyBJbWFnZUJhc2UKCi8vICRpbWcxID0gbmV3IEltYWdlKCRzb21lZmlsZW5hbWUpOwovLyAkZmlsdGVyID0gbmV3IENtc1NvbWV0aGluZ0ZpbHRlcigpOwovLyAkaW1nMiA9ICRmaWx0ZXItPnRyYW5zZm9ybSgkaW1nMSk7Ci8vICRpbWcyLT5zYXZlKCk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ImageFilterBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgphYnN0cmFjdCBjbGFzcyBJbWFnZUZpbHRlckJhc2UKewogIC8vIHJldHVybnMgYSBJbWFnZUJhc2Ugb2JqZWN0CiAgYWJzdHJhY3QgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkaW1hZ2UpOwp9CgoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Blur_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9CbHVyX0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgSW1hZ2VCYXNlKCRzcmMpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfR0FVU1NJQU5fQkxVUik7CgogICAgaWYoICEkcmVzICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9HQVVTU0lBTl9CTFVSKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Brightness_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9CcmlnaHRuZXNzX0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CiAgcHJpdmF0ZSAkX2JyaWdodG5lc3MgPSAwOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgIGlmKCBmdW5jX251bV9hcmdzKCkgIT0gMSApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHRvICcuZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgIH0KCiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICRhcmdzID0gJGFyZ3NbMF07CiAgICBpZiggaXNfYXJyYXkoJGFyZ3MpICkKICAgICAgewoJJHRoaXMtPl9icmlnaHRuZXNzID0gKGludCkkYXJnc1swXTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+X2JyaWdodG5lc3MgPSAkYXJnczsKICAgICAgfQogICAgLy8gbm90aGluZyBoZXJlLgogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IEltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0JSSUdIVE5FU1MsJHRoaXMtPl9icmlnaHRuZXNzKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0JSSUdIVE5FU1MpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Colorize_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9Db2xvcml6ZV9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9hcmdzID0gYXJyYXkoMCwwLDAsMCk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgvKiB2YXJpYWJsZSBhcmd1bWVudHMgKi8pCiAgewogICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICBpZiggaXNfYXJyYXkoJGFyZ3NbMF0pICkKICAgICAgewoJJGFyZ3MgPSAkYXJnc1swXTsKICAgICAgfQoKICAgIGZvciggJGkgPSAwOyAkaSA8IG1pbihjb3VudCgkdGhpcy0+X2FyZ3MpLGNvdW50KCRhcmdzKSk7ICRpKysgKQogICAgICB7CgkkdGhpcy0+X2FyZ3NbJGldID0gbWluKDI1NSxtYXgoMCwoaW50KSRhcmdzWyRpXSkpOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgSW1hZ2VCYXNlKCRzcmMpOwogICAgJHRtcCA9ICR0aGlzLT5fYXJnczsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0NPTE9SSVpFLCR0bXBbMF0sJHRtcFsxXSwkdG1wWzJdLCR0bXBbM10pOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfQ09MT1JJWkUpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Contrast_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9Db250cmFzdF9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9jb250cmFzdCA9IDA7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgvKiB2YXJpYWJsZSBhcmd1bWVudHMgKi8pCiAgewogICAgaWYoIGZ1bmNfbnVtX2FyZ3MoKSAhPSAxICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBhcmd1bWVudHMgdG8gJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgfQoKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgJGFyZ3MgPSAkYXJnc1swXTsKICAgIGlmKCBpc19hcnJheSgkYXJncykgKQogICAgICB7CgkkdGhpcy0+X2NvbnRyYXN0ID0gKGludCkkYXJnc1swXTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+X2NvbnRyYXN0ID0gJGFyZ3M7CiAgICAgIH0KICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9DT05UUkFTVCwkdGhpcy0+X2NvbnRyYXN0KTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0NPTlRSQVNUKTsKICAgICAgfQogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0KCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Crop2size_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9Dcm9wMnNpemVfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfZGVzdF93ID0gMDsKICBwcml2YXRlICRfZGVzdF9oID0gMDsKICBwcml2YXRlICRfbG9jID0gJ2MnOwogIHN0YXRpYyBwcml2YXRlICRfdmFsaWRfbG9jcyA9IGFycmF5KCd0bCcsJ3RjJywndHInLCdjbCcsJ2MnLCdjYycsJ2NyJywnYmwnLCdiYycsJ2JyJyk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaW5wdXQpCiAgewogICAgaWYoIHh0X2FycmF5Ojppc19oYXNoKCRpbnB1dCkgKSB7CiAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ3dpZHRoJ10pICkgewoJJHRoaXMtPl9kZXN0X3cgPSAoaW50KSRpbnB1dFsnd2lkdGgnXTsKCSR0aGlzLT5fZGVzdF9oID0gKGludCkkaW5wdXRbJ2hlaWdodCddOwogICAgICB9CiAgICAgIGVsc2UgaWYgKCBpc3NldCgkaW5wdXRbJ3cnXSkgKSB7CgkkdGhpcy0+X2Rlc3RfdyA9IChpbnQpJGlucHV0Wyd3J107CgkkdGhpcy0+X2Rlc3RfaCA9IChpbnQpJGlucHV0WydoJ107CiAgICAgIH0KICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnbG9jJ10pICYmIGluX2FycmF5KCRpbnB1dFsnbG9jJ10sc2VsZjo6JF92YWxpZF9sb2NzKSApICR0aGlzLT5fbG9jID0gdHJpbSgkaW5wdXRbJ2xvYyddKTsKICAgIH0KICAgIGVsc2UgaWYoIGlzX2FycmF5KCRpbnB1dCkgICkgewogICAgICBpZiggY291bnQoJGlucHV0KSA+PSAyICkgewoJJHRoaXMtPl9kZXN0X3cgPSAoaW50KXRyaW0oJGlucHV0WzBdKTsKCSR0aGlzLT5fZGVzdF9oID0gKGludCl0cmltKCRpbnB1dFsxXSk7CglpZiggY291bnQoJGlucHV0KSA+PSAzICYmIGluX2FycmF5KCRpbnB1dFsyXSxzZWxmOjokX3ZhbGlkX2xvY3MpICkgJHRoaXMtPl9sb2MgPSB0cmltKCRpbnB1dFsyXSk7CiAgICAgIH0KICAgIH0KCiAgICBpZiggJHRoaXMtPl9kZXN0X2ggPD0gMCB8fCAkdGhpcy0+X2Rlc3RfdyA8PSAwICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZXMgc3BlY2lmaWVkIGZvciBDcm9wdG9maXQgZmlsdGVyIGNvbnN0cnVjdG9yJyk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICRkZXN0X3cgPSAoaW50KSR0aGlzLT5fZGVzdF93OwogICAgJGRlc3RfaCA9IChpbnQpJHRoaXMtPl9kZXN0X2g7CiAgICAkc3JjX3cgID0gKGludCkkc3JjWyd3aWR0aCddOwogICAgJHNyY19oICA9IChpbnQpJHNyY1snaGVpZ2h0J107CgogICAgJGRlc3RfdyA9IG1pbigkc3JjX3csJGRlc3Rfdyk7CiAgICAkZGVzdF9oID0gbWluKCRzcmNfaCwkZGVzdF9oKTsKICAgIAogICAgaWYoICRkZXN0X3cgPD0gMCB8fCAkZGVzdF9oIDw9IDAgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHZhbHVlcyBzcGVjaWZpZWQgZm9yIENyb3AyIGZpbHRlcicpOwogICAgaWYoICRkZXN0X3cgPT0gJHNyY193ICYmICRkZXN0X2ggPT0gJHNyY19oICkgcmV0dXJuICRzcmM7CgogICAgJHgwID0gJHkwID0gMDsKICAgIHN3aXRjaCggc3RydG9sb3dlcigkdGhpcy0+X2xvYykgKSB7CiAgICBjYXNlICd0bCc6CiAgICAgIC8vIHVzZSBkZWZhdWx0cy4KICAgICAgYnJlYWs7CgogICAgY2FzZSAndGMnOgogICAgICAkeDAgPSBmbG9vciggKCRzcmNfdyAtICRkZXN0X3cpIC8gMiApOwogICAgICBicmVhazsKCiAgICBjYXNlICd0cic6CiAgICAgICR4MCA9ICRzcmNfdyAtICRkZXN0X3c7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NsJzoKICAgICAgJHkwID0gZmxvb3IoICgkc3JjX2ggLSAkZGVzdF9oKSAvIDIgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnYyc6CiAgICBjYXNlICdjYyc6CiAgICAgICR4MCA9IGZsb29yKCAoJHNyY193IC0gJGRlc3RfdykgLyAyICk7CiAgICAgICR5MCA9IGZsb29yKCAoJHNyY19oIC0gJGRlc3RfaCkgLyAyICk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NyJzoKICAgICAgJHgwID0gJHNyY193IC0gJGRlc3RfdzsKICAgICAgJHkwID0gZmxvb3IoICgkc3JjX2ggLSAkZGVzdF9oKSAvIDIgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnYmwnOgogICAgICAkeTAgPSAkc3JjX2ggLSAkZGVzdF9oOwogICAgICBicmVhazsKCiAgICBjYXNlICdiYyc6CiAgICAgICR4MCA9IGZsb29yKCAoJHNyY193IC0gJGRlc3RfdykgLyAyICk7CiAgICAgICR5MCA9ICRzcmNfaCAtICRkZXN0X2g7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2JyJzoKICAgICAgJHgwID0gJHNyY193IC0gJGRlc3RfdzsKICAgICAgJHkwID0gJHNyY19oIC0gJGRlc3RfaDsKICAgICAgYnJlYWs7CiAgICB9CgogICAgJF9kZXN0ID0gbmV3IEltYWdlQmFzZShhcnJheSgkc3JjWyd0eXBlJ10sJGRlc3RfdywkZGVzdF9oKSk7CiAgICAkcmVzID0gaW1hZ2Vjb3B5KCRfZGVzdFsncnNyYyddLCRzcmNbJ3JzcmMnXSwwLDAsJHgwLCR5MCwkZGVzdF93LCRkZXN0X2gpOwogICAgaWYoICRyZXMgPT09IEZBTFNFICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignY3JvcDIgZmFpbGVkJyk7CiAgICByZXR1cm4gJF9kZXN0OwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Croptofit_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9Dcm9wdG9maXRfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICAgIHByaXZhdGUgJF9kZXN0X3cgPSAwOwogICAgcHJpdmF0ZSAkX2Rlc3RfaCA9IDA7CiAgICBwcml2YXRlICRfbG9jID0gJ2MnOwogICAgcHJpdmF0ZSAkX3Vwc2NhbGUgPSAwOwogICAgc3RhdGljIHByaXZhdGUgJF92YWxpZF9sb2NzID0gYXJyYXkoJ3RsJywndGMnLCd0cicsJ2NsJywnYycsJ2NyJywnYmwnLCdiYycsJ2JyJyk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRpbnB1dCkKICAgIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdTbWFydEltYWdlJyk7CiAgICAgICAgJHRoaXMtPl9sb2MgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjcm9wdG9maXRfZGVmYXVsdF9sb2MnLCdjJyk7CiAgICAgICAgaWYoIHh0X2FycmF5Ojppc19oYXNoKCRpbnB1dCkgKSB7CiAgICAgICAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ3dpZHRoJ10pICkgewogICAgICAgICAgICAgICAgJHRoaXMtPl9kZXN0X3cgPSAoaW50KSRpbnB1dFsnd2lkdGgnXTsKICAgICAgICAgICAgICAgICR0aGlzLT5fZGVzdF9oID0gKGludCkkaW5wdXRbJ2hlaWdodCddOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKCBpc3NldCgkaW5wdXRbJ3cnXSkgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+X2Rlc3RfdyA9IChpbnQpJGlucHV0Wyd3J107CiAgICAgICAgICAgICAgICAkdGhpcy0+X2Rlc3RfaCA9IChpbnQpJGlucHV0WydoJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnbG9jJ10pICYmIGluX2FycmF5KCRpbnB1dFsnbG9jJ10sc2VsZjo6JF92YWxpZF9sb2NzKSApICR0aGlzLT5fbG9jID0gJGlucHV0Wydsb2MnXTsKICAgICAgICAgICAgaWYoIGlzc2V0KCRpbnB1dFsndXBzY2FsZSddKSApICR0aGlzLT5fdXBzY2FsZSA9IChpbnQpJGlucHV0Wyd1cHNjYWxlJ107CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIGlzX2FycmF5KCRpbnB1dCkgICkgewogICAgICAgICAgICBpZiggY291bnQoJGlucHV0KSA+PSAyICkgewogICAgICAgICAgICAgICAgJHRoaXMtPl9kZXN0X3cgPSAoaW50KXRyaW0oJGlucHV0WzBdKTsKICAgICAgICAgICAgICAgICR0aGlzLT5fZGVzdF9oID0gKGludCl0cmltKCRpbnB1dFsxXSk7CiAgICAgICAgICAgICAgICBpZiggY291bnQoJGlucHV0KSA+PSAzICYmIGluX2FycmF5KCRpbnB1dFsyXSxzZWxmOjokX3ZhbGlkX2xvY3MpICkgJHRoaXMtPl9sb2MgPSAkaW5wdXRbMl07CiAgICAgICAgICAgICAgICBpZiggY291bnQoJGlucHV0KSA+PSA0ICkgJHRoaXMtPl91cHNjYWxlID0gKGludCkkaW5wdXRbM107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCAhJHRoaXMtPl91cHNjYWxlICkgewogICAgICAgICAgICAkdGhpcy0+X2Rlc3RfdyA9IHNpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnd2lkdGgnLCR0aGlzLT5fZGVzdF93KTsKICAgICAgICAgICAgJHRoaXMtPl9kZXN0X2ggPSBzaV91dGlsczo6dHJpbV90b19kZXZpY2UoJ2hlaWdodCcsJHRoaXMtPl9kZXN0X2gpOwogICAgICAgIH0KCiAgICAgICAgaWYoICR0aGlzLT5fZGVzdF9oIDw9IDAgfHwgJHRoaXMtPl9kZXN0X3cgPD0gMCApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWVzIHNwZWNpZmllZCBmb3IgQ3JvcHRvZml0IGZpbHRlciBjb25zdHJ1Y3RvcicpOwogICAgfQoKCiAgICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPl91cHNjYWxlICkgewogICAgICAgICAgICAvLyBwcmV2ZW50IGFueSB1cHNjYWxpbmcKICAgICAgICAgICAgJHRoaXMtPl9kZXN0X3cgPSBtaW4oJHRoaXMtPl9kZXN0X3csJHNyY1snd2lkdGgnXSk7CiAgICAgICAgICAgICR0aGlzLT5fZGVzdF9oID0gbWluKCR0aGlzLT5fZGVzdF9oLCRzcmNbJ2hlaWdodCddKTsKICAgICAgICB9CgogICAgICAgIC8vCiAgICAgICAgLy8gbm90ZTogIHRoaXMgY29kZSBkZXZlbG9wZWQgYnkgdXNpbmcgdGhlIGZvbGxvd2luZyBwYWdlIGFzIGEgcmVmZXJlbmNlCiAgICAgICAgLy8gaHR0cDovLzkxMS1uZWVkLWNvZGUtaGVscC5ibG9nc3BvdC5jb20vMjAwOS8wNC9jcm9wLXRvLWZpdC1pbWFnZS11c2luZy1hc3BwaHAuaHRtbAogICAgICAgIC8vCiAgICAgICAgJHNyY19yYXRpbyA9IChmbG9hdCkkc3JjWyd3aWR0aCddIC8gKGZsb2F0KSRzcmNbJ2hlaWdodCddOwogICAgICAgICRkZXN0X3JhdGlvID0gKGZsb2F0KSR0aGlzLT5fZGVzdF93IC8gKGZsb2F0KSR0aGlzLT5fZGVzdF9oOwoKICAgICAgICAvLyBkZXRlcm1pbmUgdGhlIHNpemUgb2YgdGhlIHRlbXAgaW1hZ2UgdGhhdCBmaXRzIGludG8KICAgICAgICAvLyB0aGUgZGVzaXJlZCBhcmVhIGJ5IGF0IGxlYXN0IG9uZSBkaW1lbnNpb24uCiAgICAgICAgJG5ld19oID0gJyc7CiAgICAgICAgJG5ld193ID0gJyc7CiAgICAgICAgaWYoICRzcmNfcmF0aW8gPj0gJGRlc3RfcmF0aW8gKSB7CiAgICAgICAgICAgICRuZXdfaCA9IChpbnQpICR0aGlzLT5fZGVzdF9oOwogICAgICAgICAgICAkbmV3X3cgPSAoaW50KSBjZWlsKCR0aGlzLT5fZGVzdF9oICogJHNyY19yYXRpbyk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAvL2Vsc2UgaWYoICRzcmNfcmF0aW8gPCAkZGVzdF9yYXRpbyApIHsKICAgICAgICAgICAgJG5ld193ID0gKGludCkgJHRoaXMtPl9kZXN0X3c7CiAgICAgICAgICAgICRuZXdfaCA9IChpbnQpIGNlaWwoJHRoaXMtPl9kZXN0X3cgLyAkc3JjX3JhdGlvICk7CiAgICAgICAgfQoKICAgICAgICAvLyBnZXQgdGhlIHRyYW5zcGFyZW50IGNvbG9yIG9mIHRoZSBzb3VyY2UgaW1hZ2UuCiAgICAgICAgJHRtcF9yc3JjID0gbnVsbDsKICAgICAgICAkdGMgPSBpbWFnZWNvbG9yYXQoJHNyY1sncnNyYyddLDAsJHNyY1snaGVpZ2h0J10tMSk7CiAgICAgICAgJHRyID0gJHRnID0gJHRiID0gMDsgJHRhID0gMTI3OwogICAgICAgIGlmKCAkdGMgPiAwICkgewogICAgICAgICAgICAkdG1wID0gaW1hZ2Vjb2xvcnNmb3JpbmRleCgkc3JjWydyc3JjJ10sJHRjKTsKICAgICAgICAgICAgJHRyID0gJHRtcFsncmVkJ107CiAgICAgICAgICAgICR0ZyA9ICR0bXBbJ2dyZWVuJ107CiAgICAgICAgICAgICR0YiA9ICR0bXBbJ2JsdWUnXTsKICAgICAgICAgICAgJHRhID0gJHRtcFsnYWxwaGEnXTsKICAgICAgICB9CgogICAgICAgIGlmKCAkbmV3X3cgPT0gJHNyY1snd2lkdGgnXSAmJiAkbmV3X2ggPT0gJHNyY1snaGVpZ2h0J10gKSB7CiAgICAgICAgICAgICR0bXBfcnNyYyA9ICRzcmNbJ3JzcmMnXTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIC8vIGNyZWF0ZSB0ZW1wb3JhcnkgdHJhbnNwYXJlbnQgaW1hZ2UKICAgICAgICAgICAgJHRtcF9yc3JjID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJG5ld193LCRuZXdfaCk7CiAgICAgICAgICAgIGltYWdlYWxwaGFibGVuZGluZygkdG1wX3JzcmMsIFRSVUUpOwogICAgICAgICAgICAkdHJhbnNwYXJlbnQgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdG1wX3JzcmMsICR0ciwgJHRnLCAkdGIsICR0YSk7CiAgICAgICAgICAgIGltYWdlY29sb3J0cmFuc3BhcmVudCgkdG1wX3JzcmMsJHRyYW5zcGFyZW50KTsKICAgICAgICAgICAgaW1hZ2VmaWxsKCR0bXBfcnNyYywgMCwgMCwgJHRyYW5zcGFyZW50KTsKICAgICAgICB9CgogICAgICAgIC8vIHJlc2l6ZSB0aGUgYmlnIGltYWdlIGludG8gdGhlIHRlbXBvcmFyeSB0cmFuc3BhcmVudCBpbWFnZQogICAgICAgICRyZXMgPSBpbWFnZWNvcHlyZXNhbXBsZWQoJHRtcF9yc3JjLCRzcmNbJ3JzcmMnXSwwLDAsMCwwLCRuZXdfdywkbmV3X2gsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSk7CiAgICAgICAgaWYoICRyZXMgPT09IEZBTFNFICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ3JvcHRvZml0IC0gc3RhZ2UgMSAtIGZhaWxlZCcpOwoKICAgICAgICAvLyBjYWxjdWxhdGUgdGhlIG9mZnNldCBpbnRvIHRoZSBkZXN0aW5hdGlvbiBpYW1nZS4KICAgICAgICBzd2l0Y2goIHN0cnRvbG93ZXIoJHRoaXMtPl9sb2MpICkgewogICAgICAgIGNhc2UgJ3RsJzoKICAgICAgICAgICAgJHgwID0gMDsKICAgICAgICAgICAgJHkwID0gMDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3RjJzoKICAgICAgICAgICAgJHgwID0gKGludCkoICRuZXdfdyAtICR0aGlzLT5fZGVzdF93ICkgLyAyOwogICAgICAgICAgICAkeTAgPSAwOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAndHInOgogICAgICAgICAgICAkeDAgPSAoaW50KSggJG5ld193IC0gJHRoaXMtPl9kZXN0X3cgKTsKICAgICAgICAgICAgJHkwID0gMDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2NsJzoKICAgICAgICAgICAgJHgwID0gMDsKICAgICAgICAgICAgJHkwID0gKGludCkoICRuZXdfaCAtICR0aGlzLT5fZGVzdF9oICkgLyAyOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnY3InOgogICAgICAgICAgICAkeDAgPSAoaW50KSggJG5ld193IC0gJHRoaXMtPl9kZXN0X3cgKTsKICAgICAgICAgICAgJHkwID0gKGludCkoICRuZXdfaCAtICR0aGlzLT5fZGVzdF9oICkgLyAyOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnYmwnOgogICAgICAgICAgICAkeDAgPSAwOwogICAgICAgICAgICAkeTAgPSAoaW50KSggJG5ld19oIC0gJHRoaXMtPl9kZXN0X2ggKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2JjJzoKICAgICAgICAgICAgJHgwID0gKGludCkoICRuZXdfdyAtICR0aGlzLT5fZGVzdF93ICkgLyAyOwogICAgICAgICAgICAkeTAgPSAoaW50KSggJG5ld19oIC0gJHRoaXMtPl9kZXN0X2ggKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2JyJzoKICAgICAgICAgICAgJHgwID0gKGludCkoICRuZXdfdyAtICR0aGlzLT5fZGVzdF93ICk7CiAgICAgICAgICAgICR5MCA9IChpbnQpKCAkbmV3X2ggLSAkdGhpcy0+X2Rlc3RfaCApOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnYyc6CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgLy8gY2VudGVyCiAgICAgICAgICAgICR4MCA9IChpbnQpKCAkbmV3X3cgLSAkdGhpcy0+X2Rlc3RfdyApIC8gMjsKICAgICAgICAgICAgJHkwID0gKGludCkoICRuZXdfaCAtICR0aGlzLT5fZGVzdF9oICkgLyAyOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIC8vIGNyZWF0ZSBkZXN0aW5hdGlvbiBpbWFnZSBhdCB0aGUgZGVzaXJlZCB0aHVtYiBzaXplLgogICAgICAgIC8vJF9kZXN0ID0gbmV3IEltYWdlQmFzZShhcnJheSgnaW1hZ2UvcG5nJywkdGhpcy0+X2Rlc3RfdywkdGhpcy0+X2Rlc3RfaCkpOwogICAgICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoYXJyYXkoJHNyY1sndHlwZSddLCR0aGlzLT5fZGVzdF93LCR0aGlzLT5fZGVzdF9oKSk7CgogICAgICAgIC8vIHNldCB0aGlzIHRyYW5zcGFyZW50IGNvbG9yIGludG8gaW50byB0aGUgZGVzdCBpbWFnZS4KICAgICAgICAkdHJhbnNwYXJlbnQyID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJF9kZXN0Wydyc3JjJ10sICR0ciwgJHRnLCAkdGIsICR0YSk7CiAgICAgICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRfZGVzdFsncnNyYyddLCR0cmFuc3BhcmVudDIpOwogICAgICAgIGltYWdlZmlsbCgkX2Rlc3RbJ3JzcmMnXSwgMCwgMCwgJHRyYW5zcGFyZW50Mik7CgogICAgICAgIC8vIGNvcHkgdGhlIHRlbXAgaW1hZ2UgaW50byB0aGUgZGVzdCBpbWFnZS4KICAgICAgICBpbWFnZWFscGhhYmxlbmRpbmcoJF9kZXN0Wydyc3JjJ10sVFJVRSk7CiAgICAgICAgJHJlcyA9IGltYWdlY29weSgkX2Rlc3RbJ3JzcmMnXSwkdG1wX3JzcmMsMCwwLCR4MCwkeTAsJG5ld193LCRuZXdfaCk7CiAgICAgICAgaWYoICRyZXMgPT09IEZBTFNFICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ3JvcHRvZml0IC0gc3RhZ2UgMiAtIGZhaWxlZCcpOwogICAgICAgIGltYWdlZGVzdHJveSgkdG1wX3JzcmMpOwogICAgICAgIHJldHVybiAkX2Rlc3Q7CiAgICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Crop_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9Dcm9wX0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CiAgY29uc3QgQUxJR05fVE9QICAgID0gJ3RvcCc7CiAgY29uc3QgQUxJR05fQ0VOVEVSID0gJ2NlbnRlcic7CiAgY29uc3QgQUxJR05fQk9UVE9NID0gJ2JvdHRvbSc7CiAgY29uc3QgQUxJR05fTEVGVCAgID0gJ2xlZnQnOwogIGNvbnN0IEFMSUdOX1JJR0hUICA9ICdyaWdodCc7CgogIHByaXZhdGUgJF9wZXJjZW50ID0gNTA7CiAgcHJpdmF0ZSAkX2hfYWxpZ24gPSBzZWxmOjpBTElHTl9DRU5URVI7CiAgcHJpdmF0ZSAkX3ZfYWxpZ24gPSBzZWxmOjpBTElHTl9DRU5URVI7CiAgICAKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlucHV0KQogIHsKICAgICRwZXJjZW50ID0gNTA7CiAgICAkaF9hbGlnbiA9IEltYWdlX0Nyb3BfRmlsdGVyOjpBTElHTl9DRU5URVI7CiAgICAkdl9hbGlnbiA9IEltYWdlX0Nyb3BfRmlsdGVyOjpBTElHTl9DRU5URVI7CgogICAgaWYoIHh0X2FycmF5Ojppc19oYXNoKCRpbnB1dCkgKSB7CiAgICAgICRwZXJjZW50ID0gKGludCkkaW5wdXRbJ3BlcmNlbnQnXTsKICAgICAgJGhfYWxpZ24gPSB0cmltKCRwYXJhbXNbJ2gnXSk7CiAgICAgICR2X2FsaWduID0gdHJpbSgkcGFyYW1zWyd2J10pOwogICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSApIHsKICAgICAgaWYoIGNvdW50KCRpbnB1dCkgPiAxICkgJHBlcmNlbnQgPSAoaW50KSRpbnB1dFswXTsKICAgICAgaWYoIGNvdW50KCRpbnB1dCkgPT0gMyApIHsKCSRoX2FsaWduID0gdHJpbSgkaW5wdXRbMV0pOwoJJHZfYWxpZ24gPSB0cmltKCRpbnB1dFsyXSk7CiAgICAgIH0KICAgIH0KICAgIAogICAgJHRoaXMtPl9wZXJjZW50ID0gbWluKDEwMCxtYXgoMSwkcGVyY2VudCkpOwogICAgc3dpdGNoKCRoX2FsaWduKSB7CiAgICBjYXNlICctMSc6CiAgICBjYXNlICdsZWZ0JzoKICAgIGNhc2UgJ2wnOgogICAgICAkdGhpcy0+X2hfYWxpZ24gPSBzZWxmOjpBTElHTl9MRUZUOwogICAgICBicmVhazsKCiAgICBjYXNlICcwJzoKICAgIGNhc2UgJ2MnOgogICAgY2FzZSAnY2VudGVyJzoKICAgICAgJHRoaXMtPl9oX2FsaWduID0gc2VsZjo6QUxJR05fQ0VOVEVSOwogICAgICBicmVhazsKCiAgICBjYXNlICcxJzoKICAgIGNhc2UgJ3InOgogICAgY2FzZSAncmlnaHQnOgogICAgICAkdGhpcy0+X2hfYWxpZ24gPSBzZWxmOjpBTElHTl9SSUdIVDsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZSAnLiRoX2FsaWduLicgZm9yIGhvcml6b250YWwgYWxpZ25tZW50Jyk7CiAgICB9CgogICAgc3dpdGNoKCR2X2FsaWduKSB7CiAgICBjYXNlICctMSc6CiAgICBjYXNlICd0JzoKICAgIGNhc2UgJ3RvcCc6CiAgICAgICR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX1RPUDsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnMCc6CiAgICBjYXNlICdjJzoKICAgIGNhc2UgJ2NlbnRlcic6CiAgICAgICR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX0NFTlRFUjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnMSc6CiAgICBjYXNlICdiJzoKICAgIGNhc2UgJ2JvdHRvbSc6CiAgICAgICR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX0JPVFRPTTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZSAnLiRoX2FsaWduLicgZm9yIGhvcml6b250YWwgYWxpZ25tZW50Jyk7CiAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkbmV3X3cgPSAoaW50KSgkc3JjWyd3aWR0aCddICogJHRoaXMtPl9wZXJjZW50IC8gMTAwLjApOwogICAgJG5ld19oID0gKGludCkoJHNyY1snaGVpZ2h0J10gKiAkdGhpcy0+X3BlcmNlbnQgLyAxMDAuMCk7CgogICAgJHNyY194ID0gMDsKICAgIHN3aXRjaCggJHRoaXMtPl9oX2FsaWduICkgewogICAgY2FzZSBzZWxmOjpBTElHTl9MRUZUOgogICAgICAkc3JjX3ggPSAwOwogICAgICBicmVhazsKCiAgICBjYXNlIHNlbGY6OkFMSUdOX0NFTlRFUjoKICAgICAgJHNyY194ID0gKGludCkoKCRzcmNbJ3dpZHRoJ10gLSAkbmV3X3cpIC8gMik7CiAgICAgIGJyZWFrOwoKICAgIGNhc2Ugc2VsZjo6QUxJR05fUklHSFQ6CiAgICAgICRzcmNfeCA9ICRzcmNbJ3dpZHRoJ10gLSAkbmV3X3c7CiAgICAgIGJyZWFrOwogICAgfQoKICAgICRzcmNfeSA9IDA7CiAgICBzd2l0Y2goICR0aGlzLT5fdl9hbGlnbiApIHsKICAgIGNhc2Ugc2VsZjo6QUxJR05fVE9QOgogICAgICAkc3JjX3kgPSAwOwogICAgICBicmVhazsKCiAgICBjYXNlIHNlbGY6OkFMSUdOX0NFTlRFUjoKICAgICAgJHNyY195ID0gKGludCkoKCRzcmNbJ2hlaWdodCddIC0gJG5ld19oKSAvIDIpOwogICAgICBicmVhazsKCiAgICBjYXNlIHNlbGY6OkFMSUdOX0JPVFRPTToKICAgICAgJHNyY195ID0gJHNyY1snaGVpZ2h0J10gPSAkbmV3X2g7CiAgICAgIGJyZWFrOwogICAgfQoKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoYXJyYXkoJHNyY1sndHlwZSddLCRuZXdfdywkbmV3X2gpKTsKICAgICRyZXMgPSBpbWFnZWNvcHlyZXNhbXBsZWQoJF9kZXN0Wydyc3JjJ10sJHNyY1sncnNyYyddLDAsMCwkc3JjX3gsJHNyY195LCRuZXdfdywkbmV3X2gsJG5ld193LCRuZXdfaCk7CiAgICBpZiggJHJlcyA9PT0gRkFMU0UgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdjcm9wIGZhaWxlZCcpOwoKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Edgedetect_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9FZGdlZGV0ZWN0X0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgSW1hZ2VCYXNlKCRzcmMpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfRURHRURFVEVDVCk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9FREdFREVURUNUKTsKICAgICAgfQogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0KCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Emboss_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9FbWJvc3NfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9FTUJPU1MpOwoKICAgIGlmKCAhJHJlcyApIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfRU1CT1NTKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Flip_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogRmlsdGVyIGNsYXNzIGZvciBob3Jpem9udGFsbHkgZmxpcHBpbmcgYW4gaW1hZ2UuCiAqIAogKiBAYXV0aG9yIFJvYmVydCBDYW1wYmVsbCA8Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz4KICogQHBhY2thZ2UgU21hcnRJbWFnZQogKi8KY2xhc3MgSW1hZ2VfRmxpcF9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9tb2RlOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIGlmKCBmdW5jX251bV9hcmdzKCkgIT0gMSApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBhcmd1bWVudHMgdG8gJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgIH0KCiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICRhcmdzID0gJGFyZ3NbMF07CiAgICBpZiggaXNfYXJyYXkoJGFyZ3MpICkgewogICAgICAkdGhpcy0+X21vZGUgPSAoaW50KSRhcmdzWzBdOwogICAgfQogICAgZWxzZSB7CiAgICAgICR0aGlzLT5fbW9kZSA9ICRhcmdzOwogICAgfQogICAgJHRoaXMtPl9tb2RlID0gbWF4KDAsJHRoaXMtPl9tb2RlKTsKICAgICR0aGlzLT5fbW9kZSA9IG1pbigyLCR0aGlzLT5fbW9kZSk7CiAgfQoKICAvKioKICAgKiBUcmFuc2Zvcm0gdGhlIHNwZWNpZmllZCBpbWFnZSB1c2luZyB0aGUgcGFyYW1ldGVycyBzZXQKICAgKgogICAqIEBwYXJhbSBJbWFnZUJhc2UgVGhlIGltYWdlIHRvIHRyYW5zZm9ybQogICAqIEByZXR1cm4gSW1hZ2VCYXNlIFRoZSB0cmFuc2Zvcm1lZCBpbWFnZS4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICR3aWR0aCAgICAgICA9ICRzcmNbJ3dpZHRoJ107CiAgICAkaGVpZ2h0ICAgICAgPSAkc3JjWydoZWlnaHQnXTsKCiAgICAkc3JjX3ggICAgICAgPSAwOwogICAgJHNyY195ICAgICAgID0gMDsKICAgICRzcmNfd2lkdGggICA9ICR3aWR0aDsKICAgICRzcmNfaGVpZ2h0ICA9ICRoZWlnaHQ7CgogICAgc3dpdGNoICggKGludCkgJHRoaXMtPl9tb2RlICkgewogICAgY2FzZSAwOgogICAgICAkc3JjX3kgICAgICAgICAgICAgICAgPSAgICAkaGVpZ2h0OwogICAgICAkc3JjX2hlaWdodCAgICAgICAgICAgPSAgICAtJGhlaWdodDsKICAgICAgYnJlYWs7CgogICAgY2FzZSAxOgogICAgICAkc3JjX3ggICAgICAgICAgICAgICAgPSAgICAkd2lkdGg7CiAgICAgICRzcmNfd2lkdGggICAgICAgICAgICA9ICAgIC0kd2lkdGg7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMjoKICAgICAgJHNyY194ICAgICAgICAgICAgICAgID0gICAgJHdpZHRoOwogICAgICAkc3JjX3kgICAgICAgICAgICAgICAgPSAgICAkaGVpZ2h0OwogICAgICAkc3JjX3dpZHRoICAgICAgICAgICAgPSAgICAtJHdpZHRoOwogICAgICAkc3JjX2hlaWdodCAgICAgICAgICAgPSAgICAtJGhlaWdodDsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgcmV0dXJuICRpbWdzcmM7CiAgICB9CgogICAgJF9kZXN0ID0gbmV3IEltYWdlQmFzZShhcnJheSgkc3JjWyd0eXBlJ10sJHdpZHRoLCRoZWlnaHQpKTsKICAgICRyZXMgPSBpbWFnZWNvcHlyZXNhbXBsZWQgKCAkX2Rlc3RbJ3JzcmMnXSwgJHNyY1sncnNyYyddLCAwLCAwLCAkc3JjX3gsICRzcmNfeSwgJHdpZHRoLCAkaGVpZ2h0LCAkc3JjX3dpZHRoLCAkc3JjX2hlaWdodCApOwogICAgaWYoICEkcmVzICkJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW1hZ2UgVHJhbnNmb3JtIEZhaWxlZCcpOwoKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Grayscale_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9HcmF5c2NhbGVfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOwoKICAgIGlmKCAhJHJlcyApCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfR1JBWVNDQUxFKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Meanremoval_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9NZWFuUmVtb3ZhbF9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9hcmdzID0gYXJyYXkoMCwwLDAsMCk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgLy8gbm90aGluZyBoZXJlLgogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IEltYWdlQmFzZSgkc3JjKTsKICAgICR0bXAgPSAkdGhpcy0+X2FyZ3M7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9NRUFOX1JFTU9WQUwpOwoKICAgIGlmKCAhJHJlcyApIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfTUVBTl9SRU1PVkFMKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Negate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9OZWdhdGVfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoJHNyYyk7CiAgICAkdGNvbG9yID0gaW1hZ2Vjb2xvcmF0KCRzcmNbJ3JzcmMnXSwwLCRzcmNbJ2hlaWdodCddLTEpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfTkVHQVRFKTsKICAgIGltYWdlY29sb3J0cmFuc3BhcmVudCgkX2Rlc3RbJ3JzcmMnXSwkdGNvbG9yKTsKCiAgICBpZiggISRyZXMgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX05FR0FURSk7CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_NOOP_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9OT09QX0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogICAgewogICAgICAgIHJldHVybiAkc3JjOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Pixelate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9QaXhlbGF0ZV9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9zaXplID0gMzsKICBwcml2YXRlICRfcGl4ZWxhdGUgPSAwOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgaWYoIGlzX2FycmF5KCRhcmdzWzBdKSAmJiBjb3VudCgkYXJncykgPT0gMSApCiAgICAgICRhcmdzID0gJGFyZ3NbMF07CgogICAgaWYoIGNvdW50KCRhcmdzKSAhPSAyICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBhcmd1bWVudHMgdG8gJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgfQoKICAgICR0aGlzLT5fc2l6ZSA9IChpbnQpJGFyZ3NbMF07CiAgICAkdGhpcy0+X3BpeGVsYXRlID0gKGludCkkYXJnc1sxXTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9QSVhFTEFURSwkdGhpcy0+X3BpeGVsYXRlKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX1BJWEVMQVRFKTsKICAgICAgfQogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0KCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Reflect_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogRmlsdGVyIGNsYXNzIGZvciBtYWtpbmcgcmVmbGVjdGlvbiBmb3IgaW1hZ2UuCiAqCiAqIEBhdXRob3IgVGFwaW8gTO+/vXl0dHkgPHN0aWtraUBjbXNtYWRlc2ltcGxlLm9yZz4KICogQHBhY2thZ2UgU21hcnRJbWFnZQogKi8KY2xhc3MgSW1hZ2VfUmVmbGVjdF9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9yZWZsZWN0aW9uX2hlaWdodAkJCQk9IDEwMDsKICBwcml2YXRlICRfcmVmbGVjdGlvbl90cmFuc3BhcmVuY3kJCQk9IDA7CiAgcHJpdmF0ZSAkX2Rpdl9oZWlnaHQJCQkJCQk9IDA7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgaWYoZnVuY19udW1fYXJncygpID4gMCkgewoKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQkkYXJncyA9IChhcnJheSkkYXJnc1swXTsKCgkJaWYoaXNzZXQoJGFyZ3NbMF0pKQoJCQkkdGhpcy0+X3JlZmxlY3Rpb25faGVpZ2h0ID0gKGludCkkYXJnc1swXTsKCgkJaWYoaXNzZXQoJGFyZ3NbMV0pKQoJCQkkdGhpcy0+X3JlZmxlY3Rpb25fdHJhbnNwYXJlbmN5ID0gKGludCkkYXJnc1sxXTsKCgkJaWYoaXNzZXQoJGFyZ3NbMl0pKQoJCQkkdGhpcy0+X2Rpdl9oZWlnaHQgPSAoaW50KSRhcmdzWzJdOwoJfQogIH0KCiAgLyoqCiAgICogVHJhbnNmb3JtIHRoZSBzcGVjaWZpZWQgaW1hZ2UgdXNpbmcgdGhlIHBhcmFtZXRlcnMgc2V0CiAgICoKICAgKiBAcGFyYW0gSW1hZ2VCYXNlIFRoZSBpbWFnZSB0byB0cmFuc2Zvcm0KICAgKiBAcmV0dXJuIEltYWdlQmFzZSBUaGUgdHJhbnNmb3JtZWQgaW1hZ2UuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkd2lkdGggICAgICA9ICRzcmNbJ3dpZHRoJ107CiAgICAkaGVpZ2h0ICAgICA9ICRzcmNbJ2hlaWdodCddOwoJJHR5cGUgCQk9ICRzcmNbJ3R5cGUnXTsKCgkvLyBDcmVhdGUgX2Rlc3QgaW1hZ2UgYW5kIGNvcHkgb3JnaW5hbCBpbWFnZSBpbnRvIGl0CiAgICAkX2Rlc3QgPSBuZXcgSW1hZ2VCYXNlKGFycmF5KCR0eXBlLCAkd2lkdGgsICRoZWlnaHQgKyAkdGhpcy0+X3JlZmxlY3Rpb25faGVpZ2h0KSk7CgkkcmVzID0gaW1hZ2Vjb3B5cmVzYW1wbGVkKCRfZGVzdFsncnNyYyddLCAkc3JjWydyc3JjJ10sIDAsIDAsIDAsIDAsICR3aWR0aCwgJGhlaWdodCwgJHdpZHRoLCAkaGVpZ2h0KTsKCiAgICBpZigkcmVzID09PSBGQUxTRSkKCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDcmVhdGlvbiBvZiBkZXN0aW5hdGlvbiBpbWFnZSBmYWlsZWQnKTsKCgkvLyBNYWtlIHdoaXRlIG1hc2sKCSRtYXNrID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoLCAkaGVpZ2h0KTsKCSRiZ2MgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJG1hc2ssIDI1NSwgMjU1LCAyNTUpOyAvLyBCYWNrZ3JvdW5kIGNvbG9yCglpbWFnZWZpbGxlZHJlY3RhbmdsZSgkbWFzaywgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkYmdjKTsKCgkvLyBGbGlwIG9yZ2luYWwgaW1hZ2UgYW5kIGR1bXAgaXQgdG8gbmV3IHBpY3R1cmUgKCRkdW1waW1hZ2UpCgkkZHVtcGltYWdlID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoLCAkdGhpcy0+X3JlZmxlY3Rpb25faGVpZ2h0KTsKCSRiZ2MgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHNyY1sncnNyYyddLCAyNTUsIDI1NSwgMjU1KTsgLy8gQmFja2dyb3VuZCBjb2xvcgoJJHNyY1sncnNyYyddID0gaW1hZ2Vyb3RhdGUoJHNyY1sncnNyYyddLCAtMTgwLCAkYmdjKTsKCWltYWdlY29weXJlc2FtcGxlZCgkZHVtcGltYWdlLCAkc3JjWydyc3JjJ10sIDAsIDAsIDAsIDAsICR3aWR0aCwgJGhlaWdodCwgJHdpZHRoLCAkaGVpZ2h0KTsKCgkvLyBTZXQgT3JnaW5hbCBpbWFnZSBhcyBkdW1waW1hZ2UgYW5kIGNyZWF0ZSBuZXcgJGR1bXBpbWFnZQoJJHNyY1sncnNyYyddID0gJGR1bXBpbWFnZTsKCSRkdW1waW1hZ2UgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkd2lkdGgsICR0aGlzLT5fcmVmbGVjdGlvbl9oZWlnaHQpOwoKCS8vIE1ha2UgbWlycm9yIGltYWdlIG9mIGN1cnJlbnQgT3JnaW5hbCBpbWFnZSBhbmQgZHVtcCBpdCB0byAkZHVtcGltYWdlLiBTZXQgJGR1bXBpbWFnZSB0byAkc3JjWydyc3JjJ10KCWZvciAoJHggPSAwOyAkeCA8ICR3aWR0aDsgJHgrKykgewoKCQlpbWFnZWNvcHkoJGR1bXBpbWFnZSwgJHNyY1sncnNyYyddLCAkeCwgMCwgJHdpZHRoLSR4LTEsIDAsICR3aWR0aCwgJHRoaXMtPl9yZWZsZWN0aW9uX2hlaWdodCk7Cgl9Cgkkc3JjWydyc3JjJ10gPSAkZHVtcGltYWdlOwoKCS8vIFNldCAkbWFzayBvbiAkc3JjWydyc3JjJ10gYW5kIG1ha2UgYWN0dWFsIHJlZmxlY3Rpb24KCSRpbiA9IDEwMC8kdGhpcy0+X3JlZmxlY3Rpb25faGVpZ2h0OwoJZm9yKCRpPTA7ICRpIDw9ICR0aGlzLT5fcmVmbGVjdGlvbl9oZWlnaHQ7ICRpKyspewoKCQlpZigkdGhpcy0+X3JlZmxlY3Rpb25fdHJhbnNwYXJlbmN5ID4gMTAwKSAkdGhpcy0+X3JlZmxlY3Rpb25fdHJhbnNwYXJlbmN5ID0gMTAwOwoKCQlpbWFnZWNvcHltZXJnZSgkc3JjWydyc3JjJ10sICRtYXNrLCAwLCAkaSwgMCwgMCwgJHdpZHRoLCAxLCAkdGhpcy0+X3JlZmxlY3Rpb25fdHJhbnNwYXJlbmN5KTsKCgkJJHRoaXMtPl9yZWZsZWN0aW9uX3RyYW5zcGFyZW5jeSArPSAkaW47Cgl9CgoJLy8gU2V0IERpdmlkZXIgbGluZSBmb3IgJHNyY1sncnNyYyddCgkkcmVzID0gaW1hZ2Vjb3B5bWVyZ2UoJHNyY1sncnNyYyddLCAkbWFzaywgMCwgMCwgMCwgMCwgJHdpZHRoLCAkdGhpcy0+X2Rpdl9oZWlnaHQsIDEwMCk7CgogICAgaWYoJHJlcyA9PT0gRkFMU0UpCgkJdGhyb3cgbmV3IEV4Y2VwdGlvbignQ3JlYXRpb24gb2YgbWFzayBjb3B5IGZhaWxlZCcpOwoKCS8vIENvcHkgcmVmbGVjdGlvbiB0byAkX2Rlc3QgaW1hZ2UKCSRyZXMgPSBpbWFnZWNvcHltZXJnZSgkX2Rlc3RbJ3JzcmMnXSwgJHNyY1sncnNyYyddLCAwLCAkaGVpZ2h0LCAwLCAwLCAkd2lkdGgsICR0aGlzLT5fcmVmbGVjdGlvbl9oZWlnaHQsIDEwMCk7CgogICAgaWYoIGlzX3Jlc291cmNlKCRtYXNrKSApIGltYWdlZGVzdHJveSgkbWFzayk7CiAgICBpZiggaXNfcmVzb3VyY2UoJGR1bXBpbWFnZSkgKSBpbWFnZWRlc3Ryb3koJGR1bXBpbWFnZSk7CgogICAgaWYoJHJlcyA9PT0gRkFMU0UpCgkJdGhyb3cgbmV3IEV4Y2VwdGlvbignQ3JlYXRpb24gb2YgZmluYWwgaW1hZ2UgZmFpbGVkJyk7CgogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0KCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Resizetofit_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9SZXNpemV0b2ZpdF9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9kZXN0X3cgPSAwOwogIHByaXZhdGUgJF9kZXN0X2ggPSAwOwogIHByaXZhdGUgJF9jb2xvcjsKICBwcml2YXRlICRfYWxwaGEgPSAwOwogICAgCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRpbnB1dCkKICB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdTbWFydEltYWdlJyk7CiAgICAkdGhpcy0+X2xvYyA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYycsJ2MnKTsKICAgIGlmKCB4dF9hcnJheTo6aXNfaGFzaCgkaW5wdXQpICkgewogICAgICBpZiggaXNzZXQoJGlucHV0Wyd3aWR0aCddKSApIHsKCSR0aGlzLT5fZGVzdF93ID0gKGludCkkaW5wdXRbJ3dpZHRoJ107CgkkdGhpcy0+X2Rlc3RfaCA9IChpbnQpJGlucHV0WydoZWlnaHQnXTsKICAgICAgfQogICAgICBlbHNlIGlmICggaXNzZXQoJGlucHV0Wyd3J10pICkgewoJJHRoaXMtPl9kZXN0X3cgPSAoaW50KSRpbnB1dFsndyddOwoJJHRoaXMtPl9kZXN0X2ggPSAoaW50KSRpbnB1dFsnaCddOwogICAgICB9CiAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ2NvbG9yJ10pICYmICRpbnB1dFsnY29sb3InXSAhPSAnJykgJHRoaXMtPl9jb2xvciA9IHN0cnRvbG93ZXIoJGlucHV0Wydjb2xvciddKTsKICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnYWxwaGEnXSkgKSAkdGhpcy0+X2FscGhhID0gKGludCkkaW5wdXRbJ2FscGhhJ107CiAgICB9CiAgICBlbHNlIGlmKCBpc19hcnJheSgkaW5wdXQpICApIHsKICAgICAgaWYoIGNvdW50KCRpbnB1dCkgPj0gMiApIHsKCSR0aGlzLT5fZGVzdF93ID0gKGludCl0cmltKCRpbnB1dFswXSk7CgkkdGhpcy0+X2Rlc3RfaCA9IChpbnQpdHJpbSgkaW5wdXRbMV0pOwoJaWYoIGNvdW50KCRpbnB1dCkgPj0gMyApIHsKCSAgaWYoICRpbnB1dFsyXSAhPSAnJyApICR0aGlzLT5fY29sb3IgPSBzdHJ0b2xvd2VyKCRpbnB1dFsyXSk7CgkgIGlmKCBjb3VudCgkaW5wdXQpID49IDQgKSBpZiggJGlucHV0WzNdICE9ICcnICkgJHRoaXMtPl9hbHBoYSA9IChpbnQpJGlucHV0WzNdOwoJfQogICAgICB9CiAgICB9CgogICAgJHRoaXMtPl9kZXN0X3cgPSBzaV91dGlsczo6dHJpbV90b19kZXZpY2UoJ3dpZHRoJywkdGhpcy0+X2Rlc3Rfdyk7CiAgICAkdGhpcy0+X2Rlc3RfaCA9IHNpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnaGVpZ2h0JywkdGhpcy0+X2Rlc3RfaCk7CiAgICAkdGhpcy0+X2FscGhhID0gbWF4KDAsbWluKDEyNywkdGhpcy0+X2FscGhhKSk7CgogICAgLy8gdG9kbzogY29udmVydCBjb2xvciBuYW1lIGludG8gcmdiLgogICAgaWYoICR0aGlzLT5fZGVzdF9oIDw9IDAgfHwgJHRoaXMtPl9kZXN0X3cgPD0gMCApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZXMgc3BlY2lmaWVkIGZvciBDcm9wdG9maXQgZmlsdGVyIGNvbnN0cnVjdG9yJyk7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgIC8vIHF1aWNrIG9wdGltaXphdGlvbiAobm90aGluZyB0byBkbykKICAgIGlmKCAkdGhpcy0+X2Rlc3RfdyA9PSAkc3JjWyd3aWR0aCddICYmICR0aGlzLT5fZGVzdF9oID09ICRzcmNbJ2hlaWdodCddICkgcmV0dXJuICRzcmM7CgogICAgJHR5cGUgPSAkc3JjWyd0eXBlJ107CiAgICBpZiggJHRoaXMtPl9hbHBoYSA9PSAxMjcgKSAkdGhpcy0+X2NvbG9yID0gJ3RyYW5zcGFyZW50JzsKICAgIGlmKCAkc3JjLT5zdXBwb3J0c190cmFuc3BhcmVuY3koKSAmJiAhJHRoaXMtPl9jb2xvciApICR0aGlzLT5fY29sb3IgPSAndHJhbnNwYXJlbnQnOwogICAgaWYoICR0aGlzLT5fY29sb3IgPT0gJ3RyYW5zcGFyZW50JyB8fCAkdGhpcy0+X2FscGhhID4gMCApICR0eXBlID0gJ2ltYWdlL3BuZyc7CiAgICBpZiggJHRoaXMtPl9jb2xvciA9PSAndHJhbnNwYXJlbnQnICkgJHRoaXMtPl9hbHBoYSA9IDEyNzsKCiAgICAvLyBjcmVhdGUgb3VyIGRlc3RpbmF0aW9uIGltYWdlLgogICAgJF9kZXN0ID0gbmV3IEltYWdlQmFzZShhcnJheSgkdHlwZSwkdGhpcy0+X2Rlc3RfdywkdGhpcy0+X2Rlc3RfaCkpOwoKICAgIC8vIGZpbGwgb3VyIGltYWdlIHdpdGggYSBjb2xvciAob3IgdHJhbnNwYXJlbnQpCiAgICAkY29sb3IgPSBudWxsOwogICAgaWYoICR0aGlzLT5fY29sb3IgKSB7CiAgICAgIGlmKCAkdGhpcy0+X2NvbG9yID09ICd0cmFuc3BhcmVudCcgKSB7CgkvLyBuZWVkIHRvIGdldCBhIHRyYW5zcGFyZW50IGNvbG9yIGZyb20gc29tZXBsYWNlCgkkY29sb3IgPSAkX2Rlc3RbJ3RyYW5zcGFyZW50J107CiAgICAgIH0KICAgICAgZWxzZSB7CgkkX3IgPSAkX2cgPSAkX2IgPSAyNTU7CglsaXN0KCRfciwkX2csJF9iKSA9IHNpX3V0aWxzOjpjb2xvcl90b19yZ2IoJHRoaXMtPl9jb2xvcik7CgkkY29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkX2Rlc3RbJ3JzcmMnXSwgJF9yLCAkX2csICRfYiwgJHRoaXMtPl9hbHBoYSk7CiAgICAgIH0KICAgIH0KICAgIAogICAgaWYoICR0aGlzLT5fYWxwaGEgPiAwICYmICR0aGlzLT5fYWxwaGEgPCAxMjcpIHsKICAgICAgaW1hZ2VhbHBoYWJsZW5kaW5nKCRfZGVzdFsncnNyYyddLFRSVUUpOwogICAgfSBpZiggJHRoaXMtPl9jb2xvciA9PSAndHJhbnNwYXJlbnQnICkgewogICAgICBpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJF9kZXN0Wydyc3JjJ10sJGNvbG9yKTsKICAgICAgaW1hZ2VhbHBoYWJsZW5kaW5nKCRfZGVzdFsncnNyYyddLEZBTFNFKTsKICAgIH0KCiAgICBpbWFnZWZpbGwoJF9kZXN0Wydyc3JjJ10sIDAsIDAsICRjb2xvcik7CgogICAgaWYoICgkdGhpcy0+X2Rlc3RfdyAvICR0aGlzLT5fZGVzdF9oKSA+ICgkc3JjWyd3aWR0aCddLyRzcmNbJ2hlaWdodCddKSApIHsKICAgICAgLy8gaGVpZ2h0IGlzIGdyZWF0ZXIuLi4gCiAgICAgICRuZXdfaCA9ICR0aGlzLT5fZGVzdF9oOwogICAgICAkbmV3X3cgPSByb3VuZCgoJG5ld19oIC8gJHNyY1snaGVpZ2h0J10pICogJHNyY1snd2lkdGgnXSwgMCk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgLy8gd2lkdGggaXMgZ3JlYXRlci4KICAgICAgJG5ld193ID0gJHRoaXMtPl9kZXN0X3c7CiAgICAgICRuZXdfaCA9IHJvdW5kKCgkbmV3X3cgLyAkc3JjWyd3aWR0aCddKSAqICRzcmNbJ2hlaWdodCddLCAwKTsKICAgIH0KCiAgICAkeDAgPSAoaW50KSgoJHRoaXMtPl9kZXN0X3cgLSAkbmV3X3cpIC8gMik7CiAgICAkeTAgPSAoaW50KSgoJHRoaXMtPl9kZXN0X2ggLSAkbmV3X2gpIC8gMik7CgogICAgLy8gcmVzaXplIHRoZSBiaWcgaW1hZ2UgaW50byB0aGUgdGVtcG9yYXJ5IHRyYW5zcGFyZW50IGltYWdlCiAgICAkcmVzID0gaW1hZ2Vjb3B5cmVzYW1wbGVkKCRfZGVzdFsncnNyYyddLCRzcmNbJ3JzcmMnXSwkeDAsJHkwLDAsMCwkbmV3X3csJG5ld19oLCRzcmNbJ3dpZHRoJ10sJHNyY1snaGVpZ2h0J10pOwogICAgaWYoICRyZXMgPT09IEZBTFNFICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignUmVzaXpldG9maXQgLSBzdGFnZSAxIC0gZmFpbGVkJyk7CiAgICByZXR1cm4gJF9kZXN0OwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Resize_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9SZXNpemVfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICAgIHByaXZhdGUgJF93aWR0aDsgICAgICAgICAvLyBkZXN0IHdpZHRoCiAgICBwcml2YXRlICRfaGVpZ2h0OyAgICAgICAgLy8gZGVzdCBoZWlnaHQKICAgIHByaXZhdGUgJF9lZGdlID0gMDsJICAgICAvLyBlZGdlIHNpemUKICAgIHByaXZhdGUgJF9wZXJjZW50ID0gMDsgICAvLyBzY2FsZSB0byBwZXJjZW50CiAgICBwcml2YXRlICRfcmVzYW1wbGUgPSAxOyAgLy8gcmVzYW1wbGUsIHZzIHJlc2l6ZS4KICAgIHByaXZhdGUgJF91cHNjYWxlID0gMTsgICAvLyBhbGxvdyB1cHNjYWxlIGJ5IGRlZmF1bHQuCgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhciBhcmdzICovKQogICAgewogICAgICAgICRpbnB1dCA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICAgICBpZiggY291bnQoJGlucHV0KSA9PSAxICYmIGlzX2FycmF5KCRpbnB1dFswXSkgKSAkaW5wdXQgPSAkaW5wdXRbMF07CgogICAgICAgIGlmKCB4dF9hcnJheTo6aXNfaGFzaCgkaW5wdXQpICkgewogICAgICAgICAgICBpZiggaXNzZXQoJGlucHV0Wyd3aWR0aCddKSApICR0aGlzLT5fd2lkdGggPSAoaW50KSRpbnB1dFsnd2lkdGgnXTsKICAgICAgICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnaGVpZ2h0J10pICkgJHRoaXMtPl9oZWlnaHQgPSAoaW50KSRpbnB1dFsnaGVpZ2h0J107CiAgICAgICAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ3BlcmNlbnQnXSkgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+X3BlcmNlbnQgPSAoaW50KSRpbnB1dFsncGVyY2VudCddOwogICAgICAgICAgICAgICAgJHRoaXMtPl9wZXJjZW50ID0gbWluKDEwMCxtYXgoMSwkdGhpcy0+X3BlcmNlbnQpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggaXNzZXQoJGlucHV0WydyZXNhbXBsZSddKSApICR0aGlzLT5fcmVzYW1wbGUgPSAoaW50KSRpbnB1dFsncmVzYW1wbGUnXTsKICAgICAgICAgICAgaWYoIGlzc2V0KCRpbnB1dFsndXBzY2FsZSddKSApICR0aGlzLT5fdXBzY2FsZSA9IChpbnQpJGlucHV0Wyd1cHNjYWxlJ107CiAgICAgICAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ2VkZ2UnXSkgKSAkdGhpcy0+X2VkZ2UgPSAoaW50KSRpbnB1dFsnZWRnZSddOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKCBpc19hcnJheSgkaW5wdXQpICYmIGNvdW50KCRpbnB1dCkgPj0gMiApIHsKICAgICAgICAgICAgJGlkeCA9IDI7CiAgICAgICAgICAgIHN3aXRjaCggJGlucHV0WzBdICkgewogICAgICAgICAgICBjYXNlICdwJzoKICAgICAgICAgICAgICAgICR0aGlzLT5fcGVyY2VudCA9IChpbnQpJGlucHV0WzFdOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ3cnOgogICAgICAgICAgICAgICAgJHRoaXMtPl93aWR0aCA9IChpbnQpJGlucHV0WzFdOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2gnOgogICAgICAgICAgICAgICAgJHRoaXMtPl9oZWlnaHQgPSAoaW50KSRpbnB1dFsxXTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdlJzoKICAgICAgICAgICAgICAgICR0aGlzLT5fZWRnZSA9IChpbnQpJGlucHV0WzFdOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2MnOgogICAgICAgICAgICAgICAgJHRoaXMtPl93aWR0aCA9IChpbnQpJGlucHV0WzFdOwogICAgICAgICAgICAgICAgJHRoaXMtPl9oZWlnaHQgPSAoaW50KSRpbnB1dFsyXTsKICAgICAgICAgICAgICAgICRpZHggPSAzOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKCBjb3VudCgkaW5wdXQpID4gJGlkeCApICR0aGlzLT5fdXBzY2FsZSA9IChpbnQpJGlucHV0WyRpZHhdOwogICAgICAgIH0KCiAgICAgICAgaWYoICR0aGlzLT5fd2lkdGggPiAwICkgJHRoaXMtPl93aWR0aCA9IHNpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnd2lkdGgnLCR0aGlzLT5fd2lkdGgpOwogICAgICAgIGlmKCAkdGhpcy0+X2hlaWdodCA+IDAgKSAkdGhpcy0+X2hlaWdodCA9IHNpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnaGVpZ2h0JywkdGhpcy0+X2hlaWdodCk7CiAgICAgICAgaWYoICEoJHRoaXMtPl9wZXJjZW50ID4gMCB8fCAkdGhpcy0+X3dpZHRoID4gMCB8fCAkdGhpcy0+X2hlaWdodCA+IDAgfHwgJHRoaXMtPl9lZGdlID4gMCkgKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0NvdWxkIG5vdCBDcmVhdGUgUmVzaXplIEZpbHRlciAtIEludmFsaWQgUGFyYW1ldGVycycpOwogICAgICAgIH0KICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF90cmFuc2Zvcm0oSW1hZ2VCYXNlICRzcmMsJG5ld193LCRuZXdfaCkKICB7CiAgICAgIGlmKCAkbmV3X3cgPT0gJHNyY1snd2lkdGgnXSAmJiAkbmV3X2ggPT0gJHNyY1snaGVpZ2h0J10gKSByZXR1cm4gJHNyYzsKCiAgICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoYXJyYXkoJHNyY1sndHlwZSddLCRuZXdfdywkbmV3X2gpKTsKCiAgICAgICRyZXMgPSAnJzsKICAgICAgaWYoICR0aGlzLT5fcmVzYW1wbGUgKSB7CiAgICAgICAgICBpbWFnZWFscGhhYmxlbmRpbmcoJF9kZXN0Wydyc3JjJ10sRkFMU0UpOwogICAgICAgICAgJHJlcyA9IGltYWdlY29weXJlc2FtcGxlZCgkX2Rlc3RbJ3JzcmMnXSwkc3JjWydyc3JjJ10sMCwwLDAsMCwkbmV3X3csJG5ld19oLCRzcmNbJ3dpZHRoJ10sJHNyY1snaGVpZ2h0J10pOwogICAgICAgICAgaW1hZ2VhbHBoYWJsZW5kaW5nKCRfZGVzdFsncnNyYyddLFRSVUUpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgICAgJHJlcyA9IGltYWdlY29weXJlc2l6ZWQoJF9kZXN0Wydyc3JjJ10sJHNyY1sncnNyYyddLDAsMCwwLDAsJG5ld193LCRuZXdfaCwkc3JjWyd3aWR0aCddLCRzcmNbJ2hlaWdodCddKTsKICAgICAgfQoKICAgICAgaWYoICEkcmVzICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW1hZ2UgVHJhbnNmb3JtIEZhaWxlZCcpOwogICAgICByZXR1cm4gJF9kZXN0OwogIH0KCgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX3BlcmNlbnRhZ2UoSW1hZ2VCYXNlICRzcmMpCiAgewogICAgICAkbmV3X3cgPSAoaW50KSgoZmxvYXQpJHNyY1snd2lkdGgnXSAqIChmbG9hdCkkdGhpcy0+X3BlcmNlbnQgLyAxMDAuMCk7CiAgICAgICRuZXdfaCA9IChpbnQpKChmbG9hdCkkc3JjWydoZWlnaHQnXSAqIChmbG9hdCkkdGhpcy0+X3BlcmNlbnQgLyAxMDAuMCk7CiAgICAgIHJldHVybiAkdGhpcy0+X3RyYW5zZm9ybSgkc3JjLCRuZXdfdywkbmV3X2gpOwogIH0KCgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX3dpZHRoKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICAgLy8gY2FsY3VsYXRlIG5ldyB3aWR0aCBhbmQgaGVpZ2h0LCBwcmVzZXJ2aW5nIGFzcGVjdCByYXRpbwogICAgICAkbmV3X3cgPSAkdGhpcy0+X3dpZHRoOwogICAgICAkbmV3X2ggPSAoaW50KSgkdGhpcy0+X3dpZHRoICogJHNyY1snaGVpZ2h0J10gLyAkc3JjWyd3aWR0aCddKTsKICAgICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3RyYW5zZm9ybV9oZWlnaHQoSW1hZ2VCYXNlICRzcmMpCiAgewogICAgICAvLyBjYWxjdWxhdGUgbmV3IHdpZHRoIGFuZCBoZWlnaHQsIHByZXNlcnZpbmcgYXNwZWN0IHJhdGlvCiAgICAgICRuZXdfaCA9ICR0aGlzLT5faGVpZ2h0OwogICAgICAkbmV3X3cgPSAoaW50KSgkdGhpcy0+X2hlaWdodCAqICRzcmNbJ3dpZHRoJ10gLyAkc3JjWydoZWlnaHQnXSk7CiAgICAgIHJldHVybiAkdGhpcy0+X3RyYW5zZm9ybSgkc3JjLCRuZXdfdywkbmV3X2gpOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF90cmFuc2Zvcm1fZWRnZShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAgIC8vZmluZCB0aGUgbG9uZ2VzdCBlZGdlIG9mIGltYWdlIGFuZCByZXNpemUgYmFzZWQgb24gaXQKICAgICAgaWYoJHNyY1snd2lkdGgnXSA+ICRzcmNbJ2hlaWdodCddKSB7CiAgICAgICAgICAkbmV3X3cgPSAkdGhpcy0+X2VkZ2U7CiAgICAgICAgICAkbmV3X3cgPSBzaV91dGlsczo6dHJpbV90b19kZXZpY2UoJ3dpZHRoJywkbmV3X3cpOwogICAgICAgICAgJG5ld19oID0gKGludCkoJHRoaXMtPl9lZGdlICogJHNyY1snaGVpZ2h0J10gLyAkc3JjWyd3aWR0aCddKTsKICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RyYW5zZm9ybSgkc3JjLCRuZXdfdywkbmV3X2gpOwogICAgICB9IGVsc2UgewogICAgICAgICAgJG5ld19oID0gJHRoaXMtPl9lZGdlOwogICAgICAgICAgJG5ld19oID0gc2lfdXRpbHM6OnRyaW1fdG9fZGV2aWNlKCdoZWlnaHQnLCRuZXdfaCk7CiAgICAgICAgICAkbmV3X3cgPSAoaW50KSgkdGhpcy0+X2VkZ2UgKiAkc3JjWyd3aWR0aCddIC8gJHNyY1snaGVpZ2h0J10pOwogICAgICAgICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgICAgIH0KICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX2N1c3RvbShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAgIC8vIHRoaXMgZG9lcyBub3QgcHJlc2VydmUgYXNwZWN0IHJhdGlvLgogICAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm0oJHNyYywkdGhpcy0+X3dpZHRoLCR0aGlzLT5faGVpZ2h0KTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkaW1nKQogIHsKICAgICAgaWYoICR0aGlzLT5fcGVyY2VudCA+IDAgKSByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fcGVyY2VudGFnZSgkaW1nKTsgLy8gcGVyY2VudGFnZSByZXNpemUuCiAgICAgIGlmKCAkdGhpcy0+X2VkZ2UgPiAwICYmICgoJGltZ1snd2lkdGgnXSA+ICR0aGlzLT5fZWRnZSB8fCAkaW1nWydoZWlnaHQnXSA+ICR0aGlzLT5fZWRnZSkgfHwgJHRoaXMtPl91cHNzY2FsZSkgKSB7CiAgICAgICAgICAvL3Jlc2l6ZSBieSBsb25nZXN0IGVkZ2UKICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RyYW5zZm9ybV9lZGdlKCRpbWcpOwogICAgICB9CiAgICAgIGlmKCAkdGhpcy0+X3dpZHRoID4gMCAmJiAkdGhpcy0+X2hlaWdodCA9PSAwICYmICgoJGltZ1snd2lkdGgnXSA+ICR0aGlzLT5fd2lkdGgpIHx8ICR0aGlzLT5fdXBzY2FsZSkgKSB7CiAgICAgICAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fd2lkdGgoJGltZyk7CiAgICAgIH0KICAgICAgaWYoICR0aGlzLT5fd2lkdGggPT0gMCAmJiAkdGhpcy0+X2hlaWdodCA+IDAgJiYgKCgkaW1nWydoZWlnaHQnXSA+ICR0aGlzLT5faGVpZ2h0KSB8fCAkdGhpcy0+X3Vwc2NhbGUpICkgewogICAgICAgICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtX2hlaWdodCgkaW1nKTsKICAgICAgfQogICAgICBpZiggJHRoaXMtPl93aWR0aCA+IDAgJiYgJHRoaXMtPl9oZWlnaHQgPiAwICkgewogICAgICAgICAgaWYoICRpbWdbJ3dpZHRoJ10gPT0gJHRoaXMtPl93aWR0aCAmJiAkaW1nWydoZWlnaHQnXSA9PSAkdGhpcy0+X2hlaWdodCApIHsKICAgICAgICAgICAgICAvLyBub3RoaW5nIHRvIGRvLi4uIGJ1dCB0cmljayB0aGUgaW1hZ2UgdG8gYmUgZGlydHkuCiAgICAgICAgICAgICAgJGltZ1snaGVpZ2h0J10gPSAkaW1nWydoZWlnaHQnXTsKICAgICAgICAgICAgICByZXR1cm4gJGltZzsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RyYW5zZm9ybV9jdXN0b20oJGltZyk7CiAgICAgIH0KCiAgICAgIC8vIG5vdGhpbmcgdG8gZG8uLi4uIGJ1dCB0cmljayB0aGUgaW1hZ2UgdG8gYmUgZGlydHkuCiAgICAgICRpbWdbJ2hlaWdodCddID0gJGltZ1snaGVpZ2h0J107CiAgICAgIHJldHVybiAkaW1nOwogIH0KfQoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Rotate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogSW1hZ2Ugcm90YXRpb24gZmlsdGVyIGNsYXNzCiAqIAogKiBBbGxvd3Mgcm90YXRpbmcgYW4gaW1hZ2UgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRlZ3JlZXMuCiAqCiAqIEBhdXRob3IgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAcGFja2FnZSBTbWFydEltYWdlCiAqLwpjbGFzcyBJbWFnZV9Sb3RhdGVfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICAvKioKICAgKiBUaGUgbnVtYmVyIG9mIGRlZ3JlZXMgdG8gcm90YXRlCiAgICoKICAgKiBAYWNjZXNzIHByaXZhdGUKICAgKiBAdmFyIGludGVnZXIKICAgKi8KICBwcml2YXRlICRfYW5nbGUgPSAwOwogIHByaXZhdGUgJF9jb2xvcjsKICBwcml2YXRlICRfYWxwaGEgPSAwOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgaWYoIGlzX2FycmF5KCRhcmdzWzBdKSAmJiBjb3VudCgkYXJncykgPT0gMSkgJGFyZ3MgPSAkYXJnc1swXTsKICAgIGlmKCBjb3VudCgkYXJncykgPj0gMSApICR0aGlzLT5fYW5nbGUgPSAoaW50KSRhcmdzWzBdICUgMzYwOwogICAgaWYoIGNvdW50KCRhcmdzKSA+PSAyICkgJHRoaXMtPl9jb2xvciA9ICRhcmdzWzFdOwogICAgaWYoIGNvdW50KCRhcmdzKSA+PSAzICkgJHRoaXMtPl9hbHBoYSA9IChpbnQpJGFyZ3NbMl07CgogICAgJHRoaXMtPl9hbHBoYSA9IG1heCgwLG1pbigxMjcsJHRoaXMtPl9hbHBoYSkpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICBpZiggJHRoaXMtPl9hbmdsZSA9PSAwICkgcmV0dXJuICRzcmM7IC8vIG5vdGhpbmcgdG8gZG8uCiAgICAkdHlwZSA9ICRzcmNbJ3R5cGUnXTsKICAgIGlmKCAkdGhpcy0+X2FscGhhICE9IDAgKSAkdHlwZSA9ICdpbWFnZS9wbmcnOwogICAgaWYoICR0aGlzLT5fYWxwaGEgPT0gMTI3ICkgJHRoaXMtPl9jb2xvciA9ICd0cmFuc3BhcmVudCc7CiAgICBpZiggJHRoaXMtPl9jb2xvciA9PSAndHJhbnNwYXJlbnQnICkgJHR5cGUgPSAnaW1hZ2UvcG5nJzsKCiAgICBpZiggIWZ1bmN0aW9uX2V4aXN0cygnaW1hZ2Vyb3RhdGUnKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ2ltYWdlcm90YXRlIGZ1bmN0aW9uIG5vdCBmb3VuZCcpOwoKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoYXJyYXkoJHR5cGUsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSkpOwoKICAgIGlmKCAhJHRoaXMtPl9jb2xvciB8fCAkdGhpcy0+X2NvbG9yID09ICd0cmFuc3BhcmVudCcgKSB7CiAgICAgICR0Y29sb3IgPSBzaV91dGlsczo6Z2V0X3RyYW5zcGFyZW50X2NvbG9yKCRzcmMpOwogICAgfQogICAgZWxzZSB7CiAgICAgIGxpc3QoJF9yLCRfZywkX2IpID0gc2lfdXRpbHM6OmNvbG9yX3RvX3JnYigkdGhpcy0+X2NvbG9yKTsKICAgICAgJHRjb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRfZGVzdFsncnNyYyddLCRfciwkX2csJF9iLCR0aGlzLT5fYWxwaGEpOwogICAgfQogICAgJHJlcyA9IGltYWdlcm90YXRlKCRzcmNbJ3JzcmMnXSwkdGhpcy0+X2FuZ2xlICogLTEsJHRjb2xvcik7CiAgICBpZiggJHJlcyA9PT0gRkFMU0UgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0NPTE9SSVpFKTsKCiAgICBpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJHJlcywkdGNvbG9yKTsKICAgICRfZGVzdFsncnNyYyddID0gJHJlczsKICAgICRfZGVzdFsnd2lkdGgnXSA9IGltYWdlc3goJHJlcyk7CiAgICAkX2Rlc3RbJ2hlaWdodCddID0gaW1hZ2VzeSgkcmVzKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Roundedcorners_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9Sb3VuZGVkY29ybmVyc19GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9yYWRpdXM7CiAgcHJpdmF0ZSAkX2NvbG9yOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlucHV0KQogIHsKICAgIGlmKCB4dF9hcnJheTo6aXNfaGFzaCgkaW5wdXQpICkgewogICAgICBpZiggaXNzZXQoJGlucHV0WydyYWRpdXMnXSkgKSAkdGhpcy0+X3JhZGl1cyA9IChpbnQpJGlucHV0WydyYWRpdXMnXTsKICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnY29sb3InXSkgKSAkdGhpcy0+X2NvbG9yID0gJGlucHV0Wydjb2xvciddOwogICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSApIHsKICAgICAgaWYoIGNvdW50KCRpbnB1dCkgPj0gMSApICR0aGlzLT5fcmFkaXVzID0gKGludCkkaW5wdXRbMF07CiAgICAgIGlmKCBjb3VudCgkaW5wdXQpID49IDIgKSAkdGhpcy0+X2NvbG9yICA9ICRpbnB1dFsxXTsKICAgIH0KCiAgICBpZiggJHRoaXMtPl9yYWRpdXMgPD0gMSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWVzIHNwZWNpZmllZCBmb3IgUm91bmRlZGNvcm5lcnMgZmlsdGVyIGNvbnN0cnVjdG9yJyk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkd2lkdGggPSAkc3JjWyd3aWR0aCddOwogICAgJGhlaWdodCA9ICRzcmNbJ2hlaWdodCddOwogICAgJHJhZGl1cyA9ICR0aGlzLT5fcmFkaXVzOwogICAgJHR5cGUgPSAkc3JjWyd0eXBlJ107CiAgICAkY29sb3IgPSBudWxsOwogICAgJHIgPSAkZyA9ICRiID0gMjU1OwoKICAgIGlmKCAkc3JjLT5zdXBwb3J0c190cmFuc3BhcmVuY3koKSAmJiAhJHRoaXMtPl9jb2xvciApICR0aGlzLT5fY29sb3IgPSAndHJhbnNwYXJlbnQnOwogICAgaWYoICR0aGlzLT5fY29sb3IgPT0gJ3RyYW5zcGFyZW50JyApICR0eXBlID0gJ2ltYWdlL3BuZyc7CgogICAgJF9kZXN0ID0gbmV3IEltYWdlQmFzZShhcnJheSgkdHlwZSwkd2lkdGgsJGhlaWdodCkpOwogICAgaW1hZ2Vjb3B5KCRfZGVzdFsncnNyYyddLCRzcmNbJ3JzcmMnXSwwLDAsMCwwLCR3aWR0aCwkaGVpZ2h0KTsKCiAgICBpZiggJHRoaXMtPl9jb2xvciApIHsKICAgICAgaWYoICR0aGlzLT5fY29sb3IgPT0gJ3RyYW5zcGFyZW50JyApIHsKCS8vIGdldCB0aGUgZGVzdCBpbWFnYWdlcyB0cmFuc3BhcmVudCBjb2xvci4KCSRjb2xvciA9ICRfZGVzdFsndHJhbnNwYXJlbnQnXTsKCWlmKCAhJGNvbG9yICkgbGlzdCgkciwkZywkYikgPSBzaV91dGlsczo6ZmluZF91bnVzZWRfY29sb3IoJF9kZXN0KTsKICAgICAgfQogICAgICBlbHNlIHsKCS8vIHVzZSB0aGUgc3BlY2lmaWVkIHJnYi4KCWxpc3QoJHIsJGcsJGIpID0gc2lfdXRpbHM6OmNvbG9yX3RvX3JnYigkdGhpcy0+X2NvbG9yKTsKICAgICAgfQogICAgfQoKICAgIGlmKCAhJGNvbG9yICkgewogICAgICBpZiggJHRoaXMtPl9jb2xvciA9PSAndHJhbnNwYXJlbnQnICkgewoJJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJF9kZXN0Wydyc3JjJ10sJHIsJGcsJGIsMTI3KTsKICAgICAgfQogICAgICBlbHNlIHsKCSRjb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZSgkX2Rlc3RbJ3JzcmMnXSwkciwkZywkYik7CiAgICAgIH0KICAgIH0KCiAgICBpZiggJHRoaXMtPl9jb2xvciA9PSAndHJhbnNwYXJlbnQnICkgewogICAgICAkX2Rlc3RbJ3RyYW5zcGFyZW50J10gPSAkY29sb3I7CiAgICAgIGltYWdlY29sb3J0cmFuc3BhcmVudCgkX2Rlc3RbJ3JzcmMnXSwkY29sb3IpOwogICAgICBpbWFnZWFscGhhYmxlbmRpbmcoJF9kZXN0Wydyc3JjJ10sRkFMU0UpOwogICAgfQoKICAgIC8vIHJvdW5kIHRoZSBjb3JuZXJzLgogICAgaW1hZ2VhcmMoJF9kZXN0Wydyc3JjJ10sJHJhZGl1cy0xLCRyYWRpdXMtMSwkcmFkaXVzKjIsJHJhZGl1cyoyLCAxODAsIDI3MCwgJGNvbG9yKTsKICAgIGltYWdlZmlsbHRvYm9yZGVyKCRfZGVzdFsncnNyYyddLDAsMCwkY29sb3IsJGNvbG9yKTsKICAgIAogICAgaW1hZ2VhcmMoJF9kZXN0Wydyc3JjJ10sICR3aWR0aC0kcmFkaXVzLCAkcmFkaXVzLTEsICRyYWRpdXMqMiwgJHJhZGl1cyoyLCAyNzAsIDAsICRjb2xvcik7IAogICAgaW1hZ2VmaWxsdG9ib3JkZXIoJF9kZXN0Wydyc3JjJ10sICR3aWR0aC0xLCAwLCAkY29sb3IsICRjb2xvcik7CgogICAgaW1hZ2VhcmMoJF9kZXN0Wydyc3JjJ10sICRyYWRpdXMtMSwgJGhlaWdodC0kcmFkaXVzLCAkcmFkaXVzKjIsICRyYWRpdXMqMiwgOTAsIDE4MCwgJGNvbG9yKTsgCiAgICBpbWFnZWZpbGx0b2JvcmRlcigkX2Rlc3RbJ3JzcmMnXSwgMCwgJGhlaWdodC0xLCAkY29sb3IsICRjb2xvcik7CgogICAgaW1hZ2VhcmMoJF9kZXN0Wydyc3JjJ10sICR3aWR0aC0kcmFkaXVzLCAkaGVpZ2h0LSRyYWRpdXMsICRyYWRpdXMqMiwgJHJhZGl1cyoyLCAwLCA5MCwgJGNvbG9yKTsgCiAgICBpbWFnZWZpbGx0b2JvcmRlcigkX2Rlc3RbJ3JzcmMnXSwgJHdpZHRoLTEsICRoZWlnaHQtMSwgJGNvbG9yLCAkY29sb3IpOwoKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Selectiveblur_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogU2VsZWN0aXZlIEJsdXIgaW1hZ2UgZmlsdGVyIGNsYXNzCiAqCiAqIFBlcmZvcm1zIGEgc2VsZWN0aXZlIGJsdXIgb24gdGhlIHByb3ZpZGVkIGltYWdlLgogKiBUaGVyZSBhcmUgbm8gcGFyYW1ldGVycyB0byB0aGlzIGZpbHRlcmluZyBtZXRob2QuCiAqCiAqIEBhdXRob3IgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAcGFja2FnZSBTbWFydEltYWdlCiAqLwpjbGFzcyBJbWFnZV9TZWxlY3RpdmVibHVyX0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CiAgCiAgLyoqCiAgICogVHJhbnNmb3JtIHRoZSBzcGVjaWZpZWQgaW1hZ2UKICAgKgogICAqIEBwYXJhbSBJbWFnZUJhc2UgVGhlIGltYWdlIHRvIHRyYW5zZm9ybQogICAqIEByZXR1cm4gSW1hZ2VCYXNlIFRoZSB0cmFuc2Zvcm1lZCBpbWFnZS4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoJHNyYyk7CiAgICAkdG1wID0gJHRoaXMtPl9hcmdzOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfU0VMRUNUSVZFX0JMVVIpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfU0VMRUNUSVZFX0JMVVIpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Sharpen_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9TaGFycGVuX0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CnByaXZhdGUgJF9tYXRyaXggPSBhcnJheShhcnJheSgwLC0zLDApLGFycmF5KC0zLDIxLC0zKSxhcnJheSgwLC0zLDApKTsKLy8gICAgcHJpdmF0ZSAkX21hdHJpeCA9IGFycmF5KGFycmF5KDAsLTEuMCAsMCksYXJyYXkoLTEuMCwgNS4wLCAtMS4wKSxhcnJheSgwLC0xLjAsIDApKTsKICAgIHByaXZhdGUgJF9kaXZpc29yID0gOTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyIGFyZ3MgKi8pCiAgICB7CiAgICAgICAgJGlucHV0ID0gZnVuY19nZXRfYXJncygpOwogICAgICAgIGlmKCBpc19hcnJheSgkaW5wdXQpICYmIGNvdW50KCRpbnB1dCkgPT0gMSApICRpbnB1dCA9ICRpbnB1dFswXTsKICAgICAgICAkdGhpcy0+X2Rpdmlzb3IgPSBhcnJheV9zdW0oYXJyYXlfbWFwKCdhcnJheV9zdW0nLCAkdGhpcy0+X21hdHJpeCkpOwoKICAgICAgICAkYWRqID0gMDsKICAgICAgICBpZiggeHRfYXJyYXk6OmlzX2hhc2goJGlucHV0KSAmJiBpc3NldCgkaW5wdXRbJ2Rpdmlzb3InXSkgKSB7CiAgICAgICAgICAgICRhZGogPSAoZmxvYXQpJGlucHV0WydkaXZpc29yJ107CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIGlzX2FycmF5KCRpbnB1dCkgJiYgY291bnQoJGlucHV0KSA+PSAxICkgewogICAgICAgICAgICAkYWRqID0gKGZsb2F0KSRpbnB1dFswXTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPl9kaXZpc29yICs9IG1heCgtMTAsbWluKDEwLCRhZGopKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogICAgewogICAgICAgIC8vIGNvcHkgdGhlIGltYWdlIChwaXhlbCBmb3IgcGl4ZWwpCiAgICAgICAgJF9kZXN0ID0gbmV3IEltYWdlQmFzZSgkc3JjKTsKICAgICAgICBpbWFnZWNvcHkoJF9kZXN0Wydyc3JjJ10sJHNyY1sncnNyYyddLDAsMCwwLDAsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSk7CiAgICAgICAgaW1hZ2Vjb252b2x1dGlvbigkX2Rlc3RbJ3JzcmMnXSwkdGhpcy0+X21hdHJpeCwkdGhpcy0+X2Rpdmlzb3IsMCk7CiAgICAgICAgcmV0dXJuICRfZGVzdDsKICAgIH0KfQoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Smooth_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogU21vb3RoaW5nIEltYWdlIGltYWdlIGZpbHRlciBjbGFzcwogKiAKICogUGVyZm9ybXMgYSBzbW9vdGhpbmcgZmlsdGVyIG9uIHRoZSBzdXBwbGllZCBpbWFnZS4KICoKICogQGF1dGhvciBSb2JlcnQgQ2FtcGJlbGwgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBwYWNrYWdlIFNtYXJ0SW1hZ2UKICovCmNsYXNzIEltYWdlX1Ntb290aF9GaWx0ZXIgZXh0ZW5kcyBJbWFnZUZpbHRlckJhc2UKewogIC8qKgogICAqIFRoZSBTbW9vdGhpbmcgU2ljZQogICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAqLwogIHByaXZhdGUgJF9zbW9vdGggPSAwOwoKICAvKioKICAgKiBDb25zdHJ1Y3Rvci4KICAgKgogICAqIFRoaXMgbWV0aG9kIGFjY2VwdHMgYSB2YXJpZXR5IG9mIHdheXMgb2Ygc3BlY2lmeWluZyB0aGUgc21vb3RobmVzcyBmYWN0b3IuCiAgICogaS5lOiAgJG9iaiA9IG5ldyBJbWFnZV9TbW9vdGhfRmlsdGVyKDMpOwogICAqIGkuZTogICRvYmogPSBuZXcgSW1hZ2VfU21vb3RoX0ZpbHRlcihhcnJheSgzKSk7CiAgICovCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhcmlhYmxlIGFyZ3VtZW50cyAqLykKICB7CiAgICBpZiggZnVuY19udW1fYXJncygpICE9IDEgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIGFyZ3VtZW50cyB0byAnLmdldF9jbGFzcygkdGhpcykpOwogICAgICB9CgogICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICAkYXJncyA9ICRhcmdzWzBdOwogICAgaWYoIGlzX2FycmF5KCRhcmdzKSApCiAgICAgIHsKCSR0aGlzLT5fc21vb3RoID0gKGludCkkYXJnc1swXTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+X3Ntb290aCA9ICRhcmdzOwogICAgICB9CiAgfQoKCiAgLyoqCiAgICogVHJhbnNmb3JtIHRoZSBzcGVjaWZpZWQgaW1hZ2UgdXNpbmcgdGhlIHBhcmFtZXRlcnMgc2V0CiAgICoKICAgKiBAcGFyYW0gSW1hZ2VCYXNlIFRoZSBpbWFnZSB0byB0cmFuc2Zvcm0KICAgKiBAcmV0dXJuIEltYWdlQmFzZSBUaGUgdHJhbnNmb3JtZWQgaW1hZ2UuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgSW1hZ2VCYXNlKCRzcmMpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfU01PT1RILCR0aGlzLT5fc21vb3RoKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX1NNT09USCk7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Transparent_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogQ29udmVydHMgYW4gaW1hZ2UgdG8gdHJhbnNwYXJlbnQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciB0aGF0IHNob3VsZCBiZWNvbWUgdGhlIHRyYW5zcGFyZW50IGNvbG9yLgogKiAKICogQGF1dGhvciBSb2JlcnQgQ2FtcGJlbGwgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBwYWNrYWdlIFNtYXJ0SW1hZ2UKICovCmNsYXNzIEltYWdlX1RyYW5zcGFyZW50X0ZpbHRlciBleHRlbmRzIEltYWdlRmlsdGVyQmFzZQp7CiAgLyoqCiAgICogVGhlIG51bWJlciBvZiBkZWdyZWVzIHRvIHJvdGF0ZQogICAqCiAgICogQGFjY2VzcyBwcml2YXRlCiAgICogQHZhciBpbnRlZ2VyCiAgICovCiAgcHJpdmF0ZSAkX2NvbG9yOwogIHByaXZhdGUgJF9hbHBoYSA9IDEyNzsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhcmlhYmxlIGFyZ3VtZW50cyAqLykKICB7CiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgIGlmKCBpc19hcnJheSgkYXJnc1swXSkgJiYgY291bnQoJGFyZ3MpID09IDEpICRhcmdzID0gJGFyZ3NbMF07CiAgICBpZiggY291bnQoJGFyZ3MpID49IDEgKSAkdGhpcy0+X2NvbG9yID0gJGFyZ3NbMF07CiAgICBpZiggY291bnQoJGFyZ3MpID49IDIgKSAkdGhpcy0+X2FscGhhID0gKGludCkkYXJnc1sxXTsKCiAgICAkdGhpcy0+X2FscGhhID0gbWF4KDAsbWluKDEyNywkdGhpcy0+X2FscGhhKSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICR0eXBlID0gJ2ltYWdlL3BuZyc7CiAgICAkX2Rlc3QgPSBuZXcgSW1hZ2VCYXNlKGFycmF5KCR0eXBlLCRzcmNbJ3dpZHRoJ10sJHNyY1snaGVpZ2h0J10pKTsKICAgIGltYWdlY29weSgkX2Rlc3RbJ3JzcmMnXSwkc3JjWydyc3JjJ10sMCwwLDAsMCwkc3JjWyd3aWR0aCddLCRzcmNbJ2hlaWdodCddKTsKICAgIGxpc3QoJF9yLCRfZywkX2IpID0gc2lfdXRpbHM6OmNvbG9yX3RvX3JnYigkdGhpcy0+X2NvbG9yKTsKICAgICRjb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRfZGVzdFsncnNyYyddLCRfciwkX2csJF9iLCR0aGlzLT5fYWxwaGEpOwogICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRfZGVzdFsncnNyYyddLCRjb2xvcik7CiAgICAkX2Rlc3RbJ3RyYW5zcGFyZW50J10gPSAkY29sb3I7CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Untransparent_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogQ29udmVydHMgYSB0cmFuc3BhcmVudCBpbWFnZSB0byB1bnRyYW5zcGFyZW50LCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgdGhhdCBzaG91bGQgYmVjb21lIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLgogKiAKICogQGF1dGhvciBSb2JlcnQgQ2FtcGJlbGwgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBwYWNrYWdlIFNtYXJ0SW1hZ2UKICovCmNsYXNzIEltYWdlX1VudHJhbnNwYXJlbnRfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICAvKioKICAgKiBUaGUgbnVtYmVyIG9mIGRlZ3JlZXMgdG8gcm90YXRlCiAgICoKICAgKiBAYWNjZXNzIHByaXZhdGUKICAgKiBAdmFyIGludGVnZXIKICAgKi8KICBwcml2YXRlICRfY29sb3I7CiAgcHJpdmF0ZSAkX3BjdCA9IDEwMDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhcmlhYmxlIGFyZ3VtZW50cyAqLykKICB7CiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgIGlmKCBpc19hcnJheSgkYXJnc1swXSkgJiYgY291bnQoJGFyZ3MpID09IDEpICRhcmdzID0gJGFyZ3NbMF07CiAgICBpZiggY291bnQoJGFyZ3MpID49IDEgKSAkdGhpcy0+X2NvbG9yID0gJGFyZ3NbMF07CiAgICBpZiggY291bnQoJGFyZ3MpID49IDIgKSAkdGhpcy0+X3BjdCA9IChpbnQpJGFyZ3NbMV07CgogICAgJHRoaXMtPl9wY3QgPSBtYXgoMCxtaW4oMTAwLCR0aGlzLT5fcGN0KSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKEltYWdlQmFzZSAkc3JjKQogIHsKICAgICR0eXBlID0gJ2ltYWdlL2pwZWcnOwogICAgaWYoICFmdW5jdGlvbl9leGlzdHMoJ2ltYWdlcm90YXRlJykgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdpbWFnZXJvdGF0ZSBmdW5jdGlvbiBub3QgZm91bmQnKTsKICAgICRfZGVzdCA9IG5ldyBJbWFnZUJhc2UoYXJyYXkoJHR5cGUsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSkpOwogICAgbGlzdCgkX3IsJF9nLCRfYikgPSBzaV91dGlsczo6Y29sb3JfdG9fcmdiKCR0aGlzLT5fY29sb3IpOwogICAgJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRfZGVzdFsncnNyYyddLCRfciwkX2csJF9iKTsKICAgIGltYWdlZmlsbCgkX2Rlc3RbJ3JzcmMnXSwwLDAsJGNvbG9yKTsKICAgIGlmKCAkdGhpcy0+X3BjdCA9PSAxMDAgKSB7CiAgICAgIGltYWdlY29weSgkX2Rlc3RbJ3JzcmMnXSwkc3JjWydyc3JjJ10sIDAsIDAsIDAsIDAsICRzcmNbJ3dpZHRoJ10sICRzcmNbJ2hlaWdodCddKTsKICAgIH0KICAgIGVsc2UgewogICAgICBpbWFnZWNvcHltZXJnZSgkX2Rlc3RbJ3JzcmMnXSwkc3JjWydyc3JjJ10sIDAsIDAsIDAsIDAsICRzcmNbJ3dpZHRoJ10sICRzcmNbJ2hlaWdodCddLCR0aGlzLT5fcGN0KTsKICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Image_Watermark_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBJbWFnZV9XYXRlcm1hcmtfRmlsdGVyIGV4dGVuZHMgSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfd210ZXh0OwogIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgvKiB2YXIgYXJncyAqLykKICB7CiAgICAkaW5wdXQgPSBmdW5jX2dldF9hcmdzKCk7CiAgICBpZigxID09PSBjb3VudCgkaW5wdXQpICYmIGlzX2FycmF5KCRpbnB1dFswXSkgKSB7ICRpbnB1dCA9ICRpbnB1dFswXTsgfQogIAogICAgaWYoeHRfYXJyYXk6OmlzX2hhc2goJGlucHV0KSkKICAgIHsKICAgICAgJHRoaXMtPl93bXRleHQgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoJGlucHV0LCAndGV4dCcpOwogICAgfQogICAgZWxzZSBpZihjb3VudCgkaW5wdXQpID49IDEpCiAgICB7CiAgICAgICR0bXAgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoJGlucHV0LCAwKTsKICAgICAgCiAgICAgIGlmKCBpc19zdHJpbmcoJHRtcCkgJiYgIWlzX251bWVyaWMoJHRtcCkgKQogICAgICB7CiAgICAgICAgJHRoaXMtPl93bXRleHQgPSAkdG1wOwogICAgICB9CiAgICB9CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ICAgICAgID0gbmV3IEltYWdlQmFzZSgkc3JjKTsKICAgICR3YXRlcm1hcmtlciA9IFx4dF9zZXR1cDo6Z2V0X3dhdGVybWFya2VyKCk7CiAgICAKICAgIGlmKCR0aGlzLT5fd210ZXh0KQogICAgewogICAgICAvLyBjbGVhbiB1cCB0aGUgdGV4dAogICAgICAkdGV4dCA9IHN0cmlwX3RhZ3MoJHRoaXMtPl93bXRleHQpOwogICAgICAkdGV4dCA9IHN1YnN0cigkdGV4dCwgMCwgNTApOwogICAgICAkdGV4dCA9IHRyaW0oJHRleHQpOwogICAgICAKICAgICAgaWYoIE5VTEwgPT09IFx4dF91dGlsczo6dG9fYm9vbCgkdGV4dCwgVFJVRSkgKQogICAgICB7CiAgICAgICAgJHdhdGVybWFya2VyLT5zZXRfd2F0ZXJtYXJrX3RleHQoJHRleHQpOwogICAgICB9CiAgICB9CgogICAgJF9kZXN0Wydyc3JjJ10gPSAkd2F0ZXJtYXJrZXItPmdldF93YXRlcm1hcmtlZF9pbWFnZSgkX2Rlc3RbJ3JzcmMnXSk7CiAgICAKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.si_DeviceAtlasPersonal_client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBzaV9EZXZpY2VBdGxhc1BlcnNvbmFsX2NsaWVudCBleHRlbmRzIHNpX2RldmljZWNhcGFiaWxpdGllc19jbGllbnQKewogIGNvbnN0IHJlcXVlc3RfdXJsID0gJ2h0dHA6Ly9kZXZpY2VhdGxhcy5hcHBzcG90LmNvbS9xdWVyeSc7CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGV2aWNlX3Jlc29sdXRpb24oKQogIHsKICAgICAgZGVidWdfYnVmZmVyKCdjYWxsaW5nIGRldmljZWF0bGFzIHRvIGdldCBicm93c2VyIGNhcGFiaWxpdGllcycpOwogICAgICAkY2xpZW50ID0geHRfaHR0cDo6Z2V0X2h0dHAoKTsKICAgICAgJGNsaWVudC0+c2V0TWV0aG9kKCdHRVQnKTsKICAgICAgJGNsaWVudC0+c2V0dGltZW91dCgzKTsgLy8gb3ZlcnJpZGUgdGhlIHRpbWVvdXQuCiAgICAgICRjbGllbnQtPnNldFRhcmdldChzZWxmOjpyZXF1ZXN0X3VybCk7CiAgICAgICRjbGllbnQtPmFkZFBhcmFtKCdVc2VyLUFnZW50JywkdGhpcy0+Z2V0X2FnZW50KCkpOwogICAgICAkanNvbiA9ICRjbGllbnQtPmV4ZWN1dGUoKTsKICAgICAgJHN0YXR1cyA9ICRjbGllbnQtPmdldFN0YXR1cygpOwoKICAgICAgaWYoICRzdGF0dXMgIT0gMjAwIHx8ICEkanNvbiApIHsKICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignU21hcnRJbWFnZTogIENvbm5lY3Rpb24gdG8gRGV2aWNlQXRsYXMgZmFpbGVkJyk7CiAgICAgIH0KCiAgICAgIC8vIGNvdWxkIGJlIHRyYWNraW5nIGZhaWx1cmVzIGhlcmUKCiAgICAgICRkYXRhID0ganNvbl9kZWNvZGUoJGpzb24sVFJVRSk7CiAgICAgIGlmKCAhaXNfYXJyYXkoJGRhdGEpICkgcmV0dXJuOwogICAgICBpZiggIWlzc2V0KCRkYXRhWydpc0Jyb3dzZXInXSkgKSByZXR1cm47CgogICAgICBpZiggIWlzc2V0KCRkYXRhWydkaXNwbGF5V2lkdGgnXSkgfHwgIWlzc2V0KCRkYXRhWydkaXNwbGF5SGVpZ2h0J10pICkgewogICAgICAgICAgZGVidWdfYnVmZmVyKCdjb25uZWN0aW9uIHRvIGRldmljZWF0bGFzIHN1Y2NlZGVkLCBidXQgbm8gcmVzb2x1dGlvbiBpbmZvcm1hdGlvbicpOwogICAgICAgICAgcmV0dXJuICRkYXRhOwogICAgICB9CgogICAgICAvLyB3b290LCBpdCB3b3JrZWQuCiAgICAgICRyZXMgPSBhcnJheSgpOwogICAgICAkcmVzWyd3aWR0aCddID0gJGRhdGFbJ2Rpc3BsYXlXaWR0aCddOwogICAgICAkcmVzWydoZWlnaHQnXSA9ICRkYXRhWydkaXNwbGF5SGVpZ2h0J107CiAgICAgIHJldHVybiAkcmVzOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.si_devicecapabilities_client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgphYnN0cmFjdCBjbGFzcyBzaV9kZXZpY2VjYXBhYmlsaXRpZXNfY2xpZW50CnsKICBwcml2YXRlICRfYWdlbnQ7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdXNlcl9hZ2VudCkKICB7CiAgICAkdGhpcy0+X2FnZW50ID0gJHVzZXJfYWdlbnQ7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2FnZW50KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9hZ2VudDsKICB9CgogIC8vIHJldHVybiBhcnJheSBvZiB3aWR0aCwgaGVpZ2h0IChpbiBwaXhlbHMpLCBvciBudWxsCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9kZXZpY2VfcmVzb2x1dGlvbigpOwp9IC8vIGVuZCBvZiBpbnRlcmZhY2UKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.si_extended.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBzaV9leHRlbmRlZAp7CiAgcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2lfZ2V0aW1hZ2VzKCRwYXJhbXMsJGNvbnRlbnQsJiRzbWFydHksJHJlcGVhdCkKICB7CiAgICBpZiggISRjb250ZW50ICkgcmV0dXJuOwoKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NtYXJ0SW1hZ2UnKTsKICAgICRvbGRfZXJyb3J2YWwgPSBsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycyh0cnVlKTsKICAgICRkb20gPSBuZXcgRG9tRG9jdW1lbnQoKTsKICAgICRkb20tPnN0cmljdEVycm9yQ2hlY2tpbmcgPSBGQUxTRTsKICAgICRkb20tPnZhbGlkYXRlT25QYXJzZSA9IEZBTFNFOwogICAgaWYoIGZ1bmN0aW9uX2V4aXN0cygnbWJfY29udmVydF9lbmNvZGluZycpICkgJGNvbnRlbnQgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCRjb250ZW50LCAnSFRNTC1FTlRJVElFUycsICdVVEYtOCcpOwogICAgJGRvbS0+bG9hZEhUTUwoJGNvbnRlbnQpOwoKICAgICRpbWdzID0gJGRvbS0+R2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpOwogICAgaWYoIGlzX29iamVjdCgkaW1ncykgJiYgJGltZ3MtPmxlbmd0aCApIHsKICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8ICRpbWdzLT5sZW5ndGg7ICRpKysgKSB7Cgkkbm9kZSA9ICRpbWdzLT5pdGVtKCRpKTsKCSRzeGUgPSBzaW1wbGV4bWxfaW1wb3J0X2RvbSgkbm9kZSk7CgoJJHJlYyA9IGFycmF5KCk7CgkkcmVjWyd0YWcnXSA9ICRzeGUtPmFzWE1MKCk7Cglmb3JlYWNoKCAkc3hlLT5hdHRyaWJ1dGVzKCkgYXMgJG5hbWUgPT4gJHZhbHVlICkgewoJICAkdmFsdWUgPSAoc3RyaW5nKSR2YWx1ZTsKCSAgaWYoICR2YWx1ZSA9PSAnJyApIGNvbnRpbnVlOwoJICAkcmVjWyRuYW1lXSA9ICR2YWx1ZTsKCX0KCSRvdXRbXSA9ICRyZWM7CiAgICAgIH0KCiAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKSAkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1snYXNzaWduJ10sJG91dCk7CiAgICB9CgogICAgJGltYWdlc29ubHkgPSBjbXNfdG9fYm9vbChnZXRfcGFyYW1ldGVyX3ZhbHVlKCRwYXJhbXMsJ2ltYWdlc29ubHknKSk7CiAgICAkbm9jb250ZW50ID0gY21zX3RvX2Jvb2woZ2V0X3BhcmFtZXRlcl92YWx1ZSgkcGFyYW1zLCdub2NvbnRlbnQnKSk7OwogICAgaWYoICEkbm9jb250ZW50ICkgewogICAgICBpZiggJGltYWdlc29ubHkgKSB7CgkkY29udGVudCA9ICcnOwoJZm9yZWFjaCggJG91dCBhcyAkcmVjICkgewoJICAkY29udGVudCAuPSAkcmVjWyd0YWcnXTsKCX0KICAgICAgfQogICAgICByZXR1cm4gJGNvbnRlbnQ7CiAgICB9CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.si_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBTSVN0b3BIZXJlRXhjZXB0aW9uIGV4dGVuZHMgXEV4Y2VwdGlvbiB7fQoKZmluYWwgY2xhc3Mgc2lfdXRpbHMKewogIHByb3RlY3RlZCBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsgfQogIAogIHN0YXRpYyBwcml2YXRlICRfZGV2aWNlX2RhdGE7CiAgCiAgLyoqCiAgICogR2l2ZW4gYSBmYWlybHkgbG9vc2UgaW1hZ2UgdHlwZSBpZGVudGlmaWVyCiAgICogKGVpdGhlciBhbiBleHRlbnNpb24gb3IgYSBtaW1lIHR5cGUpCiAgICogdGhhdCBjb3VsZCBiZSBzb21ld2hhdCBtaXMtc3BlbGxlZAogICAqIGF0dGVtcHQgdG8gcmV0dXJuIGEgcmVhc29uYWJsZSBtaW1lIHR5cGUKICAgKgogICAqIEBwYXJhbSAgICAgICAgJHN0cgogICAqIEBwYXJhbSBzdHJpbmcgJGRlZmF1bHQKICAgKgogICAqIEByZXR1cm4gZmFsc2V8c3RyaW5nCiAgICovCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gcGFyc2VfdHlwZShzdHJpbmcgJHN0ciwgc3RyaW5nICRkZWZhdWx0ID0gJ2ltYWdlL3BuZycpCiAgewogICAgJHN0ciA9IHN0cnRvbG93ZXIoJHN0cik7CiAgICAKICAgIHdoaWxlKCBzdGFydHN3aXRoKCRzdHIsICcuJykgKSB7ICRzdHIgPSBzdWJzdHIoJHN0ciwgMSk7IH0KICAgIAogICAgc3dpdGNoKCRzdHIpCiAgICB7CiAgICAgIGNhc2UgJ2ltYWdlL2pwZWcnOgogICAgICBjYXNlICdpbWFnZS9wbmcnOgogICAgICBjYXNlICdpbWFnZS9naWYnOgogICAgICBjYXNlICdpbWFnZS9ibXAnOgogICAgICBjYXNlICdpbWFnZS93ZWJwJzoKICAgICAgICByZXR1cm4gJHN0cjsKICAgICAgICAvLyoqLy8KICAgICAgY2FzZSAnaW1hZ2UveC13aW5kb3dzLWJtcCc6CiAgICAgIGNhc2UgJ2ltYWdlL3gtbXMtYm1wJzoKICAgICAgY2FzZSAnYm1wJzoKICAgICAgICByZXR1cm4gJ2ltYWdlL2JtcCc7CiAgICAgICAgLy8qKi8vCiAgICAgIGNhc2UgJ2ltYWdlL2pwZyc6CiAgICAgIGNhc2UgJ2pwZWcnOgogICAgICBjYXNlICdqcGcnOgogICAgICAgIHJldHVybiAnaW1hZ2UvanBlZyc7CiAgICAgICAgLy8qKi8vCiAgICAgIGNhc2UgJ3BuZyc6CiAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnOwogICAgICAgIC8vKiovLwogICAgICBjYXNlICdnaWYnOgogICAgICAgIHJldHVybiAnaW1hZ2UvZ2lmJzsKICAgICAgICAvLyoqLy8KICAgICAgY2FzZSAnd2VicCc6CiAgICAgICAgcmV0dXJuICdpbWFnZS93ZWJwJzsKICAgICAgICAvLyoqLy8KICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gJGRlZmF1bHQ7CiAgICB9CiAgfQogIAogIC8qKgogICAqIEdpdmVuIGEgbWltZSB0eXBlIGZvciBvdXIga25vd24gaW1hZ2UgZm9ybWF0cywgcmV0dXJuIGFuIGV4dGVuc2lvbgogICAqCiAgICogQHBhcmFtICRtaW1lX3R5cGUKICAgKgogICAqIEByZXR1cm4gbWl4ZWR8c3RyaW5nfG51bGwKICAgKi8KICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBnZXRfZXh0ZW5zaW9uKCRtaW1lX3R5cGUpCiAgewogICAgJG1hcCA9IFsKICAgICAgJ2ltYWdlL2pwZWcnICAgICAgICAgICAgICAgPT4gJy5qcGcnLAogICAgICAnaW1hZ2UvcG5nJyAgICAgICAgICAgICAgICA9PiAnLnBuZycsCiAgICAgICdpbWFnZS9ibXAnICAgICAgICAgICAgICAgID0+ICcuYm1wJywKICAgICAgJ2ltYWdlL2dpZicgICAgICAgICAgICAgICAgPT4gJy5naWYnLAogICAgICAnaW1hZ2UvcHNkJyAgICAgICAgICAgICAgICA9PiAnLnBzZCcsCiAgICAgICdpbWFnZS90aWZmJyAgICAgICAgICAgICAgID0+ICcudGlmZicsCiAgICAgICdpbWFnZS9qcDInICAgICAgICAgICAgICAgID0+ICcuZ2lmJywKICAgICAgJ2ltYWdlL2lmZicgICAgICAgICAgICAgICAgPT4gJy5qcDInLAogICAgICAnaW1hZ2Uvdm5kLndhcC53Ym1wJyAgICAgICA9PiAnLndibXAnLAogICAgICAnaW1hZ2UveGJtJyAgICAgICAgICAgICAgICA9PiAnLnhibScsCiAgICAgICdpbWFnZS92bmQubWljcm9zb2Z0Lmljb24nID0+ICcuaWNvbicsCiAgICAgICdpbWFnZS93ZWJwJyAgICAgICAgICAgICAgID0+ICcud2VicCcKICAgIF07CiAgCiAgICByZXR1cm4gJG1hcFskbWltZV90eXBlXSA/PyBOVUxMOwogIH0KICAKICAvKioKICAgKiBSZXR1cm4gdGhlIG9wdGlvbnMgZm9yIGEgcGFydGljdWxhciBhbGlhcwogICAqCiAgICogQHBhcmFtICRuYW1lCiAgICoKICAgKiBAcmV0dXJuIG1peGVkfHN0cmluZwogICAqLwogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9nZXRfYWxpYXNfb3B0aW9ucygkbmFtZSkKICB7CiAgICBzdGF0aWMgJGFsaWFzZXM7CiAgICAKICAgIGlmKCEkYWxpYXNlcykKICAgIHsKICAgICAgJG1vZCAgICAgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NtYXJ0SW1hZ2UnKTsKICAgICAgJHRtcCAgICAgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhbGlhc2VzJyk7CiAgICAgICRhbGlhc2VzID0gJ0ZBTFNFJzsKICAgICAgCiAgICAgIGlmKCR0bXApIHsgJGFsaWFzZXMgPSB1bnNlcmlhbGl6ZSgkdG1wKTsgfQogICAgfQogICAgCiAgICBpZiggaXNfYXJyYXkoJGFsaWFzZXMpICkKICAgIHsKICAgICAgJGtleXMgPSBhcnJheV9rZXlzKCRhbGlhc2VzKTsKICAKICAgICAgZm9yZWFjaCgka2V5cyBhcyAkaVZhbHVlKQogICAgICB7CiAgICAgICAgJGtleSA9ICRpVmFsdWU7CiAgICAgICAgCiAgICAgICAgaWYoJGFsaWFzZXNbJGtleV1bJ25hbWUnXSA9PT0gJG5hbWUpCiAgICAgICAgewogICAgICAgICAgcmV0dXJuICRhbGlhc2VzWyRrZXldWydvcHRpb25zJ107CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICAKICAgIHJldHVybiBOVUxMOwogIH0KICAKICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfZXhwYW5kX3F1b3RlZF9zdHJpbmcoJHN0cikKICB7CiAgICAkcmVzdWx0ICAgID0gW107CiAgICAkY29sICAgICAgID0gJyc7CiAgICAkc2FmZSAgICAgID0gJyc7CiAgICAkcHJldl9jaGFyID0gJyc7CiAgICAKICAgIGZvcigkaSA9IDAsICRpTWF4ID0gc3RybGVuKCRzdHIpOyAkaSA8ICRpTWF4OyAkaSsrKQogICAgewogICAgICBzd2l0Y2goJHN0clskaV0pCiAgICAgIHsKICAgICAgICBjYXNlICcgJzoKICAgICAgICAgIGlmKCEkc2FmZSkKICAgICAgICAgIHsKICAgICAgICAgICAgaWYoIEZBTFNFICE9PSBzdHJwb3MoJGNvbCwgJz0nKSApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBbJGssICR2XSA9IGV4cGxvZGUoJz0nLCAkY29sLCAyKTsKICAgICAgICAgICAgICAkcmVzdWx0WyRrXSA9ICR2OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAkY29sID0gJyc7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlCiAgICAgICAgICB7CiAgICAgICAgICAgICRjb2wgLj0gJHN0clskaV07CiAgICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgICAgCiAgICAgICAgY2FzZSAiJyI6CiAgICAgICAgY2FzZSAnIic6CiAgICAgICAgICBpZignXFwnICE9PSAkcHJldl9jaGFyKQogICAgICAgICAgewogICAgICAgICAgICBpZigkc3RyWyRpXSA9PT0gJHNhZmUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAkc2FmZSA9IE5VTEw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgJHNhZmUgPSAkc3RyWyRpXTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICAgIAogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAkY29sIC49ICRzdHJbJGldOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIAogICAgICAkcHJldl9jaGFyID0gJHN0clskaV07CiAgICB9CiAgICAKICAgIGlmKCAoJycgIT09ICRjb2wpICYmIEZBTFNFICE9PSBzdHJwb3MoJGNvbCwgJz0nKSApCiAgICB7CiAgICAgIFskaywgJHZdID0gZXhwbG9kZSgnPScsICRjb2wsIDIpOwogICAgICAkcmVzdWx0WyRrXSA9ICR2OwogICAgfQogICAgCiAgICByZXR1cm4gJHJlc3VsdDsKICB9CiAgCiAgCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2lzX3N0eWxlc2hlZXQoKQogIHsKICAgICR0bXAgPSBkZWJ1Z19iYWNrdHJhY2UoKTsKICAgIAogICAgZm9yZWFjaCgkdG1wIGFzICRlbGVtKQogICAgewogICAgICBpZigKICAgICAgICBpc3NldCgkZWxlbVsnZnVuY3Rpb24nXSkKICAgICAgICAmJiAnc21hcnR5X2Ntc19mdW5jdGlvbl9jbXNfc3R5bGVzaGVldCcgPT09ICRlbGVtWydmdW5jdGlvbiddCiAgICAgICkgeyByZXR1cm4gVFJVRTsgfQogICAgfQogICAgCiAgICByZXR1cm4gRkFMU0U7CiAgfQogIAogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9taW5fbm90MCgvKiB2YXIgYXJncyAqLykKICB7CiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICR2YWwgID0gJGFyZ3NbMF07CiAgICAKICAgIGZvcigkaSA9IDEsICRpTWF4ID0gY291bnQoJGFyZ3MpOyAkaSA8ICRpTWF4OyAkaSsrKQogICAgewogICAgICBpZigkYXJnc1skaV0gPiAwKSB7ICR2YWwgPSBtaW4oJHZhbCwgJGFyZ3NbJGldKTsgfQogICAgfQogICAgCiAgICByZXR1cm4gJHZhbDsKICB9CiAgCiAgCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2FkanVzdF9zaXplc190b19hc3BlY3RfcmF0aW8oJGluX3csICRpbl9oLCAkbWF4X3NpemUpCiAgewogICAgLy8gY2FsY3VsYXRlIG5ldyBpbWFnZSBzaXplIGJhc2VkIG9uIG1heCBzaXplIChmb3IgcmVzcG9uc2l2ZSBzdHVmZikKICAgIC8vIGJ1dCBuZXZlciwgZXZlciBhbGxvdyB1cHNjYWxpbmcuCiAgICAkbmV3X3cgPSAkaW5fdzsKICAgICRuZXdfaCA9ICRpbl9oOwogICAgCiAgICBpZigkaW5fdyA+ICRpbl9oICYmICRtYXhfc2l6ZSA8ICRpbl93KQogICAgewogICAgICAkbmV3X3cgPSAkbWF4X3NpemU7CiAgICAgICRuZXdfaCA9IChpbnQpKCRuZXdfdyAqICRpbl9oIC8gJGluX3cpOwogICAgfQogICAgZWxzZSBpZigkbWF4X3NpemUgPCAkaW5faCkKICAgIHsKICAgICAgJG5ld19oID0gJG1heF9zaXplOwogICAgICAkbmV3X3cgPSAoaW50KSgkbmV3X2ggKiAkaW5fdyAvICRpbl9oKTsKICAgIH0KICAgIAogICAgcmV0dXJuIFskbmV3X3csICRuZXdfaF07CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY29sb3JfdG9fcmdiKCRzdHIpCiAgewogICAgJHN0ciA9IHRyaW0oJHN0cik7CiAgICAkcmVzID0gWzAsIDAsIDBdOwogICAgCiAgICBpZihzdGFydHN3aXRoKCRzdHIsICcjJykgJiYgNCA9PT0gc3RybGVuKCRzdHIpKQogICAgewogICAgICAkciAgICAgID0gJHN0clsxXTsKICAgICAgJHIgICAgICAuPSAkcjsKICAgICAgJGcgICAgICA9ICRzdHJbMl07CiAgICAgICRnICAgICAgLj0gJGc7CiAgICAgICRiICAgICAgPSAkc3RyWzNdOwogICAgICAkYiAgICAgIC49ICRiOwogICAgICAkcmVzWzBdID0gaGV4ZGVjKCRyKTsKICAgICAgJHJlc1sxXSA9IGhleGRlYygkZyk7CiAgICAgICRyZXNbMl0gPSBoZXhkZWMoJGIpOwogICAgICAKICAgICAgcmV0dXJuICRyZXM7CiAgICB9CiAgICAKICAgIGlmKHN0YXJ0c3dpdGgoJHN0ciwgJyMnKSAmJiA3ID09PSBzdHJsZW4oJHN0cikpCiAgICB7CiAgICAgICRyZXNbMF0gPSBoZXhkZWMoc3Vic3RyKCRzdHIsIDEsIDIpKTsKICAgICAgJHJlc1sxXSA9IGhleGRlYyhzdWJzdHIoJHN0ciwgMywgMikpOwogICAgICAkcmVzWzJdID0gaGV4ZGVjKHN1YnN0cigkc3RyLCA1LCAyKSk7CiAgICAgIAogICAgICByZXR1cm4gJHJlczsKICAgIH0KICAgIAogICAgJHRtcCA9IGV4cGxvZGUoJzonLCAkc3RyLCAzKTsKICAgIAogICAgaWYoIGlzX2FycmF5KCR0bXApICYmIDMgPT09IGNvdW50KCR0bXApICYmIGlzX251bWVyaWMoJHRtcFswXSkgJiYgaXNfbnVtZXJpYygkdG1wWzFdKSAmJiBpc19udW1lcmljKCR0bXBbMV0pICkKICAgIHsKICAgICAgJHJlc1swXSA9IChpbnQpJHRtcFswXTsKICAgICAgJHJlc1sxXSA9IChpbnQpJHRtcFsxXTsKICAgICAgJHJlc1syXSA9IChpbnQpJHRtcFsyXTsKICAgICAgCiAgICAgIHJldHVybiAkcmVzOwogICAgfQogICAgCiAgICAvLyBhc3N1bWUgaXQncyBhIGNvbG9yIG5hbWUuCiAgICBzdGF0aWMgJF9jb2xvcnM7CiAgICBpZiggIWlzX2FycmF5KCRfY29sb3JzKSApCiAgICB7CiAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9TTUFSVElNQUdFKTsKICAgICAgCiAgICAgICRmbiAgPSBcY21zX2pvaW5fcGF0aCgKICAgICAgICAkbW9kLT5HZXRNb2R1bGVQYXRoKCksCiAgICAgICAgJ2RhdGEnLAogICAgICAgICdjb2xvcnMuZGF0JwogICAgICApOwogICAgICAKICAgICAgJGRhdGEgPSBmaWxlKCRmbik7CiAgICAgIAogICAgICBpZiggY291bnQoJGRhdGEpICkKICAgICAgewogICAgICAgICRfY29sb3JzID0gW107CiAgICAgICAgZm9yZWFjaCgkZGF0YSBhcyAkaVZhbHVlKQogICAgICAgIHsKICAgICAgICAgIFskcmdiLCAkbmFtZV0gPSBleHBsb2RlKCctJywgJGlWYWx1ZSwgMik7CiAgICAgICAgICAKICAgICAgICAgIGlmKCAnJyA9PT0gJG5hbWUgfHwgIXN0YXJ0c3dpdGgoJHJnYiwgJyMnKSB8fCA3ICE9PSBzdHJsZW4oJHJnYikgKSB7IGNvbnRpbnVlOyB9CiAgICAgICAgICAKICAgICAgICAgICR0bXAgICAgPSBbXTsKICAgICAgICAgICR0bXBbMF0gPSBoZXhkZWMoc3Vic3RyKCRyZ2IsIDEsIDIpKTsKICAgICAgICAgICR0bXBbMV0gPSBoZXhkZWMoc3Vic3RyKCRyZ2IsIDMsIDIpKTsKICAgICAgICAgICR0bXBbMl0gPSBoZXhkZWMoc3Vic3RyKCRyZ2IsIDUsIDIpKTsKICAgICAgICAgIAogICAgICAgICAgJF9jb2xvcnNbc3RydG9sb3dlcih0cmltKCRuYW1lKSldID0gJHRtcDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIGlmKGlzX2FycmF5KCRfY29sb3JzKSAmJiBpc3NldCgkX2NvbG9yc1skc3RyXSkpCiAgICB7CiAgICAgICRyZXMgPSAkX2NvbG9yc1skc3RyXTsKICAgIH0KICAgIAogICAgcmV0dXJuICRyZXM7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJnByb2Nlc3NfaW1hZ2UoJHBhcmFtcykKICB7CiAgICAkbW9kICAgICAgICAgICAgICAgICAgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1NNQVJUSU1BR0UpOwogICAgJGNvbmZpZyAgICAgICAgICAgICAgID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkd2FudF90cmFuc2Zvcm0gICAgICAgPSAwOwogICAgJGRvX3RyYW5zZm9ybSAgICAgICAgID0gMDsKICAgICRoYXZlX3RyYW5zZm9ybSAgICAgICA9IDA7CiAgICAkZGVzdF9mbmFtZSAgICAgICAgICAgPSAnJzsKICAgICRkZXN0X3VybCAgICAgICAgICAgICA9ICcnOwogICAgJGltZyAgICAgICAgICAgICAgICAgID0gJyc7CiAgICAkc3JjZmlsZSAgICAgICAgICAgICAgPSAnJzsKICAgICRyZWwgICAgICAgICAgICAgICAgICA9IDA7CiAgCiAgICAvLyBvdXRwdXQgcGFyYW1zCiAgICAkb3V0cCAgICAgICAgICAgICAgICAgPSBbXTsKICAgICRvdXRwWydpZCddICAgICAgICAgICA9ICcnOwogICAgJG91dHBbJ25hbWUnXSAgICAgICAgID0gJyc7CiAgICAkb3V0cFsnY2xhc3MnXSAgICAgICAgPSAnJzsKICAgICRvdXRwWydzdHlsZSddICAgICAgICA9ICcnOwogICAgJG91dHBbJ3NyYyddICAgICAgICAgID0gJyc7CiAgICAkb3V0cFsnd2lkdGgnXSAgICAgICAgPSAnJzsKICAgICRvdXRwWydoZWlnaHQnXSAgICAgICA9ICcnOwogICAgJG91dHBbJ2Vycm9yJ10gICAgICAgID0gJyc7CiAgICAkb3V0cFsnb3V0cHV0J10gICAgICAgPSBOVUxMOwogICAgJG91dHBbJ2Rlc3RfZmlsZSddICAgID0gTlVMTDsKICAgIAogICAgLy8gb3BlcmF0aW9uIHBhcmFtcwogICAgJG9wcCAgICAgICAgICAgICAgICAgICA9IFtdOwogICAgJG9wcFsnb3ZlcndyaXRlJ10gICAgICA9IDA7CiAgICAkb3BwWydub2JjYWNoZSddICAgICAgID0gMDsKICAgICRvcHBbJ25vcmVtb3RlJ10gICAgICAgPSAwOwogICAgJG9wcFsnbm9lbWJlZCddICAgICAgICA9IDA7CiAgICAkb3BwWydub2F1dG8nXSAgICAgICAgID0gMDsKICAgICRvcHBbJ25vcHByYWRqdXN0J10gICAgPSAwOwogICAgJG9wcFsnbm9yb3RhdGUnXSAgICAgICA9IDA7CiAgICAkb3BwWydub3RpbWVjaGVjayddICAgID0gMDsKICAgICRvcHBbJ25vYXV0b3NjYWxlJ10gICAgPSAwOwogICAgJG9wcFsnbm90YWcnXSAgICAgICAgICA9IDA7CiAgICAkb3BwWydub3Jlc3BvbnNpdmUnXSAgID0gMDsKICAgICRvcHBbJ25vZHByYWRqdXN0J10gICAgPSAwOwogICAgJG9wcFsnbm9icmVha3BvaW50cyddICA9IDA7CiAgICAkb3BwWydtYXhfd2lkdGgnXSAgICAgID0gMDsKICAgICRvcHBbJ21heF9oZWlnaHQnXSAgICAgPSAwOwogICAgJG9wcFsnZF9tYXhfd2lkdGgnXSAgICA9IDA7ICAvLyBkZXZpY2UgY2FsY3VsYXRlZCBtYXggd2lkdGggKGluY2x1ZGluZyBicmVha3BvaW50cykKICAgICRvcHBbJ2RfbWF4X2hlaWdodCddICAgPSAwOyAgIC8vIGRldmljZSBjYWxjdWxhdGVkIG1heCB3aWR0aCAoaW5jbHVkaW5nIGJyZWFrcG9pbnRzKQogICAgJG9wcFsnc3JjJ10gICAgICAgICAgICA9ICcnOwogICAgJG9wcFsncXVhbGl0eSddICAgICAgICA9IDc1OwogICAgJG9wcFsnZmlsdGVycyddICAgICAgICA9IFtdOwogICAgJG9wcFsnZm9yY2VfdHlwZSddICAgICA9ICcnOwogICAgJG9wcFsnZm9yY2VfZXh0J10gICAgICA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2ZvcmNlX2V4dGVuc2lvbicsIDApOwogICAgJG9wcFsnZm9yY2Vfc2VvX25hbWUnXSA9ICcnOwogICAgJG9wcFsncHJvZ3Jlc3NpdmUnXSAgICA9IChpbnQpJG1vZC0+R2V0UHJlZmVyZW5jZSgncHJvZ3Jlc3NpdmUnLCAwKTsKICAgICRvcHBbJ2F1dG9zY2FsZV9vcCddICAgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvc2NhbGVfb3AnLCAnY3JvcHRvZml0Jyk7CiAgICAkeHQgICAgICAgICAgICAgICAgICAgID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDTVNNU0V4dCcpOwogICAgJHNyY2ltZ3NpemUgICAgICAgICAgICA9ICcnOyAvLyBzcmMgaW1hZ2Ugc2l6ZQogICAgJGxhc3RmaWx0ZXIgICAgICAgICAgICA9IE5VTEw7CiAgICAKICAgIHRyeQogICAgewogICAgICAkdG1wID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnYWxpYXNlcycpOwogICAgICAKICAgICAgaWYoJHRtcCkgeyAkYWxpYXNlcyA9IHVuc2VyaWFsaXplKCR0bXApOyB9CiAgICAgIAogICAgICAvLyBmaXJzdCBwYXNzLi4uIGV4cGFuZCBhbGlhc2VzIGFuZCBidWlsZCBzcmMKICAgICAgJG5ld19wYXJhbXMgPSBbXTsKICAgICAgCiAgICAgIGZvcmVhY2goJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSkKICAgICAgewogICAgICAgIGlmKHN0YXJ0c3dpdGgoJGtleSwgJ2FsaWFzJykpCiAgICAgICAgewogICAgICAgICAgLy8gZXhwYW5kIGFsaWFzCiAgICAgICAgICAkb3B0aW9ucyA9IHNlbGY6Ol9nZXRfYWxpYXNfb3B0aW9ucygkdmFsdWUpOwogICAgICAgICAgCiAgICAgICAgICBpZigkb3B0aW9ucykKICAgICAgICAgIHsKICAgICAgICAgICAgLy8gcGFyc2UgYSBzdHJpbmcgaW50byBhbiBhcnJheSBvZiBhcmd1bWVudHMuCiAgICAgICAgICAgICRkYXRhID0gc2VsZjo6X2V4cGFuZF9xdW90ZWRfc3RyaW5nKCRvcHRpb25zKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKGlzX2FycmF5KCRkYXRhKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgIGZvcmVhY2goJGRhdGEgYXMgJGtleTIgPT4gJHZhbHVlMikKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkbmV3X3BhcmFtc1ska2V5Ml0gPSAkdmFsdWUyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgZWxzZSBpZignc3JjJyAhPT0gJGtleSAmJiBzdGFydHN3aXRoKCRrZXksICdzcmMnKSApCiAgICAgICAgewogICAgICAgICAgLy8gaGFuZGxlIHNyYzEgdGhyb3VnaCBzcmM5OSBhcmd1bWVudHMuCiAgICAgICAgICBpZiggIWlzc2V0KCRuZXdfcGFyYW1zWydzcmMnXSkgKSB7ICRuZXdfcGFyYW1zWydzcmMnXSA9ICcnOyB9CiAgICAgICAgICAKICAgICAgICAgIC8vaWYoICFlbXB0eSgkbmV3X3BhcmFtc1snc3JjJ10pICYmICFlbmRzd2l0aCgkbmV3X3BhcmFtc1snc3JjJ10sICcvJykgKQogICAgICAgICAgaWYoIWVtcHR5KCRuZXdfcGFyYW1zWydzcmMnXSkgJiYgIWVuZHN3aXRoKCRuZXdfcGFyYW1zWydzcmMnXSwgRElSRUNUT1JZX1NFUEFSQVRPUikpCiAgICAgICAgICB7CiAgICAgICAgICAgICRuZXdfcGFyYW1zWydzcmMnXSAuPSBESVJFQ1RPUllfU0VQQVJBVE9SOwogICAgICAgICAgICAvLyRuZXdfcGFyYW1zWydzcmMnXSAuPSAnLyc7CiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgICRuZXdfcGFyYW1zWydzcmMnXSAuPSAkdmFsdWU7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gZXZlcnl0aGluZyBlbHNlIGp1c3QgZ2V0cyBhZGRlZC4KICAgICAgICAkbmV3X3BhcmFtc1ska2V5XSA9ICR2YWx1ZTsKICAgICAgfQogICAgICAKICAgICAgJHBhcmFtcyA9ICRuZXdfcGFyYW1zOwogICAgICAKICAgICAgLy8gc2Vjb25kIHBhc3MsIGJ1aWxkIG91ciBhcnJheXMKICAgICAgJHBhcnNlX3BhcmFtcyA9IGZ1bmN0aW9uKCRwYXJtcywgJGRlcHRoID0gMCkgdXNlICgmJHBhcnNlX3BhcmFtcywgJiRvcHAsICYkb3V0cCwgJiRtb2QpCiAgICAgIHsKICAgICAgICBmb3JlYWNoKCRwYXJtcyBhcyAka2V5ID0+ICR2YWx1ZSkKICAgICAgICB7CiAgICAgICAgICAkbWF0Y2hlcyA9IFtdOwogICAgICAgICAgCiAgICAgICAgICBpZiggcHJlZ19tYXRjaCgnL15maWx0ZXJfWzAtOV0uXy8nLCAka2V5LCAkbWF0Y2hlcykgKQogICAgICAgICAgewogICAgICAgICAgICAka2V5ICAgICAgID0gc3Vic3RyKCAka2V5LCBzdHJsZW4oJG1hdGNoZXNbMF0pICk7CiAgICAgICAgICAgICRmaWx0ZXIgICAgPSB1Y3dvcmRzKCBzdHJ0b2xvd2VyKCRrZXkpICk7CiAgICAgICAgICAgIAogICAgICAgICAgICAjIGluIGNhc2Ugb2YgTk9PUAogICAgICAgICAgICAkZmlsdGVyICAgID0gJGZpbHRlciA9PT0gJ05vb3AnID8gJ05PT1AnIDogJGZpbHRlcjsKICAgICAgICAgICAgCiAgICAgICAgICAgICRhcmdzICAgICAgPSBleHBsb2RlKCcsJywgJHZhbHVlKTsKICAgICAgICAgICAgJGNsYXNzbmFtZSA9ICdJbWFnZV8nIC4gJGZpbHRlciAuICdfRmlsdGVyJzsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKCAhY2xhc3NfZXhpc3RzKCRjbGFzc25hbWUpICkKICAgICAgICAgICAgewogICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJvcl91bmtub3duZmlsdGVyJywgJGZpbHRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gYWRkIGl0IHRvIHRoZSBvcHMuCiAgICAgICAgICAgICRvcHBbJ2ZpbHRlcnMnXVtdID0gWyRjbGFzc25hbWUsICRhcmdzXTsKICAgICAgICAgICAgLy8gZG9uZS4KICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIGlmKHN0YXJ0c3dpdGgoJGtleSwgJ2ZpbHRlcl8nKSkKICAgICAgICAgIHsKICAgICAgICAgICAgLy8gaGFuZGxlIGZpbHRlciBhcmd1bWVudC4KICAgICAgICAgICAgJGZpbHRlciAgICA9IHVjd29yZHMoc3Vic3RyKCRrZXksIHN0cmxlbignZmlsdGVyXycpKSk7CiAgICAgICAgICAgICRhcmdzICAgICAgPSBleHBsb2RlKCcsJywgJHZhbHVlKTsKICAgICAgICAgICAgJGNsYXNzbmFtZSA9ICdJbWFnZV8nIC4gJGZpbHRlciAuICdfRmlsdGVyJzsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKCFjbGFzc19leGlzdHMoJGNsYXNzbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycm9yX3Vua25vd25maWx0ZXInLCAkZmlsdGVyKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIGFkZCBpdCB0byB0aGUgb3BzLgogICAgICAgICAgICAkb3BwWydmaWx0ZXJzJ11bXSA9IFskY2xhc3NuYW1lLCAkYXJnc107CiAgICAgICAgICAgIC8vIGRvbmUuCiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICBzd2l0Y2goJGtleSkKICAgICAgICAgIHsKICAgICAgICAgICAgY2FzZSAnZGF0YSc6CiAgICAgICAgICAgICAgaWYoMCA9PT0gJGRlcHRoKSB7ICRwYXJzZV9wYXJhbXMoJHZhbHVlLCAkZGVwdGggKyAxKTsgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNhc2UgJ2NsYXNzJzoKICAgICAgICAgICAgY2FzZSAnaWQnOgogICAgICAgICAgICBjYXNlICdzdHlsZSc6CiAgICAgICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgICAgICBjYXNlICdhbHQnOgogICAgICAgICAgICBjYXNlICdyZWwnOgogICAgICAgICAgICBjYXNlICd0aXRsZSc6CiAgICAgICAgICAgICAgJG91dHBbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAnd2lkdGgnOgogICAgICAgICAgICBjYXNlICdoZWlnaHQnOgogICAgICAgICAgICAgICRvdXRwWyRrZXldID0gKGludCkkdmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAnbWF4X3dpZHRoJzoKICAgICAgICAgICAgY2FzZSAnbWF4X2hlaWdodCc6CiAgICAgICAgICAgICAgJG9wcFska2V5XSA9IChpbnQpJHZhbHVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNhc2UgJ3NyYyc6CiAgICAgICAgICAgIGNhc2UgJ2ZvcmNlX3R5cGUnOgogICAgICAgICAgICBjYXNlICdhdXRvc2NhbGVfb3AnOgogICAgICAgICAgICAgICRvcHBbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAncXVhbGl0eSc6CiAgICAgICAgICAgICAgJG9wcFsncXVhbGl0eSddID0gKGludCkkdmFsdWU7CiAgICAgICAgICAgICAgJG9wcFsncXVhbGl0eSddID0gbWluKCAxMDAsIG1heCgwLCAkb3BwWydxdWFsaXR5J10pICk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAnb3ZlcndyaXRlJzoKICAgICAgICAgICAgY2FzZSAnbm90YWcnOgogICAgICAgICAgICBjYXNlICdub3JlbW90ZSc6CiAgICAgICAgICAgIGNhc2UgJ25vcmVzcG9uc2l2ZSc6CiAgICAgICAgICAgIGNhc2UgJ25vZHByYWRqdXN0JzoKICAgICAgICAgICAgY2FzZSAnbm9icmVha3BvaW50cyc6CiAgICAgICAgICAgIGNhc2UgJ25vYmNhY2hlJzoKICAgICAgICAgICAgY2FzZSAnbm9lbWJlZCc6CiAgICAgICAgICAgIGNhc2UgJ25vYXV0byc6CiAgICAgICAgICAgIGNhc2UgJ25vcm90YXRlJzoKICAgICAgICAgICAgY2FzZSAnbm90aW1lY2hlY2snOgogICAgICAgICAgICBjYXNlICdmb3JjZV9leHQnOgogICAgICAgICAgICBjYXNlICdmb3JjZV9zZW9fbmFtZSc6CiAgICAgICAgICAgIGNhc2UgJ3Byb2dyZXNzaXZlJzoKICAgICAgICAgICAgICAkb3BwWyRrZXldID0geHRfdXRpbHM6OnRvX2Jvb2woJHZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9OwogICAgICAKICAgICAgJHBhcnNlX3BhcmFtcygkcGFyYW1zKTsKICAgICAgCiAgICAgIGlmKCEkb3BwWydzcmMnXSkKICAgICAgewogICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbiggJG1vZC0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJywgJ3NyYycpICk7CiAgICAgIH0KICAgICAgCiAgICAgIC8vCiAgICAgIC8vIGZpbmQgdGhlIHNvdXJjZSBpbWFnZSAuLi4gdGhlIGFjdHVhbCBmaWxlbmFtZQogICAgICAvLyB1c2Ugc29tZSBhdXRvIG1hZ2ljIGludGVsbGlnZW5jZSB0byBmaW5kIGl0LgogICAgICAvLwogICAgICAkcmVsYXRpdmVfdG8gPSBOVUxMOwogICAgICAvLyRzID0gc2VsZjo6bm9ybWFsaXplX3BhdGgoJG9wcFsnc3JjJ10pOwogICAgICAkcyA9IENNU01TRXh0XEZTXHV0aWxzOjpub3JtYWxpemVfcGF0aCgkb3BwWydzcmMnXSk7CiAgICAgICRzcmNfZGVjb2RlZCA9IHVybGRlY29kZSgkcyk7CiAgICAgIAogICAgICAjIG5vdGU6ICRzcmNmaWxlIElTIGVtcHR5IGF0IHRoaXMgcG9pbnQuLi4uLi4uCiAgICAgIAogICAgICBpZiggRkFMU0UgIT09ICgkcG9zID0gc3RycG9zKCRzcmNfZGVjb2RlZCwgJz8nKSApICkKICAgICAgewogICAgICAgICRzcmNfZGVjb2RlZCA9IHN1YnN0cigkc3JjX2RlY29kZWQsIDAsICRwb3MpOwogICAgICB9CiAgCiAgICAgICMgbm90ZTogJHNyY2ZpbGUgSVMgc3RpbGwgZW1wdHkgYXQgdGhpcyBwb2ludC4uLi4KICAgICAgCiAgICAgICMgZGV0ZXJtaW5lIGlmIGl0IGlzIHVwbG9hZHMKIAogICAgICAvL2lmKCEkc3JjZmlsZSAmJiBzdGFydHN3aXRoKCRzcmNfZGVjb2RlZCwgJGNvbmZpZ1sndXBsb2Fkc191cmwnXSkpCiAgICAgIAogICAgICBpZiggc3RhcnRzd2l0aCgkc3JjX2RlY29kZWQsICRjb25maWdbJ3VwbG9hZHNfdXJsJ10pICkKICAgICAgewogICAgICAgICR0bXAgPSBzdHJfcmVwbGFjZSgkY29uZmlnWyd1cGxvYWRzX3VybCddLCAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHNyY19kZWNvZGVkKTsKICAgICAgICAKICAgICAgICBpZiggaXNfZmlsZSgkdG1wKSApCiAgICAgICAgewogICAgICAgICAgJHJlbGF0aXZlX3RvID0gJ3VwbG9hZHMnOwogICAgICAgICAgJHNyY2ZpbGUgICAgID0gJHRtcDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgICMgZGV0ZXJtaW5lIGlmIGl0IGlzIHJvb3QKICAgICAgaWYoICEkc3JjZmlsZSAmJiBzdGFydHN3aXRoKCRzcmNfZGVjb2RlZCwgJGNvbmZpZ1sncm9vdF91cmwnXSkgKQogICAgICB7CiAgICAgICAgJHRtcCA9IHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfdXJsJ10sICRjb25maWdbJ3Jvb3RfcGF0aCddLCAkc3JjX2RlY29kZWQpOwogICAgICAgIAogICAgICAgIGlmKCBpc19maWxlKCR0bXApICkKICAgICAgICB7CiAgICAgICAgICAkcmVsYXRpdmVfdG8gPSAncm9vdCc7CiAgICAgICAgICAkc3JjZmlsZSAgICAgPSAkdG1wOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgaWYoCiAgICAgICAgICAhJHNyY2ZpbGUKICAgICAgICAgICYmIGlzc2V0KCRjb25maWdbJ3NzbF91cmwnXSkKICAgICAgICAgICYmIHN0YXJ0c3dpdGgoICRzcmNfZGVjb2RlZCwgJGNvbmZpZ1snc3NsX3VybCddKSApCiAgICAgIHsKICAgICAgICAkdG1wID0gc3RyX3JlcGxhY2UoJGNvbmZpZ1snc3NsX3VybCddLCAkY29uZmlnWydyb290X3BhdGgnXSwgJHNyY19kZWNvZGVkKTsKICAgICAgICBpZihpc19maWxlKCR0bXApKQogICAgICAgIHsKICAgICAgICAgICRyZWxhdGl2ZV90byA9ICdyb290JzsKICAgICAgICAgICRzcmNmaWxlICAgICA9ICR0bXA7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBpZigKICAgICAgICAhJHNyY2ZpbGUgJiYKICAgICAgICAoc3RhcnRzd2l0aCgkc3JjX2RlY29kZWQsICcvJykgfHwgc3RhcnRzd2l0aCgkc3JjX2RlY29kZWQsICdcXCcpKQogICAgICApCiAgICAgIHsKICAgICAgICAvLyBpcyBpdCByZWxhdGl2ZT8KICAgICAgICAkc291cmNlID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkc3JjX2RlY29kZWQpOwogICAgICAgICR0bXAgPSAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsKICAgICAgICAkdGVzdF9zb3VyY2UgPSByZWFscGF0aCggJGNvbmZpZ1sncm9vdF9wYXRoJ10gLiAnLycgLiBzdHJfcmVwbGFjZSgkdG1wLCAnJywgJHNvdXJjZSkgKTsKICAgICAgICAKICAgICAgICBpZiggaXNfZmlsZSgkdGVzdF9zb3VyY2UpICkKICAgICAgICB7CiAgICAgICAgICAkcmVsYXRpdmVfdG8gPSAncm9vdCc7CiAgICAgICAgICAkc3JjZmlsZSAgICAgPSAkdGVzdF9zb3VyY2U7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAvLyB0cmVhdCBhcyBhYnNvbHV0ZSBmaWxlbmFtZQogICAgICAgICAgJHJwMSA9IHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddKTsKICAgICAgICAgICRycDIgPSByZWFscGF0aCgkc3JjX2RlY29kZWQpOwogIAogICAgICAgICAgaWYoc3RhcnRzd2l0aCgkcnAyLCAkcnAxKSAmJiBpc19maWxlKCRzcmNfZGVjb2RlZCkpCiAgICAgICAgICB7CiAgICAgICAgICAgICRyZWxhdGl2ZV90byA9ICdyb290JzsKICAgICAgICAgICAgJHNyY2ZpbGUgICAgID0gJHNyY19kZWNvZGVkOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgfQogICAgICAKICAgICAgaWYoISRzcmNmaWxlKQogICAgICB7CiAgICAgICAgLy8gY2hlY2sgcmVsYXRpdmUgcGF0aCB3cnQgdGhlIHVwbG9hZHMgZGlyLgogICAgICAgICR0bXAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCAkc3JjX2RlY29kZWQpOwogICAgICAgICRycDEgPSByZWFscGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSk7CiAgICAgICAgJHJwMiA9IHJlYWxwYXRoKCR0bXApOwogICAgICAgIAogICAgICAgIGlmKHN0YXJ0c3dpdGgoJHJwMiwgJHJwMSkgJiYgaXNfZmlsZSgkdG1wKSkKICAgICAgICB7CiAgICAgICAgICAkcmVsYXRpdmVfdG8gPSAndXBsb2Fkcyc7CiAgICAgICAgICAkc3JjZmlsZSAgICAgPSAkdG1wOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgaWYoISRzcmNmaWxlKQogICAgICB7CiAgICAgICAgLy8gY2hlY2sgcmVsYXRpdmUgcGF0aCB3cnQgdGhlIHJvb3QgZGlyLgogICAgICAgICR0bXAgPSBjbXNfam9pbl9wYXRoKCBydHJpbSgkY29uZmlnWydyb290X3BhdGgnXSwgRElSRUNUT1JZX1NFUEFSQVRPUiksICRzcmNfZGVjb2RlZCk7CiAgICAgICAgJHJwMSA9IHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddKTsKICAgICAgICAkcnAyID0gcmVhbHBhdGgoJHRtcCk7CiAgICAgICAgCiAgICAgICAgaWYoc3RhcnRzd2l0aCgkcnAyLCAkcnAxKSAmJiBpc19maWxlKCR0bXApKQogICAgICAgIHsKICAgICAgICAgICRyZWxhdGl2ZV90byA9ICdyb290JzsKICAgICAgICAgICRzcmNmaWxlICAgICA9ICR0bXA7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBpZigKICAgICAgICAhJHNyY2ZpbGUgJiYgMCA9PT0gJG9wcFsnbm9yZW1vdGUnXSAmJgogICAgICAgICggc3RhcnRzd2l0aCgkb3BwWydzcmMnXSwgJ2h0dHA6JykgfHwgc3RhcnRzd2l0aCgkb3BwWydzcmMnXSwgJ2h0dHBzOicpIHx8IHN0YXJ0c3dpdGgoJG9wcFsnc3JjJ10sICdmdHA6JykgKQogICAgICApCiAgICAgIHsKICAgICAgICAvLyBhc3N1bWUgdGhhdCB0aGlzIGlzIGEgcmVtb3RlIGZpbGUKICAgICAgICAvLyBnZXQgaXQsIGFuZCBjYWNoZSBpdC4KICAgICAgICAkc3JjICAgICAgID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRvcHBbJ3NyYyddKTsKICAgICAgICAkY2FjaGVmaWxlID0gVE1QX0NBQ0hFX0xPQ0FUSU9OIC4gJy9zaV8nIC4gbWQ1KCRvcHBbJ3NyYyddKSAuICcuaW1nJzsKICAgICAgICAKICAgICAgICBpZiggIWlzX2ZpbGUoJGNhY2hlZmlsZSkgKQogICAgICAgIHsKICAgICAgICAgICRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRzcmMpOwogICAgICAgICAgCiAgICAgICAgICBpZigkZGF0YSkKICAgICAgICAgIHsKICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGNhY2hlZmlsZSwgJGRhdGEpOwogICAgICAgICAgICAkc3JjZmlsZSA9ICRjYWNoZWZpbGU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAkc3JjZmlsZSA9ICRjYWNoZWZpbGU7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBpZighJHNyY2ZpbGUpCiAgICAgIHsKICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCAkbW9kLT5MYW5nKCdlcnJvcl9zcmNub3Rmb3VuZCcsICRvcHBbJ3NyYyddKSApOwogICAgICAgIAogICAgICAgIC8vcmV0dXJuICRvdXRwOwogICAgICB9CiAgICAgIAogICAgICAvLyBnZXQgdGhlIHNvdXJjZSBpbWFnZSBzaXplCiAgICAgICRzcmNpbmZvID0gZ2V0aW1hZ2VzaXplKCRzcmNmaWxlKTsKICAgICAgCiAgICAgIGlmKCFpc19hcnJheSgkc3JjaW5mbykgfHwgY291bnQoJHNyY2luZm8pIDwgMikKICAgICAgewogICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJG1vZC0+TGFuZygnZXJyb3Jfc3Jjbm90Zm91bmQnLCAkb3BwWydzcmMnXSkpOwogICAgICB9CiAgCiAgICAgICRzcmNpbWdzaXplICAgID0gWyd3aWR0aCcgPT4gJHNyY2luZm9bMF0sICdoZWlnaHQnID0+ICRzcmNpbmZvWzFdXTsKICAKICAgICAgJG1lbW9yeV9uZWVkZWQgPSByb3VuZCgKICAgICAgICAkc3JjaW5mb1swXSAqICRzcmNpbmZvWzFdCiAgICAgICAgKiAoaXNzZXQoJHNyY2luZm9bJ2JpdHMnXSkgPyAkc3JjaW5mb1snYml0cyddIDogOCkKICAgICAgICAqIChpc3NldCgkc3JjaW5mb1snY2hhbm5lbHMnXSkgPyAkc3JjaW5mb1snY2hhbm5lbHMnXSA6IDMpIC8gOCArIDY1NTM1CiAgICAgICk7CiAgCiAgICAgIGlmKCRtb2QtPkdldFByZWZlcmVuY2UoJ2NoZWNrbWVtb3J5JywgMSkgJiYgIXh0X3V0aWxzOjpoYXZlX2Vub3VnaF9tZW1vcnkoJG1lbW9yeV9uZWVkZWQpKQogICAgICB7CiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigKICAgICAgICAgICRtb2QtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudG1lbW9yeScpIC4gJzogJyAuIChpbnQpKCRtZW1vcnlfbmVlZGVkIC8gMTAyNCkgLiAnaycKICAgICAgICApOwogICAgICB9CiAgCiAgICAgIC8vIGFyZSB3ZSBhdXRvbWFnaWNhbGx5IHJvdGF0aW5nPwogICAgICBpZighJG9wcFsnbm9yb3RhdGUnXSAmJiBmdW5jdGlvbl9leGlzdHMoJ2V4aWZfcmVhZF9kYXRhJykpCiAgICAgIHsKICAgICAgICAvLyBpZiB0aGVyZSBpcyBhbHJlYWR5IGEgcm90YXRlIGZpbHRlciBpbiB0aGUgbGlzdCwgd2Ugd29uJ3Qgb3ZlcnJpZGUgdGhhdC4KICAgICAgICAkZm4gPSAwOwogICAgICAgIGZvcigkZiA9IDAsICRmTWF4ID0gY291bnQoJG9wcFsnZmlsdGVycyddKTsgJGYgPCAkZk1heDsgJGYrKykKICAgICAgICB7CiAgICAgICAgICBpZignSW1hZ2VfUm90YXRlX0ZpbHRlcicgPT09ICRvcHBbJ2ZpbHRlcnMnXVskZl1bMF0pCiAgICAgICAgICB7CiAgICAgICAgICAgICRmbiA9IDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZigwID09PSAkZm4pCiAgICAgICAgewogICAgICAgICAgLy8gd2UgY2FuIHRyeSB0byByZWFkIHRoZSBleGlmIGluZm9ybWF0aW9uIHRvIGZpbmQgYW4gb3JpZW50YXRpb24uCiAgICAgICAgICAkZXhpZiA9IEBleGlmX3JlYWRfZGF0YSgkc3JjZmlsZSwgMCwgVFJVRSk7CiAgICAgICAgICBpZigKICAgICAgICAgICAgaXNfYXJyYXkoJGV4aWYpICYmIGlzc2V0KCRleGlmWydJRkQwJ10pICYmIGlzc2V0KCRleGlmWydJRkQwJ11bJ09yaWVudGF0aW9uJ10pICYmCiAgICAgICAgICAgIGlzX2ludCgkZXhpZlsnSUZEMCddWydPcmllbnRhdGlvbiddKQogICAgICAgICAgKQogICAgICAgICAgewogICAgICAgICAgICAKICAgICAgICAgICAgLy8gZm91bmQgYW4gb3JpZW50YXRpb24sIG5vdyB3ZSBnb3R0YSBmaWd1cmUgb3V0IHdoYXQgZmlsdGVycyB0byBhZGQuCiAgICAgICAgICAgICRvcmllbnRhdGlvbiA9IChpbnQpJGV4aWZbJ0lGRDAnXVsnT3JpZW50YXRpb24nXTsKICAgICAgICAgICAgJG5ld19maWx0ZXJzID0gW107CiAgICAgICAgICAgIHN3aXRjaCgkb3JpZW50YXRpb24pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAvLyBub3RoaW5nLgogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgIC8vIGhvcml6b250YWwgZmxpcC4KICAgICAgICAgICAgICAgICRuZXdfZmlsdGVyc1tdID0gWydJbWFnZV9GbGlwX0ZpbHRlcicsIDBdOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgIC8vIHJvdGF0ZSAxODAKICAgICAgICAgICAgICAgICRuZXdfZmlsdGVyc1tdID0gWydJbWFnZV9Sb3RhdGVfRmlsdGVyJywgWzE4MF1dOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgICRuZXdfZmlsdGVyc1tdID0gWydJbWFnZV9GbGlwX0ZpbHRlcicsIDFdOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICAgICRuZXdfZmlsdGVyc1tdID0gWydJbWFnZV9GbGlwX0ZpbHRlcicsIDFdOwogICAgICAgICAgICAgICAgJG5ld19maWx0ZXJzW10gPSBbJ0ltYWdlX1JvdGF0ZV9GaWx0ZXInLCBbOTBdXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDY6CiAgICAgICAgICAgICAgICAkbmV3X2ZpbHRlcnNbXSA9IFsnSW1hZ2VfUm90YXRlX0ZpbHRlcicsIFs5MF1dOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICAgICRuZXdfZmlsdGVyc1tdID0gWydJbWFnZV9GbGlwX0ZpbHRlcicsIDBdOwogICAgICAgICAgICAgICAgJG5ld19maWx0ZXJzW10gPSBbJ0ltYWdlX1JvdGF0ZV9GaWx0ZXInLCBbOTBdXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDg6CiAgICAgICAgICAgICAgICAkbmV3X2ZpbHRlcnNbXSA9IFsnSW1hZ2VfUm90YXRlX0ZpbHRlcicsIFstOTBdXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgJG9wcFsnZmlsdGVycyddID0gYXJyYXlfbWVyZ2UoJG5ld19maWx0ZXJzLCAkb3BwWydmaWx0ZXJzJ10pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgLy8gZG9pbmcgcmVzcG9uc2l2ZSBpbWFnZXMuLi4gZ2V0IGRldmljZSB3aWR0aCBhbmQgaGVpZ2h0LgogICAgICAvLyBzZXQgaXQgaW50byBtYXhfd2lkdGggYW5kIG1heF9oZWlnaHQKICAgICAgJGRldmljZV9jYXBzID0gTlVMTDsKICAgICAgaWYoISRvcHBbJ25vcmVzcG9uc2l2ZSddKQogICAgICB7CiAgICAgICAgJGRldmljZV9jYXBzID0gc2VsZjo6Z2V0X2RldmljZV9jYXBhYmlsaXRpZXMoKTsKICAgICAgICAKICAgICAgICBpZighJGRldmljZV9jYXBzICYmICRtb2QtPkdldFByZWZlcmVuY2UoJ2Fzc3VtZV9yZXNwb25zaXZlJykpCiAgICAgICAgewogICAgICAgICAgLy8gaWYgYXNzdW1lIHJlc3BvbnNpdmUgaXMgZW5hYmxlZC4gIHdlIGFyZSBhc3N1bWluZyB0aGF0IGEgY29va2llIHdpbGwgYmUgcHJlc2VudCBwcm92aWRpbmcgZGV2aWNlIGNhcGFiaWxpdGllcy4uLgogICAgICAgICAgLy8gaWYgd2UgY291bGQgbm90IGZpbmQgdGhlIGNvb2tpZSB0aGVuIG91dHB1dCBub3RoaW5nIHNvIHRoYXQgd2UgZG8gbm90IGRvIHJlZHVuZGFudCBpbWFnZSBwcm9jZXNzaW5nLgogICAgICAgICAgLy8gdGhlIG5leHQgcmVxdWVzdCB3aWxsIGhhdmUgdGhlIGRldmljZSBjYXBhYmlsaXRpZXMgKHRoZSBqYXZhc2NyaXB0IHRoYXQgZ2VuZXJhdGVzIHRoZSBjb29raWUgZm9yY2VzIGEgcmVsb2FkIGlmIGl0IGhhcyB0byBzZXQgdGhlIGNvb2tpZSkKICAgICAgICAgICRvdXRwWydvdXRwdXQnXSA9ICc8IS0tIFNtYXJ0SW1hZ2UgcHJvY2Vzc2luZyBzdG9wcGVkIGJlY2F1c2Ugb2YgYXNzdW1lX3Jlc3BvbnNpdmUgcHJlZmVyZW5jZSBhbmQgbm8gZGV2aWNlIGNhcGFiaWxpdGllcyBmb3VuZCAtLT4nOwogICAgICAgICAgLy8gdGhpcyBpcyB3YXkgYmV0dGVyIHRoYW4gYSBnb3RvLgogICAgICAgICAgdGhyb3cgbmV3IFxTSVN0b3BIZXJlRXhjZXB0aW9uKCdmb3JjZV9yZXNwb25zaXZlIGVuYWJsZWQnKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYoaXNfYXJyYXkoJGRldmljZV9jYXBzKSAmJiBpc3NldCgkZGV2aWNlX2NhcHNbJ3dpZHRoJ10pICYmIGlzc2V0KCRkZXZpY2VfY2Fwc1snaGVpZ2h0J10pKQogICAgICAgIHsKICAgICAgICAgIC8vIHdlIGZvdW5kIGRldmljZSBjYXBhYmlsaXRpZXMuCiAgICAgICAgICAkZHByID0gbWF4KDEsIFx4dF9wYXJhbTo6Z2V0X2ludCgkZGV2aWNlX2NhcHMsICdkcHInLCAxKSk7CiAgICAgICAgICAKICAgICAgICAgIC8vIHdlIGhhdmUgdG8gZG8gYXV0by1zY2FsaW5nIG5vdywgcmVzcG9uc2l2ZSBzdHVmZiB0cnVtcHMgdGhlIHNldHRpbmcuCiAgICAgICAgICAkb3BwWydub2F1dG9zY2FsZSddID0gMDsKICAgICAgICAgIAogICAgICAgICAgLy8gbWVyZ2UgdGhhdCBkYXRhIHdpdGggYW55IG1heF93aWR0aCBhbmQgbWF4X2hlaWdodCB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHN1cHBsaWVkLgogICAgICAgICAgJG9wcFsnZF9tYXhfd2lkdGgnXSAgPSAoaW50KSRkZXZpY2VfY2Fwc1snd2lkdGgnXTsKICAgICAgICAgICRvcHBbJ2RfbWF4X2hlaWdodCddID0gKGludCkkZGV2aWNlX2NhcHNbJ2hlaWdodCddOwogICAgICAgICAgCiAgICAgICAgICAvLyBleHBlcmltZW50YWwuLi4gY2hlY2sgZm9yIGJyZWFrcG9pbnRzCiAgICAgICAgICAvLyBhbmQgaWYgYSBicmVha3BvaW50IGNhbiBiZSBmb3VuZCwgZnVydGhlciBhZGp1c3QgdGhlIG1heF93aWR0aCBhbmQgbWF4X2hlaWdodCBwYXJhbXMKICAgICAgICAgIGlmKCgkdG1wID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZV9icmVha3BvaW50cycpKSAmJiAhJG9wcFsnbm9icmVha3BvaW50cyddKQogICAgICAgICAgewogICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgnLCcsICR0bXApOwogICAgICAgICAgICAkYnAgID0gW107CiAgICAgICAgICAgIGZvcigkaSA9IDAsICRpTWF4ID0gY291bnQoJHRtcCk7ICRpIDwgJGlNYXg7ICRpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAkdDEgPSAoaW50KXRyaW0oJHRtcFskaV0pOwogICAgICAgICAgICAgIGlmKCR0MSA+IDApCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGJwW10gPSAkdDE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBpZihjb3VudCgkYnApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgLy8gd2UgaGF2ZSB2YWxpZCBicmVha3BvaW50cy4KICAgICAgICAgICAgICAvLyBmaW5kIHRoZSBtb3N0IHN1aXRhYmxlIG9uZSBnaXZlbiBvdXIgbWF4IHJlc29sdXRpb24uCiAgICAgICAgICAgICAgYXNvcnQoJGJwKTsKICAgICAgICAgICAgICAkbHZhbCA9IG1heCgkb3BwWydkX21heF93aWR0aCddLCAkb3BwWydkX21heF9oZWlnaHQnXSk7CiAgICAgICAgICAgICAgZm9yKCRpID0gY291bnQoJGJwKSAtIDE7ICRpID4gMDsgJGktLSkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZigkYnBbJGldID4gJGx2YWwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIAogICAgICAgICAgICAgIFskbWF4X3csICRtYXhfaF0gPSBzZWxmOjpfYWRqdXN0X3NpemVzX3RvX2FzcGVjdF9yYXRpbygKICAgICAgICAgICAgICAgICRzcmNpbWdzaXplWyd3aWR0aCddLCAkc3JjaW1nc2l6ZVsnaGVpZ2h0J10sICRicFskaV0KICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICRvcHBbJ2RfbWF4X3dpZHRoJ10gID0gKGludCkkbWF4X3c7CiAgICAgICAgICAgICAgJG9wcFsnZF9tYXhfaGVpZ2h0J10gPSAoaW50KSRtYXhfaDsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgaWYoISRvcHBbJ25vYXV0b3NjYWxlJ10pCiAgICAgIHsKICAgICAgICAkZGVzdGltZ3NpemVbJ3dpZHRoJ10gID0gc2VsZjo6X21pbl9ub3QwKAogICAgICAgICAgJHNyY2ltZ3NpemVbJ3dpZHRoJ10sICRvcHBbJ21heF93aWR0aCddLCAkb3BwWydkX21heF93aWR0aCddLCAkb3V0cFsnd2lkdGgnXQogICAgICAgICk7CiAgICAgICAgJGRlc3RpbWdzaXplWydoZWlnaHQnXSA9IHNlbGY6Ol9taW5fbm90MCgKICAgICAgICAgICRzcmNpbWdzaXplWydoZWlnaHQnXSwgJG9wcFsnbWF4X2hlaWdodCddLCAkb3BwWydkX21heF9oZWlnaHQnXSwgJG91dHBbJ2hlaWdodCddCiAgICAgICAgKTsKICAgICAgICAKICAgICAgICAkZG9taW5hbnQgPSBOVUxMOwogICAgICAgIAogICAgICAgIGlmKCRvcHBbJ21heF93aWR0aCddIHx8ICRvdXRwWyd3aWR0aCddKQogICAgICAgIHsKICAgICAgICAgICRkb21pbmFudCA9ICgkZG9taW5hbnQpID8gJ2InIDogJ3gnOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZigkb3BwWydtYXhfaGVpZ2h0J10gfHwgJG91dHBbJ2hlaWdodCddKQogICAgICAgIHsKICAgICAgICAgICRkb21pbmFudCA9ICgkZG9taW5hbnQpID8gJ2InIDogJ3knOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZignYicgPT09ICRkb21pbmFudCkKICAgICAgICB7CiAgICAgICAgICAkZG9taW5hbnQgPSAoJGRlc3RpbWdzaXplWyd3aWR0aCddIDwgJGRlc3RpbWdzaXplWydoZWlnaHQnXSkgPyAneCcgOiAneSc7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRhc3BlY3RfcmF0aW8gPSAkc3JjaW1nc2l6ZVsnd2lkdGgnXSAvICRzcmNpbWdzaXplWydoZWlnaHQnXTsKICAgICAgICAKICAgICAgICBzd2l0Y2goJGRvbWluYW50KQogICAgICAgIHsKICAgICAgICAgIGNhc2UgJ3gnOiAvKiB4IGlzIGRvbWluYW50ICovCiAgICAgICAgICAgIC8vIGFkanVzdCB0byB4IGRpbWVuc2lvbiwgcmV0YWluIGFzcGVjdCByYXRpbwogICAgICAgICAgICAkZGVzdGltZ3NpemVbJ2hlaWdodCddID0gKGludCkoJGRlc3RpbWdzaXplWyd3aWR0aCddIC8gJGFzcGVjdF9yYXRpbyk7CiAgICAgICAgICBicmVhazsKICAgICAgICAgIAogICAgICAgICAgY2FzZSAneSc6IC8qIHkgaXMgZG9taW5hbnQgKi8KICAgICAgICAgICAgLy8gYWRqdXN0IHRvIHkgZGltZW5zaW9uLCByZXRhaW4gYXNwZWN0IHJhdGlvCiAgICAgICAgICAgICRkZXN0aW1nc2l6ZVsnd2lkdGgnXSA9IChpbnQpKCRkZXN0aW1nc2l6ZVsnaGVpZ2h0J10gKiAkYXNwZWN0X3JhdGlvKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZigkZGV2aWNlX2NhcHMgJiYgISRvcHBbJ25vZHByYWRqdXN0J10gJiYgaXNzZXQoJGRldmljZV9jYXBzWydkcHInXSkgJiYgJGRldmljZV9jYXBzWydkcHInXSA+IDEpCiAgICAgICAgewogICAgICAgICAgLy8gdGhpcyB3aWxsIGFkanVzdCB0aGUgZGVzdGluYXRpb24gd2lkdGggYW5kIGhlaWdodCBiYXNlZCBvbiBkcHIKICAgICAgICAgICR0bXAgICAgICAgICAgID0gJGRlc3RpbWdzaXplOwogICAgICAgICAgJHRtcFsnd2lkdGgnXSAgKj0gJGRwcjsKICAgICAgICAgICR0bXBbJ2hlaWdodCddICo9ICRkcHI7CiAgICAgICAgICBpZigkdG1wWyd3aWR0aCddIDw9ICRzcmNpbWdzaXplWyd3aWR0aCddICYmICR0bXBbJ2hlaWdodCddIDw9ICRzcmNpbWdzaXplWydoZWlnaHQnXSkKICAgICAgICAgIHsKICAgICAgICAgICAgLy8gcmV0YWluIHRoZSBvcmlnaW5hbCBzaXplIG9mIHRoZSBpbWFnZSBpbiB0aGUgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIG9mIHRoZSBpbWcgdGFnCiAgICAgICAgICAgIC8vIGJ1dCBmb3IgaGlnaGVyIGRwciBkZXZpY2VzIGdlbmVyYXRlIGEgYmlnZ2VyIGltYWdlLgogICAgICAgICAgICAkb3V0cFsnd2lkdGgnXSAgICAgID0gJGRlc3RpbWdzaXplWyd3aWR0aCddOwogICAgICAgICAgICAkb3V0cFsnaGVpZ2h0J10gICAgID0gJGRlc3RpbWdzaXplWydoZWlnaHQnXTsKICAgICAgICAgICAgJG9wcFsnbm9hdXRvc2NhbGUnXSA9IDE7CiAgICAgICAgICAgICRkZXN0aW1nc2l6ZSAgICAgICAgPSAkdG1wOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBtYWtlIHN1cmUgd2UncmUgYWN0dWFsbHkgZG9pbmcgc29tZXRoaW5nCiAgICAgICAgaWYoJGRlc3RpbWdzaXplICE9PSAkc3JjaW1nc2l6ZSkKICAgICAgICB7CiAgICAgICAgICBzd2l0Y2goIHN0cnRvbG93ZXIoJG9wcFsnYXV0b3NjYWxlX29wJ10pICkKICAgICAgICAgIHsKICAgICAgICAgICAgY2FzZSAncmVzaXplJzoKICAgICAgICAgICAgICAkZmlsdGVyICAgICAgICAgID0gJ0ltYWdlX1Jlc2l6ZV9GaWx0ZXInOwogICAgICAgICAgICAgICR0bXAgICAgICAgICAgICAgPSAkZGVzdGltZ3NpemU7CiAgICAgICAgICAgICAgJHRtcFsncmVzYW1wbGUnXSA9IDE7CiAgICAgICAgICAgICAgJGxhc3RmaWx0ZXIgICAgICA9IFskZmlsdGVyLCAkdG1wXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICdjcm9wdG9maXQnOgogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICRmaWx0ZXIgICAgICAgICA9ICdJbWFnZV9Dcm9wdG9maXRfRmlsdGVyJzsKICAgICAgICAgICAgICAkdG1wICAgICAgICAgICAgPSAkZGVzdGltZ3NpemU7CiAgICAgICAgICAgICAgJHRtcFsnbG9jJ10gICAgID0gJ2MnOwogICAgICAgICAgICAgICR0bXBbJ3Vwc2NhbGUnXSA9IDA7CiAgICAgICAgICAgICAgJGxhc3RmaWx0ZXIgICAgID0gWyRmaWx0ZXIsICR0bXBdOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgaWYoISRvcHBbJ25vYXV0byddKQogICAgICAgICAgewogICAgICAgICAgICAvLyB3ZSBhcmUgYWxsb3dpbmcgYXV0byB0YWdzLi4uIHNvIHdlIGFkanVzdCB0aGUgb3V0cCBzdHVmZiB0byBvdXIgZmluaXNoZWQgcmVzb2x1dGlvbgogICAgICAgICAgICAkb3V0cFsnd2lkdGgnXSAgPSAkZGVzdGltZ3NpemVbJ3dpZHRoJ107CiAgICAgICAgICAgICRvdXRwWydoZWlnaHQnXSA9ICRkZXN0aW1nc2l6ZVsnaGVpZ2h0J107CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAvLwogICAgICAvLyBjaGVjayBpZiB3ZSBhcmUgYWN0dWFsbHkgZG9pbmcgYW55dGhpbmcKICAgICAgLy8KICAgICAgCiAgICAgIC8vIGlmIHdlIGFyZSBmb3JjaW5nIGEgdHlwZSBhbmQgdGhhdCB0eXBlIGlzIG5vdCB0aGUgc2FtZSBhcyBvdXIgY3VycmVudCB0eXBlLgogICAgICBpZigkb3BwWydmb3JjZV90eXBlJ10pCiAgICAgIHsKICAgICAgICAkdG1wX2EgPSBzZWxmOjpwYXJzZV90eXBlKCRvcHBbJ2ZvcmNlX3R5cGUnXSk7CiAgICAgICAgCiAgICAgICAgaWYoJHRtcF9hICE9PSAkc3JjaW5mb1snbWltZSddKQogICAgICAgIHsKICAgICAgICAgICR3YW50X3RyYW5zZm9ybSA9IDE7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAvLyBpZiB3ZSBnb3QgdGhlIGltYWdlIGZyb20gYSByZW1vdGUgbG9jYXRpb24sIGJ1dCB0aGVyZSBhcmUgbm8gb3RoZXIgZmlsdGVycywgd2Ugd2lsbCBkbyBhIHNpbXBsZSB0cmFuc2Zvcm0KICAgICAgaWYoISRyZWxhdGl2ZV90bykKICAgICAgewogICAgICAgICR3YW50X3RyYW5zZm9ybSA9IDE7CiAgICAgICAgaWYoICFjb3VudCgkb3BwWydmaWx0ZXJzJ10pICkKICAgICAgICB7CiAgICAgICAgICAkZmlsdGVyICAgICAgICAgICA9ICdJbWFnZV9OT09QX0ZpbHRlcic7CiAgICAgICAgICAkb3BwWydmaWx0ZXJzJ11bXSA9IFskZmlsdGVyLCBbXV07CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAvLyBpZiB3ZSBoYXZlIGEgbGFzdCBmaWx0ZXIuLi4gYWRkIGl0LgogICAgICBpZigkbGFzdGZpbHRlcikKICAgICAgewogICAgICAgICRvcHBbJ2ZpbHRlcnMnXVtdID0gJGxhc3RmaWx0ZXI7CiAgICAgIH0KICAgICAgCiAgICAgIC8vIGlmIHRoZXJlIGFyZSBhbnkgZmlsdGVycy4uLiB0aGVuIHdlIGhhdmUgdG8gdHJhbnNmb3JtIHRoaXMgaW1hZ2UKICAgICAgaWYoIGNvdW50KCBhcnJheV9rZXlzKCRvcHBbJ2ZpbHRlcnMnXSkgKSApCiAgICAgIHsKICAgICAgICAkd2FudF90cmFuc2Zvcm0gPSAxOwogICAgICB9CiAgICAgIAogICAgICAvLwogICAgICAvLyBlbmQgb2Ygc21hcnRuZXNzIHN0dWZmLi4uIG5vdyBiZWdpbiB0aGUgd29yawogICAgICAvLwogICAgICBpZigkd2FudF90cmFuc2Zvcm0pCiAgICAgIHsKICAgICAgICAvLyBjYWxjdWxhdGUgb3VyIGRlc3RpbmF0aW9uIG5hbWUgYW5kIHVybC4KICAgICAgICAkdG1wID0gYmFzZW5hbWUoJHNyY2ZpbGUpOwogICAgICAgIAogICAgICAgIGlmKCFpc3NldCgkb3V0cFsnYWx0J10pKQogICAgICAgIHsKICAgICAgICAgICRvdXRwWydhbHQnXSA9ICR0bXA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRleHQgPSBzdHJyY2hyKCR0bXAsICcuJyk7CiAgICAgICAgCgogICAgICAgIGlmKCRvcHBbJ2ZvcmNlX3Nlb19uYW1lJ10pCiAgICAgICAgewogICAgICAgICAgJHQyID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCggYmFzZW5hbWUoJHNyY2ZpbGUsICRleHQpICk7IC8vYWRkIGZpbGVuYW1lIHN0dWZmIGJ1dCBrZWVwIHRoZSBleHRlbnNpb24gb3V0CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAkdDIgID0gbWQ1KCBzZXJpYWxpemUoJG9wcCkgKTsKICAgICAgICB9CgogICAgICAgICRkZXN0bmFtZSA9ICdpbWctJyAuICR0MjsKICAgICAgICAkdDMgICAgICAgPSBzZWxmOjpwYXJzZV90eXBlKCgkb3BwWydmb3JjZV90eXBlJ10pID8gOiAkc3JjaW5mb1snbWltZSddKTsKICAgICAgICAKICAgICAgICBpZigkb3BwWydmb3JjZV9leHQnXSkKICAgICAgICB7CiAgICAgICAgICAkZGVzdG5hbWUgLj0gc2VsZjo6Z2V0X2V4dGVuc2lvbigkdDMpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkZGVzdGRpciA9ICRtb2QtPmdldF9jYWNoZV9wYXRoKCk7CiAgICAgICAgCiAgICAgICAgaWYoIWlzX2RpcigkZGVzdGRpcikpCiAgICAgICAgewogICAgICAgICAgaWYoIW1rZGlyKCRkZXN0ZGlyLCAwNzc3LCBUUlVFKSAmJiAhaXNfZGlyKCRkZXN0ZGlyKSkKICAgICAgICAgIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKHNwcmludGYoJ0RpcmVjdG9yeSAiJXMiIHdhcyBub3QgY3JlYXRlZCcsICRkZXN0ZGlyKSk7CiAgICAgICAgICB9CiAgICAgICAgICB0b3VjaCgkZGVzdGRpciAuICcvaW5kZXguaHRtbCcpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiggIWlzX2RpcigkZGVzdGRpcikgKQogICAgICAgIHsKICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJG1vZC0+TGFuZygnZXJyb3JfbWtkaXInLCAkZGVzdGRpcikpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBzZWUgaWYgaXQgZXhpc3RzCiAgICAgICAgJGRlc3RfZm5hbWUgPSAkZGVzdGRpciAuICcvJyAuICRkZXN0bmFtZTsKICAgICAgICAKICAgICAgICAkZGVzdF91cmwgPSAkbW9kLT5nZXRfY2FjaGVkX2ltYWdlX3VybCgkZGVzdG5hbWUpOwogICAgICAgICR0MSAgICAgICA9IGZpbGVtdGltZSgkc3JjZmlsZSk7CiAgICAgICAgJHQyICAgICAgID0gaXNfZmlsZSgkZGVzdF9mbmFtZSkgPyBmaWxlbXRpbWUoJGRlc3RfZm5hbWUpIDogMDsKICAgICAgICBpZiggKCAoJHQyIDwgJHQxKSAmJiAhJG9wcFsnbm90aW1lY2hlY2snXSApIHx8ICRvcHBbJ292ZXJ3cml0ZSddIHx8ICFpc19maWxlKCRkZXN0X2ZuYW1lKSApCiAgICAgICAgewogICAgICAgICAgJGRvX3RyYW5zZm9ybSA9IDE7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UKICAgICAgewogICAgICAgIC8vIG5vIHRyYW5zb2ZtcmF0aW9uLi4uIGp1c3QgdXNlIHRoZSBzcmMgaW1hZ2UKICAgICAgICAvLyBidXQgbWFrZSBpdCBpbnRvIGFuIGFic29sdXRlIFVSTAogICAgICAgICRkZXN0X2ZuYW1lID0gJHNyY2ZpbGU7CiAgICAgICAgCiAgICAgICAgc3dpdGNoKCRyZWxhdGl2ZV90bykKICAgICAgICB7CiAgICAgICAgICBjYXNlICdyb290JzoKICAgICAgICAgICAgJF9zcmMgPSAkc3JjZmlsZTsKICAgICAgICAgICAgaWYoc3RhcnRzd2l0aCgkX3NyYywgJGNvbmZpZ1sncm9vdF9wYXRoJ10pKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgJF9zcmMgPSBzdWJzdHIoJF9zcmMsIHN0cmxlbigkY29uZmlnWydyb290X3BhdGgnXSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRkZXN0X3VybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAkX3NyYzsKICAgICAgICAgIGJyZWFrOwogICAgICAgICAgCiAgICAgICAgICBjYXNlICd1cGxvYWRzJzoKICAgICAgICAgICAgJF9zcmMgPSAkc3JjZmlsZTsKICAgICAgICAgICAgaWYoc3RhcnRzd2l0aCgkc3JjZmlsZSwgJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10pKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgJF9zcmMgPSBzdWJzdHIoJHNyY2ZpbGUsIHN0cmxlbigkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRkZXN0X3VybCA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10gLiAkX3NyYzsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgaWYoJGRvX3RyYW5zZm9ybSkKICAgICAgewogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgIC8vIGxvYWQgdGhlIGltYWdlLgogICAgICAgICAgJGltZyA9IG5ldyBJbWFnZUJhc2UoJHNyY2ZpbGUpOwogICAgICAgICAgCiAgICAgICAgICAvLyBwcm9jZXNzIGZpbHRlcnMKICAgICAgICAgICRpID0gMDsKICAgICAgICAgIHdoaWxlKCRpIDwgY291bnQoJG9wcFsnZmlsdGVycyddKSkKICAgICAgICAgIHsKICAgICAgICAgICAgJGZpbHRlciAgICAgICA9ICRvcHBbJ2ZpbHRlcnMnXVskaV1bMF07CiAgICAgICAgICAgICRmaWx0ZXJfb2JqICAgPSBuZXcgJGZpbHRlcigkb3BwWydmaWx0ZXJzJ11bJGldWzFdKTsKICAgICAgICAgICAgJGltZyAgICAgICAgICA9ICRmaWx0ZXJfb2JqLT50cmFuc2Zvcm0oJGltZyk7CiAgICAgICAgICAgICRpbWdbJ2RpcnR5J10gPSAxOyAvLyBmb3JjZSB0aGUgaW1hZ2UgZGlydHksIGp1c3Qgc28gdGhhdCB3ZSBjYW4gc2F2ZSBpdC4KICAgICAgICAgICAgJGkrKzsKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgLy8gY2hlY2sgc29tZSBzdHVmZgogICAgICAgICAgaWYoCiAgICAgICAgICAgICAgMCA9PT0gJG9wcFsnbm9hdXRvJ10KICAgICAgICAgICAgICAmJiAoCiAgICAgICAgICAgICAgICAgICgkb3V0cFsnd2lkdGgnXSAmJiAkaW1nWyd3aWR0aCddIDwgJG91dHBbJ3dpZHRoJ10pCiAgICAgICAgICAgICAgICAgIHx8ICgkb3V0cFsnaGVpZ2h0J10gJiYgJGltZ1snaGVpZ2h0J10gPCAkb3V0cFsnaGVpZ2h0J10KICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgIHsKICAgICAgICAgICAgLy8gdXNlciBzcGVjaWZpZWQgYSB3aWR0aCwgYW5kL29yIGhlaWdodC4uLmJ1dCB0aGV5IGFyZSBzbWFsbGVyIHRoYW4gdGhlIG91dHB1dCBvZiB0aGUgZmlsdGVyaW5nLgogICAgICAgICAgICAvLyB0aGlzIHdpbGwgZW5zdXJlIHRoYXQgdGhlIHRhZyB3aWxsIG1hdGNoIHRoZSBpbWFnZS4KICAgICAgICAgICAgJG91dHBbJ3dpZHRoJ10gID0gJGltZ1snd2lkdGgnXTsKICAgICAgICAgICAgJG91dHBbJ2hlaWdodCddID0gJGltZ1snaGVpZ2h0J107CiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIC8vIGFuZCB3cml0ZSB0aGUgdGhpbmcuCiAgICAgICAgICBpZihpc19vYmplY3QoJGltZykpCiAgICAgICAgICB7CiAgICAgICAgICAgIGlmKCRvcHBbJ2ZvcmNlX3R5cGUnXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICRpbWdbJ3R5cGUnXSA9IHNlbGY6OnBhcnNlX3R5cGUoJG9wcFsnZm9yY2VfdHlwZSddKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZigkaW1nWydkaXJ0eSddKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgJGltZy0+c2F2ZSgkZGVzdF9mbmFtZSwgJG9wcFsncXVhbGl0eSddLCAkb3BwWydwcm9ncmVzc2l2ZSddKTsKICAgICAgICAgICAgICAkb3V0cFsnZGVzdF9maWxlJ10gPSAkZGVzdF9mbmFtZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaChFeGNlcHRpb24gJGUpCiAgICAgICAgewogICAgICAgICAgYXVkaXQoJycsICdTbWFydEltYWdlJywgJ0Vycm9yIGVuY291bnRlcmVkIG9uICcgLiAkb3BwWydzcmMnXSAuICc6ICcgLiAkZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICAgIHRocm93ICRlOwogICAgICAgIH0KICAgICAgfSAvLyBpZgogICAgICAKICAgICAgLy8gbm93LCB3ZSBoYXZlIGEgY2FjaGVkIGZpbGVuYW1lIC4uLiBuZWVkIHRvIGdldCBpdHMgZGltZW5zaW9ucy4KICAgICAgLy8gYW5kIG1ha2Ugc3VyZSB0aGF0IHdlJ3JlIG5ldmVyIG91dHB1dHRpbmcgYW55dGhpbmcgYmlnZ2VyIHRoYW4gdGhlIGNhY2hlZCBkaW1lbnNpb25zCiAgICAgIC8vIHVubGVzcyBub2F1dG8gaXMgc2V0CiAgICAgIGlmKDAgPT09ICRvcHBbJ25vYXV0byddKQogICAgICB7CiAgICAgICAgaWYoCiAgICAgICAgICAoJG91dHBbJ3dpZHRoJ10gJiYgJHNyY2ltZ3NpemVbJ3dpZHRoJ10gPCAkb3V0cFsnd2lkdGgnXSkgfHwKICAgICAgICAgICgkb3V0cFsnaGVpZ2h0J10gJiYgJHNyY2ltZ3NpemVbJ2hlaWdodCddIDwgJG91dHBbJ2hlaWdodCddKQogICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAkb3V0cFsnd2lkdGgnXSAgPSAkc3JjaW1nc2l6ZVsnd2lkdGgnXTsKICAgICAgICAgICRvdXRwWydoZWlnaHQnXSA9ICRzcmNpbWdzaXplWydoZWlnaHQnXTsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC8vIGF0IHRoaXMgcG9pbnQsIHdlJ3JlIHJlYWR5IHRvIGhhbmRsZSBidWlsZGluZyB0aGUgdGFnLgogICAgICBpZigkb3BwWydub2JjYWNoZSddKQogICAgICB7CiAgICAgICAgJGRlc3RfdXJsIC49ICc/eD0nIC4gdGltZSgpOwogICAgICB9CiAgICAgIAogICAgICBpZighaXNzZXQoJG91dHBbJ2FsdCddKSkKICAgICAgewogICAgICAgIGlmKCRkZXN0X2ZuYW1lKQogICAgICAgIHsKICAgICAgICAgICRvdXRwWydhbHQnXSA9IGJhc2VuYW1lKCRkZXN0X2ZuYW1lKTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZigkc3JjZmlsZSkKICAgICAgICB7CiAgICAgICAgICAkb3V0cFsnYWx0J10gPSBiYXNlbmFtZSgkc3JjZmlsZSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAkb3V0cFsnYWx0J10gPSBiYXNlbmFtZSgkb3BwWydzcmMnXSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAvLyBidWlsZCB0aGUgb3V0cHV0LgogICAgICBpZigkb3BwWydub3RhZyddIHx8IHNlbGY6Ol9pc19zdHlsZXNoZWV0KCkpCiAgICAgIHsKICAgICAgICAkb3V0cFsnc3JjJ10gPSAkZGVzdF91cmw7CiAgICAgICAgCiAgICAgICAgaWYoISRvcHBbJ25vZW1iZWQnXSAmJiAkbW9kLT5jYW5fZW1iZWQoJGRlc3RfZm5hbWUpKQogICAgICAgIHsKICAgICAgICAgICR0eXBlID0geHRfdXRpbHM6OmdldF9taW1lX3R5cGUoJGRlc3RfZm5hbWUpOwogICAgICAgICAgCiAgICAgICAgICBpZigkdHlwZSAmJiAndW5rbm93bicgIT09ICR0eXBlKQogICAgICAgICAgewogICAgICAgICAgICAkdG1wICAgICAgICAgPSBiYXNlNjRfZW5jb2RlKCBmaWxlX2dldF9jb250ZW50cygkZGVzdF9mbmFtZSkgKTsKICAgICAgICAgICAgJG91dHBbJ3NyYyddID0gJ2RhdGE6JyAuICR0eXBlIC4gJztiYXNlNjQsJyAuICR0bXA7CiAgICAgICAgICAgIHVuc2V0KCR0bXApOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgJG91dHBbJ3NyYyddID0gJGRlc3RfdXJsOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZighaXNzZXQoJG91dHBbJ291dHB1dCddKSkKICAgICAgICB7CiAgICAgICAgICAkb3V0cFsnb3V0cHV0J10gPSAkb3V0cFsnc3JjJ107CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UKICAgICAgewogICAgICAgIC8vCiAgICAgICAgLy8gZ290dGEgYnVpbGQgYSB0YWcuCiAgICAgICAgLy8KICAgICAgICAvLyBnZXQgdGhlIHNyYyBmaXJzdC4KICAgICAgICBpZighJG9wcFsnbm9lbWJlZCddICYmICRtb2QtPmNhbl9lbWJlZCgkZGVzdF9mbmFtZSkpCiAgICAgICAgewogICAgICAgICAgJHR5cGUgPSB4dF91dGlsczo6Z2V0X21pbWVfdHlwZSgkZGVzdF9mbmFtZSk7CiAgICAgICAgICAKICAgICAgICAgIGlmKCR0eXBlICYmICd1bmtub3duJyAhPT0gJHR5cGUpCiAgICAgICAgICB7CiAgICAgICAgICAgICR0bXAgICAgICAgICA9IGJhc2U2NF9lbmNvZGUoZmlsZV9nZXRfY29udGVudHMoJGRlc3RfZm5hbWUpKTsKICAgICAgICAgICAgJG91dHBbJ3NyYyddID0gJ2RhdGE6JyAuICR0eXBlIC4gJztiYXNlNjQsJyAuICR0bXA7CiAgICAgICAgICAgIHVuc2V0KCR0bXApOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZighaXNzZXQoJG91dHBbJ3NyYyddKSB8fCAhJG91dHBbJ3NyYyddKQogICAgICAgIHsKICAgICAgICAgIC8vIGZhbGxiYWNrIHRvIHRoZSBkZXN0aW5hdGlvbiB1cmwuCiAgICAgICAgICAkb3V0cFsnc3JjJ10gPSAkZGVzdF91cmw7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qCiAgICAgICAgICBub3QgbmVlZGVkIG5vdy4KICAgICAgICBpZiggJGRlc3RfZm5hbWUgJiYgISRvcHBbJ25vYXV0byddICkgewogICAgICAgICAgICAkZGV0YWlscyA9IGdldGltYWdlc2l6ZSgkZGVzdF9mbmFtZSk7CiAgICAgICAgICAgIGlmKCBpc19hcnJheSgkZGV0YWlscykgKSB7CiAgICAgICAgICAgICAgICAkb3V0cFsnd2lkdGgnXSAgPSAoaW50KSRkZXRhaWxzWzBdOwogICAgICAgICAgICAgICAgJG91dHBbJ2hlaWdodCddID0gKGludCkkZGV0YWlsc1sxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAqLwogICAgICAgIAogICAgICAgIC8vIG5vdyB3ZSBjYW4gYnVpbGQgdGhlIHRhZy4KICAgICAgICAkb3V0cHV0ID0gJzxpbWcnOwogICAgICAgIGZvcmVhY2goJG91dHAgYXMgJGtleSA9PiAkdmFsdWUpCiAgICAgICAgewogICAgICAgICAgaWYoJ2Rlc3RfZmlsZScgPT09ICRrZXkpCiAgICAgICAgICB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgaWYoJG9wcFsnbm9hdXRvJ10gJiYgKCd3aWR0aCcgPT09ICRrZXkgfHwgJ2hlaWdodCcgPT09ICRrZXkpKQogICAgICAgICAgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIGlmKCEkdmFsdWUgJiYgJ2FsdCcgIT09ICRrZXkpCiAgICAgICAgICB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfSAvLyBlbXB0eSBhbHQgaXMgdmFsaWQuLi4gc3R1cGlkLCBidXQgdmFsaWQuCiAgICAgICAgICAkb3V0cHV0IC49ICcgJyAuICRrZXkgLiAnPSInIC4gJHZhbHVlIC4gJyInOwogICAgICAgIH0KICAgICAgICAkb3V0cHV0ICAgICAgICAgLj0gJy8+JzsKICAgICAgICAkb3V0cFsnb3V0cHV0J10gPSAkb3V0cHV0OwogICAgICB9CiAgICB9CiAgICBjYXRjaChcU0lTdG9wSGVyZUV4Y2VwdGlvbiAkZSkKICAgIHsKICAgICAgLy8gd2Ugd2VyZSBmb3JjZWQgdG8gc3RvcAogICAgICBpZighJG91dHBbJ291dHB1dCddKQogICAgICB7CiAgICAgICAgJG91dHBbJ2Vycm9yJ10gPSAnTm8gb3V0cHV0IGZyb20gU0lTdG9wSGVyZUV4Y2VwdGlvbic7CiAgICAgIH0KICAgIH0KICAgIGNhdGNoKEV4Y2VwdGlvbiAkZSkKICAgIHsKICAgICAgJG91dHBbJ2Vycm9yJ10gPSAkZS0+R2V0TWVzc2FnZSgpOwogICAgfQogICAgCiAgICAvLyBoZXJlIHdlJ3JlIGdvbm5hIHJldHVybiBzb21ldGhpbmcKICAgIHJldHVybiAkb3V0cDsKICB9CiAgCiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzaV9jb252ZXJ0KCRwYXJhbXMsICRjb250ZW50LCAmJHNtYXJ0eSwgJHJlcGVhdCkKICB7CiAgICBpZighJGNvbnRlbnQpIHsgcmV0dXJuICcnOyB9CiAgICAKICAgICRtYXhfd2lkdGggID0gLTE7CiAgICAkbWF4X2hlaWdodCA9IC0xOwogICAgCiAgICBpZiggaXNzZXQoJHBhcmFtc1snbWF4X2hlaWdodCddKSApCiAgICB7CiAgICAgICRtYXhfaGVpZ2h0ID0gbWF4KDAsIChpbnQpJHBhcmFtc1snbWF4X2hlaWdodCddKTsKICAgIH0KICAgIAogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ21heF93aWR0aCddKSApCiAgICB7CiAgICAgICRtYXhfd2lkdGggPSBtYXgoMCwgKGludCkkcGFyYW1zWydtYXhfd2lkdGgnXSk7CiAgICB9CiAgICAKICAgICRkaWRfbW9kaWZ5ICAgICAgICAgICAgICAgPSBGQUxTRTsKICAgICRtb2QgICAgICAgICAgICAgICAgICAgICAgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NtYXJ0SW1hZ2UnKTsKICAgICRvbGRfZXJyb3J2YWwgICAgICAgICAgICAgPSBsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycyhUUlVFKTsKICAgICRkb20gICAgICAgICAgICAgICAgICAgICAgPSBuZXcgRG9tRG9jdW1lbnQoKTsKICAgICRkb20tPnN0cmljdEVycm9yQ2hlY2tpbmcgPSBGQUxTRTsKICAgICRkb20tPnZhbGlkYXRlT25QYXJzZSAgICAgPSBGQUxTRTsKICAgIAogICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdtYl9jb252ZXJ0X2VuY29kaW5nJykpCiAgICB7CiAgICAgICRjb250ZW50ID0gbWJfY29udmVydF9lbmNvZGluZygkY29udGVudCwgJ0hUTUwtRU5USVRJRVMnLCAnVVRGLTgnKTsKICAgIH0KICAgIAogICAgJGRvbS0+bG9hZEhUTUwoJGNvbnRlbnQpOwogICAgCiAgICAkaW1ncyA9ICRkb20tPkdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKTsKICAgIAogICAgaWYoaXNfb2JqZWN0KCRpbWdzKSAmJiAkaW1ncy0+bGVuZ3RoKQogICAgewogICAgICBmb3IoJGkgPSAwOyAkaSA8ICRpbWdzLT5sZW5ndGg7ICRpKyspCiAgICAgIHsKICAgICAgICAkbm9kZSAgICA9ICRpbWdzLT5pdGVtKCRpKTsKICAgICAgICAkc3hlICAgICA9IHNpbXBsZXhtbF9pbXBvcnRfZG9tKCRub2RlKTsKICAgICAgICAkcGFybXMgICA9ICRwYXJhbXM7CiAgICAgICAgJHByb2Nlc3MgPSBUUlVFOwogICAgIAogICAgICAgIGZvcmVhY2goJHN4ZS0+YXR0cmlidXRlcygpIGFzICRuYW1lID0+ICR2YWx1ZSkKICAgICAgICB7CiAgICAgICAgICAkdmFsdWUgPSAoc3RyaW5nKSR2YWx1ZTsKICAgICAgICAgIGlmKCcnID09PSAkdmFsdWUpIHsgY29udGludWU7IH0KICAgICAgICAgIAogICAgICAgICAgc3dpdGNoKCRuYW1lKQogICAgICAgICAgewogICAgICAgICAgICBjYXNlICd3aWR0aCc6CiAgICAgICAgICAgICAgaWYoJG1heF93aWR0aCA+IDApCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHZhbHVlID0gbWluKCRtYXhfd2lkdGgsIChpbnQpJHZhbHVlKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAnaGVpZ2h0JzoKICAgICAgICAgICAgICBpZigkbWF4X2hlaWdodCA+IDApCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHZhbHVlID0gbWluKCRtYXhfaGVpZ2h0LCAoaW50KSR2YWx1ZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNhc2UgJ2NsYXNzJzoKICAgICAgICAgICAgICAkd29yZHMgPSBleHBsb2RlKCcgJywgJHZhbHVlKTsKICAgICAgICAgICAgICBpZiggaW5fYXJyYXkoJ25vc2knLCAkd29yZHMpICkgeyAkcHJvY2VzcyA9IEZBTFNFOyB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICAkcGFybXNbJG5hbWVdID0gJHZhbHVlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZighJHByb2Nlc3MpIHsgY29udGludWU7IH0gLy8gZm91bmQgYSByZWFzb24gbm90IGRvIHRvIGFueXRoaW5nIHdpdGggdGhpcyBpbWFnZS4KICAgICAgICBpZiggIWlzc2V0KCRwYXJtc1snc3JjJ10pICkgeyBjb250aW51ZTsgfQogICAgICAgIGlmKCBzdGFydHN3aXRoKCRwYXJtc1snc3JjJ10sICdkYXRhOicpICkgeyBjb250aW51ZTsgfSAgIC8vIGFscmVhZHkgZW1iZWRkZWQsIGNhbid0IGRvIGFueXRoaW5nLgogICAgICAgIAogICAgICAgICRwYXJtc1snbm90YWcnXSA9IDE7CiAgICAgICAgJG91dHAgICAgICAgICAgID0gc2VsZjo6cHJvY2Vzc19pbWFnZSgkcGFybXMpOwogICAgICAgIAogICAgICAgIGZvcmVhY2goJG91dHAgYXMgJGtleSA9PiAkdmFsdWUpCiAgICAgICAgewogICAgICAgICAgJGRpZF9tb2RpZnkgPSBUUlVFOwogICAgICAgICAgCiAgICAgICAgICBzd2l0Y2goJGtleSkKICAgICAgICAgIHsKICAgICAgICAgICAgY2FzZSAnd2lkdGgnOgogICAgICAgICAgICBjYXNlICdoZWlnaHQnOgogICAgICAgICAgICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKICAgICAgICAgICAgICAKICAgICAgICAgICAgICBpZigkdmFsdWUpCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHN4ZVska2V5XSA9IChpbnQpJHZhbHVlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdW5zZXQoJHN4ZVska2V5XSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIAogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnYWx0JzoKICAgICAgICAgICAgY2FzZSAnc3JjJzoKICAgICAgICAgICAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CiAgCiAgICAgICAgICAgIGlmKCR2YWx1ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICRzeGVbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdjbGFzcyc6CiAgICAgICAgICAgICAgJHZhbHVlID0gdHJpbSgkdmFsdWUpOwogICAgICAgICAgICAgIGlmKCR2YWx1ZSAmJiAnKycgPT09ICR2YWx1ZVswXSkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkc3hlWyRrZXldID0gdHJpbSgkc3hlWyRrZXldIC4gJyAnIC4gc3Vic3RyKCAkdmFsdWUsIDEpICk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVsc2UgaWYoJHZhbHVlKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRzeGVbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IC8vIGZvciBlYWNoIGltYWdlCiAgICB9CiAgICAKICAgIC8vIGdldCB0aGUgY29udGVudHMuCiAgICBpZigkZGlkX21vZGlmeSkKICAgIHsKICAgICAgLy8gdGFncyB3ZSBkbyBub3Qgd2FudCB0byBzZWxmIGNsb3NlIGlmIGVtcHR5LgogICAgICAkY2Fuc2VsZmNsb3NlID0gWwogICAgICAgICAgICAgICAgICAgICAgICAnYXJlYScsCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2JyJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdlbWJlZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdocicsCiAgICAgICAgICAgICAgICAgICAgICAgICdpbWcnLAogICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXQnLAogICAgICAgICAgICAgICAgICAgICAgICAna2V5Z2VuJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbmsnLAogICAgICAgICAgICAgICAgICAgICAgICAnbWVudWl0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAnbWV0YScsCiAgICAgICAgICAgICAgICAgICAgICAgICdwYXJhbScsCiAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAndHJhY2snLAogICAgICAgICAgICAgICAgICAgICAgICAnd2JyJwogICAgICAgICAgICAgICAgICAgICAgXTsKICAgICAgCiAgICAgIC8vIGdldCBhbGwgZW1wdHkgbm9kZXMuLi4KICAgICAgJHF1ZXJ5ID0gJy8vKltub3Qobm9kZSgpKV0nOwogICAgICAkbm9kZXMgPSAoIG5ldyBET01YUGF0aCgkZG9tKSApLT5xdWVyeSgkcXVlcnkpOwogICAgICAKICAgICAgZm9yZWFjaCgkbm9kZXMgYXMgJG4pCiAgICAgIHsKICAgICAgICBpZighaW5fYXJyYXkoJG4tPm5vZGVOYW1lLCAkY2Fuc2VsZmNsb3NlKSkKICAgICAgICB7CiAgICAgICAgICAkbi0+YXBwZW5kQ2hpbGQobmV3IERPTUNvbW1lbnQoJ05PVF9WT0lEJykpOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgJHRtcCA9ICRkb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5Jyk7CiAgICAgIAogICAgICBpZigkdG1wICYmIDEgPT09ICR0bXAtPmxlbmd0aCkKICAgICAgewogICAgICAgICRub2RlICAgID0gJHRtcC0+aXRlbSgwKTsKICAgICAgICAkY29udGVudCA9IE5VTEw7CiAgICAgICAgCiAgICAgICAgZm9yZWFjaCgkbm9kZS0+Y2hpbGROb2RlcyBhcyAkY2hpbGQpCiAgICAgICAgewogICAgICAgICAgJGNvbnRlbnQgLj0gJG5vZGUtPm93bmVyRG9jdW1lbnQtPnNhdmVYTUwoJGNoaWxkKTsKICAgICAgICB9CiAgCiAgICAgICAgJGNvbnRlbnQgPSBzdHJfcmVwbGFjZShbY2hyKDEzKSwgJyYjMTM7JywgJzwhLS1OT1RfVk9JRC0tPiddLCAnJywgJGNvbnRlbnQpOwogICAgICB9CiAgICB9CiAgICAKICAgIHJldHVybiAkY29udGVudDsKICB9CiAgCiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZGV2aWNlX2NhcGFiaWxpdGllcygpCiAgewogICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1NNQVJUSU1BR0UpOwogICAgaWYoJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZScpKQogICAgewogICAgICAkY29va2llX2VuYyA9IGNtc19jb29raWVzOjpnZXQoIHNpX3V0aWxzOjpnZXRfcmVzcG9uc2l2ZV9jb29raWVuYW1lKCkgKTsKICAgICAgaWYoJGNvb2tpZV9lbmMpCiAgICAgIHsKICAgICAgICAkZGF0YSA9IGpzb25fZGVjb2RlKCRjb29raWVfZW5jLCBUUlVFKTsKICAgICAgICAKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICAgIH0KICAgIH0KICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0cmltX3RvX2RldmljZSgkZmxhZywgJHZhbHVlKQogIHsKICAgICRmbGFnID0gc3RydG9sb3dlcigkZmxhZyk7CiAgICBpZigkdmFsdWUgPiAwICYmIGlzX2FycmF5KHNlbGY6OiRfZGV2aWNlX2RhdGEpICYmIGlzc2V0KHNlbGY6OiRfZGV2aWNlX2RhdGFbJGZsYWddKSkKICAgIHsKICAgICAgcmV0dXJuIG1pbigkdmFsdWUsIHNlbGY6OiRfZGV2aWNlX2RhdGFbJGZsYWddKTsKICAgIH0KICAgIAogICAgcmV0dXJuICR2YWx1ZTsKICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdHJhbnNwYXJlbnRfY29sb3IoSW1hZ2VCYXNlICRpbWcpCiAgewogICAgaWYoJGltZ1sndHJhbnNwYXJlbnQnXSAhPSAnJykKICAgIHsKICAgICAgcmV0dXJuICRpbWdbJ3RyYW5zcGFyZW50J107CiAgICB9CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmluZF91bnVzZWRfY29sb3IoSW1hZ2VCYXNlICRpbWcpCiAgewogICAgLy8gZG9udCBoYXZlIGEgdHJhbnNwYXJlbmN5IGNvbG9yLi4uIHNvIGd1ZXNzIG9uZS4KICAgIC8vIGZpbmQgYSByYW5kb20gdW51c2VkIGNvbG9yIGZvciB0cmFuc3BhcmVuY3kuCiAgICAkciAgICAgPSAkZyA9ICRiID0gMjU1OwogICAgJGZvdW5kID0gMDsKICAgIHdoaWxlKCRmb3VuZCA8IDEwMCkKICAgIHsKICAgICAgJHIgPSByYW5kKDAsIDI1NSk7CiAgICAgICRnID0gcmFuZCgwLCAyNTUpOwogICAgICAkYiA9IHJhbmQoMCwgMjU1KTsKICAgICAgaWYoIC0xICE9PSBpbWFnZWNvbG9yZXhhY3QoJGltZ1sncnNyYyddLCAkciwgJGcsICRiKSApCiAgICAgIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICAkZm91bmQrKzsKICAgIH0KICAgIAogICAgaWYoNTAgPT09ICRmb3VuZCkKICAgIHsKICAgICAgYXVkaXQoJycsICdTbWFydEltYWdlJywgJ05vIHVudXNlZCBjb2xvciBmb3VuZCcpOwogICAgfQogICAgCiAgICByZXR1cm4gWyRyLCAkZywgJGJdOwogIH0KICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9yZXNwb25zaXZlX2Nvb2tpZW5hbWUoKQogIHsKICAgIHJldHVybiAnY2MnIC4gbWQ1KF9fRklMRV9fKTsKICB9CiAgCiAgLyoqCiAgICogQHBhcmFtIHN0cmluZyAkcGF0aAogICAqCiAgICogQHJldHVybiBzdHJpbmd8c3RyaW5nW118bnVsbAogICAqIEBkZXByZWNhdGVkCiAgICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBub3JtYWxpemVfcGF0aCgkcGF0aCA9ICcnKQogIHsKICAgICRzdHIgPSBzdHJfcmVwbGFjZShbJy8nLCAnXFwnXSwgRElSRUNUT1JZX1NFUEFSQVRPUiwgJHBhdGgpOwogICAgJHN0ciA9IHByZWdfcmVwbGFjZSgneygvKVwxK30nLCAnJDEnLCAkc3RyKTsKICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoJ3soXFxcKVwxK30nLCckMScsICRzdHIpOwogICAgCiAgICByZXR1cm4gJHN0cjsKICB9Cn0KCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.SmartImage_ClearCacheTask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBTbWFydEltYWdlX0NsZWFyQ2FjaGVUYXNrIGltcGxlbWVudHMgQ21zUmVndWxhclRhc2sKewogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzKTsKICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kZXNjcmlwdGlvbigpCiAgICB7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU21hcnRJbWFnZScpOwogICAgICAgIHJldHVybiAkbW9kLT5MYW5nKCdjbGVhcmNhY2hldGFza19kZXNjcmlwdGlvbicpOwogICAgfQoKCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdCgkdGltZSA9ICcnKQogICAgewogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NtYXJ0SW1hZ2UnKTsKICAgICAgICAkYWdlID0gKGludCkkbW9kLT5HZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnKTsKICAgICAgICBpZiggJGFnZSA8PSAwICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAvLyB3ZSBvbmx5IGF0dGVtcHQgdG8gY2xlYXIgY2FjaGVkIGZpbGVzIG9uY2UgcGVyIGRheQogICAgICAgIGlmKCAhJHRpbWUgKSAkdGltZSA9IHRpbWUoKTsKICAgICAgICAkbGFzdF9leGVjdXRlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2xlYXJjYWNoZV9sYXN0cnVuJyk7CiAgICAgICAgaWYoICgkdGltZSAtIDI0ICogNjAgKiA2MCApID49ICRsYXN0X2V4ZWN1dGUgKSByZXR1cm4gVFJVRTsKICAgICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBleGVjdXRlKCR0aW1lID0gJycpCiAgICB7CiAgICAgICAgaWYoICEkdGltZSApICR0aW1lID0gdGltZSgpOwoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIC8vIGNsZWFyIGNhY2hlZCBmaWxlcy4KICAgICAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU21hcnRJbWFnZScpOwogICAgICAgICAgICAkbl9yZW1vdmVkID0gJG1vZC0+Y2xlYXJfY2FjaGVkX2ZpbGVzKCk7CiAgICAgICAgICAgICRtb2QtPkF1ZGl0KCcnLCRtb2QtPkxhbmcoJ2FjdF9jYWNoZWNsZWFuZWQnKSwkbW9kLT5MYW5nKCdtc2dfY2FjaGVjbGVhbmVkJywkbl9yZW1vdmVkKSk7CiAgICAgICAgICAgIHJldHVybiBUUlVFOwogICAgICAgIH0KICAgICAgICBjYXRjaCggRXhjZXB0aW9uICRlICkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICAgICB9CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBvbl9zdWNjZXNzKCR0aW1lID0gJycpCiAgICB7CiAgICAgICAgaWYoICEkdGltZSApICR0aW1lID0gdGltZSgpOwogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NtYXJ0SW1hZ2UnKTsKICAgICAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdjbGVhcmNhY2hlX2xhc3RydW4nLCR0aW1lKTsKICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIG9uX2ZhaWx1cmUoJHRpbWUgPSAnJykKICAgIHsKICAgICAgICAvLyBub3RoaW5nIGhlcmUuCiAgICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/imageSmoothArc_optimized.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAgICAKICAgIENvcHlyaWdodCAoYykgMjAwNi0yMDA4IFVscmljaCBNaWVyZW5kb3JmZgoKICAgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCiAgICBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAogICAgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgogICAgdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCiAgICBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKICAgIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgogICAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KICAgIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCiAgICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMCiAgICBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgogICAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICAgIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKICAgIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KCiovCgpmdW5jdGlvbiBpbWFnZVNtb290aEFyY0RyYXdTZWdtZW50ICgmJGltZywgJGN4LCAkY3ksICRhLCAkYiwgJGNvbG9yLCAkc3RhcnQsICRzdG9wLCAkc2VnKQp7CiAgICAvLyBPcmlnaW5hbGx5IHdyaXR0ZW4gZnJvbSBzY3JhdGNoIGJ5IFVscmljaCBNaWVyZW5kb3JmZiwgMDYvMjAwNgogICAgLy8gUmV3cml0dGVuIGFuZCBpbXByb3ZlZCwgMDQvMjAwNywgMDcvMjAwNwogICAgLy8gT3B0aW1pemVkIGNpcmNsZSB2ZXJzaW9uOiAwMy8yMDA4CiAgICAKICAgIC8vIFBsZWFzZSBkbyBub3QgdXNlIFRISVMgZnVuY3Rpb24gZGlyZWN0bHkuIFNjcm9sbCBkb3duIHRvIGltYWdlU21vb3RoQXJjKC4uLikuCiAgICAKICAgICRmaWxsQ29sb3IgPSBpbWFnZUNvbG9yRXhhY3RBbHBoYSggJGltZywgJGNvbG9yWzBdLCAkY29sb3JbMV0sICRjb2xvclsyXSwgJGNvbG9yWzNdICk7CiAgICBzd2l0Y2ggKCRzZWcpCiAgICB7CiAgICAgICAgY2FzZSAwOiAkeHAgPSArMTsgJHlwID0gLTE7ICR4YSA9IDE7ICR5YSA9IC0xOyBicmVhazsKICAgICAgICBjYXNlIDE6ICR4cCA9IC0xOyAkeXAgPSAtMTsgJHhhID0gMDsgJHlhID0gLTE7IGJyZWFrOwogICAgICAgIGNhc2UgMjogJHhwID0gLTE7ICR5cCA9ICsxOyAkeGEgPSAwOyAkeWEgPSAwOyBicmVhazsKICAgICAgICBjYXNlIDM6ICR4cCA9ICsxOyAkeXAgPSArMTsgJHhhID0gMTsgJHlhID0gMDsgYnJlYWs7CiAgICB9CiAgICBmb3IgKCAkeCA9IDA7ICR4IDw9ICRhOyAkeCArPSAxICkgewogICAgICAgICR5ID0gJGIgKiBzcXJ0KCAxIC0gKCR4KiR4KS8oJGEqJGEpICk7CiAgICAgICAgJGVycm9yID0gJHkgLSAoaW50KSgkeSk7CiAgICAgICAgJHkgPSAoaW50KSgkeSk7CiAgICAgICAgJGRpZmZDb2xvciA9IGltYWdlQ29sb3JFeGFjdEFscGhhKCAkaW1nLCAkY29sb3JbMF0sICRjb2xvclsxXSwgJGNvbG9yWzJdLCAxMjctKDEyNy0kY29sb3JbM10pKiRlcnJvciApOwogICAgICAgIGltYWdlU2V0UGl4ZWwoJGltZywgJGN4KyR4cCokeCskeGEsICRjeSskeXAqKCR5KzEpKyR5YSwgJGRpZmZDb2xvcik7CiAgICAgICAgaW1hZ2VMaW5lKCRpbWcsICRjeCskeHAqJHgrJHhhLCAkY3krJHlwKiR5KyR5YSAsICRjeCskeHAqJHgrJHhhLCAkY3krJHlhLCAkZmlsbENvbG9yKTsKICAgIH0KICAgIGZvciAoICR5ID0gMDsgJHkgPCAkYjsgJHkgKz0gMSApIHsKICAgICAgICAkeCA9ICRhICogc3FydCggMSAtICgkeSokeSkvKCRiKiRiKSApOwogICAgICAgICRlcnJvciA9ICR4IC0gKGludCkoJHgpOwogICAgICAgICR4ID0gKGludCkoJHgpOwogICAgICAgICRkaWZmQ29sb3IgPSBpbWFnZUNvbG9yRXhhY3RBbHBoYSggJGltZywgJGNvbG9yWzBdLCAkY29sb3JbMV0sICRjb2xvclsyXSwgMTI3LSgxMjctJGNvbG9yWzNdKSokZXJyb3IgKTsKICAgICAgICBpbWFnZVNldFBpeGVsKCRpbWcsICRjeCskeHAqKCR4KzEpKyR4YSwgJGN5KyR5cCokeSskeWEsICRkaWZmQ29sb3IpOwogICAgfQp9CgoKZnVuY3Rpb24gaW1hZ2VTbW9vdGhBcmMgKCAmJGltZywgJGN4LCAkY3ksICR3LCAkaCwgJGNvbG9yLCAkc3RhcnQsICRzdG9wKQp7CiAgICAvLyBPcmlnaW5hbGx5IHdyaXR0ZW4gZnJvbSBzY3JhdGNoIGJ5IFVscmljaCBNaWVyZW5kb3JmZiwgMDYvMjAwNgogICAgLy8gUmV3cml0dGVuIGFuZCBpbXByb3ZlZCwgMDQvMjAwNywgMDcvMjAwNwogICAgLy8gT3B0aW1pemVkIGNpcmNsZSB2ZXJzaW9uOiAwMy8yMDA4CiAgICAvLyBjb21wYXJlZCB0byBvbGQgdmVyc2lvbjoKICAgIC8vICsgU3VwcG9ydCBmb3IgdHJhbnNwYXJlbmN5IGFkZGVkCiAgICAvLyArIEltcHJvdmVkIHF1YWxpdHkgb2YgZWRnZXMgJiBhbnRpYWxpYXNpbmcKICAgIAogICAgLy8gbm90ZTogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXByZXNlbnQgdGhlIGZhc3Rlc3Qgd2F5IHRvIGRyYXcgZWxsaXB0aWNhbAogICAgLy8gYXJjcy4gSXQgd2FzIHdyaXR0ZW4gd2l0aG91dCByZWFkaW5nIGFueSBwYXBlcnMgb24gdGhhdCBzdWJqZWN0LiBCZXR0ZXIKICAgIC8vIGFsZ29yaXRobXMgbWF5IGJlIHR3aWNlIGFzIGZhc3Qgb3IgZXZlbiBtb3JlLgogICAgCiAgICAvLyBQYXJhbWV0ZXJzOgogICAgLy8gJGN4ICAgICAgLSBDZW50ZXIgb2YgZWxsaXBzZSwgWC1jb29yZAogICAgLy8gJGN5ICAgICAgLSBDZW50ZXIgb2YgZWxsaXBzZSwgWS1jb29yZAogICAgLy8gJHcgICAgICAgLSBXaWR0aCBvZiBlbGxpcHNlICgkdyA+PSAyKQogICAgLy8gJGggICAgICAgLSBIZWlnaHQgb2YgZWxsaXBzZSAoJGggPj0gMiApCiAgICAvLyAkY29sb3IgICAtIENvbG9yIG9mIGVsbGlwc2UgYXMgYSBmb3VyIGNvbXBvbmVudCBhcnJheSB3aXRoIFJHQkEKICAgIC8vICRzdGFydCAgIC0gU3RhcnRpbmcgYW5nbGUgb2YgdGhlIGFyYzogMCwgUEkvMiwgUEksIFBJLzIqMywgMipQSSwuLi4gKDAsOTDCsCwxODDCsCwyNzDCsCwzNjDCsCwuLi4pCiAgICAvLyAkc3RvcCAgICAtIFN0b3AgICAgIGFuZ2xlIG9mIHRoZSBhcmM6IDAsIFBJLzIsIFBJLCBQSS8yKjMsIDIqUEksLi4uICgwLDkwwrAsMTgwwrAsMjcwwrAsMzYwwrAsLi4uKQogICAgLy8gJHN0YXJ0IF9jYW5fIGJlIGdyZWF0ZXIgdGhhbiAkc3RvcCEKICAgIC8vIElmIGFueSB2YWx1ZSBpcyBub3QgaW4gdGhlIGdpdmVuIHJhbmdlLCByZXN1bHRzIGFyZSB1bmRlZmluZWQhCiAgICAKICAgIC8vIFRoaXMgc2NyaXB0IGRvZXMgbm90IHVzZSBhbnkgc3BlY2lhbCBhbGdvcml0aG1zLCBldmVyeXRoaW5nIGlzIGNvbXBsZXRlbHkKICAgIC8vIHdyaXR0ZW4gZnJvbSBzY3JhdGNoOyBzZWUgaHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9FbGxpcHNlIGZvciBmb3JtdWxhcy4KICAgIAogICAgd2hpbGUgKCRzdGFydCA8IDApCiAgICAgICAgJHN0YXJ0ICs9IDIqTV9QSTsKICAgIHdoaWxlICgkc3RvcCA8IDApCiAgICAgICAgJHN0b3AgKz0gMipNX1BJOwogICAgCiAgICB3aGlsZSAoJHN0YXJ0ID4gMipNX1BJKQogICAgICAgICRzdGFydCAtPSAyKk1fUEk7CiAgICAKICAgIHdoaWxlICgkc3RvcCA+IDIqTV9QSSkKICAgICAgICAkc3RvcCAtPSAyKk1fUEk7CiAgICAKCiAgICBpZiAoJHN0YXJ0ID4gJHN0b3ApCiAgICB7CiAgICAgICAgaW1hZ2VTbW9vdGhBcmMgKCAkaW1nLCAkY3gsICRjeSwgJHcsICRoLCAkY29sb3IsICRzdGFydCwgMipNX1BJKTsKICAgICAgICBpbWFnZVNtb290aEFyYyAoICRpbWcsICRjeCwgJGN5LCAkdywgJGgsICRjb2xvciwgMCwgJHN0b3ApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgJGEgPSAxLjAqcm91bmQgKCR3LzIpOwogICAgJGIgPSAxLjAqcm91bmQgKCRoLzIpOwogICAgJGN4ID0gMS4wKnJvdW5kICgkY3gpOwogICAgJGN5ID0gMS4wKnJvdW5kICgkY3kpOwogICAgCiAgICBmb3IgKCRpPTA7ICRpPDQ7JGkrKykKICAgIHsKICAgICAgICBpZiAoJHN0YXJ0IDwgKCRpKzEpKk1fUEkvMikKICAgICAgICB7CiAgICAgICAgICAgIGlmICgkc3RhcnQgPiAkaSpNX1BJLzIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmICgkc3RvcCA+ICgkaSsxKSpNX1BJLzIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaW1hZ2VTbW9vdGhBcmNEcmF3U2VnbWVudCgkaW1nLCAkY3gsICRjeSwgJGEsICRiLCAkY29sb3IsICRzdGFydCwgKCRpKzEpKk1fUEkvMiwgJGkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGltYWdlU21vb3RoQXJjRHJhd1NlZ21lbnQoJGltZywgJGN4LCAkY3ksICRhLCAkYiwgJGNvbG9yLCAkc3RhcnQsICRzdG9wLCAkaSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoJHN0b3AgPiAoJGkrMSkqTV9QSS8yKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGltYWdlU21vb3RoQXJjRHJhd1NlZ21lbnQoJGltZywgJGN4LCAkY3ksICRhLCAkYiwgJGNvbG9yLCAkaSpNX1BJLzIsICgkaSsxKSpNX1BJLzIsICRpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpbWFnZVNtb290aEFyY0RyYXdTZWdtZW50KCRpbWcsICRjeCwgJGN5LCAkYSwgJGIsICRjb2xvciwgJGkqTV9QSS8yLCAkc3RvcCwgJGkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCmlmKCB2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCc1LjQuMTEnKSA8IDAgKSB7CiAgICByZXR1cm4gIk1pbmltdW0gUEhQIHZlcnNpb24gb2YgNS40LjExIHJlcXVpcmVkIjsKfQoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScsJ3NtYXJ0Jyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWJlZF9zaXplJywzMik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlJywncG5nLGpwZyxnaWYnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicsMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnLDApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZScsMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9ncmVzc2l2ZScsMCk7CgokYWxpYXNlcyA9IGFycmF5KCk7CiRhbGlhc2VzW10gPSBhcnJheSgnbmFtZSc9PidzdGRfdGh1bWJuYWlsJywnb3B0aW9ucyc9PidmaWx0ZXJfd2F0ZXJtYXJrPTEgd2lkdGg9MTUwIGhlaWdodD0xNTAnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsaWFzZXMnLHNlcmlhbGl6ZSgkYWxpYXNlcykpOwoKCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCB2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCc1LjQuMTEnKSA8IDAgKSB7CiAgICByZXR1cm4gIk1pbmltdW0gUEhQIHZlcnNpb24gb2YgNS40LjExIHJlcXVpcmVkIjsKfQoKJGNhY2hlX3BhdGggPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfcGF0aCcpOwokdGVzdCA9IGNtc19qb2luX3BhdGgoJ3VwbG9hZHMnLCdfJy4kdGhpcy0+R2V0TmFtZSgpKTsKaWYoICRjYWNoZV9wYXRoID09ICR0ZXN0IHx8ICRjYWNoZV9wYXRoID09ICd1cGxvYWRzL19TbWFydEltYWdlJyApIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJywnJyk7CiAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdJbnZhbGlkIGNhY2hlIHBhdGggcmVzZXQgdG8gdXBsb2Fkcy9fU21hcnRJbWFnZSBvbiB1cGdyYWRlJyk7Cn0KPz4=]]></data>
	</file>
	<file>
	  <filename>/SmartImage.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0SW1hZ2UgKGMpIDIwMjEtMjAyMiBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEEgZm9yayBvZjoKIwojIE1vZHVsZTogQ0dTbWFydEltYWdlIChjKSAyMDExLTIwMjEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA2IC0gMjAyMSBieSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbgojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCnVzZSBDTVNNU0V4dFxCcm93c2VyOwoKY2xhc3MgU21hcnRJbWFnZSBleHRlbmRzIFxDTVNNU0V4dFxYVE1vZHVsZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CiAgICAKICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgIAogICAgaWYoISRzbWFydHkpIHsgcmV0dXJuOyB9CiAgICAKICAgIHN0YXRpYyAkX2luaXQ7CiAgICAKICAgIGlmKCRfaW5pdCkgeyByZXR1cm47IH0KICAgIAogICAgJF9pbml0ID0gVFJVRTsKICAgIAogICAgLy8gbW9yZSBzbWFydHkgcGx1Z2lucwogICAgJHNtYXJ0eS0+cmVnaXN0ZXJfYmxvY2soJ3NpX2NvbnZlcnQnLCBbJ3NpX3V0aWxzJywgJ3NpX2NvbnZlcnQnXSk7CiAgICAkc21hcnR5LT5yZWdpc3Rlcl9ibG9jaygnc2lfZ2V0aW1hZ2VzJywgWydzaV9leHRlbmRlZCcsICdzaV9nZXRpbWFnZXMnXSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsgLy8gdGhpcyBpcyBoZXJlIHNvIHRoZSBtb2R1bGUgY2FuIGJlIHVzZWQgZnJvbSB0aGUgYWRtaW4uCiAgfQogIAogIGZ1bmN0aW9uIExhenlMb2FkQWRtaW4oKSB7IHJldHVybiBGQUxTRTsgfQogIAogIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKSB7IHJldHVybiBGQUxTRTsgfQogIAogIGZ1bmN0aW9uIEdldE5hbWUoKSB7IHJldHVybiBnZXRfY2xhc3MoJHRoaXMpOyB9CiAgCiAgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOyB9CiAgCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjEuMCc7IH0KICAKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsgcmV0dXJuICcyLjIuOSc7IH0KICAKICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiBbJ0NNU01TRXh0JyA9PiAnMS4xJ107IH0KICAKICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnSm9Nb3JnJzsgfQogIAogIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgeyByZXR1cm4gJ2pvbW9yZ0BjbXNtYWRlc2ltcGxlLm9yZyc7IH0KICAKICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIFRSVUU7IH0KICAKICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnZXh0ZW5zaW9ucyc7IH0KICAKICBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzKCkgeyByZXR1cm4gRkFMU0U7IH0KICAKICBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KICAKICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7IHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpOyB9CiAgCiAgZnVuY3Rpb24gQWxsb3dBdXRvSW5zdGFsbCgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgCiAgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOyB9CiAgCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7IH0KICAKICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7IH0KICAKICBwdWJsaWMgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkKICB7CiAgICBwYXJlbnQ6OkluaXRpYWxpemVGcm9udGVuZCgpOwogICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgCiAgICAvLyBvcGVyYXRpb25hbCBwYXJhbXMgKHdoYXQgdG8gZG8gd2l0aCB3aGF0Li4uKQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vYXV0b3NjYWxlJywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2JjYWNoZScsIENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9lbWJlZCcsIENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9hdXRvJywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub3JvdGF0ZScsIENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm90YWcnLCBDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vcmVzcG9uc2l2ZScsIENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9yZW1vdGUnLCBDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NyYycsIENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnb3ZlcndyaXRlJywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmb3JjZV9leHQnLCBDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZvcmNlX3R5cGUnLCBDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Byb2dyZXNzaXZlJywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhdXRvc2NhbGVfb3AnLCBDTEVBTl9TVFJJTkcpOwogICAgCiAgICAvLyBwYXJhbXMgZm9yIHRoZSBvdXRwdXQgdGFnIChpZiBvdXRwdXR0aW5nIGFuIGltZyB0YWcpCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaWQnLCBDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NsYXNzJywgQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdHlsZScsIENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGl0bGUnLCBDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2FsdCcsIENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbmFtZScsIENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGVpZ2h0JywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd3aWR0aCcsIENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbWF4X2hlaWdodCcsIENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbWF4X3dpZHRoJywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdxdWFsaXR5JywgQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyZWwnLCBDTEVBTl9TVFJJTkcpOwogICAgCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAgLiAnL3NyY1xkKi8nLCBDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQIC4gJy9hbGlhc1xkKi8nLCBDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQIC4gJy9maWx0ZXJfXHcqLycsIENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2lsZW50JywgQ0xFQU5fSU5UKTsKICB9CiAgCiAgLy9mdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKSB7fQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBjYW5fc21hcnRfZW1iZWQoJHNyYykKICB7CiAgICBnbG9iYWwgJENNU19BRE1JTl9QQUdFOwogICAgZ2xvYmFsICRDTVNfU1RZTEVTSEVFVDsKICAgIAogICAgJGltYWdzaXplID0gZmlsZXNpemUoJHNyYyk7CiAgICAKICAgICRicm93c2VyID0geHRfdXRpbHM6OmdldF9icm93c2VyKCk7CiAgICBzd2l0Y2goICRicm93c2VyLT5nZXRCcm93c2VyKCkgKQogICAgewogICAgICBjYXNlIEJyb3dzZXI6OkJST1dTRVJfSUU6CiAgICAgICAgJHZlciA9ICRicm93c2VyLT5nZXRWZXJzaW9uKCk7CiAgICAgICAgaWYoJHZlciA8PSA3KQogICAgICAgIHsKICAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICAgICB9CiAgICAgICAgaWYoJENNU19TVFlMRVNIRUVUICYmICR2ZXIgPCA4KQogICAgICAgIHsKICAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICAgICB9CiAgICAgICAgaWYoOCA9PT0gJHZlciAmJiAkaW1hZ3NpemUgPj0gMzIgKiAxMDI0KQogICAgICAgIHsKICAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICAgIAogICAgICBkZWZhdWx0OgogICAgICAgIHJldHVybiBUUlVFOwogICAgfQogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gY2FuX2VtYmVkKCRzcmMpCiAgewogICAgaWYoICFpc19yZWFkYWJsZSgkc3JjKSApIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAKICAgICRlX21vZGUgICAgICAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScpOwogICAgJGVfc2l6ZV9saW1pdCA9IChpbnQpJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VtYmVkX3NpemVsaW1pdCcpOwogICAgJGVfdHlwZXMgICAgICA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycpOwogICAgCiAgICBzd2l0Y2goJGVfbW9kZSkKICAgIHsKICAgICAgY2FzZSAnc21hcnQnOgogICAgICAgIHJldHVybiAkdGhpcy0+Y2FuX3NtYXJ0X2VtYmVkKCRzcmMpOwogICAgICAKICAgICAgY2FzZSAnc21hcnRfbGltaXRlZCc6CiAgICAgICAgaWYoJGVfc2l6ZV9saW1pdCA8PSAwIHx8ICRlX3NpemVfbGltaXQgPiAxMDAwMCkgeyByZXR1cm4gRkFMU0U7IH0KICAgICAgICAKICAgICAgICAkZV9zaXplX2xpbWl0ICo9IDEwMjQ7CiAgICAgICAgJHRtcCAgICAgICAgICA9IGZpbGVzaXplKCRzcmMpOwogICAgICAgIAogICAgICAgIGlmKCR0bXAgPiAkZV9zaXplX2xpbWl0KSB7IHJldHVybiBGQUxTRTsgfQogICAgICAgIAogICAgICAgIHJldHVybiAkdGhpcy0+Y2FuX3NtYXJ0X2VtYmVkKCRzcmMpOwogICAgICBicmVhazsKICAgICAgCiAgICAgIGNhc2UgJ3NpemVsaW1pdCc6CiAgICAgICAgLy8gY2hlY2sgdGhlIGxpbWl0LgogICAgICAgIGlmKCRlX3NpemVfbGltaXQgPD0gMCB8fCAkZV9zaXplX2xpbWl0ID4gMTAwMDApIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAgICAgCiAgICAgICAgJGVfc2l6ZV9saW1pdCAqPSAxMDI0OwogICAgICAgIC8vIGdldCB0aGUgZmlsZXNpemUKICAgICAgICAkdG1wID0gZmlsZXNpemUoJHNyYyk7CiAgICAgICAgCiAgICAgICAgaWYoJHRtcCA+ICRlX3NpemVfbGltaXQpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICAgIAogICAgICBjYXNlICd0eXBlJzoKICAgICAgICBpZighJGVfdHlwZXMpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAgICAgCiAgICAgICAgJHR5cGVzID0gZXhwbG9kZSgnLCcsICRlX3R5cGVzKTsKICAgICAgICAkZXh0ICAgPSBzdHJyY2hyKCRzcmMsICcuJyk7CiAgICAgICAgCiAgICAgICAgaWYoISRleHQpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAgICAgCiAgICAgICAgZm9yZWFjaCgkdHlwZXMgYXMgJHR5cGUpCiAgICAgICAgewogICAgICAgICAgaWYoICcuJyAuIHN0cnRvbG93ZXIoJHR5cGUpID09PSBzdHJ0b2xvd2VyKCRleHQpICkgeyByZXR1cm4gVFJVRTsgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgIGJyZWFrOwogICAgICAKICAgICAgY2FzZSAnbm9uZSc6CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NhY2hlX3BhdGgoKQogIHsKICAgICRjb25maWcgICAgID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkY2FjaGVfcGF0aCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJyk7CiAgICAKICAgIGlmKCEkY2FjaGVfcGF0aCkKICAgIHsKICAgICAgJGNhY2hlX3BhdGggPSBjbXNfam9pbl9wYXRoKCd1cGxvYWRzJywgJ18nIC4gJHRoaXMtPkdldE5hbWUoKSk7CiAgICB9CiAgICAKICAgICRjYWNoZV9wYXRoID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJGNhY2hlX3BhdGgpOwogICAgCiAgICByZXR1cm4gJGNhY2hlX3BhdGg7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBjbGVhcl9jYWNoZWRfZmlsZXMoKQogIHsKICAgICRjb25maWcgICAgID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkY2FjaGVfcGF0aCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJywgY21zX2pvaW5fcGF0aCgndXBsb2FkcycsICdfJyAuICR0aGlzLT5HZXROYW1lKCkpKTsKICAgICR0cDEgICAgICAgID0gJGNhY2hlX3BhdGg7CiAgICAKICAgIGlmKCFpc19kaXIoJHRwMSkpCiAgICB7CiAgICAgICR0cDEgPSAkY29uZmlnWydyb290X3BhdGgnXSAuICcvJyAuICR0cDE7CiAgICB9CiAgICAKICAgICRwMSA9IHJlYWxwYXRoKCR0cDEpOwogICAgJHAyID0gcmVhbHBhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10pOwogICAgCiAgICBpZigkcDEgPT0gJHAyIHx8ICFzdGFydHN3aXRoKCRwMSwgJHAyKSkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJHRoaXMtPkxhbmcoJ2Vycm9yX2NhY2hlcGF0aF9pbnZhbGlkJykgKTsKICAgIH0KICAgIAogICAgJGRpciA9ICR0cDE7CiAgICAKICAgICRhZ2VfZGF5cyA9IChpbnQpJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NhY2hlX2FnZScpOwogICAgCiAgICBpZigkYWdlX2RheXMgPD0gMCkKICAgIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfYWdlJykgKTsKICAgIH0KICAgIAogICAgJHRoZWRhdGUgICA9IHRpbWUoKSAtICRhZ2VfZGF5cyAqIDI0ICogNjAgKiA2MDsKICAgICRuX3JlbW92ZWQgPSAwOwogICAgaWYoJGRoID0gb3BlbmRpcigkZGlyKSkKICAgIHsKICAgICAgd2hpbGUoIEZBTFNFICE9PSAoICRmaWxlID0gcmVhZGRpcigkZGgpICkgKQogICAgICB7CiAgICAgICAgaWYoc3RhcnRzd2l0aCgkZmlsZSwgJy4nKSkgeyBjb250aW51ZTsgfSAvLyBpZ25vcmUgaGlkZGVuIGZpbGVzLgogICAgICAgIAogICAgICAgICRmbiA9IGNtc19qb2luX3BhdGgoJGRpciwgJGZpbGUpOwogICAgICAgIAogICAgICAgIGlmKGlzX2ZpbGUoJGZuKSAmJiBmaWxlbXRpbWUoJGZuKSA8ICR0aGVkYXRlKQogICAgICAgIHsKICAgICAgICAgIEB1bmxpbmsoJGZuKTsKICAgICAgICAgICRuX3JlbW92ZWQrKzsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIGNsb3NlZGlyKCRkaCk7CiAgICB9CiAgICAKICAgIHJldHVybiAkbl9yZW1vdmVkOwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcyA9IFtdKQogIHsKICAgIHJldHVybiAndGFza3MnID09PSAkY2FwYWJpbGl0eTsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldF90YXNrcygpCiAgewogICAgJG91dCAgID0gW107CiAgICAkb3V0W10gPSBuZXcgU21hcnRJbWFnZV9DbGVhckNhY2hlVGFzaygpOwogICAgJHByZWZzID0gXFNtYXJ0SW1hZ2VcYXV0b3Byb2Nlc3Nfb3B0aW9uczo6bG9hZCgpOwogICAgCiAgICBpZigkcHJlZnMgJiYgJHByZWZzLT5lbmFibGVkKQogICAgewogICAgICAkb3V0W10gPSBuZXcgXFNtYXJ0SW1hZ2VcQXV0b1Byb2Nlc3NNYXN0ZXJUYXNrKCk7CiAgICB9CiAgICAKICAgIHJldHVybiAkb3V0OwogIH0KICAKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NhY2hlZF9pbWFnZV91cmwoJGZpbGVuYW1lKQogIHsKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICRwcmVmaXggPSB0cmltKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfcHJlZml4JykpOwogICAgCiAgICBpZighJHByZWZpeCkgeyAkcHJlZml4ID0gJGNvbmZpZ1sncm9vdF91cmwnXTsgfQogICAgCiAgICAkaGFzY2FjaGVkaXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJyk7CiAgICAKICAgICR1cmwgPSAkcHJlZml4OwogICAgCiAgICBpZiggIWVuZHN3aXRoKCR1cmwsICcvJykgKSB7ICR1cmwgLj0gJy8nOyB9CiAgICAKICAgIGlmKCEkaGFzY2FjaGVkaXIpCiAgICB7CiAgICAgICRjYWNoZV91cmwgPSB0cmltKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfcGF0aCcpICk7CiAgICAgIAogICAgICBpZighJGNhY2hlX3VybCkgeyAkY2FjaGVfdXJsID0gJ3VwbG9hZHMvXycgLiAkdGhpcy0+R2V0TmFtZSgpOyB9CiAgICAgIAogICAgICAkY2FjaGVfdXJsID0gc3RyX3JlcGxhY2UoRElSRUNUT1JZX1NFUEFSQVRPUiwgJy8nLCAkY2FjaGVfdXJsKTsgLy8gPC0gRW5zdXJlIGNvcnJlY3Qgc2xhc2hlcyBmb3IgVVJMCiAgICAgICR1cmwgICAgICAgLj0gJGNhY2hlX3VybDsKICAgIH0KICAgIAogICAgaWYoICFlbmRzd2l0aCgkdXJsLCAnLycpICkgeyAkdXJsIC49ICcvJzsgfQogICAgCiAgICAkdXJsIC49ICRmaWxlbmFtZTsKICAgIAogICAgcmV0dXJuICR1cmw7CiAgfQogIAp9IC8vIGVuZCBvZiBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/templates</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_aliases_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtb2QtPkxhbmcoJ2luZm9fYWxpYXNlcycpfTwvcD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICAkKCcjYWxpYXNfdGFibGUgdHI6bGFzdCcpLmZpbmQoJ2ltZycpLmhpZGUoKTsKICAkKCcjYWRkX3JvdycpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICB2YXIgbmV3X3JvdyA9ICQoJyNhbGlhc190YWJsZSB0cjpsYXN0JykuY2xvbmUodHJ1ZSk7CiAgICAkKCcjYWxpYXNfdGFibGUgdHI6bGFzdCcpLmZpbmQoJ2ltZycpLnNob3coKTsKICAgIG5ld19yb3cuZmluZCgnOmlucHV0JykuZWFjaChmdW5jdGlvbigpewogICAgICAkKHRoaXMpLnZhbCgnJyk7CiAgICB9KTsKICAgICQoJyNhbGlhc190YWJsZSB0Ym9keScpLmFwcGVuZChuZXdfcm93KTsKICAgIHJldHVybiBmYWxzZTsKICB9KTsKCiAgJCgnaW1nLmRlbGV0ZXJvdycpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICBpZiggJCgnI2FsaWFzX3RhYmxlIHRyJykubGVuZ3RoIDw9IDIgKSByZXR1cm4gZmFsc2U7CiAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykucmVtb3ZlKCk7ICAgCiAgfSk7Cn0pOwo8L3NjcmlwdD4KCnskZm9ybXN0YXJ0fQo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSBwYWdlaW5wdXQiIGNlbGxzcGFjaW5nPSIwIiBpZD0iYWxpYXNfdGFibGUiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoPnskbW9kLT5MYW5nKCdhbGlhcycpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnb3B0aW9ucycpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+CiAgPHRib2R5Pgp7aWYgaXNzZXQoJGFsaWFzZXMpfQp7Zm9yZWFjaCBmcm9tPSRhbGlhc2VzIGl0ZW09J2FsaWFzJ30KICAgIDx0cj4KICAgICAgPHRkPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFsaWFzX25hbWVbXSIgdmFsdWU9InskYWxpYXMubmFtZXxodG1sc3BlY2lhbGNoYXJzfSIgc2l6ZT0iMjAiIG1heGxlbmd0aD0iNTAiLz4KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFsaWFzX29wdGlvbnNbXSIgdmFsdWU9InskYWxpYXMub3B0aW9uc3xodG1sc3BlY2lhbGNoYXJzfSIgc2l6ZT0iNjAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICB7eHRpbWFnZSBjbGFzcz0nZGVsZXRlcm93JyBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0kbW9kLT5MYW5nKCdkZWxldGUnKX0KICAgICAgPC90ZD4KICAgIDwvdHI+CnsvZm9yZWFjaH0Key9pZn0KICAgIHsqIGVtcHR5IHJvdyAqfQogICAgPHRyPgogICAgICA8dGQ+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9YWxpYXNfbmFtZVtdIiB2YWx1ZT0iIiBzaXplPSIyMCIgbWF4bGVuZ3RoPSI1MCIvPgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9YWxpYXNfb3B0aW9uc1tdIiB2YWx1ZT0iIiBzaXplPSI2MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIHt4dGltYWdlIGNsYXNzPSdkZWxldGVyb3cnIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgYWx0PSRtb2QtPkxhbmcoJ2RlbGV0ZScpfQogICAgICA8L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9ImFkZF9yb3ciIG5hbWU9InskYWN0aW9uaWR9YWRkX3JvdyIgdmFsdWU9InskbW9kLT5MYW5nKCdhZGRfcm93Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_autoprocessing_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19hdXRvcHJvY2Vzc2luZycpfTwvZGl2Pgo8ZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8ZGl2IGNsYXNzPSJncmlkXzIiPiZuYnNwOzwvZGl2PgogIDxkaXYgY2xhc3M9ImdyaWRfMTAiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICB7aWYgJHByZWZzLT5lbmFibGVkfQogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1iZWdpbl9hdXRvcHJvY2VzcyIgdmFsdWU9InskbW9kLT5MYW5nKCdiZWdpbl9hdXRvcHJvY2VzcycpfSIvPgogICAgey9pZn0KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPGRpdiBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdhdXRvcHJvY2Vzc19lbmFibGVkJyl9OjwvZGl2PgogIDxkaXYgY2xhc3M9ImdyaWRfMTAiPgogICAge3h0X3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWFwX2VuYWJsZWQgc2VsZWN0ZWQ9JHByZWZzLT5lbmFibGVkfQogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8ZGl2IGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ2F1dG9wcm9jZXNzX2lnbm9yZV9leHRlbnNpb25zJyl9OjwvZGl2PgogIDxkaXYgY2xhc3M9ImdyaWRfMTAiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9YXBfaWdub3JlX2V4dGVuc2lvbnMiIHZhbHVlPSJ7JHByZWZzLT5pZ25vcmVfZXh0ZW5zaW9uc30iLz4KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPGRpdiBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdhdXRvcHJvY2Vzc19pZ25vcmVfZGlycycpfTo8L2Rpdj4KICA8ZGl2IGNsYXNzPSJncmlkXzEwIj4KICAgIDx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWFwX2lnbm9yZV9kaXJzIiByb3dzPSI1IiBjb2xzPSI1MCIvPnskcHJlZnMtPmlnbm9yZV9kaXJzfTwvdGV4dGFyZWE+CiAgICA8YnIvPnskbW9kLT5MYW5nKCdoZWxwX2FwX2lnbm9yZV9kaXJzJyl9CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwiPgogIDxkaXYgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygnYXV0b3Byb2Nlc3NfaW5jbHVkZV9kaXJzJyl9OjwvZGl2PgogIDxkaXYgY2xhc3M9ImdyaWRfMTAiPgogICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9YXBfaW5jbHVkZV9kaXJzIiByb3dzPSI1IiBjb2xzPSI1MCIvPnskcHJlZnMtPmluY2x1ZGVfZGlyc308L3RleHRhcmVhPgogICAgPGJyLz57JG1vZC0+TGFuZygnaGVscF9hcF9pbmNsdWRlX2RpcnMnKX0KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPGRpdiBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdhdXRvcHJvY2Vzc19tYXhfc2l6ZScpfTo8L2Rpdj4KICA8ZGl2IGNsYXNzPSJncmlkXzEwIj4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFwX21heF9zaXplIiBzaXplPSI1IiBtYXhsZW5ndGg9IjUiIHZhbHVlPSJ7JHByZWZzLT5tYXhfc2l6ZX0iLz4KICAgIDxici8+eyRtb2QtPkxhbmcoJ2hlbHBfYXBfbWF4X3NpemUnKX0KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPGRpdiBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdhdXRvcHJvY2Vzc19hdXRvcm90YXRlJyl9OjwvZGl2PgogIDxkaXYgY2xhc3M9ImdyaWRfMTAiPgogICAge3h0X3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWFwX2F1dG9yb3RhdGUgc2VsZWN0ZWQ9JHByZWZzLT5hdXRvcm90YXRlfQogICAgPGJyLz57JG1vZC0+TGFuZygnaGVscF9hcF9hdXRvcm90YXRlJyl9CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwiPgogIDxkaXYgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygnYXV0b3Byb2Nlc3Nfd2F0ZXJtYXJrJyl9OjwvZGl2PgogIDxkaXYgY2xhc3M9ImdyaWRfMTAiPgogICAge3h0X3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWFwX3dhdGVybWFyayBzZWxlY3RlZD0kcHJlZnMtPndhdGVybWFya30KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_embedding_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW1iZWRkaW5nX21vZGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWVtYmVkX21vZGUiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRlbWJlZF9tb2RlcyBzZWxlY3RlZD0kZW1iZWRfbW9kZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2VtYmVkX21vZGUnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2VtYmVkX3NpemVsaW1pdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1lbWJlZF9zaXplbGltaXQiIHNpemU9IjQiIG1heGxlbmd0aD0iNCIgdmFsdWU9InskZW1iZWRfc2l6ZWxpbWl0fSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2VtYmVkX3NpemVsaW1pdCcpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW1iZWRfdHlwZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZW1iZWRfdHlwZXMiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjIwIiB2YWx1ZT0ieyRlbWJlZF90eXBlc30iLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19lbWJlZF90eXBlcycpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_general_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2F1dG9zY2FsZV9vcCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7JHRtcD1bICdyZXNpemUnPT4gJG1vZC0+TGFuZygncmVzaXplJyksICdjcm9wdG9maXQnID0+ICRtb2QtPkxhbmcoJ2Nyb3B0b2ZpdCcpIF19CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9YXV0b3NjYWxlX29wIj4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kdG1wIHNlbGVjdGVkPSRhdXRvc2NhbGVfb3B9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19hdXRvc2NhbGVfb3AnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jcm9wdG9maXRfZGVmYXVsdF9sb2MnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWNyb3B0b2ZpdF9kZWZhdWx0X2xvYyI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGNyb3B0b2ZpdF9sb2NzIHNlbGVjdGVkPSRjcm9wdG9maXRfZGVmYXVsdF9sb2N9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19jcm9wdG9maXRfZGVmYXVsdF9sb2MnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9wcm9ncmVzc2l2ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7eHRfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9J3Byb2dyZXNzaXZlJyBzZWxlY3RlZD0kcHJvZ3Jlc3NpdmV9CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fcHJvZ3Jlc3NpdmUnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9mb3JjZV9leHRlbnNpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge3h0X3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdmb3JjZV9leHRlbnNpb24nIHNlbGVjdGVkPSRmb3JjZV9leHRlbnNpb259CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fZm9yY2VfZXh0ZW5zaW9uJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtYXhfY2FjaGVfYWdlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhY2hlX2FnZSIgdmFsdWU9InskY2FjaGVfYWdlfSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIi8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNsZWFyX25vdyIgdmFsdWU9InskbW9kLT5MYW5nKCdjbGVhcl9ub3cnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2xlYXJfYWxsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NsZWFyX2FsbCcpfSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnKX0nKTsiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19jYWNoZV9hZ2UnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NhY2hlX3BhdGgnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y2FjaGVfcGF0aCIgdmFsdWU9InskY2FjaGVfcGF0aH0iIHNpemU9IjQwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2NhY2hlX3BhdGgnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltYWdlX3VybF9wcmVmaXgnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aW1hZ2VfdXJsX3ByZWZpeCIgdmFsdWU9InskaW1hZ2VfdXJsX3ByZWZpeH0iIHNpemU9IjQwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2ltYWdlX3VybF9wcmVmaXgnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7eHRfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9J2ltYWdlX3VybF9oYXNjYWNoZWRpcicgc2VsZWN0ZWQ9JGltYWdlX3VybF9oYXNjYWNoZWRpcn0KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19pbWFnZV91cmxfaGFzY2FjaGVkaXInKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N1cHByZXNzX2Vycm9ycycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7eHRfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9J3NpbGVudCcgc2VsZWN0ZWQ9JHNpbGVudH0KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19zdXBwcmVzc19lcnJvcnMnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NoZWNrX21lbW9yeScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7eHRfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9J2NoZWNrbWVtb3J5JyBzZWxlY3RlZD0kY2hlY2ttZW1vcnl9CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fY2hlY2tfbWVtb3J5Jyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_responsive_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5hYmxlX3Jlc3BvbnNpdmUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXJlc3BvbnNpdmUiPgogICAgICB7eHRfeWVzbm9fb3B0aW9ucyBzZWxlY3RlZD0kcmVzcG9uc2l2ZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX3Jlc3BvbnNpdmUnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2Fzc3VtZV9yZXNwb25zaXZlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1hc3N1bWVfcmVzcG9uc2l2ZSI+CiAgICAgIHt4dF95ZXNub19vcHRpb25zIHNlbGVjdGVkPSRhc3N1bWVfcmVzcG9uc2l2ZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2Fzc3VtZV9yZXNwb25zaXZlJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNwb25zaXZlX2JyZWFrcG9pbnRzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc3BvbnNpdmVfYnJlYWtwb2ludHMiIHZhbHVlPSJ7JHJlc3BvbnNpdmVfYnJlYWtwb2ludHN9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19yZXNwb25zaXZlX2JyZWFrcG9pbnRzJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/changelog.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPlsyMDIxLTA5LTA1XSBWZXJzaW9uIDEuMCAtIEluaXRpYWwgUmVsZWFzZTwvaDM+DQo8aHI+DQo8aDM+WzIwMjMtMDMtMDNdIFZlcnNpb24gMS4xLjAgLSBbVW5yZWxlYXNlZF08L2gzPg0KPGg0PkZpeGVkPC9oND4NCjx1bD4NCiAgPGxpPkJ1ZyBbIzEyNDcyXSBGaWxlIG5vdCBmb3VuZCBpc3N1ZTs8L2xpPg0KICA8bGk+QnVnIFsjMTI0NzFdIGZpbHRlcl9OT09QIGRvY3VtZW50YXRpb24gZXJyb3I7PC9saT4NCiAgPGxpPkJ1ZyBbIzEyNTcwXSAnc2lfY29udmVydCBwbHVnaW4gcmVwb3J0cyBtaXNzaW5nIHNyYz0gdGFnJzs8L2xpPg0KPC91bD4NCjxoND5BZGRlZDwvaDQ+DQo8dWw+DQogIDxsaT5OZXcgdGFnIHBhcmFtZXRlcjogPGI+Zm9yY2Vfc2VvX25hbWU8L2I+IC0gdXNlcyB0aGUgb3JpZ2luYWwgZmlsZW5hbWUgYXMgdGhlIHNvdXJjZSBmb3IgdGhlIGdlbmVyYXRlZCBmaW5hbCBuYW1lLiBBIHByZWZpeCBpcyBhZGRlZCBhbmQgZW1wdHkgc3BhY2VzIGFyZSByZXBsYWNlZCBieSBoeXBoZW5zICwgYnV0IGEgaHVtYW4gcmVhZGFibGUgZmlsZW5hbWUgaXMga2VwdCBiYXNlZCBvbiB0aGUgb3JpZ2luYWwgbmFtZS48L2xpPg0KPC91bD4NCjxocj4NCnsqDQpBZGRlZCAtIGZvciBuZXcgZmVhdHVyZXMuDQpDaGFuZ2VkIC0gZm9yIGNoYW5nZXMgaW4gZXhpc3RpbmcgZnVuY3Rpb25hbGl0eS4NCkRlcHJlY2F0ZWQgLSBmb3Igb25jZS1zdGFibGUgZmVhdHVyZXMgcmVtb3ZlZCBpbiB1cGNvbWluZyByZWxlYXNlcy4NClJlbW92ZWQgLSBmb3IgZGVwcmVjYXRlZCBmZWF0dXJlcyByZW1vdmVkIGluIHRoaXMgcmVsZWFzZS4NCkZpeGVkIC0gZm9yIGFueSBidWcgZml4ZXMuDQpTZWN1cml0eSAtIHRvIGludml0ZSB1c2VycyB0byB1cGdyYWRlIGluIGNhc2Ugb2YgdnVsbmVyYWJpbGl0aWVzLg0KKn0=]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.contribute.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCg0KICA8aDM+SG93IENhbiBJIEhlbHA/PC9oMz4NCiAgPHA+SWYgeW91IHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuPC9wPg0KICA8cD5BbGwgaGVscCBpcyBhcHByZWNpYXRlZCwgbm8gY29udHJpYnV0aW9uIGlzIHRvbyBzbWFsbCEgVGhlIG1vcmUgcGVvcGxlIGNvbnRyaWJ1dGUgdGhlIG1vcmUgdGltZSBjYW4gYmUgYWxsb2NhdGVkIHRvIHRoZSBtYWludGVuYW5jZSBhbmQgZGV2ZWxvcG1lbnQgb2YgdGhlIG1vZHVsZS4gVGhpcyBhbHNvIGVucmljaGVzIENNUyBNYWRlIFNpbXBsZS48L3A+DQoNCiAgPGg0PlBheVBhbDwvaDQ+DQogIDxwPllvdSBjYW4gY29udHJpYnV0ZSB3aXRoIGEgb25lIHRpbWUgZG9uYXRpb24gb3IgYSByZWN1cnJlbnQgb25lLCBqdXN0IGNsaWNrIG9uOjxwPg0KICAgIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4NCiAgPHA+DQogICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9kb25hdGUvP2hvc3RlZF9idXR0b25faWQ9MzZMVFhIMjQ4TDdHTCI+DQogICAgICAgIDxpbWcgc3JjPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skbW9kLT5HZXROYW1lKCl9L2ltYWdlcy9wcF9idXR0b24ucG5nIiBhbHQ9IlBheVBhbCBEb25hdGUgQnV0dG9uIiAvPg0KICAgICAgPC9hPg0KICA8L3A+DQogIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4NCiAgPHA+DQogICAgT3IgdXNlIHRoZSBmb2xsb3dpbmcgUVIgY29kZSBmb3IgdGhlIHNhbWUgUGF5UGFsIGFjY291bnQ6IDwvcD4NCiAgPGRpdiBjbGFzcz0ibV90b3BfMjUiPjwvZGl2Pg0KICAgIDxwPjxpbWcgc3JjPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skbW9kLT5HZXROYW1lKCl9L2ltYWdlcy9wcF9xcl9jb2RlLnBuZyIgYWx0PSJQYXlQYWwgUVIgQ29kZSIgLz4NCiAgPC9wPg0KICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+DQo8cD5Ob3RlOiB0aGUgcGF5cGFsIGRvbmF0ZSBsaW5rIGhhcyBiZWVuIHVwZGF0ZWQgdG8gbXkgU21BcnQgTGFiIGFjY291bnQuIEkgd2Fzbid0IHVzaW5nIG15IHBlcnNvbmFsIGFjY291bnQgdGhhdCBtdWNoIGFuZCB0aGUgYWNjb3VudCB3YXMgYmVpbmcgbW9yZSBvZiBhbiBoYXNzbGUgdGhhbiBhbiBhc3NldC4uLiBUaGF0J3MgUFAgZm9yJ3lhLi4uPC9wPg0KICA8aDQ+Qml0Y29pbjwvaDQ+DQogIDxwPiBVc2UgdGhlIGZvbGxvd2luZyBidGMgYWRkcmVzczogPC9wPg0KICA8cD48c3BhbiBpZD0iczEiPjE3RzJKRDQxMXNVM3N3Y3ByTmNHTFFDY0hhWkJ5SzE5OE48L3NwYW4+IDxidXR0b24gb25jbGljaz0iY29weVRvQ2xpcGJvYXJkKCcjczEnKSI+Q29weSB0byBDbGlwYm9hcmQ8L2J1dHRvbj48L3A+DQogIDxwPg0KICAgIE9yIHVzZSB0aGUgZm9sbG93aW5nIFFSIGNvZGU6IDxicj4NCiAgICA8aW1nIHNyYz0ieyRyb290X3VybH0vbW9kdWxlcy97JG1vZC0+R2V0TmFtZSgpfS9pbWFnZXMvYnRjX3FyX2NvZGUucG5nIiBhbHQ9IlBheVBhbCBRUiBDb2RlIiAvPg0KICA8L3A+DQoNCiAgPGgzPkNvbnRyaWJ1dGlvbnM8L2gzPg0KICA8cD5PcGVuIFNvdXJjZSBtb2R1bGUgZGV2ZWxvcG1lbnQgZm9yIENNU01TIGlzIHByZXR0eSBtdWNoIGEgdm9sdW50ZWVyIGNvbW1pdG1lbnQuIFRoZSBkZXZlbG9wZXIgY29tbWl0cyB0aGUgdGltZSBoZSBjYW4gc3BhcmUgdG8gdGhlIHByb2plY3RzIGhlIGNvbnNpZGVycyBpbXBvcnRhbnQgdG8gdGhlIGZ1dHVyZSBvZiB0aGUgZ3JlYXRlciBwcm9qZWN0IHRoYXQgQ01TTVMgaXMuIFNvbWV0aW1lcyB3aGF0IG9uZSBiZWxpZXZlcyBpcyBpbXBvcnRhbnQgaXMgbm90IGNvbnZlcmdlbnQgd2l0aCB3aGF0IHRoZSBjb21tdW5pdHkgYmVsaWV2ZXMgdG8gYmUgaW1wb3J0YW50LiBTb21ldGltZXMgaXQncyBhIHdha2V1cCBjYWxsIGFuZCB0aGUgZGV2ZWxvcGVyIGVtYnJhY2VzIHNvbWUgb2YgdGhlIGNvbW11bml0eSdzIHZpc2lvbiwgc29tZXRpbWVzIGJvdGggdmlzaW9ucyBhcmUgbm90IGNvbXBhdGlibGUuIEl0J3MgYSBiYWxhbmNlIGRpZmZpY3VsdCB0byBhY2hpZXZlLCBidXQgYnJpbmdzIG1vcmUgcmVzcG9uc2liaWxpdHkgdG8gdGhlIGRldmVsb3Blci4gQnV0IGFsc28gcmVxdWlyZXMgc29tZSBlbXBhdGh5IGZyb20gdGhlIGNvbW11bml0eS4gQW5kIHRpbWUuLi48L3A+DQogIDxwPlBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50LjwvcD4NCiAgPHA+QW5vdGhlciB3YXkgdGhhdCAna2lja3MgdGhlIGNhbicgZm9yd2FyZCB3aGlsZSBtb3RpdmF0aW5nIHRoZSBtb2R1bGUgZGV2ZWxvcGVyIGlzIHRvIHNwb25zb3IgZmVhdHVyZXMgdGhhdCB3ZWIgZGV2ZWxvcGVycyB3b3VsZCBsaWtlIHRvIHNlZSBpbXBsZW1lbnRlZC4gV2ViIGRldmVsb3BlcnMsIG1vcmUgb2Z0ZW4gdGhhdCBub3QsIGtub3cgd2hhdCB0aGUgZmluYWwgY2xpZW50IHdhbnRzIG9yIG5lZWRzIGFuZCBoZWxwIGJyaWRnaW5nIHRoZSBnYXAgYmV0d2VlbiB0aGUgZmluYWwgdXNlciBhbmQgdGhlIG9yaWdpbmFsIGNyZWF0b3Igb2YgdGhlIG1vZHVsZXMuIEtlZXAgaW4gbWluZCB0aGF0IG1vZHVsZXMsIG1vcmUgdGhhbiB0aGUgQ01TTVMgY29yZSwgYXJlIHBhcnRpY3VsYXJseSBhcHQgdG8gY292ZXIgc2l0ZXMgc3BlY2lhbCBuZWVkcywgdGhlIGNvcmUgYmVpbmcgdGhlIHN1cHBvcnQgYXJvdW5kIHdoaWNoIGFsbCB0aGluZ3MgYXJlIHBvc3NpYmxlLiBTbywgaWYgc2VlIHRoZSBuZWVkIGZvciBhIHBhcnRpY3VsYXIgZmVhdHVyZSBpbiBhbiBleGlzdGluZyBtb2R1bGUsIG9yIGEgYmVzcG9rZSBtb2R1bGUgZm9yIGEgc3BlY2lhbCBuZWVkLCBzZWUgaWYgdGhlIGZpbmFsIGN1c3RvbWVyIGNhbiBmaXQgaW4gdGhlIGJ1ZGdldCB0aGUgc3BvbnNvcnNoaXAgb2YgdGhhdCBwcm9qZWN0LiBBc2sgYSBkZXZlbG9wZXIgb3IgdGhlIGFjdHVhbCBtb2R1bGUgZGV2ZWxvcGVyIGlmIGl0cyBhIG1vZHVsZSBmZWF0dXJlIHRoYXQgaXMgcmVxdWVzdGVkLCBmb3IgYW4gZXN0aW1hdGUgZm9yIHRoZSBqb2IgYW5kIHRyeSB0byBtYWtlIGl0IHBvc3NpYmxlLiBTb21ldGltZXMgaXQgbWF5IGJlIGNoZWFwZXIgdGhhbiBpdCBsb29rcywgb3RoZXIgdGltZXMgaXQgbWF5IGJlIHBvc3NpYmxlIHZpYSBzb21lIHNvcnQgb2YgY3Jvd2QgZnVuZGluZy4gV2hlbiBpdCBoYXBwZW5zLCBpdCdzIGEgd2luLXdpbiBzaXR1YXRpb24uIFRoZSBjb21tdW5pdHkgd2lucywgdGhlIHdlYiBkZXZlbG9wZXIgd2lucywgdGhlIGNsaWVudCB3aW5zLCBDTVNNUyB3aW5zIGFuZCB0aGUgbW9kdWxlIGRldmVsb3BlciB3aW5zLjwvcD4NCiAgPHA+QSBkaWZmZXJlbnQgd2F5IHRoYXQgaGVscHMgdG9vOiBmb3VuZCBhIGJ1Zz8gZmlsZSBhIGJ1ZyByZXBvcnQuIEJ1dCBwbGVhc2UsIGJlIGFzIHRob3JvdWdoIGluIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYnVnLCB0aGUgY2lyY3Vtc3RhbmNlcyBhbmQgZW52aXJvbm1lbnQgd2hlcmUgaXQgaGFwcGVuZWQgYW5kIHRoZSBzdGVwcyB0byByZXByb2R1Y2UgaXQ7IGlmIHRoZSBkZXZlbG9wZXIgY2FuJ3QgcmVwcm9kdWNlIHRoZSBidWcgaXQgd2lsbCBiZSBkaWZmaWN1bHQsIGlmIG5vdCBpbXBvc3NpYmxlLCB0byBmaXggaXQ6IGFzIGZhciBhcyB0aGUgZGV2ZWxvcGVyIGlzIGNvbmNlcm5lZCBpZiBpdCBjYW5ub3QgYmUgcmVwcm9kdWNlZCBpdCBkb2Vzbid0IGV4aXN0LiBCZXR0ZXIgeWV0LCBpZiB5b3Uga25vdyBob3cgdG8gZml4IGl0LCBzdWdnZXN0IHRoZSBwb3NzaWJsZSBmaXguIElmIHZhbGlkLCB0aGUgZGV2ZWxvcGVyIHdpbGwgc3VyZWx5IGluY2x1ZGUgaXQuPC9wPg0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.new.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCg0KICA8aDM+V2hhdCdzIG5ldzwvaDM+DQoNCiAgPHA+VGhlc2UgYXJlIHNvbWUgb2YgdGhlIG5ldyBmZWF0dXJlcyBvZiB0aGUgbGF0ZXN0IHJlbGVhc2VzOjwvcD4NCg0KICA8cCBjbGFzcz0iZ3JlZW4iPkFkZGVkPC9wPg0KDQogIDx1bD4NCiAgICA8bGk+TmV3IHRhZyBwYXJhbWV0ZXI6IDxiPmZvcmNlX3Nlb19uYW1lPC9iPiAtIHVzZXMgdGhlIG9yaWdpbmFsIGZpbGVuYW1lIGFzIHRoZSBzb3VyY2UgZm9yIHRoZSBnZW5lcmF0ZWQgZmluYWwgbmFtZS4gQSBwcmVmaXggaXMgYWRkZWQgYW5kIGVtcHR5IHNwYWNlcyBhcmUgcmVwbGFjZWQgYnkgaHlwaGVucyAsIGJ1dCBhIGh1bWFuIHJlYWRhYmxlIGZpbGVuYW1lIGlzIGtlcHQgYmFzZWQgb24gdGhlIG9yaWdpbmFsIG5hbWUuPC9saT4NCiAgPC91bD4NCg0KDQo8L2Rpdj4NCg0KeyoNCkFkZGVkIC0gZm9yIG5ldyBmZWF0dXJlcy4NCkNoYW5nZWQgLSBmb3IgY2hhbmdlcyBpbiBleGlzdGluZyBmdW5jdGlvbmFsaXR5Lg0KRGVwcmVjYXRlZCAtIGZvciBvbmNlLXN0YWJsZSBmZWF0dXJlcyByZW1vdmVkIGluIHVwY29taW5nIHJlbGVhc2VzLg0KUmVtb3ZlZCAtIGZvciBkZXByZWNhdGVkIGZlYXR1cmVzIHJlbW92ZWQgaW4gdGhpcyByZWxlYXNlLg0KRml4ZWQgLSBmb3IgYW55IGJ1ZyBmaXhlcy4NClNlY3VyaXR5IC0gdG8gaW52aXRlIHVzZXJzIHRvIHVwZ3JhZGUgaW4gY2FzZSBvZiB2dWxuZXJhYmlsaXRpZXMuDQoqfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3N0cmlwfQ0KICA8c2NyaXB0IHNyYz0ieyR4dC0+R2V0TW9kdWxlVVJMUGF0aCgpfS9qcy9qcy5jb29raWUuanMiPjwvc2NyaXB0Pg0KICA8c2NyaXB0Pg0KICAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCiAgICAgIHZhciBhY3RpdmVfdGFiID0gQ29va2llcy5nZXQoJ3skbW9kLT5HZXROYW1lKCl9X2FjdGl2ZScpOw0KICAgICAgJCgiI2RvbmF0aW5nIikuY2xpY2soZnVuY3Rpb24oZXZlbnQpDQogICAgICB7DQogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgIF9zZXRfYWN0aXZlX3RhYignY29udHJpYnV0ZScpOw0KICAgICAgfSk7DQoNCiAgICAgIGlmKHR5cGVvZiBhY3RpdmVfdGFiID09PSAidW5kZWZpbmVkIikNCiAgICAgIHsNCiAgICAgICAgX3NldF9hY3RpdmVfdGFiKCdnZW5lcmFsJyk7DQogICAgICB9DQogICAgICBlbHNlDQogICAgICB7DQogICAgICAgIF9zZXRfYWN0aXZlX3RhYihhY3RpdmVfdGFiKTsNCiAgICAgIH0NCg0KICAgICAgJCgnI3BhZ2VfdGFicyA+IGRpdicpDQogICAgICAgIC5lYWNoKGZ1bmN0aW9uKCkNCiAgICAgICAgew0KICAgICAgICAgICQodGhpcykuY2xpY2soZnVuY3Rpb24oKQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgIENvb2tpZXMuc2V0KCd7JG1vZC0+R2V0TmFtZSgpfV9hY3RpdmUnLCB0aGlzLmlkKTsNCiAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgfSk7DQoNCg0KICAgIGZ1bmN0aW9uIF9zZXRfYWN0aXZlX3RhYih0YWJfbmFtZSkNCiAgICB7DQogICAgICAkKCcjcGFnZV90YWJzID4gZGl2JykNCiAgICAgICAgLmVhY2goZnVuY3Rpb24oKQ0KICAgICAgICB7DQogICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQogICAgICAgIH0pOw0KDQogICAgICAkKCcjcGFnZV9jb250ZW50ID4gZGl2JykNCiAgICAgICAgLmVhY2goZnVuY3Rpb24oKQ0KICAgICAgICB7DQogICAgICAgICAgJCh0aGlzKS5oaWRlKCk7DQogICAgICAgIH0pOw0KDQogICAgICAkKCcjJyArIHRhYl9uYW1lKS5hZGRDbGFzcygnYWN0aXZlJyk7DQogICAgICAkKCcjJyArIHRhYl9uYW1lICsgJ19jJykuc2hvdygpOw0KICAgICAgQ29va2llcy5zZXQoJ3skbW9kLT5HZXROYW1lKCl9X2FjdGl2ZScsIHRhYl9uYW1lKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBjb3B5VG9DbGlwYm9hcmQoZWxlbWVudCkNCiAgICB7DQogICAgICB2YXIgJHRlbXAgPSAkKCI8aW5wdXQ+Iik7DQogICAgICAkKCJib2R5IikuYXBwZW5kKCR0ZW1wKTsNCiAgICAgICR0ZW1wLnZhbCgkKGVsZW1lbnQpLnRleHQoKSkuc2VsZWN0KCk7DQogICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpOw0KICAgICAgJHRlbXAucmVtb3ZlKCk7DQogICAgfQ0KICA8L3NjcmlwdD4NCg0KPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KDQo8ZGl2IGlkPSJwYWdlX3RhYnMiPg0KDQogIDxkaXYgIGlkPSJnZW5lcmFsIj4NCiAgICBHZW5lcmFsDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJ1c2luZyI+DQogICAgSG93IERvIEkgVXNlIEl0DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJwYXJhbWV0ZXJzIj4NCiAgICBQYXJhbWV0ZXJzDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJzbWFydHkiPg0KICAgIFNtYXJ0eSBQbHVnaW5zDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJhZHYiPg0KICAgIEFkdmFuY2VkDQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJuZXciPg0KICAgIFdoYXQncyBOZXcNCiAgPC9kaXY+DQogICAgPGRpdiBpZD0iY29udHJpYnV0ZSI+DQogICAgICBDb250cmlidXRlDQogICAgPC9kaXY+DQogIDxkaXYgaWQ9ImFib3V0Ij4NCiAgICBBYm91dA0KICA8L2Rpdj4NCg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+DQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPg0KDQogIDxkaXYgaWQ9ImdlbmVyYWxfYyI+DQogICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlNtYXJ0SW1hZ2U7aGVscF9nZW5lcmFsX3RhYi50cGwnfQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0idXNpbmdfYyI+DQogICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlNtYXJ0SW1hZ2U7aGVscF91c2luZ190YWIudHBsJ30NCiAgPC9kaXY+DQogIDxkaXYgaWQ9InBhcmFtZXRlcnNfYyI+DQogICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlNtYXJ0SW1hZ2U7aGVscF9wYXJhbWV0ZXJzX3RhYi50cGwnfQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0ic21hcnR5X2MiPg0KICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpTbWFydEltYWdlO2hlbHBfc21hcnR5X3RhYi50cGwnfQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iYWR2X2MiPg0KICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpTbWFydEltYWdlO2hlbHBfYWR2YW5jZWRfdGFiLnRwbCd9DQogIDwvZGl2Pg0KICAgIHsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqfQ0KICAgIHsqIFdoYXQncyBuZXcgKn0NCiAgPGRpdiBpZD0ibmV3X2MiPg0KICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpTbWFydEltYWdlO2hlbHAudGFiLm5ldy50cGwnfQ0KICA8L2Rpdj4NCg0KICAgIHsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqfQ0KICAgIHsqIERvbmF0aW9ucyAqfQ0KICA8ZGl2IGlkPSJjb250cmlidXRlX2MiPg0KCQl7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6U21hcnRJbWFnZTtoZWxwLnRhYi5jb250cmlidXRlLnRwbCd9DQoJPC9kaXY+DQogIDxkaXYgaWQ9ImFib3V0X2MiPg0KICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpTbWFydEltYWdlO2hlbHBfYWJvdXRfdGFiLnRwbCd9DQogIDwvZGl2Pg0KDQogIDxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+DQo8L2Rpdj4NCnsvc3RyaXB9]]></data>
	</file>
	<file>
	  <filename>/templates/help_about_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkFib3V0IHRoaXMgbW9kdWxlPC9oMz4NCg0KICA8cD5UaGlzIG1vZHVsZSBpcyBhIGZvcmsgb2YgPHN0cm9uZz5DYWxndXkncyBTbWFydCBJbWFnZSBUb29sa2l0IChDR1NtYXJ0SW1hZ2UpPC9zdHJvbmc+IGRldmVsb3BlZCBieSA8c3Ryb25nPlJvYmVydCBDYW1wYmVsbCAmbHQ7Y2FsZ3V5MTAwMCZndDs8L3N0cm9uZz4uPGJyIC8+DQogICAgICBUaGlzIGlzIGEgMXN0IGdlbmVyYXRpb24gZm9yayBvZiB0aGUgbW9kdWxlLiBDb25zaWRlciB0aGlzIGFzIGFub3RoZXIgZmxhdm91ciBvZiB0aGUgb3JpZ2luYWwgbW9kdWxlLjxiciAvPg0KDQogIElmIHlvdSBmaW5kIGFueSBidWdzIHBsZWFzZSBmZWVsIGZyZWUgdG8gc3VibWl0IGEgYnVnIHJlcG9ydCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2J1Zy9saXN0LzE0NjQiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPiBvciBmb3IgYW55IGdvb2QgaWRlYXMgY29uc2lkZXIgc3VibWl0aW5nIGEgZmVhdHVyZSByZXF1ZXN0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvZmVhdHVyZV9yZXF1ZXN0L2xpc3QvMTQ2NCIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+LjwvcD4NCiAgPHA+UGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuDQogIDwvcD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhlIG1vZHVsZSBhdXRob3IgLyBtYWludGFpbmVycyBvciBwcm9qZWN0IG1hbmFnZXJzIGFyZSBpbiBubyB3YXkgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlIGluIGFueSBmYXNoaW9uLiAgSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+QSBidWcgdHJhY2tpbmcgYW5kIGZlYXR1cmUgcmVxdWVzdCBzeXN0ZW0gaGFzIGJlZW4gY3JlYXRlZCBmb3IgdGhpcyBtb2R1bGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9zbWFydGltYWdlIj5oZXJlPC9hPi4gUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGV2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+DQo8L3VsPg0KPHA+SWYgd2FudCB0byBoZWxwIHRoZSBkZXZlbG9wbWVudCBhbmQgbWFpbnRlbmFuY2Ugb2YgdGhpcyBtb2R1bGUsIHBsZWFzZSBjb25zaWRlciA8YSBocmVmPSIiIGlkPSJkb25hdGluZyI+ZG9uYXRpbmc8L2E+LjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQp7aWYgJHNtYXJ0eS5ub3d8ZGF0ZV9mb3JtYXQ6IiVZIiA9PSAnMjAyMCd9eyRjciA9ICcyMDIwJ317ZWxzZX17JGNyID0gIjIwMjAgLSB7JHNtYXJ0eS5ub3d8ZGF0ZV9mb3JtYXQ6JyVZJ30ifXsvaWZ9DQo8cD5Db3B5cmlnaHQgJmNvcHk7IHskY3J9LCBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbiA8YSBocmVmPSJtYWlsdG86aW5mb0BjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2luZm9AY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LTIwMTksIFJvYmVydCBDYW1wYmVsbCAmbHQ7Y2FsZ3V5MTAwMCZndDsuIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxocj4NCjxwPjxzdHJvbmc+U21hcnRJbWFnZTwvc3Ryb25nPiBpcyBmcmVlIHNvZnR3YXJlOzxiciAvPiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgPHN0cm9uZz5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvc3Ryb25nPiBhcyBwdWJsaXNoZWQgYnkgdGhlIDxzdHJvbmc+RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uPC9zdHJvbmc+OzxiciAvPiBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPjxzdHJvbmc+U21hcnRJbWFnZTwvc3Ryb25nPiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgPHN0cm9uZz5XSVRIT1VUIEFOWSBXQVJSQU5UWTwvc3Ryb25nPjs8YnIgLz4gd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIDxzdHJvbmc+TUVSQ0hBTlRBQklMSVRZPC9zdHJvbmc+IG9yIDxzdHJvbmc+RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0U8L3N0cm9uZz4uPC9wPg0KPHA+U2VlIHRoZUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuPC9wPg0KIDxwPllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIDxzdHJvbmc+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L3N0cm9uZz4gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07PGJyIC8+IGlmIG5vdCwgd3JpdGUgdG8gdGhlIDxzdHJvbmc+RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQTwvc3Ryb25nPiBvciA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5yZWFkIGl0IG9ubGluZTwvYT4uPC9wPg0KPHA+PHN0cm9uZz5Zb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIDxzdHJvbmc+RnJvbnRFbmRVc2Vyczwvc3Ryb25nPi48L3N0cm9uZz48L3A+DQo8aHI+DQo8aDQ+Q3VycmVudCBNYWludGFpbmVyczwvaDQ+DQo8dWw+DQogIDxsaSBjbGFzcz0icF9ib3R0b21fMTUiPjxzdHJvbmc+RmVybmFuZG8gTW9yZ2FkbyAoSm8gTW9yZyk8L3N0cm9uZz48L2xpPg0KPC91bD4NCg0KPGg0PlBhc3QgTWFpbnRhaW5lcnM8L2g0Pg0KPHVsPg0KICA8bGk+PHN0cm9uZz5Sb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApPC9zdHJvbmc+IDxicj53d3cuY2FsZ3V5MTAwMC5jb208L2xpPg0KPC91bD4NCg0KPGg0PkNvbnRyaWJ1dG9yczwvaDQ+DQo8dWw+DQogIDxsaT48c3Ryb25nPlJvYmVydCBDYW1wYmVsbCAoY2FsZ3V5MTAwMCk8L3N0cm9uZz48YnI+d3d3LmNhbGd1eTEwMDAuY29tIC0gY29kZTs8L2xpPg0KICA8bGk+PHN0cm9uZz5Lb2EnbGluazwvc3Ryb25nPjxicj5odHRwczovL3d3dy5rb2FsaW5rLmZyIC0gYnVnIGZpeGVzIGFuZCB0ZXN0aW5nOzwvbGk+DQo8L3VsPg0KPGg0PlNwb25zb3JzPC9oND4NCjx1bD4NCiAgPGxpPjxzdHJvbmc+U2ltb24gUmFkZm9yZCAoU2ltb242Nik8L3N0cm9uZz48YnI+Y29uY2VwdGZhY3RvcnkuY29tLmF1OzwvbGk+DQo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/templates/help_advanced_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkFkdmFuY2VkPC9oMz4NCjxoND5JbWFnZSBFbWJlZGRpbmc8L2g0Pg0KPHA+SW1hZ2UgZW1iZWRkaW5nIGVuY29kZXMgdGhlIGltYWdlIGludG8gYSBkYXRhIDxzdHJvbmc+VVJJPC9zdHJvbmc+IHdoaWNoIGlzIGVtYmVkZGVkIGRpcmVjdGx5IGluIHRoZSBwYWdlIChvciBzdHlsZXNoZWV0KSBjb250ZW50LiAgVGhpcyByZWR1Y2VzIHJlcXVlc3RzIHRoYXQgdGhlIGJyb3dzZXIgbXVzdCBtYWtlIHRvIHJlY2VpdmUgaW1hZ2VzIGZyb20geW91ciBzaXRlLiAgSG93ZXZlciBpdCBkb2VzIGluY3JlYXNlIHRoZSBzaXplIG9mIHRoZSA8c3Ryb25nPkhUTUw8L3N0cm9uZz4gcGFnZS4gIE9uIGltYWdlIGhlYXZ5IHBhZ2VzIHlvdSBzaG91bGQgbWl4IHRoZSB1c2Ugb2YgZW1iZWRkZWQgaW1hZ2VzLjwvcD4NCg0KPGg0PkEgU2ltcGxlIEdhbGxlcnk8L2g0Pg0KPHA+VGhlIGNvZGUgYmVsb3cgdXNlcyB0aGUgPHN0cm9uZz4mIzEyMztTbWFydEltYWdlfTwvc3Ryb25nPiBtb2R1bGUsIGZhbmN5Ym94LCBhbmQgYSBiaXQgb2Ygc21hcnR5IG1hZ2ljIHRvIGdlbmVyYXRlIGEgc2ltcGxlIGxpZ2h0Ym94IHN0eWxlIGFsYnVtIGZyb20gYSBzdWJkaXJlY3Rvcnkgb24geW91ciB3ZWJzaXRlLCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBpbWFnZXMgZm9yIHdlYiBzdGFuZGFyZHMsIGFuZCBjcmVhdGluZyB0aHVtYm5haWxzLjwvcD4NCjxwcmUgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNkZGQ7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyI+DQogIDxjb2RlPg0KICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDE6PC9zcGFuPiAmbHQ7c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCImZ3Q7JiMxMjM7bGl0ZXJhbH0NCiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAyOjwvc3Bhbj4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpJiMxMjM7DQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMzo8L3NwYW4+ICBqUXVlcnkoJ2EuZmFuY3lib3gnKS5mYW5jeWJveCgpOw0KICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDQ6PC9zcGFuPiB9KTsNCiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA1Ojwvc3Bhbj4gJiMxMjM7L2xpdGVyYWx9Jmx0Oy9zY3JpcHQmZ3Q7DQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNjo8L3NwYW4+ICYjMTIzO2Fzc2lnbiB2YXI9J2ZpbGVzJyB2YWx1ZT0ndXBsb2Fkcy9hbGJ1bS8qLmpwZyd8Z2xvYn0NCiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA3Ojwvc3Bhbj4gJiMxMjM7aWYgY291bnQoJGZpbGVzKX0NCiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA4Ojwvc3Bhbj4gJmx0O2RpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTUwcHg7IG92ZXJmbG93OiBhdXRvOyImZ3Q7DQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gOTo8L3NwYW4+ICYjMTIzO2ZvcmVhY2ggZnJvbT0kZmlsZXMgaXRlbT0nZmlsZSd9DQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xMDo8L3NwYW4+ICAmbHQ7YSByZWw9J3NpbXBsZV9hbGJ1bScgY2xhc3M9ImZhbmN5Ym94IiBocmVmPSI8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSdoLDUwMCcgbm90YWc9MSBub2VtYmVkPTF9PC9zcGFuPiImZ3Q7DQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xMTo8L3NwYW4+ICA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwIGZpbHRlcl9ncmF5c2NhbGU9MSBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0naCwxNTAnfTwvc3Bhbj4NCiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEyOjwvc3Bhbj4gICZsdDsvYSZndDsNCiAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEzOjwvc3Bhbj4gJiMxMjM7L2ZvcmVhY2h9DQogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xNDo8L3NwYW4+ICZsdDsvZGl2Jmd0Ow0KICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTU6PC9zcGFuPiAmIzEyMzsvaWZ9DQogIDwvY29kZT4NCjwvcHJlPg0KPGJyLz4NCjxwPkxpbmVzIDEgdGhyb3VnaCA1IHV0aWxpemUgalF1ZXJ5IHRvIGNhbGwgZmFuY3lib3ggb24gYW55IGxpbmtzIHRoYXQgaGF2ZSB0aGUgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgY2xhc3MuICBUaGUgZmFuY3lib3ggalF1ZXJ5IHBsdWdpbiBpcyBpbmNsdWRlZCB3aXRoIHRoZSBKUXVlcnlUb29scyBtb2R1bGUuPC9wPg0KPHA+TGluZSA2IHVzZXMgYSBidWlsdCBpbiBwaHAgZnVuY3Rpb24gY2FsbGVkIGdsb2IsIGFuZCBzb21lIHNtYXJ0eSBtYWdpYyB0byBmaW5kIGFsbCBvZiB0aGUgSlBHIGZpbGVzIGluIHRoZSB1cGxvYWRzL2FsYnVtIGRpcmVjdG9yeSBiZWxvdyBvdXIgaW5zdGFsbGF0aW9uIHJvb3QuPC9wPg0KPHA+TGluZSA3IGlzIGEgdGVzdCB0byBzZWUgaWYgYW55IGZpbGVzIHdlcmUgYWN0dWFsbHkgZm91bmQgaW4gdGhlIGFzc2lnbiBsaW5lIHN0YXRlZCBhYm92ZS4gIFRoaXMgaWYgc3RhdGVtZW50IGlzIGNsb3NlZCBvbiBsaW5lIDE1LjwvcD4NCjxwPkxpbmUgOCBvcGVucyB1cCBhIGRpdiB0byBjb250YWluIG91ciBhbGJ1bS4gIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBleGFtcGxlIHRoZSBzdHlsZXMgd2VyZSBpbmNsdWRlZCBpbmxpbmUsIGhvd2V2ZXIgYSBjbGFzcyB0aGF0IHdhcyBkZWZpbmVkIGluIHRoZSBzdHlsZXNoZWV0IHNob3VsZCBiZSB1c2VkIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLiAgVGhlIGNsb3NpbmcgdGFnIGZvciB0aGlzIGRpdiBpcyBvbiBsaW5lIDE0LCBqdXN0IGJlZm9yZSB0aGUgPGNvZGU+JiMxMjM7L2lmfTwvY29kZT4uPC9wPg0KPHA+TGluZSA5IGJlZ2lucyBhIGxvb3AgdGhyb3VnaCBhbGwgb2YgdGhlIGZpbGVzIHRoYXQgd2UgZm91bmQgaW4gdGhlIGRpcmVjdG9yeS4gIFRoaXMgbG9vcCBpcyBjbG9zZWQgb24gbGluZSAxMy48L3A+DQo8YnIvPg0KPHA+TGluZXMgMTAgYW5kIDExIGFyZSB0aGUgcmVhbCBtYWdpYy4gIEhlcmUgd2UgY3JlYXRlIGEgbGluayB3aXRoIGNsYXNzICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGFuZCBhZGRzIHRoZSA8Y29kZT5yZWw8L2NvZGU+IGF0dHJpYnV0ZSBzbyB0aGF0IGZhbmN5Ym94IGtub3dzIHRoYXQgYWxsIG9mIHRoZXNlIGltYWdlcyBzaG91bGQgYmUgZ3JvdXBlZCB0b2dldGhlciBhcyBvbmUgYWxidW0gYW5kIGFsbG93IGNsaWNraW5nIGJldHdlZW4gdGhlIGltYWdlcy4gIFRoZW4gY29tZXMgdGhlIHBhcnQgd2hlcmUgd2UgZGVmaW5lIG91ciBpbWFnZXMuDQo8cD5XZSBzdXBwbHkgdGhlICRmaWxlIHZhcmlhYmxlIHRvIHRoZSBzcmMgYXJndW1lbnQgb2YgdGhlIDxjb2RlPiYjMTIzO1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+DQo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+DQo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+JiMxMjM7U21hcnRJbWFnZX08L2NvZGU+IGlzIGFsbW9zdCBpZGVudGljYWwgdG8gdGhlIGZpcnN0IGNhbGwsIGV4Y2VwdCB0aGF0IHdlIHVzZSBhIGRpZmZlcmVudCBoZWlnaHQgdmFsdWUgKDE1MCBwaXhlbHMpIGZvciB0aGUgdGh1bWJuYWlsLCBhbmQgZm9yIGtpY2tzIEkgY29udmVydGVkIHRoZSB0aHVtYm5haWwgdG8gZ3JheXNjYWxlIDxzdHJvbmc+YmVmb3JlPC9zdHJvbmc+IGFwcGx5aW5nIHRoZSB3YXRlcm1hcmsuICBJIGFsc28gcmVtb3ZlZCB0aGUgbm9lbWJlZD0xIGFyZ3VtZW50IHNvIHRoYXQgdGhlIHN5c3RlbSBjb3VsZCBlbWJlZCB0aGUgaW1hZ2UgaW4gdGhlIEhUTUwgb3V0cHV0IGlmIHRoZSBicm93c2VyIHN1cHBvcnRlZCBpdC48L3A+DQoNCjxoND5SZXNwb25zaXZlIEltYWdlczwvaDQ+DQo8cD5TbWFydEltYWdlIGlzIGNhcGFibGUgb2YgYXV0b21hdGljYWxseSBzY2FsaW5nIGltYWdlcyBkb3duIHRvIGEgc2l6ZSB0aGF0IGlzIHN1aXRhYmxlIGZvciBtb2JpbGUgZGV2aWNlcy4gIFRoaXMgYm9vc3RzIHBlcmZvcm1hbmNlIGJ5IG1pbmltaXppbmcgdGhlIGltYWdlIHNpemUgZm9yIG1vYmlsZSBkZXZpY2VzLCBhbmQgdGhlcmVmb3JlIGltcHJvdmVzIHBlcmZvcm1hbmNlIGFuZCB0aGUgZ2VuZXJhbCB1c2VyIGV4cGVyaWVuY2UuICBUaGlzIGFjdGlvbiBtdXN0IGJlIGVuYWJsZWQgaW4gdHdvIHdheXM6PC9wPg0KPG9sPg0KICA8bGk+DQogICAgQWRkIDxjb2RlPiYjMTIzO1NtYXJ0SW1hZ2UgYWN0aW9uPXJlc3BvbnNpdmV9PC9jb2RlPiBqdXN0IGFmdGVyIHRoZSA8Y29kZT4mbHQ7aGVhZCZndDs8L2NvZGU+IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuDQogICAgPHA+VGhpcyB3aWxsIG91dHB1dCBqYXZhc2NyaXB0IHRoYXQgd2lsbCBkZXRlY3QgdGhlIGRldmljZXMgc2NyZWVuIHJlc29sdXRpb24gYW5kIHBpeGVsIHJhdGlvLCBhbmQgY3JlYXRlIGEgY29va2llLCBhbmQgdGhlbiByZWRpcmVjdCBhZ2FpbiBiYWNrIHRvIHRoZSBzYW1lIFVSTCBzbyB0aGF0IHRoZSBzZXJ2ZXIgY2FuIGdldCB0aGUgY29va2llIGluZm9ybWF0aW9uLiAgIFRoZSBjb29raWUgaXMgc2V0IHRvIGV4cGlyZSBpbiBvbmUgeWVhci4gICBJZiB0aGUgY29va2llIGRvZXMgbm90IGV4aXN0LCB0aGVuIFNtYXJ0SW1hZ2UgY2Fubm90IHBlcmZvcm0gcmVzcG9uc2l2ZSBpbWFnZSByZXNpemluZy48L3A+DQogIDwvbGk+DQogIDxsaT4NCiAgICBFbnN1cmUgdGhhdCAmcXVvdDtSZXNwb25zaXZlIEltYWdlcyZxdW90OyBpcyBlbmFibGVkIGluIHRoZSBTbWFydEltYWdlIG1vZHVsZSBhZG1pbiBwYW5lbC4NCiAgICA8cD5JZiBkaXNhYmxlZCwgdGhlIHN5c3RlbSB3aWxsIG5vdCBwZXJmb3JtIHJlc3BvbnNpdmUgc2NhbGluZy4gIEV2ZW4gaWYgdGhlIGNvb2tpZSBleGlzdHMgZnJvbSB1c2Ugb2YgPGNvZGU+JiMxMjM7U21hcnRJbWFnZSBhY3Rpb249cmVzcG9uc2l2ZX08L2NvZGU+PC9wPg0KICA8L2xpPg0KPC9vbD4NCjxwPlNtYXJ0SW1hZ2UgYWxsb3dzIHNwZWNpZnlpbmcgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBicmVha3BvaW50cyBpbiB0aGUgYWRtaW4gcGFuZWwuICBJZiBicmVha3BvaW50cyBhcmUgc3BlY2lmaWVkIGFuZCB0aGUgc3lzdGVtIGZvdW5kIGRldmljZSBjYXBhYmlsaXRpZXMgPGVtPihhbmQgcmVzcG9uc2l2ZSBiZWhhdmlvciBpcyBub3QgZGlzYWJsZWQpPC9lbT4gVGhlbiB0aGUgc3lzdGVtIHdpbGwgZmluZCB0aGUgY2xvc2VzdCBtYXRjaGluZyBicmVha3BvaW50IHRvIHRoZSBkZXZpY2Ugd2lkdGggYW5kIGhlaWdodCBhbmQgdXNlIHRoZSBicmVha3BvaW50IHZhbHVlIHRvIGNhbGN1bGF0ZSBhIG5ldyBtYXhpbXVtIHNpemUgZm9yIHRoZSBpbWFnZSB3aGlsc3Qgc3RpbGwgcmV0YWluaW5nIGFzcGVjdCByYXRpby48L3A+DQo8cD5UaGUgZGV0ZWN0aW9uIG9mIGEgbW9iaWxlIGRldmljZSwgYW5kIGVuYWJsaW5nIHJlc3BvbnNpdmUgYmVoYXZpb3Igd2lsbCBvdmVycmlkZSB0aGUgbm9hdXRvc2NhbGUgcGFyYW1ldGVyLiAgVGhlIHJlc3BvbnNpdmUgYmVoYXZpb3IgY2FuIGJlIGRpc2FibGVkIGVpdGhlciBpbiB0aGUgbW9kdWxlcyBhZG1pbiBwYW5lbCwgb3IgdmlhIHRoZSBub3Jlc3BvbnNpdmUgcGFyYW1ldGVyLjwvcD4NCjxwPlNtYXJ0SW1hZ2UgaXMgY2FwYWJsZSBvZiBkZXRlY3RpbmcgdGhlIGRwciA8ZW0+KGRldmljZSBwaXhlbCByYXRpbyk8L2VtPiBvZiBtb2JpbGUgZGV2aWNlcy4gIElmIG5vdCBkaXNhYmxlZCwgYW5kIGEgZHByIGhpZ2hlciB0aGFuIDEgaXMgZGV0ZWN0ZWQgdGhlIGF1dG8tc2NhbGVkIGltYWdlIHNpemUgd2lsbCBiZSBpbmNyZWFzZWQgYnkgdGhlIGRwciBvZiB0aGUgZGV2aWNlLiAgSG93ZXZlciB0aGUgb3V0cHV0IGltZyB0YWcgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIHdpbGwgbm90LiAgVGhpcyBmb3JjZXMgdGhlIGJyb3dzZXIgd2l0aCBhIGhpZ2hlciBkcHIgdG8gZG93bmxvYWQgYSBsYXJnZXIgaW1hZ2UsIGFuZCBzcXVlZXplIGl0IGludG8gdGhlIHNhbWUgc2l6ZSBib3gsIHRodXMgZ2l2aW5nIGEgaGlnaGVyIHF1YWxpdHkgb3V0cHV0LjwvcD4NCjxoND5BdXRvU2NhbGluZzwvaDQ+DQo8cD5BdXRvIHNjYWxpbmcgaXMgYSBmZWF0dXJlIHRoYXQgd2lsbCBhZGp1c3QgdGhlIG91dHB1dCBpbWFnZSBzaXplIGJhc2VkIG9uIHRoZSBzb3VyY2UgaW1hZ2Ugc2l6ZSwgdGhlIGRldmljZSBjYXBhYmlsaXRpZXMgPGVtPihpZiByZXNwb25zaXZlIGJlaGF2aW9yIGlzIGVuYWJsZWQpPC9lbT4sIGJyZWFrcG9pbnRzIDxlbT4oaWYgZW5hYmxlZCk8L2VtPiwgdGhlLCB0aGUgd2lkdGggYW5kIGhlaWdodCBwYXJhbWV0ZXJzLCBhbmQgdGhlIG1heF93aWR0aCBhbmQgbWF4X2hlaWdodCBwYXJhbWV0ZXJzLiAgVGhlIHN5c3RlbSB3aWxsIGNvbWJpbmUgYWxsIG9mIHRoaXMgaW5mb3JtYXRpb24gYW5kIGFkanVzdCB0aGUgbWF4X3dpZHRoIGFuZCBtYXhfaGVpZ2h0IHZhbHVlcyB0byB0aGUgc21hbGxlc3QgcG9zc2libGUgdmFsdWVzIHdpdGhvdXQgZWZmZWN0aW5nIGltYWdlIGFzcGVjdCByYXRpby48L3A+DQo8cD5JZiByZXNwb25zaXZlIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZCwgYW5kIGRldmljZSBjYXBhYmlsaXRpZXMgYXJlIGRldGVjdGVkLCAgdGhlbiBhdXRvc2NhbGluZyBpcyBmb3JjZWQgdG8gYmUgYWN0aXZlLjwvcD4NCjxoND5TdHlsZXNoZWV0czo8L2g0Pg0KPHA+VGhpcyBtb2R1bGUgYWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMsIGlmIHVzaW5nIHRoZSAmIzEyMztjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUgJiMxMjM7Y21zX3N0eWxlc2hlZXR9IHRhZyB5b3UgdXRpbGl6ZSB0aGUgbW9kdWxlIHVzaW5nIHRoZSBbWyBhbmQgXV0gZGVsaW1pdGVycy4gIGkuZTogPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+ZGl2LmhlYWRlciAmIzEyMzsgYmFja2dyb3VuZDogdXJsKFtbU21hcnRJbWFnZSBzcmM9J3VwbG9hZHMvcGljdHVyZS5qcGcnIG5vdGFnPTFdXSk7IH08L2NvZGU+PC9wPg0KPHA+QmVjYXVzZSBzdHlsZXNoZWV0cyBhcmUgZ2VuZXJhdGVkIG9uIG1vZGlmaWNhdGlvbiBhbmQgc3RvcmVkIGluIHRoZSBmaWxlc3lzdGVtIHRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgZHVyaW5nIHRoZSByZXF1ZXN0IHdoaWNoIGJyb3dzZXIgaXMgcmVxdWVzdGluZyB0aGUgc3R5bGVzaGVldCwgdGhlcmVmb3JlIGVtYmVkZGluZyB3aWxsIGJlIGRvbmUgc3RyaWN0bHkgYmFzZWQgdXBvbiB0aGUgcHJlc2VuY2Ugb2YgdGhlIG5vZW1iZWQgcGFyYW1ldGVyLiAgSWYgeW91IGhhdmUgY2hvc2VuIHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHlvdXIgc3R5bGVzaGVldHMsIFlvdSBtYXkgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzdHlsZXNoZWV0IHN1cHBvcnQgZm9yIHRoZSBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcy4gIGkuZTogIElFNi48L3A+DQoNCjxoND5NdWx0aXBsZSBhcmd1bWVudHM6PC9oND4NCjxwPlNtYXJ0SW1hZ2Ugc3VwcG9ydHMgYSBwbGV0aG9yYSBvZiBvcHRpb25zIGFuZCBhcmd1bWVudHMuICBUZW1wbGF0ZSBsYXlvdXQgY2FuIGJlIGNsZWFuZWQgYnkgdXNpbmcgdGhlIDxjb2RlPiYjMTIzO3h0X21vZHVsZV9oaW50fTwvY29kZT4gdGFnIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UgdGVtcGxhdGUsIG9yIGluIHRoZSBwYWdlIG1ldGFkYXRhIGFyZWEgc3VjaCB0aGF0IHBhcmFtZXRlcnMgZm9yIGFsbCBjYWxscyBTbWFydEltYWdlIG9uIGEgcGFnZSBhcmUgc3BlY2lmaWVkIG9uY2UuICBPdmVycmlkaW5nIHRoZSBwYXJhbWV0ZXJzIGZvciBhIHNpbmdsZSBjYWxsIGlzIHN0aWxsIHBvc3NpYmxlLjwvcD4NCjxwPlNlZSB0aGUgPGNvZGU+JiMxMjM7eHRfbW9kdWxlX2hpbnR9PC9jb2RlPiB0YWcgaW4gdGhlIENHRXh0ZW5zaW9ucyBoZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4NCg0KPGg0PkJhY2tncm91bmQgSW1hZ2UgUmVzaXppbmc8L2g0Pg0KPHA+VGhpcyBtb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBiYWNrZ3JvdW5kIGpvYnMgdGhhdCB3aWxsIGF1dG9tYXRpY2FsbHkgcmVzaXplIGFsbCB1cGxvYWRlZCBpbWFnZXMgdG8gYSBtYXhpbXVtIGVkZ2Ugc2l6ZS4gIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1c2VmdWwgdG8gcmVkdWNlIGRpc2sgc3BhY2UgcmVxdWlyZW1lbnRzLCBhbmQgdG8gYWlkZSBpbiBwZXJmb3JtYW5jZS48L3A+DQo8cD5Vc2luZyB0aGUgYnVpbHQgaW4gQ01TTVMgcHNldWRvY3JvbiBtZWNoYW5pc20gdGhlIHN5c3RlbSB3aWxsIHBlcmlvZGljYWxseSBzY2FuIGZvciBmaWxlcyB0aGF0IGV4Y2VlZCB0aGUgbWF4aW11bSBzaXplLiAgVGhlbiwgdXNpbmcgYSBmdXJ0aGVyIGFzeW5jaHJvbm91cyBwcm9jZXNzIG1hdGNoaW5nIGZpbGVzIGFyZSBzbG93bHkgcmVzaXplZCBpbiBiYXRjaGVzLCB0aHVzIG1pbmltaXppbmcgaW1wYWN0IG9uIHNlcnZlciByZXNvdXJjZXMuICBBZGRpdGlvbmFsbHksIGlmIGEgZmlsZSBpcyB0byBiZSByZXNpemVkLCBpdCBjYW4gYmUgYXV0by1yb3RhdGVkLCBhbmQgd2F0ZXJtYXJrZWQuPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/help_general_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3YXkgdG8gcHJvY2VzcywgYW5kIGRpc3BsYXkgaW1hZ2VzIG9uIHlvdXIgd2ViIHBhZ2UuICBJdCBhbGxvd3Mgc2ltcGxlIGltYWdlIHByb2Nlc3NpbmcsIGFuZCB3YXRlcm1hcmtpbmcuICBUaGlzIG1vZHVsZSBtYWtlcyBkaXNwbGF5aW5nIHByb2Nlc3NlZCBpbWFnZXMgb24geW91ciB3ZWJzaXRlIHRyaXZpYWwuICBJdCBhbHNvIHByb3ZpZGVzIGZlYXR1cmVzIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIHJhdGluZyBvZiB5b3VyIHdlYnNpdGUsIG1ha2luZyB5b3VyIHdlYnNpdGUgcG93ZXJmdWwgYW5kIGZhc3QgYXQgdGhlIHNhbWUgdGltZS48L3A+DQogIDxoND5GZWF0dXJlczo8L2g0Pg0KPHVsPg0KICA8bGk+UG93ZXJmdWwsIHNpbXBsZSB0byB1c2UgaW1hZ2UgPHN0cm9uZz5maWx0ZXJpbmc8L3N0cm9uZz4gYW5kIDxzdHJvbmc+cHJvY2Vzc2luZzo8L3N0cm9uZz4NCiAgICA8dWw+DQogICAgICA8bGk+PHN0cm9uZz5CbHVyPC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPkJyaWdodG5lc3M8L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+Q29sb3JpemU8L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+Q29udHJhc3Q8L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+Q3JvcDwvc3Ryb25nPjwvbGk+DQogICAgICA8bGk+PHN0cm9uZz5Dcm9wIFRvIEZpdDwvc3Ryb25nPjwvbGk+DQogICAgICA8bGk+PHN0cm9uZz5SZXNpemUgVG8gRml0PC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPkVkZ2UgRGV0ZWN0aW9uPC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPlNoYXJwZW48L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+RW1ib3NzPC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPkdyYXlzY2FsZTwvc3Ryb25nPjwvbGk+DQogICAgICA8bGk+PHN0cm9uZz5NZWFuIFJlbW92YWw8L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+TmVnYXRlPC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPlBpeGVsYXRlPC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPlJlZmxlY3Rpb248L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+UmVzaXplPC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPlJvdW5kZWQgQ29ybmVyczwvc3Ryb25nPjwvbGk+DQogICAgICA8bGk+PHN0cm9uZz5Sb3RhdGU8L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+U2VsaWN0aXZlIEJsdXI8L3N0cm9uZz48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+U21vb3RoPC9zdHJvbmc+PC9saT4NCiAgICAgIDxsaT48c3Ryb25nPldhdGVybWFyazwvc3Ryb25nPjwvbGk+DQogICAgICA8bGk+PHN0cm9uZz5OT09QIDxlbT4obm9vcCk8L2VtPjwvc3Ryb25nPjxzdXA+MTwvc3VwPjwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCiAgPGxpPjxzdHJvbmc+UmVzcG9uc2l2ZSBpbWFnZSBoYW5kbGluZzwvc3Ryb25nPiB3aXRoIGJyZWFrcG9pbnRzOiByZXNpemUgaW1hZ2VzIHRvIGJlIHN1aXRhYmxlIGZvciBzbWFsbGVyIGRldmljZXMgc3VjaCBhcyBtb2JpbGUgcGhvbmVzIG9yIHRhYmxldHM7PC9saT4NCiAgPGxpPjxzdHJvbmc+U21hcnQgZGV0ZWN0aW9uIG9mIGltYWdlczwvc3Ryb25nPjogIHNwZWNpZnkgYWJzb2x1dGUgVVJMUywgYWJzb2x1dGUgcGF0aHMsIG9yIGZpbGVzIHJlbGF0aXZlIHRvIHlvdXIgcm9vdCBpbnN0YWxsYXRpb247PC9saT4NCiAgPGxpPjxzdHJvbmc+QXV0b21hdGljIGhhbmRsaW5nIG9mIGV4dGVybmFsIGltYWdlczwvc3Ryb25nPjogZG93bmxvYWRpbmcsIGNhY2hpbmcsIHByb2Nlc3NpbmcsIGFuZCByZS1jYWNoaW5nIG9mIGltYWdlcyBmcm9tIHJlbW90ZSB3ZWJzaXRlczs8L2xpPg0KICA8bGk+PHN0cm9uZz5TbWFydCBhdXRvbWF0aWMgcmVzaXppbmc8L3N0cm9uZz46IGF1dG9tYXRpY2FsbHkgcmVzaXplIHRvIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBiZWZvcmUgc2VydmluZyB0aGUgaW1hZ2U7PC9saT4NCiAgPGxpPjxzdHJvbmc+RVhJRiBhdXRvLXByb2Nlc3Npbmc8L3N0cm9uZz46IGF1dG9tYXRpY2FsbHkgcmVhZHMgaW1hZ2UgRVhJRiBpbmZvcm1hdGlvbiBhbmQgY29ycmVjdHMgdGhlIG9yaWVudGF0aW9uOzwvbGk+DQogIDxsaT48c3Ryb25nPlNvdXJjZSBjaGFuZ2UgZGV0ZWN0aW9uPC9zdHJvbmc+OiBpZiB0aGUgbWFzdGVyIGltYWdlIGlzIGNoYW5nZWQgc2NhbGVkIGltYWdlcyB3aWxsIGJlIHJlZ2VuZXJhdGVkIChzZWUgdGhlIDxzdHJvbmc+bm90aW1lY2hlY2s8L3N0cm9uZz4gcGFyYW1ldGVyIHRvIGRpc2FibGUgdGhpcyBiZWhhdmlvcik7PC9saT4NCiAgPGxpPjxzdHJvbmc+U21hcnQgYXR0cmlidXRlIGdlbmVyYXRpb248L3N0cm9uZz4gZm9yIGltYWdlIHRhZ3M7PC9saT4NCiAgPGxpPjxzdHJvbmc+SW1hZ2UgY2FjaGluZzwvc3Ryb25nPjogcHJvY2Vzc2VkIGltYWdlcyBhcmUgY2FjaGVkIG9uIHRoZSBzZXJ2ZXIgZm9yIGZhc3RlciBzZXJ2aW5nOzwvbEk+DQogIDxsaT48c3Ryb25nPkNETiBzdXBwb3J0PC9zdHJvbmc+OiB1c2UgYSBzZXBhcmF0ZSBVUkwgKDxzdHJvbmc+Q0ROPC9zdHJvbmc+KTxzdXA+Mjwvc3VwPiBmb3Igc2VydmluZyBpbWFnZXM7PC9saT4NCiAgPGxpPjxzdHJvbmc+U2VxdWVudGlhbCBwcm9jZXNzaW5nPC9zdHJvbmc+OiBpbWFnZSBmaWx0ZXJzIGFuZCBwcm9jZXNzb3JzIGNhbiBiZSBjb21iaW5lZCwgYmVpbmcgZXhlY3V0ZWQgaW4gb3JkZXI7PC9saT4NCiAgPGxpPjxzdHJvbmc+RW1iZWRkaW5nPC9zdHJvbmc+OiAgZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8gdGhlIGNvbnRlbnQgb2YgdGhlIHdlYiBwYWdlIHRvIG1pbmltaXplIHNwYWNlOzwvbGk+DQogIDxsaT48c3Ryb25nPlNlbGVjdGl2ZSBlbWJlZGRpbmc8L3N0cm9uZz46ICBsaW1pdCBlbWJlZGRpbmcgaW1hZ2VzIHNtYXJ0bHkgb25seSB0byBicm93c2VycyB0aGF0IGFyZSBjYXBhYmxlIG9mIHVuZGVyc3RhbmRpbmcgdGhlbTs8L2xpPg0KICA8bGk+PHN0cm9uZz5QYXJhbWV0ZXJzIGFsaWFzaW5nPC9zdHJvbmc+OiBjb21iaW5lIGNvbW1vbmx5IHVzZWQgYXJndW1lbnRzIGludG8gbmFtZWQgYWxpYXNlczs8L2xpPg0KICA8bGk+PHN0cm9uZz5TdHlsZXNoZWV0cyBzdXBwb3J0PC9zdHJvbmc+OiB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMgdmlhIHRoZSAmIzEyMztjbXNfc3R5bGVzaGVldH0gdGFnOzwvbGk+DQogIDxsaT48c3Ryb25nPlNtYXJ0eSBibG9jayBwbHVnaW48L3N0cm9uZz46IGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBpbWFnZXMgaW5zaWRlIGEgYmxvY2sgb2YgaHRtbCBjb2RlIHVzaW5nIHRoZSA8c3Ryb25nPiYjMTIzO3NpX2NvbnZlcnR9PC9zdHJvbmc+IGJsb2NrIHRhZzs8L2xpPg0KICA8bGk+PHN0cm9uZz5CbG9jayBleHRyYWN0aW9uPC9zdHJvbmc+OiBleHRyYWN0IGltYWdlcyBmcm9tIGEgYmxvY2sgb2YgaHRtbCBjb2RlOzwvbGk+DQogIDxsaT48c3Ryb25nPlByb3BvcnRpb25zIHByZXNlcnZhdGlvbjwvc3Ryb25nPjogYXV0b21hdGljYWxseSByZXNpemUgdXBsb2FkZWQgaW1hZ2VzIHRvIGEgbWF4aW11bSBlZGdlIHNpemU7PC9saT4NCiAgPGxpPk1vcmUuLi48L2xpPg0KPC91bD4NCg0KICA8cD48c21hbGw+PHN1cD4xPC9zdXA+IC0gYWNyb255bSBmb3IgPGI+Tk8gT1A8L2I+ZXJhdGlvbiBtZWFuaW5nIHRoYXQgdGhlIGZpbGUgd2lsbCBiZSBjYWNoZWQgYnV0IHdpdGhvdXQgYW55IG90aGVyIHByb2Nlc3NpbmcgdmlhIDxiPjxlbT5maWx0ZXJfbm9vcDwvZW0+PC9iPi4gUGxlYXNlIGNvbnN1bHQgdGhlIHBhcmFtZXRlcnMgdGFiIG9mIHRoaXMgaGVscCBwYWdlLjwvc21hbGw+PC9wPg0KICA8cD48c21hbGw+PHN1cD4yPC9zdXA+IC0gYWNyb255bSBmb3IgPGI+QzwvYj5vbnRlbnQgPGI+RDwvYj5lbGl2ZXJ5IDxiPk48L2I+ZXR3b3JrLjwvc21hbGw+PC9wPg0KDQoNCjxoND5XaHkgc2hvdWxkIEkgdXNlIGl0PzwvaDQ+DQo8cD5UaGVyZSBhcmUgZm91ciB2ZXJ5IGltcG9ydGFudCByZWFzb25zIHRvIHVzZSB0aGlzIHBsdWdpbjo8L3A+DQo8dWw+DQogIDxsaT48c3Ryb25nPlBlcmZvcm1hbmNlPC9zdHJvbmc+OiAgVXNpbmcgaW1hZ2UgZW1iZWRkaW5nIChldmVuIGlmIG5vIG90aGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCkgcmVzdWx0cyBpbiBmZXdlciByZXF1ZXN0cy4gIE1vc3QgYnJvd3NlcnMgb25seSBwZXJmb3JtIHR3byB0byBmb3VyIHNpbXVsdGFuZW91cyByZXF1ZXN0cyB0byB0aGUgc2FtZSBkb21haW4gYXQgdGhlIHNhbWUgdGltZS4gIEZvciB3ZWIgcGFnZXMgd2l0aCBsb3RzIG9mIGltYWdlcyB0aGlzIGNhbiBzZXJpb3VzbHkgc2xvdyBkb3duIHlvdXIgc2l0ZTs8L2xpPg0KICA8bGk+PHN0cm9uZz5QZXJmb3JtYW5jZTwvc3Ryb25nPjogIEV2ZW4gaWYgbm90IHVzaW5nIGVtYmVkZGluZywgc2VuZGluZyBsYXJnZSBpbWFnZXMgdG8geW91ciB2aXNpdG9ycywgYW5kIGFza2luZyB0aGVpciBicm93c2VyIHRvIHNjYWxlIHRoZSBpbWFnZSBpcyB2ZXJ5IHZlcnkgc2xvdzs8L2xpPg0KICA8bGk+PHN0cm9uZz5TZWN1cml0eTwvc3Ryb25nPjogIFNtYXJ0SW1hZ2UgY2FjaGVzIGl0cyBpbWFnZXMgaW4gYSBzZXBhcmF0ZSBkaXJlY3RvcnksIHRoZXJlYnkgaGlkaW5nIHRoZSBvcmlnaW5hbCAocGVyaGFwcyBjb3B5cmlnaHRlZCkgaW1hZ2VzIGZyb20geW91ciB1c2Vycy4gIElmIGVtYmVkZGluZyBpcyB1c2VkIHRoZXkgY2FuIG5vdCBldmVuIGZpbmQgdGhlIGNhY2hlZCBsb2NhdGlvbjs8L2xpPg0KICA8bGk+PHN0cm9uZz5TaW1wbGljaXR5PC9zdHJvbmc+OiAgVGhlIGZpbHRlcmluZyBjYXBhYmlsaXRpZXMgb2YgU21hcnRJbWFnZSBhbGxvdyB5b3UgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBmb3IgY29uc2lzdGVudCBhbmQgc2VjdXJlIGRpc3BsYXksIHdpdGhvdXQgc2l0ZSBlZGl0b3JzIGhhdmluZyB0byBwbGF5IHdpdGggdGhlbS4gIFRoZXkgY2FuIHVwbG9hZCBsYXJnZXIgaW1hZ2VzLCBhbmQgeW91ciBzaXRlIHdpbGwganVzdCBoYW5kbGUgdGhlbSBwcm9wZXJseS48L2xpPg0KICA8bGk+PHN0cm9uZz5EaXNrIHNwYWNlIHNhdmluZzwvc3Ryb25nPjogVGhlIGF1dG9tYXRpYyBpbWFnZSBwcm9jZXNzaW5nIG9wdGlvbiBhbGxvd3MgcmVzaXppbmcgaW1hZ2VzIHRvIGEgbWF4aW11bSBzaXplLCBhbmQgZGVsZXRpbmcgdGhlIG9yaWdpbmFsLCB0aGlzIHNhdmVzIGRpc2sgc3BhY2Ugd2hlbiB1c2VycyBhcmUgdXBsb2FkaW5nIHRvbm5lcyBvZiBpbWFnZXMuPC9saT4NCjwvdWw+DQoNCjxoND5JbWFnZSBFbWJlZGRpbmc8L2g0Pg0KICA8cD5JbWFnZSBlbWJlZGRpbmcgZW5jb2RlcyB0aGUgaW1hZ2UgaW50byBhIGRhdGEgPHN0cm9uZz5VUkk8L3N0cm9uZz4gd2hpY2ggaXMgZW1iZWRkZWQgZGlyZWN0bHkgaW4gdGhlIHBhZ2UgKG9yIHN0eWxlc2hlZXQpIGNvbnRlbnQuICBUaGlzIHJlZHVjZXMgcmVxdWVzdHMgdGhhdCB0aGUgYnJvd3NlciBtdXN0IG1ha2UgdG8gcmVjZWl2ZSBpbWFnZXMgZnJvbSB5b3VyIHNpdGUuICBIb3dldmVyIGl0IGRvZXMgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhlIEhUTUwgcGFnZS4gIE9uIGltYWdlIGhlYXZ5IHBhZ2VzIHlvdSBzaG91bGQgbWl4IHRoZSB1c2Ugb2YgZW1iZWRkZWQgaW1hZ2VzLjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/help_parameters_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPlBhcmFtZXRlcnM8L2gzPg0KPHVsPg0KPGxpPg0KICA8c3Ryb25nPmFjdGlvbjwvc3Ryb25nPiA8ZW0+KG9wdGlvbmFsKTwvZW0+OiBUaGUgYWN0aW9uIGZvciB0aGUgbW9kdWxlIHRvIHBlcmZvcm0uDQogIDxicj5Qb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICA8dWw+DQogICAgPGxpPjxzdHJvbmc+ZGVmYXVsdDwvc3Ryb25nPiAtIHBlcmZvcm0gbWFuaXB1bGF0aW9uIG9uIGEgc2luZ2xlIGltYWdlOzwvbGk+DQogICAgPGxpPjxzdHJvbmc+cmVzcG9uc2l2ZTwvc3Ryb25nPiAtIG91dHB1dCBhIGphdmFzY3JpcHQgY29kZSBzbmlwcGV0IHRoYXQgd2lsbCBjcmVhdGUgYSBjb29raWUgcHJvdmlkaW5nIHRoZSBTbWFydEltYWdlIG1vZHVsZSB3aXRoIGRldmljZSBzY3JlZW4gc2l6ZSBhbmQgcGl4ZWwgcmF0aW87PC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+PHN0cm9uZz5zaWxlbnQ8L3N0cm9uZz4gPGVtPihvcHRpb25hbCk8L2VtPiAtIFNpbGVudGx5IGlnbm9yZSBlcnJvcnMgKHBvc3NpYmxlIHZhbHVlczogMCwxICk7PC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmFsaWFzPC9iPiAtIFRoZSBTbWFydEltYWdlIGFkbWluIHBhbmVsIGFsbG93cyBjcmVhdGluZyBudW1lcm91cyBjb21tYW5kIGFsaWFzZXMgdG8gY29tYmluZSBhIGZyZXF1ZW50bHkgdXNlZCBwYXR0ZXJuIG9mIGFyZ3VtZW50cyBpbnRvIG9uZSBuYW1lLiAgVG8gdXNlIHRoZXNlIGFsaWFzZXMgdXNlIGFuIGFyZ3VtZW50IG9mIHRoZSBmb3JtIGFsaWFzIyM9YWxpYXNfbmFtZSBpLmU6ICBhbGlhczE9Zm9vIGFsaWFzMj1mb28uPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vYXV0b3NjYWxlPC9iPiAtIElmIHdpZHRoIGFuZCBoZWlnaHQgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkLCB0aGlzIHBhcmFtZXRlciB3aWxsIGRpc2FibGUgYXV0b21hdGljIHNjYWxpbmcgb2YgdGhlIGltYWdlLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBiZSBkaXNhYmxlZCBmb3IgbW9iaWxlIGJyb3dzZXJzPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vYmNhY2hlPC9iPiAtIERvIG5vdCBhbGxvdyB0aGUgcmVzaXplZCBpbWFnZSB0byBjYWNoZSBpbiB0aGUgYnJvd3NlciAodXNlZnVsIGZvciBkZXZlbG9wbWVudCBwdXJwb3NlcykgdGhpcyBhZGRzIGEgdW5pcXVlIG51bWJlciBhcyBhIHBhcmFtZXRlciB0byB0aGUgaW1hZ2Ugd2hpY2ggd2lsbCBmb3JjZSB0aGUgYnJvd3NlciBub3QgdG8gY2FjaGUgdGhlIGltYWdlLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5ub2VtYmVkPC9iPiAtIEZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vYXV0bzwvYj4gLSBEbyBub3QgYXV0b21hdGljYWxseSBjYWxjdWxhdGUgcGFyYW1ldGVycyBmb3IgdGhlIGltZyB0YWcuICBUaGlzIG1heSBjYXVzZSB5b3VyIHNpdGUgdG8gZmFpbCB2YWxpZGF0aW9uIGlmIHNvbWUgcmVxdWlyZWQgcGFyYW1ldGVycyAod2lkdGgsaGVpZ2h0LGFsdCkgYXJlIG5vdCBzcGVjaWZpZWQuICBBZGRpdGlvbmFsbHksIGlmIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBlbnN1cmUgdGhhdCB0aGV5IHdpbGwgbm90IGJlIG92ZXJyaWRkZW4gYnkgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBwcm9jZXNzZWQgaW1hZ2UuPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vcm90YXRlPC9iPiAtIERvIG5vdCBhdHRlbXB0IHRvIHJlYWQgZXhpZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmaWxlIGFuZCBjb3JyZWN0IGltYWdlIHJvdGF0aW9uPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vdGFnPC9iPiAtIERvIG5vdCBvdXRwdXQgYW4gaW1nIHRhZywgb25seSB0aGUgdXJsIHRvIHRoZSBjYWNoZWQgaW1hZ2UuICBUaGlzIGhhcyBubyBlZmZlY3Qgd2hlbiBTbWFydEltYWdlIGlzIHVzZWQgZnJvbSB3aXRoaW4gYSBzdHlsZXNoZWV0LjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5ub3Jlc3BvbnNpdmU8L2I+IC0gVHVybiBvZmYgYWxsIHJlc3BvbnNpdmUgaW1hZ2UgaGFuZGxpbmcgZm9yIHRoaXMgb3BlcmF0aW9uLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5ub2RwcmFkanVzdDwvYj4gLSBGb3IgcmVzcG9uc2l2ZSBpbWFnZSBoYW5kbGluZywgZG8gbm90IGFkanVzdCB0aGUgc2l6ZSBvZiBhIHNjYWxlZCBpbWFnZSBiYXNlZCBvbiB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvIGZyb20gdGhlIHJlc3BvbnNpdmUgaW5mb3JtYXRpb24uPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5vYnJlYWtwb2ludHM8L2I+IC0gRm9yIHJlc3BvbnNpdmUgaW1hZ2UgaGFuZGxpbmcsIGRpc2FibGUgYnJlYWtwb2ludHMgYW5kIGZvcmNlIHJlZ3VsYXIgcmVzaXplIGhhbmRsaW5nIGZvciBpbWFnZXMgb24gbW9iaWxlIGJyb3dzZXJzLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5ub3JlbW90ZTwvYj4gLSBEbyBub3QgYWxsb3cgcmV0cmlldmluZyBzb3VyY2VzIGZyb20gcmVtb3RlIFVSTFM8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+Zm9yY2VfdHlwZTwvYj4gLSAoc3RyaW5nKSBGb3JjZSB0aGUgb3V0cHV0IGltYWdlIHRvIGJlIHNhdmVkIGluIHRoZSBzcGVjaWZpZWQgaW1hZ2UgdHlwZSwgaW5kZXBlbmRlbnQgb2YgdGhlIHNvdXJjZSBpbWFnZSwgZmlsdGVycywgYW5kIHBhcmFtZXRlcnMuICBWYWxpZCB2YWx1ZXMgYXJlOiBqcGVnLHBuZyxnaWYuIE5vdGU6IER1ZSB0byB0aGUgY2FwYWJpbGl0aWVzIG9mIHNvbWUgaW1hZ2UgZm9ybWF0cywgc3VycHJpc2luZyBlZmZlY3RzIGNhbiBvY2N1ci4gIFBhcnRpY3VsYXJseSwgZm9yY2luZyBhIHRyYW5zcGFyZW50IFBORyB0byBzYXZlIGluIEpQRUcgZm9ybWF0IHdpbGwgcmVzdWx0IGluIGFsbCB0cmFuc3BhcmVuY3kgYmVpbmcgbG9zdC48L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+Zm9yY2VfZXh0PC9iPiAtIDEgb3IgMCAoaW50ZWdlcikgRW5hYmxlIChvciBkaXNhYmxlKSB0aGUgZm9yY2luZyBvZiBhbGwgZ2VuZXJhdGVkIGltYWdlIGZpbGVzIHRvIGhhdmUgZmlsZSBleHRlbnNpb25zLiAgRGVwZW5kaW5nIHVwb24gdGhlIHNvdXJjZSBpbWFnZSwgYW5kIHRoZSBmaWx0ZXJzIGFuZCBwYXJhbWV0ZXJzIHVzZWQsIHRoZSBnZW5lcmF0ZWQgZXh0ZW5zaW9uIG1heSBub3QgYWNjdXJhdGVseSByZXByZXNlbnQgdGhlIGFjdHVhbCBjb250ZW50cyBvZiB0aGUgZmlsZTwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5mb3JjZV9zZW9fbmFtZTwvYj4gIC0gMSBvciAwIChpbnRlZ2VyKSBFbmFibGUgKG9yIGRpc2FibGUpIHRoZSBmb3JjaW5nIG9mIGFsbCBnZW5lcmF0ZWQgaW1hZ2UgZmlsZXMgZmlsZW5hbWVzIHRvIGJlIGJhc2VkIG9uIHRoZSBzb3VyY2Ugb3JpZ2luYWwgZmlsZW5hbWUuIEEgcHJlZml4IGlzIGFkZGVkIGFuZCBlbXB0eSBzcGFjZXMgYXJlIHJlcGxhY2VkIGJ5IGh5cGhlbnMsIGJ1dCBhIGh1bWFuIHJlYWRhYmxlIGZpbGVuYW1lIGlzIGtlcHQgYmFzZWQgb24gdGhlIG9yaWdpbmFsIG5hbWUuPC9saT4NCjxsaT4NCiAgPGI+c3JjPC9iPiAtIFNwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCiAgPHVsPg0KICAgIDxsaT5GaXJzdCBsb29rIHRvIHNlZSBpZiB0aGUgc3BlY2lmaWVkIHNyYyB2YWx1ZSBleGlzdHMgYXMgYSBmaWxlIG9uIHRoZSBmaWxlc3lzdGVtIDxzdHJvbmc+QmVsb3cgdGhlIENNU01TIHJvb3QgVVJMPC9zdHJvbmc+PC9saT4NCiAgICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSB1cGxvYWRzX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogICAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgcm9vdF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICAgIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8L3VsPg0KICBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNwbGl0IHRoZSBzcmMgcGFyYW1ldGVyIGludG8gbXVsdGlwbGUgYXJndW1lbnRzLCB3aGljaCBpcyB1c2VmdWwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgcGF0aCB0byB0aGUgZmlsZSwgYW5kIHRoZSBmaWxlbmFtZSBhcmUgc3RvcmVkIGluIHNlcGFyYXRlIHNtYXJ0eSB2YXJpYWJsZXMuICAgWW91IGNhbiBzcGVjaWZ5IHRoZSBzcmMgYXMgc3JjMT1cJHRoZV9wYXRoIHNyYzI9XCR0aGVfZmlsZW5hbWUuICBUaGUgc3lzdGVtIHdpbGwgYXV0b21hdGljYWxseSBhZGQgYSAvIGluIGJldHdlZW4gZWFjaCBhcmd1bWVudC4gIFRoZXJlIGlzIG5vIGxpbWl0IHRvIHRoZSBudW1iZXIgb2Ygc3JjIHBhcmFtZXRlcnMuDQo8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+b3ZlcndyaXRlPC9iPiAtIERpc2FibGUgYWxsIGNhY2hpbmcgYW5kIGZvcmNlIHJlLWNhbGN1bGF0aW9uIG9mIGFsbCBmaWx0ZXJzPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmlkPC9iPiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbiBpZCBhdHRyaWJ1dGUgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBpZD0ic29tZXRhZyI8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+Y2xhc3M8L2I+IC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0iZmFuY3lib3ggdGh1bWJuYWlsIjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5zdHlsZTwvYj4gLSBVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYWx0ZXJuYXRlIHN0eWxlcyBmb3IgdGhlIHRhZy4gIGkuZTogc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyI8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+dGl0bGU8L2I+IC0gU3BlY2lmeSBhbiBvcHRpb25hbCB0aXRsZSBhdHRyaWJ1dGUgZm9yIHRoZSBpbWcgdGFnLiAgaS5lOiB0aXRsZT0iVGhpcyBpcyB0aGUgdG9vbHRpcCI8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+YWx0PC9iPiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGFsdCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgIm5vYXV0byIgcGFyYW1ldGVyPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm5hbWU8L2I+IC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgbmFtZSBhdHRyaWJ1dGUuPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmhlaWdodDwvYj4gLSBVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBoZWlnaHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICJub2F1dG8iIHBhcmFtZXRlci4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgYWxzbyBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICJ3aWR0aCIgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICJub2F1dG9zY2FsZSIgcGFyYW1ldGVyIGlzIGFsc28gc3VwcGxpZWQpPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPndpZHRoPC9iPiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIHdpZHRoIGF0dHJpYnV0ZS4gICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgIm5vYXV0byIgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgImhlaWdodCIgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICJub2F1dG9zY2FsZSIgcGFyYW1ldGVyIGlzIGFsc28gc3VwcGxpZWQpPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPnF1YWxpdHk8L2I+IC0gU3BlY2lmeSB0aGUgcXVhbGl0eSBvZiB0aGUgb3V0cHV0IGltYWdlLiAgQSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEwMC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlmIG5vdCBzcGVjaWZpZWQgaXMgNzUuPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPnJlbDwvYj4gLSBVc2VkIHdoZW4gYnVpbGRpbmcgYW4gaW1hZ2UgdGFnIGFsbG93cyBzcGVjaWZ5aW5nIGFuIG9wdGlvbmFsIHJlbCBhdHRyaWJ1dGUgKHR5cGljYWxseSB1c2VkIHdpdGggamF2YXNjcmlwdCB0eXBlIGFsYnVtcykuIGkuZTogcmVsPSJhbGJ1bSI8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+bWF4X3dpZHRoPC9iPiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSB3aWR0aCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMuPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPm1heF9oZWlnaHQ8L2I+IC0gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBtYXhpbXVtIGhlaWdodCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMuPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPnByb2dyZXNzaXZlPC9iPiAtIChib29sZWFuKSBUb2dnbGUgc2F2aW5nIGpwZWcgaW1hZ2VzIGluIHByb2dyZXNzaXZlIGZvcm1hdC4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgb3ZlcnJpZGUgdGhlIHByZWZlcmVuY2UgaW4gdGhlIG1vZHVsZXMgYWRtaW4gcGFuZWwuICBBcHBsaWVzIG9ubHkgdG8gSlBFRyBpbWFnZXMuPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmF1dG9zY2FsZV9vcDwvYj4gLSBPdmVycmlkZSB0aGUgZGVmYXVsdCBmaWx0ZXIgdG8gYmUgdXNlZCB3aGVuIGF1dG9zY2FsaW5nLiAgUG9zc2libGUgdmFsdWVzIGFyZSAicmVzaXplIiBhbmQgImNyb3B0b2ZpdCI8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX2JsdXI8L2I+IC0gKGFueXRoaW5nKSBTcGVjaWZ5IGFueSB2YWx1ZSBmb3IgdGhpcyBwYXJhbWV0ZXIgdG8gYWRkIGEgYmx1ciBmaWx0ZXIgdG8gdGhlIGltYWdlPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9icmlnaHRuZXNzPC9iPiAtIChpbnRlZ2VyKSBJbmNyZWFzZSB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZDwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfY29sb3JpemU8L2I+IC0gKHIsZyxiWyxhbHBoYV0pIC0gTGlrZSBmaWx0ZXJfZ3JheXNjYWxlIGhvd2V2ZXIgeW91IGNhbiBzcGVjaWZ5IHRoZSBjb2xvciBhbmQgYWxwaGEgdmFsdWU8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX2NvbnRyYXN0PC9iPiAtIChpbnRlZ2VyKSBDaGFuZ2UgdGhlIGNvbnRyYXN0IG9mIHRoZSBpbWFnZSBieSB0aGUgaW50ZWdlciB2YWx1ZSBzcGVjaWZpZWQ8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX2Nyb3A8L2I+IC0gKHBlcmNlbnRbLGhfYWxpZ24sdl9hbGlnbl0pIC0gUGVyZm9ybSBjcm9wcGluZyBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBDcm9wIHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCBhcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHBhcmFtZXRlcnMuICBUaGUgZmlyc3QgKHJlcXVpcmVkKSB2YWx1ZSBpcyBhbiBpbnRlZ2VyIHBlcmNlbnRhZ2Ugb2YgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuICBUaGUgb3B0aW9uYWwgc2Vjb25kIGFuZCB0aGlyZCBwYXJhbWV0ZXJzIGFyZSBvbmUgb2YgbCxjLHIgKGxlZnQsY2VudGVyLHJpZ2h0KSBhbmQgdCxjLGIgKHRvcCxjZW50ZXIsYm90dG9tKSBzcGVjaWZ5aW5nIHdoZXJlIHRoZSBsb2NhdGlvbiB3aXRoaW4gdGhlIHNvdXJjZSBpbWFnZSB0byBjcm9wIGZyb20uICBpLmU6IGNyb3A9MzMsYixyIHRvIGdyYWIgYSBjcm9wIG9mIDMzJSBmcm9tIHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHNvdXJjZSBpbWFnZS48L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX2Nyb3Ayc2l6ZTwvYj4gLSAod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvbl0pIC0gUGVyZm9ybSBhIGNyb3Agb24gdGhlIGltYWdlIHNwZWNpZmllZC4gIFRoaXMgZmlsdGVyIHdpbGwgY29weSB0aGUgcG9ydGlvbiBvZiB0aGUgc291cmNlIGltYWdlIHNwZWNpZmllZCBpbnRvIHRoZSBkZXN0aW5hdGlvbiBpbWFnZS4gIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgY2FuIGJlIG5vIGxhcmdlciB0aGFuIHRoZSBzaXplIG9mIHRoZSBzb3VyY2UgaW1hZ2UgKGFuZCB3aWxsIGJlIHRyaW1tZWQgYXMgc3VjaC4gIE5lZ2F0aXZlIHZhbHVlcyBhcmUgbm90IHBlcm1pdHRlZC4gIFZhbGlkIGxvY2F0aW9ucyBhcmU6IHRsLHRjLHRyLGNsLGMsY3IsYmwsYmMsYnIgZm9yIHRoZSA5IHJlbGF0aXZlIHBvc2l0aW9ucyB3aXRoaW4gdGhlIGltYWdlLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfY3JvcHRvZml0PC9iPiAtICh3aWR0aCxoZWlnaHRbLGxvY2F0aW9uWyx1cHNjYWxlXV0pIC0gUGVyZm9ybSBhIGNyb3B0b2ZpdCBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8sIHRoZW4gZm9jdXMgb24gdGhlIHNlbGVjdGVkIGFyZWEgb2YgdGhlIHJlc2l6ZWQgaW1hZ2UuICBDcm9wIHRvIGZpdCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgdGhlIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBmb3IgdGhlIGRlc3RpbmF0aW9uIGltYWdlIGFsb25nIHdpdGggYW4gKG9wdGlvbmFsKSBsb2NhdGlvbiBjb2RlLCBhbmQgdXBzY2FsZSBmbGFnLiAgdmFsaWQgbG9jYXRpb24gY29kZXMgYXJlIHRsLHRjLHRyLGNsLGMsY3IsYmwsYixiciBmb3IgdGhlIDkgcmVsYXRpdmUgcG9zaXRpb25zIHdpdGhpbiB0aGUgaW1hZ2UuICBJZiBhIGxvY2F0aW9uIGlzIG5vdCBzcGVjaWZpZWQgYSBwcmVmZXJlbmNlIHdpbGwgYmUgdXNlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzICJjIiB0byBjcm9wLXRvLWZpdCBmcm9tIHRoZSBjZW50ZXIgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIEJ5IGRlZmF1bHQgdXBzY2FsaW5nIGlzIGRpc2FibGVkIG9uIHRoaXMgZmlsdGVyLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfZWRnZWRldGVjdDwvYj4gLSAoYW55dGhpbmcpIEhpbGlnaHQgdGhlIGVkZ2VzIGluIHRoZSBpbWFnZTwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfZW1ib3NzPC9iPiAtIChhbnl0aGluZykgRW1ib3NzIHRoZSBpbWFnZTwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfZmxpcDwvYj4gLSAobW9kZSkgLSBQZXJmb3JtIGEgZmxpcCBvbiB0aGUgc3BlY2lmaWVkIGltYWdlLiAgU3BlY2lmeSAwIGZvciBob3Jpem9udGFsLCAxIGZvciB2ZXJ0aWNhbCwgYW5kIDIgZm9yIGZsaXAgaW4gYm90aCBkaXJlY3Rpb25zLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfZ3JheXNjYWxlPC9iPiAtIChhbnl0aGluZykgQ29udmVydCB0aGUgaW1hZ2UgdG8gZ3JheXNjYWxlPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9tZWFucmVtb3ZhbDwvYj4gLSAoYW55dGhpbmcpIEF0dGVtcHQgdG8gYWNoaWV2ZSBhICJza2V0Y2h5IiBlZmZlY3Q8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX25lZ2F0ZTwvYj4gLSAoYW55dGhpbmcpIE5lZ2F0ZSB0aGUgaW1hZ2U8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX25vb3A8L2I+IC0gKGFueXRoaW5nKSBEbyBubyBwcm9jZXNzaW5nIChidXQgdHJpZ2dlcnMgYSBjYWNoZWQgaW1hZ2UpPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9waXhlbGF0ZTwvYj4gLSAoc2l6ZVssYWR2YW5jZWRdKSBQaXhlbGF0ZSB0aGUgaW1hZ2UsIHNwZWNpZnkgYW4gaW50ZWdlciBzaXplIGFuZCBhbiBvcHRpb25hbCBib29sZWFuIChkZWZhdWx0IGlzIGZhbHNlKSB0byBlbmFibGUgYWR2YW5jZWQgcGl4ZWxhdGlvbjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfcmVmbGVjdDwvYj4gLSAoW3JlZmxlY3Rpb25faGVpZ2h0WyxyZWZsZWN0aW9uX29wYWNpdHlbLGRpdmlkZXJfaGVpZ2h0XV1dKSwgQ3JlYXRlcyByZWZsZWN0aW9uIG9mIGltYWdlLCBjdXJyZW50bHkgd29ya2luZyBvbmx5IHdpdGgganBnLGpwZWcgaW1hZ2VzIGFnYWluc3Qgd2hpdGUgYmFja2dyb3VuZC48L2xpPg0KPGxpPg0KICA8ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9yZXNpemU8L2I+IC0gdHlwZSxudW1iZXJbLG51bWJlclssdXBzY2FsZV1dIC0gUGVyZm9ybSBhIHJlc2l6ZSBvZiB0aGUgc291cmNlIGltYWdlLiAgQnkgZGVmYXVsdCwgdGhlIHJlc2l6ZSBmaWx0ZXIgYWxsb3dzIHVwc2NhbGluZy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogIDx1bD4NCiAgICA8bGk+PGI+cCxudW1iZXI8L2I+IC0gUGVyZm9ybSBhIHNpbXBsZSByZXNjYWxlIHRvIGEgY2VydGFpbiBwZXJjZW50YWdlLiAgaS5lOiAgcmVzaXplPXAsNTAgdG8gcmVzaXplIHRvIDUwJSBvZiB0aGUgb3JpZ2luYWwgc2l6ZS48L2xpPg0KICAgIDxsaT48Yj5wLG51bWJlciwwPC9iPiAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuIERvIG5vdCBhbGxvdyB1cHNjYWxpbmc8L2xpPg0KICAgIDxsaT48Yj53LG51bWJlcjwvYj4gLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIHdpZHRoICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9dyw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gd2lkdGggb2YgODAgcGl4ZWxzLjwvbGk+DQogICAgPGxpPjxiPncsbnVtYmVyLDA8L2I+IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy4gRG8gbm90IGFsbG93IHVwc2NhbGluZzwvbGk+DQogICAgPGxpPjxiPmgsbnVtYmVyPC9iPiAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgaGVpZ2h0ICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9aCw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gaGVpZ2h0IG9mIDgwIHBpeGVscy48L2xpPg0KICAgIDxsaT48Yj5oLG51bWJlciwwPC9iPiAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgaGVpZ2h0ICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9aCw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gaGVpZ2h0IG9mIDgwIHBpeGVscy4gRG8gbm90IGFsbG93IHVwc2NhbGluZzwvbGk+DQogICAgPGxpPjxiPmUsbnVtYmVyPC9iPiAtIFBlcmZvcm0gYSByZXNpemUgcmVzaXppbmcgdGhlIGxhcmdlc3QgZWRnZSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9ZSwxMDAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdob3MgbGFyZ2VzdCBlZGdlIGlzIDEwMCBwaXhlbHMuPC9saT4NCiAgICA8bGk+PGI+ZSxudW1iZXIsMDwvYj4gLSBQZXJmb3JtIGEgcmVzaXplIHJlc2l6aW5nIHRoZSBsYXJnZXN0IGVkZ2UgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWUsMTAwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aG9zIGxhcmdlc3QgZWRnZSBpcyAxMDAgcGl4ZWxzLiAgRG8gbm90IGFsbG93IHVwc2NhbGluZy48L2xpPg0KICAgIDxsaT48Yj5jLHgseTwvYj4gLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgY3VzdG9tIHNpemUgKHdpdGhvdXQgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuICBpLmU6IGZpbHRlcl9yZXNpemU9Yyw1MCw3NSB0byBjcmVhdGUgYSB0aHVtYm5haWwgdGhhdCBpcyA1MHg3NSBwaXhlbHMuPC9saT4NCiAgICAuDQogICAgPGxpPjxiPmMseCx5LDA8L2I+IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLiBEbyBub3QgYWxsb3cgdXBzY2FsaW5nLjwvbGk+DQogICAgLg0KICA8L3VsPg0KPC9saT4NCjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDxiPmZpbHRlcl9yZXNpemV0b2ZpdDwvYj4gLSAod2lkdGgsaGVpZ2h0Wyxjb2xvclssYWxwaGFdXSkgLSBQZXJmb3JtIGEgcmVzaXplIG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIFRoaXMgYXR0ZW1wdHMgdG8gcmVzY2FsZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc3RpbmF0aW9uIHNpemUgd2hpbGUgcmVhdGluaW5nIGFzcGVjdCByYXRpbywgdGhlIGltYWdlIGlzIGNlbnRlcmVkIGluIHRoZSBib3ggc3BlY2lmaWVkIChlaXRoZXIgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgZGVwZW5kaW5nIHVwb24gYXNwZWN0IHJhdGlvIGFuZCB0aGUgZGVzdGluYXRpb24gc2l6ZSwgYW5kIHRoZSBpbWFnZSBpcyBzdXJyb3VuZGVkIGJ5IHRoZSBzdXBwbGllZCBjb2xvci4gIENvbG9ycyBjYW4gYmUgc3BlY2lmaWVkIGJ5IG5hbWUgKHNlZSB0aGUgWDExIGNvbG9yIG5hbWVzKSwgb3IgYnkgI25ubm5ubiBoZXhhZGVjaW1hbCBmb3JtYXQsIG9yIGFzIHJnYiB2YWx1ZXMgc2VwYXJhdGVkIGJ5IGEgOiBpLmU6ICBmaWx0ZXJfY3JvcHRvZml0PTYwMCw0MDAsI2ZmMDAwMC4gIFRoZSBzcGVjaWFsIGNvbG9yIHZhbHVlICJ0cmFuc3BhcmVudCIgY2FuIGJlIHNwZWNpZmllZCB0byBmb3JjZSB0aGUgYmFja2dyb3VuZCB0byBiZSB0cmFuc3BhcmVudCAoZm9yIGltYWdlIHR5cGVzIHRoYXQgc3VwcG9ydCBpdCkuICAgQW4gYWxwaGEgdmFsdWUgbWF5IGJlIHNwZWNpZmllZCBiZXR3ZWVuIDAgYW5kIDEyNyB0byBzcGVjaWZ5IGRpZmZlcmVudCBkZWdyZWVzIG9mIHRyYW5zbHVjZW5jeSBmb3IgdGhlIGJhY2tncm91bmQuICAgQXQgbm8gdGltZSB3aWxsIHRoaXMgcGx1Z2luIHBlcmZvcm0gYW55IHVwc2NhbGluZy48L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX3JvdGF0ZTwvYj4gLSAoYW5nbGUpIFNwZWNpZnkgdGhlIGludGVnZXIgYW5nbGUgKGNvdW50ZXIgY2xvY2t3aXNlKSB0byByb3RhdGUgdGhlIGltYWdlLCBUaGUgaW1hZ2UgaXMgcm90YXRlZCBhYm91dCBpdHMgY2VudGVyLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfcm91bmRlZGNvcm5lcnM8L2I+IC0gKHJhZGl1c1ssY29sb3JdKSBTcGVjaWZ5IGFuIGludGVnZXIgcmFkaXVzIChpbiBwaXhlbHMpIGZvciByb3VuZGluZyB0aGUgY29ybmVycy4gIE9wdGlvbmFsbHkgc3BlY2lmeSBhIGNvbG9yIGZvciB0aGUgcm91bmRlZCBjb3JuZXJzLiAgVGhlIHNwZWNpYWwgdmFsdWUgaWYgInRyYW5zcGFyZW50IiBmb3IgdGhlIGNvbG9yIHdpbGwgZm9yY2UgdGhlIGltYWdlIHRvIGJlIGNvbnZlcnRlZCB0byBhIHBuZyBhbmQgYSB0cmFuc3BhcmVudCBjb2xvciB1c2VkLjwvbGk+DQo8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8Yj5maWx0ZXJfc2hhcnBlbjwvYj4gLSAoaW50ZWdlcikgU3BlY2lmeSBhbiBhZGp1c3RtZW50IChiZXR3ZWVuIC0xMCBhbmQgMTApIHRvIHRoZSBzaGFycGVuIGZpbHRlci4gIExvd2VyIHZhbHVlcyB3aWxsIGxpZ2h0ZW4gdGhlIHNoYXJwZW5pbmcgZWZmZWN0LiAgSGlnaGVyIHZhbHVlcyBpbmNyZWFzZSBpdC4gIE5vdGU6IHNoYXJwZW5pbmcgbWF5IGhhdmUgYWR2ZXJzZSBlZmZlY3RzIG9uIHNvbWUgaW1hZ2VzLCBhbmQgc2hvdWxkIHVzdWFsbHkgYmUgc3BlY2lmaWVkIGFzIHRoZSBsYXN0IGZpbHRlciwgdW5sZXNzIHRoZSBmaWx0ZXIgbWF5IGFkZCBib3JkZXJzIHRvIHRoZSBpbWFnZS48L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX3RyYW5zcGFyZW50PC9iPiAtIChjb2xvclssYWxwaGFdKSBDb252ZXJ0cyBhIGpwZWcgaW1hZ2UgdG8gdHJhbnNwYXJlbnQgUE5HIGJ5IGNvbnZlcnRpbmcgYWxsIG9mIHRoZSBwaXhlbHMgb2YgdGhlIHNwZWNpZmllZCBjb2xvciB0byB0aGUgdHJhbnNwYXJlbnQgY29sb3IuICBPcHRpb25hbGx5LCBhbiBhbHBoYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEyNyBjYW4gYmUgc3BlY2lmaWVkIHRvIGluZGljYXRlIHNvbWUgYWxwaGEgbGV2ZWwgYmxlbmRpbmc8L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX3VudHJhbnNwYXJlbnQgPC9iPi0gKGNvbG9yWyxwZXJjZW50XSkgQ29udmVydHMgYSB0cmFuc3BhcmVudCBwbmcgaW1hZ2UgdG8gYSBqcGVnIGltYWdlIGJ5IGNvcHlpbmcgYSB0cmFuc3BhcmVudC9hbHBoYSBibGVuZGVkIHBuZyBvdmVydG9wIG9mIGFuIGltYWdlIG9mIHRoZSBhcHByb3ByaWF0ZSBjb2xvci48L2xpPg0KPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPGI+ZmlsdGVyX3dhdGVybWFyazwvYj4gLSAoYm9vbHxzdHJpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayAoYXMgc3BlY2lmaWVkIGluIHRoZSBDTVNNU0V4dCBhZG1pbiBwYW5lbCkgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIGltYWdlLiAgQW4gb3B0aW9uYWwgc3RyaW5nIGNhbiBiZSBzcGVjaWZpZWQgdG8gYWxsb3cgY3VzdG9taXppbmcgdGhlIHRleHQgaW4gdGhlIHdhdGVybWFyay4gIFRoZSBzdHJpbmcgY2Fubm90IGNvbnRhaW4gSFRNTCBjaGFyYWN0ZXJzLCBhbmQgY2Fubm90IGJlIG1vcmUgdGhhbiA1MCBjaGFyYWN0ZXJzIGluIGxlbmd0aCAoaXQgd2lsbCBiZSB0cmltbWVkKS4gIE5vdGUsICBkZXBlbmRpbmcgb24gaW1hZ2Ugc2l6ZSwgYW5kIHdhdGVybWFyayBzZXR0aW5ncyB0aGUgdGV4dCBtYXkgbm90IGJlIHZpc2libGUgb3IgbWF5IGJlIGNsaXBwZWQgYnkgdGhlIGltYWdlLjwvbGk+DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/help_smarty_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGg0PkF1dG9tYXRpYyBQcm9jZXNzaW5nOjwvaDQ+DQo8cD5UaGlzIG1vZHVsZSBpbmNsdWRlcyBhIHNtYXJ0eSBibG9jayB0YWcgY2FsbGVkIDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiYjMTIzO3NpX2NvbnZlcnR9PC9jb2RlPiB0aGF0IGNhbiBzdXJyb3VuZCBhIGJsb2NrIG9mIGh0bWwsIG9yIG90aGVyIHNtYXJ0eSB0YWdzIHRvIGFsbG93IGF1dG9tYXRpYyBpbWFnZSBwcm9jZXNzaW5nLiAgVGhpcyB0YWcgY2FuIGJlIHVzZWQgbGlrZTogKGZvciBleGFtcGxlKTo8L3A+DQo8cHJlPjxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiYjMTIzO3NpX2NvbnZlcnR9JiMxMjM7Y29udGVudH0mIzEyMzsvc2lfY29udmVydH08L2NvZGU+PC9wcmU+DQo8cD5UaGlzIHdpbGwgYWxsb3cgeW91ciB1c2VycyB0byBpbmNsdWRlIGltYWdlcyBpbnRvIHBhZ2VzIHVzaW5nIHRoZSBub3JtYWwgd3lzaXd5ZyB0b29scywgYW5kIHRvIGhhdmUgdGhlbSBhdXRvbWF0aWNhbGx5IHByb2Nlc3NlZCBhbmQgZW1iZWRkZWQgaW50byB0aGUgcGFnZSB1c2luZyB0aGUgbWFnaWMgb2YgJiMxMjM7U21hcnRJbWFnZX0uIGkuZTogU2VlIHRoZSBmb2xsb3dpbmcgY29kZTo8L3A+DQo8cHJlPjxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPiYjMTIzO3NpX2NvbnZlcnQgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MX0mIzEyMztjb250ZW50fSYjMTIzOy9zaV9jb252ZXJ0fTwvY29kZT48L3ByZT4NCjxwPlRoZSBhYm92ZSBjb2RlIHdpbGwgY2FwdHVyZSBhbGwgaW1hZ2UgdGFncywgYW5kIGNvbnZlcnQgdGhlbSB0byBncmF5c2NhbGUgYW5kIHRoZW4gYXBwbHkgdGhlIHdhdGVybWFyayAoYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiB0aGUgQ0dFeHRlbnNpb25zIG1vZHVsZSkuICBBbGwgb2YgdGhlIGZpbHRlcmluZyBwYXJhbWV0ZXJzIGF2YWlsYWJsZSB0byB0aGUgPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+JiMxMjM7U21hcnRJbWFnZX08L2NvZGU+IHRhZyBhcmUgYXZhaWxhYmxlIHRvIHRoaXMgdGFnIChmb3IgaW1hZ2Ugc2NhbGluZyBldGMuKS4gIEFkZGl0aW9uYWxseSwgdHdvIG5ldyBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOiA8c3Ryb25nPm1heF93aWR0aDwvc3Ryb25nPiBhbmQgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldCBhIG1heGltdW0gc2l6ZSBmb3IgaW1hZ2VzLi48L3A+DQo8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogM2VtOyI+DQogIDxzdHJvbmcgc3R5bGU9ImNvbG9yOiByZWQ7Ij5Ob3RlOjwvc3Ryb25nPg0KICA8cD4xLiBUaGlzIHRhZyBwYXJzZXMgdGhlIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIHRhZ3MgdG8gZmluZCB0aGUgPGltZz4gdGFncy4gIEl0IHRoZW4gd2lsbCBvdXRwdXQgc3ludGFjdGljYWxseSB2YWxpZCBIVE1MIGZvciB0aGUgc3Vic2V0IG9mIGNvZGUgaXQgd2FzIHByb3ZpZGVkLiAgVGhlcmVmb3JlIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBzbmlwcGV0IG9mIEhUTUwgcGFzc2VkIHRvIHRoaXMgdGFnIGJlIGludGFjdCBhbmQgYXMgY2xvc2UgdG8gdmFsaWQgYXMgcG9zc2libGUuICA8c3Ryb25nPlVzZSB3aXRoIGNhdXRpb24uPC9zdHJvbmc+DQogIDxwPjIuICBpbWFnZSB0YWdzIHdpdGggdGhlIGNsYXNzICZxdW90O25vc2kmcXVvdDsgd2lsbCBiZSBpZ25vcmVkIGJ5IHRoZSAmIzEyMztzaV9jb252ZXJ0fSB0YWcuLjwvcD4NCiAgPHA+My4gIEF0dHJpYnV0ZXMgbGlrZSBhbHQgYW5kIHRpdGxlIG9uIHRoZSBpbnB1dCBpbWFnZXMgd2lsbCBub3QgYmUgb3ZlcnJpZGRlbiBpZiB0aGV5IGV4aXN0LjwvcD4NCjwvZGl2Pg0KDQo8aDQ+QWR2YW5jZWQgVXRpbGl0aWVzOjwvaDQ+DQo8dWw+DQogIDxsaT4NCiAgICA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztzaV9nZXRpbWFnZXN9PC9jb2RlPg0KICAgIDxwPkEgcGx1Z2luIHRvIGV4dHJhY3QgaW1hZ2VzIGZyb20gYSBibG9jayBvZiBIVE1MIGNvZGUgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZyBvdXRzaWRlIG9mIHNpLjwvcD4NCiAgICA8cD48c3Ryb25nPkFyZ3VtZW50czo8L3N0cm9uZz4NCiAgICA8dWw+DQogICAgICA8bGk+aW1hZ2Vzb25seTogdGhlIGNvbnRlbnQgcmV0dXJuZWQgd2lsbCBjb250YWluIG9ubHkgJmx0O2ltZyZndDsgdGFncy4gIEFsbCBvdGhlciB0YWdzIHdpbGwgYmUgcmVtb3ZlZC4gIE5vdCBhcHBsaWNhYmxlIGlmIHRoZSBub2NvbnRlbnQgcGFyYW1ldGVyIGlzIHNwZWNpZmllZC48L2xpPg0KICAgICAgPGxpPm5vY29udGVudDogZG8gbm90IG91dHB1dCBhbnkgY29udGVudCB3aGF0c29ldmVyLjwvbGk+DQogICAgICA8bGk+YXNzaWduOiBjcmVhdGUgYW4gYXJyYXkgcmVwcmVzZWludGluZyBhbGwgb2YgdGhlIGF2YWlsYWJsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGZvdW5kICZsdDtpbWcmZ3Q7IHRhZ3MgYW5kIGFzc2lnbiBpdCB0byB0aGUgbmFtZWQgc21hcnR5IHZhcmlhYmxlLjwvbGk+DQogICAgPC91bD4NCiAgICA8L3A+DQogICAgPHA+PHN0cm9uZz5Vc2FnZTo8L3N0cm9uZz4NCiAgICA8dWw+DQogICAgICA8bGk+DQogICAgICAgIFJlbW92ZSBhbGwgYnV0IHRoZSBpbWFnZSB0YWdzIGluIHRoZSBlbmNsb3NlZCBIVE1MOjxici8+DQogICAgICAgIDxwcmU+PGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+JiMxMjM7c2lfZ2V0aW1hZ2VzIGltYWdlc29ubHk9MX0mIzEyMztjb250ZW50fSYjMTIzOy9zaV9nZXRpbWFnZXN9PC9jb2RlPjwvcHJlPg0KICAgICAgPC9saT4NCiAgICAgIDxsaT4NCiAgICAgICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgaW1hZ2UgdGFncyBpbiB0aGUgZW5jbG9zZWQgSFRNTCBjb250ZW50LCBidXQgbGVhdmUgdGhlIGNvbnRlbnQgdW50b3VjaGVkOjxici8+DQogICAgICAgIDxwcmU+PGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+JiMxMjM7c2lfZ2V0aW1hZ2VzIGFzc2lnbj0naW1hZ2VpbmZvJ30mIzEyMztjb250ZW50fSYjMTIzOy9zaV9nZXRpbWFnZXN9PC9jb2RlPjwvcHJlPg0KICAgICAgPC9saT4NCiAgICAgIDxsaT4NCiAgICAgICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgaW1hZ2UgdGFncyBpbiB0aGUgZW5jbG9zZWQgSFRNTCBjb250ZW50LCBhbmQgZG8gbm90IG91dHB1dCBhbnkgb2YgdGhlIG9yaWdpbmFsIGNvbnRlbnQ6PGJyLz4NCiAgICAgICAgPHByZT48Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij4mIzEyMztzaV9nZXRpbWFnZXMgYXNzaWduPSdpbWFnZWluZm8nIG5vY29udGVudD0xfSYjMTIzO2NvbnRlbnR9JiMxMjM7L3NpX2dldGltYWdlc308L2NvZGU+PC9wcmU+DQogICAgICA8L2xpPg0KICAgIDwvdWw+DQogICAgPC9wPg0KICA8L2xpPg0KPC91bD4=]]></data>
	</file>
	<file>
	  <filename>/templates/help_using_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPkhvdyBkbyBJIFVzZSBpdDwvaDM+DQo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byB1c2UgaXQgaW4gdGhlIHNhbWUgcGxhY2UgeW91IHdvdWxkIHRoZSAmIzEyMztpbWFnZX0gdGFnLiAgSS5lOiBTb21ldGhpbmcgbGlrZTo8L3A+DQo8cHJlPjxjb2RlPiYjMTIzO1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyd9PC9jb2RlPjwvcHJlPi4gIDxwPlRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4NCg0KPHA+T2Z0ZW4gcGVvcGxlIHdhbnQgdG8gZGlzcGxheSBhIHdhdGVybWFyayBvbiB0aGUgaW1hZ2VzIHRoYXQgdGhleSBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZCB0byBwcmV2ZW50IGltYWdlIHRoZWZ0LiAgVGhlIENNU01TRXh0IG1vZHVsZSBwcm92aWRlcyBzZXR0aW5ncyBmb3IgeW91IHRvIGNvbmZpZ3VyZSB3YXRlcm1hcmtpbmcgYW5kIHlvdSBjYW4gZW5hYmxlIHRoYXQgd2l0aCBhbnkgaW1hZ2Ugd2l0aCBhIHRhZyBsaWtlIHRoaXM6PC9wPg0KPHByZT48Y29kZT4mIzEyMztTbWFydEltYWdlIHNyYz0ndXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcnIGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+PC9wcmU+DQo8cD5UaGlzIHdpbGwgcmVhZCB0aGUgaW1hZ2UsIGFwcGx5IHRoZSB3YXRlcm1hcmsgYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiBDTVNNU0V4dCwgY2FjaGUgdGhlIGFsdGVyZWQgaW1hZ2UsIGFuZCB0aGVuIGVtYmVkIGl0IGludG8geW91ciBvdXRwdXQuPC9wPg0KPHA+UGljdHVyZXMgdGFrZW4gYnkgbW9kZXJuIGRpZ2l0YWwgY2FtZXJhcyBhcmUgb2Z0ZW4gdG9vIGxhcmdlIGZvciB1c2Ugb24gYSB3ZWJzaXRlLCB0aGVyZWZvcmUgdGhleSBuZWVkIHRvIGJlIHNjYWxlZCBiZWZvcmUgZGlzcGxheWVkIG9uIHlvdXIgcGFnZS4gIFRoaXMgY2FuIGJlIGRvbmUgcXVpdGUgZWFzaWx5IHdpdGggYSB0YWcgbGlrZTo8L3A+DQo8cHJlPjxjb2RlPiYjMTIzO1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZycgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J3csMzUwJ308L2NvZGU+PC9wcmU+DQo8cD5UaGlzIHRhZyB3aWxsIHdhdGVybWFyayB0aGUgaW1hZ2UgYmVmb3JlIGl0IGlzIHJlc2l6ZWQgdG8gYSBtYXhpbXVtIHdpZHRoIG9mIDM1MCBwaXhlbHMgKHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgVGhlbiB0aGUgYWRqdXN0ZWQgaW1hZ2Ugd2lsbCBiZSBjYWNoZWQsIGFuZCBpZiB0aGUgYnJvd3NlciBhbGxvd3MgdGhlIGltYWdlIHdpbGwgYmUgZW1iZWRkZWQgaW50byB0aGUgPHN0cm9uZz5IVE1MPC9zdHJvbmc+IG91dHB1dC4gIElmIGVtYmVkZGluZyBpcyBub3QgcG9zc2libGUsIHRoZSA8c3Ryb25nPmltZzwvc3Ryb25nPiB0YWcgd2lsbCBjb250YWluIHRoZSA8c3Ryb25nPlVSTDwvc3Ryb25nPiB0byB0aGUgY2FjaGVkIGltYWdlLjwvcD4NCjxwPllvdSBjYW4gY29tYmluZSB0aGUgb3B0aW9ucyBsaXN0ZWQgaW4gdGhlIDxzdHJvbmc+UGFyYW1ldGVyczwvc3Ryb25nPiB0YWIgdG8gcGVyZm9ybSBhIGxvdCBvZiBkaWZmZXJlbnQgZWZmZWN0cyB0byB5b3VyIGltYWdlcywgYnVpbGQgc2ltcGxlIGdhbGxlcmllcywgYW5kIGltcHJvdmUgeW91ciBzaXRlIHBlcmZvcm1hbmNlIGF0IHRoZSBzYW1lIHRpbWUuPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/responsive.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntqc21pbn0KeyogdGhpcyBqYXZhc2NyaXB0IHdpbGwgc2V0IGEgY29va2llIHdpdGggdGhlIGRldmljZSBoZWlnaHQsIHdpZHRoLCBhbmQgcGl4ZWwgcmF0aW8gZm9yIHVzZSBpbiBTbWFydEltYWdlIHJlc3BvbnNpdmUgaW1hZ2UgaGFuZGxpbmcgKn0KaWYoIGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCd7JGNvb2tpZW5hbWV9JykgPCAwICkgewogIHZhciBfZXggPSBuZXcgRGF0ZTsKICBfZXguc2V0RnVsbFllYXIoX2V4LmdldEZ1bGxZZWFyKCkgKyAxKTsKICB2YXIgX2QgPSB7fTsKICBfZC53aWR0aCA9IHNjcmVlbi53aWR0aDsKICBfZC5oZWlnaHQgPSBzY3JlZW4uaGVpZ2h0OwogIF9kLmRwciA9IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOwogIGRvY3VtZW50LmNvb2tpZSA9ICJ7JGNvb2tpZW5hbWV9PSIrSlNPTi5zdHJpbmdpZnkoX2QpKyI7IGV4cGlyZXM9JytfZXgudG9HTVRTdHJpbmcoKS4nOyBwYXRoPS87IjsKICBpZiggZG9jdW1lbnQuY29va2llLmluZGV4T2YoJ3skY29va2llbmFtZX0nKSA+PSAwICkgewogICAgd2luZG93LnN0b3AoKTsKICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKICB9Cn0Key9qc21pbn08L3NjcmlwdD4=]]></data>
	</file>
</module>
