<?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>Gbook</name>
	<version>2.3.1</version>
    <mincmsversion>2.2</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGUgR2Jvb2sgbW9kdWxlIHByb3ZpZGVzIHlvdXIgc2l0ZSB2aXNpdG9ycyBhIGNvbnZlbmllbnQgd2F5IHRvIGdpdmUgc29tZSBmZWVkYmFjayBvbiB5b3VyIHNpdGUuIE1lc3NhZ2VzIGNhbiBpbmNsdWRlIHNtaWxleXMgYW5kIHN0YXIgcmF0aW5ncy4gWW91ciBndWVzdGJvb2sgaXMgZWZmZWN0aXZlbHkgcHJvdGVjdGVkIGZyb20gc3BhbSB3aXRob3V0IHRoZSBuZWNlc3NpdHkgb2YgdXNpbmcgYW4gYW5ub3lpbmcgY2FwdGNoYS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRvIHNob3cgdGhlIGd1ZXN0Ym9vayBlbnRyaWVzLCBqdXN0IGluc2VydCB0aGUgbW9kdWxlIHdpdGggdGhlPGNvZGU+IHtHYm9va30gPC9jb2RlPnRhZyBpbnRvIHRoZSBjb250ZW50IHNlY3Rpb24gb2YgYSBwYWdlLjxiciAvPg0KWW91IGNhbiBkaXNwbGF5IGEgZm9ybSB3aXRoIHRoZTxjb2RlPiB7R2Jvb2sgYWN0aW9uPSdmb3JtJ30gPC9jb2RlPnRhZy48L3A+DQo8cD5UbyBnZXQgYSBxdWljayBzdGFydCwgYSBzYW1wbGUgc3R5bGVzaGVldCBoYXMgYmVlbiBpbnN0YWxsZWQgd2hpY2ggY29ycmVzcG9uZHMgd2l0aCB0aGUgZGVmYXVsdCBtb2R1bGUgdGVtcGxhdGVzLiBBdHRhY2ggdGhlIHN0eWxlc2hlZXQgJ0dib29rIG1vZHVsZScgdG8geW91ciBwYWdlIHRlbXBsYXRlKHMpIHRvIGdpdmUgeW91ciBndWVzdGJvb2sgYSBmaXJzdCBnb29kIGxvb2suPC9wPg0KDQo8aDM+RWRpdCBHdWVzdGJvb2sgRW50cmllczwvaDM+DQo8cD5Vc2VycyB3aXRoIHRoZSAnR2Jvb2s6IFVzZScgcGVybWlzc2lvbiBjYW4gZWRpdCBndWVzdGJvb2sgZW50cmllcyBpbiB0aGUgYmFja2VuZC48L3A+DQoNCjxoMz5TcGFtIFByb3RlY3Rpb248L2gzPg0KPHA+R2Jvb2sgdXNlcyBhIGhvbmV5cG90IGZpZWxkIChzaW5jZSB2ZXJzaW9uIDIuMikgd2hpY2ggd2lsbCBwcmV2ZW50IHNwYW0gZW5naW5lcyBmcm9tIHBvc3RpbmcuIE1ha2Ugc3VyZSB0byBrZWVwIHRoZSB7JGdib29rX2hvbmV5cG90X2lucHV0fSBmaWVsZCBpbiB5b3VyIGZvcm0gdGVtcGxhdGUsIGFuZCBpdCBzdGF5cyBoaWRkZW4gdmlhIGNzcywgb3RoZXJ3aXNlIG5vYm9keSB3aWxsIGJlIGFibGUgdG8gcG9zdCBtZXNzYWdlcy48L3A+DQo8cD5OZXh0LCBHYm9vayBwcm91ZGx5IHVzZXMgdGhlICJiOCIgc3RhdGlzdGljYWwgKEJheWVzaWFuKSBzcGFtIGZpbHRlciB2ZXJzaW9uIDAuNi4yLCB3cml0dGVuIGJ5IFRvYmlhcyBMZXVwb2xkLiBUaGlzIGJ1aWx0LWluIHNwYW0gcHJvdGVjdGlvbiBzeXN0ZW0gd2lsbCBvbmx5IGZ1bmN0aW9uIGFmdGVyIHlvdSBoYXZlIGxlYXJuZWQgaXQgaG93IHRvIGludGVycHJldCB0aGUgbWVzc2FnZXMgYnkgbWFya2luZyB0aGUgZmlyc3QgZmV3IGVudHJpZXMgYXMgZWl0aGVyICJTcGFtIiBvciAiSGFtIi4gSWYgdGhlIHN5c3RlbSBoYXMgbGVhcm5lZCBlbm91Z2ggZ29vZCBhcyB3ZWxsIGFzIGVub3VnaCBzcGFtbXkgd29yZHMsIGl0IHdpbGwgZ2l2ZSBzcGFtIG1lc3NhZ2VzIGEgcmF0aW5nIHNvbWV3aGVyZSBuZWFyIDEsIGFuZCBoYW0gbWVzc2FnZXMgd2lsbCBiZSByYXRlZCBzb21ld2hlcmUgbmVhciAwLiBOb3RlIHRoYXQgaXQgd29uJ3QgYmUgb2YgdmVyeSBtdWNoIHVzZSB0byBtYW51YWxseSBtYXJrIGVudHJpZXMgYXMgc3BhbSBvciBoYW0sIHdoaWNoIGFyZSBhbHJlYWR5IHJhdGVkIGFzIHN1Y2guPC9wPg0KPHA+TWVzc2FnZXMgd2l0aCBhIHJhdGluZyBvZiAwLjUwIGNvdWxkIG5vdCBiZSByYXRlZCBiZWNhdXNlIG9mIHRvbyBmZXcgbWF0Y2hpbmcgd29yZHMuIFRob3NlIGFyZSB0aGUgb25lcyB5b3UgbmVlZCB0byBwYXkgYXR0ZW50aW9uIHRvIGJ5IG1hcmtpbmcgdGhlbSBhcyBzcGFtIG9yIGhhbS48L3A+DQo8cD5JZiB5b3Ugd2FudCB0byBrbm93IG1vcmUgb2YgdGhpcyBleGNlbGxlbnQgc3BhbSBwcm90ZWN0aW9uIHN5c3RlbSwgeW91IGNhbiB2aXNpdCA8YSBocmVmPSJodHRwOi8vbmFzYXViZXIuZGUvb3BlbnNvdXJjZS9iOC8iPm5hc2F1YmVyLmRlPC9hPi48L3A+DQo8cD5XaGVuIGEgbmV3IG1lc3NhZ2UgaXMgc3VzcGVjdGVkIHRvIGNvbnRhaW4gc3BhbSwgdGhvdWdoIHdpdGggc3VjaCBhIGxvdyB2YWx1ZSB0aGF0IGl0IHdhcyBzYXZlZCBidXQgbm90IGFjdGl2ZSwgeW91IGNhbiBzZXJ2ZSB5b3VyIHZpc2l0b3IgYSBjaGFwdGNoYSBjaGFsbGVuZ2UuIEZvciB0aGlzIHRoZSBDYXB0Y2hhIG1vZHVsZSBuZWVkcyB0byBiZSBpbnN0YWxsZWQgYW5kIHRoZSBndWVzdGJvb2sgc2V0dGluZyAiVXNlIGNhcHRjaGEiIG5lZWRzIHRvIGJlIGNoZWNrZWQuPC9wPg0KDQo8aDM+Q3VzdG9taXNhdGlvbjwvaDM+DQo8cD5UaGUgR3Vlc3Rib29rcy10YWIgaW4gdGhlIGFkbWluIHNlY3Rpb24gYWxsb3dzIHlvdSB0byBjcmVhdGUgbW9yZSBzZXBhcmF0ZSBndWVzdGJvb2tzLiBFYWNoIGNhbiBoYXZlIGl0cyBvd24gc2V0dGluZ3MuPGJyIC8+DQpVc2VycyBtdXN0IGJlbG9uZyB0byBhIGdyb3VwIHdpdGggdGhlICdHYm9vazogTW9kaWZ5JyBwZXJtaXNzaW9uIHRvIGJlIGFibGUgdG8gY3JlYXRlIG5ldyBndWVzdGJvb2tzIGFuZCB0byBjaGFuZ2Ugc2V0dGluZ3MuPC9wPg0KDQo8aDM+SW1wb3J0IEd1ZXN0Ym9vayBFbnRyaWVzPC9oMz4NCjxwPklmIHlvdSBhcmUgbWlncmF0aW5nIHlvdXIgc2l0ZSBmcm9tIGFub3RoZXIgQ01TIG9yIGZyb20gYW5vdGhlciBndWVzdGJvb2sgc3lzdGVtLCB5b3UgcHJvYmFibHkgbWlnaHQgd2FudCB0byBjcmVhdGUgYSBjc3YgZmlsZSBjb250YWluaW5nIGFsbCBlbnRyaWVzIHlvdSBoYXZlIHJlY2VpdmVkIGluIHRoZSBwYXN0LjwvcD4NCjxwPlRoaXMgY3N2IGZpbGUgY2FuIGVhc2lseSBiZSBpbXBvcnRlZCB0byBHYm9vaywgd2hlbiBpdCBpcyBmb3JtYXR0ZWQgd2l0aCBmaWVsZHMgaW4gYSBzcGVjaWZpYyBvcmRlciwgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbnMgYW5kIGVuY2xvc2VkIGJ5IGRvdWJsZSBxdW90ZXMsIGxpa2UgdGhpczo8YnIgLz4NCjxjb2RlPiJhdXRob3IiOyJlbWFpbCI7InRpdGxlIjsibWVzc2FnZSI7ImlwIjsiY3JlYXRlX2RhdGUiPC9jb2RlPjwvcD4NCjxwPkFsbCBmaWVsZHMgYXJlIG9mIHR5cGUgW3N0cmluZ10uIFRoZSBmaWVsZCA8ZW0+Y3JlYXRlX2RhdGU8L2VtPiBuZWVkcyB0byBiZSBmb3JtYXR0ZWQgYXMgInl5eXktbW0tZGQgaGg6bW06c3MiPC9wPg0KDQo8aDM+RWRpdCBHYm9vayB0ZW1wbGF0ZXM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gZWRpdCB0ZW1wbGF0ZXMsIHRoZSB1c2VyIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgJ01vZGlmeSBUZW1wbGF0ZXMnIHBlcm1pc3Npb24uPC9wPg0KDQo8aDM+R2xvYmFsIEdib29rIE9wdGlvbnM8L2gzPg0KPHA+VG8gZWRpdCB0aGUgZ2xvYmFsIEdib29rIG9wdGlvbnMsIHRoZSB1c2VyIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyBwZXJtaXNzaW9uLjwvcD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgb3IgdG8gZmlsZSBhIEZlYXR1cmUgUmVxdWVzdCBvciBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIE1vZHVsZSBGb3JnZQ0KPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8iPkdib29rIFBhZ2U8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwczovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gWW91IGFyZSB3YXJtbHkgaW52aXRlZCB0byBvcGVuIGEgbmV3IHRvcGljIGlmIHlvdSBkaWRuJ3QgZmluZCBhbiBhbnN3ZXIgdG8geW91ciBxdWVzdGlvbi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+DQo8L3VsPg0KDQo8aDM+RmVlZGJhY2s8L2gzPg0KPHA+SWYgeW91IGVuam95IHRoaXMgbW9kdWxlLCB1c2UgaXQgb24gYSBjb21tZXJjaWFsIHdlYnNpdGUgb3Igd291bGQgbGlrZSB0byBlbmNvdXJhZ2UgZnV0dXJlIGRldmVsb3BtZW50LCB5b3UgbWlnaHQgY29uc2lkZXIganVzdCBhIHNtYWxsIGRvbmF0aW9uLjxiciAvPk9yIGxlYXZlIGEgbWVzc2FnZSBpbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy92aWV3dG9waWMucGhwP2Y9NyZ0PTY0NDYwIj5HYm9vayBmb3J1bSB0b3BpYzwvYT4uIEFueSBraW5kIG9mIGZlZWRiYWNrIHdpbGwgYmUgbXVjaCBhcHByZWNpYXRlZC48L3A+DQo8Zm9ybSBhY3Rpb249Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3IiIG1ldGhvZD0icG9zdCI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX2RvbmF0aW9ucyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYnVzaW5lc3MiIHZhbHVlPSJqb3N2ZEBsaXZlLm5sIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpdGVtX25hbWUiIHZhbHVlPSJKb3MiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Iml0ZW1fbnVtYmVyIiB2YWx1ZT0iQ01TbXMgR2Jvb2sgTW9kdWxlIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjdXJyZW5jeV9jb2RlIiB2YWx1ZT0iRVVSIj48aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZUNDX0xHLmdpZiIgYm9yZGVyPSIwIiBuYW1lPSJzdWJtaXQiIGFsdD0iUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUhIj48aW1nIGFsdD0iIiBib3JkZXI9IjAiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vbmxfTkwvaS9zY3IvcGl4ZWwuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2Zvcm0+PGJyIC8+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTItMjAxMywgSm9zICZsdDs8YSBocmVmPSJtYWlsdG86am9zdmRAbGl2ZS5ubCI+am9zdmRAbGl2ZS5ubDwvYT4mZ3Q7LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZSB2MzwvYT4uIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiBZb3UgbWF5IG9ubHkgdXNlIHRoaXMgc29mdHdhcmUgd2hlbiB0aGVyZSBpcyBhIGNsZWFyIGFuZCBvYnZpb3VzIGluZGljYXRpb24gaW4gdGhlIGFkbWluIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBTaW1wbGUuPC9wPgo8aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj0iZGVmYXVsdCIgLSBQb3NzaWJsZSB2YWx1ZXM6IDx1bD48bGk+J2RlZmF1bHQnIC0gZm9yIGRpc3BsYXlpbmcgdGhlIGd1ZXN0Ym9vayBlbnRyaWVzPC9saT48bGk+J2Zvcm0nIC0gZm9yIGRpc3BsYXlpbmcgYSBmb3JtPC9saT48bGk+J2RldGFpbCcgLSBmb3IgZGlzcGxheWluZyBhIHNpbmdsZSBlbnRyeSwgZS5nLiBhcyBzZWFyY2ggcmVzdWx0PC9saT48L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWxpYXM9IiIgLSBVc2UgYW5vdGhlciBndWVzdGJvb2sgdGhhbiB0aGUgZGVmYXVsdCBvbmUuIENoZWNrIHRoZSBHdWVzdGJvb2tzLXRhYiwgY29sdW1uICdUYWdzJywgdG8gc2VlIHdoaWNoIGFsaWFzZXMgY2FuIGJlIHVzZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBlbnRyeWlkPSItMSIgLSBVc2UgdGhpcyBwYXJhbWV0ZXIgYWxvbmcgd2l0aCA8Y29kZT5hY3Rpb249J2RldGFpbCc8L2NvZGU+IGlmIHlvdSB3YW50IHRvIGRpc3BsYXkgb25seSBvbmUgZ3Vlc3Rib29rIGVudHJ5LiBUbyBnZXQgdGhlIGxhdGVzdCBlbnRyeSwgdXNlIDxjb2RlPmVudHJ5aWQ9LTE8L2NvZGU+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0ZW1wbGF0ZT0iIiAtIFVzZSBhbm90aGVyIHRlbXBsYXRlIHRoYW4gdGhlIGRlZmF1bHQgb25lLiBOb3RlIHRoYXQgdGVtcGxhdGVzIG11c3QgYmUgb2YgdGhlIHByb3BlciB0eXBlLCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGFjdGlvbiBwYXJhbWV0ZXIuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKb3MgJmx0O2pvc3ZkQGxpdmUubmwmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMi4zLjE8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+DQo8bGk+VmVyc2lvbiAyLjMuMSAtIDE2IE1hcmNoIDIwMjENCgk8dWw+DQoJPGxpPkJ1ZyAjMTIyNjI6IGZpeGVkIC0gUmF0aW5nIHJlcXVpcmVkIG5vdCB3b3JraW5nPC9saT4NCgk8bGk+QnVnICMxMjQyODogZml4ZWQgLSBhY3Rpb249ZGV0YWlsIGVudHJ5aWQ9LTEgaXMgbm90IHNob3dpbmc8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4zIC0gMTUgT2N0b2JlciAyMDE5DQoJPHVsPg0KCTxsaT5DaGFuZ2VzIGZvciBDTVNtcyAyLjMgY29tcGF0aWJpbGl0eTwvbGk+DQoJPGxpPlVwZGF0ZSAiYjgiIHN0YXRpc3RpY2FsIChCYXllc2lhbikgc3BhbSBmaWx0ZXIgdG8gdmVyc2lvbiAwLjYuMjwvbGk+DQoJPGxpPk1pbmltdW0gcmVxdWlyZWQgQ01TbXMgdmVyc2lvbiBzZXQgdG8gMi4yPC9saT4NCgk8bGk+QnVnICMxMTE1MzogZml4ZWQgLSBwYWdlIG51bWJlcnMgbmF2aWdhdGlvbiBsZWFkcyB0byBlbXB0eSBlbnRyeSBsaXN0IHBhZ2VzPC9saT4NCgk8bGk+QnVnICMxMTE1NDogZml4ZWQgLSBlZGl0IG9mIGVudHJ5IG9uIGxhdGVyIGxpc3QgcGFnZSBtYWtlcyBqdW1wIHRvIHBhZ2UgMSBhbmQgdG9wPC9saT4NCgk8bGk+QnVnICMxMTIyNjogZml4ZWQgLSBDYXB0Y2hhIG5vdCB3b3JraW5nPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMi42IC0gMjcgTm92ZW1iZXIgMjAxNw0KCTx1bD4NCgk8bGk+QnVnICMxMTY1MDogZml4ZWQgLSBGYXRhbCBlcnJvcjogVW5jYXVnaHQgRXJyb3I6IENhbGwgdG8gdW5kZWZpbmVkIGZ1bmN0aW9uIGpzb25lbmNvZGUoKTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjIuNSAtIDEwIFNlcHRlbWJlciAyMDE3DQoJPHVsPg0KCTxsaT5CdWcgIzExMDQyOiBmaXhlZCAtIE5vIGVudHJ5IGluIHRoZSBndWVzdCBib29rIHBvc3NpYmxlIChjb25maWcgZGJfcG9ydCk8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4yLjQgLSAxIEF1Z3VzdCAyMDE3DQoJPHVsPg0KCTxsaT5CdWcgZml4ZWQgLSBOb3QgYWJsZSB0byBhZGQgYW55IGVudHJpZXM8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4yLjIgLSAyOCBBdWd1c3QgMjAxNg0KCTx1bD4NCgk8bGk+QnVnICMxMTEyODogZml4ZWQgLSBEZXRhaWwgYWN0aW9uIHRlbXBsYXRlX25hbWUgZG9lc250IGV4aXN0PC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMi4xIC0gMyBNYXkgMjAxNg0KCTx1bD4NCgk8bGk+QWRkZWQgb3B0aW9uIHRvIHNldCBSYXRpbmcgYXMgcmVxdWlyZWQgZmllbGQ8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4yIC0gMzAgQXByaWwgMjAxNg0KCTx1bD4NCgk8bGk+QWRkZWQgaG9uZXlwb3QgKEZSICMxMDkxOCk8L2xpPg0KCTxsaT5OZXcgaWNvbjwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjEgLSAyOCBBcHJpbCAyMDE2DQoJPHVsPg0KCTxsaT5BZGRlZCBzdGFyIHJhdGluZyBmdW5jdGlvbjwvbGk+DQoJPGxpPkFkZGVkIGNhcHRjaGEgdG8gYWN0aXZhdGUgc3BhbS1zdXNwZWN0ZWQgbWVzc2FnZSAobmVlZHMgQ2FwdGNoYSBtb2R1bGUpPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4zIC0gMTAgSmFudWFyeSAyMDE2DQoJPHVsPg0KCTxsaT5CdWcgIzEwNzE0OiBmaXhlZCAtIGFjdGlvbj0nZm9ybScgZG9lc24ndCB3b3JrPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4yIC0gMTQgT2N0b2JlciAyMDE1DQoJPHVsPg0KCTxsaT5GaXggZm9yIGVycm9yOiBQYXJhbWV0ZXIgMiB0byBTbWFydHlCQzo6YXNzaWduX2J5X3JlZigpIGV4cGVjdGVkIHRvIGJlIGEgcmVmZXJlbmNlPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4xIC0gMTIgTWFyY2ggMjAxNQ0KCTx1bD4NCgk8bGk+VXBkYXRlICJiOCIgc3RhdGlzdGljYWwgKEJheWVzaWFuKSBzcGFtIGZpbHRlciB0byB2ZXJzaW9uIDAuNi4xPC9saT4NCgk8bGk+Rml4IGZvciB1cGxvYWRpbmcgbmV3IHNtaWxleSBpbWFnZXM8L2xpPg0KCTxsaT5CdWcgIzEwMzAwOiBmaXhlZCAtIHBhZ2VyIHF1aXJrczwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAgLSAyMCBNYXkgMjAxNA0KCTx1bD4NCgk8bGk+Q2hhbmdlcyB0byBtYWtlIG1vZHVsZSBDTVNtcyAyLjAgY29tcGF0aWJsZTwvbGk+DQoJPGxpPk1pbmltdW0gcmVxdWlyZWQgQ01TbXMgdmVyc2lvbiBzZXQgdG8gMS4xMTwvbGk+DQoJPGxpPkJ1ZyBmaXhlczwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjIgLSA4IERlY2VtYmVyIDIwMTMNCgk8dWw+DQoJPGxpPkFkZGVkIG11bHRpLWRlbGV0ZSBhbmQgbXVsdGktKGRlKWFjdGl2YXRlIGZ1bmN0aW9uPC9saT4NCgk8bGk+QWRkZWQgZW50cnktZmlsdGVyaW5nIGZ1bmN0aW9uPC9saT4NCgk8bGk+TWlub3IgZml4IGZvciBzZXR0aW5nIGJhZCB3b3JkcyBmaWx0ZXI8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4xIC0gMTYgSnVseSAyMDEzDQoJPHVsPg0KCTxsaT5TZXR0aW5nIGZvciBzZW5kaW5nIG5vdGlmaWNhdGlvbnMgdG8gYWRtaW4gdXNlcnMgb3IgZ3JvdXBzPC9saT4NCgk8bGk+Rml4IGRpc3BsYXlpbmcgc2VhcmNoIHJlc3VsdDwvbGk+DQoJPGxpPkZpeCBmb3IgdW5tYXJraW5nIGZyb20gSGFtL1NwYW08L2xpPg0KCTxsaT5TZWFyY2gtaW5kZXhpbmcgaW1wb3J0ZWQgZW50cmllczwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjAuMSAtIDIwIERlY2VtYmVyIDIwMTINCgk8dWw+DQoJPGxpPk1pbm9yIGZpeGVzPC9saT4NCgk8bGk+Rml4IHBhZ2luYXRpb24gaW4gZGVmYXVsdCBndWVzdGJvb2sgdGVtcGxhdGU8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4wIC0gMTggRGVjZW1iZXIgMjAxMg0KCTx1bD4NCgk8bGk+QWRkZWQgYmFkLXdvcmRzIGZpbHRlcjwvbGk+DQoJPGxpPkZpeCBpbiBjYXNlIHNtaWxleXMgYXJlIG5vdCBhbGxvd2VkPC9saT4NCgk8bGk+Rml4IGZvciB0aGUgcmVzZXQgdGVtcGxhdGVjb2RlIGZ1bmN0aW9uICh0aGFua3MgQXJub3VkKTwvbGk+DQoJPGxpPnRoYW5rcyBSb2xmIGZvciB0ZXN0aW5nPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDAuOCAtIDE2IERlY2VtYmVyIDIwMTINCgk8dWw+DQoJPGxpPkluaXRpYWwgUmVsZWFzZTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8L3VsPg0KPGJyIC8+]]></about>
	<description><![CDATA[Create and manage guestbooks to get some feedback from your site visitors]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKQoJZXhpdDsKCi8vIEdldCBnYm9vayBwcm9wZXJ0aWVzCiRhbGlhcyA9IGVtcHR5KCRwYXJhbXNbJ2FsaWFzJ10pID8gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRnYm9vaycpIDogJHBhcmFtc1snYWxpYXMnXTsKJGdib29rcyA9IEdib29rX3V0aWxzOjpHZXRHYm9va3MoJGFsaWFzKTsKaWYgKCFlbXB0eSgkZ2Jvb2tzKSkKewoJJGdib29rID0gY3VycmVudCgkZ2Jvb2tzKTsKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfcHJvcHMnLCAkZ2Jvb2spOwoKCgkvLyBwYWdpbmF0aW9uCgkkcGFyYW1zWydnYnBhZ2UnXSA9IGVtcHR5KCRwYXJhbXNbJ2dicGFnZSddKSA/IDEgOiAkcGFyYW1zWydnYnBhZ2UnXTsKCSRwYWdlcyA9IGNlaWwoJGdib29rWydlbnRyaWVzJ10gLyAkZ2Jvb2tbJ2VudHJpZXNfcGFnZSddKTsKCSRzdGFydCA9ICgoJHBhcmFtc1snZ2JwYWdlJ10gLSAxKSAqICRnYm9va1snZW50cmllc19wYWdlJ10pICsgMTsKCgoJLy8gZ2V0IHRlbXBsYXRlCgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zdW1tYXJ5X3RlbXBsYXRlJyk7CglpZiAoIWVtcHR5KCRwYXJhbXNbJ3RlbXBsYXRlJ10pKQoJewoJCSR0ZW1wbGF0ZSA9ICdzdW1tYXJ5X3RwbF8nIC4gJHBhcmFtc1sndGVtcGxhdGUnXTsKCQkkbGlua3BhcmFtc1sndGVtcGxhdGUnXSA9ICRwYXJhbXNbJ3RlbXBsYXRlJ107Cgl9CgoKCgkvLyBnZXQgY2FjaGUKCSRjYWNoZV9pZCA9ICd8Z2InIC4gbWQ1KCRnYm9va1snZ2Jvb2tfaWQnXSAuICctJyAuICRwYXJhbXNbJ2dicGFnZSddIC4gJy0nIC4gJGdib29rWydlbnRyaWVzJ10gLiAnLScgLiAkZ2Jvb2tbJ2VudHJpZXNfcGFnZSddKTsKCWlmICghJHNtYXJ0eS0+aXNDYWNoZWQoJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJHRlbXBsYXRlKSwgJGNhY2hlX2lkKSkKCXsKCQkvLyBnZXQgZ2Jvb2sgZW50cmllcwoJCSRlbnRyaWVzID0gR2Jvb2tfdXRpbHM6OkdldEVudHJpZXMoJGdib29rWydnYm9va19pZCddLCAkc3RhcnQsICRnYm9va1snZW50cmllc19wYWdlJ10pOwoJCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfZW50cmllcycsICRlbnRyaWVzKTsKCgkJLy8gcGFnaW5hdGlvbiBsaW5rcwoJCSRwcmV0dHl1cmwgPSAnZ2Jvb2svJyAuICRnYm9va1snZ2Jvb2tfaWQnXSAuICctJzsKCQkkbGlua3BhcmFtc1snYWxpYXMnXSA9ICRnYm9va1snZ2Jvb2tfaWQnXTsKCQkkcGFnZWxpbmtzID0gYXJyYXkoKTsKCQlmb3IgKCRpID0gMTsgJGkgPD0gJHBhZ2VzOyAkaSsrKQoJCXsKCQkJJGxpbmtwYXJhbXNbJ2dicGFnZSddID0gJGk7CgkJCSRwYWdlbGlua3NbXSA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdkZWZhdWx0JywgJycsICRsaW5rcGFyYW1zLCAnJywgdHJ1ZSwgdHJ1ZSwgJycsIGZhbHNlKTsgLy8sICRwcmV0dHl1cmwgLiAkaSAuICcvJyAuICRyZXR1cm5pZCk7CgkJfQoJCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfcGFnZWxpbmtzJywgJHBhZ2VsaW5rcyk7CgkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19jdXJyZW50cGFnZScsICRwYXJhbXNbJ2dicGFnZSddKTsKCQkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2VudHJpZXNsYWJlbCcsICR0aGlzLT5MYW5nKCdlbnRyaWVzJykpOwoJCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfcmF0aW5nc2xhYmVsJywgJHRoaXMtPkxhbmcoJ3JhdGluZycpKTsKCX0KCgkvLyBEaXNwbGF5IHRlbXBsYXRlCgllY2hvICRzbWFydHktPmZldGNoKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0ZW1wbGF0ZSksICRjYWNoZV9pZCk7Cn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignR2Jvb2s6IFVzZScpICkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ0dib29rOiBVc2UnKSk7CglyZXR1cm47Cn0KCiRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7CgokZ2Jvb2tzID0gR2Jvb2tfdXRpbHM6OkdldEdib29rcygnJywgZmFsc2UpOwokc21hcnR5LT5hc3NpZ24oJ2dib29rcycsICRnYm9va3MpOwoKCi8qCiAqIFRoZSB0YWIgaGVhZGVycwogKi8KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CiRhY3RpdmVfdGFiID0gZW1wdHkoJHBhcmFtc1snYWN0aXZlX3RhYiddKSA/ICcnIDogJHBhcmFtc1snYWN0aXZlX3RhYiddOwoKCmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignaXRlbXMnLCR0aGlzLT5MYW5nKCdlbnRyaWVzJyksICgkYWN0aXZlX3RhYiA9PSAnaXRlbXMnKT90cnVlOmZhbHNlKTsKCgoKaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdHYm9vazogTW9kaWZ5JykgKQp7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2dib29rcycsJHRoaXMtPkxhbmcoJ2dib29rcycpLCAoJGFjdGl2ZV90YWIgPT0gJ2dib29rcycpP3RydWU6ZmFsc2UpOwoJCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NtaWxleXMnLCR0aGlzLT5MYW5nKCdzbWlsZXlzJyksICgkYWN0aXZlX3RhYiA9PSAnc21pbGV5cycpP3RydWU6ZmFsc2UpOwp9CgoKaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKQp7CgkvL2VjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZmllbGRkZWZzJywkdGhpcy0+TGFuZygnZmllbGRkZWZpbml0aW9ucycpLCAoJGFjdGl2ZV90YWIgPT0gJ2ZpZWxkZGVmcycpP3RydWU6ZmFsc2UpOwoKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndGVtcGxhdGVzJyxsYW5nKCd0ZW1wbGF0ZXMnKSwgKCRhY3RpdmVfdGFiID09ICd0ZW1wbGF0ZXMnKT90cnVlOmZhbHNlKTsKfQoKCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpKQp7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnMnLGxhbmcoJ29wdGlvbnMnKSwgKCRhY3RpdmVfdGFiID09ICdvcHRpb25zJyk/dHJ1ZTpmYWxzZSk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKCi8qCiAqIFRoZSBjb250ZW50IG9mIHRoZSB0YWJzCiAqLwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdpdGVtcycsICRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5faXRlbXN0YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdHYm9vazogTW9kaWZ5JykgKQp7CgllY2hvICR0aGlzLT5TdGFydFRhYignZ2Jvb2tzJywgJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZ2Jvb2tzdGFiLnBocCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzbWlsZXlzJywgJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fc21pbGV5c3RhYi5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkKewoJLy9lY2hvICR0aGlzLT5TdGFydFRhYignZmllbGRkZWZzJywgJHBhcmFtcyk7CgkvL2luY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9maWVsZGRlZnN0YWIucGhwJyk7CgkvL2VjaG8gJHRoaXMtPkVuZFRhYigpOwoKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0ZW1wbGF0ZXMnLCAkcGFyYW1zKTsKCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl90ZW1wbGF0ZXN0YWIucGhwJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykpCnsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdvcHRpb25zJywgJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fb3B0aW9uc3RhYi5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGVudHJ5X2lkID0gJHBhcmFtc1snZW50cnlpZCddOwppZiAoICRlbnRyeV9pZCA9PSAtMSApCnsKCS8vIGdldCBsYXRlc3QgZW50cnkKCQoJLy8gYnV0IGZpc3Qgd2UgbmVlZCB0aGUgZ2Jvb2sgcHJvcGVydGllcwoJJGFsaWFzID0gZW1wdHkoJHBhcmFtc1snYWxpYXMnXSkgPyAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdGdib29rJykgOiAkcGFyYW1zWydhbGlhcyddOwoJJGdib29rcyA9IEdib29rX3V0aWxzOjpHZXRHYm9va3MoJGFsaWFzKTsKICAkZ2Jvb2sgPSBjdXJyZW50KCRnYm9va3MpOwoKCSRlbnRyaWVzID0gR2Jvb2tfdXRpbHM6OkdldEVudHJpZXMoJGdib29rWydnYm9va19pZCddLCAxLCAxKTsKCSRlbnRyeSA9IGVtcHR5KCRlbnRyaWVzKSA/ICcnIDogJGVudHJpZXNbMF07Cn0KZWxzZQp7CgkkZW50cnkgPSBHYm9va191dGlsczo6R2V0RW50cnkoJGVudHJ5X2lkKTsKfQoKaWYgKCAhZW1wdHkoJGVudHJ5KSApCnsKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfZW50cnknLCAkZW50cnkpOwoKCS8vIGdldCB0ZW1wbGF0ZQoJJHRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJyk7CglpZiAoIWVtcHR5KCRwYXJhbXNbJ3RlbXBsYXRlJ10pKQoJewoJCSR0ZW1wbGF0ZSA9ICdkZXRhaWxfdHBsXycgLiAkcGFyYW1zWyd0ZW1wbGF0ZSddOwoJfQovKgoJZ2xvYmFsICRDTVNfVkVSU0lPTjsKCWlmICggJENNU19WRVJTSU9OID49ICcxLjExJyApCgl7CgkJLy8gY2xlYXIgY2FjaGUgZm9yIHRoaXMgdGVtcGxhdGUKCQkkc21hcnR5LT5jbGVhckNhY2hlKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0ZW1wbGF0ZSkpOwoJfQogKi8KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editgbook.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggISRnQ21zICkgZXhpdCgpOw0KDQppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0dib29rOiBNb2RpZnknKSApDQp7DQoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ0dib29rOiBNb2RpZnknKSk7DQoJcmV0dXJuOw0KfQ0KDQppZiAoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApDQp7DQoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnZ2Jvb2tzJyk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCn0NCg0KaWYoICFpc3NldCgkcGFyYW1zWydtb2RlJ10pICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAnYWN0aXZlX3RhYicgPT4gJ2dib29rcycpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJcmV0dXJuOw0KfQ0KDQppZiAoICFmdW5jdGlvbl9leGlzdHMoJ3N0cl9nZXRjc3YnKSApDQp7DQoJLy8gcGhwIHZlcnNpb24gPCA1LjMNCglmdW5jdGlvbiBzdHJfZ2V0Y3N2KCRpbnB1dCwgJGRlbGltaXRlciA9ICc7JywgJGVuY2xvc3VyZSA9ICciJywgJGVzY2FwZT0nXFwnKXsNCgkJCSRmaWVsZHMgPSBleHBsb2RlKCRlbmNsb3N1cmUgLiAkZGVsaW1pdGVyIC4gJGVuY2xvc3VyZSwgdHJpbSgkaW5wdXQsICRlbmNsb3N1cmUpKTsNCgkJCWZvcmVhY2ggKCRmaWVsZHMgYXMgJGtleT0+JHZhbHVlKQ0KCQkJCQkkZmllbGRzWyRrZXldID0gc3RyX3JlcGxhY2UoJGVzY2FwZSAuICRlbmNsb3N1cmUsICRlbmNsb3N1cmUsICR2YWx1ZSk7DQoJCQlyZXR1cm4oJGZpZWxkcyk7DQoJfQ0KfQ0KDQpzd2l0Y2ggKCRwYXJhbXNbJ21vZGUnXSkNCnsNCgljYXNlICdhZGQnOg0KCQlpZiggJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10gPT0gJ1BPU1QnICkNCgkJew0KCQkJJHBhcmFtc1sncHJldmVudF9wb3N0X3R3aWNlJ10gPSBlbXB0eSgkcGFyYW1zWydwcmV2ZW50X3Bvc3RfdHdpY2UnXSkgPyAwIDogMTsNCgkJCSRwYXJhbXNbJ3VzZV9jYXB0Y2hhJ10gPSBlbXB0eSgkcGFyYW1zWyd1c2VfY2FwdGNoYSddKSA/IDAgOiAxOw0KCQkJJHBhcmFtc1snYWxsb3dfcmF0aW5nJ10gPSBlbXB0eSgkcGFyYW1zWydhbGxvd19yYXRpbmcnXSkgPyAwIDogMTsNCgkJCSRwYXJhbXNbJ2FsbG93X3NtaWxpZXMnXSA9IGVtcHR5KCRwYXJhbXNbJ2FsbG93X3NtaWxpZXMnXSkgPyAwIDogMTsNCgkJCSRwYXJhbXNbJ2FsbG93X25vdGlmaWNhdGlvbnMnXSA9IGVtcHR5KCRwYXJhbXNbJ2FsbG93X25vdGlmaWNhdGlvbnMnXSkgPyAwIDogMTsNCgkJCSRwYXJhbXNbJ25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnJzsNCgkJCSRwYXJhbXNbJ25vdGlmaWNhdGlvbl9tZXNzYWdlJ10gPSAnJzsNCgkJCSRwYXJhbXNbJ3JlcXVpcmVkX2ZpZWxkcyddID0gZW1wdHkoJHBhcmFtc1sncmVxdWlyZWRfZmllbGRzJ10pID8gJycgOiBpbXBsb2RlKCcsJywgJHBhcmFtc1sncmVxdWlyZWRfZmllbGRzJ10pOw0KCQkJJHBhcmFtc1snYWN0aXZlJ10gPSBlbXB0eSgkcGFyYW1zWydhY3RpdmUnXSkgPyAwIDogMTsNCg0KCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2Jvb2sgKA0KCQkJCQkJCQkJbmFtZSwgDQoJCQkJCQkJCQlhbGlhcywgDQoJCQkJCQkJCQllbnRyaWVzX3BhZ2UsDQoJCQkJCQkJCQlwcmV2ZW50X3Bvc3RfdHdpY2UsDQoJCQkJCQkJCQl1c2VfY2FwdGNoYSwNCgkJCQkJCQkJCWFsbG93X3JhdGluZywgDQoJCQkJCQkJCQlhbGxvd19zbWlsaWVzLCANCgkJCQkJCQkJCWFsbG93X25vdGlmaWNhdGlvbnMsIA0KCQkJCQkJCQkJbm90aWZpY2F0aW9uX3N1YmplY3QsDQoJCQkJCQkJCQlub3RpZmljYXRpb25fbWVzc2FnZSwNCgkJCQkJCQkJCXN1Ym1pc3Npb25fcmVzcG9uc2UsDQoJCQkJCQkJCQlzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0sDQoJCQkJCQkJCQlhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdCwNCgkJCQkJCQkJCWFkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlLA0KCQkJCQkJCQkJcmVxdWlyZWRfZmllbGRzLA0KCQkJCQkJCQkJYWN0aXZlKSANCgkJCQkJCQkJVkFMVUVTIA0KCQkJCQkJCQkJKD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8pIjsNCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgNCgkJCQkJJHBhcmFtc1snbmFtZSddLCANCgkJCQkJc3RydG9sb3dlcihtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ25hbWUnXSkpLCANCgkJCQkJJHBhcmFtc1snZW50cmllc19wYWdlJ10sIA0KCQkJCQkkcGFyYW1zWydwcmV2ZW50X3Bvc3RfdHdpY2UnXSwNCgkJCQkJJHBhcmFtc1sndXNlX2NhcHRjaGEnXSwNCgkJCQkJJHBhcmFtc1snYWxsb3dfcmF0aW5nJ10sDQoJCQkJCSRwYXJhbXNbJ2FsbG93X3NtaWxpZXMnXSwNCgkJCQkJJHBhcmFtc1snYWxsb3dfbm90aWZpY2F0aW9ucyddLCANCgkJCQkJJHBhcmFtc1snbm90aWZpY2F0aW9uX3N1YmplY3QnXSwgDQoJCQkJCSRwYXJhbXNbJ25vdGlmaWNhdGlvbl9tZXNzYWdlJ10sIA0KCQkJCQkkcGFyYW1zWydzdWJtaXNzaW9uX3Jlc3BvbnNlJ10sIA0KCQkJCQkkcGFyYW1zWydzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nXSwgDQoJCQkJCSRwYXJhbXNbJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0J10sIA0KCQkJCQkkcGFyYW1zWydhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZSddLCANCgkJCQkJJHBhcmFtc1sncmVxdWlyZWRfZmllbGRzJ10sDQoJCQkJCSRwYXJhbXNbJ2FjdGl2ZSddDQoJCQkJKSk7DQoNCgkJCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJHRoaXMtPkxhbmcoJ2dib29rYWRkZWQnKSwgJ2FjdGl2ZV90YWInID0+ICdnYm9va3MnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkcGFyYW1zWydnYm9va2lkJ10gPSAwOw0KCQkJJGdib29rWyduYW1lJ10gPSAnJzsNCgkJCSRnYm9va1snZW50cmllc19wYWdlJ10gPSAxMDsNCgkJCSRnYm9va1sncHJldmVudF9wb3N0X3R3aWNlJ10gPSAwOw0KCQkJJGdib29rWyd1c2VfY2FwdGNoYSddID0gMDsNCgkJCSRnYm9va1snYWxsb3dfcmF0aW5nJ10gPSAwOw0KCQkJJGdib29rWydhbGxvd19zbWlsaWVzJ10gPSAxOw0KCQkJJGdib29rWydhbGxvd19ub3RpZmljYXRpb25zJ10gPSAxOw0KCQkJJGdib29rWydub3RpZmljYXRpb25fc3ViamVjdCddID0gJyc7DQoJCQkkZ2Jvb2tbJ25vdGlmaWNhdGlvbl9tZXNzYWdlJ10gPSAnJzsNCgkJCSRnYm9va1snc3VibWlzc2lvbl9yZXNwb25zZSddID0gJHRoaXMtPkxhbmcoJ3N1Ym1pc3Npb25fcmVzcG9uc2VfY250Jyk7DQoJCQkkZ2Jvb2tbJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbSddID0gJHRoaXMtPkxhbmcoJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbV9jbnQyJyk7DQoJCQkkZ2Jvb2tbJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAkdGhpcy0+TGFuZygnYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3RfY250Jyk7DQoJCQkkZ2Jvb2tbJ2FkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2VfY250Jyk7DQoJCQkkZ2Jvb2tbJ3JlcXVpcmVkX2ZpZWxkcyddID0gJyc7DQoJCQkkZ2Jvb2tbJ2FjdGl2ZSddID0gMTsNCgkJfQ0KCQkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywkdGhpcy0+TGFuZygnYWRkZ2Jvb2snKSk7DQoJCWJyZWFrOw0KDQoNCgljYXNlICdkZWxldGUnOg0KCQlpZiggIWlzc2V0KCRwYXJhbXNbJ2dib29raWQnXSkgKQ0KCQl7DQoJCQkkcGFyYW1zID0gYXJyYXkoJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAnYWN0aXZlX3RhYicgPT4gJ2dib29rcycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19lbnRyaWVzIFdIRVJFIGdib29rX2lkID0gPyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2dib29raWQnXSkpOw0KDQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9vayBXSEVSRSBnYm9va19pZCA9ID8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydnYm9va2lkJ10pKTsNCg0KCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICR0aGlzLT5MYW5nKCdnYm9va2RlbGV0ZWQnKSwgJ2FjdGl2ZV90YWInID0+ICdnYm9va3MnKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJYnJlYWs7DQoNCg0KCWNhc2UgJ3N3aXRjaGFjdGl2ZSc6DQoJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2sgU0VUIGFjdGl2ZSA9IGFjdGl2ZV4xIFdIRVJFIGdib29rX2lkID0gPyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2dib29raWQnXSkpOw0KDQoJCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJHRoaXMtPkxhbmcoJ2dib29rdXBkYXRlZCcpLCAnYWN0aXZlX3RhYicgPT4gJ2dib29rcycpOw0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQlicmVhazsNCg0KDQoJY2FzZSAnc3dpdGNoZGVmYXVsdCc6DQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0Z2Jvb2snLCAkcGFyYW1zWydnYm9va2lkJ10pOw0KDQoJCSRwYXJhbXMgPSBhcnJheSgndGFiX21lc3NhZ2UnPT4gJHRoaXMtPkxhbmcoJ2dib29rdXBkYXRlZCcpLCAnYWN0aXZlX3RhYicgPT4gJ2dib29rcycpOw0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQlicmVhazsNCg0KDQoJY2FzZSAnZWRpdCc6DQoJCWlmKCAhaXNzZXQoJHBhcmFtc1snZ2Jvb2tpZCddKSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnZXJyb3JzJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAnZ2Jvb2tzJyk7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJhbXMpOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYoICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJyApDQoJCXsNCgkJCSRwYXJhbXNbJ3ByZXZlbnRfcG9zdF90d2ljZSddID0gZW1wdHkoJHBhcmFtc1sncHJldmVudF9wb3N0X3R3aWNlJ10pID8gMCA6IDE7DQoJCQkkcGFyYW1zWyd1c2VfY2FwdGNoYSddID0gZW1wdHkoJHBhcmFtc1sndXNlX2NhcHRjaGEnXSkgPyAwIDogMTsNCgkJCSRwYXJhbXNbJ2FsbG93X3JhdGluZyddID0gZW1wdHkoJHBhcmFtc1snYWxsb3dfcmF0aW5nJ10pID8gMCA6IDE7DQoJCQkkcGFyYW1zWydhbGxvd19zbWlsaWVzJ10gPSBlbXB0eSgkcGFyYW1zWydhbGxvd19zbWlsaWVzJ10pID8gMCA6IDE7DQoJCQkkcGFyYW1zWydhbGxvd19ub3RpZmljYXRpb25zJ10gPSBlbXB0eSgkcGFyYW1zWydhbGxvd19ub3RpZmljYXRpb25zJ10pID8gMCA6IDE7DQoJCQkkcGFyYW1zWydub3RpZmljYXRpb25fc3ViamVjdCddID0gJyc7DQoJCQkkcGFyYW1zWydub3RpZmljYXRpb25fbWVzc2FnZSddID0gJyc7DQoJCQkkcGFyYW1zWydyZXF1aXJlZF9maWVsZHMnXSA9IGVtcHR5KCRwYXJhbXNbJ3JlcXVpcmVkX2ZpZWxkcyddKSA/ICcnIDogaW1wbG9kZSgnLCcsICRwYXJhbXNbJ3JlcXVpcmVkX2ZpZWxkcyddKTsNCgkJCSRwYXJhbXNbJ2FjdGl2ZSddID0gZW1wdHkoJHBhcmFtc1snYWN0aXZlJ10pID8gMCA6IDE7DQoJCQkNCgkJCWlmICggJHBhcmFtc1sndXNlX2NhcHRjaGEnXSAmJiBzdHJwb3MoJHBhcmFtc1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtJ10sICd7JGdib29rX2NhcHRjaGF9JykgPT09IGZhbHNlICkNCgkJCXsNCgkJCQkkcGFyYW1zWydzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nXSA9ICJ7KiBOT1RFOiB0aGlzIGNvbnRlbnQgaGFzIGNoYW5nZWQgdG8gYWRkIENhcHRjaGEuIE9sZCBjb250ZW50IHNlZSBiZWxvdyAqfSBcblxuIiAuICR0aGlzLT5MYW5nKCdzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW1fY250MicpIC4gIlxuXG5cbnsqIE9sZCBjb250ZW50OlxuIiAuICRwYXJhbXNbJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbSddIC4gIlxuKn0iOw0KCQkJfQ0KCQkJDQoJCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rIFNFVCANCgkJCQkJCQkJCW5hbWUgPSA/LCANCgkJCQkJCQkJCWFsaWFzID0gPywgDQoJCQkJCQkJCQllbnRyaWVzX3BhZ2UgPSA/LCANCgkJCQkJCQkJCXByZXZlbnRfcG9zdF90d2ljZSA9ID8sDQoJCQkJCQkJCQl1c2VfY2FwdGNoYSA9ID8sDQoJCQkJCQkJCQlhbGxvd19yYXRpbmcgPSA/LCANCgkJCQkJCQkJCWFsbG93X3NtaWxpZXMgPSA/LCANCgkJCQkJCQkJCWFsbG93X25vdGlmaWNhdGlvbnMgPSA/LCANCgkJCQkJCQkJCW5vdGlmaWNhdGlvbl9zdWJqZWN0ID0gPywNCgkJCQkJCQkJCW5vdGlmaWNhdGlvbl9tZXNzYWdlID0gPywNCgkJCQkJCQkJCXN1Ym1pc3Npb25fcmVzcG9uc2UgPSA/LA0KCQkJCQkJCQkJc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtID0gPywNCgkJCQkJCQkJCWFkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0ID0gPywNCgkJCQkJCQkJCWFkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlID0gPywNCgkJCQkJCQkJCXJlcXVpcmVkX2ZpZWxkcyA9ID8sDQoJCQkJCQkJCQlhY3RpdmUgPSA/IA0KCQkJCQkJCQlXSEVSRSANCgkJCQkJCQkJCWdib29rX2lkID0gPyI7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoDQoJCQkJCSRwYXJhbXNbJ25hbWUnXSwgDQoJCQkJCXN0cnRvbG93ZXIobXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWyduYW1lJ10pKSwgDQoJCQkJCSRwYXJhbXNbJ2VudHJpZXNfcGFnZSddLCANCgkJCQkJJHBhcmFtc1sncHJldmVudF9wb3N0X3R3aWNlJ10sDQoJCQkJCSRwYXJhbXNbJ3VzZV9jYXB0Y2hhJ10sIA0KCQkJCQkkcGFyYW1zWydhbGxvd19yYXRpbmcnXSwgDQoJCQkJCSRwYXJhbXNbJ2FsbG93X3NtaWxpZXMnXSwgDQoJCQkJCSRwYXJhbXNbJ2FsbG93X25vdGlmaWNhdGlvbnMnXSwgDQoJCQkJCSRwYXJhbXNbJ25vdGlmaWNhdGlvbl9zdWJqZWN0J10sIA0KCQkJCQkkcGFyYW1zWydub3RpZmljYXRpb25fbWVzc2FnZSddLCANCgkJCQkJJHBhcmFtc1snc3VibWlzc2lvbl9yZXNwb25zZSddLCANCgkJCQkJJHBhcmFtc1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtJ10sIA0KCQkJCQkkcGFyYW1zWydhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdCddLCANCgkJCQkJJHBhcmFtc1snYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2UnXSwgDQoJCQkJCSRwYXJhbXNbJ3JlcXVpcmVkX2ZpZWxkcyddLCANCgkJCQkJJHBhcmFtc1snYWN0aXZlJ10sIA0KCQkJCQkkcGFyYW1zWydnYm9va2lkJ10NCgkJCQkpKTsNCg0KCQkJLy8gaW1wb3J0IGNzdg0KCQkJJGZpZWxkbmFtZSA9ICRpZCAuICJpbXBvcnRfY3N2IjsNCgkJCWlmICggaXNzZXQoJF9GSUxFUykgJiYgaXNzZXQoJF9GSUxFU1skZmllbGRuYW1lXSkgJiYgaXNfYXJyYXkoJF9GSUxFU1skZmllbGRuYW1lXSkgJiYgJF9GSUxFU1skZmllbGRuYW1lXVsnbmFtZSddKQ0KCQkJew0KCQkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19lbnRyaWVzIA0KCQkJCQkJCQkJCShnYm9va19pZCwgbmFtZSwgZW1haWwsIHRpdGxlLCBtZXNzYWdlLCBub3RpZnksIGlwLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSwgYWN0aXZhdGlvbl9jb2RlLCBhY3RpdmUpDQoJCQkJCQkJCQlWQUxVRVMNCgkJCQkJCQkJCQkoPywgPywgPywgPywgPywgMCwgPywgPywgTk9XKCksICcnLCAxKSI7DQoJCQkJJGZpbGUgPSAkX0ZJTEVTWyRmaWVsZG5hbWVdOw0KCQkJCSRmaWxlY29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlWyd0bXBfbmFtZSddKTsNCgkJCQkkZmlsZWNvbnRlbnQgPSBzdHJfcmVwbGFjZSgiXHJcbiIsICJcbiIsICRmaWxlY29udGVudCk7DQoJCQkJJGZpbGVjb250ZW50ID0gc3RyX3JlcGxhY2UoIlxuXHIiLCAiXG4iLCAkZmlsZWNvbnRlbnQpOw0KCQkJCSRmaWxlY29udGVudCA9IHN0cl9yZXBsYWNlKCc7OycsICc7IiI7JywgJGZpbGVjb250ZW50KTsNCgkJCQkkY3N2ZGF0YSA9IHN0cl9nZXRjc3YoJGZpbGVjb250ZW50LCAiXG4iKTsgLy9wYXJzZSB0aGUgcm93cw0KCQkJCSRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NlYXJjaCcpOw0KCQkJCWZvcmVhY2goJGNzdmRhdGEgYXMgJHJvdykgDQoJCQkJew0KCQkJCQkkY3N2cm93ID0gc3RyX2dldGNzdigkcm93LCAiOyIpOyAvL3BhcnNlIHRoZSBpdGVtcyBpbiByb3dzDQoJCQkJCWZvciAoJGkgPSAwOyAkaSA8IDQ7ICRpKyspIHsNCgkJCQkJCSRjc3Zyb3dbJGldID0gc3RyaXBzbGFzaGVzKCRjc3Zyb3dbJGldKTsNCgkJCQkJCSRjc3Zyb3dbJGldID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRjc3Zyb3dbJGldLEVOVF9RVU9URVMpOw0KCQkJCQkJJGNzdnJvd1skaV0gPSB1dGY4X2VuY29kZSgkY3N2cm93WyRpXSk7DQoJCQkJCQlpZiAoICRpIDwgMyApICRjc3Zyb3dbJGldID0gc3RyaXBfdGFncygkY3N2cm93WyRpXSk7DQoJCQkJCX0NCgkJCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2dib29raWQnXSwgJGNzdnJvd1swXSwgJGNzdnJvd1sxXSwgJGNzdnJvd1syXSwgJGNzdnJvd1szXSwgJGNzdnJvd1s0XSwgJGNzdnJvd1s1XSkpOw0KCQkJCQkvL1VwZGF0ZSBzZWFyY2ggaW5kZXgNCgkJCQkJaWYgKCAkc2VhcmNoICE9IGZhbHNlICkNCgkJCQkJew0KCQkJCQkJJHNlYXJjaC0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGRiLT5JbnNlcnRfSUQoKSwgJ2VudHJ5JywgJGNzdnJvd1syXSAuICcgJyAuICRjc3Zyb3dbM10pOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJDQoJCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICR0aGlzLT5MYW5nKCdnYm9va3VwZGF0ZWQnKSwgJ2FjdGl2ZV90YWInID0+ICdnYm9va3MnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkZ2Jvb2tzID0gR2Jvb2tfdXRpbHM6OkdldEdib29rcygkcGFyYW1zWydnYm9va2lkJ10sIGZhbHNlKTsNCgkJCSRnYm9vayA9IGN1cnJlbnQoJGdib29rcyk7DQoJCX0NCgkJJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsJHRoaXMtPkxhbmcoJ2VkaXRnYm9vaycpKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbmFtZScsbGFuZygnbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbignbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRnYm9va1snbmFtZSddLCA0MCApKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZW50cmllc19wYWdlJywkdGhpcy0+TGFuZygnZW50cmllc19wYWdlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbnRyaWVzX3BhZ2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VudHJpZXNfcGFnZScsICRnYm9va1snZW50cmllc19wYWdlJ10sIDQgKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3ByZXZlbnRfcG9zdF90d2ljZScsJHRoaXMtPkxhbmcoJ3ByZXZlbnRfcG9zdF90d2ljZScpKTsNCiRzbWFydHktPmFzc2lnbigncHJldmVudF9wb3N0X3R3aWNlJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ3ByZXZlbnRfcG9zdF90d2ljZScsIDEsICRnYm9va1sncHJldmVudF9wb3N0X3R3aWNlJ10pKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdXNlX2NhcHRjaGEnLCR0aGlzLT5MYW5nKCd1c2VfY2FwdGNoYScpKTsNCiRzbWFydHktPmFzc2lnbigndXNlX2NhcHRjaGEnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd1c2VfY2FwdGNoYScsIDEsICRnYm9va1sndXNlX2NhcHRjaGEnXSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hbGxvd19yYXRpbmcnLCR0aGlzLT5MYW5nKCdhbGxvd19yYXRpbmcnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2FsbG93X3JhdGluZycsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhbGxvd19yYXRpbmcnLCAxLCAkZ2Jvb2tbJ2FsbG93X3JhdGluZyddKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2FsbG93X3NtaWxpZXMnLCR0aGlzLT5MYW5nKCdhbGxvd19zbWlsaWVzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdhbGxvd19zbWlsaWVzJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2FsbG93X3NtaWxpZXMnLCAxLCAkZ2Jvb2tbJ2FsbG93X3NtaWxpZXMnXSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hbGxvd19ub3RpZmljYXRpb25zJywkdGhpcy0+TGFuZygnYWxsb3dfbm90aWZpY2F0aW9ucycpKTsNCiRzbWFydHktPmFzc2lnbignYWxsb3dfbm90aWZpY2F0aW9ucycsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2FsbG93X25vdGlmaWNhdGlvbnMnLCAxLCAkZ2Jvb2tbJ2FsbG93X25vdGlmaWNhdGlvbnMnXSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9ub3RpZmljYXRpb25fc3ViamVjdCcsJHRoaXMtPkxhbmcoJ25vdGlmaWNhdGlvbl9zdWJqZWN0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdub3RpZmljYXRpb25fc3ViamVjdCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbm90aWZpY2F0aW9uX3N1YmplY3QnLCAkZ2Jvb2tbJ25vdGlmaWNhdGlvbl9zdWJqZWN0J10sIDYwICkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9ub3RpZmljYXRpb25fbWVzc2FnZScsJHRoaXMtPkxhbmcoJ25vdGlmaWNhdGlvbl9tZXNzYWdlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdub3RpZmljYXRpb25fbWVzc2FnZScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkZ2Jvb2tbJ25vdGlmaWNhdGlvbl9tZXNzYWdlJ10sICdub3RpZmljYXRpb25fbWVzc2FnZScpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc3VibWlzc2lvbl9yZXNwb25zZScsJHRoaXMtPkxhbmcoJ3N1Ym1pc3Npb25fcmVzcG9uc2UnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pc3Npb25fcmVzcG9uc2UnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJGdib29rWydzdWJtaXNzaW9uX3Jlc3BvbnNlJ10sICdzdWJtaXNzaW9uX3Jlc3BvbnNlJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nLCR0aGlzLT5MYW5nKCdzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkZ2Jvb2tbJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbSddLCAnc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdCcsJHRoaXMtPkxhbmcoJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3QnLCAkZ2Jvb2tbJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0J10sIDYwICkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZScsJHRoaXMtPkxhbmcoJ2FkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkZ2Jvb2tbJ2FkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlJ10sICdhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZScpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVxdWlyZWRfZmllbGRzJywkdGhpcy0+TGFuZygncmVxdWlyZWRfZmllbGRzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdyZXF1aXJlZF9maWVsZHMnLCANCgkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdyZXF1aXJlZF9maWVsZHNbXScsICduYW1lJywgc3RycG9zKCcgJyAuICRnYm9va1sncmVxdWlyZWRfZmllbGRzJ10sICduYW1lJykgPyAnbmFtZScgOiAnJykgLiAnICcgLiAkdGhpcy0+TGFuZygnbmFtZScpIC4gJzxiciAvPicgLg0KCQkJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3JlcXVpcmVkX2ZpZWxkc1tdJywgJ2VtYWlsJywgc3RycG9zKCcgJyAuICRnYm9va1sncmVxdWlyZWRfZmllbGRzJ10sICdlbWFpbCcpID8gJ2VtYWlsJyA6ICcnKSAuICcgJyAuICR0aGlzLT5MYW5nKCdlbWFpbCcpIC4gJzxiciAvPicgLg0KCQkJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3JlcXVpcmVkX2ZpZWxkc1tdJywgJ3RpdGxlJywgc3RycG9zKCcgJyAuICRnYm9va1sncmVxdWlyZWRfZmllbGRzJ10sICd0aXRsZScpID8gJ3RpdGxlJyA6ICcnKSAuICcgJyAuICR0aGlzLT5MYW5nKCd0aXRsZScpIC4gJzxiciAvPicgLg0KCQkJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3JlcXVpcmVkX2ZpZWxkc1tdJywgJ3JhdGluZycsIHN0cnBvcygnICcgLiAkZ2Jvb2tbJ3JlcXVpcmVkX2ZpZWxkcyddLCAncmF0aW5nJykgPyAncmF0aW5nJyA6ICcnKSAuICcgJyAuICR0aGlzLT5MYW5nKCdyYXRpbmcnKQ0KCSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2FjdGl2ZScsbGFuZygnYWN0aXZlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdhY3RpdmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdhY3RpdmUnLCAxLCAkZ2Jvb2tbJ2FjdGl2ZSddKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ltcG9ydF9jc3YnLCR0aGlzLT5MYW5nKCdpbXBvcnRfY3N2JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnRfY3N2JywgJHBhcmFtc1snbW9kZSddID09ICdhZGQnID8gJycgOiAkdGhpcy0+Q3JlYXRlSW5wdXRGaWxlKCAkaWQsICdpbXBvcnRfY3N2JywgJ3RleHQveG1sJywgNDApKTsNCiRzbWFydHktPmFzc2lnbignY3N2X2Zvcm1hdCcsJHRoaXMtPkxhbmcoJ2Nzdl9mb3JtYXQnKSk7DQoNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsIGxhbmcoJ3N1Ym1pdCcpKSk7DQovLyR0aGlzLT5zbWFydHktPmFzc2lnbignYXBwbHknLCRwYXJhbXNbJ21vZGUnXSA9PSAnYWRkJyA/ICcnIDogJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5YnV0dG9uJywgJHRoaXMtPkxhbmcoJ2FwcGx5JykpKTsNCiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZWRpdGdib29rJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2UsICcnLCAkcGFyYW1zKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRnYm9vay50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.edititem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggISRnQ21zICkgZXhpdCgpOw0KDQppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdHYm9vazogVXNlJykgKQ0Kew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdHYm9vazogVXNlJykpOw0KCXJldHVybjsNCn0NCg0KaWYgKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQ0Kew0KCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2l0ZW1zJyk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCn0NCg0KaWYoICFpc3NldCgkcGFyYW1zWydtb2RlJ10pIHx8ICFpc3NldCgkcGFyYW1zWydnYm9va2lkJ10pICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAnYWN0aXZlX3RhYicgPT4gJ2l0ZW1zJyk7DQoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCglyZXR1cm47DQp9DQoNCnN3aXRjaCAoJHBhcmFtc1snbW9kZSddKQ0Kew0KCWNhc2UgJ2RlbGV0ZSc6DQoJCSRkZWxldGVkID0gR2Jvb2tfdXRpbHM6OkRlbGV0ZUVudHJ5KCRwYXJhbXNbJ2VudHJ5aWQnXSk7DQoJCSRwYXJhbXMgPSAkZGVsZXRlZCA/IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAkdGhpcy0+TGFuZygnaXRlbWRlbGV0ZWQnKSwgJ2FjdGl2ZV90YWInID0+ICdpdGVtcycsICdmaWx0ZXInID0+ICRwYXJhbXNbJ2ZpbHRlciddLCAnZ2JwYWdlJyA9PiAkcGFyYW1zWydnYnBhZ2UnXSkgOiBhcnJheSgnZXJyb3JzJyA9PiBsYW5nKCdmYWlsdXJlJyksICdhY3RpdmVfdGFiJyA9PiAnaXRlbXMnLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCWJyZWFrOw0KDQoNCgljYXNlICdlZGl0JzoNCgkJaWYoICFpc3NldCgkcGFyYW1zWydlbnRyeWlkJ10pICkNCgkJew0KCQkJJHBhcmFtcyA9IGFycmF5KCdnYm9va2lkJyA9PiAkcGFyYW1zWydnYm9va2lkJ10sICdhY3RpdmVfdGFiJyA9PiAnZW50cmllcycsICdmaWx0ZXInID0+ICRwYXJhbXNbJ2ZpbHRlciddLCAnZ2JwYWdlJyA9PiAkcGFyYW1zWydnYnBhZ2UnXSwgJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiggJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10gPT0gJ1BPU1QnICYmIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApDQoJCXsNCgkJCSRlZGl0ZWQgPSBHYm9va191dGlsczo6RWRpdEVudHJ5KCRwYXJhbXNbJ2VudHJ5aWQnXSwgJHBhcmFtc1snZ2Jvb2tpZCddLCAkcGFyYW1zWyduYW1lJ10sICRwYXJhbXNbJ2VtYWlsJ10sICRwYXJhbXNbJ3RpdGxlJ10sICRwYXJhbXNbJ21lc3NhZ2UnXSwgJHBhcmFtc1snbm90aWZ5J10sICRwYXJhbXNbJ2FjdGl2ZSddKTsNCgkJCSRwYXJhbXMgPSBhcnJheSgnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnYWN0aXZlX3RhYicgPT4gJ2l0ZW1zJywgJ2ZpbHRlcicgPT4gJHBhcmFtc1snZmlsdGVyJ10sICdnYnBhZ2UnID0+ICRwYXJhbXNbJ2dicGFnZSddKTsNCgkJCWlmICggJGVkaXRlZCApDQoJCQl7DQoJCQkJJHBhcmFtc1sndGFiX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdpdGVtdXBkYXRlZCcpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRwYXJhbXNbJ2Vycm9ycyddID0gbGFuZygnZmFpbHVyZScpOw0KCQkJfQ0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJfQ0KCQkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPkxhbmcoJ2VkaXRpdGVtJykpOw0KCQkkaXRlbSA9IEdib29rX3V0aWxzOjpHZXRFbnRyeSgkcGFyYW1zWydlbnRyeWlkJ10pOw0KCQlicmVhazsNCg0KCQkNCgljYXNlICdzd2l0Y2hhY3RpdmUnOg0KCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX2VudHJpZXMgU0VUIGFjdGl2ZSA9IGFjdGl2ZV4xIFdIRVJFIGVudHJ5X2lkID0gPyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2VudHJ5aWQnXSkpOw0KDQoJCSRpdGVtID0gR2Jvb2tfdXRpbHM6OkdldEVudHJ5KCRwYXJhbXNbJ2VudHJ5aWQnXSk7DQoJCSR0aGlzLT5TZW5kRXZlbnQoJ0dib29rX2VudHJ5X2VkaXRlZCcsICRpdGVtKTsNCgkJCQkNCgkJLy9VcGRhdGUgc2VhcmNoIGluZGV4DQoJCSRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7DQoJCWlmICggJHNlYXJjaCAhPSBmYWxzZSAmJiAkaXRlbS0+YWN0aXZlID09IDEgKQ0KCQl7DQoJCQkkc2VhcmNoLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkcGFyYW1zWydlbnRyeWlkJ10sICdlbnRyeScsICRpdGVtLT50aXRsZSAuICcgJyAuICRpdGVtLT5yYXdtZXNzYWdlKTsNCgkJfQ0KCQllbHNlaWYgKCAkc2VhcmNoICE9IGZhbHNlICkNCgkJew0KCQkJJHNlYXJjaC0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJHBhcmFtc1snZW50cnlpZCddLCAnZW50cnknKTsNCgkJfQ0KDQoJCSRwYXJhbXMgPSBhcnJheSgnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnYWN0aXZlX3RhYicgPT4gJ2VudHJpZXMnLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSwgJ2dicGFnZScgPT4gJHBhcmFtc1snZ2JwYWdlJ10pOw0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQlicmVhazsNCg0KCQ0KCWNhc2UgJ3NhdmVhc2hhbSc6DQoJCSRpdGVtID0gR2Jvb2tfdXRpbHM6OkdldEVudHJ5KCRwYXJhbXNbJ2VudHJ5aWQnXSk7DQoJCUdib29rX3V0aWxzOjpiOF9leGVjKCdTYXZlQXNIYW0nLCAkaXRlbS0+dGl0bGUgLiAnICcgLiAkaXRlbS0+cmF3bWVzc2FnZSk7DQoJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfZW50cmllcyBTRVQgDQoJCQkJCQkJCWFwcHJvdmVkID0gPywNCgkJCQkJCQkJYXBwcm92ZWRfZGF0ZSA9IE5PVygpLA0KCQkJCQkJCQlhcHByb3ZlZF9ieSA9ID8sDQoJCQkJCQkJCWFjdGl2ZSA9ID8NCgkJCQkJCQlXSEVSRSBlbnRyeV9pZCA9ID8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgxLCBnZXRfdXNlcmlkKCksIDEsICRwYXJhbXNbJ2VudHJ5aWQnXSkpOw0KDQoJCSR0aGlzLT5TZW5kRXZlbnQoJ0dib29rX2VudHJ5X2VkaXRlZCcsICRpdGVtKTsNCgkJCQkNCgkJLy9VcGRhdGUgc2VhcmNoIGluZGV4DQoJCSRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7DQoJCWlmICggJHNlYXJjaCAhPSBmYWxzZSApDQoJCXsNCgkJCSRzZWFyY2gtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRwYXJhbXNbJ2VudHJ5aWQnXSwgJ2VudHJ5JywgJGl0ZW0tPnRpdGxlIC4gJyAnIC4gJGl0ZW0tPnJhd21lc3NhZ2UpOw0KCQl9DQoJCUdib29rX3V0aWxzOjpVcGRhdGVBbGxTcGFtcmF0ZXMoKTsNCg0KCQkkcGFyYW1zID0gYXJyYXkoJ2dib29raWQnID0+ICRwYXJhbXNbJ2dib29raWQnXSwgJ2FjdGl2ZV90YWInID0+ICdlbnRyaWVzJywgJ2ZpbHRlcicgPT4gJHBhcmFtc1snZmlsdGVyJ10sICdnYnBhZ2UnID0+ICRwYXJhbXNbJ2dicGFnZSddKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJYnJlYWs7DQoNCg0KCWNhc2UgJ3NhdmVhc3NwYW0nOg0KCQkkaXRlbSA9IEdib29rX3V0aWxzOjpHZXRFbnRyeSgkcGFyYW1zWydlbnRyeWlkJ10pOw0KCQlHYm9va191dGlsczo6YjhfZXhlYygnU2F2ZUFzU3BhbScsICRpdGVtLT50aXRsZSAuICcgJyAuICRpdGVtLT5yYXdtZXNzYWdlKTsNCgkJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19lbnRyaWVzIFNFVCANCgkJCQkJCQkJYXBwcm92ZWQgPSA/LA0KCQkJCQkJCQlhcHByb3ZlZF9kYXRlID0gTk9XKCksDQoJCQkJCQkJCWFwcHJvdmVkX2J5ID0gPywNCgkJCQkJCQkJYWN0aXZlID0gPw0KCQkJCQkJCVdIRVJFIGVudHJ5X2lkID0gPyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KDIsIGdldF91c2VyaWQoKSwgMCwgJHBhcmFtc1snZW50cnlpZCddKSk7DQoNCgkJJHRoaXMtPlNlbmRFdmVudCgnR2Jvb2tfZW50cnlfZWRpdGVkJywgJGl0ZW0pOw0KCQkJCQ0KCQkvL1VwZGF0ZSBzZWFyY2ggaW5kZXgNCgkJJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X3NlYXJjaF9tb2R1bGUoKTsNCgkJaWYgKCAkc2VhcmNoICE9IGZhbHNlICkNCgkJew0KCQkJJHNlYXJjaC0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJHBhcmFtc1snZW50cnlpZCddLCAnZW50cnknKTsNCgkJfQ0KCQlHYm9va191dGlsczo6VXBkYXRlQWxsU3BhbXJhdGVzKCk7DQoNCgkJJHBhcmFtcyA9IGFycmF5KCdnYm9va2lkJyA9PiAkcGFyYW1zWydnYm9va2lkJ10sICdhY3RpdmVfdGFiJyA9PiAnZW50cmllcycsICdmaWx0ZXInID0+ICRwYXJhbXNbJ2ZpbHRlciddLCAnZ2JwYWdlJyA9PiAkcGFyYW1zWydnYnBhZ2UnXSk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCWJyZWFrOw0KDQoNCgljYXNlICdkZWxldGVmcm9taGFtJzoNCgkJJGl0ZW0gPSBHYm9va191dGlsczo6R2V0RW50cnkoJHBhcmFtc1snZW50cnlpZCddKTsNCgkJR2Jvb2tfdXRpbHM6OmI4X2V4ZWMoJ0RlbGV0ZUZyb21IYW0nLCAkaXRlbS0+dGl0bGUgLiAnICcgLiAkaXRlbS0+cmF3bWVzc2FnZSk7DQoJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfZW50cmllcyBTRVQgDQoJCQkJCQkJCWFwcHJvdmVkID0gPywNCgkJCQkJCQkJYXBwcm92ZWRfZGF0ZSA9IE5PVygpLA0KCQkJCQkJCQlhcHByb3ZlZF9ieSA9ID8NCgkJCQkJCQlXSEVSRSBlbnRyeV9pZCA9ID8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgwLCBnZXRfdXNlcmlkKCksICRwYXJhbXNbJ2VudHJ5aWQnXSkpOw0KCQlHYm9va191dGlsczo6VXBkYXRlQWxsU3BhbXJhdGVzKCk7DQoJCSRwYXJhbXMgPSBhcnJheSgnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnYWN0aXZlX3RhYicgPT4gJ2VudHJpZXMnLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSwgJ2dicGFnZScgPT4gJHBhcmFtc1snZ2JwYWdlJ10pOw0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQlicmVhazsNCg0KDQoJY2FzZSAnZGVsZXRlZnJvbXNwYW0nOg0KCQkkaXRlbSA9IEdib29rX3V0aWxzOjpHZXRFbnRyeSgkcGFyYW1zWydlbnRyeWlkJ10pOw0KCQlHYm9va191dGlsczo6YjhfZXhlYygnRGVsZXRlRnJvbVNwYW0nLCAkaXRlbS0+dGl0bGUgLiAnICcgLiAkaXRlbS0+cmF3bWVzc2FnZSk7DQoJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfZW50cmllcyBTRVQgDQoJCQkJCQkJCWFwcHJvdmVkID0gPywNCgkJCQkJCQkJYXBwcm92ZWRfZGF0ZSA9IE5PVygpLA0KCQkJCQkJCQlhcHByb3ZlZF9ieSA9ID8NCgkJCQkJCQlXSEVSRSBlbnRyeV9pZCA9ID8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgwLCBnZXRfdXNlcmlkKCksICRwYXJhbXNbJ2VudHJ5aWQnXSkpOw0KCQlHYm9va191dGlsczo6VXBkYXRlQWxsU3BhbXJhdGVzKCk7DQoJCSRwYXJhbXMgPSBhcnJheSgnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnYWN0aXZlX3RhYicgPT4gJ2VudHJpZXMnLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSwgJ2dicGFnZScgPT4gJHBhcmFtc1snZ2JwYWdlJ10pOw0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQlicmVhazsNCg0KDQoNCn0NCg0KaWYgKCAhZW1wdHkoJGl0ZW0pICkNCnsNCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX25hbWVfbGFiZWwnLCAkdGhpcy0+TGFuZygnbmFtZScpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX25hbWVfaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCBodG1sX2VudGl0eV9kZWNvZGUoJGl0ZW0tPm5hbWUsRU5UX1FVT1RFUyksIDQwLCAyNTUpKTsNCg0KCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfZW1haWxfbGFiZWwnLCAkdGhpcy0+TGFuZygnZW1haWwnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19lbWFpbF9pbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZW1haWwnLCBodG1sX2VudGl0eV9kZWNvZGUoJGl0ZW0tPmVtYWlsLEVOVF9RVU9URVMpLCA0MCwgMjU1KSk7DQoNCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX3RpdGxlX2xhYmVsJywgJHRoaXMtPkxhbmcoJ3RpdGxlJykpOw0KCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfdGl0bGVfaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlJywgaHRtbF9lbnRpdHlfZGVjb2RlKCRpdGVtLT50aXRsZSxFTlRfUVVPVEVTKSwgNDAsIDI1NSkpOw0KDQoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19tZXNzYWdlX2xhYmVsJywgJHRoaXMtPkxhbmcoJ21lc3NhZ2UnKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19tZXNzYWdlX2lucHV0JywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsIGh0bWxfZW50aXR5X2RlY29kZSgkaXRlbS0+cmF3bWVzc2FnZSxFTlRfUVVPVEVTKSwgJ21lc3NhZ2UnLCAnJywgJGlkIC4gJ21lc3NhZ2UnKSk7DQoNCgkkc3BhbXJhdGUgPSBHYm9va191dGlsczo6YjhfZXhlYygnQ2xhc3NpZnknLCAkaXRlbS0+dGl0bGUgLiAnICcgLiAkaXRlbS0+cmF3bWVzc2FnZSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdzcGFtcmF0ZScsICR0aGlzLT5MYW5nKCdzcGFtcmF0ZScpIC4gJzogJyAuIEdib29rX3V0aWxzOjpmb3JtYXRfcmF0aW5nKCRzcGFtcmF0ZSkpOw0KCQ0KCWlmICggJGl0ZW0tPmFwcHJvdmVkID09IDEgKQ0KCXsNCgkJLy8gbWFya2VkIGFzIEhBTQ0KCQkkc21hcnR5LT5hc3NpZ24oJ2FwcHJvdmVsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGl0ZW0nLCAkcmV0dXJuaWQsDQoJCQkJICAgICc8aW1nIHNyYz0iJyAuICR0aGlzLT5HZXRNb2R1bGVVUkxQYXRoKCkgLiAnL2ltYWdlcy9ub3NwYW0uZ2lmIiBjbGFzcz0ic3lzdGVtaWNvbiIgYWx0PSInIC4gJHRoaXMtPkxhbmcoJ2RlbGV0ZWZyb21oYW0nKSAuICciPiAnIC4gJHRoaXMtPkxhbmcoJ2RlbGV0ZWZyb21oYW0nKSwNCgkJCQkgICAgYXJyYXkgKCdnYm9va2lkJyA9PiAkcGFyYW1zWydnYm9va2lkJ10sICdlbnRyeWlkJyA9PiAkaXRlbS0+ZW50cnlfaWQsICdtb2RlJz0+J2RlbGV0ZWZyb21oYW0nLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSwgJ2dicGFnZSc9PiRwYXJhbXNbJ2dicGFnZSddKSkpOw0KCX0NCgllbHNlaWYgKCAkaXRlbS0+YXBwcm92ZWQgPT0gMiApDQoJew0KCQkvLyBtYXJrZWQgYXMgU1BBTQ0KCQkkc21hcnR5LT5hc3NpZ24oJ2FwcHJvdmVsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGl0ZW0nLCAkcmV0dXJuaWQsDQoJCQkJICAgICc8aW1nIHNyYz0iJyAuICR0aGlzLT5HZXRNb2R1bGVVUkxQYXRoKCkgLiAnL2ltYWdlcy9ub3NwYW0uZ2lmIiBjbGFzcz0ic3lzdGVtaWNvbiIgYWx0PSInIC4gJHRoaXMtPkxhbmcoJ2RlbGV0ZWZyb21zcGFtJykgLiAnIj4gJyAuICR0aGlzLT5MYW5nKCdkZWxldGVmcm9tc3BhbScpLA0KCQkJCSAgICBhcnJheSAoJ2dib29raWQnID0+ICRwYXJhbXNbJ2dib29raWQnXSwgJ2VudHJ5aWQnID0+ICRpdGVtLT5lbnRyeV9pZCwgJ21vZGUnPT4nZGVsZXRlZnJvbXNwYW0nLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSwgJ2dicGFnZSc9PiRwYXJhbXNbJ2dicGFnZSddKSkpOw0KCX0NCgllbHNlCQ0KCXsNCgkJLy8gbm90IGFwcHJvdmVkDQoJCSRzbWFydHktPmFzc2lnbignYXBwcm92ZWxpbmsnLCANCgkJCQkJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRpdGVtJywgJHJldHVybmlkLA0KCQkJCSAgICAnPGltZyBzcmM9IicgLiAkdGhpcy0+R2V0TW9kdWxlVVJMUGF0aCgpIC4gJy9pbWFnZXMvY2hlY2sucG5nIiBjbGFzcz0ic3lzdGVtaWNvbiIgYWx0PSInIC4gJHRoaXMtPkxhbmcoJ3NhdmVhc2hhbScpIC4gJyI+ICcgLiAkdGhpcy0+TGFuZygnc2F2ZWFzaGFtJyksDQoJCQkJICAgIGFycmF5ICgnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnZW50cnlpZCcgPT4gJGl0ZW0tPmVudHJ5X2lkLCAnbW9kZSc9PidzYXZlYXNoYW0nLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSwgJ2dicGFnZSc9PiRwYXJhbXNbJ2dicGFnZSddKSkNCgkJCQkJCS4gJyAmbmJzcDsgJyAuDQoJCQkJCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0aXRlbScsICRyZXR1cm5pZCwNCgkJCQkgICAgJzxpbWcgc3JjPSInIC4gJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvaW1hZ2VzL25vc3BhbS5naWYiIGNsYXNzPSJzeXN0ZW1pY29uIiBhbHQ9IicgLiAkdGhpcy0+TGFuZygnc2F2ZWFzc3BhbScpIC4gJyI+ICcgLiAkdGhpcy0+TGFuZygnc2F2ZWFzc3BhbScpLA0KCQkJCSAgICBhcnJheSAoJ2dib29raWQnID0+ICRwYXJhbXNbJ2dib29raWQnXSwgJ2VudHJ5aWQnID0+ICRpdGVtLT5lbnRyeV9pZCwgJ21vZGUnPT4nc2F2ZWFzc3BhbScsICdmaWx0ZXInID0+ICRwYXJhbXNbJ2ZpbHRlciddLCAnZ2JwYWdlJz0+JHBhcmFtc1snZ2JwYWdlJ10pKQ0KCQkJCQkpOw0KCX0NCg0KCSRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7DQoJLy8kc21hcnR5LT5hc3NpZ24oJ2FwcGx5JywkcGFyYW1zWydtb2RlJ10gPT0gJ2FkZCcgPyAnJyA6ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdhcHBseWJ1dHRvbicsICR0aGlzLT5MYW5nKCdhcHBseScpKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsNCg0KCSRwYXJhbXMgPSBhcnJheSgnbW9kZScgPT4gJ2VkaXQnLCAnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnZW50cnlpZCcgPT4gJGl0ZW0tPmVudHJ5X2lkLCAnbm90aWZ5JyA9PiAkaXRlbS0+bm90aWZ5LCAnYWN0aXZlJyA9PiAkaXRlbS0+YWN0aXZlLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSwgJ2dicGFnZScgPT4gJHBhcmFtc1snZ2JwYWdlJ10pOw0KCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICdwb3N0JywgJycsIGZhbHNlLCAnJywgJHBhcmFtcykpOw0KCSRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiAgJHNtYXJ0eS0+ZGlzcGxheSgkdGhpcy0+R2V0VGVtcGxhdGVSZXNvdXJjZSgnZWRpdGl0ZW0udHBsJykpOw0KfQ0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editsmileys.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignR2Jvb2s6IE1vZGlmeScpICkNCnsNCgllY2hvICR0aGlzLT5TaG93RXJyb3JzKGxhbmcoJ25lZWRwZXJtaXNzaW9udG8nLCAnR2Jvb2s6IE1vZGlmeScpKTsNCglyZXR1cm47DQp9DQoNCmlmICggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpdGVtcycpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQp9DQoNCmlmICggIWlzc2V0KCRwYXJhbXNbJ21vZGUnXSkgKQ0Kew0KCSRwYXJhbXMgPSBhcnJheSgnZXJyb3JzJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAnc21pbGV5cycpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJcmV0dXJuOw0KfQ0KDQokc21pbGV5cyA9IEdib29rX3V0aWxzOjpHZXRTbWlsZXlzKGZhbHNlKTsNCg0Kc3dpdGNoICgkcGFyYW1zWydtb2RlJ10pDQp7DQoJY2FzZSAnbW92ZXVwJzoNCgkJaWYoICFpc3NldCgkcGFyYW1zWydzbWlsZXlpZCddKSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnZXJyb3JzJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAnc21pbGV5cycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfc21pbGV5cyBTRVQgc29ydCA9IHNvcnQgKyAxIFdIRVJFIHNvcnQgPSA/IjsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHNtaWxleXNbJHBhcmFtc1snc21pbGV5aWQnXV1bJ3NvcnQnXSAtIDEpKTsNCg0KCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX3NtaWxleXMgU0VUIHNvcnQgPSBzb3J0IC0gMSBXSEVSRSBzbWlsZXlfaWQgPSA/IjsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snc21pbGV5aWQnXSkpOw0KDQoJCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3NtaWxleXMnKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJYnJlYWs7DQoNCgljYXNlICdtb3ZlZG93bic6DQoJCWlmKCAhaXNzZXQoJHBhcmFtc1snc21pbGV5aWQnXSkgKQ0KCQl7DQoJCQkkcGFyYW1zID0gYXJyYXkoJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAnYWN0aXZlX3RhYicgPT4gJ3NtaWxleXMnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJycsJHBhcmFtcyk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX3NtaWxleXMgU0VUIHNvcnQgPSBzb3J0IC0gMSBXSEVSRSBzb3J0ID0gPyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRzbWlsZXlzWyRwYXJhbXNbJ3NtaWxleWlkJ11dWydzb3J0J10gKyAxKSk7DQoNCgkJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19zbWlsZXlzIFNFVCBzb3J0ID0gc29ydCArIDEgV0hFUkUgc21pbGV5X2lkID0gPyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3NtaWxleWlkJ10pKTsNCg0KCQkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdzbWlsZXlzJyk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCWJyZWFrOw0KDQoJY2FzZSAnZGVsZXRlJzoNCgkJaWYoICFpc3NldCgkcGFyYW1zWydzbWlsZXlpZCddKSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnZXJyb3JzJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAnc21pbGV5cycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19zbWlsZXlzIFdIRVJFIHNtaWxleV9pZCA9ID8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydzbWlsZXlpZCddKSk7DQoJCQ0KCQlAdW5saW5rKGNtc19qb2luX3BhdGgoJHRoaXMtPkdldE1vZHVsZVBhdGgoKSwgJ3NtaWxleXMnLCAkc21pbGV5c1skcGFyYW1zWydzbWlsZXlpZCddXVsnc21pbGV5X2ZpbGUnXSkpOw0KDQoJCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3NtaWxleXMnKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJYnJlYWs7DQoNCgljYXNlICdzYXZlc21pbGV5cyc6DQoJCWlmKCAhaXNzZXQoJHBhcmFtc1snc21pbGV5X2lkJ10pICYmICFpc191cGxvYWRlZF9maWxlKCRfRklMRVNbJGlkLidhZGRzbWlsZXknXVsndG1wX25hbWUnXSkgKQ0KCQl7DQoJCQkkcGFyYW1zID0gYXJyYXkoJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAnYWN0aXZlX3RhYicgPT4gJ3NtaWxleXMnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJycsJHBhcmFtcyk7DQoJCQlyZXR1cm47DQoJCX0NCgkJDQoJCWlmKCBpc3NldCgkcGFyYW1zWydzbWlsZXlfaWQnXSkgKQ0KCQl7DQoJCQlmb3JlYWNoICggJHBhcmFtc1snc21pbGV5X2lkJ10gYXMgJGtleSA9PiAkc21pbGV5X2lkICkNCgkJCXsNCgkJCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX3NtaWxleXMgU0VUIHNtaWxleV9jb2RlID0gPywgYWN0aXZlID0gPywgc29ydCA9ID8gV0hFUkUgc21pbGV5X2lkID0gPyI7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkodHJpbSgkcGFyYW1zWydzbWlsZXlfY29kZSddWyRrZXldKSwgKGVtcHR5KCRwYXJhbXNbJ2FjdGl2ZSddWyRzbWlsZXlfaWRdKSkgPyAwIDogMSwgJGtleSwgJHNtaWxleV9pZCkpOw0KCQkJfQ0KCQl9DQoJCQ0KCQlpZiAoIGlzX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1skaWQuJ2FkZHNtaWxleSddWyd0bXBfbmFtZSddKSApDQoJCXsNCgkJCSRhbGxvd2VkZXh0ID0gYXJyYXkoJ2pwZycsJ2pwZWcnLCdnaWYnLCdwbmcnKTsNCgkJCSRyYXdmaWxlbmFtZSA9ICRfRklMRVNbJGlkLidhZGRzbWlsZXknXVsnbmFtZSddOw0KCQkJJGZpbGVuYW1lID0gc3RyX3JlcGxhY2UoJy0nLCAnJywgbXVuZ2Vfc3RyaW5nX3RvX3VybChzdWJzdHIoJHJhd2ZpbGVuYW1lLCAwLCBzdHJycG9zKCRyYXdmaWxlbmFtZSwgJy4nKSkpKTsNCgkJCSRmaWxlZXh0ID0gc3RydG9sb3dlcihzdWJzdHIoJHJhd2ZpbGVuYW1lLCBzdHJycG9zKCRyYXdmaWxlbmFtZSwgJy4nKSArIDEpKTsNCgkJCWlmICggaW5fYXJyYXkoJGZpbGVleHQsICRhbGxvd2VkZXh0KSApDQoJCQl7DQoJCQkJaWYgKCBjbXNfbW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJGlkLidhZGRzbWlsZXknXVsndG1wX25hbWUnXSwgY21zX2pvaW5fcGF0aCgkdGhpcy0+R2V0TW9kdWxlUGF0aCgpLCAnc21pbGV5cycsICRmaWxlbmFtZSAuICcuJyAuICRmaWxlZXh0KSkgKQ0KCQkJCXsNCgkJCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2Jvb2tfc21pbGV5cyAoc21pbGV5X2ZpbGUsIHNtaWxleV9jb2RlLCBzb3J0LCBhY3RpdmUpIFZBTFVFUyAoPyw/LD8sPykiOw0KCQkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVuYW1lIC4gJy4nIC4gJGZpbGVleHQsICcnLCBjb3VudCgkc21pbGV5cyksIDApKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnc21pbGV5cycpOw0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQlicmVhazsNCn0NCg0KDQokcGFyYW1zID0gYXJyYXkoJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAnYWN0aXZlX3RhYicgPT4gJ3NtaWxleXMnKTsNCiR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJycsJHBhcmFtcyk7DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggISRnQ21zICkgZXhpdCgpOw0KDQppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkNCnsNCgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXMnKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KfQ0KDQppZiggISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKQ0Kew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdNb2RpZnkgVGVtcGxhdGVzJykpOw0KCXJldHVybjsNCn0NCg0KaWYoICFpc3NldCgkcGFyYW1zWydtb2RlJ10pICkNCnsNCgkkcGFyYW1zWydtb2R1bGVfZXJyb3InXSA9IGxhbmcoJ21pc3NpbmdwYXJhbXMnKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJhbXMpOw0KCXJldHVybjsNCn0NCg0KaWYoICFpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSAmJiAoJHBhcmFtc1snbW9kZSddICE9ICdhZGQnIHx8ICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJykgKQ0Kew0KCSRwYXJhbXNbJ21vZHVsZV9lcnJvciddID0gbGFuZygnbWlzc2luZ3BhcmFtcycpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJycsJHBhcmFtcyk7DQoJcmV0dXJuOw0KfQ0KDQokdHBsX25hbWUgPSAnJzsNCiR0cGxfdHlwZSA9ICcnOw0KJGNvbnRlbnRzID0gJyc7DQokdGVtcGxhdGV0eXBlcyA9IGFycmF5KA0KCQkkdGhpcy0+TGFuZygnc3VtbWFyeV90cGwnKSA9PiAnc3VtbWFyeScsDQoJCSR0aGlzLT5MYW5nKCdkZXRhaWxfdHBsJykgPT4gJ2RldGFpbCcsDQoJCSR0aGlzLT5MYW5nKCdmb3JtX3RwbCcpID0+ICdmb3JtJyk7DQoNCnN3aXRjaCAoJHBhcmFtc1snbW9kZSddKQ0Kew0KCWNhc2UgJ2FkZCc6DQoJCWlmKCAkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnUE9TVCcgKQ0KCQl7DQoJCQkkcGFyYW1zWyd0ZW1wbGF0ZSddID0gdHJpbSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCg0KCQkJLy8gY2hlY2sgaWYgdGhpcyB0ZW1wbGF0ZSBhbHJlYWR5IGV4aXN0cw0KCQkJJHR4dCA9IHRyaW0oJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ3R5cGUnXSAuICdfJyAuICRwYXJhbXNbJ3RlbXBsYXRlJ10pKTsNCgkJCWlmKCAkdHh0ID09ICIiICkNCgkJCXsNCgkJCQkvLyBzYXZlIHRlbXBsYXRlDQoJCQkJJHRoaXMtPlNldFRlbXBsYXRlKCRwYXJhbXNbJ3R5cGUnXSAuICdfdHBsXycgLiAkcGFyYW1zWyd0ZW1wbGF0ZSddLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSk7DQoNCgkJCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9tZXNzYWdlJyA9PiBsYW5nKCdhZGRlZF90ZW1wbGF0ZScpLCAnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRlcycpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCQl9DQoNCgkJCSRwYXJhbXNbJ21vZHVsZV9lcnJvciddID0gbGFuZygndGVtcGxhdGVleGlzdHMnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGVtcGxhdGUnLCAnJywgJHBhcmFtcyk7DQoJCX0NCg0KCQlpZiAoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkNCgkJew0KCQkJbGlzdCgkdHBsX3R5cGUsICR0cGxfbmFtZSkgPSBleHBsb2RlKCdfdHBsXycsICRwYXJhbXNbJ3RlbXBsYXRlJ10sIDIpOw0KCQkJJGNvbnRlbnRzID0gJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J107DQoJCX0NCgkJJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd0ZW1wbGF0ZScsICR0cGxfbmFtZSwgNDAgKSk7DQoJCSRzbWFydHktPmFzc2lnbigndHlwZScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3R5cGUnLCAkdGVtcGxhdGV0eXBlcywgLTEsICR0cGxfdHlwZSwgJ2lkPSInIC4gJGlkIC4gJ3R5cGUiJykpOw0KCQlicmVhazsNCg0KDQoJY2FzZSAnY29weSc6DQoJCWxpc3QoJHRwbF90eXBlLCAkdHBsX25hbWUpID0gZXhwbG9kZSgnX3RwbF8nLCAkcGFyYW1zWyd0ZW1wbGF0ZSddLCAyKTsNCgkJJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd0ZW1wbGF0ZScsICcnLCA0MCApKTsNCgkJJHNtYXJ0eS0+YXNzaWduKCd0eXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndHlwZScsICR0ZW1wbGF0ZXR5cGVzLCAtMSwgJHRwbF90eXBlKSk7DQoJCSRjb250ZW50cyA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCgkJJHBhcmFtc1snbW9kZSddID0gJ2FkZCc7DQoJCWJyZWFrOw0KDQoNCgljYXNlICdkZWxldGUnOg0KCQkkdGVtcGxhdGUgPSBjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOw0KCQkkdGhpcy0+RGVsZXRlVGVtcGxhdGUoJHRlbXBsYXRlKTsNCg0KCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9tZXNzYWdlJyA9PiBsYW5nKCdkZWxldGVkX3RlbXBsYXRlJyksICdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJyk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCWJyZWFrOw0KDQoNCgljYXNlICdlZGl0JzoNCgkJaWYoICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJyApDQoJCXsNCgkJCS8vIHNhdmUgdGVtcGxhdGUNCgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSk7DQoNCgkJCWlmICggaXNzZXQoJHBhcmFtc1snYXBwbHlidXR0b24nXSkgfHwgaXNzZXQoJHBhcmFtc1sncmVzZXRidXR0b24nXSkgKQ0KCQkJew0KCQkJCSRwYXJhbXMgPSBhcnJheSgndGVtcGxhdGUnID0+ICRwYXJhbXNbJ3RlbXBsYXRlJ10sICdtb2RlJyA9PiAiZWRpdCIsICdtb2R1bGVfbWVzc2FnZScgPT4gbGFuZygnZWRpdHRlbXBsYXRlc3VjY2VzcycpKTsNCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZWRpdHRlbXBsYXRlJywgJycsICRwYXJhbXMpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX21lc3NhZ2UnID0+IGxhbmcoJ2VkaXR0ZW1wbGF0ZXN1Y2Nlc3MnKSwgJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXMnKTsNCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQkJfQ0KCQl9DQoNCgkJbGlzdCgkdHBsX3R5cGUsICR0cGxfbmFtZSkgPSBleHBsb2RlKCdfdHBsXycsICRwYXJhbXNbJ3RlbXBsYXRlJ10sIDIpOw0KCQkkc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsICR0cGxfbmFtZSk7DQoJCSRzbWFydHktPmFzc2lnbigndHlwZScsICR0aGlzLT5MYW5nKCR0cGxfdHlwZSAuICdfdHBsJykpOyAvLyAuICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiAoJGlkLCAndHlwZScsICR0cGxfdHlwZSkpOw0KCQkkY29udGVudHMgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sndGVtcGxhdGUnXSk7DQoJCWJyZWFrOw0KDQoJY2FzZSAnc3dpdGNoZGVmYXVsdCc6DQoJCWxpc3QoJHRwbF90eXBlLCAkdHBsX25hbWUpID0gZXhwbG9kZSgnX3RwbF8nLCAkcGFyYW1zWyd0ZW1wbGF0ZSddLCAyKTsNCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfJyAuICR0cGxfdHlwZSAuICdfdGVtcGxhdGUnLCAkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGVzJykpOw0KCQlicmVhazsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsIGxhbmcoJ3RlbXBsYXRlJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZW5hbWUnLCBsYW5nKCduYW1lJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdHlwZScsIGxhbmcoJ3R5cGUnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlJywgbGFuZygnY29kZScpKTsNCiRzbWFydHktPmFzc2lnbigndGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkY29udGVudHMsICd0ZW1wbGF0ZWNvbnRlbnQnKSk7DQoNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLCBsYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICRwYXJhbXNbJ21vZGUnXSA9PSAnYWRkJyA/ICcnIDogJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2FwcGx5YnV0dG9uJywgbGFuZygnYXBwbHknKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ3Jlc2V0JywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygncmVzZXRkZWZhdWx0JyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdpZD0icmVzZXRsaW5rIicpKTsNCiR0ZW1wbGF0ZSA9ICdzdW1tYXJ5X3RwbF9ndWVzdGJvb2snOw0KJHNtYXJ0eS0+YXNzaWduKCdqYXZhc2NyaXB0JywgJw0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KJChmdW5jdGlvbigpIHsgIA0KCSQoIiNyZXNldGxpbmsiKS5jbGljayhmdW5jdGlvbigpew0KCQlpZiAoY29uZmlybShcJycgLiAkdGhpcy0+TGFuZygncmVzZXR3YXJuaW5nJykgLiAnXCcpKXsNCgkJCXZhciB0cGxfdHlwZT0nIC4gKCRwYXJhbXNbJ21vZGUnXSA9PSAnYWRkJyA/ICckKCIjJyAuICRpZCAuICd0eXBlIikudmFsKCk7JyA6ICciJyAuICAkdHBsX3R5cGUgLiAnIjsnKSAuICcNCgkJCXN3aXRjaCAodHBsX3R5cGUpDQoJCQl7DQoJCQljYXNlICJzdW1tYXJ5IjoNCgkJCQl0ZW1wbGF0ZT0ic3VtbWFyeV90cGxfZ3Vlc3Rib29rIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImRldGFpbCI6DQoJCQkJdGVtcGxhdGU9ImRldGFpbF90cGxfbWVzc2FnZSI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJmb3JtIjoNCgkJCQl0ZW1wbGF0ZT0iZm9ybV90cGxfZm9ybSI7DQoJCQkJYnJlYWs7DQoJCQl9IA0KCQkJJC5nZXQoIicgLiAkdGhpcy0+R2V0TW9kdWxlVVJMUGF0aCgpIC4gJy90ZW1wbGF0ZXMvIit0ZW1wbGF0ZSsiLnR4dCIsZnVuY3Rpb24oZGF0YSl7DQoJCQkJJCgidGV4dGFyZWEiKS52YWwoZGF0YSk7DQoJCQl9KTsNCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfSk7DQp9KTsNCjwvc2NyaXB0PicpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnJywgZmFsc2UsICcnLCAkcGFyYW1zKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KJHNtYXJ0eS0+ZGlzcGxheSgkdGhpcy0+R2V0VGVtcGxhdGVSZXNvdXJjZSgnZWRpdHRlbXBsYXRlLnRwbCcpKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.form.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gaGFuZGxlIHRoZSBwYWdlIHRvIGdvIHRvIGFmdGVyIGNhbmNlbCBvciBzdWJtaXQuCiRkZXN0X3BhZ2UgPSAkcmV0dXJuaWQ7CiRyZWRpcmVjdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmb3JtX3JlZGlyZWN0Jyk7CmlmKCAhZW1wdHkoJHJlZGlyZWN0KSApCnsKCSRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7Cgkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRyZWRpcmVjdCk7CglpZiAoaXNzZXQoJG5vZGUpKQoJewoJCSRkZXN0X3BhZ2UgPSAkbm9kZS0+Z2V0SUQoKTsKCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRyZWRpcmVjdCk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXN0X3BhZ2UgPSAkcmVkaXJlY3Q7CgkJfQoJfQp9CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKewoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkZGVzdF9wYWdlKTsKfQoKLy8gR2V0IGdib29rIHByb3BlcnRpZXMKJGFsaWFzID0gZW1wdHkoJHBhcmFtc1snYWxpYXMnXSkgPyAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdGdib29rJykgOiAkcGFyYW1zWydhbGlhcyddOwokZ2Jvb2tzID0gR2Jvb2tfdXRpbHM6OkdldEdib29rcygkYWxpYXMpOwokZ2Jvb2sgPSBjdXJyZW50KCRnYm9va3MpOwoKaWYgKCBlbXB0eSgkZ2Jvb2spICkKewoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkZGVzdF9wYWdlKTsKfQoKLy8gdG9rZW4KJHRva2VuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2dib29rX3Rva2VuJywgJ2E6MTp7aTowO3M6MDoiIjt9Jyk7CiR0b2tlbiA9IHVuc2VyaWFsaXplKCR0b2tlbik7CiR0b2tlbnRpbWVzdGFtcCA9IGNlaWwodGltZSgpLzYwLzUpOwppZiAoIGVtcHR5KCR0b2tlblskdG9rZW50aW1lc3RhbXBdKSApIAp7CgkkdG9rZW5bJHRva2VudGltZXN0YW1wXSA9IG1kNShyYW5kKCkpOwoJJHRva2VuID0gYXJyYXlfaW50ZXJzZWN0X2tleSgkdG9rZW4sIGFycmF5KCR0b2tlbnRpbWVzdGFtcC0yPT4wLCR0b2tlbnRpbWVzdGFtcC0xPT4wLCR0b2tlbnRpbWVzdGFtcD0+MCkpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2dib29rX3Rva2VuJywgc2VyaWFsaXplKCR0b2tlbikpOwp9Cgokc2hvd2Zvcm0gPSB0cnVlOwokZmllbGRlcnJvcnMgPSBhcnJheSgpOwokZmllbGRzID0gYXJyYXkoJ25hbWUnLCAnZW1haWwnLCAndGl0bGUnLCAnbWVzc2FnZScsICdyYXRpbmcnKTsKZm9yZWFjaCAoICRmaWVsZHMgYXMgJGZpZWxkICkKewoJJHBhcmFtc1skZmllbGRdID0gZW1wdHkoJHBhcmFtc1skZmllbGRdKSA/ICcnIDogaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJGZpZWxkXSxFTlRfUVVPVEVTKTsKfQokcGFyYW1zWydub3RpZnknXSA9IGVtcHR5KCRwYXJhbXNbJ25vdGlmeSddKSA/IDAgOiAxOwoKLy8gcHJvY2VzcyBmb3JtIHN1Ym1pc3Npb24KaWYoICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJyAmJiBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQp7Cgkkc2hvd2Zvcm0gPSBmYWxzZTsKCQoJLy8gY2hlY2sgdG9rZW4gYW5kIGhvbmV5cG90KD13ZWJzaXRlIGZpZWxkKQoJJHJlY2VpdmVkdG9rZW4gPSBleHBsb2RlKCctJywgJHBhcmFtc1sndG9rZW4nXSk7CglpZiAoIGFycmF5X2tleV9leGlzdHMoJHJlY2VpdmVkdG9rZW5bMF0sICR0b2tlbikgJiYgJHJlY2VpdmVkdG9rZW5bMV0gPT0gbWQ1KCRnYm9va1snZ2Jvb2tfaWQnXSAuICR0b2tlblskcmVjZWl2ZWR0b2tlblswXV0pICYmICRwYXJhbXNbJ3dlYnNpdGUnXSA9PSAnaHR0cDovLycgKQoJewoJCSRhZGRlbnRyeSA9IEdib29rX3V0aWxzOjpBZGRFbnRyeSgkZ2Jvb2tbJ2dib29rX2lkJ10sICRwYXJhbXNbJ25hbWUnXSwgJHBhcmFtc1snZW1haWwnXSwgJHBhcmFtc1sndGl0bGUnXSwgJHBhcmFtc1snbWVzc2FnZSddLCAkcGFyYW1zWydyYXRpbmcnXSwgJHBhcmFtc1snbm90aWZ5J10pOwoKCQlpZiAoIGlzX2FycmF5KCRhZGRlbnRyeSkgJiYga2V5KCRhZGRlbnRyeSkgPT0gJ2VudHJ5IGFkZGVkJyApCgkJewoJCQkvLyBlbnRyeSBhZGRlZCBzdWNjZXNmdWxseQoJCQkKCQkJJGVudHJ5X2lkID0gJGFkZGVudHJ5WydlbnRyeSBhZGRlZCddWzBdOwoJCQkkc3BhbXJhdGUgPSAkYWRkZW50cnlbJ2VudHJ5IGFkZGVkJ11bMV07CgkJCWlmICggJHNwYW1yYXRlIDw9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfc3BhbXJhdGVfbm90aWZ5JywgMC45KSApCgkJCXsKCQkJCS8vIHNlbmQgZW1haWwgdG8gYWRtaW4KICAgICAgICB0cnkgewogICAgICAgICAgJGNtc21haWxlciA9IG5ldyBjbXNfbWFpbGVyOwogICAgICAgICAgJHVzZXJzID0gKGFycmF5KXVuc2VyaWFsaXplKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZW5kX25vdGlmaWNhdGlvbnNfdG8nKSk7CiAgICAgICAgICBpZiggJGNtc21haWxlciAmJiAhZW1wdHkoJHVzZXJzKSApCiAgICAgICAgICB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgZm9yZWFjaCAoICR1c2VycyBhcyAkdXNlciApCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKCAkdXNlciA8IDAgKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAvLyBncm91cAogICAgICAgICAgICAgICAgICAkZ3JvdXB1c2VycyA9IGNtc21zKCktPkdldFVzZXJPcGVyYXRpb25zKCktPkxvYWRVc2Vyc0luR3JvdXAoYWJzKCR1c2VyKSk7CiAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCAkZ3JvdXB1c2VycyBhcyAkZ3JvdXB1c2VyKQogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAkZ3JvdXB1c2VyLT5hY3RpdmUgKSAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCRncm91cHVzZXItPmVtYWlsKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAvLyBpbmRpdmlkdWFsIHVzZXIKICAgICAgICAgICAgICAgICAgJHVzZXJfZW1haWwgPSBjbXNtcygpLT5HZXRVc2VyT3BlcmF0aW9ucygpLT5Mb2FkVXNlckJ5SWQoJHVzZXIpLT5lbWFpbDsKICAgICAgICAgICAgICAgICAgJGNtc21haWxlci0+QWRkQWRkcmVzcygkdXNlcl9lbWFpbCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICRjbXNtYWlsZXItPlNldFN1YmplY3QoJGdib29rWydhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdCddKTsKICAgICAgICAgICAgICAkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOwogICAgICAgICAgICAgICRib2R5ID0gJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiRnYm9va1snYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2UnXSk7CiAgICAgICAgICAgICAgJGNtc21haWxlci0+U2V0Qm9keSgkYm9keSk7CiAgICAgICAgICAgICAgJGNtc21haWxlci0+U2VuZCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgICBkZWJ1Z190b19sb2coJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZmluYWxseSB7CiAgICAgICAgICAgICAgJGNtc21haWxlci0+Q2xlYXJBZGRyZXNzZXMoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICBhdWRpdCgkZW50cnlfaWQsICR0aGlzLT5HZXROYW1lKCksICRsYW5nWydzZW5kX25vdGlmaWNhdGlvbnNfdG8nXSAuICcgLSAnIC4gJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQoKCQkJfQoJCQkKCQkJLy8gZGlzcGxheSBzdWJtaXNzaW9uIHJlc3BvbnNlCgkJCS8qCgkJCSRyZXNwb25zZSA9ICgkc3BhbXJhdGUgPD0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9zcGFtcmF0ZV9hY3RpdmUnLCAwLjYpKSA/ICdzdWJtaXNzaW9uX3Jlc3BvbnNlJyA6ICdzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nOwoJCQllY2hvICRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzonLiRnYm9va1skcmVzcG9uc2VdKTsKCQkJKi8KCQkJCgkJCWlmICggJHNwYW1yYXRlID4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF9zcGFtcmF0ZV9hY3RpdmUnLCAwLjYpIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfc3BhbXJhdGVfYWN0aXZlJywgMC42KSA+IDAuNSAmJiAkc3BhbXJhdGUgPT0gMC41ICkKCQkJewoJCQkJJGNhcHRjaGEgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NhcHRjaGEnKTsKCQkJCWlmICggJGNhcHRjaGEgJiYgJGdib29rWyd1c2VfY2FwdGNoYSddID09IDEgKQoJCQkJewoJCQkJCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfY2FwdGNoYScsICRjYXB0Y2hhLT5nZXRDYXB0Y2hhKCkpOwoJCQkJCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfY2FwdGNoYV9pbnB1dCcsICcnKTsKCQkJICAgICAgICAkY2FwdGNoYV9uZWVkc2lucHV0ID0gbWV0aG9kX2V4aXN0cygkY2FwdGNoYSwgJ05lZWRzSW5wdXRGaWVsZCcpID8gJGNhcHRjaGEtPk5lZWRzSW5wdXRGaWVsZCgpIDogdHJ1ZTsKCQkJICAgICAgICBpZiAoJGNhcHRjaGFfbmVlZHNpbnB1dCkgJHNtYXJ0eS0+YXNzaWduKCdnYm9va19jYXB0Y2hhX2lucHV0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjYXB0Y2hhX2lucHV0JywgJycpKTsKCQkJCQkKCQkJCQkkX1NFU1NJT05bJ2dib29rX2VudHJ5J10gPSAkYWRkZW50cnlbJ2VudHJ5IGFkZGVkJ11bMF07CgkJCQkJZWNobyAnPGRpdiBjbGFzcz0iZ2Jvb2tfZm9ybSI+JzsKCQkJCQllY2hvICR0aGlzLT5DcmVhdGVGcm9udEVuZEZvcm1TdGFydCgkaWQsICRyZXR1cm5pZCwgJ2Zvcm0nLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgdHJ1ZSwgJycsIGFycmF5KCdhbGlhcycgPT4gJGdib29rWydnYm9va19pZCddLCAndG9rZW4nID0+ICR0b2tlbnRpbWVzdGFtcCAuICctJyAuIG1kNSgkZ2Jvb2tbJ2dib29rX2lkJ10gLiAkdG9rZW5bJHRva2VudGltZXN0YW1wXSkgKSk7CgkJCQkJZWNobyAkc21hcnR5LT5kaXNwbGF5KCdzdHJpbmc6Jy4kZ2Jvb2tbJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbSddKTsKCQkJCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICd2YWxpZGF0ZScsICR0aGlzLT5MYW5nKCdmZV9zdWJtaXQnKSk7CgkJCQkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoJCQkJCWVjaG8gJzwvZGl2Pic7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19jYXB0Y2hhJywgJycpOwoJCQkJCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfY2FwdGNoYV9pbnB1dCcsICcnKTsKCQkJCQllY2hvICRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzonLiRnYm9va1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtJ10pOwoJCQkJfQoJCQl9CgkJCWVsc2UKCQkJewoJCQkJZWNobyAkc21hcnR5LT5kaXNwbGF5KCdzdHJpbmc6Jy4kZ2Jvb2tbJ3N1Ym1pc3Npb25fcmVzcG9uc2UnXSk7CgkJCX0KCQkKCQl9CgkJZWxzZWlmICggaXNfYXJyYXkoJGFkZGVudHJ5KSApCgkJewoJCQkvLyBBZGRFbnRyeSBub3Qgc3VjY2VlZGVkCgkJCQoJCQkkZGVmYXVsdF9tZXNzYWdlID0gJzxwPldlIGFyZSByZWFseSBzb3JyeSBmb3IgdGhpcyBpbmNvbnZlbmllbmNlLjwvcD48cD5QbGVhc2UgdHJ5IGFnYWluIGxhdGVyLCBvciBzZW5kIHVzIGFuIGVtYWlsIHNvIHdlIGNhbiBhZGQgeW91ciBtZXNzYWdlIHRvIG91ciB3ZWJzaXRlIG9uIHlvdXIgYmVoYWxmLjwvcD4nOwogICAgICBkZWJ1Z190b19sb2coanNvbl9lbmNvZGUoJGFkZGVudHJ5KSk7CgkJCXN3aXRjaCAoIGtleSgkYWRkZW50cnkpICkKCQkJewoJCQkJY2FzZSAnZG91YmxlIHBvc3QnOgoJCQkJCWVjaG8gJHRoaXMtPkxhbmcoJ2RvdWJsZV9wb3N0Jyk7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAnbm90IGFsbG93ZWQgdG8gcG9zdCB0d2ljZSc6CgkJCQkJZWNobyAkdGhpcy0+TGFuZygnbm90X2FsbG93ZWRfdG9fcG9zdF90d2ljZScpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2dib29rIG5vdCBmb3VuZCc6CgkJCQkJZWNobyAnPHA+PGI+RXJyb3I6ICcgLiBfX0xJTkVfXyAuICc8L2I+IMK7ICBGb3Igc29tZSB1bmtub3duIHJlYXNvbiB0aGUgbGlzdCB5b3UgYXJlIHRyeWluZyB0byBwb3N0IHRvLCBjb3VsZCBub3QgYmUgZm91bmQuIE1heWJlIGl0IGRvZXNuXCd0IGV4aXN0IGFueW1vcmU/PC9wPicgLiAkZGVmYXVsdF9tZXNzYWdlOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ215c3FsIGVycm9yJzoKCQkJCQllY2hvICc8cD48Yj5FcnJvcjogJyAuIF9fTElORV9fIC4gJzwvYj4gwrsgIEZvciBzb21lIHVua25vd24gcmVhc29uIHlvdXIgbWVzc2FnZSBjb3VsZCBub3QgYmUgc2F2ZWQgdG8gdGhlIGRhdGFiYXNlLjwvcD4nIC4gJGRlZmF1bHRfbWVzc2FnZTsKCQkJCQlicmVhazsKCgkJCQljYXNlICdzcGFtJzoKCQkJCQllY2hvICc8cD5UaGFuayB5b3UgZm9yIHlvdXIga2luZCBmZWVkYmFjay4gWW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgcGFnZSB5b3UgY2FtZSBmcm9tLjwvcD4nOwoJCQkJCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJGRlc3RfcGFnZSk7CgkJCQkJZXhpdCgpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2ZpZWxkIHZhbGlkYXRpb24gZXJyb3JzJzoKCQkJCQkkZmllbGRlcnJvcnMgPSAkYWRkZW50cnlbJ2ZpZWxkIHZhbGlkYXRpb24gZXJyb3JzJ107CgkJCQkJJHNob3dmb3JtID0gdHJ1ZTsKCQkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJCWVjaG8gJzxwPjxiPkVycm9yOiAnIC4gX19MSU5FX18gLiAnPC9iPiDCuyAgU29tZXRoaW5nIG11c3QgaGF2ZSBnb25lIHdyb25nIGZvciBhbiB1bmtub3duIHJlYXNvbi48L3A+JyAuICRkZWZhdWx0X21lc3NhZ2U7CgkJCQkJYnJlYWs7CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJZWNobyAnPHA+PGI+RXJyb3I6ICcgLiBfX0xJTkVfXyAuICc8L2I+IMK7ICBTb21ldGhpbmcgbXVzdCBoYXZlIGdvbmUgd3JvbmcgZm9yIGFuIHVua25vd24gcmVhc29uLiBZb3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIHRoZSBwYWdlIHlvdSBjYW1lIGZyb20uPC9wPic7CgkJCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJGRlc3RfcGFnZSk7CgkJCWV4aXQoKTsKCQl9CgoJfQoJZWxzZQoJewoJCS8vIHRva2VuIG5vdCB2YWxpZCBvciB0cmFwcGVkIGhvbmV5cG90LCBkbyBub3RoaW5nIGFuZCBzZW5kIGJhY2sgdG8gZGVzdF9wYWdlCgkJZWNobyAnPHA+VGhhbmsgeW91IGZvciB5b3VyIGtpbmQgZmVlZGJhY2suIFlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIHBhZ2UgeW91IGNhbWUgZnJvbS48L3A+JzsKCQkkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRkZXN0X3BhZ2UpOwoJCWV4aXQoKTsKCX0KCn0KZWxzZWlmKCAkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnUE9TVCcgJiYgaXNzZXQoJHBhcmFtc1sndmFsaWRhdGUnXSkgKQp7Cgkkc2hvd2Zvcm0gPSBmYWxzZTsKCSRjYXB0Y2hhID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDYXB0Y2hhJyk7CglpZiAoICRjYXB0Y2hhICYmICFlbXB0eSgkX1NFU1NJT05bJ2dib29rX2VudHJ5J10pICkKCXsKICAgICRjYXB0Y2hhX25lZWRzaW5wdXQgPSBtZXRob2RfZXhpc3RzKCRjYXB0Y2hhLCAnTmVlZHNJbnB1dEZpZWxkJykgPyAkY2FwdGNoYS0+TmVlZHNJbnB1dEZpZWxkKCkgOiB0cnVlOyAgICAgICAgCiAgICAkdG92YWxpZGF0ZSA9ICRjYXB0Y2hhX25lZWRzaW5wdXQgPyAkcGFyYW1zWydjYXB0Y2hhX2lucHV0J10gOiAnJzsKICAgICR2YWxpZGF0ZWQgPSAkY2FwdGNoYS0+Y2hlY2tDYXB0Y2hhKCR0b3ZhbGlkYXRlKTsKCX0KCWVsc2UKCXsKCQkkdmFsaWRhdGVkID0gRkFMU0U7Cgl9CgkJCglpZiAoICR2YWxpZGF0ZWQgKQoJewoJCUdib29rX3V0aWxzOjpBY3RpdmF0ZUVudHJ5KCRfU0VTU0lPTlsnZ2Jvb2tfZW50cnknXSk7CgkJdW5zZXQoJF9TRVNTSU9OWydnYm9va19lbnRyeSddKTsKCQllY2hvICRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzonLiRnYm9va1snc3VibWlzc2lvbl9yZXNwb25zZSddKTsKCX0KCWVsc2UKCXsKCQlHYm9va191dGlsczo6QWN0aXZhdGVFbnRyeSgkX1NFU1NJT05bJ2dib29rX2VudHJ5J10sIDApOyAvLyBkZWFjdGl2YXRlCgkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19jYXB0Y2hhJywgJycpOwoJCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfY2FwdGNoYV9pbnB1dCcsICcnKTsKCQllY2hvICRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzonLiRnYm9va1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtJ10pOwkJCgl9Cgp9CgppZiAoICRzaG93Zm9ybSApCnsKCS8vIGJ1aWxkIHRoZSBmb3JtCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX25hbWUnLCAkZ2Jvb2tbJ25hbWUnXSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2Zvcm1pZCcsICRpZCk7CiAgCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2Zvcm1wYXJhbXMnLCBhcnJheSgnYWxpYXMnID0+ICRnYm9va1snZ2Jvb2tfaWQnXSwgJ3Rva2VuJyA9PiAkdG9rZW50aW1lc3RhbXAgLiAnLScgLiBtZDUoJGdib29rWydnYm9va19pZCddIC4gJHRva2VuWyR0b2tlbnRpbWVzdGFtcF0pICkpOwoJCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2Vycm9ybWVzc2FnZScsIGVtcHR5KCRmaWVsZGVycm9ycykgPyAnJyA6ICR0aGlzLT5MYW5nKCd2YWxpZGF0aW9uX2Vycm9ycycpKTsKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZyb250RW5kRm9ybVN0YXJ0KCRpZCwgJHJldHVybmlkLCAnZm9ybScsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCB0cnVlLCAnJywgYXJyYXkoJ2FsaWFzJyA9PiAkZ2Jvb2tbJ2dib29rX2lkJ10sICd0b2tlbicgPT4gJHRva2VudGltZXN0YW1wIC4gJy0nIC4gbWQ1KCRnYm9va1snZ2Jvb2tfaWQnXSAuICR0b2tlblskdG9rZW50aW1lc3RhbXBdKSApKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX25hbWVfbGFiZWwnLCAkdGhpcy0+TGFuZygnbmFtZScpKTsKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfbmFtZV9maWVsZCcsICRpZCAuICduYW1lJyk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX25hbWVfaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCBodG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snbmFtZSddLEVOVF9RVU9URVMpLCA0MCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX25hbWVfZXJyb3InLCBpbl9hcnJheSgnbmFtZScsICRmaWVsZGVycm9ycykgPyAxIDogJycpOwoKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfZW1haWxfbGFiZWwnLCAkdGhpcy0+TGFuZygnZW1haWwnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2VtYWlsX2ZpZWxkJywgJGlkIC4gJ2VtYWlsJyk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2VtYWlsX2lucHV0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbWFpbCcsIGh0bWxfZW50aXR5X2RlY29kZSgkcGFyYW1zWydlbWFpbCddLEVOVF9RVU9URVMpLCA0MCwgMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX2VtYWlsX2Vycm9yJywgaW5fYXJyYXkoJ2VtYWlsJywgJGZpZWxkZXJyb3JzKSA/IDEgOiAnJyk7CgoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19ob25leXBvdF9pbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnd2Vic2l0ZScsICdodHRwOi8vJywgNDAsIDI1NSkpOwoJCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rX3RpdGxlX2xhYmVsJywgJHRoaXMtPkxhbmcoJ3RpdGxlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va190aXRsZV9maWVsZCcsICRpZCAuICd0aXRsZScpOwoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va190aXRsZV9pbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndGl0bGUnLCBodG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1sndGl0bGUnXSxFTlRfUVVPVEVTKSwgNDAsIDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va190aXRsZV9lcnJvcicsIGluX2FycmF5KCd0aXRsZScsICRmaWVsZGVycm9ycykgPyAxIDogJycpOwoKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfbWVzc2FnZV9sYWJlbCcsICR0aGlzLT5MYW5nKCdtZXNzYWdlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19tZXNzYWdlX2ZpZWxkJywgJGlkIC4gJ21lc3NhZ2UnKTsKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfbWVzc2FnZV9pbnB1dCcsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCBodG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snbWVzc2FnZSddLEVOVF9RVU9URVMpLCAnbWVzc2FnZScsICcnLCAkaWQgLiAnbWVzc2FnZScpKTsKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfbWVzc2FnZV9lcnJvcicsIGluX2FycmF5KCdtZXNzYWdlJywgJGZpZWxkZXJyb3JzKSA/IDEgOiAnJyk7CgoJaWYgKCAkZ2Jvb2tbJ2FsbG93X3NtaWxpZXMnXSApCgl7CgkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19zbWlsZXlzJywgR2Jvb2tfdXRpbHM6OkdldFNtaWxleXMoKSk7Cgl9CgoJaWYgKCAkZ2Jvb2tbJ2FsbG93X3JhdGluZyddICkKCXsKCQkkc21hcnR5LT5hc3NpZ24oJ2dib29rX3JhdGluZ19sYWJlbCcsICR0aGlzLT5MYW5nKCdyYXRpbmcnKSk7CgkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19yYXRpbmdfZmllbGQnLCAkaWQgLiAncmF0aW5nJyk7CgkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19yYXRpbmdfaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAncmF0aW5nJywgJHBhcmFtc1sncmF0aW5nJ10pKTsKCQkkc21hcnR5LT5hc3NpZ24oJ2dib29rX3JhdGluZ19lcnJvcicsIGluX2FycmF5KCdyYXRpbmcnLCAkZmllbGRlcnJvcnMpID8gMSA6ICcnKTsKCX0KCglpZiAoICRnYm9va1snYWxsb3dfbm90aWZpY2F0aW9ucyddICkKCXsKCQkkc21hcnR5LT5hc3NpZ24oJ2dib29rX25vdGlmeV9sYWJlbCcsICR0aGlzLT5MYW5nKCdub3RpZnknKSk7CgkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19ub3RpZnlfZmllbGQnLCAkaWQgLiAnbm90aWZ5Jyk7CgkJJHNtYXJ0eS0+YXNzaWduKCdnYm9va19ub3RpZnlfaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdub3RpZnknLCAxLCAkcGFyYW1zWydub3RpZnknXSwgJ2lkPSInIC4gJGlkIC4gJ25vdGlmeSInKSk7Cgl9CgkKCSRzbWFydHktPmFzc2lnbignZ2Jvb2tfc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdmZV9zdWJtaXQnKSkpOwoKCQoKCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2Zvcm1fdGVtcGxhdGUnKTsKCWlmICggIWVtcHR5KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkKCXsKCQkkdGVtcGxhdGUgPSAnZm9ybV90cGxfJyAuICRwYXJhbXNbJ3RlbXBsYXRlJ107Cgl9CgkJCgkvL2VjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwoJJHNtYXJ0eS0+ZGlzcGxheSgkdGhpcy0+R2V0RGF0YWJhc2VSZXNvdXJjZSgkdGVtcGxhdGUpKTsKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.multiaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovLyBDaGVjayBwZXJtaXNzaW9ucwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0dib29rOiBVc2UnKSApCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdHYm9vazogVXNlJykpOwoJcmV0dXJuOwp9CgppZiggIWlzc2V0KCRwYXJhbXNbJ2dib29raWQnXSkgKQp7CgkkcGFyYW1zID0gYXJyYXkoJ2Vycm9ycycgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAnYWN0aXZlX3RhYicgPT4gJ2l0ZW1zJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwoJcmV0dXJuOwp9CgppZiggIWlzc2V0KCRwYXJhbXNbJ211bHRpYWN0aW9uJ10pIHx8IGVtcHR5KCRwYXJhbXNbJ211bHRpc2VsZWN0J10pICkKewoJJHBhcmFtcyA9IGFycmF5KCdlcnJvcnMnID0+IGxhbmcoJ21pc3NpbmdwYXJhbXMnKSwgJ2FjdGl2ZV90YWInID0+ICdpdGVtcycsICdnYm9va2lkJyA9PiAkcGFyYW1zWydnYm9va2lkJ10sICdmaWx0ZXInID0+ICRwYXJhbXNbJ2ZpbHRlciddKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7CglyZXR1cm47Cn0KCiRpdGVtaWRfYXJyYXkgPSBhcnJheV9rZXlzKCRwYXJhbXNbJ211bHRpc2VsZWN0J10pOwokaXRlbWlkcyA9IGltcGxvZGUoJywnLCRpdGVtaWRfYXJyYXkpOwoKc3dpdGNoKCAkcGFyYW1zWydtdWx0aWFjdGlvbiddICkKewoJY2FzZSAnZGVsZXRlJzoKCXsKCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfZW50cmllcyBXSEVSRSBlbnRyeV9pZCBJTiAoIiAuICRpdGVtaWRzIC4gIikiOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCQkkc2VhcmNoID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdTZWFyY2gnKTsKCQlmb3JlYWNoKCAkaXRlbWlkX2FycmF5IGFzICRpdGVtaWQgKQoJCXsKCQkJLy9VcGRhdGUgc2VhcmNoIGluZGV4CgkJCWlmICggJHNlYXJjaCAhPSBmYWxzZSApCgkJCXsKCQkJCSRzZWFyY2gtPkRlbGV0ZVdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtaWQsICdlbnRyeScpOwoJCQl9CgkJCS8vU2VuZCBldmVudAoJCQkkdGhpcy0+U2VuZEV2ZW50KCdHYm9va19lbnRyeV9kZWxldGVkJywgYXJyYXkoJ2VudHJ5X2lkJyA9PiAkaXRlbWlkLCAnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddKSk7CgkJfQoJCWJyZWFrOwoJfQoKCWNhc2UgJ2FjdGl2ZSc6Cgl7CgkJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19lbnRyaWVzIFNFVCBhY3RpdmUgPSAxIFdIRVJFIGVudHJ5X2lkIElOICgiIC4gJGl0ZW1pZHMgLiAiKSI7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCgkJJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU2VhcmNoJyk7CgkJZm9yZWFjaCggJGl0ZW1pZF9hcnJheSBhcyAkaXRlbWlkICkKCQl7CgkJCS8vVXBkYXRlIHNlYXJjaCBpbmRleAoJCQlpZiAoICRzZWFyY2ggIT0gZmFsc2UgKQoJCQl7CgkJCQkkaXRlbSA9IEdib29rX3V0aWxzOjpHZXRFbnRyeSgkaXRlbWlkKTsKCQkJCSRzZWFyY2gtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtaWQsICdlbnRyeScsICRpdGVtLT50aXRsZSAuICcgJyAuICRpdGVtLT5tZXNzYWdlKTsKCQkJfQoJCQkvL1NlbmQgZXZlbnQKCQkJJHRoaXMtPlNlbmRFdmVudCgnR2Jvb2tfZW50cnlfZWRpdGVkJywgYXJyYXkoJ2VudHJ5X2lkJyA9PiAkaXRlbWlkLCAnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnYWN0aXZlJyA9PiAxKSk7CgkJfQoJCWJyZWFrOwoJfQoKCWNhc2UgJ2luYWN0aXZlJzoKCXsKCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX2VudHJpZXMgU0VUIGFjdGl2ZSA9IDAgV0hFUkUgZW50cnlfaWQgSU4gKCIgLiAkaXRlbWlkcyAuICIpIjsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkKCQkkc2VhcmNoID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdTZWFyY2gnKTsKCQlmb3JlYWNoKCAkaXRlbWlkX2FycmF5IGFzICRpdGVtaWQgKQoJCXsKCQkJLy9VcGRhdGUgc2VhcmNoIGluZGV4CgkJCWlmICggJHNlYXJjaCAhPSBmYWxzZSApCgkJCXsKCQkJCSRzZWFyY2gtPkRlbGV0ZVdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtaWQsICdlbnRyeScpOwoJCQl9CgkJCS8vU2VuZCBldmVudAoJCQkkdGhpcy0+U2VuZEV2ZW50KCdHYm9va19lbnRyeV9lZGl0ZWQnLCBhcnJheSgnZW50cnlfaWQnID0+ICRpdGVtaWQsICdnYm9va2lkJyA9PiAkcGFyYW1zWydnYm9va2lkJ10sICdhY3RpdmUnID0+IDApKTsKCQl9CgkJYnJlYWs7Cgl9Cgp9CgoKJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnaXRlbXMnLCAnZ2Jvb2tpZCcgPT4gJHBhcmFtc1snZ2Jvb2tpZCddLCAnZmlsdGVyJyA9PiAkcGFyYW1zWydmaWx0ZXInXSk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.updateoptions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkNCnsNCgllY2hvICR0aGlzLT5TaG93RXJyb3JzKGxhbmcoJ25lZWRwZXJtaXNzaW9udG8nLCAnTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSk7DQoJcmV0dXJuOw0KfQ0KDQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VuZF9ub3RpZmljYXRpb25zX3RvJywgc2VyaWFsaXplKCRwYXJhbXNbJ3NlbmRfbm90aWZpY2F0aW9uc190byddKSk7DQoNCmlmICggaXNfbnVtZXJpYygkcGFyYW1zWydtYXhfc3BhbXJhdGVfYWN0aXZlJ10pICYmIGFicygkcGFyYW1zWydtYXhfc3BhbXJhdGVfYWN0aXZlJ10pIDw9IDEgKQ0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfc3BhbXJhdGVfYWN0aXZlJywgYWJzKCRwYXJhbXNbJ21heF9zcGFtcmF0ZV9hY3RpdmUnXSkpOw0KDQppZiAoIGlzX251bWVyaWMoJHBhcmFtc1snbWF4X3NwYW1yYXRlX25vdGlmeSddKSAmJiBhYnMoJHBhcmFtc1snbWF4X3NwYW1yYXRlX25vdGlmeSddKSA8PSAxICkNCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWF4X3NwYW1yYXRlX25vdGlmeScsIGFicygkcGFyYW1zWydtYXhfc3BhbXJhdGVfbm90aWZ5J10pKTsNCg0KaWYgKCBpc19udW1lcmljKCRwYXJhbXNbJ21heF9zcGFtcmF0ZV9zYXZlJ10pICYmIGFicygkcGFyYW1zWydtYXhfc3BhbXJhdGVfc2F2ZSddKSA8PSAxICkNCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWF4X3NwYW1yYXRlX3NhdmUnLCBhYnMoJHBhcmFtc1snbWF4X3NwYW1yYXRlX3NhdmUnXSkpOw0KDQokcGFyYW1zWydiYWR3b3JkcyddID0gc3RyX3JlcGxhY2UoJywgJywgJywnLCAkcGFyYW1zWydiYWR3b3JkcyddKTsNCiRwYXJhbXNbJ2JhZHdvcmRzJ10gPSBzdHJfcmVwbGFjZSgnICwnLCAnLCcsICRwYXJhbXNbJ2JhZHdvcmRzJ10pOw0KJHBhcmFtc1snYmFkd29yZHMnXSA9IHRyaW0oJHBhcmFtc1snYmFkd29yZHMnXSwgJywnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiYWR3b3JkcycsIHRyaW0oJHBhcmFtc1snYmFkd29yZHMnXSkpOw0KDQokcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICR0aGlzLT5MYW5nKCdvcHRpb25zdXBkYXRlZCcpLCAnYWN0aXZlX3RhYicgPT4gJ29wdGlvbnMnKTsNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPg0KPGxpPlZlcnNpb24gMi4zLjEgLSAxNiBNYXJjaCAyMDIxDQoJPHVsPg0KCTxsaT5CdWcgIzEyMjYyOiBmaXhlZCAtIFJhdGluZyByZXF1aXJlZCBub3Qgd29ya2luZzwvbGk+DQoJPGxpPkJ1ZyAjMTI0Mjg6IGZpeGVkIC0gYWN0aW9uPWRldGFpbCBlbnRyeWlkPS0xIGlzIG5vdCBzaG93aW5nPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMyAtIDE1IE9jdG9iZXIgMjAxOQ0KCTx1bD4NCgk8bGk+Q2hhbmdlcyBmb3IgQ01TbXMgMi4zIGNvbXBhdGliaWxpdHk8L2xpPg0KCTxsaT5VcGRhdGUgImI4IiBzdGF0aXN0aWNhbCAoQmF5ZXNpYW4pIHNwYW0gZmlsdGVyIHRvIHZlcnNpb24gMC42LjI8L2xpPg0KCTxsaT5NaW5pbXVtIHJlcXVpcmVkIENNU21zIHZlcnNpb24gc2V0IHRvIDIuMjwvbGk+DQoJPGxpPkJ1ZyAjMTExNTM6IGZpeGVkIC0gcGFnZSBudW1iZXJzIG5hdmlnYXRpb24gbGVhZHMgdG8gZW1wdHkgZW50cnkgbGlzdCBwYWdlczwvbGk+DQoJPGxpPkJ1ZyAjMTExNTQ6IGZpeGVkIC0gZWRpdCBvZiBlbnRyeSBvbiBsYXRlciBsaXN0IHBhZ2UgbWFrZXMganVtcCB0byBwYWdlIDEgYW5kIHRvcDwvbGk+DQoJPGxpPkJ1ZyAjMTEyMjY6IGZpeGVkIC0gQ2FwdGNoYSBub3Qgd29ya2luZzwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjIuNiAtIDI3IE5vdmVtYmVyIDIwMTcNCgk8dWw+DQoJPGxpPkJ1ZyAjMTE2NTA6IGZpeGVkIC0gRmF0YWwgZXJyb3I6IFVuY2F1Z2h0IEVycm9yOiBDYWxsIHRvIHVuZGVmaW5lZCBmdW5jdGlvbiBqc29uZW5jb2RlKCk8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4yLjUgLSAxMCBTZXB0ZW1iZXIgMjAxNw0KCTx1bD4NCgk8bGk+QnVnICMxMTA0MjogZml4ZWQgLSBObyBlbnRyeSBpbiB0aGUgZ3Vlc3QgYm9vayBwb3NzaWJsZSAoY29uZmlnIGRiX3BvcnQpPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMi40IC0gMSBBdWd1c3QgMjAxNw0KCTx1bD4NCgk8bGk+QnVnIGZpeGVkIC0gTm90IGFibGUgdG8gYWRkIGFueSBlbnRyaWVzPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMi4yIC0gMjggQXVndXN0IDIwMTYNCgk8dWw+DQoJPGxpPkJ1ZyAjMTExMjg6IGZpeGVkIC0gRGV0YWlsIGFjdGlvbiB0ZW1wbGF0ZV9uYW1lIGRvZXNudCBleGlzdDwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjIuMSAtIDMgTWF5IDIwMTYNCgk8dWw+DQoJPGxpPkFkZGVkIG9wdGlvbiB0byBzZXQgUmF0aW5nIGFzIHJlcXVpcmVkIGZpZWxkPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDIuMiAtIDMwIEFwcmlsIDIwMTYNCgk8dWw+DQoJPGxpPkFkZGVkIGhvbmV5cG90IChGUiAjMTA5MTgpPC9saT4NCgk8bGk+TmV3IGljb248L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4xIC0gMjggQXByaWwgMjAxNg0KCTx1bD4NCgk8bGk+QWRkZWQgc3RhciByYXRpbmcgZnVuY3Rpb248L2xpPg0KCTxsaT5BZGRlZCBjYXB0Y2hhIHRvIGFjdGl2YXRlIHNwYW0tc3VzcGVjdGVkIG1lc3NhZ2UgKG5lZWRzIENhcHRjaGEgbW9kdWxlKTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMyAtIDEwIEphbnVhcnkgMjAxNg0KCTx1bD4NCgk8bGk+QnVnICMxMDcxNDogZml4ZWQgLSBhY3Rpb249J2Zvcm0nIGRvZXNuJ3Qgd29yazwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMiAtIDE0IE9jdG9iZXIgMjAxNQ0KCTx1bD4NCgk8bGk+Rml4IGZvciBlcnJvcjogUGFyYW1ldGVyIDIgdG8gU21hcnR5QkM6OmFzc2lnbl9ieV9yZWYoKSBleHBlY3RlZCB0byBiZSBhIHJlZmVyZW5jZTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIDEyIE1hcmNoIDIwMTUNCgk8dWw+DQoJPGxpPlVwZGF0ZSAiYjgiIHN0YXRpc3RpY2FsIChCYXllc2lhbikgc3BhbSBmaWx0ZXIgdG8gdmVyc2lvbiAwLjYuMTwvbGk+DQoJPGxpPkZpeCBmb3IgdXBsb2FkaW5nIG5ldyBzbWlsZXkgaW1hZ2VzPC9saT4NCgk8bGk+QnVnICMxMDMwMDogZml4ZWQgLSBwYWdlciBxdWlya3M8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMi4wIC0gMjAgTWF5IDIwMTQNCgk8dWw+DQoJPGxpPkNoYW5nZXMgdG8gbWFrZSBtb2R1bGUgQ01TbXMgMi4wIGNvbXBhdGlibGU8L2xpPg0KCTxsaT5NaW5pbXVtIHJlcXVpcmVkIENNU21zIHZlcnNpb24gc2V0IHRvIDEuMTE8L2xpPg0KCTxsaT5CdWcgZml4ZXM8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4yIC0gOCBEZWNlbWJlciAyMDEzDQoJPHVsPg0KCTxsaT5BZGRlZCBtdWx0aS1kZWxldGUgYW5kIG11bHRpLShkZSlhY3RpdmF0ZSBmdW5jdGlvbjwvbGk+DQoJPGxpPkFkZGVkIGVudHJ5LWZpbHRlcmluZyBmdW5jdGlvbjwvbGk+DQoJPGxpPk1pbm9yIGZpeCBmb3Igc2V0dGluZyBiYWQgd29yZHMgZmlsdGVyPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMSAtIDE2IEp1bHkgMjAxMw0KCTx1bD4NCgk8bGk+U2V0dGluZyBmb3Igc2VuZGluZyBub3RpZmljYXRpb25zIHRvIGFkbWluIHVzZXJzIG9yIGdyb3VwczwvbGk+DQoJPGxpPkZpeCBkaXNwbGF5aW5nIHNlYXJjaCByZXN1bHQ8L2xpPg0KCTxsaT5GaXggZm9yIHVubWFya2luZyBmcm9tIEhhbS9TcGFtPC9saT4NCgk8bGk+U2VhcmNoLWluZGV4aW5nIGltcG9ydGVkIGVudHJpZXM8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPlZlcnNpb24gMS4wLjEgLSAyMCBEZWNlbWJlciAyMDEyDQoJPHVsPg0KCTxsaT5NaW5vciBmaXhlczwvbGk+DQoJPGxpPkZpeCBwYWdpbmF0aW9uIGluIGRlZmF1bHQgZ3Vlc3Rib29rIHRlbXBsYXRlPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT5WZXJzaW9uIDEuMCAtIDE4IERlY2VtYmVyIDIwMTINCgk8dWw+DQoJPGxpPkFkZGVkIGJhZC13b3JkcyBmaWx0ZXI8L2xpPg0KCTxsaT5GaXggaW4gY2FzZSBzbWlsZXlzIGFyZSBub3QgYWxsb3dlZDwvbGk+DQoJPGxpPkZpeCBmb3IgdGhlIHJlc2V0IHRlbXBsYXRlY29kZSBmdW5jdGlvbiAodGhhbmtzIEFybm91ZCk8L2xpPg0KCTxsaT50aGFua3MgUm9sZiBmb3IgdGVzdGluZzwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAwLjggLSAxNiBEZWNlbWJlciAyMDEyDQoJPHVsPg0KCTxsaT5Jbml0aWFsIFJlbGVhc2U8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPC91bD4NCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_gbookstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCiRzbWFydHktPmFzc2lnbignZ2Jvb2snLCAkdGhpcy0+TGFuZygnZ2Jvb2tzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0YWcnLCBsYW5nKCd0YWdzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbnRyaWVzJywgJHRoaXMtPkxhbmcoJ2VudHJpZXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHQnLCBsYW5nKCdkZWZhdWx0JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdhY3RpdmUnLCBsYW5nKCdhY3RpdmUnKSk7DQoNCiRzbWFydHktPmFzc2lnbignZGVmYXVsdGdib29rJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRnYm9vaycpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGdib29rJywgMCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygnYWRkZ2Jvb2snKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGdib29rJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygiYWRkZ2Jvb2siKSwgYXJyYXkoIm1vZGUiPT4iYWRkIiksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOw0KDQoNCi8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQ0KJHNtYXJ0eS0+ZGlzcGxheSgkdGhpcy0+R2V0VGVtcGxhdGVSZXNvdXJjZSgnYWRtaW5nYm9va3MudHBsJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_itemstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCi8vJGdib29rcyA9IEdib29rX3V0aWxzOjpHZXRHYm9va3MoJycsIGZhbHNlKTsNCiRnYm9va19pZCA9IGVtcHR5KCRwYXJhbXNbJ2dib29raWQnXSkgPyAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdGdib29rJykgOiAkcGFyYW1zWydnYm9va2lkJ107DQoNCmlmICggY291bnQoJGdib29rcykgPiAxICkNCnsNCgkvLyBjcmVhdGUgZ2Jvb2sgZHJvcGRvd25maWVsZA0KCWZvcmVhY2ggKCAkZ2Jvb2tzIGFzICRnYm9vayApIA0KCXsNCgkJJGxhYmVsID0gJGdib29rWyduYW1lJ10gLiAnICgnIC4gJGdib29rWydlbnRyaWVzJ10gLiAnKSc7DQoJCSRnYm9va2xpc3RbJGxhYmVsXSA9ICRnYm9va1snZ2Jvb2tfaWQnXTsNCgkJLy9pZiAoICRnYm9va19pZCA9PSAkZ2Jvb2tbJ2dib29rX2lkJ10gKSAkZW50cmllcyA9ICRnYm9va1snZW50cmllcyddOw0KCX0NCgkkc21hcnR5LT5hc3NpZ24oJ2dib29rc2VsZWN0JywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnZ2Jvb2tzZWxlY3QnLCAkZ2Jvb2tsaXN0LCAtMSwgJGdib29rX2lkLCAnaWQ9IicgLiAkaWQgLiAnZ2Jvb2tzZWxlY3QiJykpOw0KCSRzbWFydHktPmFzc2lnbignZ2Jvb2tzZWxlY3RqcycsICcNCgkJJChcJyMnIC4gJGlkIC4gJ2dib29rc2VsZWN0XCcpLmNoYW5nZSggZnVuY3Rpb24oKSB7DQoJCQlsb2NhdGlvbi5ocmVmID0gIicgLiBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICcnLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2l0ZW1zJyksICcnLCB0cnVlKSkgIC4gJyYnIC4gJGlkIC4gJ2dib29raWQ9IiskKHRoaXMpLnZhbCgpOw0KCQl9KTsNCicpOw0KfQ0KZWxzZQ0Kew0KCSRzbWFydHktPmFzc2lnbignZ2Jvb2tzZWxlY3QnLCAnJyk7DQoJJHNtYXJ0eS0+YXNzaWduKCdnYm9va3NlbGVjdGpzJywgJycpOw0KCS8vJGVudHJpZXMgPSAkZ2Jvb2tzWzBdWydlbnRyaWVzJ107DQp9DQoNCi8vIGNyZWF0ZSBmaWx0ZXIgZHJvcGRvd25maWVsZA0KJHBhcmFtc1snZmlsdGVyJ10gPSBlbXB0eSgkcGFyYW1zWydmaWx0ZXInXSkgPyAnc2hvd2FsbCcgOiAkcGFyYW1zWydmaWx0ZXInXTsNCiRmaWx0ZXJsaXN0ID0gYXJyYXkobGFuZygnc2hvd2FsbCcpID0+ICdzaG93YWxsJywgbGFuZygnYWN0aXZlJykgPT4gJ2FjdGl2ZScsIGxhbmcoJ2luYWN0aXZlJykgPT4gJ2luYWN0aXZlJywgJHRoaXMtPkxhbmcoJ3NwYW0nKSA9PiAnc3BhbScpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZmlsdGVyJywgbGFuZygnZmlsdGVycycpKTsNCiRzbWFydHktPmFzc2lnbignZmlsdGVyJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnZmlsdGVyJywgJGZpbHRlcmxpc3QsIC0xLCAkcGFyYW1zWydmaWx0ZXInXSwgJ2lkPSInIC4gJGlkIC4gJ2ZpbHRlciInKSApOw0KJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJzZWxlY3RqcycsICcNCgkJJChcJyMnIC4gJGlkIC4gJ2ZpbHRlclwnKS5jaGFuZ2UoIGZ1bmN0aW9uKCkgew0KCQkJbG9jYXRpb24uaHJlZiA9ICInIC4gc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ2dib29raWQnID0+ICRnYm9va19pZCwgJ2FjdGl2ZV90YWInID0+ICdpdGVtcycpLCAnJywgdHJ1ZSkpICAuICcmJyAuICRpZCAuICdmaWx0ZXI9IiskKHRoaXMpLnZhbCgpOw0KCQl9KTsNCicpOw0KDQovLyBlbnRyaWVzIGNvdW50IGJhc2VkIG9uIGZpbHRlcg0Kc3dpdGNoICggJHBhcmFtc1snZmlsdGVyJ10gKQ0Kew0KICBjYXNlICdzaG93YWxsJzoNCiAgICAkZW50cmllcyA9ICRnYm9va3NbJGdib29rX2lkXVsnZW50cmllcyddOw0KICAgIGJyZWFrOw0KICBjYXNlICdhY3RpdmUnOg0KICAgICRlbnRyaWVzID0gJGdib29rc1skZ2Jvb2tfaWRdWydhY3RpdmVfZW50cmllcyddOw0KICAgIGJyZWFrOw0KICBjYXNlICdpbmFjdGl2ZSc6DQogICAgJGVudHJpZXMgPSAkZ2Jvb2tzWyRnYm9va19pZF1bJ2luYWN0aXZlX2VudHJpZXMnXTsNCiAgICBicmVhazsNCiAgY2FzZSAnc3BhbSc6DQogICAgJGVudHJpZXMgPSAkZ2Jvb2tzWyRnYm9va19pZF1bJ3NwYW1fZW50cmllcyddOw0KICAgIGJyZWFrOw0KfQ0KJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJlZF9lbnRyaWVzJywgJGVudHJpZXMgLiAnICcgLiAkdGhpcy0+TGFuZygnZW50cmllcycpKTsNCg0KDQoNCi8vIHBhZ2luYXRpb24NCiRwYXJhbXNbJ2dicGFnZSddID0gZW1wdHkoJHBhcmFtc1snZ2JwYWdlJ10pID8gMSA6ICRwYXJhbXNbJ2dicGFnZSddOw0KJGVudHJpZXNfcGVyX3BhZ2UgPSA0MDsNCiRwYWdlcyA9IGNlaWwoJGVudHJpZXMgLyAkZW50cmllc19wZXJfcGFnZSk7DQokc3RhcnQgPSAoKCRwYXJhbXNbJ2dicGFnZSddIC0gMSkgKiAkZW50cmllc19wZXJfcGFnZSkgKyAxOw0KDQokcGFnZWxpbmtzID0gYXJyYXkoKTsNCmZvciAoJGkgPSAxOyAkaSA8PSAkcGFnZXM7ICRpKyspIHsNCgkkcGFnZWxpbmtzWyRpXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJycsIGFycmF5ICgnZ2Jvb2tpZCcgPT4gJGdib29rX2lkLCAnZ2JwYWdlJyA9PiAkaSwgJ2ZpbHRlcicgPT4gJHBhcmFtc1snZmlsdGVyJ10sICdhY3RpdmVfdGFiJyA9PiAnaXRlbXMnKSwgJycsIHRydWUpOw0KfQ0KJHNtYXJ0eS0+YXNzaWduKCdwYWdlbGlua3MnLCAkcGFnZWxpbmtzKTsNCiRzbWFydHktPmFzc2lnbignY3VycmVudHBhZ2UnLCAkcGFyYW1zWydnYnBhZ2UnXSk7DQoNCg0KJGl0ZW1zID0gR2Jvb2tfdXRpbHM6OkdldEVudHJpZXMoJGdib29rX2lkLCAkc3RhcnQsICRlbnRyaWVzX3Blcl9wYWdlLCAkcGFyYW1zWydmaWx0ZXInXSk7DQpmb3JlYWNoICggJGl0ZW1zIGFzICRrZXk9PiRpdGVtICkNCnsNCgkkc3BhbXJhdGUgPSBHYm9va191dGlsczo6YjhfZXhlYygnQ2xhc3NpZnknLCAkaXRlbS0+dGl0bGUgLiAnICcgLiAkaXRlbS0+cmF3bWVzc2FnZSk7DQoJJGl0ZW1zWyRrZXldLT5zcGFtcmF0ZSA9IEdib29rX3V0aWxzOjpmb3JtYXRfcmF0aW5nKCRzcGFtcmF0ZSk7DQp9DQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJGl0ZW1zKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ2lkJywgJHRoaXMtPkxhbmcoJ2lkJykpOw0KJHNtYXJ0eS0+YXNzaWduKCduYW1lJywgbGFuZygnbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbigndGl0bGUnLCBsYW5nKCd0aXRsZScpKTsNCiRzbWFydHktPmFzc2lnbignY29udGVudCcsIGxhbmcoJ2NvbnRlbnQnKSk7DQovLyRzbWFydHktPmFzc2lnbignaXAnLCBsYW5nKCdpcF9hZGRyJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdzcGFtcmF0ZScsICR0aGlzLT5MYW5nKCdzcGFtcmF0ZScpKTsNCiRzbWFydHktPmFzc2lnbignYWN0aXZlJywgbGFuZygnYWN0aXZlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdjcmVhdGVfZGF0ZScsICR0aGlzLT5MYW5nKCdjcmVhdGVkJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdtb2RpZmllZF9kYXRlJywgJHRoaXMtPkxhbmcoJ21vZGlmaWVkJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHByb3ZlZF9kYXRlJywgJHRoaXMtPkxhbmcoJ2FwcHJvdmVkJykpOw0KDQoNCiRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGl0ZW1zKSk7DQokc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcicsICRwYXJhbXNbJ2ZpbHRlciddKTsNCiRzbWFydHktPmFzc2lnbignZ2JwYWdlJywgJHBhcmFtc1snZ2JwYWdlJ10pOw0KLyoNCiRzbWFydHktPmFzc2lnbignYWN0aXZlZmFsc2VsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGl0ZW0nLCAkcmV0dXJuaWQsDQoJCQkJICAgICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsIGxhbmcoJ2FjdGl2ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksDQoJCQkJICAgIGFycmF5ICgnZ2Jvb2tpZCcgPT4gJGdib29rX2lkLCAnZW50cnlpZCcgPT4gJ1FRJywgJ21vZGUnPT4nc3dpdGNoYWN0aXZlJywgJ2ZpbHRlcic9PiRwYXJhbXNbJ2ZpbHRlciddLCAnZ2JwYWdlJz0+JHBhcmFtc1snZ2JwYWdlJ10pKSk7DQokc21hcnR5LT5hc3NpZ24oJ2FjdGl2ZXRydWVsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGl0ZW0nLCAkcmV0dXJuaWQsDQoJCQkJICAgICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCBsYW5nKCdpbmFjdGl2ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksDQoJCQkJICAgIGFycmF5ICgnZ2Jvb2tpZCcgPT4gJGdib29rX2lkLCAnZW50cnlpZCcgPT4gJ1FRJywgJ21vZGUnPT4nc3dpdGNoYWN0aXZlJywgJ2ZpbHRlcic9PiRwYXJhbXNbJ2ZpbHRlciddLCAnZ2JwYWdlJz0+JHBhcmFtc1snZ2JwYWdlJ10pKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VkaXRpY29uJywgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgbGFuZyAoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpKTsNCiRzbWFydHktPmFzc2lnbignZWRpdHVybCcsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRpdGVtJywgJHJldHVybmlkLA0KCQkJCSAgICBsYW5nICgnZWRpdCcpLA0KCQkJCSAgICBhcnJheSAoJ2dib29raWQnID0+ICRnYm9va19pZCwgJ2VudHJ5aWQnID0+ICdRUScsICdtb2RlJz0+J2VkaXQnLCAnZmlsdGVyJz0+JHBhcmFtc1snZmlsdGVyJ10sICdnYnBhZ2UnPT4kcGFyYW1zWydnYnBhZ2UnXSksICcnLCB0cnVlKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RlbGV0ZWxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0aXRlbScsICRyZXR1cm5pZCwNCgkJCQkJICAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsIGxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCQkgIGFycmF5ICgnZ2Jvb2tpZCcgPT4gJGdib29rX2lkLCAnZW50cnlpZCcgPT4gJ1FRJywgJ21vZGUnPT4nZGVsZXRlJywgJ2ZpbHRlcic9PiRwYXJhbXNbJ2ZpbHRlciddLCAnZ2JwYWdlJz0+JHBhcmFtc1snZ2JwYWdlJ10pLCAkdGhpcy0+TGFuZyAoJ2FyZXlvdXN1cmUnKSkpOw0KKi8NCiRzbWFydHktPmFzc2lnbignbXVsdGlzZWxlY3QnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdtdWx0aXNlbGVjdFtRUV0nLCAxKSk7DQoNCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnbXVsdGlhY3Rpb24nLCAkcmV0dXJuaWQsICdwb3N0JywgJycsIGZhbHNlLCAnJywgYXJyYXkoJ2dib29raWQnID0+ICRnYm9va19pZCwgJ2ZpbHRlcicgPT4gJHBhcmFtc1snZmlsdGVyJ10pKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KJG11bHRpYWN0aW9ubGlzdCA9IGFycmF5KGxhbmcoJ2RlbGV0ZScpID0+ICdkZWxldGUnLCBsYW5nKCdhY3RpdmUnKSA9PiAnYWN0aXZlJywgbGFuZygnaW5hY3RpdmUnKSA9PiAnaW5hY3RpdmUnKTsNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X211bHRpYWN0aW9uJywgbGFuZygnc2VsZWN0ZWRpdGVtcycpKTsNCiRzbWFydHktPmFzc2lnbignbXVsdGlhY3Rpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdtdWx0aWFjdGlvbicsICRtdWx0aWFjdGlvbmxpc3QsIC0xKSAuICcgJyAuICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdtdWx0aWFjdGlvbnN1Ym1pdCcsIGxhbmcoJ2FwcGx5JyksICcnLCAnJywgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmVtdWx0aScpKSApOw0KDQovKg0KJGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0aXRlbScsIDAsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGl0ZW0nKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCJhZGRpdGVtIiksIGFycmF5KCJtb2RlIj0+ImFkZCIpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJGxpbmspOw0KKi8NCg0KLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlDQokc21hcnR5LT5kaXNwbGF5KCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdhZG1pbml0ZW1zLnRwbCcpKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_optionstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAndXBkYXRlb3B0aW9ucycsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQgKCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX2N1c3RvbV9tb2R1bGVuYW1lJywgJHRoaXMtPkxhbmcoJ3RpdGxlX2N1c3RvbV9tb2R1bGVuYW1lJykpOwkNCiRzbWFydHktPmFzc2lnbignaGVscF9jdXN0b21fbW9kdWxlbmFtZScsICR0aGlzLT5MYW5nKCdoZWxwX2N1c3RvbV9tb2R1bGVuYW1lJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jdXN0b21fbW9kdWxlbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9jdXN0b21fbW9kdWxlbmFtZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1c3RvbV9tb2R1bGVuYW1lJywnJyksNTAsMjU1KSk7DQoNCiRzbWFydHktPmFzc2lnbigndGl0bGVfYWRtaW5fc2VjdGlvbicsICR0aGlzLT5MYW5nKCd0aXRsZV9hZG1pbl9zZWN0aW9uJykpOwkNCiRzbWFydHktPmFzc2lnbignaGVscF9hZG1pbl9zZWN0aW9uJywgJHRoaXMtPkxhbmcoJ2hlbHBfYWRtaW5fc2VjdGlvbicpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWRtaW5fc2VjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X2FkbWluX3NlY3Rpb24nLA0KCQkJCWFycmF5KGxhbmcoJ21haW4nKSA9PiAnbWFpbicsDQoJCQkJCQkJbGFuZygnY29udGVudCcpID0+ICdjb250ZW50JywNCgkJCQkJCQlsYW5nKCdsYXlvdXQnKSA9PiAnbGF5b3V0JywNCgkJCQkJCQlsYW5nKCd1c2Vyc2dyb3VwcycpID0+ICd1c2Vyc2dyb3VwcycsDQoJCQkJCQkJbGFuZygnZXh0ZW5zaW9ucycpID0+ICdleHRlbnNpb25zJywNCgkJCQkJCQlsYW5nKCdteXByZWZzJykgPT4gJ215cHJlZnMnKSwNCgkJCQktMSwNCgkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fc2VjdGlvbicsICdjb250ZW50JykNCikpOw0KDQokdXNlcnNsaXN0ID0gR2Jvb2tfdXRpbHM6OkdldFVzZXJzKCk7DQokc2VsZWN0ZWR1c2VycyA9IChhcnJheSl1bnNlcmlhbGl6ZSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VuZF9ub3RpZmljYXRpb25zX3RvJywgJ3M6MDoiIjsnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3NlbmRfbm90aWZpY2F0aW9uc190bycsICR0aGlzLT5MYW5nKCdzZW5kX25vdGlmaWNhdGlvbnNfdG8nKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlbmRfbm90aWZpY2F0aW9uc190bycsICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAnc2VuZF9ub3RpZmljYXRpb25zX3RvW10nLCAkdXNlcnNsaXN0LCAkc2VsZWN0ZWR1c2VycywgNikpOw0KDQokc21hcnR5LT5hc3NpZ24oJ21heF9zcGFtcmF0ZV9hY3RpdmUnLCAkdGhpcy0+TGFuZygnbWF4X3NwYW1yYXRlX2FjdGl2ZScpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfbWF4X3NwYW1yYXRlX2FjdGl2ZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbWF4X3NwYW1yYXRlX2FjdGl2ZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfc3BhbXJhdGVfYWN0aXZlJywgMC42KSw1LDUpIC4gJyAnIC4gJHRoaXMtPkxhbmcoJ21heF9zcGFtcmF0ZV9hY3RpdmVfaGVscCcpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdtYXhfc3BhbXJhdGVfbm90aWZ5JywgJHRoaXMtPkxhbmcoJ21heF9zcGFtcmF0ZV9ub3RpZnknKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21heF9zcGFtcmF0ZV9ub3RpZnknLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ21heF9zcGFtcmF0ZV9ub3RpZnknLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X3NwYW1yYXRlX25vdGlmeScsIDAuOSksNSw1KSAuICcgJyAuICR0aGlzLT5MYW5nKCdtYXhfc3BhbXJhdGVfbm90aWZ5X2hlbHAnKSk7DQoNCiRzbWFydHktPmFzc2lnbignbWF4X3NwYW1yYXRlX3NhdmUnLCAkdGhpcy0+TGFuZygnbWF4X3NwYW1yYXRlX3NhdmUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21heF9zcGFtcmF0ZV9zYXZlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdtYXhfc3BhbXJhdGVfc2F2ZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfc3BhbXJhdGVfc2F2ZScsIDAuOSksNSw1KSAuICcgJyAuICR0aGlzLT5MYW5nKCdtYXhfc3BhbXJhdGVfc2F2ZV9oZWxwJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2JhZHdvcmRzJywgJHRoaXMtPkxhbmcoJ2JhZHdvcmRzJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9iYWR3b3JkcycsICR0aGlzLT4JQ3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdiYWR3b3JkcycsICcnKSwgJ2JhZHdvcmRzJywgJycsICcnLCAnJywgJycsIDgwLCA1LCAnJywgJycgLCAnc3R5bGU9ImhlaWdodDoxMDBweDsiJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnb3B0aW9uc3N1Ym1pdGJ1dHRvbicsIGxhbmcoJ3N1Ym1pdCcpKSk7DQoNCi8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQ0KJHNtYXJ0eS0+ZGlzcGxheSgkdGhpcy0+R2V0VGVtcGxhdGVSZXNvdXJjZSgnYWRtaW5vcHRpb25zLnRwbCcpKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_smileystab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCiRpbWFnZXMgPSBnbG9iKGNtc19qb2luX3BhdGgoJHRoaXMtPkdldE1vZHVsZVBhdGgoKSwgJ3NtaWxleXMnLCAnKi57anBnLEpQRyxwbmcsUE5HfScpLCBHTE9CX0JSQUNFKTsNCiRpbWFnZXMgPSBzdHJfcmVwbGFjZSgkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9zbWlsZXlzLycsICcnLCAkaW1hZ2VzKTsNCg0KJGl0ZW1zID0gR2Jvb2tfdXRpbHM6OkdldFNtaWxleXMoZmFsc2UpOw0KDQokaXRlbWFycmF5ID0gYXJyYXkoKTsNCiRpID0gMDsNCmZvcmVhY2ggKCRpdGVtcyBhcyAkaXRlbSkNCnsNCgkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7DQoNCgkkb25lcm93LT5zbWlsZXlfaWQgPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnc21pbGV5X2lkW10nLCAkaXRlbVsnc21pbGV5X2lkJ10pOw0KCSRvbmVyb3ctPnNtaWxleV9maWxlID0gJGl0ZW1bJ3NtaWxleV9maWxlJ107DQoJJG9uZXJvdy0+c21pbGV5X3BhdGggPSAkaXRlbVsnc21pbGV5X3BhdGgnXTsNCgkkb25lcm93LT5zbWlsZXlfY29kZSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3NtaWxleV9jb2RlW10nLCAkaXRlbVsnc21pbGV5X2NvZGUnXSwgNiApOw0KCSRvbmVyb3ctPmFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2FjdGl2ZVsnIC4gJGl0ZW1bJ3NtaWxleV9pZCddIC4gJ10nLCAxLCAkaXRlbVsnYWN0aXZlJ10pOw0KCSRvbmVyb3ctPnNvcnQgPSAkaXRlbVsnc29ydCddOw0KCWlmICggJGkgPiAwICkNCgl7DQoJCSRvbmVyb3ctPm1vdmV1cCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRzbWlsZXlzJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYnLCBsYW5nKCd1cCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdzbWlsZXlpZCcgPT4gJGl0ZW1bJ3NtaWxleV9pZCddLCAnbW9kZScgPT4gJ21vdmV1cCcpKTsNCgl9DQoJZWxzZQ0KCXsNCgkJJG9uZXJvdy0+bW92ZXVwID0gJyc7DQoJfQ0KDQoJaWYgKCAkaSA8IGNvdW50KCRpdGVtcykgLSAxICYmIGNvdW50KCRpdGVtcykgPiAxICkNCgl7DQoJCSRvbmVyb3ctPm1vdmVkb3duID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHNtaWxleXMnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZicsIGxhbmcoJ2Rvd24nKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnc21pbGV5aWQnID0+ICRpdGVtWydzbWlsZXlfaWQnXSwgJ21vZGUnID0+ICdtb3ZlZG93bicpKTsNCgl9DQoJZWxzZQ0KCXsNCgkJJG9uZXJvdy0+bW92ZWRvd24gPSAnJzsNCgl9DQoJJG9uZXJvdy0+ZGVsZXRlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHNtaWxleXMnLCAkcmV0dXJuaWQsDQoJCQkJCSAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCQkgIGFycmF5ICgnc21pbGV5aWQnID0+ICRpdGVtWydzbWlsZXlfaWQnXSwgJ21vZGUnID0+ICdkZWxldGUnKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7DQoJYXJyYXlfcHVzaCgkaXRlbWFycmF5LCAkb25lcm93KTsNCgkkaSsrOw0KfQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJGl0ZW1hcnJheSk7DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdlZGl0c21pbGV5cycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgYXJyYXkoJ21vZGUnID0+ICdzYXZlc21pbGV5cycpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzbWlsZXknLCAkdGhpcy0+TGFuZygnc21pbGV5JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdjb2RlJywgbGFuZygnY29kZScpKTsNCiRzbWFydHktPmFzc2lnbignYWN0aXZlJywgbGFuZygnYWN0aXZlJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hZGRzbWlsZXknLCAkdGhpcy0+TGFuZygnYWRkc21pbGV5JykpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZGRzbWlsZXknLCAkdGhpcy0+Q3JlYXRlSW5wdXRGaWxlICgkaWQsICdhZGRzbWlsZXknLCAnJywgMzApKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcgKCdjYW5jZWwnKSkpOw0KDQovLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUNCiRzbWFydHktPmRpc3BsYXkoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ2FkbWluc21pbGV5cy50cGwnKSk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_templatestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCiRmYWxzZWltYWdlMSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCBsYW5nKCdzZXR0cnVlJyksJycsJycsJ3N5c3RlbWljb24nKTsNCiR0cnVlaW1hZ2UxID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgbGFuZygnZGVmYXVsdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7DQoNCiRhbGx0ZW1wbGF0ZXMgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygpOw0KDQokcm93YXJyYXkgPSBhcnJheSgpOw0KJHJvd2NsYXNzID0gJ3JvdzEnOw0KDQpmb3JlYWNoKCAkYWxsdGVtcGxhdGVzIGFzICRvbmV0ZW1wbGF0ZSApDQp7DQoJJHRwbCA9ICRvbmV0ZW1wbGF0ZTsNCglsaXN0KCR0cGxfdHlwZSwgJHRwbF9uYW1lKSA9IGV4cGxvZGUoJ190cGxfJywgJG9uZXRlbXBsYXRlLCAyKTsNCgkkcm93ID0gbmV3IFN0ZENsYXNzKCk7DQoJJHJvdy0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJHRwbF9uYW1lLCBhcnJheSgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2VkaXQnKSk7DQoJJHJvdy0+dHlwZSA9ICR0aGlzLT5MYW5nKCR0cGxfdHlwZSAuICdfdHBsJyk7DQoJJHJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7DQoNCgkkZGVmYXVsdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0XycgLiAkdHBsX3R5cGUgLiAnX3RlbXBsYXRlJykgPT0gJHRwbCA/IHRydWUgOiBmYWxzZTsNCglpZiggJGRlZmF1bHQgKQ0KCXsNCgkJJHJvdy0+ZGVmYXVsdCA9ICR0cnVlaW1hZ2UxOw0KCQkkcm93LT5kZWxldGVsaW5rID0gJyZuYnNwOyc7DQoJfQ0KCWVsc2UNCgl7DQoJCSRyb3ctPmRlZmF1bHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsDQoJCQkJICAgICAgICRmYWxzZWltYWdlMSwNCgkJCQkgICAgICAgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9Pidzd2l0Y2hkZWZhdWx0JykpOw0KCQkkcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJCQkgICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgbGFuZyAoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksDQoJCQkJCSAgYXJyYXkgKCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nZGVsZXRlJyksICR0aGlzLT5MYW5nICgnYXJleW91c3VyZScpKTsNCgl9DQoNCgkkcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwNCgkJCQkgICAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgbGFuZyAoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLA0KCQkJCSAgICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidlZGl0JykpOw0KCQ0KCSRyb3ctPmNvcHlsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLA0KCQkJCSAgICAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCBsYW5nICgnY29weScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksDQoJCQkJICAgIGFycmF5ICgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2NvcHknKSk7DQoNCglhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOw0KCSgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzID0gInJvdzIiIDogJHJvd2NsYXNzID0gInJvdzEiKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRyb3dhcnJheSApOw0KJHNtYXJ0eS0+YXNzaWduKCduYW1lcHJvbXB0JywgbGFuZygnbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbigndHlwZXByb21wdCcsIGxhbmcoJ3R5cGUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRwcm9tcHQnLCBsYW5nKCdkZWZhdWx0JykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ25ld3RlbXBsYXRlbGluaycsDQoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsDQoJCQkgICAgICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgbGFuZygnYWRkdGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLA0KCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcsICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAnZGVmYXVsdF90ZW1wbGF0ZV9jb250ZW50cycpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykuJyAnLg0KDQoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsDQoJCQkgICAgIGxhbmcoJ2FkZHRlbXBsYXRlJyksDQoJCQkgICAgIGFycmF5KCdtb2RlJyA9PiAnYWRkJywgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICdkZWZhdWx0X3RlbXBsYXRlX2NvbnRlbnRzJykpKTsNCg0KJHNtYXJ0eS0+ZGlzcGxheSgkdGhpcy0+R2V0VGVtcGxhdGVSZXNvdXJjZSgnYWRtaW50ZW1wbGF0ZXMudHBsJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/Gbook.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMgVmVyc2lvbjogMi4zCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2dib29rLwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgpjbGFzcyBHYm9vayBleHRlbmRzIENNU01vZHVsZQp7CiAgCglmdW5jdGlvbiBHZXROYW1lKCkKCXsKCQlyZXR1cm4gJ0dib29rJzsKCX0KCglmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7Cgl9CgoJZnVuY3Rpb24gR2V0VmVyc2lvbigpCgl7CgkJcmV0dXJuICcyLjMuMSc7Cgl9CgoJZnVuY3Rpb24gR2V0SGVscCgpCgl7CiAgICAkaGVscHR4dCA9ICR0aGlzLT5MYW5nKCdoZWxwJykgLiAnPGZvcm0gYWN0aW9uPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNtZCIgdmFsdWU9Il9kb25hdGlvbnMiPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJ1c2luZXNzIiB2YWx1ZT0iam9zdmRAbGl2ZS5ubCI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXRlbV9uYW1lIiB2YWx1ZT0iSm9zIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpdGVtX251bWJlciIgdmFsdWU9IkNNU21zIEdib29rIE1vZHVsZSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY3VycmVuY3lfY29kZSIgdmFsdWU9IkVVUiI+PGlucHV0IHR5cGU9ImltYWdlIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVDQ19MRy5naWYiIGJvcmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lISI+PGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL25sX05ML2kvc2NyL3BpeGVsLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9mb3JtPjxiciAvPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEyLTIwMTMsIEpvcyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmpvc3ZkQGxpdmUubmwiPmpvc3ZkQGxpdmUubmw8L2E+Jmd0Oy4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2UgdjM8L2E+LiBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gWW91IG1heSBvbmx5IHVzZSB0aGlzIHNvZnR3YXJlIHdoZW4gdGhlcmUgaXMgYSBjbGVhciBhbmQgb2J2aW91cyBpbmRpY2F0aW9uIGluIHRoZSBhZG1pbiBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlLjwvcD4KJzsKCQlyZXR1cm4gJGhlbHB0eHQ7Cgl9CgoJZnVuY3Rpb24gR2V0QXV0aG9yKCkKCXsKCQlyZXR1cm4gJ0pvcyc7Cgl9CgoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQoJewoJCXJldHVybiAnam9zdmRAbGl2ZS5ubCc7Cgl9CgoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKCXsKCQlyZXR1cm4gZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9jaGFuZ2Vsb2cuaW5jJyk7Cgl9CgoJZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQoJewoJCXJldHVybiB0cnVlOwoJfQoKCWZ1bmN0aW9uIEhhc0FkbWluKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQoJewoJCXJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fc2VjdGlvbicsICdjb250ZW50Jyk7Cgl9CgoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwoJfQoKCWZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCgl7CgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0dib29rOiBVc2UnKTsKCX0KICAKCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCgl7CgkJcmV0dXJuIGFycmF5KCk7Cgl9CgoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQoJewoJCXJldHVybiAiMi4yIjsKCX0KCglmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQoJewoJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoJCSR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKCgkJLy8kdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tHZ11ib29rXC8oP1A8YWxpYXM+WzAtOV0rKS0oP1A8Z2JwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnKSk7CgkJLy8kdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tHZ11ib29rXC8oP1A8ZW50cnlpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JykpOwoKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZ2Jvb2tpZCcsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZW50cnlpZCcsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc21pbGV5aWQnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2dicGFnZScsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWxpYXMnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoJCQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd0b2tlbicsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbmFtZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZW1haWwnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3dlYnNpdGUnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RpdGxlJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdtZXNzYWdlJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdyYXRpbmcnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vdGlmeScsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VibWl0JyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXB0Y2hhX2lucHV0JyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd2YWxpZGF0ZScsQ0xFQU5fU1RSSU5HKTsKCX0KCglmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKCXsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhY3Rpb24nLCAnZGVmYXVsdCcsICR0aGlzLT5MYW5nKCdoZWxwX2FjdGlvbicpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhbGlhcycsICcnLCAkdGhpcy0+TGFuZygnaGVscF9hbGlhcycpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdlbnRyeWlkJywnLTEnLCR0aGlzLT5MYW5nKCdoZWxwX2VudHJ5aWQnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3RlbXBsYXRlJykpOwoJfQoKCWZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpCgl7CgkgICR0aGlzLT5TZXRQYXJhbWV0ZXJzKCk7Cgl9CgoJZnVuY3Rpb24gQWxsb3dTbWFydHlDYWNoaW5nKCkKCXsKCQlyZXR1cm4gVFJVRTsKCX0KCglmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkKCXsKCQlyZXR1cm4gVFJVRTsKCX0KCglmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkKCXsKCQlyZXR1cm4gVFJVRTsKCX0KCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJykpOwoJfQogIAoJZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbigkZXZlbnRuYW1lKQoJewoJCXJldHVybjsgLy8gJHRoaXMtPmxhbmcoJ2V2ZW50ZGVzY18nIC4gJGV2ZW50bmFtZSk7Cgl9CgoJZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCRldmVudG5hbWUpCgl7CgkJcmV0dXJuOyAvLyAkdGhpcy0+bGFuZygnZXZlbnRoZWxwXycgLiAkZXZlbnRuYW1lKTsKCX0KCQoJZnVuY3Rpb24gU2VhcmNoUmVzdWx0KCRyZXR1cm5pZCwgJGVudHJ5X2lkLCAkYXR0ciA9ICcnKQoJewoJCSRyZXN1bHQgPSBhcnJheSgpOwoKCQlpZiAoJGF0dHIgPT0gJ2VudHJ5JykKCQl7CgkJCSRlbnRyeSA9IEdib29rX3V0aWxzOjpHZXRFbnRyeSgkZW50cnlfaWQpOwoJCQlpZiAoICRlbnRyeSApCgkJCXsKCQkJCS8vMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLgoJCQkJJHJlc3VsdFswXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsKCgkJCQkvLzEgcG9zaXRpb24gaXMgdGhlIHRpdGxlCgkJCQkkcmVzdWx0WzFdID0gdHJpbSh0cmltKCRlbnRyeS0+dGl0bGUgLiAnIC8gJyAuICRlbnRyeS0+bmFtZSksJy8nKTsKCgkJCQkvLzIgcG9zaXRpb24gaXMgdGhlIFVSTCB0byB0aGUgdGl0bGUuCgkJCQkkcHJldHR5dXJsID0gJyc7IC8vJ2dib29rLycgLiAkZW50cnlfaWQgLiAnLycgLiAkcmV0dXJuaWQ7CgkJCQkkcmVzdWx0WzJdID0gJHRoaXMtPkNyZWF0ZUxpbmsoJ2NudG50MDEnLCAnZGV0YWlsJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ2VudHJ5aWQnID0+ICRlbnRyeV9pZCkgLCcnLCB0cnVlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoJCQl9CgkJfQoJCXJldHVybiAkcmVzdWx0OwoJfQoKCWZ1bmN0aW9uIFNlYXJjaFJlaW5kZXgoJiRtb2R1bGUpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsKCQkkcXVlcnkgPSAiU0VMRUNUCgkJCQkJCQkJZS5lbnRyeV9pZCwgZS5uYW1lLCBlLnRpdGxlLCBlLm1lc3NhZ2UKCQkJCQkJCUZST00KCQkJCQkJCQkiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19lbnRyaWVzIGUsCgkJCQkJCQkJIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2sgZwoJCQkJCQkJV0hFUkUKCQkJCQkJCQllLmdib29rX2lkID0gZy5nYm9va19pZAoJCQkJCQkJCUFORCBlLmFjdGl2ZT0xCgkJCQkJCQkJQU5EIGcuYWN0aXZlPTEiOwoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQlpZiAoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKQoJCXsKCQkJd2hpbGUgKCAkcm93PSRyZXN1bHQtPkZldGNoUm93KCkgKQoJCQl7CgkJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkcm93WydlbnRyeV9pZCddLCAnZW50cnknLCAkcm93Wyd0aXRsZSddIC4gJyAnIC4gJHJvd1snbWVzc2FnZSddKTsKCQkJfQoJCX0KCQlpZiAoICEkcmVzdWx0ICkKCQl7CgkJCWVjaG8gJ0VSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpOwoJCQlleGl0KCk7CgkJfQoJfQovKgoJcHVibGljIGZ1bmN0aW9uIENyZWF0ZVN0YXRpY1JvdXRlcygpCgl7CgkJJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvW0dnXWJvb2tcLyg/UDxhbGlhcz5bMC05XSspLSg/UDxnYnBhZ2U+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsICR0aGlzLT5HZXROYW1lKCkpOwoJCWNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7CgkJJHJvdXRlID0gbmV3IENtc1JvdXRlKCcvW0dnXWJvb2tcLyg/UDxlbnRyeWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCAkdGhpcy0+R2V0TmFtZSgpKTsKCQljbXNfcm91dGVfbWFuYWdlcjo6YWRkX3N0YXRpYygkcm91dGUpOwoJfQoqLwp9IC8vZW5kIGNsYXNzCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/check.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAWNSURBVHjarFZpTFRXFD5vNmaAYXcYjCwlYklYXBpSTWqC1Fa6ILWWqtVYKy4VxZpWSdOksaaFQOiPptUORkTFKhQtsaCIUbEaqLQqUBEkylagjIA4wzCsbzk9d/pIxkmMUXqTLy+5957vu2e793Hw/wyFDJUMpTwvEXiCoJimACcLMGINQbdy5UpDb2/v3uHh4Z+rq6uX0Jybk/C0RJiAJyEgNzd30eDgYCUvTmL/cDeKomjL2JOxgNY8VNMQ4eQwsRPrKisrl8bHx2cJ3Fjo/ms7QZAE2J1wyNMYZAyj9dbp5IR5oicY6urqPpUkabJjsAkzzizDmCzAnEupyObmzp0bR3u8Fc/pDYu5mqAlkXXz58/PbTRXq3+4uhNCfCMhyFsL/h4z2F6xpaWFea1QTEekuLj45djY2C/v999SZF/8EF7wj4bhSQuMTI6DXusPKKIkew6K50i+Iy+pqalBSUlJXz8aM/vkXNoIM73CYXTSBtfbz4Eksc3cY7aKp5TsFBQuZazNzs7OUmq4ed/9tg1EiQeNSgu/d5TB0PggSAhgGesHTsmpvby8OFePnAXUMqGb/NU4zWmbm5u3BQQEJBX+sQ/qu6vAW2eAhn+ugmV0EBTEgiR019wAHMepv9q7740pIc419gR31htFRUUxWVlZwax85XldXl5eTEREROqt7ktQ3nQQQvwiofVhA+XFDkpiE6X/Mq/TqEGAUQieFWwkOwSncDByH4KxrKws2Wq1XhYEYWBiYqLt8OHDrMNn0ZjN5u3jVtx0KhpTCo244mgAxpsAXz3I4eIfAZOP+GFlSz6y0dfXPxQaGvom2fqCHB7WDzNycnIWdnZ2HqD65832NixqysQOayPa7fYbtD6HmnIjIyho+ALfOqnBNb8Y8fWfABNPKHBJIeDm8ijsHLqNEnVrcVHJ1bCwsM3MTnYAvAiBrOnGx8dbRUnEqu5C3HUtDhefAixo3sO4hdrrtRkkeKt9qB7XXQjE1RU+uOKsBpPLVZj4K2DalWjsGm527F27dm0+cS4jvESY6Qh7aWkpu59KJZSwbaQO9915DT+rW4BV5qOY35qOG2oDsGv0DlIYHwmiMLr/3kZcVa3FNTXu+H41CV0D3E37ByY72U0wkZKSkkfE8YQoFiU5t0rOYrEcoRJMqbId8jjWuxtGRDv4qwNgptscCHaLpuSKEKtPhEXe74GVN4Op5yNon7gJY5IdeJyAcO0C2BVSDP5SuC353eWmioqK80RsJvQTRtntwJ4LFYWr293d3brQK8nDxj2AqhETWKU+6IBB6IO7EOWeACqNgnaLYJaagfewgaQZASUKEKgKh/TA4+A9EmpLSnnbRDk8R6R9hAeEMVmEVRwqy8vLGw0Gw42+bptxecymsGiPBG5AdQ9sbj2gcEOwKLvAwnWBjWxviiXQrqwBpRsHnlpvSPM7AWFcHK7+YFUB8ZyRBfpcRaYalZW1r1qtnp2ZmbmH5/mBMRzCInEnbuU1mMa743beEz+Z9KOvB+7g9fgxr8Yr4gFHCa9fv75AzskcubDUTv352FDJCXNUX1BQUML9e631jOSs9A2mCSQkkICgx3TBC7cIKjwubnGInCo5fZkOmEh2kXKvPFHE+Uaeein9fX195/1V33iakVVJ+2UxT9wqqDFTjMMxfIh/t/X0GI3GDbQ/ltnI9k8Ucb3n1E6hDKupqTnGxCqlbx2e7CCPmvACa8jRyBcjP5f7xOj0X8A9y1Ogku82Jhb6Z+2Nk0zspJhO2O4IGd3cJbT+CiFEPtgzibiGkuXNR6/XR7Teb6tCHHeInD9feVun071DaxFyXlXPI+LqGRPzNgQaoi5UXDx24HuTSaPRLJW73v9pyXclfJpnU8+H8zMyQbDJP4eP9cqTxr8CDACR/rFbeX5b3QAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/default_smileys/cool.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAPhSURBVHjabFRraBxVFP5m7szu7Oxk1zx2N1ljGsnGxsaEbEQJJmCR/BDjIwqxPwR/iI1UKFQq/hARfCAF6wP6T9RIaUWRQoLUB4oKpiXRtkmzmO42MYlrTLKb7G52Zmcf2cyMZ9INtKEDH3O5555v5pzzfZezLAt7H47jeHoxAl+B/ZgVGJRj7s0RKOkWDnvv5HG+r77WPCowdDMeTXbAMBHfNnBlLcWfopxx2tomWDcn3rx2nX6XO+nxsBfb7u8QA6F74PXt8CC7Hkdi/jqilyNlVTU+ff4N61XaLuyS7RJxj/ai9oVB7pdgk78j/NgAJKEMo7gOq5y7cUBUwCQfitsipr47j5V4MvL5qPXIDxeQsslYhcj55hH2lauuoc8TOogtbQHr/y5jdVlFfVAEx1uYi2awvLgGw9BRkruQWk8F7g3m20d/tc7ZlXOMsWNOEa9RSxu6wwH4areh5cqYnNTAU/+eeboGDpHD6Fga2ZyJ7rAMv1+CnpdwdWoFm5q1aRj4jPE8308FPv7hB+9zWk5CNKYjq7rhq6uDoniRWE9B1QzE5kv4YmQESlULJv9YgaqKCHd3YnFhkRHRAg2A627dxyYdSlDIZAwUCgUiUCAKFtTNJM6cuRuhkBO9vdfgrgrQ9Biy2SxkWUZLiw9/zUTMjGq18aSJ/GA/4xOJNGpqtnHgADWV5egvNvDySx6EQzr4zRW8ddyJgr6KcimF9jYZDb4iIpEYBh5mJnGo9tSav/xInj/47CHGcVcRX8rB6yjAy+XgEg3YMisULRRLpExaUxn4O26i6U4R1fsfwsTYb+UnjuTrbdXqboHXGdMh8yX4zST+/CkNRaZRSgwOJ6O+CPB6GZXG8Pu4iVCzgECjB7xVggCm2eO3iYpbZWFWT8TglqsQDAo0NeDtdwpYipNPxBtkawkOJ04UoelAA0lCqQ+SSJPQCmzWVrlNtHXpGkbi0f8sOBvBXB4cHlbgVng8+VQG7fdt7MBeSy4OwxSzz1iORsRjq9blKE7bHFzFlP5zH/vGWsN3PNjR1wUzNU0hHdNTW5iYKO0otqfHia6wA3C4wdd2ITI+jdiVzOTQKxuDFE7uWsQZapY7T72ufBMIKfvaHuiEi2VgkUVQzFZOeMC5/CgY1YhdimBtTvvn6Hu5ofml/AxFS7sWMdOb5ezZb/Ufe/aLd+VTyy2WIPFMaYTk7wRHItTyDvJXBrMXZ43oTOn7oWPJw5Rz3e7xbd1PqB8+VDvQ3yM+V1dttloSanaCRaQ3MvzczxPls598nTpPW2u3c/8t9xHBQ7AJvASpErO/bNeZJqh776P/BRgAJu6TlyrFjgUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/cry.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAPMSURBVHjajFRrTFtlGH7OOS200AultrRAYTYMsK6MAVtqVhHnTMi2H0sWdYmLicZMI+oPx0WMJosx/thwP1z44UKcmZvLpiH+GcHsoiRlQxxsaxPWDUtHYRVoe6AtvdDb8fuO3TLrH7/kyXnzXp7zft97YQRBQOFhGIYlH46AzYOeXB5ZEpMrjJGQoH9xUN3AEdZu0OY+kHBo4VjUUEM2B18mi+mlEHuSxDiIKkMgPBn4pCw/8wUzoFJxbze2WqUVdfVQ60QehAM+LP95H+4pVzoSyQ698anQTdSJR2SPiJjOndC+tZ+5Vlmjt27bsxcySRpB/0OUKVOiQyRWjHJDJZIZKW6NXILft+L69mdh1+g4QpSMyxMVf/4+d95sMdlt+19FLjaLybFZOH5dQb1FTn4p4KfzC4jyQZhMWZhbdyO+5q+oUq8/M3xVGKY3Fx/0RI98T3UV95n9wEFmI+zExe/nIJEy2HdAi1IFC2kRYLGWYP5BAtfHAjCb46i1tsN/31nf3CD9/fL1jEdCiKRGnfBeg83KsAyPYlkCL+/TQKni4PXEYWkqFVOem4nD1q5ENFIChWqDVJZHg20LE15zdRHzFVraIkWJ0Kav2UzEFTBSAVqDBCe+XMDRXi8i62kRVKY6aqM+1JfGlMqFNspBM5KwUrasRKkjokcswsR4GOeGlsV63HE8RG4jBedUTIRtSwTPd5AsSavJqtvJE7AqyiER+480y+KqBouhX6CQTcIdncTASAckySHsMA2LVxv87QekEzrMLYxBn2pDnOuAPngUDCc2r9iNmtFvFN7eyKL6w+eAQwYzyeS/3V54zi578fUN4JjSxHe+G62jGWWiMcndvmeP2Q5uvYZskMX/OW9u7YQ8/CIi97gZykGjUjfv4vRIqBen74yClanI9TlEogz6P1nHrpd4EX0fr4s6aqM+1HeE78OUG2coB5MfSn3T8bW/zu7YDqu9GbnQbZwcWEJ5OYvW1iLE4gJczhR4PoeP+o1gtc1wOW7j0OQfcPaUGWkJxRFpOXJrU6V0vqvLfPiVijpFbeP2Jsi5VQjJAJAM53ufZCrXI5HV4N5NF5Zmo/ODc6d+9KdrB6e/2vaAvhFKq5rf8WWf7r6QGv/uhYmdukjgRmeNpZrTGjdBZdT/M2uhFYQ8y/DNuLNejzA6phoP+LS6bjWnplug//H024+nWhw9RW4iGg6/pt272yZ9/SlNbrMgQ7k41UnwwVV29spE+typC6FLRLVEYhpJzHThGnm8jwhok1ECNYEsb0vSbULA0wQL99HfAgwAXM9yp0SwrVYAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/embarassed.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAPMSURBVHjabFRtaFtVGH7Ouefmo02TNmmSdk2rdrbVblmn67RgURhjlk6hfg+EgeL84QcIU/+of0T/aPGH/hNRqI6hjKHIdMPPyjbnpN3WaE2bKU3bhSRNbpqk+Wruvcdzkha2sgPvvee873me85734xDOObYOQggVP0UI3RA5zA0xBMbcimECdAOH1I0fpcNtHvNlpuBuhaJLGgwTi7qB6XiafiQwZ4VKF8KvB14/t0+8Q8adTuW5O/YEVf/tvXB5azzIriwicXUe4alQNZczPjn8Jn9VqEubZJtEZOQ+eJ4dIz9v6/IF7xo9CBurIhW7huam9dqGXMEKd9s2lHUVl747hdhiMvTp13zf6XNISzJlg8j69kvK8e7+zuGhsSdhFiK4OBnB2V+S6O23iyM5ThxfQl5LobPTQPee/SiuxvwdrrU7T/7ET8qb1wL6wWv20UCH8tbwo4dIJTeDrz7/D0wleOgxDxodFKoF6A82ILpQwvnJFXR3F3HLzvsRi8z07u5T//jhvP6vzIja7uUv9N0bJNTMwErXceDBVoSmC3j3jQUQhdfkw/eW8evpVYyMtsJh0yH3SkzAx1+UHEx8LE0NGPS39YhAaCAiFn6rFUuha1hMlkBY/e7hSyUYeSZsTUBGKBo1SIzDPjMoOZjTYlEVxprtpBVY1oCkqwbct6sDkUwcenoFRqmMwV4VzpIH1XNVQa6Au5OwBZ3CFeaUHEzkjiiUgeeEu/EGICqCW9Xx8G4HjIAFeipbIz5yyAUl6gVJeGtrrhOQPIdCFSo5mMg/pwYprFfyTlulCl6gtcogonYpFblg9cTKuSx4wuuFTpgV5aK4uqGsSQ7GKNVzRSWc1ubv6fB5gGK6HhRPHsQhvLTUS03O4c1Lxvq6yw4tn0C2RP+RHEwrlytT4cbPvO3Rve0P3EqINS7cLuHMbzlMnNBwZbZUAw6Ienp8dB2PjMgE2GG2+7AwOc2n5/iE5JDH0QbG/F+87/6mZ6Bl786hAZhaSHTSmmhbcT+y0U5cbDWEN8wB6g7irwtXMHdZu3j49cxYUdcTMgC8aprVqTk+NbzDPJAvpppbbtsBi8MujjBEDCryNQCxO0FdAZQtAfz952XErmajR8cLzyS0yoJs4M0WMbXVavbYt4UzQ31qZzG9vJ0zG1UcAdh8u0CatiNftCC2lMHs77NGeKby/ROvJI8IzLzAlm/a/ULann/Kc3D/kPp0a4vZw21w14xlaKkMjfx4oXrs4y/Tp4QqfrPuv+E9EuIUIglkddo2bPJkWVSafAy2vkf/CzAAwVp+AJjJ1l0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/foot-in-mouth.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAO2SURBVHjadFRtaFtVGH7OuUlv0nzZxib9SFuXrh8ZW+nsRoPGIbJBtZsw58dAEATpD+30hw6kKsy65o9D0P0TcVAQkeoEsTJwimw63eYmdLNdm2RNE7e1zUebzyZN7j2ec21n7PDAc8857znPwznnfd5LGGPY3AghlHcSB12HaOo6FM5RN3N0nPQfDRE78Tr11dvVIzoJD0oULWJBUREpK7i6kKAnOednHipzsEpi5dg4dpycsFqll7p6d+hleytaO9q1xWggiNV4GDeuXCul08onL7zN3uDh1Q0xaUOk/2HY/a+S8y1ux0DfwUPS/LyCX38Mwe2KQclG8c2XUchWJ7wDj0illTu7+/vyT2byGA9GNbG7QvLIkPS5e1uzb2f/U/jq03OgLIX9B2tgMlPoqwDPdhnhQAyXzkXx2LP7Uc4vOptsWc/pH9hpcXPtQT84anzC1SS94zt0mEjlKTicCozVFLHFIpyNehDKcDOYh2wg6O41osaWRUOHD7dnJzt6OvUXv79QDum4kL6hjr3c6d1BKEmCkRzqXXq8NzyHTEbB2Nce7cgfvR+tmOcg9nZ6t5PUyrVXeOCsEKoyV7NdjhbxqEsg+n8SEY+tIZNW/ncu9gqOyTi5S2gIIR3V0/uqLXV8GLqb0S0dBqQTRZSXF6GsFtDcUEbWzJAPTIPKMk8PhcG1Bzo9tQoNneY/bhZVKWkzppagpNIYeZOBlSjKyWVNePSY/K9RSmucJYFwDpE082ofRhWSLayu8DTnsRaOQOFkwh1PuSMFLlxU8e7xotbvezyLpw/nkCubkc/muJiUERriROVMTjcdC//pbXWbuIMpxscLKBQYLBaCy5dLmJgoagfZu0+Gx6ODzUZgaWzE7cgi0nlpSmgIobXfp3GqrulWX0vXo2T2ZhSj/vim4gNqaynC8wzxBMPRYQd0pmZEZn5iV25gTGgIH7Ffrhb+OuAz7VGVVJO7twfnz8yhvU2HwUELZmZKyGYYhoYs6Nkpo8oo46EDXgT/uI7IbOHSa/7kCNfIbNSavPWB6u6Tw+Zx51Zza9fubhilZbBCDMHrCZ4Ihm+/UzA1reLYh31IRAJYCGTmj/izzwTD+UnOL5KKgjVxtJ3yO0a3tJH+lm0uyd7ghNXu0DakE0sITd1C+s6CMhdiZ14cXnpr3S85cat7qp+jfvA5+8Ber/75+2vUdmZArbZYQDK+TANnfyt99vEXiQkeWqisfoJ7nhUiAcJkQsDGYVhfK3CkOJLigJv/R38LMADAuYOfsx8KOgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/frown.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAN8SURBVHjadFRdaFxFFP5m5t7N3WSzu2my2zRJt9g0/SMRUksNuIhoqdJWyEv1QRAsWkq10Nr2rU8ifWkU0ZciEqFQxAeLIvVfUfxBoUkxSZPNT2kSmjQ/u9nkbvbmNvdnPHOzKU2IA+fOmXPO992ZOecMk1Ji/WCMcZoECS+JGn5JPML46zEagdZwKFvHOZ6urfZPawL7BEdKOTwf466H7qkc/4gwf5DJJZGPAh/Vw1ffZR3RqHh99xMt+uYdOxFLBDxYmB3H9MgQMl29jml6n7x6UZ4n89Iq2SoRe+EpVB9vZ7/UpZItrYePwNAcePYspLO4EqBHIIwEbFfHrW9uYHJ8prfzS/nsd38ip8hEiajsnbfEZ9v3bk23tb8EvjyCwZ67uH/PRG2dDsYlhjN5TIxOob7Ow7bW52DNT26ujy3uuf6zvK5OHlzm+xfCz8erQof3HXoRvvUv8Rfw4eUxvHdpFEz4gayulU/FqNhNNaGjl8+HDyoORaRvSchTu9qaGWdzdIYimCaRyzrIZpcDff1axahYhWlIyjcVh0afUKRc7k+mmkidobtYScRjOw0UTO9/1ypWYSrCPfsVhyLSuM7j5ZUJUu88zOjFjhRcswA3Pw1vycaF0xIeJdwaHgAvK6NdcRgNT0PTeVRxaEH9UbH4nhOspE/ZWjARys9Dd1y41sr/I2UqJaVEO8s0CTDCMBEUL1NEknts0V6aj4WZBXdmgiwSfX0urlyxMTziBURNOwROnjTQ0qwFa25EYS3SfXqiEHCoCi0UtYHZ0du0tQpw2t1vv3s4+3YRZkEinQ4FonRlUz5OJS/iW5CdnIZpiX7FoeiXbw7g00T9xJOp3c+wojNFu8jihx9roOtr2geOI9HZaeFAOoLKUAPGB3+VXRlcVRys1JTJLz5IfNXUGj/Q2NoMw+4jVxEbjlAFbKMZd271YbA7/8+xs9l2lUJRSpPTnUFXeq88ZNv5eNW2FoovpyukYvQeqNcAzIiBR1OwRQpDXb24P2SOnesovjY374ypo622iE+GhWtfF79v26VvtXL3GqVmcBFpgJF8HKyyEQUrRP2VR/9f/V6m58G3x87MvEGYIcLaG3Y/Se2Jl6uPHGzTX6mp8pukgU2B08ZcNs+Hf/rbufbx57kbZJraqPvXvEckqsgUQYzEKPnUnxdIqI9grn+P/hNgAIUjdgh9MhmxAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/innocent.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAPESURBVHjabFRdaFxFFP5m7s/e3fzsrtmfxE1uUuOmJc1fTVMTUgShhhahFrRNrfrQlyK+iU9aqRRRUHwQ9CkKAUFU0AeFUEGRRiRNpVsqoZs0NalZk6a7yW6S/bl7s7v3jjM3a9TaA9+duXPO+WbmnDOHMMZwvxBCKB8kDlqFELsKi/vY//MRn09PYy8fznDspZR0yDK8cgCG5GUB6kbYsSyRVWLQJM2qKbuixMu2NMUgTZ0ZW7/rEHGScT4O8YN9YZTJHf9+HKkPSqf39Xcr4Uc74A3qDs/WWgLJ3+cxd22mXFojP7jWFRWW2WNaymXTom9Lx7vwPLfL5CqYjAyS1/WO0FPDp05K4UgAMsvAyi/CNpahqgyBlj1o7X1MKmSXo5vSVuHrmGs46teIwoxx52ofPYtTHi/5WLFJ0BfworFdg8sD1EZqIKsUVCJwokZE/FyoGD6sTMewddcwiqa8ULRc78kimIbuLrkbWKDr6AlYG7NANouKbSO3nIfMCRRuJXMyyud8GZZWQN3AEOKTP7v/TNMLFz/Jfyf2UfQm9vKTx7tJXy/F/n4VP8VKeOXNe/jyqg3PQCOUA40Ym7Tx4sVNjF224OnyItLrw/AzPWRfG85hZy+otR52MKRH+TQFrZZgemoL3T0euDSCtnbVCfZ8vIBWnce3YuPhFu5GNqEoHbh9Zeag4BBEMlWoz1MX5NMFDoZIi4oL7+uoU0xUNpKwiibC/jLeOq/ArWzDTCxCBE1rfgKyQusFh+zUn0RhW2Xnj9lljD7nwtKvi2iLADU1OwX30qiMTKqEYJDyDJa4lwTCfYi0kwZBxKhF8mZx0+smBiqpFQx0smph/yP9/f/9p1o9jHyBk0k5wSGIKrmCPLv2x83B1kdqeKrprvHExDYuXdrmsSAYGVFx7JhrVyf5mrC+kETWkOKCQ3iVrs1iPDG3wpja7OxEqORgcEiDzQiMIsOhx7XddWEjbBO3VllsDp85D6j6KEPffBj8NnrAd6j7cB/s9A2uKuCBovJTN/Rh5pcbuHV94+rJV9dPiHRLTpqA8vU5xA53spFcLu3zt3Zze17axOYx2BbdAETzgtbrMCUdN6/8htX57NJrHxTOZjbLS+Jq5F9dQOSnffzd0Dt72slRvbNZamgKo74h5Bhk0ymkV5NIxJetOwvs+7NvpM5X60UcnZH7Woqbo/HcaMPTRwaVFwJ+O8o0POQoTWTWN+jtH6fLn499lZ7gS/c4itUbgTygP4lMiiITBF4OraozRTcRnUIcUFznbxIhfwkwAJVdWe6bdtgvAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/kiss.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAO/SURBVHjabFRdaFxFFP5m5t79/2kTd7Mx6SY2P5vYJiSxwYWGPhRBSawINbRYKSLWB6VEqD5YFLFoH6T0wbyJtFKNKCKI0lZrrShN8K+pzbZJTJoS13XdbLL/ye5Nd++9ztzdlTZ04OPOPed838ycc2aIruvYOAghlH8YB61ADK0ClXO0jRyJk+7SELYTR+iAr1Y7LDH0MQq/cKgawiUVk7EEHeWcy9xU4tDvJN45t555m5xwudjzHQ91yXWt7XB7DB1klsNYujmH2SuhYjarfnDwdf0Vbi5UxapC5LGdqH3uSXLpfr+3q3dwCBapiJk/bqGtpRwyv6Cjs2crlJKMq+fOIhqOh059qe/+ZhwJIVY9v+ngE+zD5k5/187hpzF67BK0wgK+Px8GlTQDYi5swidiROwzQ+yU4KKa0JOvWgcbG9gbA3v3EyjXsbKUQ+TvAigl2N5jA6E6Fm8piP2rwOUmCAQU1LcPIDo31d4TkH/5bqK0IHEhud6jvxgIdhFKkjj3VRjXruZw+Yc07E6Gfc96jC1/+lHMyEZvvxMmaxiDwz4EgttJJh16ibsvCiGTw6bv8Prb+DSOwadqDOzdvQqPVwaRy4UJbLMhGlnHmyebKtmIQ3Ds1qkdQkMISVSmm2xOsfLC/xX94scHoa3mUEotQS0oeOs14ZKRn58BNZt5eSgsjbsgydQlNCSj/3izaGrR+NO1ItRMlguksRa6DVtHuR75Wc2Yi7yheJuzGAjnEGY0L5GM0qlkVSmk3VaSRyn+D7foSE7ouPAuQfOBcm8vfkzw6FGKmv5yO1CLC/nVNS7GctXyl3Jr0szy4g2+NTso393UexSfHKFoXLEhc9qM7BkzGpbtGBuhmD7NeDswsE31WIkuIZtn00JDlJ9s9Vt0r2vtcf+2bkKKSfgeVpGIMtRFLOitbcAWyWXswr1HQ/8I4TlyAo4AQuPX9Z9+094Zv6JMCiF9fFKJ7Bmw79LUTIOvs4/nIIUHgkWgiSE2pyFrKcJ2qIDAfg0mpxPM04cbE9cQnlN+HTmePMY1ctUrYm5ttnWPHnV8XtfqaOro74aVpaAry4CSqUS4QKxeFNTN+PP3EGLzub8OH18dvrmYn+LedVZ9IpLpYmbs67VvgwF5Sz4RadElC2WORli83SDOFuTyJn6/UpiemFZnp9bPD78cP8Q5c5yr3PP2c/he2Fc79EhQPnDfZq1Nt6DGcCpIrqTo/MWfi2Pvf5Y4y02xe93+u94jDpFdIeDmsFR8YmVxziRHduN79J8AAwCXjXBGP5epbgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/laughing.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOuSURBVHjadJRbbFRFGMf/57aX7tLtdm+9bLfQOxsglIJuQkMaRSRUEl7UBxMTjfFBaIixGAN9gWhfWkyUJ43apIkxRG3kAUVijQl3U6i0QLe02O1S2r0XdruX7tlzhpnTrSlVT/I/Z+ab7/udb2a+GY4QgvUPx3E8/QhUfFHsUYtSaIy6PkakQc8wmK3/A769wqZ2iQJ2CDw8bEBRESwouBWK82dozGVqKlCRtYFr28bBj7n+0lLhnZa2rZKroQkWh8bBk2gQ4en78N8cl5NJ5as3e0g3NWdXYasgbv9u2N4+xP1e5XFubT3QCYMoQ8lFQeSlFQfJDMHgQK4gYfTn85gPRsa/+Ym8cOEK4gwmFEH6U0eE7+q8Ne2+Q6+Bz09jcmwGC3NJVFRJ4HiCKf8iHgVCqK5SUNv6IjKP513VlqXNQ8NkiM1cW8xPjxlfLrPqDuzYdxBq5jblp/B53yxO9wbACaqm1T4bYz7Mt9yue6Wv27iXMRhIqnSQ95p9WzieS9A5pMGJBPGYjFgsr7XX95kP82Uxbic5zBgifenMJWSn09NImxG6FisbsanJgFRS+d8+82UxJuPYTsZgIJGX+LKSDQ7afPDPjvb0e1BIplBYDEPJ5nCsi0ChG56ZmgCv19OseBjceyBKfCljiFr90WJRFRnxSB7RUBp28zLKxBQkuYBCZuX/Zj3bEkCWOfjHsrCWi6itlOn6acXLMRDhFW4pl31smRhZxLkfmuGq8rDqRjYdxQbTsgbKLusg6Z2aPTz/EPteCsLhpeupCCnGYKBCKi1ORAN3fbs7XBga/AMu90m0Pt+OmdmH8G5u0UCjo6NoaW7C5J2/8PedAXR0ttJaCiOZEe4xBksrPzKBgaD/EeGNNeg5WYHxa59BbzDSzNxo3rJdk6euERZrOS7+2If3P3RCNNUgOLlAbvoxyBisIMmVW7m5g+2mParypLqurQ3e+jC+OP01BKGSAksQC8/jxvA5/HL2CLo/0qHR58Pdq7cRvJ/782hv4hRlpFaPiL5hY8m2M8fN37sazLUtu7ZBhwQu/RrA5eEE7HYe25+zYldHLfIox+TIOEJTqdmu3qVXpwOZMRq/zK05sCaq+oFe5yeb6rn9Hq9bsFW6UGpzag7JeATxhTCC9+aUmQfkwlvHIyeK9ZJms/rX6aeqePd1W+den/SG3ao2EgNNgQ3mkIgt8lO/XZe//fJs/Dw1hf7r9D9zH1GxImMAC5WhOJZjtwlVgiW4/j56KsAA3dhy9qEkzAEAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/money-in-mouth.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAN5SURBVHjafJRfTFtVHMe/597TSy+FdoOUMWTV6FaKGUZwU5SpCckWtQbcCCMzhkwle3DOl8344qMPmxIf1CecSBZNnIuZmTKXmIzMTF2GzOAcVEXDCow/taX0H7e9vT2e35UmgMRf8k1//Z3f95N77v2dw4QQWB+MMUX+qFLKiigKK7Kkp7Dew6VpDYNqvceVPdWVhWNcRZOqwEcLVgHhvIUbc1Hlfem5Kkt5KbHauDrXz7zFet1utSfwUINjy3Y/PF6bg6VIGPMTvyM0ctNMJKzT3W+KE7K8XIQVQeypFlS+9By7XOOramh8JggnN2EZEQgz9W+Dowyq0wsj78DPFwdxJ7xws/9L0Xrpe0QJVty/1t2mDtxT72to6XweJWIKZz/6AUwkoPCCLcqpRmvUQ70vBNV+8ha3pLz7ut52sU8v5HOvCivVKt5+o0b4yyD2P+YS+aVmW6tr1EO95HnnhB4kBj2RY6tXvFLXvJMpLIapcAyff7qAnmM16D8XAOMC0zPGmhpYGtRLntoqcZQYBNLKSsWuKt8OmS7At13D9b+a4KlQsfeRURuyUY16yePSxS5icPrcikPZVFrulemfSMRNdDw5hqnJLHqOVmKrJ45IKINDB2OYnrZwuFuDV5mBEZ6Fs/YJcIfiJga3508OS8Ey7X9uj8ClK3fhs9Pz6GgzkY8totwBfH3ehS/O59CxX75bMyddKpj0MNUeXsbtT2exlLEc9wwPMUz8qmF3o4XOA9p/Jr6zU0c2p+DqtSqUezgerEhLmJokBoHyyTQfj0zeat7drOPcJ8DQFR/+L7Z4DZz8QJWzNI9ERh0jBj1W7qdxfBwOzQh9cy0efzaJb/8YRWxnGvf1+JFoMpBoNHDvy378HUjZa/5HY+CuWoR/mxUjIZwhBoHMUx/GL0Rn2fDYtVFc/oWh4eEAMotZOMtLoOkcWimH7i6Bkcyhtb0FAxeyoN7IHVw/1Rf/ihjqylkxb4Qwsud+sW/gm+VNiuaEogu0dwXhKnNh293bEKivw49Dw1gMT6FrH0dJMnX7eG/6xVjcvF3cGkVuYjIz/vSRhfZDLey7vQ9E7WuCqxyBQJ0tyilOHs5Zm7OZQeolD3k3PP1S1Ue6KoPjevV7G73o+uW51/rORgdlOrfR6V9zH0nRkFVIeaScK2s0zktSManE+vvoHwEGAB5vdbiAXKIiAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/sealed.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOHSURBVHjajFRbbFRFGP5mzjmc3bZ2Kb1sV0pbW9jSUhClQqPVB2NMYysJbbwkLr5gNKHAA5cXoi9ATBDCgwYTt16SRmIabE2qPhgREzSoRHhopa12V5fdQLvudrv37fZcxpnTFpY1Jk7Ol5n55/+/88/M9w9hjKG4EUIo7yQOugLRzBUYPMYsjpF50H0cwnb2CO2qrTQPyhIelSjqxYJhIqgbuDE3T9/jMT9yk87BCgMLx/ahU+Rsebn02uYdWxW1sgEN7k3WYmjGh1w0gOnrE1oyaXz46pvsKDfnVsmkVZLuJ1D59iHyQ31TTc+uPf3SrVsGfrrsR1NdBEY6hLHPQ1DLnejseVLS4rOPde/K7k5lcdEXssjuEqknDkifNbVt6Hqkuw8jH18BZQn07qlAaRmFsgZobVcRmIng2pUQnn6xF3o27FzvSLeOfsdGxc6tAz13zP5c3Xrpra7+l4mkT6LGacBeQhEJ5+F8UAGhDH/6slBtBNt22FHhSMPl7sKdP8bd21uUX769qvtlTqS4qtn+ls6thJIYGMmgtk7ByeN/IZUyMPRFq5Xyu2dCBfMMhG9LZztJxCcGuOGSIFpTVsI6aurFof4NoixfRDSyhFTS+M+58BUxpfbxDsEhiGSq0LUlD1Tzof/ujT7ktiE5n4e+EIaRW8QGl450GUN2ZgpUVfn1UNjqnoKs0HLBIVv642IxDQ3BYB43f0tiKZlBe1seBhfO8IUImMnwcAf34f/46rIBWcrC3aygzaWBSJZ4iSBi1CDpxVzcMXFjAc/2Ti8r6t+Cv699M9yAxnQGxJBSFodQaCojT0UCN3kGKiil8HoHsaRp96CLXrfgHfSCih2oaxG9E0YyK00KDkG09OsUPglO32ZMruLpm/Ds9UDXdU6sL/eaGGt8rMHj2cuPwYTwDf4+y65PY0hwiK1ppwfjYzu3VO+bzQV2JuJxnD//Pvr6+5brhxH+3dvn6MgIBgYGMOsPgNlw7bQ3/qXgWK01dWNjybY3XlDHPIcna/E/2qfn2uY+uJjf7Qtkx/k0TwoKtpTj+WP7KvZvbCaPu5qd1FG1DqWOdZZDJhFDIhrjmYRNn59dPfPRwjvc/L2lTivvournqH39pcqeZzqVV6oqzE08fYuJLCIWXaAzl37WLniH57/mprnC6ifFb5oQF4cQmSBwcNhW1hY5EhwxjmTxe/SPAAMAt7CB+2lHFjAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/smile.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOCSURBVHjadFRdaBxVFP7unZnd2ex2k812N2mapmqTtmoTklplweCDFpXWal6iD4IPYvugBhTbF6kIIn1pFLFvIhYKRUQMSok/oD5VidCfmNBk00SarG2an91ssj+zu9mduZ4z2S1tqAPfzLnnnO+bufecM0Iphc2XEELSQyPIKvhyqrCJ42zm6ES6R4N9g+/J3uawM6Br2K9JtHHAdpCo2LiykJJniHORXBWCupt4t+0797EYDAa1N/Y+1mk0te9GfcTVwdpyAosz1xG/PF7OZOwvXzupjpO7UBOrCYnnn0T49T7xe0tbtLPn0GGYehl2cRmqnNtIMALQzAiKFQNXfxzGfGJp/Kvv1dM//4EUi2lVIe9Hb2tfP/TIjt5Y38uQ6zOYGruB2zczaG4xIKTCdDyNW7ML2N5iY2fPM7BW55u21+ceHvpNDfHO3cP89ITvuYaQ59D+Z4/Asf4m/Sw+Pz2HT07NQmiOi9qaY5zDuY1bPS+cPu47yBosZGyLqDf3xPYJKVZoD3kIXSGVLCOZXHftzWvO4VzmtEbVW6yh080TqFMHom0dZC7RWWwU4sHdJrIZ+3/XnMscv2/sAGuwkC4N2VC3JULmP3cqenKwDZVMFpX0IuxCEScGFGwquDU9Cen10ldJmK1PQTdkkDV0t/+oWRy77K7y2RK8lRw86VUY5Qoq1sb7A14uyUahrbUS6vw6BHGE5jave1PSFrliYRV2zkJ+5l8MnV2EoI6X1JGbcWHYptbWoPuDsHJ0nraWdTW4Q7N5fXJ59hp9mh+hRg2pNPDBhwXcmMMdAbbZx7FQWIfWsA3J+UVkLG2CNVho/dIkzibit5TytEKaQRw9FoA/IPHiS2k8ui/pgm3TJ9wY53BuYuq2uhzHOdYQ1aGMfvdZ5IeOnoYnOnu74aRGKZTH6NV1jIyU3DOKxbzo7vFQffyQ4W6MXxzF1JX0X/3vJvu4hLUR8bY/UNd15v3At03tgZ17H++CT0tD0YiguFbNCEL4oijYIUxdGsfCdHZu4FSuf2bWGqNoqTYizspqee38hfwvsT3GDit1c5fSTakFWmFGuyC27ELW8tB8pTHx54QdHyv91P/O0lHiXCdu8b7TT2g+9kr48MGY8erWkNOhTDS6wSJWkmk5/etI+fwX36SGybVwv+m/539E4CZjgXqCWY3xm3mfNEfIbP4f/SfAAKcUc4/D6X3qAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/surprised.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOXSURBVHjadJRtaFtVGMf/55zcvDRd2iwuabYsZd3W2rKK2skKZgOHSLFDmAMVBGEgftDpl03BqV98KQyr4ASRKQ4KIqJOmAiCU2Tq3rTDbayta7umiTZL06TpvXntzbnHc+7SEite+CfnPOd5fjz3nP+5RAiBtQ8hhMo/JkXrUo9VF5c11toahyz6F0PFhg/TWFvAet7BcC+jiKoFbiFR47h8K0vflzW/yFBNSjQWNo49I2+SYZ+PPX1nX6/mCrSjvXO7vZicnEJ5IY6J0WumrvOPn3pVHJHh8gqMrUAG7kdg6AXyc7QjOLhr/wE2O8tx/sdpdEQy4IUkTn+ZhMsXQv/gbmbmU/cN7Co9YpTwxVTShq2CXK8fYp919GyO3TPwKL765CyoWMK+/X54myk0J9C9w4X4ZAaXziax97F9qJXSoU0the5TP4hT6s3tDX33Rc/DkU3stdiBJwirjSEY4vA0UWTSVYQ2aiBU4OZUCS43wV19HvhbCgh3xjB342rn3V3axe/P1aYdEqSFN4hnu/p7CSU5CFJEW0TDG0dnYBgcI1932y0ffzvZMC9C5Xb17yBL+WvPycAZBXI2N4mdwaja1HkQ7fZBLGSWYej8f+cqV9V4PVd3KoYCOahGW5vWbZDD6dUT3dLphp6toraYBi9XsDlcQ6FZoDQ5DupyyeOhcEf2wKFRn2I4bP9Js1jctGfCMsGXdLx0yEKtSlBMLYJzgZePOJWXQKl0ibksqxiIrCHMNq/9IygnhUo5L4+5hOV4Ajy3iHVe2d9NYPcDBvbsNTD6h4B/vQNUulTJ4fWhVChKGDNshnKoUXSMZ+LXZWteUNndSvIHH1ZQrQqYJvDe8fJqXIm1hrEwl4ZeYmOKoUDLv4/jZGLibyGcEVC3T/bJbM3E+W2/SyWS1mpc5ajcxJ8pMTqBEcVQIPPYR/nT2RT5bezCFbBgH6jHJztj6OnWVjj2WMXUmspRuZk5XDp2Iv+NYrD6MZmXJzAa6xEPGUa21d/eC6e3Cdu2Cfz6kw6Ph2LonQg2dnWgwqK4fv4KUjf02cPDxYO5vDmrXo00XFi5vdh6cij41patZCDaE2GBcAi+QNBO0LPzyKbSSIz9xWemxXcHj86/UvdLUTXzn9sv1fbM44HBB/u1J+/wW9uFG+vtxQpyC4t08swF89MTn2e/laFbjbefrP2mKXNJKZMpQIuUu75WkVqSyqkG136P/hFgAAYWboMVwiJGAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/tongue-out.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOCSURBVHjadFRNbBtFFP5mdtdZO8EOSe3WjmPapj+hIlJSCkQ0AsRfqwJSOJQT4lDBBagEaitxKBwAIaQGhMKNnxIiKk5EVAgKhxZE20MlmpYEmp82EJwmsR07/os3tte7w5uNXaWWOtK3O/Pe+76Zee/tMiEE6gdjjNNLIfAq5LCrsIhj13NUIt2mIW0DR3jfplb7sKpgt8IRkQ7LRrRiYTSW4p8S5wKZKgSxnrh+7h5+nw14vcrLnfd3aRu37YDP7+gguxRF/MY0Ji+Pm7mc9cVLx8VRMq/WxGpCbP9etB7qZ+dCkUBXz4FnoKsmrOIShLmyFqA1QdH9KFY0XPnpRyxEE+MnvxeP/3wRKSmmVIUa3n1d+Xbrrva+3v4XwMs3MDX2LxZv5rAppIFxgeuTaczPxtAWsnBPzxMwMgsb23wr946cFSPy5k4yPz7m3td8t+vA7qefg238Sfp5DJ74Dx99MAum2A5qa+mTMTK2ZYPr2RNH3U9KDSmkBf3i1Z299zHOlukOBTBVIJU0kUyWnXn9WsbIWMkJB8RrUkOlh6vJI/YEIttpmqBcrBViyw4d+Zx1x7WMlZxG99geqSGFVK7xZs9dfprO3Kro8YEIKrk8Kuk4rNUijh0WsKjgxvUJ8IYGOhWHHn4Eqsa9UkN1+o+axbZMZyVsqlY2B1c6A82soGKs7d/UIEtSLbRZppcCRhymOM3LpJDgFlsprmZ8bmagkpgni3D6gqkK7jS47oWxQvm0lLyjITs0X1Anlmb/pqM1YujrEj7/soSFGAWT0HpIm/QNDZehNAeRXIgjZyjXpIY8UfmPCXzlb5t/KNL5GHvxUBxvv7WIffvTt3bvtCiblLogQXtex3sfBiFcYUSnfhOXJzEsNVj1owx894n/9Pae5ge7+rphp65i+q8Mzv9ewpZvAggGAs5V5xYX8dQlFby1G+MXrmJqNH3p4JvJfqeEtc7ettnzwJnPArOj57YKI98vhPGosJd3iaFGj8iEQg5O+XyO78qvHULGSk6tBLVs2ssZM3vqh8IvvTu1diN1s0OoOleawpg5mUb3w3uhtYdxLRZDvmPOmhwrnTn4RuIV4kwTt7heSA6TkDt9tnDepej/6OVCS3Zu3sNnvO6xmRgmYnF4NuilkUThyDuDyUGKjRKM+q//tv8RQTZZC8FH0Ks+uXOWsCw3rP8f/S/AAGDkfYVsfVt/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/undecided.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOlSURBVHjabFRdaFxFFP5m5t71bn52E9fdJs12I9YkbWg00VJTs0hREWlAAqXVKggV9cEfUGtfRCvUQh9MiyD4IKJQqeJDS0XqT7VFsK0pmBgTm6ZrA01o/jbZbLKb3dy7d+8dz9xsoAk58O3OPWe+b87MnDNMSom1xhjj9CcIvARlbgkOcdy1HI1IqzSUr/sgj9eE3Dc1gYcER0wFHBdjRQd9Uyn+KXEukatIkHcS7xz7Tx5l3YGAeHnLwy36hvsbEQx7OliYGcP0zQSGewftTMb54sX35bvkXloRWxFiT3cg9FIXu7gxFmlp290JQ7PhmDOQ9uLyBL0CwgjDLOr4+8dzmBhLDn55Vj7+82WklJgoCd115A3x7X3Nm+LtXfvACzchC9O0igXG5TJoLItpaHwJ9W1PID8/saEuuLj1zAV5Ru3cO9ATh/y7o3Xig/ie5xjMf/HZiQQOvTOC2aSFjl0BT+j4sVEcOXwLU7ezeLTDQW1jHBOJgcbWJv3qr1eKI+pG9NqwfK2pfRvjbI72kMPFC/PY2uyHWXDANOmhpyeLSI2O1JztzVFzFScaka8rDY1+fBVlcnsk1kDDJJ2FRLRex+Fj9QhWa963MuX76Pi9KCsXJV8SilPuH9iuNJSQxnVeVVYZpuGIdwn7D4QxOWnBRyszzYKzZGL/My4m+kcQCjoIhAzKisOIPgZN5wGloXn1R8XiOrb3JV0bOx60UUzTjWWKXrEoa9u2UiV0GnaBWJQZcZjwipcpIckdtmguzQf9LI9icpw80qsLpi1f6umzFr7+xsLGWo7n9xmId2jgRgD5RcrYEVlPQ1VoNqddn7l1jVIrB6fsOAko9A9IdO7J4ujHJkIhgUhYYHxSejFRVYvZiWlk8mJIaaiMCn9dx1fhuvFHYlt2MW4kqYZyOH/ewh+XLXz4XiV27vSt7kVfOaQvirEbv8veYZxUGqzUlJHTn4S/b2ir2tESb4Wb6qdQDusaifBQKwYv9eNGX/rq3rdnu9QVilKv2H3D6I03y6ey2VRVdX0LzS+jpV06A0u9BmBGEDwQgyliuPbnP5hMZEYPducOzM3bo2prKy3ikmPh1A+5X9qb9E351O3NUjO4qIjCiDwAVrkZ2byP+iuNoStDzvCA9dPet5KvECdBXHPd7ifUvPpsqPPJdv2Fe6rdBmngbi9oYm42zf/7rcc+9fl3qXPkmlqv+1e9RwRVZEogSDBKMbXyAoH6CJm179H/AgwAcZJlaeC4gWwAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/wink.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOkSURBVHjabFRdaBxVFP7undnd2exms5vtbppmm6pN+hObmNSqKwYfaqnSVs1L9EFQEFvwJ6DYvogiiPSlVcS+iVgolCpiUEr8KepTKxH7ExNMNtmIydrGbLKb2ezP7O/M9dzpprShA9/MmXPO990795wzTAiB9RdjjNNDIfA65GXVYRLHWs9RiXSHhvSdfJv3bwxaQ6qC3QpHuwyYFhI1E1cX0/wUcS6Sq0YQtxNvt91nPmQnfT7llR0PdjtaOrahKWTrYHU5geTsDGJXJqrZrPn5i++Ko+QuromtCbGnHkPw5QH266b2cHffgYPQ1CrM0jJENX8zweGFooVQqjlw7fsRLCSWJr74Vuz98RLSUkypC7k+eEM5d1/X5v7owHPglVmISpJWKYNxYSMe03FjbhFtm0xs6XsCRmahpa0pv3P4FzEsv9w+zI+PuZ/0B5wHdu9/GiPnLuD6fApMsaBnyojP5G370xPz+Oj4HK2dg2X8CZnbvMF56MRR9z6pIYUcrSHx2vboLsbZCtroSF59KYautlHsf3QMySTtShVIp6pIpSq2DVaAzJWcSFi8LjVUujm9DWJPuL2TzCU88IgHX17owh+XstjZ7UFrxGmf573bNOSyJp3VWqGWIDke9/geqSGFVO7g/obGEJl/26TGAMfeQ35Y+Rxqug6zWMKxIQGTCm7Ep8BdLtoVhxZ5HKqD+6SGavcfNYtlVu23Qq4MVy1PAhmqWO1Wb3hdsiQ3C22sltHgUcGIwxS7ee2b4CbLl4oZmHkDhdl/MXyaKkYdz6kj1+P8iEmtrUD1+GDkCySm5GwN2aG5gjq1PPcXbc2DQLOCtA68934R/8zjloC0pU/GAkEVir8VqYUksoYyKTWkUOXyFE4nYjeEcEbANR8OH/HC4+V45lkd9+9K2ZC25mZ2TObI3MT0f+JKDGekBqsPZfibT0Lfdfb5H+7u74WVHqNQAWPXKhgdLdtnFI260NtHFXR6wIO9mLg4humr+u+Db6UGZAnXRsTVcU9Dz6l3vF+3dHi37HioB25Fh6ARQWm1nuEDc4dRNAOYvjyBxXhufuh4fnB2zhinaHltRKyVTHX17PnCT9Htjs1G+vpWoWpc8UaghXvAGrciZzhpvnRM/jZpxsbLPwy+uXSYODPELd11+gkbjzwfPLgv6nhhQ8DqFBqa7WAJKymdx38erZ797Kv0CLkW7zb9d/yPCLLJpEATQavH5MryO1cI2fX/o/8FGAA2NXNqWXaawgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/default_smileys/yell.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAPSSURBVHjabJR/bJNFGMe/975v6fpj7Wxp96stE/ZLsi3dCqHRaeZclMAfEoxiNFExzj9UopFfycBEjJIsIcaExBg0QlAh/ggBDYRER2YycCpzsOLG1pXW4ra2s6Vru7Zr+/a8e92SMbzkm/fe5+753D13z3OEUoqVjRAisI/IJCyKt+KiZOZTXOkjMae7GNx2ZLfQXmEu7pJEtIkCHHxALiJYkPFHKCocZT4DzFRgossdl/c1J98nRwwG8ZVGV7OqvLYeRovCwdxsEOHJCdwc8uQTCfmzFw7SPcycWYItgcjmh2B+eRu5VOWwNrdu2YoSKQ85MwuaSSkBEY0eotaCrKzC8IXzmA5GPJ+fpZ0XLyPKYeIiSP3eG+Lptevt7e5tz0DITqKYCgPZBZA8BSmwRXMLoNk7kIQMalyPIR2fLq82ph4400fP8MiVA/1wr2aLrVp8p/2pZ8lQ/wCblIKpVALJ0f/EQERmYlH4vHPwe4No6+rC9MRIvbNB9euPVwo+fiOqSgt9rcHdRAQSg2ujCqdOhNC9cwzjN+ZBsmw3TLzf3T2GU1+E4HKq2FXGwH1sVvo6Z3DQKr2WbrA66lg3AiJQ7D9gx9xcAduf86CvL4ZLTNtf9Ci2/Xvtys4gR8B9dBq6gTM4SBJUQpm21MKCTOLacBIHe/xwOnX45pMaPNiQQ1tFAifeLUOjQ8a+N6/jlwsTSPtHUKLJQVIJBs6QlPxjyVKU88qfc5MaTVVGLNyOoxCPIRAoosAyps4uYF/9Kog6tp6+CFLMs3NjEpXkJRxEBZmkspm4UUPSyE9NgaYpBq/lcW6gCZbqZohshfDlG3i8ZRidj6pA1CzttQakU+wMZTHJGRxUSM5LY7OBP91r1uogqgV4fTL88h689HYHquw1Sn5MBwMYutKP0dsfoaVVgrS6ElO3wkikxVHO4KDc1TEct1RPbXI0dhBBE8GEP4qPew+xdQ7dU4e73ypF6yMGULUNwfF+OnQTJzmDx5fv/TT+fXSG/D46eB2i1QV3hwkmkwAePS/FJWl1BA8/YYJY6QKfOzuN33qPxX/gjKUSUdfWaFuO9ui/La/Vr2nc2IKZW1P47ksJZdZO8FSci/yMJ3dk4GiwYfyqByFv8q9dh1NPTwbSI8x/gSwrWHYfWHf8sPWD+9eRzY71NtFcWQ6D2apMSEQjiM6EERz9W/b76MWdPZEDzOxjmueHfU/1M1W8usO8tcuten71fcU6WgKTMphF7J87gvenwfxXx76Onmem0P9V/13vERNPMg4wMpUsjmX5a8IU4xtc+R79K8AA6dh+63ONBYAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/error.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHESURBVHjaYvj//z8DMoYBDmZGsf1avC/3aPG+YGZkVAaJoasFYSYGHCBdhD3k8t9fwnf+/hJJEWFPQDYcGTAiSzAyMoJpQRYmkW3aPGe4WD7Jg2x4/4vvo9/1L9of/vx7im4QNhcwZohwNH/6+UnufudGhrtA/OvnJ/5IIfYCbK7AMECbk8UoR4I9gp2TgVGclYVBlJWZgYGbgaFaijNYnp1FGOZKDAOgEixTJPla7zJ8F1BmZWDg4uBk4OXgZpBnYWB4yvxdbrYUfzVIKU4XRPFz+srw/XXmZWNg4AHyebl5GXi4uBlEgar+MP5jVuT/l+TPw2GGrIcFxuBiYuRKEuao/sX6k0WZlYnh/x8Who+LJoDlhIHKtNmZGZ4y/OJPF+Zq5mRi8vj+798/FAN8uTlKdAUYDDgZgdYx/gOiPwyyQUkQ7+1fCvQiG4M0UE6Mn8HeiYvDHii8H8WACRJ8JVwsX5jZ/gED7RvQkK+MDBzsHGC5/5+A3uZmYfgPpJg5f7HNEhVoBgrboKSDp6qyv0WAQf7v339oIAGpr58gTG4+kDGQQAMKv3n654f0o8ecGAmpQIIzi4EIMOHF92kwNkCAAQCJupUENJd9CgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0tJREFUeNrsWk9o01AY/5Iuabt2bbc5JnQwGCI4EAf+gekUPG162FUQbx6kUnV4EAZDL4IiCIrKRK8ieHQH3U2mXhR2caAIY05hMunslm5tk7zkPd9rO5w1qU3apYn0g4/mf36/fH/fe+UIIeBl4cHj0rJ1J3TmytbdEaoJqvupxhuIcYnqLNVJqtObB7NPbv1NoCRRqjdCu/oSXSPHINgbB6E92jD0aFWK578uxVPTr0ez8wuMxDhVydACJbneefR4ovvkCdDWANSFLChqGgjWHQfP8T7gRD+IkX7oPdsPP168TPx884oBuWBG4HSwpy/ZeXAYlG9ZwLmNhvo3wRiIhgo49EwYOg4MQ27hSzK/tPiWnn5mFMSJ2L5B0GUZ9GwGCMGuUYYHKzLEBg5DKTYNLbBXCLcVvzxl7zZhuIRwhG0OmBGIcj4BMFKp/dxXHwjFxfCVEo1xEFcK1uTumCNAFUzg8bxkvQ4U7VTBdZyyCntPlS5syQL3Pq24uxL/i4DrW4mC6NjbBDxvAaJ7nQDWvB4D5ha4ONDjCCiVxuHDue/b4EIOtReEFrJqXdlSEN+ZXfRCEHs8BryfhfT/OAs1LdDoVuLykT3OjAc0DA/efa6/BYhTw0w2Dq7SEyxlodszH5oxsN0EJIxQlOPdO2VacuMNMwJzWM4N+QJB1xKg+NjPrBmBSTmdGmrtjruWAMVXwGlG4Kmu5AeV1VRSjLS7DryaWQVdke9DaVrRuBIDTKjrko9emBBCbcCLYmGStXE+rwNWVUDZddBVhX35icqtRHHq+jy9eIoqm4M8RHVnvQAFYp3gE/3GYGn+z6WWyw+zA++hbH2gEoFNmTa6oVxad1TPLbeyPKpI6ed+SoL3lb+aM92pJHw9TFytBju6pgghYwr1ZUzrzZ/nNVszIrUnfPZSCxqMddyl1f4m2pCMr6m5nbZXWKzFQSQ2LmfWwiifS7b4A3UeD9hwIZtyTVPkLo7jTvEt9mHUwYWwLfW3htIssyA5D0TTfp9zmkBhHcumioHgDH3EOaTIhS7YjjvW7EKsd69RHtHMFEdIvSoIhdUX1fVBbBQP9DlRDaFLW/schyxQt1WbMYzxR2YRKzdxzT97NAnUJr8EGAAbDHfYpCdu0gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/images/nospam.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIgAcANUAAN3d3dHS0v4yMnNwcOv39/Dw8IqLi/39/enp6fX19fzh4crKyvj4+LS0tPD8/FpaWvxTU/wDA+3u7iooKPeFhebm5viYmM3W1p6fn/zZ2drg4BAREcPExOLi4uuysmkCAvynp/tjY/t2dvjMzPwaGr5FRfm3t+jX1+fDw+N2ds6np8TNzb6/v+Lr6+vs7OHl5fj//+JjY0NBQc4AAOMYGOsHB9fY2P/7+7CEhPD39/Py8urh4fv7+/7+/gAAAP///yH5BAAAAAAALAAAAAAiABwAAAb/wJ9wODzweIyErsAs6BKM44FIrf4ORqUEUel6Ea5Cgoe1VnvIxNaVg/XePVjOVXHpoj3zEM3QgRk/GSAUIiIUIBk/DC4IBXh6PQd9CBI9CiEkEQIQEAIRJBAZPQUVjjx5VpJ+BT8gJCQUIwUSEjoZFAIkFj+kjlNEkTwJpAgwFhEhGRIaAQsBNi8OBRARFD10pgd5RgwFCAAABB41Ii0XLCwcC+sLFyieERY54C5Qp8ISHQA2ACc0JRpWNBiYztkFFZkoxKCBwkYAAKUYSJJQaoiCGCh+PGFQwVkBGCMSwrhhwkMUHt508PBzwIWBBwNYKGqAoaYNMhxweKIAo+aK/x8BDGAIg2CRDh0yfEzw4aOBjqUbfGxg0WPCjAglFEWd0OOB1AUMOiRAwMNGVAwGDDQosBSDVwMmrn6QoUjqBg4TNmxYkACAjgpFB+idMOCHi6UGlg7wlCJpgB8+ZBDeIGNvAQDeECQIgFYxA6iUM81F3MPHgKQyHuzVgZms2QkcBkTm0VaFpw92I3fw8cCAacF8O+ioxcBr1LtPN9jGGtmhXg4bHnDwgQE4xwRjJbIQ2uEGjIOZLGhgUeGUDQ4IFrz4seAvXwkuGHSjdLJADAsjGL94UiBAABeMwGBCCi4A0EEBjKiEBCn7BPBCCjUkdMEzDjXjTAvjxBBAOgEcKK8RN2pUAE0OIUQAAQMOvLAPPx0QkAAINUDQQTM2eHjKD2+o8k0tIphowg09OOCAGyNQE8IOGiwAjQQSobLHSt+44AAIuQgQggUWiJCLLi4kWaMEY7xBBRbdVGBgDgiAEIIAbFppwQkt2KBkB/U0eQYaw3xTYwsECOkAARK8UGGNdthpRTB5dmDDooxW+AxExGkDSTB9MKJPoyzWIUaTTppB6TDwcdEFApRsSkanQgQBADs=]]></data>
	</file>
	<file>
	  <filename>/images/star_empty.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAARCAYAAADQWvz5AAABsklEQVQ4y53UTWtTQRgF4CdNQInoQgsq7UIQpETR6EIJBaGiuFAogjuF+wtczC+Zf6BcuhB3fqykolAoXBSRWKkfKBXqJ6LR4iZoopsJxNJc0YHZzJw5c85535mKkpGFUMNedPEmj/HnKGy1hKSC0ziBI6g2W62VdlFsiB8rEbQZDdzHQxxIa/9MNI7deIQH2Imt/0M0jVf4jq94i+OjwJUshDHsH+SQ5jg2YSGP8W7K7FQi7+IT+ugltU9rOITzWEUFv/ABP/Bi6NJn2IVaumSAvYCrtWSvj+U8xoUshGoeY2+99DzGVcwlddU8xl4WwgwmMVZLYU7gZBbCJK75+6hkIVzEPixiqTLUN9OYwWfcyGN8N6K/JjCL7biTx1j8UbU8xkVcSRmcLVEzmwpyeUCyUfk7KcjnJUQv07lOWR9tww4sD1lpZCFMDWGepObcMnywto6oiY9Yy0Ko4hwOop+F0MZ1fElqDmN+FNEUXidVWXpb91DH0VSluWSvUUZUxx4cwwpu5TG+TxbbOINLSXV95DfSbLUep9zauJ3H+G2w1y6KtWartZRsdXCzXRTdwf5vgz+Cpv4kWPUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/star_full.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAARCAYAAADQWvz5AAADBUlEQVQ4y5WT30vUWRjGn3PO9zvOYGXrzpoOWY1lpjNMk47m0PSL0AgqaNmbqI2FoAURE9qL/oEiIooxugiCpLIyksKii7KSdiunKdpmzMplSrJiW2nNZsSZ+X7PebsYSgecoOf2eficl/M+L8M39Ftri5ZM00ISPGXT+Zv2w0fMXFmRy9je3MxMJRpLHcZWq85qE+Mw3OWLhvqj0WnzPBeIC2GdSPGyTWs/ujeuTS6ZSPFyYbdbc+ZzGaZh2oWwOaorL9av8LavlnKmnaSa8d0gCN2/ZvlHB+e6xrlVrKkX88H4qlxx7ZemJp4nhIsJUQ1AgEhwxuxScd1XdbPMoifzAKDe01n+MLpheEdr62IiGiHGFACppAx/UuqZZhGap3A2dnqXPC0gAAwEAMqik3CWji0kAgCCc26qbH0gOmwYSgKoJGJgDHg0UFejPsWPayBwIiZ9nniFp7KvDgYAlhlXKQYiBoDhpx9ipb9ujm1HhgvowJOBXX0Pn6IPABcVvpr3psH1vx7NS5hm8b/u8uduKflXwKQyUCIGzgnnru45d7KLhwxp3ombxj0xEA5TJBR64a2vM/sHiyxS5f3vWjTkyoZMlcL5aw2dl28UPdY1detMMNg7GA5PFjISCg3XBGqHQk+cbEZ+iVFV1l+VmWrKIrnCxZ7fL3R0O3tm5ae7Tre1PZt2/YowqomE1eHwFWU+OVtEQMmcnwuFGBOK8dHcPVI0S9PsdveCvdWKOISm8Pa/ef+8G3HGhKagiKNm8Xo/0Vy7IsrP6lHWiwxLfUtLSxgr4IylcKW35dKVm+kXjHNsaZhZ1eg/uBnMyrwuV3Fs6LYXQM+0ExHpFetq97kt+qitef+x/We744+TaXV9Yjx1t73rfXjPoRMH8vQPto0r/1gmpVaZ8/q9fv+6osKJ2UfPbOmOJ97ELEDnqbaj0ciDB4PVgcDLROLVj9fvBp4XFiRtsdfFHyKh+39OlmOKtu1uKTAN4eVCjXOOSEcwmM72d1uUgkdJnq/p8u+OYNvYF+8zqFI+cbEn4QIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/star_rate.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABIAAAARCAYAAADQWvz5AAAC6klEQVQ4y5WUW2xMYRSF1/7POXPajqIo1br0SC+pKqkObcUIIkFcQl2SSpCKaeOSEPHgSbyIiHgUtH1yDSoeBImqNITQ6NCLS1FkYqLS0GipmZ5z9vbgFtIj8T/utbKzsteXn/CPtyYUMl2WIEj1GopazlUfj3t5NS9hbWWVxiw7kpNkuyJa7Ljim1I47cHjh49kML/yWiTgIbZDJXNLY2ZpgA3boSArI9nLr3sJ7LDluInjls49le8y4WrDps+GHhsF4NN/JYJSFXlZNhITSPxJSrIt0wdgi5edykIhTQOWC7DoR0INgjHMZG4su5+5dH6bJQJcvjn1zclLM18rJXEidAnAABwAlx2oqzoJVvh82Js7KUoiAEFgGMy6LsjL+pgMCIiAyVl9/tLCyAjHFdi2liEAiIBnr6wSGRgQHYAugJuf2+8vW9iY4wwo6AZ/P7hLYCEAQHZmZ+ruys5UAHBsBd1k1F3Z0PG0k/oB6FpeoKiDHaS0PhuZ9vJN5vtg4GmGsIIwQUC/WxT6PmMCiLH/yOamhjvaJ2b3Iit14pdzdShU4dhaeaAgkl5V3pg/YngM8hcxRMCHnkQcOzvvcXN7+lvD4DN1NbUn/gDySTj8qGDG9JbXb1OsaJflzpvVOlaY/qTXYBw4tj4cbk9pTTB5X11Nbf2g9QsQIdhDcnKyfRiMXwasibMVqbhPiCKeHJFIGos/dUHxwVxmgqYxWjus7vYXVremMZgJS4Jbp9j20DQIRnqSLYSV49NHaYlmAjsuydFTFS13Hzj9RCRzipdFQ2urp/mTTHfs6HFG35fnqwAcGjQRs5o5v+Ti+K+xAbN85+6GW/fiPQKcZ5frb9zu7Vm3a09DLBY3FwVPT2BXlXomUiTDOjozvtZdK24iehfViA6fr65uA4A1lVWFzJEd2/atbyrIjaYoJcM9v5HJRUX177qH9QHSSESHL9TWRH+12tzclV8UuC6C3q7u5DZS2P8k3Nz3U/8GB2xD2aKF970AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnR3Vlc3Rib29rcyc7DQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDcmVhdGUgYW5kIG1hbmFnZSBndWVzdGJvb2tzIHRvIGdldCBzb21lIGZlZWRiYWNrIGZyb20geW91ciBzaXRlIHZpc2l0b3JzJzsNCiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0dldCBzb21lIGZlZWRiYWNrIGZyb20geW91ciBzaXRlIHZpc2l0b3JzJzsNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBHYm9vayBtb2R1bGUgd2FzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuIENoZWNrIHRoZSBhZG1pbiBDb250ZW50IHNlY3Rpb24gZm9yIFwnJXNcJy4nOw0KDQokbGFuZ1snc3BhbSddID0gJ1NwYW0nOw0KJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlPyc7DQokbGFuZ1snYXJleW91c3VyZW11bHRpJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGV4ZWN1dGUgdGhpcyBidWxrIGFjdGlvbj8nOw0KDQoNCiRsYW5nWydnYm9va3MnXSA9ICdHdWVzdGJvb2tzJzsNCiRsYW5nWydhZGRnYm9vayddID0gJ0FkZCBHdWVzdGJvb2snOw0KJGxhbmdbJ2dib29rYWRkZWQnXSA9ICdHdWVzdGJvb2sgaXMgYWRkZWQnOw0KJGxhbmdbJ2VkaXRnYm9vayddID0gJ0VkaXQgR3Vlc3Rib29rJzsNCiRsYW5nWydnYm9va3VwZGF0ZWQnXSA9ICdHdWVzdGJvb2sgaXMgdXBkYXRlZCc7DQokbGFuZ1snZ2Jvb2tkZWxldGVkJ10gPSAnR3Vlc3Rib29rIGlzIGRlbGV0ZWQnOw0KJGxhbmdbJ2VudHJpZXNfcGFnZSddID0gJ051bWJlciBvZiBlbnRyaWVzIHBlciBwYWdlJzsNCiRsYW5nWydwcmV2ZW50X3Bvc3RfdHdpY2UnXSA9ICdQcmV2ZW50IGNvbnNlY3V0aXZlIG1lc3NhZ2VzIGJ5IHRoZSBzYW1lIHVzZXIgKGJhc2VkIG9uIElQIGFkZHJlc3MpJzsNCiRsYW5nWyd1c2VfY2FwdGNoYSddID0gJ1VzZSBjYXB0Y2hhIHRvIGFjdGl2YXRlIHNwYW0tc3VzcGVjdGVkIG1lc3NhZ2VzIChDYXB0Y2hhIG1vZHVsZSBuZWVkcyB0byBiZSBpbnN0YWxsZWQpJzsNCiRsYW5nWydhbGxvd19yYXRpbmcnXSA9ICdBbGxvdyBTdGFyIHJhdGluZyc7DQokbGFuZ1snYWxsb3dfc21pbGllcyddID0gJ0FsbG93IFNtaWxpZXMnOw0KJGxhbmdbJ2FsbG93X25vdGlmaWNhdGlvbnMnXSA9ICdFbmFibGUgTm90aWZpY2F0aW9ucyBvcHRpb24nOw0KJGxhbmdbJ25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnTm90aWZpY2F0aW9uIGVtYWlsIHN1YmplY3QnOw0KJGxhbmdbJ25vdGlmaWNhdGlvbl9tZXNzYWdlJ10gPSAnTm90aWZpY2F0aW9uIGVtYWlsIG1lc3NhZ2UnOw0KJGxhbmdbJ3N1Ym1pc3Npb25fcmVzcG9uc2UnXSA9ICdSZXNwb25zZSBvbiBmb3JtIHN1Ym1pc3Npb24nOw0KJGxhbmdbJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbSddID0gJ1Jlc3BvbnNlIG9uIHN1c3BlY3RlZCBzcGFtIGZvcm0gc3VibWlzc2lvbic7DQokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3QnXSA9ICdBZG1pbiBub3RpZmljYXRpb24gZW1haWwgc3ViamVjdCc7DQokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2UnXSA9ICdBZG1pbiBub3RpZmljYXRpb24gZW1haWwgbWVzc2FnZSc7DQokbGFuZ1sncmVxdWlyZWRfZmllbGRzJ10gPSAnUmVxdWlyZWQgRmllbGRzIG9uIEZyb250ZW5kJzsNCiRsYW5nWydpbXBvcnRfY3N2J10gPSAnSW1wb3J0IGVudHJpZXMgYnkgY3N2JzsNCiRsYW5nWydjc3ZfZm9ybWF0J10gPSAnY3N2IGZvcm1hdDogImF1dGhvciJbc3RyaW5nXTsiZW1haWwiW3N0cmluZ107InRpdGxlIltzdHJpbmddOyJtZXNzYWdlIltzdHJpbmddOyJpcCJbc3RyaW5nXTsiY3JlYXRlX2RhdGUiW2RhdGUvdGltZTp5eXl5LW1tLWRkIGhoOm1tOnNzXSc7DQoNCg0KJGxhbmdbJ3NtaWxleXMnXSA9ICdTbWlsZXlzJzsNCiRsYW5nWydzbWlsZXknXSA9ICdTbWlsZXknOw0KJGxhbmdbJ2FkZHNtaWxleSddID0gJ0FkZCBTbWlsZXknOw0KDQoNCiRsYW5nWydpZCddID0gJ0lEJzsNCiRsYW5nWydzcGFtcmF0ZSddID0gJ1NwYW0gUmF0aW5nJzsNCiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRlZCc7DQokbGFuZ1snbW9kaWZpZWQnXSA9ICdNb2RpZmllZCc7DQokbGFuZ1snYXBwcm92ZWQnXSA9ICdBcHByb3ZlZCc7DQokbGFuZ1snaXRlbWFkZGVkJ10gPSAnRW50cnkgaXMgYWRkZWQnOw0KJGxhbmdbJ2VkaXRpdGVtJ10gPSAnRWRpdCBFbnRyeSc7DQokbGFuZ1snaXRlbXVwZGF0ZWQnXSA9ICdFbnRyeSBpcyB1cGRhdGVkJzsNCiRsYW5nWydpdGVtZGVsZXRlZCddID0gJ0VudHJ5IGlzIGRlbGV0ZWQnOw0KDQokbGFuZ1snc2F2ZWFzaGFtJ10gPSAnTWFyayBlbnRyeSBhcyAiSGFtIic7DQokbGFuZ1snc2F2ZWFzc3BhbSddID0gJ01hcmsgZW50cnkgYXMgIlNwYW0iJzsNCiRsYW5nWydkZWxldGVmcm9taGFtJ10gPSAnVW5tYXJrIGVudHJ5IGZyb20gIkhhbSInOw0KJGxhbmdbJ2RlbGV0ZWZyb21zcGFtJ10gPSAnVW5tYXJrIGVudHJ5IGZyb20gIlNwYW0iJzsNCg0KDQovL1RlbXBsYXRlcw0KJGxhbmdbJ3N1bW1hcnlfdHBsJ10gPSAnc3VtbWFyeSB2aWV3JzsNCiRsYW5nWydkZXRhaWxfdHBsJ10gPSAnZGV0YWlsIHZpZXcnOw0KJGxhbmdbJ2Zvcm1fdHBsJ10gPSAnZnJvbnRlbmQgc3VibWl0IGZvcm0nOw0KLy8kbGFuZ1snZW1haWxfdHBsJ10gPSAnZW1haWwgdGV4dCc7DQokbGFuZ1snZGVmYXVsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnRGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlJzsNCiRsYW5nWydkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0RlZmF1bHQgZGV0YWlsIHRlbXBsYXRlJzsNCiRsYW5nWydyZXNldGRlZmF1bHQnXSA9ICdMb2FkL3Jlc2V0IGRlZmF1bHQgdGVtcGxhdGUnOw0KJGxhbmdbJ3Jlc2V0d2FybmluZyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGUgdGVtcGxhdGUgY29kZSB0byBkZWZhdWx0Pyc7DQovLyRsYW5nWydhdmFpbGFibGV2YXJpYWJsZXMnXSA9ICdBdmFpbGFibGUgVGVtcGxhdGUgU21hcnR5IFZhcmlhYmxlcyc7DQoNCg0KLy9PcHRpb25zDQokbGFuZ1sndGl0bGVfY3VzdG9tX21vZHVsZW5hbWUnXSA9ICdDdXN0b20gTW9kdWxlbmFtZSc7DQokbGFuZ1snaGVscF9jdXN0b21fbW9kdWxlbmFtZSddID0gJ1lvdSBjYW4gY2hhbmdlIHRoZSBNb2R1bGVuYW1lIGhlcmUgYXMgeW91IHdpc2guIEl0IHdpbGwgYmUgdXNlZCBhcyB0aGUgdGl0bGUgb24gdGhlIG1vZHVsZSBhZG1pbiBwYWdlcyBhbmQgYXMgbWVudSB0ZXh0Lic7DQokbGFuZ1sndGl0bGVfYWRtaW5fc2VjdGlvbiddID0gJ0FkbWluIFNlY3Rpb24nOw0KJGxhbmdbJ2hlbHBfYWRtaW5fc2VjdGlvbiddID0gJ0Nob29zZSB0aGUgQWRtaW4gU2VjdGlvbiAob3IgdG9wLWxldmVsIEFkbWluIE1lbnUpIHRoaXMgbW9kdWxlIGJlbG9uZ3MgdG8uJzsNCiRsYW5nWydzZW5kX25vdGlmaWNhdGlvbnNfdG8nXSA9ICdTZW5kIG5vdGlmaWNhdGlvbiBvZiBuZXcgZW50cmllcyB0byBlZGl0b3InOw0KLy8kbGFuZ1snbm90X3NlbmRfc3BhbW5vdGlmaWNhdGlvbnMnXSA9ICdEbyBub3Qgc2VuZCBub3RpZmljYXRpb25zIGZvciBzdXNwZWN0ZWQgc3BhbSBlbnRyaWVzJzsNCiRsYW5nWydtYXhfc3BhbXJhdGVfYWN0aXZlJ10gPSAnTWF4aW11bSBzcGFtcmF0aW5nIHRvIGF1dG9tYXRpY2FsbHkgc2V0IGFuIGVudHJ5IGFjdGl2ZSBvbiBzdWJtaXQnOw0KJGxhbmdbJ21heF9zcGFtcmF0ZV9hY3RpdmVfaGVscCddID0gJ2JldHdlZW4gMCBhbmQgMSwgZGVmYXVsdCAwLjYuIExvd2VyIHZhbHVlIG1lYW5zIHRpZ2h0ZXIgc2V0dGluZy4gQWR2aXNlZCB0byBzZXQgb24gMC40IG9yIGJlbG93JzsNCiRsYW5nWydtYXhfc3BhbXJhdGVfbm90aWZ5J10gPSAnTWF4aW11bSBzcGFtcmF0aW5nIGZvciBzZW5kaW5nIGEgbm90aWZpY2F0aW9uIHRvIGVkaXRvcic7DQokbGFuZ1snbWF4X3NwYW1yYXRlX25vdGlmeV9oZWxwJ10gPSAnYmV0d2VlbiAwIGFuZCAxLCBkZWZhdWx0IDAuOS4gSGlnaGVyIHZhbHVlIHdpbGwgaW5jcmVhc2UgdGhlIGNoYW5jZSBvZiBnZXR0aW5nIG5vdGlmaWNhdGlvbnMgb2Ygc3BhbSBlbnRyaWVzLic7DQokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmUnXSA9ICdNYXhpbXVtIHNwYW1yYXRpbmcgZm9yIHNhdmluZyBhIG5ldyBlbnRyeSc7DQokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmVfaGVscCddID0gJ2JldHdlZW4gMCBhbmQgMSwgZGVmYXVsdCAwLjkuIExvd2VyIHZhbHVlIHdpbGwgaW5jcmVhc2UgdGhlIGNoYW5jZSBvZiBsb3NpbmcgbGVnaXRpbWF0ZSBlbnRyaWVzLic7DQokbGFuZ1snYmFkd29yZHMnXSA9ICdGaWx0ZXIgYmFkIHdvcmRzIChjb21tYSBzZXBhcmF0ZWQpJzsNCiRsYW5nWydvcHRpb25zdXBkYXRlZCddID0gJ1RoZSBvcHRpb25zIHdlcmUgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJzsNCg0KDQovL0Zyb250ZW5kDQokbGFuZ1snZW50cmllcyddID0gJ0VudHJpZXMnOw0KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsNCiRsYW5nWydlbWFpbCddID0gJ0VtYWlsJzsNCiRsYW5nWyd0aXRsZSddID0gJ1RpdGxlJzsNCiRsYW5nWydtZXNzYWdlJ10gPSAnTWVzc2FnZSc7DQokbGFuZ1sncmF0aW5nJ10gPSAnUmF0aW5nJzsNCiRsYW5nWydub3RpZnknXSA9ICdOb3RpZnkgbWUgb24gbmV3IG1lc3NhZ2VzJzsNCiRsYW5nWydmZV9zdWJtaXQnXSA9ICdTdWJtaXQnOw0KJGxhbmdbJ3ZhbGlkYXRpb25fZXJyb3JzJ10gPSAnUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBlbnRyeSBmb3IgdGhlIG1hcmtlZCBmaWVsZHMgYW5kIHN1Ym1pdCBhZ2Fpbi4nOw0KJGxhbmdbJ2RvdWJsZV9wb3N0J10gPSAnPHA+VGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLiBZb3VyIG1lc3NhZ2UgYWxyZWFkeSBoYXMgYmVlbiBhZGRlZCB0byBvdXIgZ3Vlc3Rib29rLjwvcD4nOw0KJGxhbmdbJ25vdF9hbGxvd2VkX3RvX3Bvc3RfdHdpY2UnXSA9ICc8cD5Tb3JyeS4gRHVlIHRvIHNwYW0gcHJvdGVjdGlvbiBpdCBpcyBub3QgcG9zc2libGUgdG8gcG9zdCB0d28gY29uc2VjdXRpdmUgbWVzc2FnZXMuIFdlIGFyZSByZWFseSBzb3JyeSBmb3IgdGhpcyBpbmNvbnZlbmllbmNlLjwvcD4NCjxwPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIsIG9yIHNlbmQgdXMgYW4gZW1haWwgc28gd2UgY2FuIGFkZCB5b3VyIG1lc3NhZ2UgdG8gb3VyIHdlYnNpdGUuPC9wPic7DQoNCg0KLy9EZWZhdWx0IEdib29rIG1lc3NhZ2Ugc2V0dGluZ3MNCiRsYW5nWydzdWJtaXNzaW9uX3Jlc3BvbnNlX2NudCddID0gJzxwPlRoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4gWW91ciBtZXNzYWdlIGhhcyBiZWVuIGFkZGVkIHRvIG91ciBndWVzdGJvb2suPC9wPic7DQokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtX2NudDInXSA9ICc8cD5UaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suPC9wPg0Ke2lmIGVtcHR5KCRnYm9va19jYXB0Y2hhKX0NCjxwPllvdXIgbWVzc2FnZSBob3dldmVyIGhhcyBiZWVuIHN1c3BlY3RlZCB0byBjb250YWluIHNwYW0sIHRoZXJlZm9yZSBpdCBuZWVkcyBhcHByb3ZhbCBiZWZvcmUgaXQgd2lsbCBiZSBkaXNwbGF5ZWQuPC9wPg0KPHA+UGxlYXNlIG5vdGlmeSB1cyBieSBzZW5kaW5nIGFuIGVtYWlsLjwvcD4NCntlbHNlfQ0KPHA+WW91ciBtZXNzYWdlIGhvd2V2ZXIgaGFzIGJlZW4gc3VzcGVjdGVkIHRvIGNvbnRhaW4gc3BhbSwgdGhlcmVmb3JlIGl0IG5lZWRzIG9uZSBuZXh0IHN0ZXAgYmVmb3JlIGl0IHdpbGwgYmUgZGlzcGxheWVkLjwvcD4NCjxwPlBsZWFzZSBjb21wbGV0ZSB0aGUgZm9sbG93aW5nIGNoYWxsZW5nZTo8L3A+DQp7JGdib29rX2NhcHRjaGF9IHskZ2Jvb2tfY2FwdGNoYV9pbnB1dH0NCnsvaWZ9JzsNCiRsYW5nWydhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdF9jbnQnXSA9ICdOZXcgR3Vlc3Rib29rIEVudHJ5JzsNCiRsYW5nWydhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZV9jbnQnXSA9ICdZb3UgcmVjZWl2ZWQgYSBuZXcgbWVzc2FnZSBpbiB5b3VyIHtzaXRlbmFtZX0gR3Vlc3Rib29rLg0KDQpDaGVjayBpdCBvbjoge3Jvb3RfdXJsfSc7DQoNCg0KLy9IZWxwDQokbGFuZ1snaGVscF9hY3Rpb24nXSA9ICdQb3NzaWJsZSB2YWx1ZXM6IDx1bD48bGk+XCdkZWZhdWx0XCcgLSBmb3IgZGlzcGxheWluZyB0aGUgZ3Vlc3Rib29rIGVudHJpZXM8L2xpPjxsaT5cJ2Zvcm1cJyAtIGZvciBkaXNwbGF5aW5nIGEgZm9ybTwvbGk+PGxpPlwnZGV0YWlsXCcgLSBmb3IgZGlzcGxheWluZyBhIHNpbmdsZSBlbnRyeSwgZS5nLiBhcyBzZWFyY2ggcmVzdWx0PC9saT48L3VsPic7DQokbGFuZ1snaGVscF9hbGlhcyddID0gJ1VzZSBhbm90aGVyIGd1ZXN0Ym9vayB0aGFuIHRoZSBkZWZhdWx0IG9uZS4gQ2hlY2sgdGhlIEd1ZXN0Ym9va3MtdGFiLCBjb2x1bW4gXCdUYWdzXCcsIHRvIHNlZSB3aGljaCBhbGlhc2VzIGNhbiBiZSB1c2VkLic7DQokbGFuZ1snaGVscF9lbnRyeWlkJ10gPSAnVXNlIHRoaXMgcGFyYW1ldGVyIGFsb25nIHdpdGggPGNvZGU+YWN0aW9uPVwnZGV0YWlsXCc8L2NvZGU+IGlmIHlvdSB3YW50IHRvIGRpc3BsYXkgb25seSBvbmUgZ3Vlc3Rib29rIGVudHJ5LiBUbyBnZXQgdGhlIGxhdGVzdCBlbnRyeSwgdXNlIDxjb2RlPmVudHJ5aWQ9LTE8L2NvZGU+JzsNCiRsYW5nWydoZWxwX3RlbXBsYXRlJ10gPSAnVXNlIGFub3RoZXIgdGVtcGxhdGUgdGhhbiB0aGUgZGVmYXVsdCBvbmUuIE5vdGUgdGhhdCB0ZW1wbGF0ZXMgbXVzdCBiZSBvZiB0aGUgcHJvcGVyIHR5cGUsIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgYWN0aW9uIHBhcmFtZXRlci4nOw0KJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoZSBHYm9vayBtb2R1bGUgcHJvdmlkZXMgeW91ciBzaXRlIHZpc2l0b3JzIGEgY29udmVuaWVudCB3YXkgdG8gZ2l2ZSBzb21lIGZlZWRiYWNrIG9uIHlvdXIgc2l0ZS4gTWVzc2FnZXMgY2FuIGluY2x1ZGUgc21pbGV5cyBhbmQgc3RhciByYXRpbmdzLiBZb3VyIGd1ZXN0Ym9vayBpcyBlZmZlY3RpdmVseSBwcm90ZWN0ZWQgZnJvbSBzcGFtIHdpdGhvdXQgdGhlIG5lY2Vzc2l0eSBvZiB1c2luZyBhbiBhbm5veWluZyBjYXB0Y2hhLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VG8gc2hvdyB0aGUgZ3Vlc3Rib29rIGVudHJpZXMsIGp1c3QgaW5zZXJ0IHRoZSBtb2R1bGUgd2l0aCB0aGU8Y29kZT4ge0dib29rfSA8L2NvZGU+dGFnIGludG8gdGhlIGNvbnRlbnQgc2VjdGlvbiBvZiBhIHBhZ2UuPGJyIC8+DQpZb3UgY2FuIGRpc3BsYXkgYSBmb3JtIHdpdGggdGhlPGNvZGU+IHtHYm9vayBhY3Rpb249XCdmb3JtXCd9IDwvY29kZT50YWcuPC9wPg0KPHA+VG8gZ2V0IGEgcXVpY2sgc3RhcnQsIGEgc2FtcGxlIHN0eWxlc2hlZXQgaGFzIGJlZW4gaW5zdGFsbGVkIHdoaWNoIGNvcnJlc3BvbmRzIHdpdGggdGhlIGRlZmF1bHQgbW9kdWxlIHRlbXBsYXRlcy4gQXR0YWNoIHRoZSBzdHlsZXNoZWV0IFwnR2Jvb2sgbW9kdWxlXCcgdG8geW91ciBwYWdlIHRlbXBsYXRlKHMpIHRvIGdpdmUgeW91ciBndWVzdGJvb2sgYSBmaXJzdCBnb29kIGxvb2suPC9wPg0KDQo8aDM+RWRpdCBHdWVzdGJvb2sgRW50cmllczwvaDM+DQo8cD5Vc2VycyB3aXRoIHRoZSBcJ0dib29rOiBVc2VcJyBwZXJtaXNzaW9uIGNhbiBlZGl0IGd1ZXN0Ym9vayBlbnRyaWVzIGluIHRoZSBiYWNrZW5kLjwvcD4NCg0KPGgzPlNwYW0gUHJvdGVjdGlvbjwvaDM+DQo8cD5HYm9vayB1c2VzIGEgaG9uZXlwb3QgZmllbGQgKHNpbmNlIHZlcnNpb24gMi4yKSB3aGljaCB3aWxsIHByZXZlbnQgc3BhbSBlbmdpbmVzIGZyb20gcG9zdGluZy4gTWFrZSBzdXJlIHRvIGtlZXAgdGhlIHskZ2Jvb2tfaG9uZXlwb3RfaW5wdXR9IGZpZWxkIGluIHlvdXIgZm9ybSB0ZW1wbGF0ZSwgYW5kIGl0IHN0YXlzIGhpZGRlbiB2aWEgY3NzLCBvdGhlcndpc2Ugbm9ib2R5IHdpbGwgYmUgYWJsZSB0byBwb3N0IG1lc3NhZ2VzLjwvcD4NCjxwPk5leHQsIEdib29rIHByb3VkbHkgdXNlcyB0aGUgImI4IiBzdGF0aXN0aWNhbCAoQmF5ZXNpYW4pIHNwYW0gZmlsdGVyIHZlcnNpb24gMC42LjIsIHdyaXR0ZW4gYnkgVG9iaWFzIExldXBvbGQuIFRoaXMgYnVpbHQtaW4gc3BhbSBwcm90ZWN0aW9uIHN5c3RlbSB3aWxsIG9ubHkgZnVuY3Rpb24gYWZ0ZXIgeW91IGhhdmUgbGVhcm5lZCBpdCBob3cgdG8gaW50ZXJwcmV0IHRoZSBtZXNzYWdlcyBieSBtYXJraW5nIHRoZSBmaXJzdCBmZXcgZW50cmllcyBhcyBlaXRoZXIgIlNwYW0iIG9yICJIYW0iLiBJZiB0aGUgc3lzdGVtIGhhcyBsZWFybmVkIGVub3VnaCBnb29kIGFzIHdlbGwgYXMgZW5vdWdoIHNwYW1teSB3b3JkcywgaXQgd2lsbCBnaXZlIHNwYW0gbWVzc2FnZXMgYSByYXRpbmcgc29tZXdoZXJlIG5lYXIgMSwgYW5kIGhhbSBtZXNzYWdlcyB3aWxsIGJlIHJhdGVkIHNvbWV3aGVyZSBuZWFyIDAuIE5vdGUgdGhhdCBpdCB3b25cJ3QgYmUgb2YgdmVyeSBtdWNoIHVzZSB0byBtYW51YWxseSBtYXJrIGVudHJpZXMgYXMgc3BhbSBvciBoYW0sIHdoaWNoIGFyZSBhbHJlYWR5IHJhdGVkIGFzIHN1Y2guPC9wPg0KPHA+TWVzc2FnZXMgd2l0aCBhIHJhdGluZyBvZiAwLjUwIGNvdWxkIG5vdCBiZSByYXRlZCBiZWNhdXNlIG9mIHRvbyBmZXcgbWF0Y2hpbmcgd29yZHMuIFRob3NlIGFyZSB0aGUgb25lcyB5b3UgbmVlZCB0byBwYXkgYXR0ZW50aW9uIHRvIGJ5IG1hcmtpbmcgdGhlbSBhcyBzcGFtIG9yIGhhbS48L3A+DQo8cD5JZiB5b3Ugd2FudCB0byBrbm93IG1vcmUgb2YgdGhpcyBleGNlbGxlbnQgc3BhbSBwcm90ZWN0aW9uIHN5c3RlbSwgeW91IGNhbiB2aXNpdCA8YSBocmVmPSJodHRwOi8vbmFzYXViZXIuZGUvb3BlbnNvdXJjZS9iOC8iPm5hc2F1YmVyLmRlPC9hPi48L3A+DQo8cD5XaGVuIGEgbmV3IG1lc3NhZ2UgaXMgc3VzcGVjdGVkIHRvIGNvbnRhaW4gc3BhbSwgdGhvdWdoIHdpdGggc3VjaCBhIGxvdyB2YWx1ZSB0aGF0IGl0IHdhcyBzYXZlZCBidXQgbm90IGFjdGl2ZSwgeW91IGNhbiBzZXJ2ZSB5b3VyIHZpc2l0b3IgYSBjaGFwdGNoYSBjaGFsbGVuZ2UuIEZvciB0aGlzIHRoZSBDYXB0Y2hhIG1vZHVsZSBuZWVkcyB0byBiZSBpbnN0YWxsZWQgYW5kIHRoZSBndWVzdGJvb2sgc2V0dGluZyAiVXNlIGNhcHRjaGEiIG5lZWRzIHRvIGJlIGNoZWNrZWQuPC9wPg0KDQo8aDM+Q3VzdG9taXNhdGlvbjwvaDM+DQo8cD5UaGUgR3Vlc3Rib29rcy10YWIgaW4gdGhlIGFkbWluIHNlY3Rpb24gYWxsb3dzIHlvdSB0byBjcmVhdGUgbW9yZSBzZXBhcmF0ZSBndWVzdGJvb2tzLiBFYWNoIGNhbiBoYXZlIGl0cyBvd24gc2V0dGluZ3MuPGJyIC8+DQpVc2VycyBtdXN0IGJlbG9uZyB0byBhIGdyb3VwIHdpdGggdGhlIFwnR2Jvb2s6IE1vZGlmeVwnIHBlcm1pc3Npb24gdG8gYmUgYWJsZSB0byBjcmVhdGUgbmV3IGd1ZXN0Ym9va3MgYW5kIHRvIGNoYW5nZSBzZXR0aW5ncy48L3A+DQoNCjxoMz5JbXBvcnQgR3Vlc3Rib29rIEVudHJpZXM8L2gzPg0KPHA+SWYgeW91IGFyZSBtaWdyYXRpbmcgeW91ciBzaXRlIGZyb20gYW5vdGhlciBDTVMgb3IgZnJvbSBhbm90aGVyIGd1ZXN0Ym9vayBzeXN0ZW0sIHlvdSBwcm9iYWJseSBtaWdodCB3YW50IHRvIGNyZWF0ZSBhIGNzdiBmaWxlIGNvbnRhaW5pbmcgYWxsIGVudHJpZXMgeW91IGhhdmUgcmVjZWl2ZWQgaW4gdGhlIHBhc3QuPC9wPg0KPHA+VGhpcyBjc3YgZmlsZSBjYW4gZWFzaWx5IGJlIGltcG9ydGVkIHRvIEdib29rLCB3aGVuIGl0IGlzIGZvcm1hdHRlZCB3aXRoIGZpZWxkcyBpbiBhIHNwZWNpZmljIG9yZGVyLCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9ucyBhbmQgZW5jbG9zZWQgYnkgZG91YmxlIHF1b3RlcywgbGlrZSB0aGlzOjxiciAvPg0KPGNvZGU+ImF1dGhvciI7ImVtYWlsIjsidGl0bGUiOyJtZXNzYWdlIjsiaXAiOyJjcmVhdGVfZGF0ZSI8L2NvZGU+PC9wPg0KPHA+QWxsIGZpZWxkcyBhcmUgb2YgdHlwZSBbc3RyaW5nXS4gVGhlIGZpZWxkIDxlbT5jcmVhdGVfZGF0ZTwvZW0+IG5lZWRzIHRvIGJlIGZvcm1hdHRlZCBhcyAieXl5eS1tbS1kZCBoaDptbTpzcyI8L3A+DQoNCjxoMz5FZGl0IEdib29rIHRlbXBsYXRlczwvaDM+DQo8cD5JbiBvcmRlciB0byBlZGl0IHRlbXBsYXRlcywgdGhlIHVzZXIgbXVzdCBiZWxvbmcgdG8gYSBncm91cCB3aXRoIHRoZSBcJ01vZGlmeSBUZW1wbGF0ZXNcJyBwZXJtaXNzaW9uLjwvcD4NCg0KPGgzPkdsb2JhbCBHYm9vayBPcHRpb25zPC9oMz4NCjxwPlRvIGVkaXQgdGhlIGdsb2JhbCBHYm9vayBvcHRpb25zLCB0aGUgdXNlciBtdXN0IGJlbG9uZyB0byBhIGdyb3VwIHdpdGggdGhlIFwnTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXNcJyBwZXJtaXNzaW9uLjwvcD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgb3IgdG8gZmlsZSBhIEZlYXR1cmUgUmVxdWVzdCBvciBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIE1vZHVsZSBGb3JnZQ0KPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8iPkdib29rIFBhZ2U8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwczovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gWW91IGFyZSB3YXJtbHkgaW52aXRlZCB0byBvcGVuIGEgbmV3IHRvcGljIGlmIHlvdSBkaWRuXCd0IGZpbmQgYW4gYW5zd2VyIHRvIHlvdXIgcXVlc3Rpb24uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPg0KPC91bD4NCg0KPGgzPkZlZWRiYWNrPC9oMz4NCjxwPklmIHlvdSBlbmpveSB0aGlzIG1vZHVsZSwgdXNlIGl0IG9uIGEgY29tbWVyY2lhbCB3ZWJzaXRlIG9yIHdvdWxkIGxpa2UgdG8gZW5jb3VyYWdlIGZ1dHVyZSBkZXZlbG9wbWVudCwgeW91IG1pZ2h0IGNvbnNpZGVyIGp1c3QgYSBzbWFsbCBkb25hdGlvbi48YnIgLz5PciBsZWF2ZSBhIG1lc3NhZ2UgaW4gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcvdmlld3RvcGljLnBocD9mPTcmdD02NDQ2MCI+R2Jvb2sgZm9ydW0gdG9waWM8L2E+LiBBbnkga2luZCBvZiBmZWVkYmFjayB3aWxsIGJlIG11Y2ggYXBwcmVjaWF0ZWQuPC9wPg0KJzsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0cmYXVtbDtzdGViJnV1bWw7Y2hlcic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0Vyc3RlbGxlbiB1bmQgVmVyd2FsdGVuIHZvbiBHJmF1bWw7c3RlYiZ1dW1sO2NoZXJuLCB1bSBlaW5pZ2UgTmFjaHJpY2h0ZW4gdm9uIElocmVyIFdlYnNpdGUtQmVzdWNoZXJuIHp1IGVyaGFsdGVuJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRXJoYWx0ZSBOYWNocmljaHRlbiB2b24gV2Vic2l0ZS1CZXN1Y2hlcm4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEYXMgR2Jvb2sgTW9kdWwgd3VyZGUgZXJmb2xncmVpY2ggaW5zdGFsbGllcnQuIFByJnV1bWw7ZmVuIFNpZSBJbmhhbHRzLUJlcmVpY2ggZiZ1dW1sO3IgJiMwMzk7JXMmIzAzOTsuJzsKJGxhbmdbJ3NwYW0nXSA9ICdTcGFtJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGwmb3VtbDtzY2hlbiBtJm91bWw7Y2h0ZW4/JzsKJGxhbmdbJ2FyZXlvdXN1cmVtdWx0aSddID0gJ1NpbmQgU2llIHNpY2hlciBkYXMgU2llIGRpZXNlIE1hc3NlbmFrdGlvbiBhdXNmJnV1bWw7aHJlbiB3b2xsZW4/JzsKJGxhbmdbJ2dib29rcyddID0gJ0cmYXVtbDtzdGViJnV1bWw7Y2hlcic7CiRsYW5nWydhZGRnYm9vayddID0gJ0cmYXVtbDtzdGVidWNoIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydnYm9va2FkZGVkJ10gPSAnRGFzIEcmYXVtbDtzdGVidWNoIHd1cmRlIGhpbnp1Z2VmJnV1bWw7Z3QnOwokbGFuZ1snZWRpdGdib29rJ10gPSAnRyZhdW1sO3N0ZWJ1Y2ggYmVhcmJlaXRlbic7CiRsYW5nWydnYm9va3VwZGF0ZWQnXSA9ICdEYXMgRyZhdW1sO3N0ZWJ1Y2ggd3VyZGUgYWt0dWFsaXNpZXJ0JzsKJGxhbmdbJ2dib29rZGVsZXRlZCddID0gJ0RhcyBHJmF1bWw7c3RlYnVjaCB3dXJkZSBnZWwmb3VtbDtzY2h0JzsKJGxhbmdbJ2VudHJpZXNfcGFnZSddID0gJ0FuemFobCBkZXIgRWludHImYXVtbDtnZSBwcm8gU2VpdGUnOwokbGFuZ1sncHJldmVudF9wb3N0X3R3aWNlJ10gPSAnVmVyaGluZGVyZSBhdWZlaW5hbmRlcmZvbGdlbmRlbiBOYWNocmljaHRlbiB2b24gZGVtc2VsYmVuIEJlbnV0emVyIChiYXNpZXJ0IGF1ZiBJUC1BZHJlc3NlKSc7CiRsYW5nWydhbGxvd19zbWlsaWVzJ10gPSAnRXJsYXViZSBTbWlsZXlzJzsKJGxhbmdbJ2FsbG93X25vdGlmaWNhdGlvbnMnXSA9ICdCZW5hY2hyaWNodGlndW5nc29wdGlvbiBha3RpdmllcmVuJzsKJGxhbmdbJ25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnQmV0cmVmZiBkZXIgQmVuYWNocmljaHRpZ3VuZyc7CiRsYW5nWydub3RpZmljYXRpb25fbWVzc2FnZSddID0gJ0luaGFsdCBkZXIgQmVuYWNocmljaHRpZ3VuZyc7CiRsYW5nWydzdWJtaXNzaW9uX3Jlc3BvbnNlJ10gPSAnQW50d29ydCBhdWYgRm9ybXVsYXImdXVtbDtiZXJtaXR0bHVuZyc7CiRsYW5nWydzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nXSA9ICdSZWFrdGlvbiBhdWYgU3BhbS1WZXJkYWNodCBGb3JtdWxhciZ1dW1sO2Jlcm1pdHRsdW5nJzsKJGxhbmdbJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnQmV0cmVmZiBkZXIgQWRtaW4gQmVuYWNocmljaHRpZ3VuZyc7CiRsYW5nWydhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZSddID0gJ0luaGFsdCBkZXIgQWRtaW4gQmVuYWNocmljaHRpZ3VuZyc7CiRsYW5nWydyZXF1aXJlZF9maWVsZHMnXSA9ICdQZmxpY2h0YW5nYWJlbiBhdWYgRnJvbnRlbmQnOwokbGFuZ1snaW1wb3J0X2NzdiddID0gJ0ltcG9ydGllciBFaW50ciZhdW1sO2dlIHZvbiBDU1YtRGF0ZWknOwokbGFuZ1snY3N2X2Zvcm1hdCddID0gJ0NTViBGb3JtYXQ6ICZxdW90O2F1dGhvciZxdW90O1tzdHJpbmddOyZxdW90O2VtYWlsJnF1b3Q7W3N0cmluZ107JnF1b3Q7dGl0bGUmcXVvdDtbc3RyaW5nXTsmcXVvdDttZXNzYWdlJnF1b3Q7W3N0cmluZ107JnF1b3Q7aXAmcXVvdDtbc3RyaW5nXTsmcXVvdDtjcmVhdGVfZGF0ZSZxdW90O1tkYXRlL3RpbWU6eXl5eS1tbS1kZCBoaDptbTpzc10nOwokbGFuZ1snc21pbGV5cyddID0gJ1NtaWxleXMnOwokbGFuZ1snc21pbGV5J10gPSAnU21pbGV5JzsKJGxhbmdbJ2FkZHNtaWxleSddID0gJ1NtaWxleSBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydzcGFtcmF0ZSddID0gJ1NwYW0gQmV3ZXJ0dW5nJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdFaW50cmFnc2RhdHVtJzsKJGxhbmdbJ21vZGlmaWVkJ10gPSAnR2UmYXVtbDtuZGVydCc7CiRsYW5nWydpdGVtYWRkZWQnXSA9ICdEZXIgRWludHJhZyB3dXJkZSBoaW56dWdlZiZ1dW1sO2d0JzsKJGxhbmdbJ2VkaXRpdGVtJ10gPSAnRWludHJhZyBiZWFyYmVpdGVuJzsKJGxhbmdbJ2l0ZW11cGRhdGVkJ10gPSAnRGVyIEVpbnRyYWcgd3VyZGUgZ2UmYXVtbDtuZGVydCc7CiRsYW5nWydpdGVtZGVsZXRlZCddID0gJ0RlciBFaW50cmFnIHd1cmRlIGdlbCZvdW1sO3NjaHQnOwokbGFuZ1snc2F2ZWFzaGFtJ10gPSAnRWludHJhZyBhbHMgJnF1b3Q7a2VpbiBTcGFtJnF1b3Q7IG1hcmtpZXJlbic7CiRsYW5nWydzYXZlYXNzcGFtJ10gPSAnRWludHJhZyBhbHMgJnF1b3Q7U3BhbSZxdW90OyBtYXJraWVyZW4nOwokbGFuZ1snZGVsZXRlZnJvbWhhbSddID0gJ1VubWFya2llciBFaW50cmFnIHZvbiAmcXVvdDtrZWluIFNwYW0mcXVvdDsnOwokbGFuZ1snZGVsZXRlZnJvbXNwYW0nXSA9ICdVbm1hcmtpZXIgRWludHJhZyB2b24gJnF1b3Q7U3BhbSZxdW90Oyc7CiRsYW5nWydzdW1tYXJ5X3RwbCddID0gJ0xpc3RlbmFuc2ljaHQnOwokbGFuZ1snZGV0YWlsX3RwbCddID0gJ0RldGFpbGFuc2ljaHRzJzsKJGxhbmdbJ2Zvcm1fdHBsJ10gPSAnRm9ybXVsYXItQW56ZWlnZSc7CiRsYW5nWydkZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdGFuZGFyZCBMaXN0ZW5hbnNpY2h0JzsKJGxhbmdbJ2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3RhbmRhcmQgRGV0YWlsYW5zaWNodHMnOwokbGFuZ1sncmVzZXRkZWZhdWx0J10gPSAnVGVtcGxhdGUgTGFkZW4vWnVyJnV1bWw7Y2tzZXR6ZW4nOwokbGFuZ1sncmVzZXR3YXJuaW5nJ10gPSAnU2luZCBTaWUgc2ljaGVyIGRhcyBTaWUgZGFzcyBUZW1wbGF0ZSB6dXImdXVtbDtja3NldHplbiBtJm91bWw7Y2h0ZW4/JzsKJGxhbmdbJ3RpdGxlX2N1c3RvbV9tb2R1bGVuYW1lJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlIE1vZHVsbmFtZSc7CiRsYW5nWydoZWxwX2N1c3RvbV9tb2R1bGVuYW1lJ10gPSAnU2llIGsmb3VtbDtubmVuIGRlbiBNb2R1bG5hbWVuIGhpZXIgJmF1bWw7bmRlcm4uIEVzIHdpcmQgYWxzIFRpdGVsIGRlciBNb2R1bCBBZG1pbi1TZWl0ZW4gdW5kIGFscyBNZW4mdXVtbDsgVGV4dCB2ZXJ3ZW5kZXQuJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3NlY3Rpb24nXSA9ICdBZG1pbi1CZXJlaWNoJzsKJGxhbmdbJ2hlbHBfYWRtaW5fc2VjdGlvbiddID0gJ1cmYXVtbDtobGVuIFNpZSBkZW4gQWRtaW4tQmVyZWljaCAodm9uIFRvcC1MZXZlbCBBZG1pbiBNZW51KSwgd28gZGllc2VzIE1vZHVsIHp1IGdlaCZvdW1sO3J0Lic7CiRsYW5nWydzZW5kX25vdGlmaWNhdGlvbnNfdG8nXSA9ICdFLU1haWwtQWRyZXNzZSB1bSBCZW5hY2hyaWNodGlndW5nZW4gJnV1bWw7YmVyIG5ldWUgRWludHImYXVtbDtnZSB6dSBlcmhhbHRlbic7CiRsYW5nWydtYXhfc3BhbXJhdGVfYWN0aXZlJ10gPSAnTWF4aW1hbGVyIHNwYW1yYXRpbmcgdW0gZWluIEVpbnRyYWcgYXV0b21hdGlzY2ggbmFjaCAmVXVtbDtiZXJtaXR0bHVuZyB6dSBha3RpdmllcmVuJzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9hY3RpdmVfaGVscCddID0gJ3p3aXNjaGVuIDAgdW5kIDEsIFZvcmVpbmdlc3RlbGx0IGlzdCAwLjYuIEtsZWluZXJlciBXZXJ0IGJlZGV1dGV0IHN0cmVuZ2VyZSBFaW5zdGVsbHVuZy4nOwokbGFuZ1snbWF4X3NwYW1yYXRlX25vdGlmeSddID0gJ01heGltYWxlciBzcGFtcmF0aW5nIHVtIEFkbWluaXN0cmF0b3IgenUgQmVuYWNocmljaHRpZ2VuJzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9ub3RpZnlfaGVscCddID0gJ3p3aXNjaGVuIDAgdW5kIDEsIFZvcmVpbmdlc3RlbGx0IGlzdCAwLjkuIEgmb3VtbDtoZXJlciBXZXJ0IGVyaCZvdW1sO2h0IGRpZSBDaGFuY2UgYXVmIE1lbGR1bmdlbiB2b24gU3BhbS1FaW50ciZhdW1sO2dlbi4nOwokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmUnXSA9ICdNYXhpbWFsZXIgc3BhbXJhdGluZyB6dW0gU3BlaWNoZXJuIGVpbmVzIG5ldWVuIEVpbnRyYWdzJzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9zYXZlX2hlbHAnXSA9ICd6d2lzY2hlbiAwIHVuZCAxLCBWb3JlaW5nZXN0ZWxsdCBpc3QgMC45LiBLbGVpbmVyZXIgV2VydCBlcmgmb3VtbDtodCBWZXJsdXN0LUNoYW5jZW4gbGVnaXRpbWVyIGVpbnRyJmF1bWw7Z2UuJzsKJGxhbmdbJ2JhZHdvcmRzJ10gPSAnTWFza2llcmUgdW5nZXpvZ2VuZSBXJm91bWw7cnRlciAoS29tbWEgZ2V0cmVubnQpJzsKJGxhbmdbJ29wdGlvbnN1cGRhdGVkJ10gPSAnRGllIEVpbnN0ZWxsdW5nZW4gd3VyZGVuIGFrdHVhbGlzaWVydC4nOwokbGFuZ1snZW50cmllcyddID0gJ0VpbnRyJmF1bWw7Z2UnOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1snZW1haWwnXSA9ICdFLU1haWwnOwokbGFuZ1sndGl0bGUnXSA9ICdUaXRlbCc7CiRsYW5nWydtZXNzYWdlJ10gPSAnTmFjaHJpY2h0JzsKJGxhbmdbJ25vdGlmeSddID0gJ0JlbmFjaHJpY2h0aWdlbiBTaWUgbWljaCBiZWkgbmV1ZW4gTmFjaHJpY2h0ZW4nOwokbGFuZ1snZmVfc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1sndmFsaWRhdGlvbl9lcnJvcnMnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgZWluZW4gZyZ1dW1sO2x0aWdlbiBFaW50cmFnIGYmdXVtbDtyIGRlbiBtYXJraWVydGVuIEZlbGRlciB1bmQgc2VuZGUgbm9jaG1hbC4nOwokbGFuZ1snZG91YmxlX3Bvc3QnXSA9ICc8cD5WaWVsZW4gRGFuay4gSWhyZSBOYWNocmljaHQgd3VyZGUgYmVyZWl0cyBlaW5nZXRyYWdlbi48L3A+JzsKJGxhbmdbJ25vdF9hbGxvd2VkX3RvX3Bvc3RfdHdpY2UnXSA9ICc8cD5FbnRzY2h1bGRpZ3VuZy4gRHVyY2ggU3BhbS1TY2h1dHogaXN0IGVzIG5pY2h0IG0mb3VtbDtnbGljaCwgendlaSBhdWZlaW5hbmRlcmZvbGdlbmRlIE5hY2hyaWNodGVuIGVpbnp1dHJhZ2VuLjwvcD4NCjxwPkJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgc3AmYXVtbDt0ZXIgbm9jaCBlaW5tYWwgb2RlciBzZW5kZW4gU2llIHVucyBlaW5lIEUtTWFpbCwgZGFtaXQgd2lyIElocmUgTmFjaHJpY2h0IGFuIHVuc2VyZSBXZWJzaXRlIGhpbnp1ZiZ1dW1sO2dlbiBrJm91bWw7bm5lbi48L3A+JzsKJGxhbmdbJ3N1Ym1pc3Npb25fcmVzcG9uc2VfY250J10gPSAnPHA+VmllbGVuIERhbmsuIElocmUgTmFjaHJpY2h0IHd1cmRlIGVpbmdldHJhZ2VuLjwvcD4nOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtX2NudCddID0gJzxwPlZpZWxlbiBEYW5rIGYmdXVtbDtyIElocmUgRWludHJhZy48L3A+DQo8cD5JaHIgRWludHJhZyB3aXJkIG5hY2ggJlV1bWw7YmVycHImdXVtbDtmdW5nIGR1cmNoIGRlbiBBZG1pbmlzdHJhdG9yIGltIEcmYXVtbDtzdGVidWNoIGFuZ2V6ZWlndC48L3A+JzsKJGxhbmdbJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0X2NudCddID0gJ05ldWUgRyZhdW1sO3N0ZWJ1Y2hlaW50cmFnJzsKJGxhbmdbJ2FkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlX2NudCddID0gJ1NpZSBoYWJlbiBlaW5lIG5ldWUgTmFjaHJpY2h0IGVyaGFsdGVuIGluIElocmVtIHtzaXRlbmFtZX0gRyZhdW1sO3N0ZWJ1Y2guDQoNCiZVdW1sO2JlcnByJnV1bWw7ZmVuIFNpZSBlcyBhdWY6IHtyb290X3VybH0nOwokbGFuZ1snaGVscF9hY3Rpb24nXSA9ICdQb3NzaWJsZSB2YWx1ZXM6IDx1bD48bGk+JiMwMzk7ZGVmYXVsdCYjMDM5OyAtIGZvciBkaXNwbGF5aW5nIHRoZSBndWVzdGJvb2sgZW50cmllczwvbGk+PGxpPiYjMDM5O2Zvcm0mIzAzOTsgLSBmb3IgZGlzcGxheWluZyBhIGZvcm08L2xpPjxsaT4mIzAzOTtkZXRhaWwmIzAzOTsgLSBmb3IgZGlzcGxheWluZyBhIHNpbmdsZSBlbnRyeSwgZS5nLiBhcyBzZWFyY2ggcmVzdWx0PC9saT48L3VsPic7CiRsYW5nWydoZWxwX2FsaWFzJ10gPSAnVXNlIGFub3RoZXIgZ3Vlc3Rib29rIHRoYW4gdGhlIGRlZmF1bHQgb25lLiBDaGVjayB0aGUgR3Vlc3Rib29rcy10YWIsIGNvbHVtbiAmIzAzOTtUYWdzJiMwMzk7LCB0byBzZWUgd2hpY2ggYWxpYXNlcyBjYW4gYmUgdXNlZC4nOwokbGFuZ1snaGVscF9lbnRyeWlkJ10gPSAnVXNlIHRoaXMgcGFyYW1ldGVyIGFsb25nIHdpdGggPGNvZGU+YWN0aW9uPSYjMDM5O2RldGFpbCYjMDM5OzwvY29kZT4gaWYgeW91IHdhbnQgdG8gZGlzcGxheSBvbmx5IG9uZSBndWVzdGJvb2sgZW50cnkuIFRvIGdldCB0aGUgbGF0ZXN0IGVudHJ5LCB1c2UgPGNvZGU+ZW50cnlpZD0tMTwvY29kZT4nOwokbGFuZ1snaGVscF90ZW1wbGF0ZSddID0gJ1VzZSBhbm90aGVyIHRlbXBsYXRlIHRoYW4gdGhlIGRlZmF1bHQgb25lLiBOb3RlIHRoYXQgdGVtcGxhdGVzIG11c3QgYmUgb2YgdGhlIHByb3BlciB0eXBlLCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGFjdGlvbiBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoZSBHYm9vayBtb2R1bGUgcHJvdmlkZXMgeW91ciBzaXRlIHZpc2l0b3JzIGEgY29udmVuaWVudCB3YXkgdG8gZ2l2ZSBzb21lIGZlZWRiYWNrIG9uIHlvdXIgc2l0ZS4gTWVzc2FnZXMgY2FuIGluY2x1ZGUgc21pbGV5cyBhbmQgeW91ciBndWVzdGJvb2sgaXMgZWZmZWN0aXZlbHkgcHJvdGVjdGVkIGZyb20gc3BhbSB3aXRob3V0IHRoZSBuZWNlc3NpdHkgb2YgdXNpbmcgYW4gYW5ub3lpbmcgY2FwdGNoYS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRvIHNob3cgdGhlIGd1ZXN0Ym9vayBlbnRyaWVzLCBqdXN0IGluc2VydCB0aGUgbW9kdWxlIHdpdGggdGhlPGNvZGU+IHtHYm9va30gPC9jb2RlPnRhZyBpbnRvIHRoZSBjb250ZW50IHNlY3Rpb24gb2YgYSBwYWdlLjxiciAvPg0KWW91IGNhbiBkaXNwbGF5IGEgZm9ybSB3aXRoIHRoZTxjb2RlPiB7R2Jvb2sgYWN0aW9uPSYjMDM5O2Zvcm0mIzAzOTt9IDwvY29kZT50YWcuPC9wPg0KPHA+VG8gZ2V0IGEgcXVpY2sgc3RhcnQsIGEgc2FtcGxlIHN0eWxlc2hlZXQgaGFzIGJlZW4gaW5zdGFsbGVkIHdoaWNoIGNvcnJlc3BvbmRzIHdpdGggdGhlIGRlZmF1bHQgbW9kdWxlIHRlbXBsYXRlcy4gQXR0YWNoIHRoZSBzdHlsZXNoZWV0ICYjMDM5O0dib29rIG1vZHVsZSYjMDM5OyB0byB5b3VyIHBhZ2UgdGVtcGxhdGUocykgdG8gZ2l2ZSB5b3VyIGd1ZXN0Ym9vayBhIGZpcnN0IGdvb2QgbG9vay48L3A+DQoNCjxoMz5FZGl0IEd1ZXN0Ym9vayBFbnRyaWVzPC9oMz4NCjxwPlVzZXJzIHdpdGggdGhlICYjMDM5O0dib29rOiBVc2UmIzAzOTsgcGVybWlzc2lvbiBjYW4gZWRpdCBndWVzdGJvb2sgZW50cmllcyBpbiB0aGUgYmFja2VuZC48L3A+DQoNCjxoMz5TcGFtIFByb3RlY3Rpb248L2gzPg0KPHA+R2Jvb2sgcHJvdWRseSB1c2VzIHRoZSAmcXVvdDtiOCZxdW90OyBzdGF0aXN0aWNhbCAoQmF5ZXNpYW4pIHNwYW0gZmlsdGVyIHZlcnNpb24gMC42LCB3cml0dGVuIGJ5IFRvYmlhcyBMZXVwb2xkLiBUaGlzIGJ1aWx0LWluIHNwYW0gcHJvdGVjdGlvbiBzeXN0ZW0gd2lsbCBvbmx5IGZ1bmN0aW9uIGFmdGVyIHlvdSBoYXZlIGxlYXJuZWQgaXQgaG93IHRvIGludGVycHJldCB0aGUgbWVzc2FnZXMgYnkgbWFya2luZyB0aGUgZmlyc3QgZmV3IGVudHJpZXMgYXMgZWl0aGVyICZxdW90O1NwYW0mcXVvdDsgb3IgJnF1b3Q7SGFtJnF1b3Q7LiBJZiB0aGUgc3lzdGVtIGhhcyBsZWFybmVkIGVub3VnaCBnb29kIGFzIHdlbGwgYXMgZW5vdWdoIGJhZCB3b3JkcywgaXQgd2lsbCBnaXZlIHNwYW0gbWVzc2FnZXMgYSByYXRpbmcgc29tZXdoZXJlIG5lYXIgMSwgYW5kIGhhbSBtZXNzYWdlcyB3aWxsIGJlIHJhdGVkIHNvbWV3aGVyZSBuZWFyIDAuIE1lc3NhZ2VzIHdpdGggYSByYXRpbmcgb2YgMC41MCBjb3VsZCBub3QgYmUgcmF0ZWQgYmVjYXVzZSBvZiB0b28gZmV3IG1hdGNoaW5nIHdvcmRzLjxiciAvPk5vdGUgdGhhdCBpdCB3b24mIzAzOTt0IGJlIG9mIHVzZSB0byBtYW51YWxseSBtYXJrIGVudHJpZXMgYXMgc3BhbSBvciBoYW0sIHdoaWNoIGFyZSBhbHJlYWR5IHJhdGVkIGFzIHN1Y2guPC9wPg0KPHA+SWYgeW91IHdhbnQgdG8ga25vdyBtb3JlIG9mIHRoaXMgZXhjZWxsZW50IHNwYW0gcHJvdGVjdGlvbiBzeXN0ZW0sIHlvdSBjYW4gdmlzaXQgPGEgaHJlZj0iaHR0cDovL25hc2F1YmVyLmRlL29wZW5zb3VyY2UvYjgvIj5uYXNhdWJlci5kZTwvYT4uPC9wPg0KDQo8aDM+Q3VzdG9taXNhdGlvbjwvaDM+DQo8cD5UaGUgR3Vlc3Rib29rcy10YWIgaW4gdGhlIGFkbWluIHNlY3Rpb24gYWxsb3dzIHlvdSB0byBjcmVhdGUgbW9yZSBzZXBhcmF0ZSBndWVzdGJvb2tzLiBFYWNoIGNhbiBoYXZlIGl0cyBvd24gc2V0dGluZ3MuPGJyIC8+DQpVc2VycyBtdXN0IGJlbG9uZyB0byBhIGdyb3VwIHdpdGggdGhlICYjMDM5O0dib29rOiBNb2RpZnkmIzAzOTsgcGVybWlzc2lvbiB0byBiZSBhYmxlIHRvIGNyZWF0ZSBuZXcgZ3Vlc3Rib29rcyBhbmQgdG8gY2hhbmdlIHNldHRpbmdzLjwvcD4NCg0KPGgzPkltcG9ydCBHdWVzdGJvb2sgRW50cmllczwvaDM+DQo8cD5JZiB5b3UgYXJlIG1pZ3JhdGluZyB5b3VyIHNpdGUgZnJvbSBhbm90aGVyIENNUyBvciBmcm9tIGFub3RoZXIgZ3Vlc3Rib29rIHN5c3RlbSwgeW91IHByb2JhYmx5IG1pZ2h0IHdhbnQgdG8gY3JlYXRlIGEgY3N2IGZpbGUgY29udGFpbmluZyBhbGwgZW50cmllcyB5b3UgaGF2ZSByZWNlaXZlZCBpbiB0aGUgcGFzdC48L3A+DQo8cD5UaGlzIGNzdiBmaWxlIGNhbiBlYXNpbHkgYmUgaW1wb3J0ZWQgdG8gR2Jvb2ssIHdoZW4gaXQgaXMgZm9ybWF0dGVkIHdpdGggZmllbGRzIGluIGEgc3BlY2lmaWMgb3JkZXIsIHNlcGFyYXRlZCBieSBzZW1pY29sb25zIGFuZCBlbmNsb3NlZCBieSBkb3VibGUgcXVvdGVzLCBsaWtlIHRoaXM6PGJyIC8+DQo8Y29kZT4mcXVvdDthdXRob3ImcXVvdDs7JnF1b3Q7ZW1haWwmcXVvdDs7JnF1b3Q7dGl0bGUmcXVvdDs7JnF1b3Q7bWVzc2FnZSZxdW90OzsmcXVvdDtpcCZxdW90OzsmcXVvdDtjcmVhdGVfZGF0ZSZxdW90OzwvY29kZT48L3A+DQo8cD5BbGwgZmllbGRzIGFyZSBvZiB0eXBlIFtzdHJpbmddLiBUaGUgZmllbGQgPGVtPmNyZWF0ZV9kYXRlPC9lbT4gbmVlZHMgdG8gYmUgZm9ybWF0dGVkIGFzICZxdW90O3l5eXktbW0tZGQgaGg6bW06c3MmcXVvdDs8L3A+DQoNCjxoMz5FZGl0IEdib29rIHRlbXBsYXRlczwvaDM+DQo8cD5JbiBvcmRlciB0byBlZGl0IHRlbXBsYXRlcywgdGhlIHVzZXIgbXVzdCBiZWxvbmcgdG8gYSBncm91cCB3aXRoIHRoZSAmIzAzOTtNb2RpZnkgVGVtcGxhdGVzJiMwMzk7IHBlcm1pc3Npb24uPC9wPg0KDQo8aDM+R2xvYmFsIEdib29rIE9wdGlvbnM8L2gzPg0KPHA+VG8gZWRpdCB0aGUgZ2xvYmFsIEdib29rIG9wdGlvbnMsIHRoZSB1c2VyIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgJiMwMzk7TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMmIzAzOTsgcGVybWlzc2lvbi48L3A+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5GQVFzLCBleHRlbmRlZCBtb2R1bGUgaGVscCBhbmQgVHJvdWJsZXNob290aW5nIGNhbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL3dpa2kuY21zbXMubmwvaW5kZXgucGhwL0dib29rIj5HYm9vayBXaWtpIERvY3VtZW50YXRpb248L2E+LjwvbGk+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBvciB0byBmaWxlIGEgRmVhdHVyZSBSZXF1ZXN0IG9yIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgTW9kdWxlIEZvcmdlDQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2dib29rLyI+R2Jvb2sgUGFnZTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uIFlvdSBhcmUgd2FybWx5IGludml0ZWQgdG8gb3BlbiBhIG5ldyB0b3BpYyBpZiB5b3UgZGlkbiYjMDM5O3QgZmluZCBhbiBhbnN3ZXIgdG8geW91ciBxdWVzdGlvbi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+DQo8L3VsPg0KDQo8aDM+RmVlZGJhY2s8L2gzPg0KPHA+SWYgeW91IGVuam95IHRoaXMgbW9kdWxlLCB1c2UgaXQgb24gYSBjb21tZXJjaWFsIHdlYnNpdGUgb3Igd291bGQgbGlrZSB0byBlbmNvdXJhZ2UgZnV0dXJlIGRldmVsb3BtZW50LCB5b3UgbWlnaHQgY29uc2lkZXIganVzdCBhIHNtYWxsIGRvbmF0aW9uLjxiciAvPk9yIGxlYXZlIGEgbWVzc2FnZSBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnL3ZpZXd0b3BpYy5waHA/Zj03JmFtcDt0PTY0NDYwIj5HYm9vayBmb3J1bSB0b3BpYzwvYT4uIEFueSBraW5kIG9mIGZlZWRiYWNrIHdpbGwgYmUgbXVjaCBhcHByZWNpYXRlZC48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTgzNDI0NjY0NC4xMzg2NTQ4MjMyLjEzODY1NDgyMzIuMTM4NjU0ODIzMi4xJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM4NjU0ODIzMi4xLjEudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vc2VhcmNoLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0xpdnJlcyBkXCdvcic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0Nyw6llciBldCBnw6lyZXIgZGVzIGxpdnJlcyBkXCdvciBwb3VyIG9idGVuaXIgbGVzIGF2aXMgZGVzIGludGVybmF1dGVzLic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09idGVuaXIgZGVzIGF2aXMgZGUgdm9zIHZpc2l0ZXVycyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBHYm9vayBtb2R1bGUgd2FzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuIENoZWNrIHRoZSBhZG1pbiBDb250ZW50IHNlY3Rpb24gZm9yIFwnJXNcJy4nOwokbGFuZ1snc3BhbSddID0gJ1BvdXJyaWVsJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBzdXBwcmltZXIgPyc7CiRsYW5nWydhcmV5b3VzdXJlbXVsdGknXSA9ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBleMOpY3V0ZXIgY2V0dGUgYWN0aW9uIGdyb3Vww6llID8nOwokbGFuZ1snZ2Jvb2tzJ10gPSAnTGl2cmVzIGRcJ29yJzsKJGxhbmdbJ2FkZGdib29rJ10gPSAnQWpvdXRlciB1biBsaXZyZSBkXCdvcic7CiRsYW5nWydnYm9va2FkZGVkJ10gPSAnTGl2cmUgZFwnb3IgYWpvdXTDqSc7CiRsYW5nWydlZGl0Z2Jvb2snXSA9ICdNb2RpZmllciBsZSBsaXZyZSBkXCdvcic7CiRsYW5nWydnYm9va3VwZGF0ZWQnXSA9ICdMaXZyZSBkXCdvciBtb2RpZmnDqSc7CiRsYW5nWydnYm9va2RlbGV0ZWQnXSA9ICdMZSBsaXZyZSBkXCdvciBlc3Qgc3VwcHJpbcOpJzsKJGxhbmdbJ2VudHJpZXNfcGFnZSddID0gJ05vbWJyZSBkZSBtZXNzYWdlIHBhciBwYWdlJzsKJGxhbmdbJ3ByZXZlbnRfcG9zdF90d2ljZSddID0gJ0VtcMOqY2hlciBkZXMgbWVzc2FnZXMgY29uc8OpY3V0aWZzIHBhciBsZSBtw6ptZSB1dGlsaXNhdGV1ciAoYmFzw6kgc3VyIGxcJ2FkcmVzc2UgSVApJzsKJGxhbmdbJ2FsbG93X3NtaWxpZXMnXSA9ICdBdXRvcmlzZSBsZXMgc21pbGV5cyc7CiRsYW5nWydhbGxvd19ub3RpZmljYXRpb25zJ10gPSAnQWN0aXZlciBsXCdvcHRpb24gZGUgbm90aWZpY2F0aW9uJzsKJGxhbmdbJ25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnU3VqZXQgZHUgbWFpbCBkZSBub3RpZmljYXRpb24nOwokbGFuZ1snbm90aWZpY2F0aW9uX21lc3NhZ2UnXSA9ICdNZXNzYWdlIGR1IG1haWwgZGUgbm90aWZpY2F0aW9uJzsKJGxhbmdbJ3N1Ym1pc3Npb25fcmVzcG9uc2UnXSA9ICdSZXBvbnNlIMOgIGxhIHNvdW1pc3Npb24gZHUgbWVzc2FnZS4nOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtJ10gPSAnUsOpcG9uc2Ugw6AgbGEgc291bWlzc2lvbiBkXCd1biBtZXNzYWdlIHN1c3BlY3TDqSBkZSBzcGFtJzsKJGxhbmdbJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0J10gPSAnU3VqZXQgZHUgbWFpbCBkZSBub3RpZmljYXRpb24gZGUgbFwnYWRtaW4nOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2UnXSA9ICdNZXNzYWdlIGR1IG1haWwgZGUgbm90aWZpY2F0aW9uIGRlIGxcJ2FkbWluJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkcyddID0gJ0NoYW1wcyBvYmxpZ2F0b2lyZXMgZGFucyBsZSBmb3JtdWxhaXJlIGVuIGxpZ25lJzsKJGxhbmdbJ2ltcG9ydF9jc3YnXSA9ICdJbXBvcnRlciBkZXMgbWVzc2FnZXMgYXUgZm9ybWF0IGNzdic7CiRsYW5nWydjc3ZfZm9ybWF0J10gPSAnY3N2IGZvcm1hdDogImF1dGhvciJbc3RyaW5nXTsiZW1haWwiW3N0cmluZ107InRpdGxlIltzdHJpbmddOyJtZXNzYWdlIltzdHJpbmddOyJpcCJbc3RyaW5nXTsiY3JlYXRlX2RhdGUiW2RhdGUvdGltZTp5eXl5LW1tLWRkIGhoOm1tOnNzXSc7CiRsYW5nWydzbWlsZXlzJ10gPSAnU21pbGV5cyc7CiRsYW5nWydzbWlsZXknXSA9ICdTbWlsZXknOwokbGFuZ1snYWRkc21pbGV5J10gPSAnQWpvdXRlciBTbWlsZXknOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydzcGFtcmF0ZSddID0gJ05pdmVhdSBkZSBzcGFtJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcsOpw6knOwokbGFuZ1snbW9kaWZpZWQnXSA9ICdNb2RpZmnDqSc7CiRsYW5nWydhcHByb3ZlZCddID0gJ0FwcHJvdXbDqSc7CiRsYW5nWydpdGVtYWRkZWQnXSA9ICdMZSBtZXNzYWdlIGVzdCBham91dMOpJzsKJGxhbmdbJ2VkaXRpdGVtJ10gPSAnTW9kaWZpZXIgbGUgbWVzc2FnZSc7CiRsYW5nWydpdGVtdXBkYXRlZCddID0gJ01lc3NhZ2UgIGVzdCBtb2RpZmnDqWUnOwokbGFuZ1snaXRlbWRlbGV0ZWQnXSA9ICdNZXNzYWdlIGVzdCBzdXBwcmltw6lyJzsKJGxhbmdbJ3NhdmVhc2hhbSddID0gJ01hcnF1w6kgbGUgbWVzc2FnZSBjb21tZSAgIkhhbSInOwokbGFuZ1snc2F2ZWFzc3BhbSddID0gJ01hcnF1w6kgbGUgbWVzc2FnZSBjb21tZSAiU3BhbSInOwokbGFuZ1snZGVsZXRlZnJvbWhhbSddID0gJ05lIHBhcyBtYXJxdWVyIGNvbW1lICJIYW0iJzsKJGxhbmdbJ2RlbGV0ZWZyb21zcGFtJ10gPSAnTmUgcGFzIG1hcnF1ZXIgY29tbWUgIlNwYW0iJzsKJGxhbmdbJ3N1bW1hcnlfdHBsJ10gPSAndnVlIHNvbW1haXJlJzsKJGxhbmdbJ2RldGFpbF90cGwnXSA9ICd2dWUgZMOpdGFpbCc7CiRsYW5nWydmb3JtX3RwbCddID0gJ2Zvcm11bGFpcmUgZGUgc291bWlzc2lvbiBlbiBsaWduZSc7CiRsYW5nWydkZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdHYWJhcml0IGRlIHNvbW1haXJlIHBhciBkw6lmYXV0JzsKJGxhbmdbJ2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkZSBkw6l0YWlsIHBhciBkw6lmYXV0JzsKJGxhbmdbJ3Jlc2V0ZGVmYXVsdCddID0gJ0NoYXJnZXIvcsOpaW5pdGlhbGlzZXIgbGUgZ2FiYXJpdCBwYXIgZMOpZmF1dCc7CiRsYW5nWydyZXNldHdhcm5pbmcnXSA9ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciByw6lpbml0aWFsaXNlciBsZSBjb2RlIGRlIGNlIGdhYmFyaXQgPyc7CiRsYW5nWyd0aXRsZV9jdXN0b21fbW9kdWxlbmFtZSddID0gJ05vbSBkZSBtb2R1bGUgcGVyc29ubmFsaXPDqSc7CiRsYW5nWydzZW5kX25vdGlmaWNhdGlvbnNfdG8nXSA9ICdTZW5kIG5vdGlmaWNhdGlvbiBvZiBuZXcgZW50cmllcyB0byBlZGl0b3InOwokbGFuZ1snbWF4X3NwYW1yYXRlX2FjdGl2ZSddID0gJ01heGltdW0gc3BhbXJhdGluZyB0byBhdXRvbWF0aWNhbGx5IHNldCBhbiBlbnRyeSBhY3RpdmUgb24gc3VibWl0JzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9hY3RpdmVfaGVscCddID0gJ2JldHdlZW4gMCBhbmQgMSwgZGVmYXVsdCAwLjYuIExvd2VyIHZhbHVlIG1lYW5zIHRpZ2h0ZXIgc2V0dGluZy4nOwokbGFuZ1snbWF4X3NwYW1yYXRlX25vdGlmeSddID0gJ01heGltdW0gc3BhbXJhdGluZyBmb3Igc2VuZGluZyBhIG5vdGlmaWNhdGlvbiB0byBlZGl0b3InOwokbGFuZ1snbWF4X3NwYW1yYXRlX25vdGlmeV9oZWxwJ10gPSAnYmV0d2VlbiAwIGFuZCAxLCBkZWZhdWx0IDAuOS4gSGlnaGVyIHZhbHVlIHdpbGwgaW5jcmVhc2UgdGhlIGNoYW5jZSBvZiBnZXR0aW5nIG5vdGlmaWNhdGlvbnMgb2Ygc3BhbSBlbnRyaWVzLic7CiRsYW5nWydtYXhfc3BhbXJhdGVfc2F2ZSddID0gJ01heGltdW0gc3BhbXJhdGluZyBmb3Igc2F2aW5nIGEgbmV3IGVudHJ5JzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9zYXZlX2hlbHAnXSA9ICdiZXR3ZWVuIDAgYW5kIDEsIGRlZmF1bHQgMC45LiBMb3dlciB2YWx1ZSB3aWxsIGluY3JlYXNlIHRoZSBjaGFuY2Ugb2YgbG9zaW5nIGxlZ2l0aW1hdGUgZW50cmllcy4nOwokbGFuZ1snYmFkd29yZHMnXSA9ICdGaWx0ZXIgYmFkIHdvcmRzIChjb21tYSBzZXBhcmF0ZWQpJzsKJGxhbmdbJ29wdGlvbnN1cGRhdGVkJ10gPSAnVGhlIG9wdGlvbnMgd2VyZSBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOwokbGFuZ1snZW50cmllcyddID0gJ01lc3NhZ2VzJzsKJGxhbmdbJ25hbWUnXSA9ICdOb20nOwokbGFuZ1snZW1haWwnXSA9ICdFLW1haWwnOwokbGFuZ1sndGl0bGUnXSA9ICdUaXRyZSc7CiRsYW5nWydtZXNzYWdlJ10gPSAnTWVzc2FnZSc7CiRsYW5nWydub3RpZnknXSA9ICdNXCdpbmZvcm1lciBkZXMgbm91dmVhdXggbWVzc2FnZXMnOwokbGFuZ1snZmVfc3VibWl0J10gPSAnRW52b3llcic7CiRsYW5nWyd2YWxpZGF0aW9uX2Vycm9ycyddID0gJ01lcmNpIGRlIHNhaXNpciBkZXMgZG9ubsOpZXMgdmFsaWRlcyBwb3VyIGxlcyBjaGFtcHMgaW5kaXF1w6lzIGV0IGRlIHJlLXZhbGlkZXIuJzsKJGxhbmdbJ2RvdWJsZV9wb3N0J10gPSAnPHA+TWVyY2kgcG91ciB2b3RyZSBtZXNzYWdlLiBDZWx1aS1jaSBhIMOpdMOpIGFqb3V0w6kgYXUgbGl2cmUgZFwnb3IuPC9wPic7CiRsYW5nWydub3RfYWxsb3dlZF90b19wb3N0X3R3aWNlJ10gPSAnPHA+RMOpc29sw6ksIHBvdXIgZGVzIHJhaXNvbnMgZGUgc8OpY3VyaXTDqSwgaWwgblwnZXN0IHBhcyBwb3NzaWJsZSBkZSBzb3VtZXR0cmUgZGV1eCBtZXNzYWdlcyBjb25zw6ljdXRpZnMgcGFyIGxhIG3Dqm1lIHBlcnNvbm5lLjwvcD4NCjxwPk1lcmNpIGRcJ2Vzc2F5ZXIgcGx1cyB0YXJkIG91IGJpZW4gZW52b3llei1ub3VzIHVuIGVtYWlsIGFmaW4gcXVlIG5vdXMgYWpvdXRpb25zIG5vdXMtbcOqbWUgdm90cmUgbWVzc2FnZS48L3A+JzsKJGxhbmdbJ3N1Ym1pc3Npb25fcmVzcG9uc2VfY250J10gPSAnPHA+TWVyY2kgcG91ciB2b3RyZSBtZXNzYWdlLiBDZWx1aS1jaSBhIMOpdMOpIGFqb3V0w6kgYXUgbGl2cmUgZFwnb3IuPC9wPic7CiRsYW5nWydzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW1fY250J10gPSAnPHA+TWVyY2kgcG91ciB2b3RyZSBtZXNzYWdlLjwvcD4NCg0KPHA+Q2VsdWkgw6l0YW50IGNlcGVuZGFudCBzdXNwZWN0w6kgZGUgY29udGVuaXIgZHUgY29udGVudSBpbmTDqXNpcmFibGUsIGlsIGRvaXQgw6p0cmUgdmFsaWTDqSBwYXIgdW4gYWRtaW5pc3RyYXRldXIgYXZhbnQgZFwnw6p0cmUgYWZmaWNow6kuPC9wPg0KPHA+TWVyY2kgZGUgbm91cyBlbiBpbmZvcm1lciBlbiBub3VzIGVudm95YW50IHVuIGUtbWFpbC48L3A+JzsKJGxhbmdbJ2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0X2NudCddID0gJ05vdXZlYXUgbWVzc2FnZSBzdXIgbGUgbGl2cmUgZFwnb3InOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2VfY250J10gPSAnVm91cyBhdmV6IHJlw6d1IHVuIG5vdXZlYXUgbWVzc2FnZSBzdXIgbGUgbGl2cmUgZFwnb3Igc3VyIHNpdGUge3NpdGVuYW1lfS4NCg0KUG91ciBsZSBjb25zdWx0ZXIsIHJlbmRlei12b3VzIHN1ciB7cm9vdF91cmx9JzsKJGxhbmdbJ2hlbHBfYWN0aW9uJ10gPSAnUG9zc2libGUgdmFsdWVzOiA8dWw+PGxpPlwnZGVmYXVsdFwnIC0gZm9yIGRpc3BsYXlpbmcgdGhlIGd1ZXN0Ym9vayBlbnRyaWVzPC9saT48bGk+XCdmb3JtXCcgLSBmb3IgZGlzcGxheWluZyBhIGZvcm08L2xpPjxsaT5cJ2RldGFpbFwnIC0gZm9yIGRpc3BsYXlpbmcgYSBzaW5nbGUgZW50cnksIGUuZy4gYXMgc2VhcmNoIHJlc3VsdDwvbGk+PC91bD4nOwokbGFuZ1snaGVscF9hbGlhcyddID0gJ1VzZSBhbm90aGVyIGd1ZXN0Ym9vayB0aGFuIHRoZSBkZWZhdWx0IG9uZS4gQ2hlY2sgdGhlIEd1ZXN0Ym9va3MtdGFiLCBjb2x1bW4gXCdUYWdzXCcsIHRvIHNlZSB3aGljaCBhbGlhc2VzIGNhbiBiZSB1c2VkLic7CiRsYW5nWydoZWxwX2VudHJ5aWQnXSA9ICdVc2UgdGhpcyBwYXJhbWV0ZXIgYWxvbmcgd2l0aCA8Y29kZT5hY3Rpb249XCdkZXRhaWxcJzwvY29kZT4gaWYgeW91IHdhbnQgdG8gZGlzcGxheSBvbmx5IG9uZSBndWVzdGJvb2sgZW50cnkuIFRvIGdldCB0aGUgbGF0ZXN0IGVudHJ5LCB1c2UgPGNvZGU+ZW50cnlpZD0tMTwvY29kZT4nOwokbGFuZ1snaGVscF90ZW1wbGF0ZSddID0gJ1VzZSBhbm90aGVyIHRlbXBsYXRlIHRoYW4gdGhlIGRlZmF1bHQgb25lLiBOb3RlIHRoYXQgdGVtcGxhdGVzIG11c3QgYmUgb2YgdGhlIHByb3BlciB0eXBlLCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGFjdGlvbiBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoZSBHYm9vayBtb2R1bGUgcHJvdmlkZXMgeW91ciBzaXRlIHZpc2l0b3JzIGEgY29udmVuaWVudCB3YXkgdG8gZ2l2ZSBzb21lIGZlZWRiYWNrIG9uIHlvdXIgc2l0ZS4gTWVzc2FnZXMgY2FuIGluY2x1ZGUgc21pbGV5cyBhbmQgeW91ciBndWVzdGJvb2sgaXMgZWZmZWN0aXZlbHkgcHJvdGVjdGVkIGZyb20gc3BhbSB3aXRob3V0IHRoZSBuZWNlc3NpdHkgb2YgdXNpbmcgYW4gYW5ub3lpbmcgY2FwdGNoYS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRvIHNob3cgdGhlIGd1ZXN0Ym9vayBlbnRyaWVzLCBqdXN0IGluc2VydCB0aGUgbW9kdWxlIHdpdGggdGhlPGNvZGU+IHtHYm9va30gPC9jb2RlPnRhZyBpbnRvIHRoZSBjb250ZW50IHNlY3Rpb24gb2YgYSBwYWdlLjxiciAvPg0KWW91IGNhbiBkaXNwbGF5IGEgZm9ybSB3aXRoIHRoZTxjb2RlPiB7R2Jvb2sgYWN0aW9uPVwnZm9ybVwnfSA8L2NvZGU+dGFnLjwvcD4NCjxwPlRvIGdldCBhIHF1aWNrIHN0YXJ0LCBhIHNhbXBsZSBzdHlsZXNoZWV0IGhhcyBiZWVuIGluc3RhbGxlZCB3aGljaCBjb3JyZXNwb25kcyB3aXRoIHRoZSBkZWZhdWx0IG1vZHVsZSB0ZW1wbGF0ZXMuIEF0dGFjaCB0aGUgc3R5bGVzaGVldCBcJ0dib29rIG1vZHVsZVwnIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZShzKSB0byBnaXZlIHlvdXIgZ3Vlc3Rib29rIGEgZmlyc3QgZ29vZCBsb29rLjwvcD4NCg0KPGgzPkVkaXQgR3Vlc3Rib29rIEVudHJpZXM8L2gzPg0KPHA+VXNlcnMgd2l0aCB0aGUgXCdHYm9vazogVXNlXCcgcGVybWlzc2lvbiBjYW4gZWRpdCBndWVzdGJvb2sgZW50cmllcyBpbiB0aGUgYmFja2VuZC48L3A+DQoNCjxoMz5TcGFtIFByb3RlY3Rpb248L2gzPg0KPHA+R2Jvb2sgcHJvdWRseSB1c2VzIHRoZSAiYjgiIHN0YXRpc3RpY2FsIChCYXllc2lhbikgc3BhbSBmaWx0ZXIgdmVyc2lvbiAwLjYsIHdyaXR0ZW4gYnkgVG9iaWFzIExldXBvbGQuIFRoaXMgYnVpbHQtaW4gc3BhbSBwcm90ZWN0aW9uIHN5c3RlbSB3aWxsIG9ubHkgZnVuY3Rpb24gYWZ0ZXIgeW91IGhhdmUgbGVhcm5lZCBpdCBob3cgdG8gaW50ZXJwcmV0IHRoZSBtZXNzYWdlcyBieSBtYXJraW5nIHRoZSBmaXJzdCBmZXcgZW50cmllcyBhcyBlaXRoZXIgIlNwYW0iIG9yICJIYW0iLiBJZiB0aGUgc3lzdGVtIGhhcyBsZWFybmVkIGVub3VnaCBnb29kIGFzIHdlbGwgYXMgZW5vdWdoIGJhZCB3b3JkcywgaXQgd2lsbCBnaXZlIHNwYW0gbWVzc2FnZXMgYSByYXRpbmcgc29tZXdoZXJlIG5lYXIgMSwgYW5kIGhhbSBtZXNzYWdlcyB3aWxsIGJlIHJhdGVkIHNvbWV3aGVyZSBuZWFyIDAuIE1lc3NhZ2VzIHdpdGggYSByYXRpbmcgb2YgMC41MCBjb3VsZCBub3QgYmUgcmF0ZWQgYmVjYXVzZSBvZiB0b28gZmV3IG1hdGNoaW5nIHdvcmRzLjxiciAvPk5vdGUgdGhhdCBpdCB3b25cJ3QgYmUgb2YgdXNlIHRvIG1hbnVhbGx5IG1hcmsgZW50cmllcyBhcyBzcGFtIG9yIGhhbSwgd2hpY2ggYXJlIGFscmVhZHkgcmF0ZWQgYXMgc3VjaC48L3A+DQo8cD5JZiB5b3Ugd2FudCB0byBrbm93IG1vcmUgb2YgdGhpcyBleGNlbGxlbnQgc3BhbSBwcm90ZWN0aW9uIHN5c3RlbSwgeW91IGNhbiB2aXNpdCA8YSBocmVmPSJodHRwOi8vbmFzYXViZXIuZGUvb3BlbnNvdXJjZS9iOC8iPm5hc2F1YmVyLmRlPC9hPi48L3A+DQoNCjxoMz5DdXN0b21pc2F0aW9uPC9oMz4NCjxwPlRoZSBHdWVzdGJvb2tzLXRhYiBpbiB0aGUgYWRtaW4gc2VjdGlvbiBhbGxvd3MgeW91IHRvIGNyZWF0ZSBtb3JlIHNlcGFyYXRlIGd1ZXN0Ym9va3MuIEVhY2ggY2FuIGhhdmUgaXRzIG93biBzZXR0aW5ncy48YnIgLz4NClVzZXJzIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgXCdHYm9vazogTW9kaWZ5XCcgcGVybWlzc2lvbiB0byBiZSBhYmxlIHRvIGNyZWF0ZSBuZXcgZ3Vlc3Rib29rcyBhbmQgdG8gY2hhbmdlIHNldHRpbmdzLjwvcD4NCg0KPGgzPkltcG9ydCBHdWVzdGJvb2sgRW50cmllczwvaDM+DQo8cD5JZiB5b3UgYXJlIG1pZ3JhdGluZyB5b3VyIHNpdGUgZnJvbSBhbm90aGVyIENNUyBvciBmcm9tIGFub3RoZXIgZ3Vlc3Rib29rIHN5c3RlbSwgeW91IHByb2JhYmx5IG1pZ2h0IHdhbnQgdG8gY3JlYXRlIGEgY3N2IGZpbGUgY29udGFpbmluZyBhbGwgZW50cmllcyB5b3UgaGF2ZSByZWNlaXZlZCBpbiB0aGUgcGFzdC48L3A+DQo8cD5UaGlzIGNzdiBmaWxlIGNhbiBlYXNpbHkgYmUgaW1wb3J0ZWQgdG8gR2Jvb2ssIHdoZW4gaXQgaXMgZm9ybWF0dGVkIHdpdGggZmllbGRzIGluIGEgc3BlY2lmaWMgb3JkZXIsIHNlcGFyYXRlZCBieSBzZW1pY29sb25zIGFuZCBlbmNsb3NlZCBieSBkb3VibGUgcXVvdGVzLCBsaWtlIHRoaXM6PGJyIC8+DQo8Y29kZT4iYXV0aG9yIjsiZW1haWwiOyJ0aXRsZSI7Im1lc3NhZ2UiOyJpcCI7ImNyZWF0ZV9kYXRlIjwvY29kZT48L3A+DQo8cD5BbGwgZmllbGRzIGFyZSBvZiB0eXBlIFtzdHJpbmddLiBUaGUgZmllbGQgPGVtPmNyZWF0ZV9kYXRlPC9lbT4gbmVlZHMgdG8gYmUgZm9ybWF0dGVkIGFzICJ5eXl5LW1tLWRkIGhoOm1tOnNzIjwvcD4NCg0KPGgzPkVkaXQgR2Jvb2sgdGVtcGxhdGVzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGVkaXQgdGVtcGxhdGVzLCB0aGUgdXNlciBtdXN0IGJlbG9uZyB0byBhIGdyb3VwIHdpdGggdGhlIFwnTW9kaWZ5IFRlbXBsYXRlc1wnIHBlcm1pc3Npb24uPC9wPg0KDQo8aDM+R2xvYmFsIEdib29rIE9wdGlvbnM8L2gzPg0KPHA+VG8gZWRpdCB0aGUgZ2xvYmFsIEdib29rIG9wdGlvbnMsIHRoZSB1c2VyIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgXCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlc1wnIHBlcm1pc3Npb24uPC9wPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBvciB0byBmaWxlIGEgRmVhdHVyZSBSZXF1ZXN0IG9yIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgTW9kdWxlIEZvcmdlDQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2dib29rLyI+R2Jvb2sgUGFnZTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiBZb3UgYXJlIHdhcm1seSBpbnZpdGVkIHRvIG9wZW4gYSBuZXcgdG9waWMgaWYgeW91IGRpZG5cJ3QgZmluZCBhbiBhbnN3ZXIgdG8geW91ciBxdWVzdGlvbi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+DQo8L3VsPg0KDQo8aDM+RmVlZGJhY2s8L2gzPg0KPHA+SWYgeW91IGVuam95IHRoaXMgbW9kdWxlLCB1c2UgaXQgb24gYSBjb21tZXJjaWFsIHdlYnNpdGUgb3Igd291bGQgbGlrZSB0byBlbmNvdXJhZ2UgZnV0dXJlIGRldmVsb3BtZW50LCB5b3UgbWlnaHQgY29uc2lkZXIganVzdCBhIHNtYWxsIGRvbmF0aW9uLjxiciAvPk9yIGxlYXZlIGEgbWVzc2FnZSBpbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy92aWV3dG9waWMucGhwP2Y9NyZ0PTY0NDYwIj5HYm9vayBmb3J1bSB0b3BpYzwvYT4uIEFueSBraW5kIG9mIGZlZWRiYWNrIHdpbGwgYmUgbXVjaCBhcHByZWNpYXRlZC48L3A+JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dqZXN0ZWLDuGtlcic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ09wcHJldHQgb2cgYmVoYW5kbGUgZ2plc3RlYsO4a2VyIGZvciDDpSBmw6UgdGlsYmFrZW1lbGRpbmdlciBmcmEgYmVzw7hrZW5kZSBww6Ugc2lkZW4gZGluJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRsOlIHRpbGJha2VtZWxkaW5nZXIgZnJhIGJlc8O4a2VuZGUgcMOlIHNpZGVuIGRpbic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1ZlbGx5a2tldCBpbnN0YWxsZXJpbmcgYXYgR2Jvb2stbW9kdWxlbi4gU2UgaW5uaG9sZHMtc2Vrc2pvbmVuIGkgQWRtaW4uJzsKJGxhbmdbJ3NwYW0nXSA9ICdTcGFtJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IMO4bnNrZXIgw6Ugc2xldHRlPyc7CiRsYW5nWydhcmV5b3VzdXJlbXVsdGknXSA9ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IMO4bnNrZXIgw6UgdXRmw7hyZSBkZW5uZSBidWxrLWhhbmRsaW5nZW4/JzsKJGxhbmdbJ2dib29rcyddID0gJ0dqZXN0ZWLDuGtlcic7CiRsYW5nWydhZGRnYm9vayddID0gJ09wcHJldHQgZW4gZ2plc3RlYm9rJzsKJGxhbmdbJ2dib29rYWRkZWQnXSA9ICdHamVzdGVib2tlbiBlciBvcHByZXR0ZXQnOwokbGFuZ1snZWRpdGdib29rJ10gPSAnUmVkaWdlciBHamVzdGVib2tlbic7CiRsYW5nWydnYm9va3VwZGF0ZWQnXSA9ICdHamVzdGJva2VuIGVyIG9wcGRhdGVydCc7CiRsYW5nWydnYm9va2RlbGV0ZWQnXSA9ICdHamVzdGVib2tlbiBlciBzbGV0dGV0JzsKJGxhbmdbJ2VudHJpZXNfcGFnZSddID0gJ0FudGFsbCBpbm5sZWdnIHBlciBzaWRlJzsKJGxhbmdbJ3ByZXZlbnRfcG9zdF90d2ljZSddID0gJ0hpbmRyZSBmbGVyZSBtZWxkaW5nZXIgZnJhIHNhbW1lIGJydWtlciBww6UgcmFkIChiYXNlcnQgcMOlIElQLWFkcmVzc2UpJzsKJGxhbmdbJ2FsbG93X3NtaWxpZXMnXSA9ICdUaWxsYXQgU21pbGllcyc7CiRsYW5nWydhbGxvd19ub3RpZmljYXRpb25zJ10gPSAnU2zDpSBww6UgdmFsZyBmb3IgdmFyc2xpbmdlcic7CiRsYW5nWydub3RpZmljYXRpb25fc3ViamVjdCddID0gJ0Vwb3N0LXZhcnNlbCBlbW5lJzsKJGxhbmdbJ25vdGlmaWNhdGlvbl9tZXNzYWdlJ10gPSAnRXBvc3QtdmFyc2VsIG1lbGRpbmcnOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZSddID0gJ1Jlc3BvbnMgdmVkIGlubnNlbmR0IHNramVtYSc7CiRsYW5nWydzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nXSA9ICdSZXNwb25zIHZlZCBtaXN0YW5rZSBvbSBwb3N0aW5nIGF2IHNwYW0nOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3QnXSA9ICdBZG1pbiBlcG9zdC12YXJzZWwgZW1uZSc7CiRsYW5nWydhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZSddID0gJ0FkbWluIGVwb3N0LXZhcnNlbCBtZWxkaW5nJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkcyddID0gJ1DDpWtyZXZkZSBmZWx0ZXIgaSBnamVzdGVib2sgZm9yc2lkZSc7CiRsYW5nWydpbXBvcnRfY3N2J10gPSAnSW1wb3J0ZXIgaW5ubGVnZyBmcmEgY3N2LWZpbCc7CiRsYW5nWydjc3ZfZm9ybWF0J10gPSAnY3N2IGZvcm1hdDogImF1dGhvciJbc3RyaW5nXTsiZW1haWwiW3N0cmluZ107InRpdGxlIltzdHJpbmddOyJtZXNzYWdlIltzdHJpbmddOyJpcCJbc3RyaW5nXTsiY3JlYXRlX2RhdGUiW2RhdGUvdGltZTp5eXl5LW1tLWRkIGhoOm1tOnNzXSc7CiRsYW5nWydzbWlsZXlzJ10gPSAnU21pbGV5cyc7CiRsYW5nWydzbWlsZXknXSA9ICdTbWlsZXknOwokbGFuZ1snYWRkc21pbGV5J10gPSAnTGVnZyB0aWwgU21pbGV5JzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snc3BhbXJhdGUnXSA9ICdTcGFtLXZ1cmRlcmluZyc7CiRsYW5nWydjcmVhdGVkJ10gPSAnT3BwcmV0dGV0JzsKJGxhbmdbJ21vZGlmaWVkJ10gPSAnRW5kcmV0JzsKJGxhbmdbJ2FwcHJvdmVkJ10gPSAnR29ka2plbnQnOwokbGFuZ1snaXRlbWFkZGVkJ10gPSAnSW5ubGVnZyBlciBsYWd0IHRpbCc7CiRsYW5nWydlZGl0aXRlbSddID0gJ1JlZGlnZXIgSW5ubGVnZyc7CiRsYW5nWydpdGVtdXBkYXRlZCddID0gJ0lubmxlZ2cgZXIgb3BwZGF0ZXJ0JzsKJGxhbmdbJ2l0ZW1kZWxldGVkJ10gPSAnSW5ubGVnZyBlciBzbGV0dGV0JzsKJGxhbmdbJ3NhdmVhc2hhbSddID0gJ01lcmsgaW5ubGVnZyBzb20gIklra2Utc3BhbSInOwokbGFuZ1snc2F2ZWFzc3BhbSddID0gJ01lcmsgaW5ubGVnZyBzb20gIlNwYW0iJzsKJGxhbmdbJ2RlbGV0ZWZyb21oYW0nXSA9ICdGamVybiBpbm5sZWdnIGZyYSAiSWtrZS1zcGFtIic7CiRsYW5nWydkZWxldGVmcm9tc3BhbSddID0gJ0ZqZXJuIGlubmxlZ2cgZnJhICJTcGFtIic7CiRsYW5nWydzdW1tYXJ5X3RwbCddID0gJ3NhbW1lbmRyYWdzdmlzbmluZyc7CiRsYW5nWydkZXRhaWxfdHBsJ10gPSAnZGV0YWxqZXJ0IHZpc25pbmcnOwokbGFuZ1snZm9ybV90cGwnXSA9ICdza2plbWEgZm9yIGlubmxlZ2cgZm9yc2lkZSc7CiRsYW5nWydkZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdGFuZGFyZCBzYW1tZW5kcmFnc21hbCc7CiRsYW5nWydkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIGRldGFsam1hbCc7CiRsYW5nWydyZXNldGRlZmF1bHQnXSA9ICdMYXN0L3RpbGJha2VzdGlsbCBzdGFuZGFyZCBtYWwnOwokbGFuZ1sncmVzZXR3YXJuaW5nJ10gPSAnRXIgZHUgc2lra2VyIHDDpSBhdCBkdSB2aWwgdGlsYmFrZXN0aWxsZSB0aWwga29kZW4gZm9yIHN0YW5kYXJkIG1hbD8nOwokbGFuZ1sndGl0bGVfY3VzdG9tX21vZHVsZW5hbWUnXSA9ICdFZ2V0IE1vZHVsbmF2bic7CiRsYW5nWydoZWxwX2N1c3RvbV9tb2R1bGVuYW1lJ10gPSAnRHUga2FuIGJ5dHRlIG1vZHVsbmF2biBoZXIgaHZpcyBkdSB2aWwuIERldCB2aWwgYmxpIGJydWt0IHNvbSB0aXR0ZWwgaSBtb2R1bGVucyBhZG1pbi1zaWRlciBvZyBzb20gbWVueS10ZWtzdC4nOwokbGFuZ1sndGl0bGVfYWRtaW5fc2VjdGlvbiddID0gJ0FkbWluLXNla3Nqb24nOwokbGFuZ1snaGVscF9hZG1pbl9zZWN0aW9uJ10gPSAnVmVsZyBBZG1pbi1zZWtzam9uZW4gc29tIGRlbm5lIG1vZHVsZW4gc2thbCB0aWxow7hyZSAoZWxsZXIgdG9wcG5pdsOlIEFkbWluIE1lbnkpLic7CiRsYW5nWydzZW5kX25vdGlmaWNhdGlvbnNfdG8nXSA9ICdTZW5kIHZhcnNsZXIgb20gIG55ZSBpbm5sZWdnIHRpbCBlZGl0b3Jlbic7CiRsYW5nWydtYXhfc3BhbXJhdGVfYWN0aXZlJ10gPSAnTWFrc2ltYWwgc3BhbS12dXJkZXJpbmcgZm9yIGF1dG9tYXRpc2sgw6UgYW5naSBldCBpbm5sZWdnIHNvbSBha3RpdnQgdmVkIGlubnNlbmRpbmcnOwokbGFuZ1snbWF4X3NwYW1yYXRlX2FjdGl2ZV9oZWxwJ10gPSAnbWVsbG9tIDAgb2cgMSwgc3RhbmRhcmQgMC42LiBMYXZlcmUgdmVyZGkgYmV0eXIgc3RyZW5nZXJlIGtyYXYuJzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9ub3RpZnknXSA9ICdNYWtzaW1hbCBzcGFtLXZ1cmRlcmluZyBmb3Igc2VuZGluZyBhdiB2YXJzZWwgdGlsIGVkaXRvcmVuJzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9ub3RpZnlfaGVscCddID0gJ21lbGxvbSAwIG9nIDEsIHN0YW5kYXJkIDAuOS4gSMO4eWVyZSB2ZXJkaSB2aWwgw7hrZSBzamFuc2VuIGZvciBhdCBpbm5sZWdnIGJsaXIgdmFyc2xldCBzb20gc3BhbS4nOwokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmUnXSA9ICdNYWtzaW1hbCBzcGFtLXZ1cmRlcmluZyBmb3IgbGFncmluZyBhdiBldCBueXR0IGlubmxlZ2cnOwokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmVfaGVscCddID0gJ21lbGxvbSAwIG9nIDEsIHN0YW5kYXJkIDAuOS4gTGF2ZXJlIHZlcmRpIHZpbCDDuGtlIHNqYW5zZW4gZm9yIMOlIG1pc3RlIGxlZ2l0aW1lIGlubmxlZ2cuJzsKJGxhbmdbJ2JhZHdvcmRzJ10gPSAnRmlsdHJlciBmb3JidWR0ZSBvcmQgKGtvbW1hc2VwYXJlcnQpJzsKJGxhbmdbJ29wdGlvbnN1cGRhdGVkJ10gPSAnVmVsbHlra2V0IG9wcGRhdGVyaW5nIGF2IHZhbGcuJzsKJGxhbmdbJ2VudHJpZXMnXSA9ICdJbm5sZWdnJzsKJGxhbmdbJ25hbWUnXSA9ICdOYXZuJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRXBvc3QnOwokbGFuZ1sndGl0bGUnXSA9ICdUaXR0ZWwnOwokbGFuZ1snbWVzc2FnZSddID0gJ01lbGRpbmcnOwokbGFuZ1snbm90aWZ5J10gPSAnVmFyc2xlIG1lZyBvbSBueWUgbWVsZGluZ2VyJzsKJGxhbmdbJ2ZlX3N1Ym1pdCddID0gJ1NlbmQnOwokbGFuZ1sndmFsaWRhdGlvbl9lcnJvcnMnXSA9ICdWZW5ubGlnc3Qgb3BwZ2kgZW4gZ3lsZGlnIHZlcmRpIGZvciBtZXJrZWRlIGZlbHQgb2cgc2VuZCBww6Ugbnl0dC4nOwokbGFuZ1snZG91YmxlX3Bvc3QnXSA9ICdUYWtrIGZvciB0aWxiYWtlbWVsZGluZ2VuLiBEZW4gaGFyIGFsbGVyZWRlIGJsaXR0IGxhZ3QgdGlsIGkgZ2plc3RlYm9rZW4uJzsKJGxhbmdbJ25vdF9hbGxvd2VkX3RvX3Bvc3RfdHdpY2UnXSA9ICc8cD5CZWtsYWdlciBzw6UgbXllLiBQw6UgZ3J1bm4gYXYgc3BhbS1iZXNreXR0ZWxzZW4gZXIgZGV0IGlra2UgbXVsaWcgw6UgcG9zdGUgdG8gbWVsZGluZ2VyIHDDpSByYWQuPC9wPg0KPHA+VmVubmxpZ3N0IGZvcnPDuGsgc2VuZXJlIGVsbGVyIHRhIGtvbnRha3Qgc8Olbm4gYXQgbWVsZGluZ2VuIGthbiBsZWdnZXMgbWFudWVsdCB0aWwgcMOlIHNpZGVuLjwvcD4nOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9jbnQnXSA9ICdUYWtrIGZvciBkaW4gdGlsYmFrZW1lbGRpbmcuIElubmxlZ2dldCBoYXIgYmxpdHQgbGFndCB0aWwgaSBnamVzdGVib2tlbi4nOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtX2NudCddID0gJzxwPlRha2sgZm9yIGRpbiB0aWxiYWtlbWVsZGluZy48L3A+DQo8cD5TeXN0ZW1ldCBoYXIgaW1pZGxlcnRpZCBtaXN0ZW5rdCBkZXQgZm9yIMOlIGlubmVob2xkZSBzcGFtLCBvZyBkZXQgdmlsIGRlcmZvciBtw6V0dGUgZ2plbm5vbWfDpXMgZsO4ciBkZXQga2FuIHZpc2VzLjwvcD4NCjxwPlZlbm5saWdzdCBnaSBvc3MgYmVza2plZCBww6UgZXBvc3QuPC9wPic7CiRsYW5nWydhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdF9jbnQnXSA9ICdOeXR0IGlubmxlZ2cgaSBnamVzdGVib2tlbic7CiRsYW5nWydhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZV9jbnQnXSA9ICdEdSBoYXIgbW90dGF0dCBldHQgbnl0dCBpbm5sZWdnIGkge3NpdGVuYW1lfSBnamVzdGVib2suIA0KDQpTamVrayBkZXQgaGVyOiB7cm9vdF91cmx9JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dhc3RlbmJvZWtlbic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NyZcOrZXIgZW4gYmVoZWVyIGdhc3RlbmJvZWtlbiBlbiBvbnR2YW5nIGZlZWRiYWNrIHZhbiB1dyB3ZWJzaXRlIGJlem9la2Vycyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09udHZhbmcgZmVlZGJhY2sgdmFuIHV3IHdlYnNpdGUgYmV6b2VrZXJzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGUgR2Jvb2sgbW9kdWxlIGlzIHN1Y2Nlc3ZvbCBnZcOvbnN0YWxsZWVyZC4gWmllIGRlIGFkbWluIENvbnRlbnQgc2VjdGllOiBcJyVzXCcuJzsKJGxhbmdbJ3NwYW0nXSA9ICdTcGFtJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2FyZXlvdXN1cmVtdWx0aSddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIGJ1bGstYWN0aWUgd2lsdCB1aXR2b2VyZW4/JzsKJGxhbmdbJ2dib29rcyddID0gJ0dhc3RlbmJvZWtlbic7CiRsYW5nWydhZGRnYm9vayddID0gJ1ZvZWcgZ2FzdGVuYm9layB0b2UnOwokbGFuZ1snZ2Jvb2thZGRlZCddID0gJ0dhc3RlbmJvZWsgaXMgdG9lZ2V2b2VnZCc7CiRsYW5nWydlZGl0Z2Jvb2snXSA9ICdCZXdlcmsgZ2FzdGVuYm9layc7CiRsYW5nWydnYm9va3VwZGF0ZWQnXSA9ICdHYXN0ZW5ib2VrIGlzIGJpamdld2Vya3QnOwokbGFuZ1snZ2Jvb2tkZWxldGVkJ10gPSAnR2FzdGVuYm9layBpcyB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ2VudHJpZXNfcGFnZSddID0gJ0FhbnRhbCBiZXJpY2h0ZW4gcGVyIHBhZ2luYSc7CiRsYW5nWydwcmV2ZW50X3Bvc3RfdHdpY2UnXSA9ICdWb29ya29tIG9wZWVudm9sZ2VuZGUgYmVyaWNodGVuIHZhbiBkZXplbGZkZSBiZXpvZWtlciAoZ2ViYXNlZXJkIG9wIElQIGFkcmVzKSc7CiRsYW5nWyd1c2VfY2FwdGNoYSddID0gJ0dlYnJ1aWsgY2FwdGNoYSBvbSB2YW4gc3BhbSB2ZXJkYWNodGUgYmVyaWNodGVuIGFsc25vZyB0ZSBsYXRlbiBhY3RpdmVyZW4gKENhcHRjaGEgbW9kdWxlIG1vZXQgemlqbiBnZcOvbnN0YWxsZWVyZCknOwokbGFuZ1snYWxsb3dfcmF0aW5nJ10gPSAnU3RhIGhldCBnZWJydWlrIHZhbiBiZW9vcmRlbGluZ3NzdGVycmVuIHRvZSc7CiRsYW5nWydhbGxvd19zbWlsaWVzJ10gPSAnU3RhIGhldCBnZWJydWlrIHZhbiBTbWlsZXlzIHRvZSc7CiRsYW5nWydhbGxvd19ub3RpZmljYXRpb25zJ10gPSAnU3RhIGhldCBnZWJydWlrIHZhbiBnZWJydWlrZXIgbm90aWZpY2F0aWVzIHRvZSc7CiRsYW5nWydub3RpZmljYXRpb25fc3ViamVjdCddID0gJ05vdGlmaWNhdGllIGVtYWlsIG9uZGVyd2VycCc7CiRsYW5nWydub3RpZmljYXRpb25fbWVzc2FnZSddID0gJ05vdGlmaWNhdGllIGVtYWlsIGJlcmljaHQnOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZSddID0gJ1Jlc3BvbnMgbmEgdmVyemVuZGluZyBmb3JtdWxpZXInOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9zcGFtJ10gPSAnUmVzcG9ucyBuYSB2ZXJ6ZW5kaW5nIGZvcm11bGllciBtZXQgc3BhbS1pbmhvdWQnOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3QnXSA9ICdBZG1pbiBub3RpZmljYXRpZSBlbWFpbCBvbmRlcndlcnAnOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2UnXSA9ICdBZG1pbiBub3RpZmljYXRpZSBlbWFpbCBiZXJpY2h0JzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkcyddID0gJ1ZlcmVpc3RlIHZlbGRlbiBvcCBkZSBGcm9udGVuZCc7CiRsYW5nWydpbXBvcnRfY3N2J10gPSAnSW1wb3J0ZWVyIGJlcmljaHRlbiB2aWEgY3N2JzsKJGxhbmdbJ2Nzdl9mb3JtYXQnXSA9ICdjc3YgZm9ybWFhdDogImF1dGhvciJbc3RyaW5nXTsiZW1haWwiW3N0cmluZ107InRpdGxlIltzdHJpbmddOyJtZXNzYWdlIltzdHJpbmddOyJpcCJbc3RyaW5nXTsiY3JlYXRlX2RhdGUiW2RhdGUvdGltZTp5eXl5LW1tLWRkIGhoOm1tOnNzXSc7CiRsYW5nWydzbWlsZXlzJ10gPSAnU21pbGV5cyc7CiRsYW5nWydzbWlsZXknXSA9ICdTbWlsZXknOwokbGFuZ1snYWRkc21pbGV5J10gPSAnVm9lZyBTbWlsZXkgdG9lJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snc3BhbXJhdGUnXSA9ICdTcGFtIFJhdGluZyc7CiRsYW5nWydjcmVhdGVkJ10gPSAnR2VtYWFrdCc7CiRsYW5nWydtb2RpZmllZCddID0gJ0Jld2Vya3QnOwokbGFuZ1snYXBwcm92ZWQnXSA9ICdHb2VkZ2VrZXVyZCc7CiRsYW5nWydpdGVtYWRkZWQnXSA9ICdCZXJpY2h0IGlzIHRvZWdldm9lZ2QnOwokbGFuZ1snZWRpdGl0ZW0nXSA9ICdCZXdlcmsgYmVyaWNodCc7CiRsYW5nWydpdGVtdXBkYXRlZCddID0gJ0JlcmljaHQgaXMgYmlqZ2V3ZXJrdCc7CiRsYW5nWydpdGVtZGVsZXRlZCddID0gJ0JlcmljaHQgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWydzYXZlYXNoYW0nXSA9ICdNYXJrZWVyIGJlcmljaHQgYWxzICJIYW0iJzsKJGxhbmdbJ3NhdmVhc3NwYW0nXSA9ICdNYXJrZWVyIGJlcmljaHQgYWxzICJTcGFtIic7CiRsYW5nWydkZWxldGVmcm9taGFtJ10gPSAnRGVtYXJrZWVyIGJlcmljaHQgdmFuYWYgIkhhbSInOwokbGFuZ1snZGVsZXRlZnJvbXNwYW0nXSA9ICdEZW1hcmtlZXIgYmVyaWNodCB2YW5hZiAiU3BhbSInOwokbGFuZ1snc3VtbWFyeV90cGwnXSA9ICdsaWpzdCB3ZWVyZ2F2ZSc7CiRsYW5nWydkZXRhaWxfdHBsJ10gPSAnZGV0YWlsIHdlZXJnYXZlJzsKJGxhbmdbJ2Zvcm1fdHBsJ10gPSAnZnJvbnRlbmQgZm9ybXVsaWVyJzsKJGxhbmdbJ2RlZmF1bHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBsaWpzdCBzamFibG9vbic7CiRsYW5nWydkZWZhdWx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBkZXRhaWwgc2phYmxvb24nOwokbGFuZ1sncmVzZXRkZWZhdWx0J10gPSAnTGFhZC9yZXNldCBzdGFuZGFhcmQgc2phYmxvb24nOwokbGFuZ1sncmVzZXR3YXJuaW5nJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRlIHNqYWJsb29uIGNvZGUgd2lsdCByZXNldHRlbiBuYWFyIGRlIHN0YW5kYWFyZD8nOwokbGFuZ1sndGl0bGVfY3VzdG9tX21vZHVsZW5hbWUnXSA9ICdFaWdlbiBNb2R1bGVuYWFtJzsKJGxhbmdbJ2hlbHBfY3VzdG9tX21vZHVsZW5hbWUnXSA9ICdVIGt1bnQgaGllciBkZSBNb2R1bGVuYWFtIG5hYXIgZWlnZW4gd2VucyBhYW5wYXNzZW4uIEhldCB6YWwgZ2VicnVpa3Qgd29yZGVuIGFscyB0aXRlbCBvcCBkZSBtb2R1bGUgYmVoZWVycGFnaW5hIGVuIGFscyBtZW51IHRla3N0Lic7CiRsYW5nWyd0aXRsZV9hZG1pbl9zZWN0aW9uJ10gPSAnQWRtaW4gU2VjdGllJzsKJGxhbmdbJ2hlbHBfYWRtaW5fc2VjdGlvbiddID0gJ0tpZXMgZGUgQWRtaW4gU2VjdGllICh2YW4gaGV0IEFkbWluIHRvcG1lbnUpIHdhYXIgZGV6ZSBtb2R1bGUgbW9ldCB3b3JkZW4gZ2V0b29uZC4nOwokbGFuZ1snc2VuZF9ub3RpZmljYXRpb25zX3RvJ10gPSAnRS1tYWlsYWRyZXMgd2FhciBub3RpZmljYXRpZXMgdmFuIG5pZXV3ZSBiZXJpY2h0ZW4gbmFhcnRvZSBnZXN0dXVyZCB3b3JkZW4nOwokbGFuZ1snbWF4X3NwYW1yYXRlX2FjdGl2ZSddID0gJ01heGltYWxlIHNwYW1yYXRpbmcgd2FhcmJpaiBiZXJpY2h0ZW4gYXV0b21hdGlzY2ggb3AgYWN0aWVmIGdlemV0IHdvcmRlbiBuYSBpbnplbmRlbic7CiRsYW5nWydtYXhfc3BhbXJhdGVfYWN0aXZlX2hlbHAnXSA9ICd0dXNzZW4gMCBlbiAxLCBzdGFuZGFhcmQgMC42LiBIb2UgbGFnZXIgZGV6ZSB3YWFyZGUsIGhvZSBtZWVyIGJlcmljaHRlbiBuaWV0IHN0YW5kYWFyZCBhY3RpZWYgemlqbi4nOwokbGFuZ1snbWF4X3NwYW1yYXRlX25vdGlmeSddID0gJ01heGltYWxlIHNwYW1yYXRpbmcgd2FhcmJpaiBlZW4gbm90aWZpY2F0aWUgZW1haWwgbmFhciBkZSBhZG1pbiB3b3JkdCB2ZXJzdHV1cmQnOwokbGFuZ1snbWF4X3NwYW1yYXRlX25vdGlmeV9oZWxwJ10gPSAndHVzc2VuIDAgZW4gMSwgc3RhbmRhYXJkIDAuOS4gSG9lIGhvZ2VyIGRlemUgd2FhcmRlLCBob2UgZ3JvdGVyIGRlIGthbnMgZGF0IG5vdGlmaWNhdGllcyBvdmVyIHNwYW1iZXJpY2h0ZW4gd29yZGVuIHZlcnpvbmRlbi4nOwokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmUnXSA9ICdNYXhpbWFsZSBzcGFtcmF0aW5nIHdhYXJiaWogZWVuIGJlcmljaHQgbm9nIG9wZ2VzbGFnZW4gd29yZHQnOwokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmVfaGVscCddID0gJ3R1c3NlbiAwIGVuIDEsIHN0YW5kYWFyZCAwLjkuIEhvZSBsYWdlciBkZXplIHdhYXJkZSwgaG9lIGdyb3RlciBkZSBrYW5zIGRhdCBub3JtYWxlIGxlZ2l0aWVtZSBiZXJpY2h0ZW4gbmlldCBvcGdlc2xhZ2VuIHdvcmRlbi4nOwokbGFuZ1snYmFkd29yZHMnXSA9ICdNYXNrZWVyIG9uZGV1Z2VuZGUgd29vcmRlbiAoa29tbWEgZ2VzY2hlaWRlbiknOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICdEZSBvcHRpZXMgemlqbiBzdWNjZXN2b2wgYmlqZ2V3ZXJrdC4nOwokbGFuZ1snZW50cmllcyddID0gJ0JlcmljaHRlbic7CiRsYW5nWyduYW1lJ10gPSAnTmFhbSc7CiRsYW5nWydlbWFpbCddID0gJ0UtbWFpbCc7CiRsYW5nWyd0aXRsZSddID0gJ1RpdGVsJzsKJGxhbmdbJ21lc3NhZ2UnXSA9ICdCZXJpY2h0JzsKJGxhbmdbJ3JhdGluZyddID0gJ0Jlb29yZGVsaW5nJzsKJGxhbmdbJ25vdGlmeSddID0gJ1N0dXVyIG1paiBlZW4gZW1haWwgYmlqIG5pZXV3ZSBiZXJpY2h0ZW4nOwokbGFuZ1snZmVfc3VibWl0J10gPSAnVmVyc3R1dXInOwokbGFuZ1sndmFsaWRhdGlvbl9lcnJvcnMnXSA9ICdHZWVmIGEudS5iLiBlZW4gY29ycmVjdGUgd2FhcmRlIHZvb3IgZGUgZ2VtYXJrZWVyZGUgdmVsZGVuIGVuIHZlcnN0dXVyIG9wbmlldXcuJzsKJGxhbmdbJ2RvdWJsZV9wb3N0J10gPSAnPHA+QmVkYW5rdCB2b29yIHV3IGJlcmljaHQuIFV3IGJlcmljaHQgd2FzIGFsIHRvZWdldm9lZ2QgYWFuIG9ucyBnYXN0ZW5ib2VrLjwvcD4nOwokbGFuZ1snbm90X2FsbG93ZWRfdG9fcG9zdF90d2ljZSddID0gJzxwPlNvcnJ5LiBWYW53ZWdlIHNwYW0tYmV2ZWlsaWdpbmcgaXMgaGV0IG5pZXQgbW9nZWxpamsgb20gdHdlZSBiZXJpY2h0ZW4gbmEgZWxrYWFyIHRlIHBsYWF0c2VuLiBFeGN1c2VzIHZvb3IgZGl0IG9uZ2VtYWsuPC9wPg0KPHA+UHJvYmVlcnQgdSBoZXQgYS51LmIuIGxhdGVyIG5vZyBlZW4ga2Vlciwgb2Ygc3R1dXIgb25zIGVlbiBlLW1haWwgem9kYXQgd2lqIG5hbWVucyB1IGhldCBiZXJpY2h0IGFhbiBvbnMgZ2FzdGVuYm9layBrdW5uZW4gdG9ldm9lZ2VuLjwvcD4nOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9jbnQnXSA9ICc8cD5CZWRhbmt0IHZvb3IgdXcgYmVyaWNodC4gVXcgYmVyaWNodCBpcyB0b2VnZXZvZWdkIGFhbiBvbnMgZ2FzdGVuYm9lay48L3A+JzsKJGxhbmdbJ3N1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbV9jbnQyJ10gPSAnPHA+QmVkYW5rdCB2b29yIHV3IGJlcmljaHQuPC9wPg0Ke2lmIGVtcHR5KCRnYm9va19jYXB0Y2hhKX0NCjxwPlV3IGJlcmljaHQgbGlqa3QgZWNodGVyIHNwYW0gdGUgYmV2YXR0ZW4sIGRhYXJvbSB3b3JkdCBoZXQgbmlldCBkaXJlY3QgaW4gb25zIGdhc3RlbmJvZWsgZ2V0b29uZCwgbWFhciBpcyBlZXJzdCBlZW4gY29udHJvbGUgdmVyZWlzdC48L3A+DQo8cD5VIHpvdSBvbnMgaGllciBldmVudHVlZWwgdmFuIG9wIGRlIGhvb2d0ZSBrdW5uZW4gc3RlbGxlbiBkb29yIG9ucyBlZW4gZW1haWwgdGUgc3R1cmVuLjwvcD4NCntlbHNlfQ0KPHA+VXcgYmVyaWNodCBsaWprdCBlY2h0ZXIgc3BhbSB0ZSBiZXZhdHRlbiwgZGFhcm9tIGlzIGVyIGVlbiBleHRyYSBzdGFwIG5vZGlnIG9tIHV3IGJlcmljaHQgaW4gb25zIGdhc3RlbmJvZWsgdGUgdG9uZW4uPC9wPg0KPHA+VmVyemVuZCBhLnUuYi4gb25kZXJzdGFhbmRlIHRlc3Q6IDwvcD4NCnskZ2Jvb2tfY2FwdGNoYX0geyRnYm9va19jYXB0Y2hhX2lucHV0fQ0Key9pZn0nOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3RfY250J10gPSAnTmlldXcgYmVyaWNodCBpbiB1dyBnYXN0ZW5ib2VrJzsKJGxhbmdbJ2FkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlX2NudCddID0gJ1UgaGVlZnQgZWVuIG5pZXV3IGJlcmljaHQgaW4gdXcge3NpdGVuYW1lfSBHYXN0ZW5ib2VrLg0KDQpaaWU6IHtyb290X3VybH0nOwokbGFuZ1snaGVscF9hY3Rpb24nXSA9ICdNb2dlbGlqa2Ugd2FhcmRlbjogPHVsPjxsaT5cJ2RlZmF1bHRcJyAtIHZvb3IgbGlqc3R3ZWVyZ2F2ZSB2YW4gYmVyaWNodGVuPC9saT48bGk+XCdmb3JtXCcgLSB2b29yIHdlZXJnYXZlIHZhbiBoZXQgZm9ybXVsaWVyPC9saT48bGk+XCdkZXRhaWxcJyAtIHZvb3Igd2VlcmdhdmUgdmFuIGVlbiBlbmtlbCBiZXJpY2h0LCBiaWp2LiBhbHMgem9la3Jlc3VsdGFhdDwvbGk+PC91bD4nOwokbGFuZ1snaGVscF9hbGlhcyddID0gJ0dlYnJ1aWsgZWVuIGFuZGVyIGdhc3RlbmJvZWsgZGFuIGRlIHN0YW5kYWFyZC4gWmllIGRlIEdhc3RlbmJvZWtlbi10YWIsIGtvbG9tIFwnVGFnc1wnLCB2b29yIGRlIGFsaWFzc2VuIGRpZSBnZWJydWlrdCBrdW5uZW4gd29yZGVuLic7CiRsYW5nWydoZWxwX2VudHJ5aWQnXSA9ICdHZWJydWlrIGRlemUgcGFyYW1ldGVyIHNhbWVuIG1ldCA8Y29kZT5hY3Rpb249XCdkZXRhaWxcJzwvY29kZT4gYWxzIHUgc2xlY2h0cyDDqcOpbiBnYXN0ZW5ib2VrIGJlcmljaHQgd2lsdCB0b25lbi4gVm9vciBoZXQgbGFhdHN0IHRvZWdldm9lZ2RlIGJlcmljaHQsIGdlYnJ1aWs6IDxjb2RlPmVudHJ5aWQ9LTE8L2NvZGU+JzsKJGxhbmdbJ2hlbHBfdGVtcGxhdGUnXSA9ICdHZWJydWlrIGVlbiBhbmRlciBzamFibG9vbiBkYW4gZGUgc3RhbmRhYXJkLiBNZXJrIG9wIGRhdCBzamFibG9uZW4gdmFuIGhldCBqdWlzdGUgdHlwZSBtb2V0ZW4gemlqbiwgaW4gb3ZlcmVlbnN0ZW1taW5nIG1ldCBkZSBhY3Rpb24gcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkN1c3RvbWlzYXRpb248L2gzPg0KPHA+VGhlIEd1ZXN0Ym9va3MtdGFiIGluIHRoZSBhZG1pbiBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY3JlYXRlIG1vcmUgc2VwYXJhdGUgZ3Vlc3Rib29rcy4gRWFjaCBjYW4gaGF2ZSBpdHMgb3duIHNldHRpbmdzLjxiciAvPg0KVXNlcnMgbXVzdCBiZWxvbmcgdG8gYSBncm91cCB3aXRoIHRoZSBcJ0dib29rOiBNb2RpZnlcJyBwZXJtaXNzaW9uIHRvIGJlIGFibGUgdG8gY3JlYXRlIG5ldyBndWVzdGJvb2tzIGFuZCB0byBjaGFuZ2Ugc2V0dGluZ3MuPC9wPg0KDQo8aDM+SW1wb3J0IEd1ZXN0Ym9vayBFbnRyaWVzPC9oMz4NCjxwPklmIHlvdSBhcmUgbWlncmF0aW5nIHlvdXIgc2l0ZSBmcm9tIGFub3RoZXIgQ01TIG9yIGZyb20gYW5vdGhlciBndWVzdGJvb2sgc3lzdGVtLCB5b3UgcHJvYmFibHkgbWlnaHQgd2FudCB0byBjcmVhdGUgYSBjc3YgZmlsZSBjb250YWluaW5nIGFsbCBlbnRyaWVzIHlvdSBoYXZlIHJlY2VpdmVkIGluIHRoZSBwYXN0LjwvcD4NCjxwPlRoaXMgY3N2IGZpbGUgY2FuIGVhc2lseSBiZSBpbXBvcnRlZCB0byBHYm9vaywgd2hlbiBpdCBpcyBmb3JtYXR0ZWQgd2l0aCBmaWVsZHMgaW4gYSBzcGVjaWZpYyBvcmRlciwgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbnMgYW5kIGVuY2xvc2VkIGJ5IGRvdWJsZSBxdW90ZXMsIGxpa2UgdGhpczo8YnIgLz4NCjxjb2RlPiJhdXRob3IiOyJlbWFpbCI7InRpdGxlIjsibWVzc2FnZSI7ImlwIjsiY3JlYXRlX2RhdGUiPC9jb2RlPjwvcD4NCjxwPkFsbCBmaWVsZHMgYXJlIG9mIHR5cGUgW3N0cmluZ10uIFRoZSBmaWVsZCA8ZW0+Y3JlYXRlX2RhdGU8L2VtPiBuZWVkcyB0byBiZSBmb3JtYXR0ZWQgYXMgInl5eXktbW0tZGQgaGg6bW06c3MiPC9wPg0KDQo8aDM+RWRpdCBHYm9vayB0ZW1wbGF0ZXM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gZWRpdCB0ZW1wbGF0ZXMsIHRoZSB1c2VyIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgXCdNb2RpZnkgVGVtcGxhdGVzXCcgcGVybWlzc2lvbi48L3A+DQoNCjxoMz5HbG9iYWwgR2Jvb2sgT3B0aW9uczwvaDM+DQo8cD5UbyBlZGl0IHRoZSBnbG9iYWwgR2Jvb2sgb3B0aW9ucywgdGhlIHVzZXIgbXVzdCBiZWxvbmcgdG8gYSBncm91cCB3aXRoIHRoZSBcJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzXCcgcGVybWlzc2lvbi48L3A+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5GQVFzLCBleHRlbmRlZCBtb2R1bGUgaGVscCBhbmQgVHJvdWJsZXNob290aW5nIGNhbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL3dpa2kuY21zbXMubmwvaW5kZXgucGhwL0dib29rIj5HYm9vayBXaWtpIERvY3VtZW50YXRpb248L2E+LjwvbGk+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBvciB0byBmaWxlIGEgRmVhdHVyZSBSZXF1ZXN0IG9yIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgTW9kdWxlIEZvcmdlDQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2dib29rLyI+R2Jvb2sgUGFnZTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uIFlvdSBhcmUgd2FybWx5IGludml0ZWQgdG8gb3BlbiBhIG5ldyB0b3BpYyBpZiB5b3UgZGlkblwndCBmaW5kIGFuIGFuc3dlciB0byB5b3VyIHF1ZXN0aW9uLjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4NCjwvdWw+DQoNCjxoMz5GZWVkYmFjazwvaDM+DQo8cD5JZiB5b3UgZW5qb3kgdGhpcyBtb2R1bGUsIHVzZSBpdCBvbiBhIGNvbW1lcmNpYWwgd2Vic2l0ZSBvciB3b3VsZCBsaWtlIHRvIGVuY291cmFnZSBmdXR1cmUgZGV2ZWxvcG1lbnQsIHlvdSBtaWdodCBjb25zaWRlciBqdXN0IGEgc21hbGwgZG9uYXRpb24uPGJyIC8+T3IgbGVhdmUgYSBtZXNzYWdlIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcvdmlld3RvcGljLnBocD9mPTcmdD02NDQ2MCI+R2Jvb2sgZm9ydW0gdG9waWM8L2E+LiBBbnkga2luZCBvZiBmZWVkYmFjayB3aWxsIGJlIG11Y2ggYXBwcmVjaWF0ZWQuPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/uk_UA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ9CT0L7RgdGC0YzQvtCy0ZYg0LrQvdC40LPQuCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ9Ch0YLQstC+0YDRjtC50YLQtSDQs9C+0YHRgtGM0L7QstGWINC60L3QuNCz0Lgg0YLQsCDQutC10YDRg9C50YLQtSDQvdC40LzQuCwg0YnQvtCxINC+0YLRgNC40LzQsNGC0Lgg0LLRltC00LPRg9C60Lgg0LLRltC00LLRltC00YPQstCw0YfRltCyINGB0LDQudGC0YMnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICfQntGC0YDQuNC80LDQudGC0LUg0LLRltC00LPRg9C60Lgg0LLRltC00LLRltC00YPQstCw0YfRltCyINGB0LDQudGC0YMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICfQnNC+0LTRg9C70YwgR2Jvb2sg0YPRgdC/0ZbRiNC90L4g0LLRgdGC0LDQvdC+0LLQu9C10L3Qvi4g0J/QtdGA0LXQstGW0YDRgtC1INGA0L7Qt9C00ZbQuyDQsNC00LzRltC9LiDQv9Cw0L3QtdC70ZYgItCS0LzRltGB0YIiINC00LvRjyBcJyVzXCcuJzsKJGxhbmdbJ3NwYW0nXSA9ICfQodC/0LDQvCc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAn0JLQuCDQstC/0LXQstC90LXQvdGWLCDRidC+INGF0L7Rh9C10YLQtSDQstC40LTQsNC70LjRgtC4Pyc7CiRsYW5nWydhcmV5b3VzdXJlbXVsdGknXSA9ICfQktC4INCy0L/QtdCy0L3QtdC90ZYsINGJ0L4g0YXQvtGH0LXRgtC1INCy0LjQutC+0L3QsNGC0Lgg0YbRjiDQvNCw0YHQvtCy0YMg0LTRltGOPyc7CiRsYW5nWydnYm9va3MnXSA9ICfQk9C+0YHRgtGM0L7QstGWINC60L3QuNCz0LgnOwokbGFuZ1snYWRkZ2Jvb2snXSA9ICfQlNC+0LTQsNGC0Lgg0JPQvtGB0YLRjNC+0LLRgyDQutC90LjQs9GDJzsKJGxhbmdbJ2dib29rYWRkZWQnXSA9ICfQk9C+0YHRgtGM0L7QstGDINC60L3QuNCz0YMg0LTQvtC00LDQvdC+JzsKJGxhbmdbJ2VkaXRnYm9vayddID0gJ9Cg0LXQtNCw0LPRg9Cy0LDRgtC4INCT0L7RgdGC0YzQvtCy0YMg0LrQvdC40LPRgyc7CiRsYW5nWydnYm9va3VwZGF0ZWQnXSA9ICfQk9C+0YHRgtGM0L7QstGDINC60L3QuNCz0YMg0L7QvdC+0LLQu9C10L3Qvic7CiRsYW5nWydnYm9va2RlbGV0ZWQnXSA9ICfQk9C+0YHRgtGM0L7QstGDINC60L3QuNCz0YMg0LLQuNC00LDQu9C10L3Qvic7CiRsYW5nWydlbnRyaWVzX3BhZ2UnXSA9ICfQmtGW0LvRjNC60ZbRgdGC0Ywg0LfQsNC/0LjRgdGW0LIg0L3QsCDRgdGC0L7RgNGW0L3RhtGWJzsKJGxhbmdbJ3ByZXZlbnRfcG9zdF90d2ljZSddID0gJ9CX0LDQsdC+0YDQvtC90LjRgtC4INC90LDQtNGB0LjQu9Cw0YLQuCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0L/RltC00YDRj9C0INGC0LjQvCDRgdCw0LzQuNC8INC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCAo0L3QsCDQvtGB0L3QvtCy0ZYgSVAt0LDQtNGA0LXRgdC4KSc7CiRsYW5nWyd1c2VfY2FwdGNoYSddID0gJ9CS0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUgY2FwdGNoYSwg0YnQvtCxINCw0LrRgtC40LLRg9Cy0LDRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3Rjywg0Y/QutGWINC/0ZbQtNC+0LfRgNGO0Y7RgtGM0YHRjyDRj9C6INGB0L/QsNC8ICjQv9C+0YLRgNGW0LHQvdC+INCy0YHRgtCw0L3QvtCy0LjRgtC4INC80L7QtNGD0LvRjCBDYXB0Y2hhKSc7CiRsYW5nWydhbGxvd19yYXRpbmcnXSA9ICfQlNC+0LfQstC+0LvQuNGC0Lgg0L7RhtGW0L3QutGDINC30ZbRgNC+0YfQutCw0LzQuCc7CiRsYW5nWydhbGxvd19zbWlsaWVzJ10gPSAn0JTQvtC30LLQvtC70LjRgtC4INCh0LzQsNC50LvQuNC60LgnOwokbGFuZ1snYWxsb3dfbm90aWZpY2F0aW9ucyddID0gJ9Cj0LLRltC80LrQvdGD0YLQuCDRgdC/0L7QstGW0YnQtdC90L3Rjyc7CiRsYW5nWydub3RpZmljYXRpb25fc3ViamVjdCddID0gJ9Ci0LXQvNCwINC70LjRgdGC0LAg0YHQv9C+0LLRltGJ0LXQvdC90Y8nOwokbGFuZ1snbm90aWZpY2F0aW9uX21lc3NhZ2UnXSA9ICfQotC10LrRgdGCINC70LjRgdGC0LAg0YHQv9C+0LLRltGJ0LXQvdC90Y8nOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZSddID0gJ9CS0ZbQtNC/0L7QstGW0LTRjCDQvdCwINCy0ZbQtNC/0YDQsNCy0LrRgyDQstGW0LTQs9GD0LrRgyc7CiRsYW5nWydzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0nXSA9ICfQktGW0LTQv9C+0LLRltC00Ywg0L3QsCDQstGW0LTQv9GA0LDQstC60YMg0LLRltC00LrRg9Cz0YMsINGP0LrQuNC5INC/0ZbQtNC+0LfRgNGO0Y7RlNGC0YzRgdGPINGP0Log0YHQv9Cw0LwnOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3QnXSA9ICfQotC10LzQsCDQu9C40YHRgtCwINGB0L/QvtCy0ZbRidC10L3QvdGPINC60L7RgNC40YHRgtGD0LLQsNGH0LAg0LDQtNC80ZbQvS4g0L/QsNC90LXQu9GWJzsKJGxhbmdbJ2FkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlJ10gPSAn0KLQtdC60YHRgiDQu9C40YHRgtCwINGB0L/QvtCy0ZbRidC10L3QvdGPINC60L7RgNC40YHRgtGD0LLQsNGH0LAg0LDQtNC80ZbQvS4g0L/QsNC90LXQu9GWJzsKJGxhbmdbJ3JlcXVpcmVkX2ZpZWxkcyddID0gJ9Ce0LHQvtCyXCfRj9C30LrQvtCy0ZYg0L/QvtC70Y8g0YTQvtGA0LzQuCDRgyDRhNGA0L7QvdGC0LXQvdC00ZYnOwokbGFuZ1snaW1wb3J0X2NzdiddID0gJ9CG0LzQv9C+0YDRgtGD0LLQsNGC0Lgg0LfQsNC/0LjRgdC4INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIENTVic7CiRsYW5nWydjc3ZfZm9ybWF0J10gPSAn0KTQvtGA0LzQsNGCIENTVjogImF1dGhvciJbc3RyaW5nXTsiZW1haWwiW3N0cmluZ107InRpdGxlIltzdHJpbmddOyJtZXNzYWdlIltzdHJpbmddOyJpcCJbc3RyaW5nXTsiY3JlYXRlX2RhdGUiW2RhdGUvdGltZTp5eXl5LW1tLWRkIGhoOm1tOnNzXSc7CiRsYW5nWydzbWlsZXlzJ10gPSAn0KHQvNCw0LnQu9C40LrQuCc7CiRsYW5nWydzbWlsZXknXSA9ICfQodC80LDQudC70LjQuic7CiRsYW5nWydhZGRzbWlsZXknXSA9ICfQlNC+0LTQsNGC0Lgg0YHQvNCw0LnQu9C40LonOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydzcGFtcmF0ZSddID0gJ9Ce0YbRltC90LrQsCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0Y/QuiDRgdC/0LDQvNGDJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICfQodGC0LLQvtGA0LXQvdC+JzsKJGxhbmdbJ21vZGlmaWVkJ10gPSAn0JfQvNGW0L3QtdC90L4nOwokbGFuZ1snYXBwcm92ZWQnXSA9ICfQn9GW0LTRgtCy0LXRgNC00LbQtdC90L4nOwokbGFuZ1snaXRlbWFkZGVkJ10gPSAn0JfQsNC/0LjRgSDQtNC+0LTQsNC90L4nOwokbGFuZ1snZWRpdGl0ZW0nXSA9ICfQoNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0L/QuNGBJzsKJGxhbmdbJ2l0ZW11cGRhdGVkJ10gPSAn0JfQsNC/0LjRgSDQvtC90L7QstC70LXQvdC+JzsKJGxhbmdbJ2l0ZW1kZWxldGVkJ10gPSAn0JfQsNC/0LjRgSDQstC40LTQsNC70LXQvdC+JzsKJGxhbmdbJ3NhdmVhc2hhbSddID0gJ9Cf0L7Qt9C90LDRh9C40YLQuCDQt9Cw0L/QuNGBINGP0LogItCd0LUg0YHQv9Cw0LwiJzsKJGxhbmdbJ3NhdmVhc3NwYW0nXSA9ICfQn9C+0LfQvdCw0YfQuNGC0Lgg0LfQsNC/0LjRgSDRj9C6ICLQodC/0LDQvCInOwokbGFuZ1snZGVsZXRlZnJvbWhhbSddID0gJ9CX0L3Rj9GC0Lgg0L/QvtC30L3QsNGH0LrRgyAi0J3QtSDRgdC/0LDQvCInOwokbGFuZ1snZGVsZXRlZnJvbXNwYW0nXSA9ICfQl9C90Y/RgtC4INC/0L7Qt9C90LDRh9C60YMgItCh0L/QsNC8Iic7CiRsYW5nWydzdW1tYXJ5X3RwbCddID0gJ9Cy0ZbQtNC+0LHRgNCw0LbQtdC90L3RjyDRgdC/0LjRgdC60YMnOwokbGFuZ1snZGV0YWlsX3RwbCddID0gJ9Cy0LjQstGW0LQg0L/QvtCy0L3QvtCz0L4g0YLQtdC60YHRgtGDJzsKJGxhbmdbJ2Zvcm1fdHBsJ10gPSAn0YTQvtGA0LzQsCDQstGW0LTQv9GA0LDQstC60Lgg0YMg0YTRgNC+0L3RgtC10L3QtNGWJzsKJGxhbmdbJ2RlZmF1bHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSDQstGW0LTQvtCx0YDQsNC20LXQvdC90Y8g0YHQv9C40YHQutGDINC30LAg0LfQsNC80L7QstGH0YPQstCw0L3QvdGP0LwnOwokbGFuZ1snZGVmYXVsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICfQqNCw0LHQu9C+0L0g0LLQuNCy0L7QtNGDINC/0L7QstC90L7Qs9C+INGC0LXQutGB0YLRgyDQt9CwINC30LDQvNC+0LLRh9GD0LLQsNC90L3Rj9C8JzsKJGxhbmdbJ3Jlc2V0ZGVmYXVsdCddID0gJ9CX0LDQstCw0L3RgtCw0LbQuNGC0Lgv0YHQutC40L3Rg9GC0Lgg0YjQsNCx0LvQvtC9INC30LAg0LfQsNC80L7QstGH0YPQstCw0L3QvdGP0LwnOwokbGFuZ1sncmVzZXR3YXJuaW5nJ10gPSAn0JLQuCDQstC/0LXQstC90LXQvdGWLCDRidC+INGF0L7Rh9C10YLQtSDRgdC60LjQvdGD0YLQuCDQutC+0LQg0YjQsNCx0LvQvtC90YMg0LfQsCDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y/QvD8nOwokbGFuZ1sndGl0bGVfY3VzdG9tX21vZHVsZW5hbWUnXSA9ICfQmtC+0YDQuNGB0YLRg9Cy0LDRhtGM0LrQsCDQvdCw0LfQstCwINC80L7QtNGD0LvRjyc7CiRsYW5nWydoZWxwX2N1c3RvbV9tb2R1bGVuYW1lJ10gPSAn0JLQuCDQvNC+0LbQtdGC0LUg0LfQvNGW0L3QuNGC0Lgg0L3QsNC30LLRgyDQnNC+0LTRg9C70Y8g0YLRg9GCLCDRj9C60YnQviDRhdC+0YfQtdGC0LUuINCS0L7QvdCwINCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuNGB0Y8g0Y/QuiDQt9Cw0LPQvtC70L7QstC+0Log0LzQvtC00YPQu9GPINC90LAg0YHRgtC+0YDRltC90LrQsNGFINCw0LTQvNGW0L0uINC/0LDQvdC10LvRliDRgtCwINGP0Log0L3QsNC30LLQsCDRgyDQvNC10L3Rji4nOwokbGFuZ1sndGl0bGVfYWRtaW5fc2VjdGlvbiddID0gJ9Cg0L7Qt9C00ZbQuyDQsNC00LzRltC9LiDQv9Cw0L3QtdC70ZYnOwokbGFuZ1snaGVscF9hZG1pbl9zZWN0aW9uJ10gPSAn0JLQuNCx0YDQsNGC0Lgg0YDQvtC30LTRltC7INCw0LTQvNGW0L0uINC/0LDQvdC10LvRliAo0LDQtNC80ZbQvS4g0LzQtdC90Y4g0L3QsNC50LLQuNGJ0L7Qs9C+INGA0ZbQstC90Y8pLCDQtNC+INGP0LrQvtCz0L4g0L3QsNC70LXQttC40YLRjCDRhtC10Lkg0LzQvtC00YPQu9GMJzsKJGxhbmdbJ3NlbmRfbm90aWZpY2F0aW9uc190byddID0gJ9Cd0LDQtNGB0LjQu9Cw0YLQuCDRgdC/0L7QstGW0YnQtdC90L3RjyDQv9GA0L4g0L3QvtCy0ZYg0LfQsNC/0LjRgdC4INGA0LXQtNCw0LrRgtC+0YDRgyc7CiRsYW5nWydtYXhfc3BhbXJhdGVfYWN0aXZlJ10gPSAn0JzQsNC60YHQuNC80LDQu9GM0L3QsCDQvtGG0ZbQvdC60LAg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGP0Log0YHQv9Cw0LzRgyDQtNC70Y8g0LDQstGC0L7QvNCw0YLQuNGH0L3QvtGXINCw0LrRgtC40LLQsNGG0ZbRlyDQv9GW0LQg0YfQsNGBINC90LDQtNGB0LjQu9Cw0L3QvdGPJzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9hY3RpdmVfaGVscCddID0gJ9Cy0ZbQtCAwINC00L4gMSwg0LfQsCDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y/QvCAwLDYuINCn0LjQvCDQvNC10L3RiNC1INC30L3QsNGH0LXQvdC90Y8sINGC0LjQvCDQsdGW0LvRjNGIINC20L7RgNGB0YLQutGWINC90LDQu9Cw0YjRgtGD0LLQsNC90L3Rjy4g0KDQtdC60L7QvNC10L3QtNGD0ZTRgtGM0YHRjyDQstGB0YLQsNC90L7QstC70Y7QstCw0YLQuCDQt9C90LDRh9C10L3QvdGPIDAsNCDQsNCx0L4g0LzQtdC90YjQtSc7CiRsYW5nWydtYXhfc3BhbXJhdGVfbm90aWZ5J10gPSAn0JzQsNC60YHQuNC80LDQu9GM0L3QsCDQvtGG0ZbQvdC60LAg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGP0Log0YHQv9Cw0LzRgyDQtNC70Y8g0L3QsNC00YHQuNC70LDQvdC90Y8g0YHQv9C+0LLRltGJ0LXQvdC90Y8g0YDQtdC00LDQutGC0L7RgNGDJzsKJGxhbmdbJ21heF9zcGFtcmF0ZV9ub3RpZnlfaGVscCddID0gJ9Cy0ZbQtCAwINC00L4gMSwg0LfQsCDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y/QvCAwLDkuINCX0LHRltC70YzRiNC10L3QvdGPINGG0YzQvtCz0L4g0L/QsNGA0LDQvNC10YLRgNCwINC/0YDQuNC30LLQtdC00LUg0LTQviDQt9Cx0ZbQu9GM0YjQtdC90L3RjyDRiNCw0L3RgdGW0LIg0L7RgtGA0LjQvNCw0L3QvdGPINGB0L/QvtCy0ZbRidC10L3RjCDQv9GA0L4g0YHQv9Cw0Lwt0LfQsNC/0LjRgdC4Lic7CiRsYW5nWydtYXhfc3BhbXJhdGVfc2F2ZSddID0gJ9Cc0LDQutGB0LjQvNCw0LvRjNC90LAg0L7RhtGW0L3QutCwINC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRj9C6INGB0L/QsNC80YMg0LTQu9GPINC30LHQtdGA0LXQttC10L3QvdGPINC90L7QstC+0LPQviDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8nOwokbGFuZ1snbWF4X3NwYW1yYXRlX3NhdmVfaGVscCddID0gJ9Cy0ZbQtCAwINC00L4gMSwg0LfQsCDQt9Cw0LzQvtCy0YfRg9Cy0LDQvdC90Y/QvCAwLDkuINCn0LjQvCDQvNC10L3RiNC1INC30L3QsNGH0LXQvdC90Y8sINGC0LjQvCDQsdGW0LvRjNGI0LjQuSDRiNCw0L3RgSDQstGC0YDQsNGC0LjRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQstGW0LQg0YDQtdCw0LvRjNC90LjRhSDQu9GO0LTQtdC5Lic7CiRsYW5nWydiYWR3b3JkcyddID0gJ9CS0LrQsNC30LDRgtC4INC/0L7Qs9Cw0L3RliDRgdC70L7QstCwICjRh9C10YDQtdC3INC60L7QvNGDKSDQtNC70Y8g0YTRltC70YzRgtGA0YPQstCw0L3QvdGPINC/0L7QstGW0LTQvtC80LvQtdC90YwnOwokbGFuZ1snb3B0aW9uc3VwZGF0ZWQnXSA9ICfQn9Cw0YDQsNC80LXRgtGA0Lgg0YPRgdC/0ZbRiNC90L4g0L7QvdC+0LLQu9C10L3Qvi4nOwokbGFuZ1snZW50cmllcyddID0gJ9CX0LDQv9C40YHQuCc7CiRsYW5nWyduYW1lJ10gPSAn0IbQvFwn0Y8nOwokbGFuZ1snZW1haWwnXSA9ICfQldC70LXQutGC0YDQvtC90L3QsCDQv9C+0YjRgtCwJzsKJGxhbmdbJ3RpdGxlJ10gPSAn0JfQsNCz0L7Qu9C+0LLQvtC6JzsKJGxhbmdbJ21lc3NhZ2UnXSA9ICfQn9C+0LLRltC00L7QvNC70LXQvdC90Y8nOwokbGFuZ1sncmF0aW5nJ10gPSAn0J7RhtGW0L3QutCwJzsKJGxhbmdbJ25vdGlmeSddID0gJ9Cf0L7QstGW0LTQvtC80LvRj9GC0Lgg0LzQtdC90LUg0L/RgNC+INC90L7QstGWINC/0L7QstGW0LTQvtC80LvQtdC90L3Rjyc7CiRsYW5nWydmZV9zdWJtaXQnXSA9ICfQktGW0LTQv9GA0LDQstC40YLQuCc7CiRsYW5nWyd2YWxpZGF0aW9uX2Vycm9ycyddID0gJ9CR0YPQtNGMINC70LDRgdC60LAsINC/0YDQsNCy0LjQu9GM0L3QviDQt9Cw0L/QvtCy0L3RltGC0Ywg0L7QsdC+0LJcJ9GP0LfQutC+0LLRliDQv9C+0LvRjyDRliDQstGW0LTQv9GA0LDQstGC0LUg0YnQtSDRgNCw0LcuJzsKJGxhbmdbJ2RvdWJsZV9wb3N0J10gPSAnPHA+0JTRj9C60YPRlNC80L4g0LfQsCDQstGW0LTQs9GD0LouINCS0LDRiNC1INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQstC20LUg0LTQvtC00LDQvdC+INC00L4g0L3QsNGI0L7RlyDQk9C+0YHRgtGM0L7QstC+0Zcg0LrQvdC40LPQuC48L3A+JzsKJGxhbmdbJ25vdF9hbGxvd2VkX3RvX3Bvc3RfdHdpY2UnXSA9ICc8cD4g0JLQuNCx0LDRh9GC0LUuINCn0LXRgNC10Lcg0LfQsNGF0LjRgdGCINCy0ZbQtCDRgdC/0LDQvNGDINC90LXQvNC+0LbQu9C40LLQviDRgNC+0LfQvNGW0YHRgtC40YLQuCDQtNCy0LAg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC/0ZbQtNGA0Y/QtC4g0JzQuCDQtNGW0LnRgdC90L4g0LLQuNCx0LDRh9Cw0ZTQvNC+0YHRjyDQt9CwINGG0Y4g0L3QtdC30YDRg9GH0L3RltGB0YLRjC48L3A+DQo8cD4g0J/QvtCy0YLQvtGA0ZbRgtGMINGB0L/RgNC+0LHRgyDQv9GW0LfQvdGW0YjQtSDQsNCx0L4g0L3QsNC00ZbRiNC70ZbRgtGMINC90LDQvCDQtdC70LXQutGC0YDQvtC90L3QuNC5INC70LjRgdGCLCDRidC+0LEg0LzQuCDQvNC+0LPQu9C4INC00L7QtNCw0YLQuCDQstCw0YjQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0L3QsCDQvdCw0Ygg0LLQtdCxLdGB0LDQudGCLjwvcD4nOwokbGFuZ1snc3VibWlzc2lvbl9yZXNwb25zZV9jbnQnXSA9ICc8cD7QlNGP0LrRg9GU0LzQviDQt9CwINCy0ZbQtNCz0YPQui4g0JLQsNGI0LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC00L7QtNCw0L3QviDQtNC+INC90LDRiNC+0Zcg0JPQvtGB0YLRjNC+0LLQvtGXINC60L3QuNCz0LguPC9wPic7CiRsYW5nWydzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW1fY250MiddID0gJzxwPtCU0Y/QutGD0ZTQvNC+INC30LAg0LLRltC00LPRg9C6LjwvcD4NCntpZiBlbXB0eSgkZ2Jvb2tfY2FwdGNoYSl9DQo8cD7QntGB0LrRltC70YzQutC4INCy0LDRiNC1INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQv9GW0LTQvtC30YDRjtGU0YLRjNGB0Y8g0Y/QuiDRgdC/0LDQvCwg0LnQvtCz0L4g0L/QvtGC0YDRltCx0L3QviDQt9Cw0YLQstC10YDQtNC40YLQuCwg0L/QtdGA0Ygg0L3RltC2INCy0L7QvdC+INCx0YPQtNC1INCy0ZbQtNC+0LHRgNCw0LbQsNGC0LjRgdGPLjwvcD4NCjxwPtCR0YPQtNGMINC70LDRgdC60LAsINGB0L/QvtCy0ZbRgdGC0ZbRgtGMINC90LDRgSwg0LLRltC00L/RgNCw0LLQuNCy0YjQuCDQu9C40YHRgtCwINC10LvQtdC60YLRgNC+0L3QvdC+0Y4g0L/QvtGI0YLQvtGOLjwvcD4NCntlbHNlfQ0KPHA+0J7RgdC60ZbQu9GM0LrQuCDQstCw0YjQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0L/RltC00L7Qt9GA0Y7RlNGC0YzRgdGPINGP0Log0YHQv9Cw0LwsINC00LvRjyDQudC+0LPQviDQstGW0LTQvtCx0YDQsNC20LXQvdC90Y8g0L/QvtGC0YDRltCx0L3QviDQv9GA0L7QudGC0Lgg0L3QsNGB0YLRg9C/0L3QuNC5INC60YDQvtC6LjwvcD4NCjxwPtCR0YPQtNGMINC70LDRgdC60LAsINCy0LjQutC+0L3QsNC50YLQtSDQvdCw0YHRgtGD0L/QvdC1INC30LDQstC00LDQvdC90Y86PC9wPg0KeyRnYm9va19jYXB0Y2hhfSB7JGdib29rX2NhcHRjaGFfaW5wdXR9DQp7L2lmfSc7CiRsYW5nWydhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdF9jbnQnXSA9ICfQndC+0LLQuNC5INC30LDQv9C40YEg0YMg0JPQvtGB0YLRjNC+0LLRltC5INC60L3QuNC30ZYnOwokbGFuZ1snYWRtaW5fbm90aWZpY2F0aW9uX21lc3NhZ2VfY250J10gPSAn0JLQuCDQvtGC0YDQuNC80LDQu9C4INC90L7QstC1INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRgyDQstCw0YjRltC5IHtzaXRlbmFtZX0g0JPQvtGB0YLRjNC+0LLRltC5INC60L3QuNC30ZYuDQoNCtCf0LXRgNC10LPQu9GP0L3RjNGC0LUg0LIg0LDQtNC80ZbQvS4g0L/QsNC90LXQu9GWOiB7cm9vdF91cmx9JzsKJGxhbmdbJ2hlbHBfYWN0aW9uJ10gPSAn0JzQvtC20LvQuNCy0ZYg0LfQvdCw0YfQtdC90L3RjzogPHVsPjxsaT5cJ2RlZmF1bHRcJyAtINC00LvRjyDQstGW0LTQvtCx0YDQsNC20LXQvdC90Y8g0LfQsNC/0LjRgdGW0LIg0LPQvtGB0YLRjNC+0LLQvtGXINC60L3QuNCz0Lg8L2xpPjxsaT5cJ2Zvcm1cJyAtINC00LvRjyDQstGW0LTQvtCx0YDQsNC20LXQvdC90Y8g0YTQvtGA0LzQuDwvbGk+PGxpPlwnZGV0YWlsXCcgLSDQtNC70Y8g0LLRltC00L7QsdGA0LDQttC10L3QvdGPINC+0LrRgNC10LzQvtCz0L4g0LfQsNC/0LjRgdGDLCDQvdCw0L/RgNC40LrQu9Cw0LQsICDRgNC10LfRg9C70YzRgtCw0YLRgyDQv9C+0YjRg9C60YM8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHBfYWxpYXMnXSA9ICfQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1INGW0L3RiNGDINCz0L7RgdGC0YzQvtCy0YMg0LrQvdC40LPRgyDQt9Cw0LzRltGB0YLRjCDQs9C+0YHRgtGM0L7QstC+0Zcg0LrQvdC40LPQuCDQt9CwINC30LDQvNC+0LLRh9GD0LLQsNC90L3Rj9C8LiDQn9C10YDQtdCy0ZbRgNGC0LUg0LLQutC70LDQtNC60YMgItCT0L7RgdGC0YzQvtCy0ZYg0LrQvdC40LPQuCIg0YHRgtC+0LLQv9C10YbRjCAi0KLQtdKR0LgiLCDRidC+0LEg0L/QvtCx0LDRh9C40YLQuCwg0Y/QutGWINC/0YHQtdCy0LTQvtC90ZbQvNC4INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4Lic7CiRsYW5nWydoZWxwX2VudHJ5aWQnXSA9ICfQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1INGG0LXQuSDQv9Cw0YDQsNC80LXRgtGAINGA0LDQt9C+0Lwg0LcgPGNvZGU+YWN0aW9uPVwnZGV0YWlsXCc8L2NvZGU+LCDRj9C60YnQviDQstC4INGF0L7Rh9C10YLQtSDQv9C+0LrQsNC30LDRgtC4INC70LjRiNC1INC+0LTQuNC9INC30LDQv9C40YEg0LPQvtGB0YLRjNC+0LLQvtGXINC60L3QuNCz0LguINCp0L7QsSDQvtGC0YDQuNC80LDRgtC4INC90LDQudC90L7QstGW0YjQuNC5INC30LDQv9C40YEsINGB0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPIDxjb2RlPmVudHJ5aWQ9LTE8L2NvZGU+JzsKJGxhbmdbJ2hlbHBfdGVtcGxhdGUnXSA9ICfQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1INGW0L3RiNC40Lkg0YjQsNCx0LvQvtC9INC30LDQvNGW0YHRgtGMINGI0LDQsdC70L7QvdGDINC30LAg0LfQsNC80L7QstGH0YPQstCw0L3QvdGP0LwuINCX0LLQtdGA0L3RltGC0Ywg0YPQstCw0LPRgywg0YnQviDRiNCw0LHQu9C+0L3QuCDQv9C+0LLQuNC90L3RliDQsdGD0YLQuCDQstGW0LTQv9C+0LLRltC00L3QvtCz0L4g0YLQuNC/0YMg0LfQs9GW0LTQvdC+INC3INGC0LjQv9C+0Lwg0LTRltGXIChhY3Rpb24pLic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGUgR2Jvb2sgbW9kdWxlIHByb3ZpZGVzIHlvdXIgc2l0ZSB2aXNpdG9ycyBhIGNvbnZlbmllbnQgd2F5IHRvIGdpdmUgc29tZSBmZWVkYmFjayBvbiB5b3VyIHNpdGUuIE1lc3NhZ2VzIGNhbiBpbmNsdWRlIHNtaWxleXMgYW5kIHN0YXIgcmF0aW5ncy4gWW91ciBndWVzdGJvb2sgaXMgZWZmZWN0aXZlbHkgcHJvdGVjdGVkIGZyb20gc3BhbSB3aXRob3V0IHRoZSBuZWNlc3NpdHkgb2YgdXNpbmcgYW4gYW5ub3lpbmcgY2FwdGNoYS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRvIHNob3cgdGhlIGd1ZXN0Ym9vayBlbnRyaWVzLCBqdXN0IGluc2VydCB0aGUgbW9kdWxlIHdpdGggdGhlPGNvZGU+IHtHYm9va30gPC9jb2RlPnRhZyBpbnRvIHRoZSBjb250ZW50IHNlY3Rpb24gb2YgYSBwYWdlLjxiciAvPg0KWW91IGNhbiBkaXNwbGF5IGEgZm9ybSB3aXRoIHRoZTxjb2RlPiB7R2Jvb2sgYWN0aW9uPVwnZm9ybVwnfSA8L2NvZGU+dGFnLjwvcD4NCjxwPlRvIGdldCBhIHF1aWNrIHN0YXJ0LCBhIHNhbXBsZSBzdHlsZXNoZWV0IGhhcyBiZWVuIGluc3RhbGxlZCB3aGljaCBjb3JyZXNwb25kcyB3aXRoIHRoZSBkZWZhdWx0IG1vZHVsZSB0ZW1wbGF0ZXMuIEF0dGFjaCB0aGUgc3R5bGVzaGVldCBcJ0dib29rIG1vZHVsZVwnIHRvIHlvdXIgcGFnZSB0ZW1wbGF0ZShzKSB0byBnaXZlIHlvdXIgZ3Vlc3Rib29rIGEgZmlyc3QgZ29vZCBsb29rLjwvcD4NCg0KPGgzPkVkaXQgR3Vlc3Rib29rIEVudHJpZXM8L2gzPg0KPHA+VXNlcnMgd2l0aCB0aGUgXCdHYm9vazogVXNlXCcgcGVybWlzc2lvbiBjYW4gZWRpdCBndWVzdGJvb2sgZW50cmllcyBpbiB0aGUgYmFja2VuZC48L3A+DQoNCjxoMz5TcGFtIFByb3RlY3Rpb248L2gzPg0KPHA+R2Jvb2sgdXNlcyBhIGhvbmV5cG90IGZpZWxkIChzaW5jZSB2ZXJzaW9uIDIuMikgd2hpY2ggd2lsbCBwcmV2ZW50IHNwYW0gZW5naW5lcyBmcm9tIHBvc3RpbmcuIE1ha2Ugc3VyZSB0byBrZWVwIHRoZSB7JGdib29rX2hvbmV5cG90X2lucHV0fSBmaWVsZCBpbiB5b3VyIGZvcm0gdGVtcGxhdGUsIGFuZCBpdCBzdGF5cyBoaWRkZW4gdmlhIGNzcywgb3RoZXJ3aXNlIG5vYm9keSB3aWxsIGJlIGFibGUgdG8gcG9zdCBtZXNzYWdlcy48L3A+DQo8cD5OZXh0LCBHYm9vayBwcm91ZGx5IHVzZXMgdGhlICJiOCIgc3RhdGlzdGljYWwgKEJheWVzaWFuKSBzcGFtIGZpbHRlciB2ZXJzaW9uIDAuNiwgd3JpdHRlbiBieSBUb2JpYXMgTGV1cG9sZC4gVGhpcyBidWlsdC1pbiBzcGFtIHByb3RlY3Rpb24gc3lzdGVtIHdpbGwgb25seSBmdW5jdGlvbiBhZnRlciB5b3UgaGF2ZSBsZWFybmVkIGl0IGhvdyB0byBpbnRlcnByZXQgdGhlIG1lc3NhZ2VzIGJ5IG1hcmtpbmcgdGhlIGZpcnN0IGZldyBlbnRyaWVzIGFzIGVpdGhlciAiU3BhbSIgb3IgIkhhbSIuIElmIHRoZSBzeXN0ZW0gaGFzIGxlYXJuZWQgZW5vdWdoIGdvb2QgYXMgd2VsbCBhcyBlbm91Z2ggYmFkIHdvcmRzLCBpdCB3aWxsIGdpdmUgc3BhbSBtZXNzYWdlcyBhIHJhdGluZyBzb21ld2hlcmUgbmVhciAxLCBhbmQgaGFtIG1lc3NhZ2VzIHdpbGwgYmUgcmF0ZWQgc29tZXdoZXJlIG5lYXIgMC4gTWVzc2FnZXMgd2l0aCBhIHJhdGluZyBvZiAwLjUwIGNvdWxkIG5vdCBiZSByYXRlZCBiZWNhdXNlIG9mIHRvbyBmZXcgbWF0Y2hpbmcgd29yZHMuPGJyIC8+Tm90ZSB0aGF0IGl0IHdvblwndCBiZSBvZiB1c2UgdG8gbWFudWFsbHkgbWFyayBlbnRyaWVzIGFzIHNwYW0gb3IgaGFtLCB3aGljaCBhcmUgYWxyZWFkeSByYXRlZCBhcyBzdWNoLjwvcD4NCjxwPklmIHlvdSB3YW50IHRvIGtub3cgbW9yZSBvZiB0aGlzIGV4Y2VsbGVudCBzcGFtIHByb3RlY3Rpb24gc3lzdGVtLCB5b3UgY2FuIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9uYXNhdWJlci5kZS9vcGVuc291cmNlL2I4LyI+bmFzYXViZXIuZGU8L2E+LjwvcD4NCjxwPldoZW4gYSBuZXcgbWVzc2FnZSBpcyBzdXNwZWN0ZWQgdG8gY29udGFpbiBzcGFtLCB0aG91Z2ggd2l0aCBzdWNoIGEgbG93IHZhbHVlIHRoYXQgaXQgd2FzIHNhdmVkIGJ1dCBub3QgYWN0aXZlLCB5b3UgY2FuIHNlcnZlIHlvdXIgdmlzaXRvciBhIGNoYXB0Y2hhIGNoYWxsZW5nZS4gRm9yIHRoaXMgdGhlIENhcHRjaGEgbW9kdWxlIG5lZWRzIHRvIGJlIGluc3RhbGxlZCBhbmQgdGhlIGd1ZXN0Ym9vayBzZXR0aW5nICJVc2UgY2FwdGNoYSIgbmVlZHMgdG8gYmUgY2hlY2tlZC48L3A+DQoNCjxoMz5DdXN0b21pc2F0aW9uPC9oMz4NCjxwPlRoZSBHdWVzdGJvb2tzLXRhYiBpbiB0aGUgYWRtaW4gc2VjdGlvbiBhbGxvd3MgeW91IHRvIGNyZWF0ZSBtb3JlIHNlcGFyYXRlIGd1ZXN0Ym9va3MuIEVhY2ggY2FuIGhhdmUgaXRzIG93biBzZXR0aW5ncy48YnIgLz4NClVzZXJzIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgXCdHYm9vazogTW9kaWZ5XCcgcGVybWlzc2lvbiB0byBiZSBhYmxlIHRvIGNyZWF0ZSBuZXcgZ3Vlc3Rib29rcyBhbmQgdG8gY2hhbmdlIHNldHRpbmdzLjwvcD4NCg0KPGgzPkltcG9ydCBHdWVzdGJvb2sgRW50cmllczwvaDM+DQo8cD5JZiB5b3UgYXJlIG1pZ3JhdGluZyB5b3VyIHNpdGUgZnJvbSBhbm90aGVyIENNUyBvciBmcm9tIGFub3RoZXIgZ3Vlc3Rib29rIHN5c3RlbSwgeW91IHByb2JhYmx5IG1pZ2h0IHdhbnQgdG8gY3JlYXRlIGEgY3N2IGZpbGUgY29udGFpbmluZyBhbGwgZW50cmllcyB5b3UgaGF2ZSByZWNlaXZlZCBpbiB0aGUgcGFzdC48L3A+DQo8cD5UaGlzIGNzdiBmaWxlIGNhbiBlYXNpbHkgYmUgaW1wb3J0ZWQgdG8gR2Jvb2ssIHdoZW4gaXQgaXMgZm9ybWF0dGVkIHdpdGggZmllbGRzIGluIGEgc3BlY2lmaWMgb3JkZXIsIHNlcGFyYXRlZCBieSBzZW1pY29sb25zIGFuZCBlbmNsb3NlZCBieSBkb3VibGUgcXVvdGVzLCBsaWtlIHRoaXM6PGJyIC8+DQo8Y29kZT4iYXV0aG9yIjsiZW1haWwiOyJ0aXRsZSI7Im1lc3NhZ2UiOyJpcCI7ImNyZWF0ZV9kYXRlIjwvY29kZT48L3A+DQo8cD5BbGwgZmllbGRzIGFyZSBvZiB0eXBlIFtzdHJpbmddLiBUaGUgZmllbGQgPGVtPmNyZWF0ZV9kYXRlPC9lbT4gbmVlZHMgdG8gYmUgZm9ybWF0dGVkIGFzICJ5eXl5LW1tLWRkIGhoOm1tOnNzIjwvcD4NCg0KPGgzPkVkaXQgR2Jvb2sgdGVtcGxhdGVzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGVkaXQgdGVtcGxhdGVzLCB0aGUgdXNlciBtdXN0IGJlbG9uZyB0byBhIGdyb3VwIHdpdGggdGhlIFwnTW9kaWZ5IFRlbXBsYXRlc1wnIHBlcm1pc3Npb24uPC9wPg0KDQo8aDM+R2xvYmFsIEdib29rIE9wdGlvbnM8L2gzPg0KPHA+VG8gZWRpdCB0aGUgZ2xvYmFsIEdib29rIG9wdGlvbnMsIHRoZSB1c2VyIG11c3QgYmVsb25nIHRvIGEgZ3JvdXAgd2l0aCB0aGUgXCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlc1wnIHBlcm1pc3Npb24uPC9wPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBvciB0byBmaWxlIGEgRmVhdHVyZSBSZXF1ZXN0IG9yIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgTW9kdWxlIEZvcmdlDQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2dib29rLyI+R2Jvb2sgUGFnZTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiBZb3UgYXJlIHdhcm1seSBpbnZpdGVkIHRvIG9wZW4gYSBuZXcgdG9waWMgaWYgeW91IGRpZG5cJ3QgZmluZCBhbiBhbnN3ZXIgdG8geW91ciBxdWVzdGlvbi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+DQo8L3VsPg0KDQo8aDM+RmVlZGJhY2s8L2gzPg0KPHA+SWYgeW91IGVuam95IHRoaXMgbW9kdWxlLCB1c2UgaXQgb24gYSBjb21tZXJjaWFsIHdlYnNpdGUgb3Igd291bGQgbGlrZSB0byBlbmNvdXJhZ2UgZnV0dXJlIGRldmVsb3BtZW50LCB5b3UgbWlnaHQgY29uc2lkZXIganVzdCBhIHNtYWxsIGRvbmF0aW9uLjxiciAvPk9yIGxlYXZlIGEgbWVzc2FnZSBpbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy92aWV3dG9waWMucGhwP2Y9NyZ0PTY0NDYwIj5HYm9vayBmb3J1bSB0b3BpYzwvYT4uIEFueSBraW5kIG9mIGZlZWRiYWNrIHdpbGwgYmUgbXVjaCBhcHByZWNpYXRlZC48L3A+JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/b8/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/b8/b8.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxOSBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBiOCAtIEEgc3RhdGlzdGljYWwgKCJCYXllc2lhbiIpIHNwYW0gZmlsdGVyIHdyaXR0ZW4gaW4gUEhQIDUKIwojICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKIyAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBpbiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZS4KIwojICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAojICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkKIyAgIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKIyAgIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIwojICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAojICAgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgoKLyoqCiAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE5IFRvYmlhcyBMZXVwb2xkIDx0b2JpYXMubGV1cG9sZEB3ZWIuZGU+CiAqCiAqIEBsaWNlbnNlIExHUEwgMi4xCiAqIEBhY2Nlc3MgcHVibGljCiAqIEBwYWNrYWdlIGI4CiAqIEBhdXRob3IgVG9iaWFzIExldXBvbGQKICogQGF1dGhvciBPbGl2ZXIgTGlsbGllIChvcmlnaW5hbCBQSFAgNSBwb3J0KQogKi8KCmNsYXNzIGI4CnsKCiAgICBjb25zdCBEQlZFUlNJT04gPSAzOwoKICAgIHB1YmxpYyAkY29uZmlnID0gYXJyYXkoCiAgICAgICAgJ2xleGVyJyAgICAgICAgPT4gJ2RlZmF1bHQnLAogICAgICAgICdkZWdlbmVyYXRvcicgID0+ICdkZWZhdWx0JywKICAgICAgICAnc3RvcmFnZScgICAgICA9PiAnZGJhJywKICAgICAgICAndXNlX3JlbGV2YW50JyA9PiAxNSwKICAgICAgICAnbWluX2RldicgICAgICA9PiAwLjIsCiAgICAgICAgJ3JvYl9zJyAgICAgICAgPT4gMC4zLAogICAgICAgICdyb2JfeCcgICAgICAgID0+IDAuNQogICAgKTsKCiAgICBwdWJsaWMgJHN0b3JhZ2UgICAgID0gbnVsbDsKICAgIHB1YmxpYyAkbGV4ZXIgICAgICAgPSBudWxsOwogICAgcHVibGljICRkZWdlbmVyYXRvciA9IG51bGw7CgogICAgcHJpdmF0ZSAkX3Rva2VuX2RhdGEgPSBudWxsOwoKICAgIGNvbnN0IFNQQU0gICAgPSAnc3BhbSc7CiAgICBjb25zdCBIQU0gICAgID0gJ2hhbSc7CiAgICBjb25zdCBMRUFSTiAgID0gJ2xlYXJuJzsKICAgIGNvbnN0IFVOTEVBUk4gPSAndW5sZWFybic7CgogICAgY29uc3QgQ0xBU1NJRllFUl9URVhUX01JU1NJTkcgPSAnQ0xBU1NJRllFUl9URVhUX01JU1NJTkcnOwoKICAgIGNvbnN0IFRSQUlORVJfVEVYVF9NSVNTSU5HICAgICA9ICdUUkFJTkVSX1RFWFRfTUlTU0lORyc7CiAgICBjb25zdCBUUkFJTkVSX0NBVEVHT1JZX01JU1NJTkcgPSAnVFJBSU5FUl9DQVRFR09SWV9NSVNTSU5HJzsKICAgIGNvbnN0IFRSQUlORVJfQ0FURUdPUllfRkFJTCAgICA9ICdUUkFJTkVSX0NBVEVHT1JZX0ZBSUwnOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyBiOAogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoCiAgICAgICAgJGNvbmZpZyAgICAgICAgICAgICA9IGFycmF5KCksCiAgICAgICAgJGNvbmZpZ19zdG9yYWdlICAgICA9IGFycmF5KCksCiAgICAgICAgJGNvbmZpZ19sZXhlciAgICAgICA9IGFycmF5KCksCiAgICAgICAgJGNvbmZpZ19kZWdlbmVyYXRvciA9IGFycmF5KCkKICAgICkKICAgIHsKICAgICAgICAjIFZhbGlkYXRlIGNvbmZpZyBkYXRhCiAgICAgICAgZm9yZWFjaCAoJGNvbmZpZyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgc3dpdGNoICgkbmFtZSkgewogICAgICAgICAgICAgICAgY2FzZSAnbWluX2Rldic6CiAgICAgICAgICAgICAgICBjYXNlICdyb2Jfcyc6CiAgICAgICAgICAgICAgICBjYXNlICdyb2JfeCc6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmNvbmZpZ1skbmFtZV0gPSAoZmxvYXQpICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ3VzZV9yZWxldmFudCc6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmNvbmZpZ1skbmFtZV0gPSAoaW50KSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICdsZXhlcic6CiAgICAgICAgICAgICAgICBjYXNlICdkZWdlbmVyYXRvcic6CiAgICAgICAgICAgICAgICBjYXNlICdzdG9yYWdlJzoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWyRuYW1lXSA9IChzdHJpbmcpICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiYjg6IFVua25vd24gY29uZmlndXJhdGlvbiBrZXk6IFwiJG5hbWVcIiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIFNldHVwIHRoZSBkZWdlbmVyYXRvciBjbGFzcwogICAgICAgICRjbGFzcyA9ICR0aGlzLT5fbG9hZENsYXNzKCdkZWdlbmVyYXRvcicsICR0aGlzLT5jb25maWdbJ2RlZ2VuZXJhdG9yJ10pOwogICAgICAgIGlmICgkY2xhc3MgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAiYjg6IENvdWxkIG5vdCBsb2FkIGNsYXNzIGRlZmluaXRpb24gZmlsZSBmb3IgZGVnZW5lcmF0b3IgIiAuCiAgICAgICAgICAgICAgICAiXCJ7JHRoaXMtPmNvbmZpZ1snZGVnZW5lcmF0b3InXX1cIiIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmRlZ2VuZXJhdG9yID0gbmV3ICRjbGFzcygkY29uZmlnX2RlZ2VuZXJhdG9yKTsKCiAgICAgICAgIyBTZXR1cCB0aGUgbGV4ZXIgY2xhc3MKICAgICAgICAkY2xhc3MgPSAkdGhpcy0+X2xvYWRDbGFzcygnbGV4ZXInLCAkdGhpcy0+Y29uZmlnWydsZXhlciddKTsKICAgICAgICBpZiAoJGNsYXNzID09PSBmYWxzZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgImI4OiBDb3VsZCBub3QgbG9hZCBjbGFzcyBkZWZpbml0aW9uIGZpbGUgZm9yIGxleGVyIFwieyR0aGlzLT5jb25maWdbJ2xleGVyJ119XCIiCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5sZXhlciA9IG5ldyAkY2xhc3MoJGNvbmZpZ19sZXhlcik7CgogICAgICAgICMgU2V0dXAgdGhlIHN0b3JhZ2UgYmFja2VuZAogICAgICAgICRjbGFzcyA9ICR0aGlzLT5fbG9hZENsYXNzKCdzdG9yYWdlJywgJ2Jhc2UnKTsKICAgICAgICBpZiAoJGNsYXNzID09PSBmYWxzZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJiODogQ291bGQgbm90IGxvYWQgY2xhc3MgZGVmaW5pdGlvbiBmaWxlIGZvciB0aGUgc3RvcmFnZSBiYXNlIGNsYXNzIik7CiAgICAgICAgfQogICAgICAgICRjbGFzcyA9ICR0aGlzLT5fbG9hZENsYXNzKCdzdG9yYWdlJywgJHRoaXMtPmNvbmZpZ1snc3RvcmFnZSddKTsKICAgICAgICBpZiAoJGNsYXNzID09PSBmYWxzZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgImI4OiBDb3VsZCBub3QgbG9hZCBjbGFzcyBkZWZpbml0aW9uIGZpbGUgZm9yIHN0b3JhZ2UgYmFja2VuZCAiIC4KICAgICAgICAgICAgICAgICJcInskdGhpcy0+Y29uZmlnWydzdG9yYWdlJ119XCIiCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5zdG9yYWdlID0gbmV3ICRjbGFzcygkY29uZmlnX3N0b3JhZ2UsICR0aGlzLT5kZWdlbmVyYXRvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2FkIGEgY2xhc3MgZmlsZSBpZiBhIGNsYXNzIGhhcyBub3QgYmVlbiBkZWZpbmVkIHlldC4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqIEByZXR1cm4gYm9vbGVhbiBSZXR1cm5zIHRydWUgaWYgZXZlcnl0aGluZyBpcyBva2F5LCBvdGhlcndpc2UgZmFsc2UuCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gX2xvYWRDbGFzcygkY2xhc3NfdHlwZSwgJGNsYXNzX25hbWUpCiAgICB7CiAgICAgICAgJGNvbXBsZXRlX2NsYXNzX25hbWUgPSAiYjhfeyRjbGFzc190eXBlfV97JGNsYXNzX25hbWV9IjsKICAgICAgICAkY2xhc3NfZmlsZSA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRjbGFzc190eXBlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICJ7JGNsYXNzX3R5cGV9X3skY2xhc3NfbmFtZX0ucGhwIjsKCiAgICAgICAgaWYgKGNsYXNzX2V4aXN0cygkY29tcGxldGVfY2xhc3NfbmFtZSwgZmFsc2UpID09PSBmYWxzZSkgewogICAgICAgICAgICAjIENoZWNrIGlmIHRoZSByZXF1ZXN0ZWQgZmlsZSBhY3R1YWxseSBleGlzdHMKICAgICAgICAgICAgaWYgKGlzX2ZpbGUoJGNsYXNzX2ZpbGUpICE9PSB0cnVlIG9yIGlzX3JlYWRhYmxlKCRjbGFzc19maWxlKSAhPT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIEluY2x1ZGUgaXQKICAgICAgICAgICAgJGluY2x1ZGVkID0gcmVxdWlyZV9vbmNlKCRjbGFzc19maWxlKTsKCiAgICAgICAgICAgIGlmICgkaW5jbHVkZWQgPT09IGZhbHNlIG9yIGNsYXNzX2V4aXN0cygkY29tcGxldGVfY2xhc3NfbmFtZSwgZmFsc2UpID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNvbXBsZXRlX2NsYXNzX25hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbGFzc2lmaWVzIGEgdGV4dAogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZXh0CiAgICAgKiBAcmV0dXJuIG1peGVkIGZsb2F0IFRoZSByYXRpbmcgYmV0d2VlbiAwIChoYW0pIGFuZCAxIChzcGFtKSBvciBhbiBlcnJvciBjb2RlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGFzc2lmeSgkdGV4dCA9IG51bGwpCiAgICB7CiAgICAgICAgIyBMZXQncyBmaXJzdCBzZWUgaWYgdGhlIHVzZXIgY2FsbGVkIHRoZSBmdW5jdGlvbiBjb3JyZWN0bHkKICAgICAgICBpZiAoJHRleHQgPT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OkNMQVNTSUZZRVJfVEVYVF9NSVNTSU5HOwogICAgICAgIH0KCiAgICAgICAgIyBHZXQgdGhlIGludGVybmFsIGRhdGFiYXNlIHZhcmlhYmxlcywgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGhhbSBhbmQKICAgICAgICAjIHNwYW0gdGV4dHMgc28gdGhlIHNwYW0gcHJvYmFiaWxpdHkgY2FuIGJlIGNhbGN1bGF0ZWQgaW4gcmVsYXRpb24gdG8gdGhlbQogICAgICAgICRpbnRlcm5hbHMgPSAkdGhpcy0+c3RvcmFnZS0+Z2V0SW50ZXJuYWxzKCk7CgogICAgICAgICMgQ2FsY3VsYXRlIHRoZSBzcGFtbWluZXNzIG9mIGFsbCB0b2tlbnMKCiAgICAgICAgIyBHZXQgYWxsIHRva2VucyB3ZSB3YW50IHRvIHJhdGUKICAgICAgICAkdG9rZW5zID0gJHRoaXMtPmxleGVyLT5nZXRUb2tlbnMoJHRleHQpOwoKICAgICAgICAjIENoZWNrIGlmIHRoZSBsZXhlciBmYWlsZWQKICAgICAgICAjIChpZiBzbywgJHRva2VucyB3aWxsIGJlIGEgbGV4ZXIgZXJyb3IgY29kZSwgaWYgbm90LCAkdG9rZW5zIHdpbGwgYmUgYW4gYXJyYXkpCiAgICAgICAgaWYgKCFpc19hcnJheSgkdG9rZW5zKSkgewogICAgICAgICAgICByZXR1cm4gJHRva2VuczsKICAgICAgICB9CgogICAgICAgICMgRmV0Y2ggYWxsIGF2YWlsYWJsZSBkYXRhIGZvciB0aGUgdG9rZW4gc2V0IGZyb20gdGhlIGRhdGFiYXNlCiAgICAgICAgJHRoaXMtPl90b2tlbl9kYXRhID0gJHRoaXMtPnN0b3JhZ2UtPmdldChhcnJheV9rZXlzKCR0b2tlbnMpKTsKCiAgICAgICAgIyBDYWxjdWxhdGUgdGhlIHNwYW1taW5lc3MgYW5kIGltcG9ydGFuY2UgZm9yIGVhY2ggdG9rZW4gKG9yIGEgZGVnZW5lcmF0ZWQgZm9ybSBvZiBpdCkKCiAgICAgICAgJHdvcmRfY291bnQgPSBhcnJheSgpOwogICAgICAgICRyYXRpbmcgICAgID0gYXJyYXkoKTsKICAgICAgICAkaW1wb3J0YW5jZSA9IGFycmF5KCk7CgogICAgICAgIGZvcmVhY2ggKCR0b2tlbnMgYXMgJHdvcmQgPT4gJGNvdW50KSB7CiAgICAgICAgICAgICR3b3JkX2NvdW50WyR3b3JkXSA9ICRjb3VudDsKCiAgICAgICAgICAgICMgQWx0aG91Z2ggd2Ugb25seSBjYWxsIHRoaXMgZnVuY3Rpb24gb25seSBoZXJlIC4uLiBsZXQncyBkbyB0aGUKICAgICAgICAgICAgIyBjYWxjdWxhdGlvbiBzdHVmZiBpbiBhIGZ1bmN0aW9uIHRvIG1ha2UgdGhpcyBhIGJpdCBsZXNzIGNvbmZ1c2luZyA7LSkKICAgICAgICAgICAgJHJhdGluZ1skd29yZF0gPSAkdGhpcy0+X2dldFByb2JhYmlsaXR5KAogICAgICAgICAgICAgICAgJHdvcmQsICRpbnRlcm5hbHNbJ3RleHRzX2hhbSddLCAkaW50ZXJuYWxzWyd0ZXh0c19zcGFtJ10KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRpbXBvcnRhbmNlWyR3b3JkXSA9IGFicygwLjUgLSAkcmF0aW5nWyR3b3JkXSk7CiAgICAgICAgfQoKICAgICAgICAjIE9yZGVyIGJ5IGltcG9ydGFuY2UKICAgICAgICBhcnNvcnQoJGltcG9ydGFuY2UpOwogICAgICAgIHJlc2V0KCRpbXBvcnRhbmNlKTsKCiAgICAgICAgIyBHZXQgdGhlIG1vc3QgaW50ZXJlc3RpbmcgdG9rZW5zICh1c2UgYWxsIGlmIHdlIGhhdmUgbGVzcyB0aGFuIHRoZSBnaXZlbiBudW1iZXIpCiAgICAgICAgJHJlbGV2YW50ID0gYXJyYXkoKTsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkdGhpcy0+Y29uZmlnWyd1c2VfcmVsZXZhbnQnXTsgJGkrKykgewogICAgICAgICAgICBpZiAoJHRva2VuID0ga2V5KCRpbXBvcnRhbmNlKSkgewogICAgICAgICAgICAgICAgIyBJbXBvcnRhbnQgdG9rZW5zIHJlbWFpbgoKICAgICAgICAgICAgICAgICMgSWYgdGhlIHRva2VuJ3MgcmF0aW5nIGlzIHJlbGV2YW50IGVub3VnaCwgdXNlIGl0CiAgICAgICAgICAgICAgICBpZiAoYWJzKDAuNSAtICRyYXRpbmdbJHRva2VuXSkgPiAkdGhpcy0+Y29uZmlnWydtaW5fZGV2J10pIHsKICAgICAgICAgICAgICAgICAgICAjIFRva2VucyB0aGF0IGFwcGVhciBtb3JlIHRoYW4gb25jZSBhbHNvIGNvdW50IG1vcmUgdGhhbiBvbmNlCiAgICAgICAgICAgICAgICAgICAgZm9yICgkeCA9IDAsICRsID0gJHdvcmRfY291bnRbJHRva2VuXTsgJHggPCAkbDsgJHgrKykgewogICAgICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCRyZWxldmFudCwgJHJhdGluZ1skdG9rZW5dKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAjIFdlIGhhdmUgbGVzcyB3b3JkcyBhcyB3ZSB3YW50IHRvIHVzZSwgc28gd2UKICAgICAgICAgICAgICAgICMgYWxyZWFkeSB1c2Ugd2hhdCB3ZSBoYXZlIGFuZCBjYW4gYnJlYWsgaGVyZQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG5leHQoJGltcG9ydGFuY2UpOwogICAgICAgIH0KCiAgICAgICAgIyBDYWxjdWxhdGUgdGhlIHNwYW1taW5lc3Mgb2YgdGhlIHRleHQgKHRoYW5rcyB0byBNci4gUm9iaW5zb24gOy0pCiAgICAgICAgIyBXZSBzZXQgYm90aCBoYW1taW5lc3MgYW5kIHNwYW1taW5lc3MgdG8gMSBmb3IgdGhlIGZpcnN0IG11bHRpcGx5aW5nCiAgICAgICAgJGhhbW1pbmVzcyAgPSAxOwogICAgICAgICRzcGFtbWluZXNzID0gMTsKCiAgICAgICAgIyBDb25zaWRlciBhbGwgcmVsZXZhbnQgcmF0aW5ncwogICAgICAgIGZvcmVhY2ggKCRyZWxldmFudCBhcyAkdmFsdWUpIHsKICAgICAgICAgICAgJGhhbW1pbmVzcyAgKj0gKDEuMCAtICR2YWx1ZSk7CiAgICAgICAgICAgICRzcGFtbWluZXNzICo9ICR2YWx1ZTsKICAgICAgICB9CgogICAgICAgICMgSWYgbm8gdG9rZW4gd2FzIGdvb2QgZm9yIGNhbGN1bGF0aW9uLCB3ZSByZWFsbHkgZG9uJ3Qga25vdyBob3cKICAgICAgICAjIHRvIHJhdGUgdGhpcyB0ZXh0LCBzbyBjYW4gcmV0dXJuIDAuNSB3aXRob3V0IGZ1cnRoZXIgY2FsY3VsYXRpb25zLgogICAgICAgIGlmICgkaGFtbWluZXNzID09IDEgYW5kICRzcGFtbWluZXNzID09IDEpIHsKICAgICAgICAgICAgcmV0dXJuIDAuNTsKICAgICAgICB9CgogICAgICAgICMgQ2FsY3VsYXRlIHRoZSBjb21iaW5lZCByYXRpbmcKCiAgICAgICAgIyBHZXQgdGhlIG51bWJlciBvZiByZWxldmFudCByYXRpbmdzCiAgICAgICAgJG4gPSBjb3VudCgkcmVsZXZhbnQpOwoKICAgICAgICAjIFRoZSBhY3R1YWwgaGFtbWluZXNzIGFuZCBzcGFtbWluZXNzCiAgICAgICAgJGhhbW1pbmVzcyAgPSAxIC0gcG93KCRoYW1taW5lc3MsICAoMSAvICRuKSk7CiAgICAgICAgJHNwYW1taW5lc3MgPSAxIC0gcG93KCRzcGFtbWluZXNzLCAoMSAvICRuKSk7CgogICAgICAgICMgQ2FsY3VsYXRlIHRoZSBjb21iaW5lZCBpbmRpY2F0b3IKICAgICAgICAkcHJvYmFiaWxpdHkgPSAoJGhhbW1pbmVzcyAtICRzcGFtbWluZXNzKSAvICgkaGFtbWluZXNzICsgJHNwYW1taW5lc3MpOwoKICAgICAgICAjIFdlIHdhbnQgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIG5vdCBiZXR3ZWVuIC0xIGFuZCArMSwgc28gLi4uCiAgICAgICAgJHByb2JhYmlsaXR5ID0gKDEgKyAkcHJvYmFiaWxpdHkpIC8gMjsKCiAgICAgICAgIyBBbGVhIGlhY3RhIGVzdAogICAgICAgIHJldHVybiAkcHJvYmFiaWxpdHk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxjdWxhdGUgdGhlIHNwYW1taW5lc3Mgb2YgYSBzaW5nbGUgdG9rZW4gYWxzbyBjb25zaWRlcmluZyAiZGVnZW5lcmF0ZWQiIHZlcnNpb25zCiAgICAgKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKiBAcGFyYW0gc3RyaW5nICR3b3JkCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZXh0c19oYW0KICAgICAqIEBwYXJhbSBzdHJpbmcgJHRleHRzX3NwYW0KICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRQcm9iYWJpbGl0eSgkd29yZCwgJHRleHRzX2hhbSwgJHRleHRzX3NwYW0pCiAgICB7CiAgICAgICAgIyBMZXQncyBzZWUgd2hhdCB3ZSBoYXZlIQogICAgICAgIGlmIChpc3NldCgkdGhpcy0+X3Rva2VuX2RhdGFbJ3Rva2VucyddWyR3b3JkXSkgPT09IHRydWUpIHsKICAgICAgICAgICAgIyBUaGUgdG9rZW4gaXMgaW4gdGhlIGRhdGFiYXNlLCBzbyB3ZSBjYW4gdXNlIGl0J3MgZGF0YSBhcy1pcwogICAgICAgICAgICAjIGFuZCBjYWxjdWxhdGUgdGhlIHNwYW1taW5lc3Mgb2YgdGhpcyB0b2tlbiBkaXJlY3RseQogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9jYWxjUHJvYmFiaWxpdHkoCiAgICAgICAgICAgICAgICAkdGhpcy0+X3Rva2VuX2RhdGFbJ3Rva2VucyddWyR3b3JkXSwgJHRleHRzX2hhbSwgJHRleHRzX3NwYW0KICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgVGhlIHRva2VuIHdhcyBub3QgZm91bmQsIHNvIGRvIHdlIGF0IGxlYXN0IGhhdmUgc2ltaWxhciB3b3Jkcz8KICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPl90b2tlbl9kYXRhWydkZWdlbmVyYXRlcyddWyR3b3JkXSkgPT09IHRydWUpIHsKICAgICAgICAgICAgIyBXZSBmb3VuZCBzaW1pbGFyIHdvcmRzLCBzbyBjYWxjdWxhdGUgdGhlIHNwYW1taW5lc3MgZm9yIGVhY2ggb25lCiAgICAgICAgICAgICMgYW5kIGNob29zZSB0aGUgbW9zdCBpbXBvcnRhbnQgb25lIGZvciB0aGUgZnVydGhlciBjYWxjdWxhdGlvbgoKICAgICAgICAgICAgIyBUaGUgZGVmYXVsdCByYXRpbmcgaXMgMC41IHNpbXBseSBzYXlpbmcgbm90aGluZwogICAgICAgICAgICAkcmF0aW5nID0gMC41OwoKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPl90b2tlbl9kYXRhWydkZWdlbmVyYXRlcyddWyR3b3JkXSBhcyAkZGVnZW5lcmF0ZSA9PiAkY291bnQpIHsKICAgICAgICAgICAgICAgICMgQ2FsY3VsYXRlIHRoZSByYXRpbmcgb2YgdGhlIGN1cnJlbnQgZGVnZW5lcmF0ZWQgdG9rZW4KICAgICAgICAgICAgICAgICRyYXRpbmdfdG1wID0gJHRoaXMtPl9jYWxjUHJvYmFiaWxpdHkoJGNvdW50LCAkdGV4dHNfaGFtLCAkdGV4dHNfc3BhbSk7CgogICAgICAgICAgICAgICAgIyBJcyBpdCBtb3JlIGltcG9ydGFudCB0aGFuIHRoZSByYXRpbmcgb2YgYW5vdGhlciBkZWdlbmVyYXRlZCB2ZXJzaW9uPwogICAgICAgICAgICAgICAgaWYoYWJzKDAuNSAtICRyYXRpbmdfdG1wKSA+IGFicygwLjUgLSAkcmF0aW5nKSkgewogICAgICAgICAgICAgICAgICAgICRyYXRpbmcgPSAkcmF0aW5nX3RtcDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICRyYXRpbmc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIyBUaGUgdG9rZW4gaXMgcmVhbGx5IHVua25vd24sIHNvIGNob29zZSB0aGUgZGVmYXVsdCByYXRpbmcKICAgICAgICAgICAgIyBmb3IgY29tcGxldGVseSB1bmtub3duIHRva2Vucy4gVGhpcyBzdHJpcHMgZG93biB0byB0aGUKICAgICAgICAgICAgIyByb2JYIHBhcmFtZXRlciBzbyB3ZSBjYW4gY2hlYXAgb3V0IHRoZSBmcmVha3kgbWF0aCA7LSkKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5jb25maWdbJ3JvYl94J107CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRG8gdGhlIGFjdHVhbCBzcGFtbWluZXNzIGNhbGN1bGF0aW9uIG9mIGEgc2luZ2xlIHRva2VuCiAgICAgKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKiBAcGFyYW0gYXJyYXkgJGRhdGEKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRleHRzX2hhbQogICAgICogQHBhcmFtIHN0cmluZyAkdGV4dHNfc3BhbQogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gX2NhbGNQcm9iYWJpbGl0eSgkZGF0YSwgJHRleHRzX2hhbSwgJHRleHRzX3NwYW0pCiAgICB7CiAgICAgICAgIyBDYWxjdWxhdGUgdGhlIGJhc2ljIHByb2JhYmlsaXR5IGFzIHByb3Bvc2VkIGJ5IE1yLiBHcmFoYW0KCiAgICAgICAgIyBCdXQ6IGNvbnNpZGVyIHRoZSBudW1iZXIgb2YgaGFtIGFuZCBzcGFtIHRleHRzIHNhdmVkIGluc3RlYWQgb2YgdGhlCiAgICAgICAgIyBudW1iZXIgb2YgZW50cmllcyB3aGVyZSB0aGUgdG9rZW4gYXBwZWFyZWQgdG8gY2FsY3VsYXRlIGEgcmVsYXRpdmUKICAgICAgICAjIHNwYW1taW5lc3MgYmVjYXVzZSB3ZSBjb3VudCB0b2tlbnMgYXBwZWFyaW5nIG11bHRpcGxlIHRpbWVzIG5vdCBqdXN0CiAgICAgICAgIyBvbmNlIGJ1dCBhcyBvZnRlbiBhcyB0aGV5IGFwcGVhciBpbiB0aGUgbGVhcm5lZCB0ZXh0cy4KCiAgICAgICAgJHJlbF9oYW0gPSAkZGF0YVsnY291bnRfaGFtJ107CiAgICAgICAgJHJlbF9zcGFtID0gJGRhdGFbJ2NvdW50X3NwYW0nXTsKCiAgICAgICAgaWYgKCR0ZXh0c19oYW0gPiAwKSB7CiAgICAgICAgICAgICRyZWxfaGFtID0gJGRhdGFbJ2NvdW50X2hhbSddIC8gJHRleHRzX2hhbTsKICAgICAgICB9CgogICAgICAgIGlmICgkdGV4dHNfc3BhbSA+IDApIHsKICAgICAgICAgICAgJHJlbF9zcGFtID0gJGRhdGFbJ2NvdW50X3NwYW0nXSAvICR0ZXh0c19zcGFtOwogICAgICAgIH0KCiAgICAgICAgJHJhdGluZyA9ICRyZWxfc3BhbSAvICgkcmVsX2hhbSArICRyZWxfc3BhbSk7CgogICAgICAgICMgQ2FsY3VsYXRlIHRoZSBiZXR0ZXIgcHJvYmFiaWxpdHkgcHJvcG9zZWQgYnkgTXIuIFJvYmluc29uCiAgICAgICAgJGFsbCA9ICRkYXRhWydjb3VudF9oYW0nXSArICRkYXRhWydjb3VudF9zcGFtJ107CiAgICAgICAgcmV0dXJuICgoJHRoaXMtPmNvbmZpZ1sncm9iX3MnXSAqICR0aGlzLT5jb25maWdbJ3JvYl94J10pICsgKCRhbGwgKiAkcmF0aW5nKSkgLwogICAgICAgICAgICAgICAoJHRoaXMtPmNvbmZpZ1sncm9iX3MnXSArICRhbGwpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIHRoZSBjYXRlZ29yeSBvZiBhIHJlcXVlc3QKICAgICAqCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNhdGVnb3J5CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBfY2hlY2tDYXRlZ29yeSgkY2F0ZWdvcnkpCiAgICB7CiAgICAgICAgcmV0dXJuICRjYXRlZ29yeSA9PT0gc2VsZjo6SEFNIG9yICRjYXRlZ29yeSA9PT0gc2VsZjo6U1BBTTsKICAgIH0KCiAgICAvKioKICAgICAqIExlYXJuIGEgcmVmZXJlbmNlIHRleHQKICAgICAqCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkdGV4dAogICAgICogQHBhcmFtIGNvbnN0ICRjYXRlZ29yeSBFaXRoZXIgYjg6OlNQQU0gb3IgYjg6OkhBTQogICAgICogQHJldHVybiBtaXhlZCB2b2lkIG9yIGFuIGVycm9yIGNvZGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxlYXJuKCR0ZXh0ID0gbnVsbCwgJGNhdGVnb3J5ID0gbnVsbCkKICAgIHsKICAgICAgICAjIExldCdzIGZpcnN0IHNlZSBpZiB0aGUgdXNlciBjYWxsZWQgdGhlIGZ1bmN0aW9uIGNvcnJlY3RseQogICAgICAgIGlmICgkdGV4dCA9PT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6VFJBSU5FUl9URVhUX01JU1NJTkc7CiAgICAgICAgfQogICAgICAgIGlmICgkY2F0ZWdvcnkgPT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRSQUlORVJfQ0FURUdPUllfTUlTU0lORzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3Byb2Nlc3NUZXh0KCR0ZXh0LCAkY2F0ZWdvcnksIHNlbGY6OkxFQVJOKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVubGVhcm4gYSByZWZlcmVuY2UgdGV4dAogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZXh0CiAgICAgKiBAcGFyYW0gY29uc3QgJGNhdGVnb3J5IEVpdGhlciBiODo6U1BBTSBvciBiODo6SEFNCiAgICAgKiBAcmV0dXJuIG1peGVkIHZvaWQgb3IgYW4gZXJyb3IgY29kZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdW5sZWFybigkdGV4dCA9IG51bGwsICRjYXRlZ29yeSA9IG51bGwpCiAgICB7CiAgICAgICAgIyBMZXQncyBmaXJzdCBzZWUgaWYgdGhlIHVzZXIgY2FsbGVkIHRoZSBmdW5jdGlvbiBjb3JyZWN0bHkKICAgICAgICBpZiAoJHRleHQgPT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRSQUlORVJfVEVYVF9NSVNTSU5HOwogICAgICAgIH0KICAgICAgICBpZiAoJGNhdGVnb3J5ID09PSBudWxsKSB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpUUkFJTkVSX0NBVEVHT1JZX01JU1NJTkc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHRoaXMtPl9wcm9jZXNzVGV4dCgkdGV4dCwgJGNhdGVnb3J5LCBzZWxmOjpVTkxFQVJOKTsKICAgIH0KCiAgICAvKioKICAgICAqIERvZXMgdGhlIGFjdHVhbCBpbnRlcmFjdGlvbiB3aXRoIHRoZSBzdG9yYWdlIGJhY2tlbmQgZm9yIGxlYXJuaW5nIG9yIHVubGVhcm5pbmcgdGV4dHMKICAgICAqCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRleHQKICAgICAqIEBwYXJhbSBjb25zdCAkY2F0ZWdvcnkgRWl0aGVyIGI4OjpTUEFNIG9yIGI4OjpIQU0KICAgICAqIEBwYXJhbSBjb25zdCAkYWN0aW9uIEVpdGhlciBiODo6TEVBUk4gb3IgYjg6OlVOTEVBUk4KICAgICAqIEByZXR1cm4gbWl4ZWQgdm9pZCBvciBhbiBlcnJvciBjb2RlCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gX3Byb2Nlc3NUZXh0KCR0ZXh0LCAkY2F0ZWdvcnksICRhY3Rpb24pCiAgICB7CiAgICAgICAgIyBMb29rIGlmIHRoZSByZXF1ZXN0IGlzIG9rYXkKICAgICAgICBpZiAoJHRoaXMtPl9jaGVja0NhdGVnb3J5KCRjYXRlZ29yeSkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpUUkFJTkVSX0NBVEVHT1JZX0ZBSUw7CiAgICAgICAgfQoKICAgICAgICAjIEdldCBhbGwgdG9rZW5zIGZyb20gJHRleHQKICAgICAgICAkdG9rZW5zID0gJHRoaXMtPmxleGVyLT5nZXRUb2tlbnMoJHRleHQpOwoKICAgICAgICAjIENoZWNrIGlmIHRoZSBsZXhlciBmYWlsZWQKICAgICAgICAjIChpZiBzbywgJHRva2VucyB3aWxsIGJlIGEgbGV4ZXIgZXJyb3IgY29kZSwgaWYgbm90LCAkdG9rZW5zIHdpbGwgYmUgYW4gYXJyYXkpCiAgICAgICAgaWYgKCFpc19hcnJheSgkdG9rZW5zKSkgewogICAgICAgICAgICByZXR1cm4gJHRva2VuczsKICAgICAgICB9CgogICAgICAgICMgUGFzcyB0aGUgdG9rZW5zIGFuZCB3aGF0IHRvIGRvIHdpdGggaXQgdG8gdGhlIHN0b3JhZ2UgYmFja2VuZAogICAgICAgIHJldHVybiAkdGhpcy0+c3RvcmFnZS0+cHJvY2Vzc1RleHQoJHRva2VucywgJGNhdGVnb3J5LCAkYWN0aW9uKTsKICAgIH0KCn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/b8/degenerator/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/b8/degenerator/degenerator_default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMTQgVG9iaWFzIExldXBvbGQgPHRvYmlhcy5sZXVwb2xkQHdlYi5kZT4KICoKICogQGxpY2Vuc2UgTEdQTCAyLjEKICogQGFjY2VzcyBwdWJsaWMKICogQHBhY2thZ2UgYjgKICogQGF1dGhvciBUb2JpYXMgTGV1cG9sZAogKi8KCmNsYXNzIGI4X2RlZ2VuZXJhdG9yX2RlZmF1bHQKewoKICAgIHB1YmxpYyAkY29uZmlnID0gYXJyYXkoCiAgICAgICAgJ211bHRpYnl0ZScgPT4gZmFsc2UsCiAgICAgICAgJ2VuY29kaW5nJyAgPT4gJ1VURi04JwogICAgKTsKCiAgICBwdWJsaWMgJGRlZ2VuZXJhdGVzID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgdGhlIGRlZ2VuZXJhdG9yLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbmZpZykKICAgIHsKICAgICAgICAjIFZhbGlkYXRlIGNvbmZpZyBkYXRhCiAgICAgICAgZm9yZWFjaCAoJGNvbmZpZyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgc3dpdGNoKCRuYW1lKSB7CiAgICAgICAgICAgICAgICBjYXNlICdtdWx0aWJ5dGUnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJG5hbWVdID0gKGJvb2wpICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ2VuY29kaW5nJzoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWyRuYW1lXSA9IChzdHJpbmcpICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAgICAgImI4X2RlZ2VuZXJhdG9yX2RlZmF1bHQ6IFVua25vd24gY29uZmlndXJhdGlvbiBrZXk6IFwiJG5hbWVcIiIKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2VuZXJhdGVzIGEgbGlzdCBvZiAiZGVnZW5lcmF0ZWQiIHdvcmRzIGZvciBhIGxpc3Qgb2Ygd29yZHMuCiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBhcnJheSAkdG9rZW5zCiAgICAgKiBAcmV0dXJuIGFycmF5IEFuIGFycmF5IGNvbnRhaW5pbmcgYW4gYXJyYXkgb2YgZGVnZW5lcmF0ZWQgdG9rZW5zIGZvciBlYWNoIHRva2VuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkZWdlbmVyYXRlKGFycmF5ICR3b3JkcykKICAgIHsKICAgICAgICAkZGVnZW5lcmF0ZXMgPSBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkd29yZHMgYXMgJHdvcmQpIHsKICAgICAgICAgICAgJGRlZ2VuZXJhdGVzWyR3b3JkXSA9ICR0aGlzLT5fZGVnZW5lcmF0ZVdvcmQoJHdvcmQpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRkZWdlbmVyYXRlczsKICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBkdXBsaWNhdGVzIGZyb20gYSBsaXN0IG9mIGRlZ2VuZXJhdGVzIG9mIGEgd29yZC4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqIEBwYXJhbSBhcnJheSAkbGlzdCBUaGUgbGlzdCB0byBwcm9jZXNzCiAgICAgKiBAcmV0dXJuIGFycmF5IFRoZSBsaXN0IHdpdGhvdXQgZHVwbGljYXRlcwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2RlbGV0ZUR1cGxpY2F0ZXMoJHdvcmQsICRsaXN0KQogICAgewogICAgICAgICRsaXN0X3Byb2Nlc3NlZCA9IGFycmF5KCk7CgogICAgICAgICMgQ2hlY2sgZWFjaCB1cHBlci9sb3dlciB2ZXJzaW9uCiAgICAgICAgZm9yZWFjaCAoJGxpc3QgYXMgJGFsdF93b3JkKSB7CiAgICAgICAgICAgIGlmICgkYWx0X3dvcmQgIT0gJHdvcmQpIHsKICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJGxpc3RfcHJvY2Vzc2VkLCAkYWx0X3dvcmQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGxpc3RfcHJvY2Vzc2VkOwogICAgfQoKICAgIC8qKgogICAgICogQnVpbGRzIGEgbGlzdCBvZiAiZGVnZW5lcmF0ZWQiIHZlcnNpb25zIG9mIGEgd29yZC4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHdvcmQKICAgICAqIEByZXR1cm4gYXJyYXkgQW4gYXJyYXkgb2YgZGVnZW5lcmF0ZWQgd29yZHMKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9kZWdlbmVyYXRlV29yZCgkd29yZCkKICAgIHsKICAgICAgICAjIENoZWNrIGZvciBhbnkgc3RvcmVkIHdvcmRzIHNvIHRoZSBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSB0byByZXBlYXQKICAgICAgICBpZiAoaXNzZXQoJHRoaXMtPmRlZ2VuZXJhdGVzWyR3b3JkXSkgPT09IHRydWUpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5kZWdlbmVyYXRlc1skd29yZF07CiAgICAgICAgfQoKICAgICAgICAjIENyZWF0ZSBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgdXBwZXIgYW5kIGxvd2VyIGNhc2UKICAgICAgICBpZiAoJHRoaXMtPmNvbmZpZ1snbXVsdGlieXRlJ10gPT09IGZhbHNlKSB7CiAgICAgICAgICAgICMgVGhlIHN0YW5kYXJkIHVwcGVyL2xvd2VyIHZlcnNpb25zCiAgICAgICAgICAgICRsb3dlciA9IHN0cnRvbG93ZXIoJHdvcmQpOwogICAgICAgICAgICAkdXBwZXIgPSBzdHJ0b3VwcGVyKCR3b3JkKTsKICAgICAgICAgICAgJGZpcnN0ID0gc3Vic3RyKCR1cHBlciwgMCwgMSkgLiBzdWJzdHIoJGxvd2VyLCAxLCBzdHJsZW4oJHdvcmQpKTsKICAgICAgICB9IGVsc2VpZiAoJHRoaXMtPmNvbmZpZ1snbXVsdGlieXRlJ10gPT09IHRydWUpIHsKICAgICAgICAgICAgIyBUaGUgbXVsdGlieXRlIHVwcGVyL2xvd2VyIHZlcnNpb25zCiAgICAgICAgICAgICRsb3dlciA9IG1iX3N0cnRvbG93ZXIoJHdvcmQsICR0aGlzLT5jb25maWdbJ2VuY29kaW5nJ10pOwogICAgICAgICAgICAkdXBwZXIgPSBtYl9zdHJ0b3VwcGVyKCR3b3JkLCAkdGhpcy0+Y29uZmlnWydlbmNvZGluZyddKTsKICAgICAgICAgICAgJGZpcnN0ID0gbWJfc3Vic3RyKAogICAgICAgICAgICAgICAgJHVwcGVyLCAwLCAxLCAkdGhpcy0+Y29uZmlnWydlbmNvZGluZyddKSAuCiAgICAgICAgICAgICAgICBtYl9zdWJzdHIoJGxvd2VyLCAxLCBtYl9zdHJsZW4oJHdvcmQpLCAkdGhpcy0+Y29uZmlnWydlbmNvZGluZyddCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIEFkZCB0aGUgdmVyc2lvbnMKICAgICAgICAkdXBwZXJfbG93ZXIgPSBhcnJheSgpOwogICAgICAgIGFycmF5X3B1c2goJHVwcGVyX2xvd2VyLCAkbG93ZXIpOwogICAgICAgIGFycmF5X3B1c2goJHVwcGVyX2xvd2VyLCAkdXBwZXIpOwogICAgICAgIGFycmF5X3B1c2goJHVwcGVyX2xvd2VyLCAkZmlyc3QpOwoKICAgICAgICAjIERlbGV0ZSBkdXBsaWNhdGUgdXBwZXIvbG93ZXIgdmVyc2lvbnMKICAgICAgICAkZGVnZW5lcmF0ZSA9ICR0aGlzLT5fZGVsZXRlRHVwbGljYXRlcygkd29yZCwgJHVwcGVyX2xvd2VyKTsKCiAgICAgICAgIyBBcHBlbmQgdGhlIG9yaWdpbmFsIHdvcmQKICAgICAgICBhcnJheV9wdXNoKCRkZWdlbmVyYXRlLCAkd29yZCk7CgogICAgICAgICMgRGVnZW5lcmF0ZSBhbGwgdmVyc2lvbnMKICAgICAgICBmb3JlYWNoICgkZGVnZW5lcmF0ZSBhcyAkYWx0X3dvcmQpIHsKICAgICAgICAgICAgIyBMb29rIGZvciBzdHVmZiBsaWtlICEhISBhbmQgPz8/CiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvWyE/XSQvJywgJGFsdF93b3JkKSA+IDApIHsKICAgICAgICAgICAgICAgICMgQWRkIHZlcnNpb25zIHdpdGggZGlmZmVyZW50ICFzIGFuZCA/cwogICAgICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9bIT9dezIsfSQvJywgJGFsdF93b3JkKSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAkdG1wID0gcHJlZ19yZXBsYWNlKCcvKFshP10pKyQvJywgJyQxJywgJGFsdF93b3JkKTsKICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCRkZWdlbmVyYXRlLCAkdG1wKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkdG1wID0gcHJlZ19yZXBsYWNlKCcvKFshP10pKyQvJywgJycsICRhbHRfd29yZCk7CiAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCRkZWdlbmVyYXRlLCAkdG1wKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBMb29rIGZvciAiLi4uIiBhdCB0aGUgZW5kIG9mIHRoZSB3b3JkCiAgICAgICAgICAgICRhbHRfd29yZF9pbnQgPSAkYWx0X3dvcmQ7CiAgICAgICAgICAgIHdoaWxlIChwcmVnX21hdGNoKCcvW1wuXSQvJywgJGFsdF93b3JkX2ludCkgPiAwKSB7CiAgICAgICAgICAgICAgICAkYWx0X3dvcmRfaW50ID0gc3Vic3RyKCRhbHRfd29yZF9pbnQsIDAsIHN0cmxlbigkYWx0X3dvcmRfaW50KSAtIDEpOwogICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkZGVnZW5lcmF0ZSwgJGFsdF93b3JkX2ludCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgU29tZSBkZWdlbmVyYXRlcyBhcmUgdGhlIHNhbWUgYXMgdGhlIG9yaWdpbmFsIHdvcmQuIFRoZXNlIGRvbid0IGhhdmUKICAgICAgICAjIHRvIGJlIGZldGNoZWQsIHNvIHdlIGNyZWF0ZSBhIG5ldyBhcnJheSB3aXRoIG9ubHkgbmV3IHRva2VucwogICAgICAgICRkZWdlbmVyYXRlID0gJHRoaXMtPl9kZWxldGVEdXBsaWNhdGVzKCR3b3JkLCAkZGVnZW5lcmF0ZSk7CgogICAgICAgICMgU3RvcmUgdGhlIGxpc3Qgb2YgZGVnZW5lcmF0ZXMgZm9yIHRoZSB0b2tlbiB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IHJlLXByb2Nlc3NpbmcKICAgICAgICAkdGhpcy0+ZGVnZW5lcmF0ZXNbJHdvcmRdID0gJGRlZ2VuZXJhdGU7CgogICAgICAgIHJldHVybiAkZGVnZW5lcmF0ZTsKICAgIH0KCn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/b8/lexer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/b8/lexer/lexer_default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMTQgVG9iaWFzIExldXBvbGQgPHRvYmlhcy5sZXVwb2xkQHdlYi5kZT4KICoKICogQGxpY2Vuc2UgTEdQTCAyLjEKICogQGFjY2VzcyBwdWJsaWMKICogQHBhY2thZ2UgYjgKICogQGF1dGhvciBUb2JpYXMgTGV1cG9sZAogKiBAYXV0aG9yIE9saXZlciBMaWxsaWUgKGFrYSBidWdnZWRjb20pIChvcmlnaW5hbCBQSFAgNSBwb3J0KQogKi8KCmNsYXNzIGI4X2xleGVyX2RlZmF1bHQKewoKICAgIGNvbnN0IExFWEVSX1RFWFRfTk9UX1NUUklORyA9ICdMRVhFUl9URVhUX05PVF9TVFJJTkcnOwogICAgY29uc3QgTEVYRVJfVEVYVF9FTVBUWSAgICAgID0gJ0xFWEVSX1RFWFRfRU1QVFknOwoKICAgIHB1YmxpYyAkY29uZmlnID0gYXJyYXkoCiAgICAgICAgJ21pbl9zaXplJyAgICAgID0+IDMsCiAgICAgICAgJ21heF9zaXplJyAgICAgID0+IDMwLAogICAgICAgICdhbGxvd19udW1iZXJzJyA9PiBmYWxzZSwKICAgICAgICAnZ2V0X3VyaXMnICAgICAgPT4gdHJ1ZSwKICAgICAgICAnb2xkX2dldF9odG1sJyAgPT4gdHJ1ZSwKICAgICAgICAnZ2V0X2h0bWwnICAgICAgPT4gZmFsc2UsCiAgICAgICAgJ2dldF9iYmNvZGUnICAgID0+IGZhbHNlCiAgICApOwoKICAgIHByaXZhdGUgJF90b2tlbnMgICAgICAgICA9IG51bGw7CiAgICBwcml2YXRlICRfcHJvY2Vzc2VkX3RleHQgPSBudWxsOwoKICAgICMgVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgd2UgdXNlIHRvIHNwbGl0IHRoZSB0ZXh0IHRvIHRva2VucwogICAgcHVibGljICRyZWdleHAgPSBhcnJheSgKICAgICAgICAncmF3X3NwbGl0JyA9PiAnL1tccyxcLlwvIlw6O1x8PD5cLV9cW1xde31cKz1cKVwoXCpcJlxeJV0rLycsCiAgICAgICAgJ2lwJyAgICAgICAgPT4gJy8oW0EtWmEtejAtOVxfXC1cLl0rKS8nLAogICAgICAgICd1cmlzJyAgICAgID0+ICcvKFtBLVphLXowLTlcX1wtXSpcLltBLVphLXowLTlcX1wtXC5dKykvJywKICAgICAgICAnaHRtbCcgICAgICA9PiAnLyg8Lis/PikvJywKICAgICAgICAnYmJjb2RlJyAgICA9PiAnLyhcWy4rP1xdKS8nLAogICAgICAgICd0YWduYW1lJyAgID0+ICcvKC4rPylccy8nLAogICAgICAgICdudW1iZXJzJyAgID0+ICcvXlswLTldKyQvJwogICAgKTsKCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgdGhlIGxleGVyLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbmZpZykKICAgIHsKICAgICAgICAjIFZhbGlkYXRlIGNvbmZpZyBkYXRhCiAgICAgICAgZm9yZWFjaCAoJGNvbmZpZyBhcyAkbmFtZT0+JHZhbHVlKSB7CiAgICAgICAgICAgIHN3aXRjaCAoJG5hbWUpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ21pbl9zaXplJzoKICAgICAgICAgICAgICAgIGNhc2UgJ21heF9zaXplJzoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWyRuYW1lXSA9IChpbnQpICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ2FsbG93X251bWJlcnMnOgogICAgICAgICAgICAgICAgY2FzZSAnZ2V0X3VyaXMnOgogICAgICAgICAgICAgICAgY2FzZSAnb2xkX2dldF9odG1sJzoKICAgICAgICAgICAgICAgIGNhc2UgJ2dldF9odG1sJzoKICAgICAgICAgICAgICAgIGNhc2UgJ2dldF9iYmNvZGUnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJG5hbWVdID0gKGJvb2wpICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiYjhfbGV4ZXJfZGVmYXVsdDogVW5rbm93biBjb25maWd1cmF0aW9uIGtleTogXCIkbmFtZVwiIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTcGxpdHMgYSB0ZXh0IHRvIHRva2Vucy4KICAgICAqCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkdGV4dAogICAgICogQHJldHVybiBtaXhlZCBSZXR1cm5zIGEgbGlzdCBvZiB0b2tlbnMgb3IgYW4gZXJyb3IgY29kZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VG9rZW5zKCR0ZXh0KQogICAgewogICAgICAgICMgQ2hlY2sgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIHN0cmluZyAuLi4KICAgICAgICBpZiAoaXNfc3RyaW5nKCR0ZXh0KSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OkxFWEVSX1RFWFRfTk9UX1NUUklORzsKICAgICAgICB9CgogICAgICAgICMgLi4uIGFuZCBpZiBpdCdzIGVtcHR5CiAgICAgICAgaWYgKGVtcHR5KCR0ZXh0KSA9PT0gdHJ1ZSkgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6TEVYRVJfVEVYVF9FTVBUWTsKICAgICAgICB9CgogICAgICAgICMgUmUtY29udmVydCB0aGUgdGV4dCB0byB0aGUgb3JpZ2luYWwgY2hhcmFjdGVycyBjb2RlZCBpbiBVVEYtOCwgYXMKICAgICAgICAjIHRoZXkgaGF2ZSBiZWVuIGNvZGVkIGluIGh0bWwgZW50aXRpZXMgZHVyaW5nIHRoZSBwb3N0IHByb2Nlc3MKICAgICAgICAkdGhpcy0+X3Byb2Nlc3NlZF90ZXh0ID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR0ZXh0LCBFTlRfUVVPVEVTLCAnVVRGLTgnKTsKCiAgICAgICAgIyBSZXNldCB0aGUgdG9rZW4gbGlzdAogICAgICAgICR0aGlzLT5fdG9rZW5zID0gYXJyYXkoKTsKCiAgICAgICAgaWYgKCR0aGlzLT5jb25maWdbJ2dldF91cmlzJ10gPT09IHRydWUpIHsKICAgICAgICAgICAgIyBHZXQgVVJJcwogICAgICAgICAgICAkdGhpcy0+X2dldFVyaXMoJHRoaXMtPl9wcm9jZXNzZWRfdGV4dCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmNvbmZpZ1snb2xkX2dldF9odG1sJ10gPT09IHRydWUpIHsKICAgICAgICAgICAgIyBHZXQgSFRNTCAtIHRoZSBvbGQgd2F5IHdpdGhvdXQgcmVtb3ZpbmcgdGhlIGZvdW5kIHRhZ3MKICAgICAgICAgICAgJHRoaXMtPl9vbGRHZXRIdG1sKCR0aGlzLT5fcHJvY2Vzc2VkX3RleHQpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5jb25maWdbJ2dldF9odG1sJ10gPT09IHRydWUpIHsKICAgICAgICAgICAgIyBHZXQgSFRNTAogICAgICAgICAgICAkdGhpcy0+X2dldE1hcmt1cCgkdGhpcy0+X3Byb2Nlc3NlZF90ZXh0LCAkdGhpcy0+cmVnZXhwWydodG1sJ10pOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5jb25maWdbJ2dldF9iYmNvZGUnXSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAjIEdldCBCQkNvZGUKICAgICAgICAgICAgJHRoaXMtPl9nZXRNYXJrdXAoJHRoaXMtPl9wcm9jZXNzZWRfdGV4dCwgJHRoaXMtPnJlZ2V4cFsnYmJjb2RlJ10pOwogICAgICAgIH0KCiAgICAgICAgIyBXZSBhbHdheXMgd2FudCB0byBkbyBhIHJhdyBzcGxpdCBvZiB0aGUgKHJlbWFpbmluZykgdGV4dCwgc286CiAgICAgICAgJHRoaXMtPl9yYXdTcGxpdCgkdGhpcy0+X3Byb2Nlc3NlZF90ZXh0KTsKCiAgICAgICAgIyBCZSBzdXJlIG5vdCB0byByZXR1cm4gYW4gZW1wdHkgYXJyYXkKICAgICAgICBpZiAoY291bnQoJHRoaXMtPl90b2tlbnMpID09IDApIHsKICAgICAgICAgICAgJHRoaXMtPl90b2tlbnNbJ2I4Km5vX3Rva2VucyddID0gMTsKICAgICAgICB9CgogICAgICAgICMgUmV0dXJuIGEgbGlzdCBvZiBhbGwgZm91bmQgdG9rZW5zCiAgICAgICAgcmV0dXJuICR0aGlzLT5fdG9rZW5zOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIGEgdG9rZW4uCiAgICAgKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbiBUaGUgdG9rZW4gc3RyaW5nLgogICAgICogQHJldHVybiBib29sZWFuIFJldHVybnMgdHJ1ZSBpZiB0aGUgdG9rZW4gaXMgdmFsaWQsIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9pc1ZhbGlkKCR0b2tlbikKICAgIHsKICAgICAgICAjIEp1c3QgdG8gYmUgc3VyZSB0aGF0IHRoZSB0b2tlbidzIG5hbWUgd29uJ3QgY29sbGlkZSB3aXRoIGI4J3MgaW50ZXJuYWwgdmFyaWFibGVzCiAgICAgICAgaWYoc3Vic3RyKCR0b2tlbiwgMCwgMykgPT0gJ2I4KicpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgIyBWYWxpZGF0ZSB0aGUgc2l6ZSBvZiB0aGUgdG9rZW4KICAgICAgICAkbGVuID0gc3RybGVuKCR0b2tlbik7CiAgICAgICAgaWYgKCRsZW4gPCAkdGhpcy0+Y29uZmlnWydtaW5fc2l6ZSddIG9yICRsZW4gPiAkdGhpcy0+Y29uZmlnWydtYXhfc2l6ZSddKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICMgV2UgbWF5IHdhbnQgdG8gZXhjbHVkZSBwdXJlIG51bWJlcnMKICAgICAgICBpZiAoJHRoaXMtPmNvbmZpZ1snYWxsb3dfbnVtYmVycyddID09PSBmYWxzZSkgewogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgkdGhpcy0+cmVnZXhwWydudW1iZXJzJ10sICR0b2tlbikgPiAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgVG9rZW4gaXMgb2theQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIHRoZSB2YWxpZGl0eSBvZiBhIHRva2VuIGFuZCBhZGRzIGl0IHRvIHRoZSB0b2tlbiBsaXN0IGlmIGl0J3MgdmFsaWQuCiAgICAgKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbgogICAgICogQHBhcmFtIGJvb2wgJHJlbW92ZSBXaGVuIHNldCB0byB0cnVlLCB0aGUgc3RyaW5nIGdpdmVuIGluICR3b3JkX3RvX3JlbW92ZQogICAgICAgICAgICAgICAgICAgaXMgcmVtb3ZlZCBmcm9tIHRoZSB0ZXh0IHBhc3NlZCB0byB0aGUgbGV4ZXIuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR3b3JkX3RvX3JlbW92ZQogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gX2FkZFRva2VuKCR0b2tlbiwgJHJlbW92ZSwgJHdvcmRfdG9fcmVtb3ZlKQogICAgewogICAgICAgICMgQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIHRoZSB0b2tlbgogICAgICAgIGlmICgkdGhpcy0+X2lzVmFsaWQoJHRva2VuKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBBZGQgaXQgdG8gdGhlIGxpc3Qgb3IgaW5jcmVhc2UgaXQncyBjb3VudGVyCiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5fdG9rZW5zWyR0b2tlbl0pID09PSBmYWxzZSkgewogICAgICAgICAgICAkdGhpcy0+X3Rva2Vuc1skdG9rZW5dID0gMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+X3Rva2Vuc1skdG9rZW5dICs9IDE7CiAgICAgICAgfQoKICAgICAgICAjIElmIHJlcXVlc3RlZCwgcmVtb3ZlIHRoZSB3b3JkIG9yIGl0J3Mgb3JpZ2luYWwgdmVyc2lvbiBmcm9tIHRoZSB0ZXh0CiAgICAgICAgaWYgKCRyZW1vdmUgPT09IHRydWUpIHsKICAgICAgICAgICAgJHRoaXMtPl9wcm9jZXNzZWRfdGV4dCA9IHN0cl9yZXBsYWNlKCR3b3JkX3RvX3JlbW92ZSwgJycsICR0aGlzLT5fcHJvY2Vzc2VkX3RleHQpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgVVJJcy4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRleHQKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRVcmlzKCR0ZXh0KQogICAgewogICAgICAgICMgRmluZCBVUklzCiAgICAgICAgcHJlZ19tYXRjaF9hbGwoJHRoaXMtPnJlZ2V4cFsndXJpcyddLCAkdGV4dCwgJHJhd190b2tlbnMpOwogICAgICAgIGZvcmVhY2ggKCRyYXdfdG9rZW5zWzFdIGFzICR3b3JkKSB7CiAgICAgICAgICAgICMgUmVtb3ZlIGEgcG9zc2libGUgdHJhaWxpbmcgZG90CiAgICAgICAgICAgICR3b3JkID0gcnRyaW0oJHdvcmQsICcuJyk7CiAgICAgICAgICAgICMgVHJ5IHRvIGFkZCB0aGUgZm91bmQgdG9rZW5zIHRvIHRoZSBsaXN0CiAgICAgICAgICAgICR0aGlzLT5fYWRkVG9rZW4oJHdvcmQsIHRydWUsICR3b3JkKTsKICAgICAgICAgICAgIyBBbHNvIHByb2Nlc3MgdGhlIHBhcnRzIG9mIHRoZSBmb3VuZCBVUklzCiAgICAgICAgICAgICR0aGlzLT5fcmF3U3BsaXQoJHdvcmQpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldHMgSFRNTCBvciBCQkNvZGUgbWFya3VwLCBkZXBlbmRpbmcgb24gdGhlIHJlZ2V4cCB1c2VkLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICogQHBhcmFtIHN0cmluZyAkdGV4dAogICAgICogQHBhcmFtIHN0cmluZyAkcmVnZXhwCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0TWFya3VwKCR0ZXh0LCAkcmVnZXhwKQogICAgewogICAgICAgICMgU2VhcmNoIGZvciB0aGUgbWFya3VwCiAgICAgICAgcHJlZ19tYXRjaF9hbGwoJHJlZ2V4cCwgJHRleHQsICRyYXdfdG9rZW5zKTsKICAgICAgICBmb3JlYWNoICgkcmF3X3Rva2Vuc1sxXSBhcyAkd29yZCkgewogICAgICAgICAgICAkYWN0dWFsX3dvcmQgPSAkd29yZDsKCiAgICAgICAgICAgICMgSWYgdGhlIHRhZyBoYXMgcGFyYW1ldGVycywganVzdCB1c2UgdGhlIHRhZyBpdHNlbGYKICAgICAgICAgICAgaWYgKHN0cnBvcygkd29yZCwgJyAnKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIHByZWdfbWF0Y2goJHRoaXMtPnJlZ2V4cFsndGFnbmFtZSddLCAkd29yZCwgJG1hdGNoKTsKICAgICAgICAgICAgICAgICRhY3R1YWxfd29yZCA9ICRtYXRjaFsxXTsKICAgICAgICAgICAgICAgICR3b3JkID0gIiRhY3R1YWxfd29yZC4uLiIgLiBzdWJzdHIoJHdvcmQsIC0xKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBUcnkgdG8gYWRkIHRoZSBmb3VuZCB0b2tlbnMgdG8gdGhlIGxpc3QKICAgICAgICAgICAgJHRoaXMtPl9hZGRUb2tlbigkd29yZCwgdHJ1ZSwgJGFjdHVhbF93b3JkKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgZnVuY3Rpb24gdG8gZ2V0IEhUTUwgY29kZSB1c2VkIHVwIHRvIGI4IDAuNS4yLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICogQHBhcmFtIHN0cmluZyAkdGV4dAogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gX29sZEdldEh0bWwoJHRleHQpCiAgICB7CiAgICAgICAgIyBTZWFyY2ggZm9yIHRoZSBtYXJrdXAKICAgICAgICBwcmVnX21hdGNoX2FsbCgkdGhpcy0+cmVnZXhwWydodG1sJ10sICR0ZXh0LCAkcmF3X3Rva2Vucyk7CiAgICAgICAgZm9yZWFjaCAoJHJhd190b2tlbnNbMV0gYXMgJHdvcmQpIHsKICAgICAgICAgICAgIyBJZiB0aGUgdGFnIGhhcyBwYXJhbWV0ZXJzLCBqdXN0IHVzZSB0aGUgdGFnIGl0c2VsZgogICAgICAgICAgICBpZiAoc3RycG9zKCR3b3JkLCAnICcpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgcHJlZ19tYXRjaCgkdGhpcy0+cmVnZXhwWyd0YWduYW1lJ10sICR3b3JkLCAkbWF0Y2gpOwogICAgICAgICAgICAgICAgJHdvcmQgPSAieyRtYXRjaFsxXX0uLi4+IjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBUcnkgdG8gYWRkIHRoZSBmb3VuZCB0b2tlbnMgdG8gdGhlIGxpc3QKICAgICAgICAgICAgJHRoaXMtPl9hZGRUb2tlbigkd29yZCwgZmFsc2UsIG51bGwpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIERvZXMgYSByYXcgc3BsaXQuCiAgICAgKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZXh0CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBfcmF3U3BsaXQoJHRleHQpCiAgICB7CiAgICAgICAgZm9yZWFjaCAocHJlZ19zcGxpdCgkdGhpcy0+cmVnZXhwWydyYXdfc3BsaXQnXSwgJHRleHQpIGFzICR3b3JkKSB7CiAgICAgICAgICAgICMgQ2hlY2sgdGhlIHdvcmQgYW5kIGFkZCBpdCB0byB0aGUgdG9rZW4gbGlzdCBpZiBpdCdzIHZhbGlkCiAgICAgICAgICAgICR0aGlzLT5fYWRkVG9rZW4oJHdvcmQsIGZhbHNlLCBudWxsKTsKICAgICAgICB9CiAgICB9Cgp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/b8/storage/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/b8/storage/storage_base.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogRnVuY3Rpb25zIHVzZWQgYnkgYWxsIHN0b3JhZ2UgYmFja2VuZHMKICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTQgVG9iaWFzIExldXBvbGQgPHRvYmlhcy5sZXVwb2xkQHdlYi5kZT4KICoKICogQGxpY2Vuc2UgTEdQTCAyLjEKICogQGFjY2VzcyBwdWJsaWMKICogQHBhY2thZ2UgYjgKICogQGF1dGhvciBUb2JpYXMgTGV1cG9sZAogKi8KCmFic3RyYWN0IGNsYXNzIGI4X3N0b3JhZ2VfYmFzZQp7CgogICAgcHVibGljICRjb25uZWN0ZWQgPSBmYWxzZTsKCiAgICBwcm90ZWN0ZWQgJGRlZ2VuZXJhdG9yID0gbnVsbDsKCiAgICBjb25zdCBJTlRFUk5BTFNfVEVYVFMgICAgID0gJ2I4KnRleHRzJzsKICAgIGNvbnN0IElOVEVSTkFMU19EQlZFUlNJT04gPSAnYjgqZGJ2ZXJzaW9uJzsKCiAgICAvKioKICAgICAqIENoZWNrcyBpZiBhIGI4IGRhdGFiYXNlIGlzIHVzZWQgYW5kIGlmIGl0J3MgdmVyc2lvbiBpcyBva2F5LgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcmV0dXJuIHZvaWQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiBzb21ldGhpbmcncyB3cm9uZyB3aXRoIHRoZSBkYXRhYmFzZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2hlY2tEYXRhYmFzZSgpCiAgICB7CiAgICAgICAgJGludGVybmFscyA9ICR0aGlzLT5nZXRJbnRlcm5hbHMoKTsKICAgICAgICBpZiAoaXNzZXQoJGludGVybmFsc1snZGJ2ZXJzaW9uJ10pKSB7CiAgICAgICAgICAgIGlmICgkaW50ZXJuYWxzWydkYnZlcnNpb24nXSA9PSBiODo6REJWRVJTSU9OKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICdiOF9zdG9yYWdlX2Jhc2U6IFRoZSBjb25uZWN0ZWQgZGF0YWJhc2UgaXMgbm90IGEgYjggdicgLiBiODo6REJWRVJTSU9OIC4gJyBkYXRhYmFzZS4nCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGF0YWJhc2UncyBpbnRlcm5hbCB2YXJpYWJsZXMuCiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYXJyYXkgUmV0dXJucyBhbiBhcnJheSBvZiBhbGwgaW50ZXJuYWxzLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW50ZXJuYWxzKCkKICAgIHsKICAgICAgICAkaW50ZXJuYWxzID0gJHRoaXMtPl9nZXRRdWVyeSgKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICBzZWxmOjpJTlRFUk5BTFNfVEVYVFMsCiAgICAgICAgICAgICAgICBzZWxmOjpJTlRFUk5BTFNfREJWRVJTSU9OCiAgICAgICAgICAgICkKICAgICAgICApOwoKICAgICAgICAjIEp1c3QgaW4gY2FzZSB0aGlzIGlzIGNhbGxlZCBieSBjaGVja0RhdGFiYXNlKCkgYW5kCiAgICAgICAgIyBpdCdzIG5vdCB5ZXQgY2xlYXIgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIGI4IGRhdGFiYXNlCgogICAgICAgICR0ZXh0c19oYW0gPSBudWxsOwogICAgICAgICR0ZXh0c19zcGFtID0gbnVsbDsKICAgICAgICAkZGJ2ZXJzaW9uID0gbnVsbDsKCiAgICAgICAgaWYoaXNzZXQoJGludGVybmFsc1tzZWxmOjpJTlRFUk5BTFNfVEVYVFNdWydjb3VudF9oYW0nXSkpIHsKICAgICAgICAgICAgJHRleHRzX2hhbSA9IChpbnQpICRpbnRlcm5hbHNbc2VsZjo6SU5URVJOQUxTX1RFWFRTXVsnY291bnRfaGFtJ107CiAgICAgICAgfQogICAgICAgIGlmKGlzc2V0KCRpbnRlcm5hbHNbc2VsZjo6SU5URVJOQUxTX1RFWFRTXVsnY291bnRfc3BhbSddKSkgewogICAgICAgICAgICAkdGV4dHNfc3BhbSA9IChpbnQpICRpbnRlcm5hbHNbc2VsZjo6SU5URVJOQUxTX1RFWFRTXVsnY291bnRfc3BhbSddOwogICAgICAgIH0KICAgICAgICBpZihpc3NldCgkaW50ZXJuYWxzW3NlbGY6OklOVEVSTkFMU19EQlZFUlNJT05dWydjb3VudF9oYW0nXSkpIHsKICAgICAgICAgICAgJGRidmVyc2lvbiA9IChpbnQpICRpbnRlcm5hbHNbc2VsZjo6SU5URVJOQUxTX0RCVkVSU0lPTl1bJ2NvdW50X2hhbSddOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAndGV4dHNfaGFtJyAgPT4gJHRleHRzX2hhbSwKICAgICAgICAgICAgJ3RleHRzX3NwYW0nID0+ICR0ZXh0c19zcGFtLAogICAgICAgICAgICAnZGJ2ZXJzaW9uJyAgPT4gJGRidmVyc2lvbgogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYWxsIGRhdGEgYWJvdXQgYSBsaXN0IG9mIHRhZ3MgZnJvbSB0aGUgZGF0YWJhc2UuCiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBhcnJheSAkdG9rZW5zCiAgICAgKiBAcmV0dXJuIG1peGVkIFJldHVybnMgZmFsc2Ugb24gZmFpbHVyZSwgb3RoZXJ3aXNlIHJldHVybnMgYXJyYXkgb2YgcmV0dXJuZWQgZGF0YQogICAgICAgICAgICAgICBpbiB0aGUgZm9ybWF0IGFycmF5KCd0b2tlbnMnID0+IGFycmF5KHRva2VuID0+IGNvdW50KSwKICAgICAgICAgICAgICAgJ2RlZ2VuZXJhdGVzJyA9PiBhcnJheSh0b2tlbiA9PiBhcnJheShkZWdlbmVyYXRlID0+IGNvdW50KSkpLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCR0b2tlbnMpCiAgICB7CiAgICAgICAgIyBGaXJzdCB3ZSBzZWUgd2hhdCB3ZSBoYXZlIGluIHRoZSBkYXRhYmFzZS4KICAgICAgICAkdG9rZW5fZGF0YSA9ICR0aGlzLT5fZ2V0UXVlcnkoJHRva2Vucyk7CgogICAgICAgICMgQ2hlY2sgaWYgd2UgaGF2ZSB0byBkZWdlbmVyYXRlIHNvbWUgdG9rZW5zCiAgICAgICAgJG1pc3NpbmdfdG9rZW5zID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoICgkdG9rZW5zIGFzICR0b2tlbikgewogICAgICAgICAgICBpZiAoISBpc3NldCgkdG9rZW5fZGF0YVskdG9rZW5dKSkgewogICAgICAgICAgICAgICAgJG1pc3NpbmdfdG9rZW5zW10gPSAkdG9rZW47CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChjb3VudCgkbWlzc2luZ190b2tlbnMpID4gMCkgewogICAgICAgICAgICAjIFdlIGhhdmUgdG8gZGVnZW5lcmF0ZSBzb21lIHRva2VucwogICAgICAgICAgICAkZGVnZW5lcmF0ZXNfbGlzdCA9IGFycmF5KCk7CgogICAgICAgICAgICAjIEdlbmVyYXRlIGEgbGlzdCBvZiBkZWdlbmVyYXRlZCB0b2tlbnMgZm9yIHRoZSBtaXNzaW5nIHRva2VucyAuLi4KICAgICAgICAgICAgJGRlZ2VuZXJhdGVzID0gJHRoaXMtPmRlZ2VuZXJhdG9yLT5kZWdlbmVyYXRlKCRtaXNzaW5nX3Rva2Vucyk7CgogICAgICAgICAgICAjIC4uLiBhbmQgbG9vayB0aGVtIHVwCiAgICAgICAgICAgIGZvcmVhY2ggKCRkZWdlbmVyYXRlcyBhcyAkdG9rZW4gPT4gJHRva2VuX2RlZ2VuZXJhdGVzKSB7CiAgICAgICAgICAgICAgICAkZGVnZW5lcmF0ZXNfbGlzdCA9IGFycmF5X21lcmdlKCRkZWdlbmVyYXRlc19saXN0LCAkdG9rZW5fZGVnZW5lcmF0ZXMpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkdG9rZW5fZGF0YSA9IGFycmF5X21lcmdlKCR0b2tlbl9kYXRhLCAkdGhpcy0+X2dldFF1ZXJ5KCRkZWdlbmVyYXRlc19saXN0KSk7CiAgICAgICAgfQoKICAgICAgICAjIEhlcmUsIHdlIGhhdmUgYWxsIGF2YWlsYWJsZSBkYXRhIGluICR0b2tlbl9kYXRhLgoKICAgICAgICAkcmV0dXJuX2RhdGFfdG9rZW5zID0gYXJyYXkoKTsKICAgICAgICAkcmV0dXJuX2RhdGFfZGVnZW5lcmF0ZXMgPSBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkdG9rZW5zIGFzICR0b2tlbikgewogICAgICAgICAgICBpZiAoaXNzZXQoJHRva2VuX2RhdGFbJHRva2VuXSkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICMgVGhlIHRva2VuIHdhcyBmb3VuZCBpbiB0aGUgZGF0YWJhc2UKICAgICAgICAgICAgICAgICRyZXR1cm5fZGF0YV90b2tlbnNbJHRva2VuXSA9ICR0b2tlbl9kYXRhWyR0b2tlbl07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAjIFRoZSB0b2tlbiB3YXMgbm90IGZvdW5kLCBzbyB3ZSBsb29rIGlmIHdlCiAgICAgICAgICAgICAgICAjIGNhbiByZXR1cm4gZGF0YSBmb3IgZGVnZW5lcmF0ZWQgdG9rZW5zCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZGVnZW5lcmF0b3ItPmRlZ2VuZXJhdGVzWyR0b2tlbl0gYXMgJGRlZ2VuZXJhdGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJHRva2VuX2RhdGFbJGRlZ2VuZXJhdGVdKSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAjIEEgZGVnZW5lcmF0aW9uIG9mIHRoZSB0b2tlbiB3YXkgZm91bmQgaW4gdGhlIGRhdGFiYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXR1cm5fZGF0YV9kZWdlbmVyYXRlc1skdG9rZW5dWyRkZWdlbmVyYXRlXSA9ICR0b2tlbl9kYXRhWyRkZWdlbmVyYXRlXTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgTm93LCBhbGwgdG9rZW4gZGF0YSBkaXJlY3RseSBmb3VuZCBpbiB0aGUgZGF0YWJhc2UgaXMgaW4gJHJldHVybl9kYXRhX3Rva2VucwogICAgICAgICMgYW5kIGFsbCBkYXRhIGZvciBkZWdlbmVyYXRlZCB2ZXJzaW9ucyBpcyBpbiAkcmV0dXJuX2RhdGFfZGVnZW5lcmF0ZXMsIHNvCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAndG9rZW5zJyAgICAgID0+ICRyZXR1cm5fZGF0YV90b2tlbnMsCiAgICAgICAgICAgICdkZWdlbmVyYXRlcycgPT4gJHJldHVybl9kYXRhX2RlZ2VuZXJhdGVzCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFN0b3JlcyBvciBkZWxldGVzIGEgbGlzdCBvZiB0b2tlbnMgZnJvbSB0aGUgZ2l2ZW4gY2F0ZWdvcnkuCiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBhcnJheSAkdG9rZW5zCiAgICAgKiBAcGFyYW0gY29uc3QgJGNhdGVnb3J5IEVpdGhlciBiODo6SEFNIG9yIGI4OjpTUEFNCiAgICAgKiBAcGFyYW0gY29uc3QgJGFjdGlvbiBFaXRoZXIgYjg6OkxFQVJOIG9yIGI4OjpVTkxFQVJOCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByb2Nlc3NUZXh0KCR0b2tlbnMsICRjYXRlZ29yeSwgJGFjdGlvbikKICAgIHsKICAgICAgICAjIE5vIG1hdHRlciB3aGF0IHdlIGRvLCB3ZSBmaXJzdCBoYXZlIHRvIGNoZWNrIHdoYXQgZGF0YSB3ZSBoYXZlLgoKICAgICAgICAjIEZpcnN0IGdldCB0aGUgaW50ZXJuYWxzLCBpbmNsdWRpbmcgdGhlIGhhbSB0ZXh0cyBhbmQgc3BhbSB0ZXh0cyBjb3VudGVyCiAgICAgICAgJGludGVybmFscyA9ICR0aGlzLT5nZXRJbnRlcm5hbHMoKTsKCiAgICAgICAgIyBUaGVuLCBmZXRjaCBhbGwgZGF0YSBmb3IgYWxsIHRva2VucyB3ZSBoYXZlCiAgICAgICAgJHRva2VuX2RhdGEgPSAkdGhpcy0+X2dldFF1ZXJ5KGFycmF5X2tleXMoJHRva2VucykpOwoKICAgICAgICAjIFByb2Nlc3MgYWxsIHRva2VucyB0byBsZWFybi91bmxlYXJuCiAgICAgICAgZm9yZWFjaCAoJHRva2VucyBhcyAkdG9rZW4gPT4gJGNvdW50KSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkdG9rZW5fZGF0YVskdG9rZW5dKSkgewogICAgICAgICAgICAgICAgIyBXZSBhbHJlYWR5IGhhdmUgdGhpcyB0b2tlbiwgc28gdXBkYXRlIGl0J3MgZGF0YQoKICAgICAgICAgICAgICAgICMgR2V0IHRoZSBleGlzdGluZyBkYXRhCiAgICAgICAgICAgICAgICAkY291bnRfaGFtICA9ICR0b2tlbl9kYXRhWyR0b2tlbl1bJ2NvdW50X2hhbSddOwogICAgICAgICAgICAgICAgJGNvdW50X3NwYW0gPSAkdG9rZW5fZGF0YVskdG9rZW5dWydjb3VudF9zcGFtJ107CgogICAgICAgICAgICAgICAgIyBJbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgcmlnaHQgY291bnRlcgogICAgICAgICAgICAgICAgaWYgKCRhY3Rpb24gPT09IGI4OjpMRUFSTikgewogICAgICAgICAgICAgICAgICAgIGlmICgkY2F0ZWdvcnkgPT09IGI4OjpIQU0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvdW50X2hhbSArPSAkY291bnQ7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRjYXRlZ29yeSA9PT0gYjg6OlNQQU0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvdW50X3NwYW0gKz0gJGNvdW50OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkYWN0aW9uID09IGI4OjpVTkxFQVJOKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRjYXRlZ29yeSA9PT0gYjg6OkhBTSkgewogICAgICAgICAgICAgICAgICAgICAgICAkY291bnRfaGFtIC09ICRjb3VudDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGNhdGVnb3J5ID09PSBiODo6U1BBTSkgewogICAgICAgICAgICAgICAgICAgICAgICAkY291bnRfc3BhbSAtPSAkY291bnQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgV2UgZG9uJ3Qgd2FudCB0byBoYXZlIG5lZ2F0aXZlIHZhbHVlcwogICAgICAgICAgICAgICAgaWYgKCRjb3VudF9oYW0gPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgJGNvdW50X2hhbSA9IDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoJGNvdW50X3NwYW0gPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgJGNvdW50X3NwYW0gPSAwOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgTm93IGxldCdzIHNlZSBpZiB3ZSBoYXZlIHRvIHVwZGF0ZSBvciBkZWxldGUgdGhlIHRva2VuCiAgICAgICAgICAgICAgICBpZiAoJGNvdW50X2hhbSAhPSAwIG9yICRjb3VudF9zcGFtICE9IDApIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X3VwZGF0ZSgKICAgICAgICAgICAgICAgICAgICAgICAgJHRva2VuLCBhcnJheSgnY291bnRfaGFtJyA9PiAkY291bnRfaGFtLCAnY291bnRfc3BhbScgPT4gJGNvdW50X3NwYW0pCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9kZWwoJHRva2VuKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICMgV2UgZG9uJ3QgaGF2ZSB0aGUgdG9rZW4uIElmIHdlIHVubGVhcm4gYSB0ZXh0LCB3ZSBjYW4ndCBkZWxldGUgaXQKICAgICAgICAgICAgICAgICMgYXMgd2UgZG9uJ3QgaGF2ZSBpdCBhbnl3YXksIHNvIGp1c3QgZG8gc29tZXRoaW5nIGlmIHdlIGxlYXJuIGEgdGV4dAogICAgICAgICAgICAgICAgaWYgKCRhY3Rpb24gPT09IGI4OjpMRUFSTikgewogICAgICAgICAgICAgICAgICAgIGlmICgkY2F0ZWdvcnkgPT09IGI4OjpIQU0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGEgPSBhcnJheSgnY291bnRfaGFtJyA9PiAkY291bnQsICdjb3VudF9zcGFtJyA9PiAwKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGNhdGVnb3J5ID09PSBiODo6U1BBTSkgewogICAgICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IGFycmF5KCdjb3VudF9oYW0nID0+IDAsICdjb3VudF9zcGFtJyA9PiAkY291bnQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X3B1dCgkdG9rZW4sICRkYXRhKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBOb3csIGFsbCB0b2tlbiBoYXZlIGJlZW4gcHJvY2Vzc2VkLCBzbyBsZXQncyB1cGRhdGUgdGhlIHJpZ2h0IHRleHQKICAgICAgICBpZiAoJGFjdGlvbiA9PT0gYjg6OkxFQVJOKSB7CiAgICAgICAgICAgIGlmICgkY2F0ZWdvcnkgPT09IGI4OjpIQU0pIHsKICAgICAgICAgICAgICAgICRpbnRlcm5hbHNbJ3RleHRzX2hhbSddKys7CiAgICAgICAgICAgIH0gZWxzZWlmICgkY2F0ZWdvcnkgPT09IGI4OjpTUEFNKSB7CiAgICAgICAgICAgICAgICAkaW50ZXJuYWxzWyd0ZXh0c19zcGFtJ10rKzsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmICgkYWN0aW9uID09IGI4OjpVTkxFQVJOKSB7CiAgICAgICAgICAgIGlmICgkY2F0ZWdvcnkgPT09IGI4OjpIQU0pIHsKICAgICAgICAgICAgICAgIGlmICgkaW50ZXJuYWxzWyd0ZXh0c19oYW0nXSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAkaW50ZXJuYWxzWyd0ZXh0c19oYW0nXS0tOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2VpZiAoJGNhdGVnb3J5ID09PSBiODo6U1BBTSkgewogICAgICAgICAgICAgICAgaWYgKCRpbnRlcm5hbHNbJ3RleHRzX3NwYW0nXSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAkaW50ZXJuYWxzWyd0ZXh0c19zcGFtJ10tLTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPl91cGRhdGUoCiAgICAgICAgICAgIHNlbGY6OklOVEVSTkFMU19URVhUUywKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAnY291bnRfaGFtJyA9PiAkaW50ZXJuYWxzWyd0ZXh0c19oYW0nXSwKICAgICAgICAgICAgICAgICdjb3VudF9zcGFtJyA9PiAkaW50ZXJuYWxzWyd0ZXh0c19zcGFtJ10KICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgICMgV2UncmUgZG9uZSBhbmQgY2FuIGNvbW1pdCBhbGwgY2hhbmdlcyB0byB0aGUgZGF0YWJhc2Ugbm93CiAgICAgICAgJHRoaXMtPl9jb21taXQoKTsKICAgIH0KCn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/b8/storage/storage_dba.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogVGhlIERCQSAoQmVya2VsZXkgREIpIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgZGF0YWJhc2UuCiAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE0IFRvYmlhcyBMZXVwb2xkIDx0b2JpYXMubGV1cG9sZEB3ZWIuZGU+CiAqCiAqIEBsaWNlbnNlIExHUEwgMi4xCiAqIEBhY2Nlc3MgcHVibGljCiAqIEBwYWNrYWdlIGI4CiAqIEBhdXRob3IgVG9iaWFzIExldXBvbGQKICovCgpjbGFzcyBiOF9zdG9yYWdlX2RiYSBleHRlbmRzIGI4X3N0b3JhZ2VfYmFzZQp7CgogICAgcHVibGljICRjb25maWcgPSBhcnJheSgKICAgICAgICAnZGF0YWJhc2UnID0+ICd3b3JkbGlzdC5kYicsCiAgICAgICAgJ2hhbmRsZXInICA9PiAnZGI0JwogICAgKTsKCiAgICBwcml2YXRlICRfZGIgPSBudWxsOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyB0aGUgYmFja2VuZC4KICAgICAqCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkY29uZmlnCiAgICAgKi8KICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb25maWcsICYkZGVnZW5lcmF0b3IpCiAgICB7CiAgICAgICAgIyBQYXNzIHRoZSBkZWdlbmVyYXRvciBpbnN0YW5jZSB0byB0aGlzIGNsYXNzCiAgICAgICAgJHRoaXMtPmRlZ2VuZXJhdG9yID0gJGRlZ2VuZXJhdG9yOwoKICAgICAgICAjIFZhbGlkYXRlIHRoZSBjb25maWcgaXRlbXMKICAgICAgICBmb3JlYWNoICgkY29uZmlnIGFzICRuYW1lID0+ICR2YWx1ZSkgewogICAgICAgICAgICBzd2l0Y2ggKCRuYW1lKSB7CiAgICAgICAgICAgICAgICBjYXNlICdkYXRhYmFzZSc6CiAgICAgICAgICAgICAgICBjYXNlICdoYW5kbGVyJzoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWyRuYW1lXSA9IChzdHJpbmcpICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiYjhfc3RvcmFnZV9kYmE6IFVua25vd24gY29uZmlndXJhdGlvbiBrZXk6IFwiJG5hbWVcIiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIENvbm5lY3QgdG8gdGhlIGRhdGFiYXNlCiAgICAgICAgJGRiZmlsZSA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICcuLicgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPmNvbmZpZ1snZGF0YWJhc2UnXTsKICAgICAgICBpZiAoaXNfZmlsZSgkZGJmaWxlKSAhPT0gdHJ1ZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgImI4X3N0b3JhZ2VfZGJhOiBEYXRhYmFzZSBmaWxlIFwieyR0aGlzLT5jb25maWdbJ2RhdGFiYXNlJ119XCIgbm90IGZvdW5kLiIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzX3JlYWRhYmxlKCRkYmZpbGUpICE9PSB0cnVlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAiYjhfc3RvcmFnZV9kYmE6IERhdGFiYXNlIGZpbGUgXCJ7JHRoaXMtPmNvbmZpZ1snZGF0YWJhc2UnXX1cIiBpcyBub3QgcmVhZGFibGUuIgogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBpZiAoaXNfd3JpdGVhYmxlKCRkYmZpbGUpICE9PSB0cnVlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAiYjhfc3RvcmFnZV9kYmE6IERhdGFiYXNlIGZpbGUgXCJ7JHRoaXMtPmNvbmZpZ1snZGF0YWJhc2UnXX1cIiBpcyBub3Qgd3JpdGVhYmxlLiIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPl9kYiA9IGRiYV9vcGVuKCRkYmZpbGUsICd3JywgJHRoaXMtPmNvbmZpZ1snaGFuZGxlciddKTsKCiAgICAgICAgaWYgKCR0aGlzLT5fZGIgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICR0aGlzLT5jb25uZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgJHRoaXMtPl9kYiA9IG51bGw7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAiYjhfc3RvcmFnZV9kYmE6IENvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIGZpbGUgXCJ7JHRoaXMtPmNvbmZpZ1snZGF0YWJhc2UnXX1cIi4iCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIExldCdzIHNlZSBpZiB0aGlzIGlzIGEgYjggZGF0YWJhc2UgYW5kIHRoZSB2ZXJzaW9uIGlzIG9rYXkKICAgICAgICAkdGhpcy0+Y2hlY2tEYXRhYmFzZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2VzIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgICB7CiAgICAgICAgZGJhX2Nsb3NlKCR0aGlzLT5fZGIpOwogICAgfQoKICAgIC8qKgogICAgICogRG9lcyB0aGUgYWN0dWFsIGludGVyYWN0aW9uIHdpdGggdGhlIGRhdGFiYXNlIHdoZW4gZmV0Y2hpbmcgZGF0YS4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIGFycmF5ICR0b2tlbnMKICAgICAqIEByZXR1cm4gbWl4ZWQgUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgcmV0dXJuZWQgZGF0YSBpbiB0aGUgZm9ybWF0IGFycmF5KHRva2VuID0+IGRhdGEpCiAgICAgICAgICAgICAgIG9yIGFuIGVtcHR5IGFycmF5IGlmIHRoZXJlIHdhcyBubyBkYXRhLgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2dldFF1ZXJ5KCR0b2tlbnMpCiAgICB7CiAgICAgICAgJGRhdGEgPSBhcnJheSgpOwoKICAgICAgICBmb3JlYWNoICgkdG9rZW5zIGFzICR0b2tlbikgewogICAgICAgICAgICAjIFRyeSB0byB0aGUgcmF3IGRhdGEgaW4gdGhlIGZvcm1hdCAiY291bnRfaGFtIGNvdW50X3NwYW0gbGFzdHNlZW4iCiAgICAgICAgICAgICRjb3VudCA9IGRiYV9mZXRjaCgkdG9rZW4sICR0aGlzLT5fZGIpOwoKICAgICAgICAgICAgaWYgKCRjb3VudCAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICMgU3BsaXQgdGhlIGRhdGEgYnkgc3BhY2UgY2hhcmFjdGVycwogICAgICAgICAgICAgICAgJHNwbGl0X2RhdGEgPSBleHBsb2RlKCcgJywgJGNvdW50KTsKCiAgICAgICAgICAgICAgICAjIEFzIHRoZSBpbnRlcm5hbCB2YXJpYWJsZXMganVzdCBoYXZlIG9uZSBzaW5nbGUgdmFsdWUsCiAgICAgICAgICAgICAgICAjIHdlIGhhdmUgdG8gY2hlY2sgZm9yIHRoaXMKICAgICAgICAgICAgICAgICRjb3VudF9oYW0gID0gbnVsbDsKICAgICAgICAgICAgICAgICRjb3VudF9zcGFtID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkc3BsaXRfZGF0YVswXSkpIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRfaGFtICA9IChpbnQpICRzcGxpdF9kYXRhWzBdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRzcGxpdF9kYXRhWzFdKSkgewogICAgICAgICAgICAgICAgICAgICRjb3VudF9zcGFtID0gKGludCkgJHNwbGl0X2RhdGFbMV07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBBcHBlbmQgdGhlIHBhcnNlZCBkYXRhCiAgICAgICAgICAgICAgICAkZGF0YVskdG9rZW5dID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2NvdW50X2hhbScgID0+ICRjb3VudF9oYW0sCiAgICAgICAgICAgICAgICAgICAgJ2NvdW50X3NwYW0nID0+ICRjb3VudF9zcGFtCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBUcmFuc2xhdGVzIGEgY291bnQgYXJyYXkgdG8gYSBjb3VudCBkYXRhIHN0cmluZwogICAgICoKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICogQHBhcmFtIGFycmF5ICgnY291bnRfaGFtJyA9PiBpbnQsICdjb3VudF9zcGFtJyA9PiBpbnQpCiAgICAgKiBAcmV0dXJuIHN0cmluZyBUaGUgdHJhbnNsYXRlZCBhcnJheQogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIF90cmFuc2xhdGVDb3VudCgkY291bnQpIHsKICAgICAgICAjIEFzc2VtYmxlIHRoZSBjb3VudCBkYXRhIHN0cmluZwogICAgICAgICRjb3VudF9kYXRhID0gInskY291bnRbJ2NvdW50X2hhbSddfSB7JGNvdW50Wydjb3VudF9zcGFtJ119IjsKICAgICAgICAjIFJlbW92ZSB3aGl0ZXNwYWNlIGZyb20gZGF0YSBvZiB0aGUgaW50ZXJuYWwgdmFyaWFibGVzCiAgICAgICAgcmV0dXJuKHJ0cmltKCRjb3VudF9kYXRhKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTdG9yZSBhIHRva2VuIHRvIHRoZSBkYXRhYmFzZS4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIHN0cmluZyAkdG9rZW4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNvdW50CiAgICAgKiBAcmV0dXJuIGJvb2wgdHJ1ZSBvbiBzdWNjZXNzIG9yIGZhbHNlIG9uIGZhaWx1cmUKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9wdXQoJHRva2VuLCAkY291bnQpIHsKICAgICAgICByZXR1cm4gZGJhX2luc2VydCgkdG9rZW4sICR0aGlzLT5fdHJhbnNsYXRlQ291bnQoJGNvdW50KSwgJHRoaXMtPl9kYik7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGRhdGUgYW4gZXhpc3RpbmcgdG9rZW4uCiAgICAgKgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRva2VuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb3VudAogICAgICogQHJldHVybiBib29sIHRydWUgb24gc3VjY2VzcyBvciBmYWxzZSBvbiBmYWlsdXJlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCR0b2tlbiwgJGNvdW50KQogICAgewogICAgICAgIHJldHVybiBkYmFfcmVwbGFjZSgkdG9rZW4sICR0aGlzLT5fdHJhbnNsYXRlQ291bnQoJGNvdW50KSwgJHRoaXMtPl9kYik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSB0b2tlbiBmcm9tIHRoZSBkYXRhYmFzZS4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIHN0cmluZyAkdG9rZW4KICAgICAqIEByZXR1cm4gYm9vbCB0cnVlIG9uIHN1Y2Nlc3Mgb3IgZmFsc2Ugb24gZmFpbHVyZQogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2RlbCgkdG9rZW4pCiAgICB7CiAgICAgICAgcmV0dXJuIGRiYV9kZWxldGUoJHRva2VuLCAkdGhpcy0+X2RiKTsKICAgIH0KCiAgICAvKioKICAgICAqIERvZXMgbm90aGluZy4gV2UganVzdCBuZWVkIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSB0aGUgKE15KVNRTCBiYWNrZW5kKHMpIG5lZWQgaXQuCiAgICAgKgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2NvbW1pdCgpCiAgICB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/b8/storage/storage_mysql.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogVGhlIE15U1FMIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgZGF0YWJhc2UsIHVzaW5nIHRoZSBsZWdhY3kgbXlzcWwgaW50ZXJmYWNlLgogKiBDb3B5cmlnaHQgKEMpIDIwMDkgT2xpdmVyIExpbGxpZQogKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgogKgogKiBAbGljZW5zZSBMR1BMIDIuMQogKiBAYWNjZXNzIHB1YmxpYwogKiBAcGFja2FnZSBiOAogKiBAYXV0aG9yIE9saXZlciBMaWxsaWUgKG9yaWdpbmFsIFBIUCA1IHBvcnQgYW5kIG9wdGltaXphdGlvbnMpCiAqIEBhdXRob3IgVG9iaWFzIExldXBvbGQKICovCgpjbGFzcyBiOF9zdG9yYWdlX215c3FsIGV4dGVuZHMgYjhfc3RvcmFnZV9iYXNlCnsKCiAgICBwdWJsaWMgJGNvbmZpZyA9IGFycmF5KAogICAgICAgICdkYXRhYmFzZScgICA9PiAnYjhfd29yZGxpc3QnLAogICAgICAgICd0YWJsZV9uYW1lJyA9PiAnYjhfd29yZGxpc3QnLAogICAgICAgICdob3N0JyAgICAgICA9PiAnbG9jYWxob3N0JywKICAgICAgICAndXNlcicgICAgICAgPT4gZmFsc2UsCiAgICAgICAgJ3Bhc3MnICAgICAgID0+IGZhbHNlLAogICAgICAgICdjb25uZWN0aW9uJyA9PiBudWxsCiAgICApOwoKICAgIHByaXZhdGUgJF9jb25uZWN0aW9uID0gbnVsbDsKCiAgICBwcml2YXRlICRfZGVsZXRlcyA9IGFycmF5KCk7CiAgICBwcml2YXRlICRfcHV0cyAgICA9IGFycmF5KCk7CiAgICBwcml2YXRlICRfdXBkYXRlcyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RzIHRoZSBiYWNrZW5kLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb25maWcKICAgICAqLwogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbmZpZywgJiRkZWdlbmVyYXRvcikKICAgIHsKICAgICAgICAjIFBhc3MgdGhlIGRlZ2VuZXJhdG9yIGluc3RhbmNlIHRvIHRoaXMgY2xhc3MKICAgICAgICAkdGhpcy0+ZGVnZW5lcmF0b3IgPSAkZGVnZW5lcmF0b3I7CgogICAgICAgICMgVmFsaWRhdGUgdGhlIGNvbmZpZyBpdGVtcwogICAgICAgIGZvcmVhY2ggKCRjb25maWcgYXMgJG5hbWUgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgIHN3aXRjaCAoJG5hbWUpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3RhYmxlX25hbWUnOgogICAgICAgICAgICAgICAgY2FzZSAnaG9zdCc6CiAgICAgICAgICAgICAgICBjYXNlICd1c2VyJzoKICAgICAgICAgICAgICAgIGNhc2UgJ3Bhc3MnOgogICAgICAgICAgICAgICAgY2FzZSAnZGF0YWJhc2UnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJG5hbWVdID0gKHN0cmluZykgJHZhbHVlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnY29ubmVjdGlvbic6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmNvbmZpZ1snY29ubmVjdGlvbiddID0gJHZhbHVlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJiOF9zdG9yYWdlX215c3FsOiBVbmtub3duIGNvbmZpZ3VyYXRpb24ga2V5OiBcIiRuYW1lXCIiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBDb25uZWN0IHRvIHRoZSBkYXRhYmFzZQogICAgICAgIGlmICgkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10gIT09IG51bGwpIHsKICAgICAgICAgICAgIyBBIHJlc291cmNlIGhhcyBiZWVuIHBhc3NlZCwgc28gY2hlY2sgaWYgaXQncyBva2F5LgogICAgICAgICAgICBpZiAoaXNfcmVzb3VyY2UoJHRoaXMtPmNvbmZpZ1snY29ubmVjdGlvbiddKSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgJHJlc291cmNlX3R5cGUgPSBnZXRfcmVzb3VyY2VfdHlwZSgkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10pOwogICAgICAgICAgICAgICAgaWYgKCRyZXNvdXJjZV90eXBlICE9ICdteXNxbCBsaW5rJyBhbmQgJHJlc291cmNlX3R5cGUgIT0gJ215c3FsIGxpbmsgcGVyc2lzdGVudCcpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICAgICAiYjhfc3RvcmFnZV9teXNxbDogVGhlIHJlc291cmNlIHBhc3NlZCB2aWEgdGhlIFwiY29ubmVjdGlvblwiICIgLgogICAgICAgICAgICAgICAgICAgICAgICAicGFyYW10ZXIgaXMgbm8gTXlTUUwgcmVzb3VyY2UgYnV0IFwiJHJlc291cmNlX3R5cGVcIiIKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAnYjhfc3RvcmFnZV9teXNxbDogVGhlIHJlc291cmNlIHBhc3NlZCB2aWEgdGhlICJjb25uZWN0aW9uIiAnIC4KICAgICAgICAgICAgICAgICAgICAncGFyYW10ZXIgaXMgbm8gcmVzb3VyY2UuJwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBJZiB3ZSByZWFjaCBoZXJlLCB3ZSBjYW4gdXNlIHRoZSBwYXNzZWQgcmVzb3VyY2UuCiAgICAgICAgICAgICR0aGlzLT5fY29ubmVjdGlvbiA9ICR0aGlzLT5jb25maWdbJ2Nvbm5lY3Rpb24nXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAjIFdlIGhhdmUgdG8gY29ubmVjdC4KICAgICAgICAgICAgJHRoaXMtPl9jb25uZWN0aW9uID0gbXlzcWxfY29ubmVjdCgkdGhpcy0+Y29uZmlnWydob3N0J10sICR0aGlzLT5jb25maWdbJ3VzZXInXSwgJHRoaXMtPmNvbmZpZ1sncGFzcyddKTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5fY29ubmVjdGlvbiA9PT0gZmFsc2UKICAgICAgICAgICAgICAgIG9yIG15c3FsX3NlbGVjdF9kYigkdGhpcy0+Y29uZmlnWydkYXRhYmFzZSddLCAkdGhpcy0+X2Nvbm5lY3Rpb24pID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignYjhfc3RvcmFnZV9teXNxbDogJyAuIG15c3FsX2Vycm9yKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIENoZWNrIHRvIHNlZSBpZiB0aGUgd29yZGxpc3QgdGFibGUgZXhpc3RzCiAgICAgICAgaWYobXlzcWxfcXVlcnkoJ0RFU0NSSUJFIGAnIC4gJHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddIC4gJ2AnLCAkdGhpcy0+X2Nvbm5lY3Rpb24pID09PSBmYWxzZSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdiOF9zdG9yYWdlX215c3FsOiAnIC4gbXlzcWxfZXJyb3IoKSk7CiAgICAgICAgfQoKICAgICAgICAjIExldCdzIHNlZSBpZiB0aGlzIGlzIGEgYjggZGF0YWJhc2UgYW5kIHRoZSB2ZXJzaW9uIGlzIG9rYXkKICAgICAgICAkdGhpcy0+Y2hlY2tEYXRhYmFzZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2VzIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwoKICAgIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKQogICAgewogICAgICAgICMgQ29tbWl0IGFueSBjaGFuZ2VzIGJlZm9yZSBjbG9zaW5nCiAgICAgICAgJHRoaXMtPl9jb21taXQoKTsKCiAgICAgICAgIyBKdXN0IGNsb3NlIHRoZSBjb25uZWN0aW9uIGlmIG5vIGxpbmstcmVzb3VyY2Ugd2FzIHBhc3NlZCBhbmQgYjggY3JlYXRlZCBpdCdzIG93biBjb25uZWN0aW9uCiAgICAgICAgaWYgKCR0aGlzLT5jb25maWdbJ2Nvbm5lY3Rpb24nXSA9PT0gbnVsbCkgewogICAgICAgICAgICBteXNxbF9jbG9zZSgkdGhpcy0+X2Nvbm5lY3Rpb24pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIERvZXMgdGhlIGFjdHVhbCBpbnRlcmFjdGlvbiB3aXRoIHRoZSBkYXRhYmFzZSB3aGVuIGZldGNoaW5nIGRhdGEuCiAgICAgKgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkdG9rZW5zCiAgICAgKiBAcmV0dXJuIG1peGVkIFJldHVybnMgYW4gYXJyYXkgb2YgdGhlIHJldHVybmVkIGRhdGEgaW4gdGhlIGZvcm1hdCBhcnJheSh0b2tlbiA9PiBkYXRhKQogICAgICAgICAgICAgICBvciBhbiBlbXB0eSBhcnJheSBpZiB0aGVyZSB3YXMgbm8gZGF0YS4KICAgICAqLwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfZ2V0UXVlcnkoJHRva2VucykKICAgIHsKICAgICAgICAjIENvbnN0cnVjdCB0aGUgcXVlcnkgLi4uCiAgICAgICAgaWYgKGNvdW50KCR0b2tlbnMpID4gMSkgewogICAgICAgICAgICAjIFdlIGhhdmUgbW9yZSB0aGFuIDEgdG9rZW4KICAgICAgICAgICAgJHdoZXJlID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHRva2VucyBhcyAkdG9rZW4pIHsKICAgICAgICAgICAgICAgICR0b2tlbiA9IG15c3FsX3JlYWxfZXNjYXBlX3N0cmluZygkdG9rZW4sICR0aGlzLT5fY29ubmVjdGlvbik7CiAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCR3aGVyZSwgJHRva2VuKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkd2hlcmUgPSAidG9rZW4gSU4gKCciIC4gaW1wbG9kZSgiJywgJyIsICR3aGVyZSkgLiAiJykiOwogICAgICAgIH0gZWxzZWlmIChjb3VudCgkdG9rZW5zKSA9PSAxKSB7CiAgICAgICAgICAgICMgV2UgaGF2ZSBleGFjdGx5IG9uZSB0b2tlbgogICAgICAgICAgICAkdG9rZW4gPSBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcoJHRva2Vuc1swXSwgJHRoaXMtPl9jb25uZWN0aW9uKTsKICAgICAgICAgICAgJHdoZXJlID0gInRva2VuID0gJyIgLiAkdG9rZW4gLiAiJyI7CiAgICAgICAgfSBlbHNlaWYgKGNvdW50KCR0b2tlbnMpID09IDApIHsKICAgICAgICAgICAgIyBXZSBoYXZlIG5vIHRva2VucwogICAgICAgICAgICAjIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHdlIGRvIGEgZGVnZW5lcmF0ZXMgbG9va3VwIGFuZCB3ZSBkb24ndCBoYXZlIGFueSBkZWdlbmVyYXRlcy4KICAgICAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICAjIC4uLiBhbmQgZmV0Y2ggdGhlIGRhdGEKICAgICAgICAkcmVzdWx0ID0gbXlzcWxfcXVlcnkoJwogICAgICAgICAgICBTRUxFQ1QgdG9rZW4sIGNvdW50X2hhbSwgY291bnRfc3BhbQogICAgICAgICAgICBGUk9NIGAnIC4gJHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddIC4gJ2AKICAgICAgICAgICAgV0hFUkUgJyAuICR3aGVyZSAuICc7CiAgICAgICAgJywgJHRoaXMtPl9jb25uZWN0aW9uKTsKCiAgICAgICAgIyBDaGVjayBpZiBhbnl0aGluZyBtYXRjaGVkIHRoZSBxdWVyeQogICAgICAgIGlmICgkcmVzdWx0ID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgICAgICB9CgogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICB3aGlsZSAoJHJvdyA9IG15c3FsX2ZldGNoX2Fzc29jKCRyZXN1bHQpKSB7CiAgICAgICAgICAgICRkYXRhWyRyb3dbJ3Rva2VuJ11dID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnY291bnRfaGFtJyAgPT4gJHJvd1snY291bnRfaGFtJ10sCiAgICAgICAgICAgICAgICAnY291bnRfc3BhbScgPT4gJHJvd1snY291bnRfc3BhbSddCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBteXNxbF9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBTdG9yZSBhIHRva2VuIHRvIHRoZSBkYXRhYmFzZS4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIHN0cmluZyAkdG9rZW4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNvdW50CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9wdXQoJHRva2VuLCAkY291bnQpCiAgICB7CiAgICAgICAgYXJyYXlfcHVzaCgkdGhpcy0+X3B1dHMsCiAgICAgICAgICAgICIoJyIKICAgICAgICAgICAgLiBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcoJHRva2VuLCAkdGhpcy0+X2Nvbm5lY3Rpb24pCiAgICAgICAgICAgIC4gIicsICciCiAgICAgICAgICAgIC4gbXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCRjb3VudFsnY291bnRfaGFtJ10sICR0aGlzLT5fY29ubmVjdGlvbikKICAgICAgICAgICAgLiAiJywgJyIKICAgICAgICAgICAgLiBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcoJGNvdW50Wydjb3VudF9zcGFtJ10sICR0aGlzLT5fY29ubmVjdGlvbikKICAgICAgICAgICAgLiAiJykiCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFVwZGF0ZSBhbiBleGlzdGluZyB0b2tlbi4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIHN0cmluZyAkdG9rZW4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNvdW50CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF91cGRhdGUoJHRva2VuLCAkY291bnQpCiAgICB7CiAgICAgICAgYXJyYXlfcHVzaCgkdGhpcy0+X3VwZGF0ZXMsCiAgICAgICAgICAgICIoJyIKICAgICAgICAgICAgLiBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcoJHRva2VuLCAkdGhpcy0+X2Nvbm5lY3Rpb24pCiAgICAgICAgICAgIC4gIicsICciCiAgICAgICAgICAgIC4gbXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCRjb3VudFsnY291bnRfaGFtJ10sICR0aGlzLT5fY29ubmVjdGlvbikKICAgICAgICAgICAgLiAiJywgJyIKICAgICAgICAgICAgLiBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcoJGNvdW50Wydjb3VudF9zcGFtJ10sICR0aGlzLT5fY29ubmVjdGlvbikKICAgICAgICAgICAgLiAiJykiCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBhIHRva2VuIGZyb20gdGhlIGRhdGFiYXNlLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfZGVsKCR0b2tlbikKICAgIHsKICAgICAgICBhcnJheV9wdXNoKCR0aGlzLT5fZGVsZXRlcywgbXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCR0b2tlbiwgJHRoaXMtPl9jb25uZWN0aW9uKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb21taXRzIGFueSBtb2RpZmljYXRpb24gcXVlcmllcy4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2NvbW1pdCgpCiAgICB7CiAgICAgICAgaWYgKGNvdW50KCR0aGlzLT5fZGVsZXRlcykgPiAwKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBteXNxbF9xdWVyeSgiCiAgICAgICAgICAgICAgICBERUxFVEUgRlJPTSBgeyR0aGlzLT5jb25maWdbJ3RhYmxlX25hbWUnXX1gCiAgICAgICAgICAgICAgICBXSEVSRSB0b2tlbiBJTiAoJyIgLiBpbXBsb2RlKCInLCAnIiwgJHRoaXMtPl9kZWxldGVzKSAuICInKTsKICAgICAgICAgICAgIiwgJHRoaXMtPl9jb25uZWN0aW9uKTsKCiAgICAgICAgICAgIGlmIChpc19yZXNvdXJjZSgkcmVzdWx0KSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgbXlzcWxfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICR0aGlzLT5fZGVsZXRlcyA9IGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoY291bnQoJHRoaXMtPl9wdXRzKSA+IDApIHsKICAgICAgICAgICAgJHJlc3VsdCA9IG15c3FsX3F1ZXJ5KCIKICAgICAgICAgICAgICAgIElOU0VSVCBJTlRPIGB7JHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddfWAodG9rZW4sIGNvdW50X2hhbSwgY291bnRfc3BhbSkKICAgICAgICAgICAgICAgIFZBTFVFUyAiIC4gaW1wbG9kZSgnLCAnLCAkdGhpcy0+X3B1dHMpIC4gJzsKICAgICAgICAgICAgJywgJHRoaXMtPl9jb25uZWN0aW9uKTsKCiAgICAgICAgICAgIGlmIChpc19yZXNvdXJjZSgkcmVzdWx0KSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgbXlzcWxfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICR0aGlzLT5fcHV0cyA9IGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICBpZihjb3VudCgkdGhpcy0+X3VwZGF0ZXMpID4gMCkgewogICAgICAgICAgICAkcmVzdWx0ID0gbXlzcWxfcXVlcnkoIgogICAgICAgICAgICAgICAgSU5TRVJUIElOVE8gYHskdGhpcy0+Y29uZmlnWyd0YWJsZV9uYW1lJ119YCh0b2tlbiwgY291bnRfaGFtLCBjb3VudF9zcGFtKQogICAgICAgICAgICAgICAgVkFMVUVTICIgLiBpbXBsb2RlKCcsICcsICR0aGlzLT5fdXBkYXRlcykgLiAiCiAgICAgICAgICAgICAgICBPTiBEVVBMSUNBVEUgS0VZIFVQREFURQogICAgICAgICAgICAgICAgICAgIGB7JHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddfWAuY291bnRfaGFtID0gVkFMVUVTKGNvdW50X2hhbSksCiAgICAgICAgICAgICAgICAgICAgYHskdGhpcy0+Y29uZmlnWyd0YWJsZV9uYW1lJ119YC5jb3VudF9zcGFtID0gVkFMVUVTKGNvdW50X3NwYW0pOwogICAgICAgICAgICAiLCAkdGhpcy0+X2Nvbm5lY3Rpb24pOwoKICAgICAgICAgICAgaWYgKGlzX3Jlc291cmNlKCRyZXN1bHQpID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICBteXNxbF9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHRoaXMtPl91cGRhdGVzID0gYXJyYXkoKTsKICAgICAgICB9CiAgICB9Cgp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/b8/storage/storage_mysqli.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogVGhlIE15U1FMIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgZGF0YWJhc2UsIHVzaW5nIHRoZSBuZXcgbXlzcWxpIGludGVyZmFjZQogKiBDb3B5cmlnaHQgKEMpIDIwMTQgVG9iaWFzIExldXBvbGQgPHRvYmlhcy5sZXVwb2xkQHdlYi5kZT4KICoKICogQGxpY2Vuc2UgTEdQTCAyLjEKICogQGFjY2VzcyBwdWJsaWMKICogQHBhY2thZ2UgYjgKICogQGF1dGhvciBPbGl2ZXIgTGlsbGllIChvcmlnaW5hbCBQSFAgNSBteXNxbCBiYWNrZW5kKQogKiBAYXV0aG9yIFRvYmlhcyBMZXVwb2xkCiAqIEBhdXRob3IgTG9yZW56byBNYXNldHRpICh1cGRhdGUgdG8gbXlzcWxpIHdpdGggdGhlIGhlbHAgb2YgdGhlIE15U1FMIGV4dC9teXNxbCBDb252ZXJ0ZXIgVG9vbCkKICovCgpjbGFzcyBiOF9zdG9yYWdlX215c3FsaSBleHRlbmRzIGI4X3N0b3JhZ2VfYmFzZQp7CgogICAgcHVibGljICRjb25maWcgPSBhcnJheSgKICAgICAgICAnZGF0YWJhc2UnICAgPT4gJ2I4X3dvcmRsaXN0JywKICAgICAgICAndGFibGVfbmFtZScgPT4gJ2I4X3dvcmRsaXN0JywKICAgICAgICAnaG9zdCcgICAgICAgPT4gJ2xvY2FsaG9zdCcsCiAgICAgICAgJ3VzZXInICAgICAgID0+IGZhbHNlLAogICAgICAgICdwYXNzJyAgICAgICA9PiBmYWxzZSwKICAgICAgICAnY29ubmVjdGlvbicgPT4gbnVsbAogICAgKTsKCiAgICBwcml2YXRlICRfY29ubmVjdGlvbiA9IG51bGw7CgogICAgcHJpdmF0ZSAkX2RlbGV0ZXMgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkX3B1dHMgICAgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkX3VwZGF0ZXMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyB0aGUgYmFja2VuZC4KICAgICAqCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkY29uZmlnCiAgICAgKi8KICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb25maWcsICYkZGVnZW5lcmF0b3IpCiAgICB7CiAgICAgICAgIyBQYXNzIHRoZSBkZWdlbmVyYXRvciBpbnN0YW5jZSB0byB0aGlzIGNsYXNzCiAgICAgICAgJHRoaXMtPmRlZ2VuZXJhdG9yID0gJGRlZ2VuZXJhdG9yOwoKICAgICAgICAjIFZhbGlkYXRlIHRoZSBjb25maWcgaXRlbXMKICAgICAgICBmb3JlYWNoICgkY29uZmlnIGFzICRuYW1lID0+ICR2YWx1ZSkgewogICAgICAgICAgICBzd2l0Y2goJG5hbWUpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3RhYmxlX25hbWUnOgogICAgICAgICAgICAgICAgY2FzZSAnaG9zdCc6CiAgICAgICAgICAgICAgICBjYXNlICd1c2VyJzoKICAgICAgICAgICAgICAgIGNhc2UgJ3Bhc3MnOgogICAgICAgICAgICAgICAgY2FzZSAnZGF0YWJhc2UnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJG5hbWVdID0gKHN0cmluZykgJHZhbHVlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnY29ubmVjdGlvbic6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmNvbmZpZ1snY29ubmVjdGlvbiddID0gJHZhbHVlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCJiOF9zdG9yYWdlX215c3FsaTogVW5rbm93biBjb25maWd1cmF0aW9uIGtleTogXCIkbmFtZVwiIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgQ29ubmVjdCB0byB0aGUgZGF0YWJhc2UKICAgICAgICBpZiAoJHRoaXMtPmNvbmZpZ1snY29ubmVjdGlvbiddICE9PSBudWxsKSB7CiAgICAgICAgICAgICMgQSByZXNvdXJjZSBoYXMgYmVlbiBwYXNzZWQsIHNvIGNoZWNrIGlmIGl0J3Mgb2theS4KICAgICAgICAgICAgaWYgKGlzX29iamVjdCgkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10pID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAkb2JqZWN0X3R5cGUgPSBnZXRfY2xhc3MoJHRoaXMtPmNvbmZpZ1snY29ubmVjdGlvbiddKTsKICAgICAgICAgICAgICAgIGlmICgkb2JqZWN0X3R5cGUgIT0gJ215c3FsaScpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICAgICAiYjhfc3RvcmFnZV9teXNxbGk6IFRoZSBvYmplY3QgcGFzc2VkIHZpYSB0aGUgXCJjb25uZWN0aW9uXCIgIiAuCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJhbXRlciBpcyBubyBteXNxbGkgb2JqZWN0IGJ1dCBcIiRvYmplY3RfdHlwZVwiIgogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKAogICAgICAgICAgICAgICAgICAgICdiOF9zdG9yYWdlX215c3FsaTogVGhlIHJlc291cmNlIHBhc3NlZCB2aWEgdGhlICJjb25uZWN0aW9uIiBwYXJhbXRlciBpcyAnIC4KICAgICAgICAgICAgICAgICAgICAnbm8gb2JqZWN0IChzaG91bGQgYmUgYW4gb2JqZWN0IG9mIGNsYXNzIG15c3FsaSkuJwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBJZiB3ZSByZWFjaCBoZXJlLCB3ZSBjYW4gdXNlIHRoZSBwYXNzZWQgcmVzb3VyY2UuCiAgICAgICAgICAgICR0aGlzLT5fY29ubmVjdGlvbiA9ICR0aGlzLT5jb25maWdbJ2Nvbm5lY3Rpb24nXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAjIFdlIGhhdmUgdG8gY29ubmVjdC4KICAgICAgICAgICAgJHRoaXMtPl9jb25uZWN0aW9uID0gbXlzcWxpX2Nvbm5lY3QoCiAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWydob3N0J10sCiAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWyd1c2VyJ10sCiAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWydwYXNzJ10sCiAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWydkYXRhYmFzZSddCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmIChteXNxbGlfY29ubmVjdF9lcnJvcigpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdiOF9zdG9yYWdlX215c3FsaTogJyAuIG15c3FsaV9jb25uZWN0X2Vycm9yKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIENoZWNrIHRvIHNlZSBpZiB0aGUgd29yZGxpc3QgdGFibGUgZXhpc3RzCiAgICAgICAgaWYgKG15c3FsaV9xdWVyeSgkdGhpcy0+X2Nvbm5lY3Rpb24sICdERVNDUklCRSBgJyAuICR0aGlzLT5jb25maWdbJ3RhYmxlX25hbWUnXSAuICdgJykgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ2I4X3N0b3JhZ2VfbXlzcWxpOiAnIC4gbXlzcWxpX2Vycm9yKCR0aGlzLT5jb25uZWN0aW9uKSk7CiAgICAgICAgfQoKICAgICAgICAjIExldCdzIHNlZSBpZiB0aGlzIGlzIGEgYjggZGF0YWJhc2UgYW5kIHRoZSB2ZXJzaW9uIGlzIG9rYXkKICAgICAgICAkdGhpcy0+Y2hlY2tEYXRhYmFzZSgpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xvc2VzIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgICB7CiAgICAgICAgIyBDb21taXQgYW55IGNoYW5nZXMgYmVmb3JlIGNsb3NpbmcKICAgICAgICAkdGhpcy0+X2NvbW1pdCgpOwogICAgICAgICMgSnVzdCBjbG9zZSB0aGUgY29ubmVjdGlvbiBpZiBubyBsaW5rLXJlc291cmNlIHdhcyBwYXNzZWQgYW5kIGI4IGNyZWF0ZWQgaXQncyBvd24gY29ubmVjdGlvbgogICAgICAgIGlmICgkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10gPT09IG51bGwpIHsKICAgICAgICAgICAgbXlzcWxpX2Nsb3NlKCR0aGlzLT5fY29ubmVjdGlvbik7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRG9lcyB0aGUgYWN0dWFsIGludGVyYWN0aW9uIHdpdGggdGhlIGRhdGFiYXNlIHdoZW4gZmV0Y2hpbmcgZGF0YS4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIGFycmF5ICR0b2tlbnMKICAgICAqIEByZXR1cm4gbWl4ZWQgUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgcmV0dXJuZWQgZGF0YSBpbiB0aGUgZm9ybWF0IGFycmF5KHRva2VuID0+IGRhdGEpCiAgICAgICAgICAgICAgIG9yIGFuIGVtcHR5IGFycmF5IGlmIHRoZXJlIHdhcyBubyBkYXRhLgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2dldFF1ZXJ5KCR0b2tlbnMpCiAgICB7CiAgICAgICAgIyBDb25zdHJ1Y3QgdGhlIHF1ZXJ5IC4uLgogICAgICAgIGlmIChjb3VudCgkdG9rZW5zKSA+IDEpIHsKICAgICAgICAgICAgIyBXZSBoYXZlIG1vcmUgdGhhbiAxIHRva2VuCiAgICAgICAgICAgICR3aGVyZSA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0b2tlbnMgYXMgJHRva2VuKSB7CiAgICAgICAgICAgICAgICAkdG9rZW4gPSBteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCR0aGlzLT5fY29ubmVjdGlvbiwgJHRva2VuKTsKICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHdoZXJlLCAkdG9rZW4pOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR3aGVyZSA9ICJ0b2tlbiBJTiAoJyIgLiBpbXBsb2RlKCInLCAnIiwgJHdoZXJlKSAuICInKSI7CiAgICAgICAgfSBlbHNlaWYoY291bnQoJHRva2VucykgPT0gMSkgewogICAgICAgICAgICAjIFdlIGhhdmUgZXhhY3RseSBvbmUgdG9rZW4KICAgICAgICAgICAgJHRva2VuID0gbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkdGhpcy0+X2Nvbm5lY3Rpb24sICR0b2tlbnNbMF0pOwogICAgICAgICAgICAkd2hlcmUgPSAidG9rZW4gPSAnIiAuICR0b2tlbiAuICInIjsKICAgICAgICB9IGVsc2VpZihjb3VudCgkdG9rZW5zKSA9PSAwKSB7CiAgICAgICAgICAgICMgV2UgaGF2ZSBubyB0b2tlbnMKICAgICAgICAgICAgIyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBkbyBhIGRlZ2VuZXJhdGVzIGxvb2t1cCBhbmQgd2UgZG9uJ3QgaGF2ZSBhbnkgZGVnZW5lcmF0ZXMuCiAgICAgICAgICAgIHJldHVybiBhcnJheSgpOwogICAgICAgIH0KCiAgICAgICAgIyAuLi4gYW5kIGZldGNoIHRoZSBkYXRhCiAgICAgICAgJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkdGhpcy0+X2Nvbm5lY3Rpb24sICcKICAgICAgICAgICAgU0VMRUNUIHRva2VuLCBjb3VudF9oYW0sIGNvdW50X3NwYW0KICAgICAgICAgICAgRlJPTSBgJyAuICR0aGlzLT5jb25maWdbJ3RhYmxlX25hbWUnXSAuICdgCiAgICAgICAgICAgIFdIRVJFICcgLiAkd2hlcmUgLiAnOwogICAgICAgICcpOwoKICAgICAgICAjIENoZWNrIGlmIGFueXRoaW5nIG1hdGNoZWQgdGhlIHF1ZXJ5CiAgICAgICAgaWYgKCRyZXN1bHQgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgpOwogICAgICAgIH0KCiAgICAgICAgJGRhdGEgPSBhcnJheSgpOwogICAgICAgIHdoaWxlICgkcm93ID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRyZXN1bHQpKSB7CiAgICAgICAgICAgICRkYXRhWyRyb3dbJ3Rva2VuJ11dID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnY291bnRfaGFtJyAgPT4gJHJvd1snY291bnRfaGFtJ10sCiAgICAgICAgICAgICAgICAnY291bnRfc3BhbScgPT4gJHJvd1snY291bnRfc3BhbSddCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBteXNxbGlfZnJlZV9yZXN1bHQoJHJlc3VsdCkgOwogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIFN0b3JlIGEgdG9rZW4gdG8gdGhlIGRhdGFiYXNlLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbgogICAgICogQHBhcmFtIHN0cmluZyAkY291bnQKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3B1dCgkdG9rZW4sICRjb3VudCkKICAgIHsKICAgICAgICBhcnJheV9wdXNoKCR0aGlzLT5fcHV0cywKICAgICAgICAgICAgIignIgogICAgICAgICAgICAuIG15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJHRoaXMtPl9jb25uZWN0aW9uLCAkdG9rZW4pCiAgICAgICAgICAgIC4gIicsICciCiAgICAgICAgICAgIC4gbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkdGhpcy0+X2Nvbm5lY3Rpb24sICRjb3VudFsnY291bnRfaGFtJ10pCiAgICAgICAgICAgIC4gIicsICciCiAgICAgICAgICAgIC4gbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkdGhpcy0+X2Nvbm5lY3Rpb24sICRjb3VudFsnY291bnRfc3BhbSddKQogICAgICAgICAgICAuICInKSIKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogVXBkYXRlIGFuIGV4aXN0aW5nIHRva2VuLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbgogICAgICogQHBhcmFtIHN0cmluZyAkY291bnQKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3VwZGF0ZSgkdG9rZW4sICRjb3VudCkKICAgIHsKICAgICAgICBhcnJheV9wdXNoKCR0aGlzLT5fdXBkYXRlcywKICAgICAgICAgICAgIignIgogICAgICAgICAgICAuIG15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJHRoaXMtPl9jb25uZWN0aW9uLCAkdG9rZW4pCiAgICAgICAgICAgIC4gIicsICciCiAgICAgICAgICAgIC4gbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkdGhpcy0+X2Nvbm5lY3Rpb24sICRjb3VudFsnY291bnRfaGFtJ10pCiAgICAgICAgICAgIC4gIicsICciCiAgICAgICAgICAgIC4gbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkdGhpcy0+X2Nvbm5lY3Rpb24sICRjb3VudFsnY291bnRfc3BhbSddKQogICAgICAgICAgICAuICInKSIKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgdG9rZW4gZnJvbSB0aGUgZGF0YWJhc2UuCiAgICAgKgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRva2VuCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9kZWwoJHRva2VuKQogICAgewogICAgICAgIGFycmF5X3B1c2goJHRoaXMtPl9kZWxldGVzLCBteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCR0aGlzLT5fY29ubmVjdGlvbiwgJHRva2VuKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb21taXRzIGFueSBtb2RpZmljYXRpb24gcXVlcmllcy4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfY29tbWl0KCkKICAgIHsKICAgICAgICBpZiAoY291bnQoJHRoaXMtPl9kZWxldGVzKSA+IDApIHsKICAgICAgICAgICAgJHJlc3VsdCA9IG15c3FsaV9xdWVyeSggJHRoaXMtPl9jb25uZWN0aW9uLCAiCiAgICAgICAgICAgICAgICBERUxFVEUgRlJPTSBgeyR0aGlzLT5jb25maWdbJ3RhYmxlX25hbWUnXX1gCiAgICAgICAgICAgICAgICBXSEVSRSB0b2tlbiBJTiAoJyIgLiBpbXBsb2RlKCInLCAnIiwgJHRoaXMtPl9kZWxldGVzKSAuICInKTsKICAgICAgICAgICAgIik7CiAgICAgICAgICAgIGlmIChpc19vYmplY3QoJHJlc3VsdCkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgIG15c3FsaV9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+X2RlbGV0ZXMgPSBhcnJheSgpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvdW50KCR0aGlzLT5fcHV0cykgPiAwKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJHRoaXMtPl9jb25uZWN0aW9uLCAiCiAgICAgICAgICAgICAgICBJTlNFUlQgSU5UTyBgeyR0aGlzLT5jb25maWdbJ3RhYmxlX25hbWUnXX1gKHRva2VuLCBjb3VudF9oYW0sIGNvdW50X3NwYW0pCiAgICAgICAgICAgICAgICBWQUxVRVMgIiAuIGltcGxvZGUoJywgJywgJHRoaXMtPl9wdXRzKSAuICc7CiAgICAgICAgICAgICcpOwogICAgICAgICAgICBpZiAoaXNfb2JqZWN0KCRyZXN1bHQpID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICBteXNxbGlfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPl9wdXRzID0gYXJyYXkoKTsKICAgICAgICB9CgogICAgICAgIGlmIChjb3VudCgkdGhpcy0+X3VwZGF0ZXMpID4gMCkgewogICAgICAgICAgICAkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCAkdGhpcy0+X2Nvbm5lY3Rpb24sICIKICAgICAgICAgICAgICAgIElOU0VSVCBJTlRPIGB7JHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddfWAodG9rZW4sIGNvdW50X2hhbSwgY291bnRfc3BhbSkKICAgICAgICAgICAgICAgIFZBTFVFUyAiIC4gaW1wbG9kZSgnLCAnLCAkdGhpcy0+X3VwZGF0ZXMpIC4gIgogICAgICAgICAgICAgICAgT04gRFVQTElDQVRFIEtFWSBVUERBVEUKICAgICAgICAgICAgICAgIGB7JHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddfWAuY291bnRfaGFtID0gVkFMVUVTKGNvdW50X2hhbSksCiAgICAgICAgICAgICAgICBgeyR0aGlzLT5jb25maWdbJ3RhYmxlX25hbWUnXX1gLmNvdW50X3NwYW0gPSBWQUxVRVMoY291bnRfc3BhbSk7CiAgICAgICAgICAgICIpOwogICAgICAgICAgICBpZiAoaXNfb2JqZWN0KCRyZXN1bHQpID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICBteXNxbGlfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPl91cGRhdGVzID0gYXJyYXkoKTsKICAgICAgICB9CiAgICB9Cgp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/b8/storage/storage_mysqli_gbook.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vICBDTVNtcy9HYm9vayBtb2RpZmljYXRpb246IGNsYXNzIG5hbWUgY2hhbmdlZCBhdCBsaW5lIDM1IGFuZCAncG9ydCcgYWRkZWQgYXQgbGluZXMgNzYgYW5kIDExNQoKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogVGhlIE15U1FMIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgZGF0YWJhc2UsIHVzaW5nIHRoZSBuZXcgbXlzcWxpIGludGVyZmFjZQogKiBDb3B5cmlnaHQgKEMpIDIwMTQgVG9iaWFzIExldXBvbGQgPHRvYmlhcy5sZXVwb2xkQHdlYi5kZT4KICoKICogQGxpY2Vuc2UgTEdQTCAyLjEKICogQGFjY2VzcyBwdWJsaWMKICogQHBhY2thZ2UgYjgKICogQGF1dGhvciBPbGl2ZXIgTGlsbGllIChvcmlnaW5hbCBQSFAgNSBteXNxbCBiYWNrZW5kKQogKiBAYXV0aG9yIFRvYmlhcyBMZXVwb2xkCiAqIEBhdXRob3IgTG9yZW56byBNYXNldHRpICh1cGRhdGUgdG8gbXlzcWxpIHdpdGggdGhlIGhlbHAgb2YgdGhlIE15U1FMIGV4dC9teXNxbCBDb252ZXJ0ZXIgVG9vbCkKICovCgpjbGFzcyBiOF9zdG9yYWdlX215c3FsaV9nYm9vayBleHRlbmRzIGI4X3N0b3JhZ2VfYmFzZQp7CgogICAgcHVibGljICRjb25maWcgPSBhcnJheSgKICAgICAgICAnZGF0YWJhc2UnICAgPT4gJ2I4X3dvcmRsaXN0JywKICAgICAgICAndGFibGVfbmFtZScgPT4gJ2I4X3dvcmRsaXN0JywKICAgICAgICAnaG9zdCcgICAgICAgPT4gJ2xvY2FsaG9zdCcsCgkJJ3BvcnQnICAgICAgID0+IDMzMDYsCiAgICAgICAgJ3VzZXInICAgICAgID0+IGZhbHNlLAogICAgICAgICdwYXNzJyAgICAgICA9PiBmYWxzZSwKICAgICAgICAnY29ubmVjdGlvbicgPT4gbnVsbAogICAgKTsKCiAgICBwcml2YXRlICRfY29ubmVjdGlvbiA9IG51bGw7CgogICAgcHJpdmF0ZSAkX2RlbGV0ZXMgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkX3B1dHMgICAgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkX3VwZGF0ZXMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQ29uc3RydWN0cyB0aGUgYmFja2VuZC4KICAgICAqCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkY29uZmlnCiAgICAgKi8KICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb25maWcsICYkZGVnZW5lcmF0b3IpCiAgICB7CiAgICAgICAgIyBQYXNzIHRoZSBkZWdlbmVyYXRvciBpbnN0YW5jZSB0byB0aGlzIGNsYXNzCiAgICAgICAgJHRoaXMtPmRlZ2VuZXJhdG9yID0gJGRlZ2VuZXJhdG9yOwoKICAgICAgICAjIFZhbGlkYXRlIHRoZSBjb25maWcgaXRlbXMKICAgICAgICBmb3JlYWNoICgkY29uZmlnIGFzICRuYW1lID0+ICR2YWx1ZSkgewogICAgICAgICAgICBzd2l0Y2goJG5hbWUpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3RhYmxlX25hbWUnOgogICAgICAgICAgICAgICAgY2FzZSAnaG9zdCc6CiAgICAgICAgICAgICAgICBjYXNlICd1c2VyJzoKICAgICAgICAgICAgICAgIGNhc2UgJ3Bhc3MnOgogICAgICAgICAgICAgICAgY2FzZSAnZGF0YWJhc2UnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJG5hbWVdID0gKHN0cmluZykgJHZhbHVlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoJCQkJCQoJCQkJY2FzZSAncG9ydCc6CgkJCQkJJHRoaXMtPmNvbmZpZ1skbmFtZV0gPSAoaW50KSAkdmFsdWU7CgkJCQkJYnJlYWs7CgkJCQkJCiAgICAgICAgICAgICAgICBjYXNlICdjb25uZWN0aW9uJzoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oImI4X3N0b3JhZ2VfbXlzcWxpOiBVbmtub3duIGNvbmZpZ3VyYXRpb24ga2V5OiBcIiRuYW1lXCIiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBDb25uZWN0IHRvIHRoZSBkYXRhYmFzZQogICAgICAgIGlmICgkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10gIT09IG51bGwpIHsKICAgICAgICAgICAgIyBBIHJlc291cmNlIGhhcyBiZWVuIHBhc3NlZCwgc28gY2hlY2sgaWYgaXQncyBva2F5LgogICAgICAgICAgICBpZiAoaXNfb2JqZWN0KCR0aGlzLT5jb25maWdbJ2Nvbm5lY3Rpb24nXSkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICRvYmplY3RfdHlwZSA9IGdldF9jbGFzcygkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10pOwogICAgICAgICAgICAgICAgaWYgKCRvYmplY3RfdHlwZSAhPSAnbXlzcWxpJykgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgICAgICAgICJiOF9zdG9yYWdlX215c3FsaTogVGhlIG9iamVjdCBwYXNzZWQgdmlhIHRoZSBcImNvbm5lY3Rpb25cIiAiIC4KICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtdGVyIGlzIG5vIG15c3FsaSBvYmplY3QgYnV0IFwiJG9iamVjdF90eXBlXCIiCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgICAgJ2I4X3N0b3JhZ2VfbXlzcWxpOiBUaGUgcmVzb3VyY2UgcGFzc2VkIHZpYSB0aGUgImNvbm5lY3Rpb24iIHBhcmFtdGVyIGlzICcgLgogICAgICAgICAgICAgICAgICAgICdubyBvYmplY3QgKHNob3VsZCBiZSBhbiBvYmplY3Qgb2YgY2xhc3MgbXlzcWxpKS4nCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIElmIHdlIHJlYWNoIGhlcmUsIHdlIGNhbiB1c2UgdGhlIHBhc3NlZCByZXNvdXJjZS4KICAgICAgICAgICAgJHRoaXMtPl9jb25uZWN0aW9uID0gJHRoaXMtPmNvbmZpZ1snY29ubmVjdGlvbiddOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICMgV2UgaGF2ZSB0byBjb25uZWN0LgogICAgICAgICAgICAkdGhpcy0+X2Nvbm5lY3Rpb24gPSBteXNxbGlfY29ubmVjdCgKICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJ2hvc3QnXSwKICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJ3VzZXInXSwKICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJ3Bhc3MnXSwKICAgICAgICAgICAgICAgICR0aGlzLT5jb25maWdbJ2RhdGFiYXNlJ10sCiAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWydwb3J0J10KICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKG15c3FsaV9jb25uZWN0X2Vycm9yKCkpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ2I4X3N0b3JhZ2VfbXlzcWxpOiAnIC4gbXlzcWxpX2Nvbm5lY3RfZXJyb3IoKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgQ2hlY2sgdG8gc2VlIGlmIHRoZSB3b3JkbGlzdCB0YWJsZSBleGlzdHMKICAgICAgICBpZiAobXlzcWxpX3F1ZXJ5KCR0aGlzLT5fY29ubmVjdGlvbiwgJ0RFU0NSSUJFIGAnIC4gJHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddIC4gJ2AnKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignYjhfc3RvcmFnZV9teXNxbGk6ICcgLiBteXNxbGlfZXJyb3IoJHRoaXMtPmNvbm5lY3Rpb24pKTsKICAgICAgICB9CgogICAgICAgICMgTGV0J3Mgc2VlIGlmIHRoaXMgaXMgYSBiOCBkYXRhYmFzZSBhbmQgdGhlIHZlcnNpb24gaXMgb2theQogICAgICAgICR0aGlzLT5jaGVja0RhdGFiYXNlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9zZXMgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24uCiAgICAgKgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBmdW5jdGlvbiBfX2Rlc3RydWN0KCkKICAgIHsKICAgICAgICAjIENvbW1pdCBhbnkgY2hhbmdlcyBiZWZvcmUgY2xvc2luZwogICAgICAgICR0aGlzLT5fY29tbWl0KCk7CiAgICAgICAgIyBKdXN0IGNsb3NlIHRoZSBjb25uZWN0aW9uIGlmIG5vIGxpbmstcmVzb3VyY2Ugd2FzIHBhc3NlZCBhbmQgYjggY3JlYXRlZCBpdCdzIG93biBjb25uZWN0aW9uCiAgICAgICAgaWYgKCR0aGlzLT5jb25maWdbJ2Nvbm5lY3Rpb24nXSA9PT0gbnVsbCkgewogICAgICAgICAgICBteXNxbGlfY2xvc2UoJHRoaXMtPl9jb25uZWN0aW9uKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBEb2VzIHRoZSBhY3R1YWwgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZGF0YWJhc2Ugd2hlbiBmZXRjaGluZyBkYXRhLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gYXJyYXkgJHRva2VucwogICAgICogQHJldHVybiBtaXhlZCBSZXR1cm5zIGFuIGFycmF5IG9mIHRoZSByZXR1cm5lZCBkYXRhIGluIHRoZSBmb3JtYXQgYXJyYXkodG9rZW4gPT4gZGF0YSkKICAgICAgICAgICAgICAgb3IgYW4gZW1wdHkgYXJyYXkgaWYgdGhlcmUgd2FzIG5vIGRhdGEuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfZ2V0UXVlcnkoJHRva2VucykKICAgIHsKICAgICAgICAjIENvbnN0cnVjdCB0aGUgcXVlcnkgLi4uCiAgICAgICAgaWYgKGNvdW50KCR0b2tlbnMpID4gMSkgewogICAgICAgICAgICAjIFdlIGhhdmUgbW9yZSB0aGFuIDEgdG9rZW4KICAgICAgICAgICAgJHdoZXJlID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHRva2VucyBhcyAkdG9rZW4pIHsKICAgICAgICAgICAgICAgICR0b2tlbiA9IG15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJHRoaXMtPl9jb25uZWN0aW9uLCAkdG9rZW4pOwogICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkd2hlcmUsICR0b2tlbik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHdoZXJlID0gInRva2VuIElOICgnIiAuIGltcGxvZGUoIicsICciLCAkd2hlcmUpIC4gIicpIjsKICAgICAgICB9IGVsc2VpZihjb3VudCgkdG9rZW5zKSA9PSAxKSB7CiAgICAgICAgICAgICMgV2UgaGF2ZSBleGFjdGx5IG9uZSB0b2tlbgogICAgICAgICAgICAkdG9rZW4gPSBteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCR0aGlzLT5fY29ubmVjdGlvbiwgJHRva2Vuc1swXSk7CiAgICAgICAgICAgICR3aGVyZSA9ICJ0b2tlbiA9ICciIC4gJHRva2VuIC4gIiciOwogICAgICAgIH0gZWxzZWlmKGNvdW50KCR0b2tlbnMpID09IDApIHsKICAgICAgICAgICAgIyBXZSBoYXZlIG5vIHRva2VucwogICAgICAgICAgICAjIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHdlIGRvIGEgZGVnZW5lcmF0ZXMgbG9va3VwIGFuZCB3ZSBkb24ndCBoYXZlIGFueSBkZWdlbmVyYXRlcy4KICAgICAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICAjIC4uLiBhbmQgZmV0Y2ggdGhlIGRhdGEKICAgICAgICAkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCR0aGlzLT5fY29ubmVjdGlvbiwgJwogICAgICAgICAgICBTRUxFQ1QgdG9rZW4sIGNvdW50X2hhbSwgY291bnRfc3BhbQogICAgICAgICAgICBGUk9NIGAnIC4gJHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddIC4gJ2AKICAgICAgICAgICAgV0hFUkUgJyAuICR3aGVyZSAuICc7CiAgICAgICAgJyk7CgogICAgICAgICMgQ2hlY2sgaWYgYW55dGhpbmcgbWF0Y2hlZCB0aGUgcXVlcnkKICAgICAgICBpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuIGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAgICAgd2hpbGUgKCRyb3cgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJHJlc3VsdCkpIHsKICAgICAgICAgICAgJGRhdGFbJHJvd1sndG9rZW4nXV0gPSBhcnJheSgKICAgICAgICAgICAgICAgICdjb3VudF9oYW0nICA9PiAkcm93Wydjb3VudF9oYW0nXSwKICAgICAgICAgICAgICAgICdjb3VudF9zcGFtJyA9PiAkcm93Wydjb3VudF9zcGFtJ10KICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15c3FsaV9mcmVlX3Jlc3VsdCgkcmVzdWx0KSA7CiAgICAgICAgcmV0dXJuICRkYXRhOwogICAgfQoKICAgIC8qKgogICAgICogU3RvcmUgYSB0b2tlbiB0byB0aGUgZGF0YWJhc2UuCiAgICAgKgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRva2VuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb3VudAogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfcHV0KCR0b2tlbiwgJGNvdW50KQogICAgewogICAgICAgIGFycmF5X3B1c2goJHRoaXMtPl9wdXRzLAogICAgICAgICAgICAiKCciCiAgICAgICAgICAgIC4gbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkdGhpcy0+X2Nvbm5lY3Rpb24sICR0b2tlbikKICAgICAgICAgICAgLiAiJywgJyIKICAgICAgICAgICAgLiBteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCR0aGlzLT5fY29ubmVjdGlvbiwgJGNvdW50Wydjb3VudF9oYW0nXSkKICAgICAgICAgICAgLiAiJywgJyIKICAgICAgICAgICAgLiBteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCR0aGlzLT5fY29ubmVjdGlvbiwgJGNvdW50Wydjb3VudF9zcGFtJ10pCiAgICAgICAgICAgIC4gIicpIgogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGRhdGUgYW4gZXhpc3RpbmcgdG9rZW4uCiAgICAgKgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRva2VuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb3VudAogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCR0b2tlbiwgJGNvdW50KQogICAgewogICAgICAgIGFycmF5X3B1c2goJHRoaXMtPl91cGRhdGVzLAogICAgICAgICAgICAiKCciCiAgICAgICAgICAgIC4gbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkdGhpcy0+X2Nvbm5lY3Rpb24sICR0b2tlbikKICAgICAgICAgICAgLiAiJywgJyIKICAgICAgICAgICAgLiBteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCR0aGlzLT5fY29ubmVjdGlvbiwgJGNvdW50Wydjb3VudF9oYW0nXSkKICAgICAgICAgICAgLiAiJywgJyIKICAgICAgICAgICAgLiBteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCR0aGlzLT5fY29ubmVjdGlvbiwgJGNvdW50Wydjb3VudF9zcGFtJ10pCiAgICAgICAgICAgIC4gIicpIgogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSB0b2tlbiBmcm9tIHRoZSBkYXRhYmFzZS4KICAgICAqCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIHN0cmluZyAkdG9rZW4KICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2RlbCgkdG9rZW4pCiAgICB7CiAgICAgICAgYXJyYXlfcHVzaCgkdGhpcy0+X2RlbGV0ZXMsIG15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJHRoaXMtPl9jb25uZWN0aW9uLCAkdG9rZW4pKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbW1pdHMgYW55IG1vZGlmaWNhdGlvbiBxdWVyaWVzLgogICAgICoKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9jb21taXQoKQogICAgewogICAgICAgIGlmIChjb3VudCgkdGhpcy0+X2RlbGV0ZXMpID4gMCkgewogICAgICAgICAgICAkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCAkdGhpcy0+X2Nvbm5lY3Rpb24sICIKICAgICAgICAgICAgICAgIERFTEVURSBGUk9NIGB7JHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddfWAKICAgICAgICAgICAgICAgIFdIRVJFIHRva2VuIElOICgnIiAuIGltcGxvZGUoIicsICciLCAkdGhpcy0+X2RlbGV0ZXMpIC4gIicpOwogICAgICAgICAgICAiKTsKICAgICAgICAgICAgaWYgKGlzX29iamVjdCgkcmVzdWx0KSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgbXlzcWxpX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5fZGVsZXRlcyA9IGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoY291bnQoJHRoaXMtPl9wdXRzKSA+IDApIHsKICAgICAgICAgICAgJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkdGhpcy0+X2Nvbm5lY3Rpb24sICIKICAgICAgICAgICAgICAgIElOU0VSVCBJTlRPIGB7JHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddfWAodG9rZW4sIGNvdW50X2hhbSwgY291bnRfc3BhbSkKICAgICAgICAgICAgICAgIFZBTFVFUyAiIC4gaW1wbG9kZSgnLCAnLCAkdGhpcy0+X3B1dHMpIC4gJzsKICAgICAgICAgICAgJyk7CiAgICAgICAgICAgIGlmIChpc19vYmplY3QoJHJlc3VsdCkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgIG15c3FsaV9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+X3B1dHMgPSBhcnJheSgpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvdW50KCR0aGlzLT5fdXBkYXRlcykgPiAwKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBteXNxbGlfcXVlcnkoICR0aGlzLT5fY29ubmVjdGlvbiwgIgogICAgICAgICAgICAgICAgSU5TRVJUIElOVE8gYHskdGhpcy0+Y29uZmlnWyd0YWJsZV9uYW1lJ119YCh0b2tlbiwgY291bnRfaGFtLCBjb3VudF9zcGFtKQogICAgICAgICAgICAgICAgVkFMVUVTICIgLiBpbXBsb2RlKCcsICcsICR0aGlzLT5fdXBkYXRlcykgLiAiCiAgICAgICAgICAgICAgICBPTiBEVVBMSUNBVEUgS0VZIFVQREFURQogICAgICAgICAgICAgICAgYHskdGhpcy0+Y29uZmlnWyd0YWJsZV9uYW1lJ119YC5jb3VudF9oYW0gPSBWQUxVRVMoY291bnRfaGFtKSwKICAgICAgICAgICAgICAgIGB7JHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddfWAuY291bnRfc3BhbSA9IFZBTFVFUyhjb3VudF9zcGFtKTsKICAgICAgICAgICAgIik7CiAgICAgICAgICAgIGlmIChpc19vYmplY3QoJHJlc3VsdCkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgIG15c3FsaV9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+X3VwZGF0ZXMgPSBhcnJheSgpOwogICAgICAgIH0KICAgIH0KCn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/b8/storage/storage_postgresql.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNCBUb2JpYXMgTGV1cG9sZCA8dG9iaWFzLmxldXBvbGRAd2ViLmRlPgojCiMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgYjggcGFja2FnZQojCiMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLgojCiMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQojICAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwojICAgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiMgICBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgovKioKICogVGhlIFBvc3RncmVTUUwgYmFja2VuZCBmb3IgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBkYXRhYmFzZS4KICogQmFzZWQgb24gdGhlIE15U1FMIGJhY2tlbmQKICoKICogQ29weXJpZ2h0IChDKSAyMDEzIFRvbSBSZWduZXIgPHRvbUBnb29jaGVzYS5kZT4KICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQgVG9iaWFzIExldXBvbGQgPHRvYmlhcy5sZXVwb2xkQHdlYi5kZT4KICoKICogQGxpY2Vuc2UgTEdQTCAyLjEKICogQGFjY2VzcyBwdWJsaWMKICogQHBhY2thZ2UgYjgKICogQGF1dGhvciBUb20gUmVnbmVyIChvcmlnaW5hbCBQb3N0Z3JlU1FMIGJhY2tlbmQpCiAqIEBhdXRob3IgVG9iaWFzIExldXBvbGQKICovCgpjbGFzcyBiOF9zdG9yYWdlX3Bvc3RncmVzcWwgZXh0ZW5kcyBiOF9zdG9yYWdlX2Jhc2UKewoKICAgIHB1YmxpYyAkY29uZmlnID0gYXJyYXkoCiAgICAgICAgJ2RhdGFiYXNlJyAgID0+ICdiOF93b3JkbGlzdCcsCiAgICAgICAgJ3NjaGVtYScgICAgID0+ICdiOCcsCiAgICAgICAgJ3RhYmxlX25hbWUnID0+ICdiOF93b3JkbGlzdCcsCiAgICAgICAgJ2hvc3QnICAgICAgID0+ICdsb2NhbGhvc3QnLAogICAgICAgICdwb3J0JyAgICAgICA9PiAnNTQzMicsCiAgICAgICAgJ3VzZXInICAgICAgID0+IGZhbHNlLAogICAgICAgICdwYXNzJyAgICAgICA9PiBmYWxzZSwKICAgICAgICAnY29ubmVjdGlvbicgPT4gbnVsbAogICAgKTsKCiAgICBwcml2YXRlICRfY29ubmVjdGlvbiA9IG51bGw7CgogICAgcHJpdmF0ZSAkX2RlbGV0ZXMgPSBhcnJheSgpOwogICAgcHJpdmF0ZSAkX3B1dHMgICAgPSBhcnJheSgpOwoKICAgIC8qKgogICAgKiBDb25zdHJ1Y3RzIHRoZSBiYWNrZW5kLgogICAgKgogICAgKiBAYWNjZXNzIHB1YmxpYwogICAgKiBAcGFyYW0gc3RyaW5nICRjb25maWcKICAgICovCiAgICBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY29uZmlnLCAmJGRlZ2VuZXJhdG9yKQogICAgewogICAgICAgICMgUGFzcyB0aGUgZGVnZW5lcmF0b3IgaW5zdGFuY2UgdG8gdGhpcyBjbGFzcwogICAgICAgICR0aGlzLT5kZWdlbmVyYXRvciA9ICRkZWdlbmVyYXRvcjsKCiAgICAgICAgIyBWYWxpZGF0ZSB0aGUgY29uZmlnIGl0ZW1zCiAgICAgICAgZm9yZWFjaCAoJGNvbmZpZyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgc3dpdGNoICgkbmFtZSkgewogICAgICAgICAgICAgICAgY2FzZSAndGFibGVfbmFtZSc6CiAgICAgICAgICAgICAgICBjYXNlICdob3N0JzoKICAgICAgICAgICAgICAgIGNhc2UgJ3VzZXInOgogICAgICAgICAgICAgICAgY2FzZSAncGFzcyc6CiAgICAgICAgICAgICAgICBjYXNlICdkYXRhYmFzZSc6CiAgICAgICAgICAgICAgICBjYXNlICdzY2hlbWEnOgogICAgICAgICAgICAgICAgY2FzZSAncG9ydCc6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmNvbmZpZ1skbmFtZV0gPSAoc3RyaW5nKSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICdjb25uZWN0aW9uJzoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgICAgICAgICJiOF9zdG9yYWdlX3Bvc3RncmVzcWw6IFVua25vd24gY29uZmlndXJhdGlvbiBrZXk6IFwieyRuYW1lfVwiIgogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10gIT09IG51bGwpIHsKICAgICAgICAgICAgIyBBIGNvbm5lY3Rpb24gaGFzIGJlZW4gZ2l2ZW4sIHNvIGNoZWNrIGl0CiAgICAgICAgICAgIGlmICghICR0aGlzLT5jb25maWdbJ2Nvbm5lY3Rpb24nXSBpbnN0YW5jZW9mIFBET19QR1NRTCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAnYjhfc3RvcmFnZV9wb3N0Z3Jlc3FsOiBUaGUgb2JqZWN0IHBhc3NlZCB2aWEgdGhlICJjb25uZWN0aW9uIiAnIC4KICAgICAgICAgICAgICAgICAgICAncGFyYW10ZXIgaXMgbm8gUERPX1BHU1FMIGluc3RhbmNlLicKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgSWYgd2UgcmVhY2ggaGVyZSwgd2UgY2FuIHVzZSB0aGUgcGFzc2VkIHJlc291cmNlLgogICAgICAgICAgICAkdGhpcy0+X2Nvbm5lY3Rpb24gPSAkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ107CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIyBDcmVhdGUgYSBjb25uZWN0aW9uCiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+X2Nvbm5lY3Rpb24gPSBuZXcgUERPKAogICAgICAgICAgICAgICAgICAgICdwZ3NxbDonLgogICAgICAgICAgICAgICAgICAgICdob3N0PScgLiAgICAgJHRoaXMtPmNvbmZpZ1snaG9zdCddIC4gICAgICc7JyAuCiAgICAgICAgICAgICAgICAgICAgJ3BvcnQ9JyAuICAgICAkdGhpcy0+Y29uZmlnWydwb3J0J10gLiAgICAgJzsnIC4KICAgICAgICAgICAgICAgICAgICAnZGJuYW1lPScgLiAgICR0aGlzLT5jb25maWdbJ2RhdGFiYXNlJ10gLiAnOycgLgogICAgICAgICAgICAgICAgICAgICd1c2VyPScgLiAgICAgJHRoaXMtPmNvbmZpZ1sndXNlciddIC4gICAgICc7JyAuCiAgICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkPScgLiAkdGhpcy0+Y29uZmlnWydwYXNzJ10pCiAgICAgICAgICAgICAgICA7CiAgICAgICAgICAgIH0gY2F0Y2goUERPRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdiOF9zdG9yYWdlX3Bvc3RncmVzcWw6ICcgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBDaGVjayB0byBzZWUgaWYgdGhlIHdvcmRsaXN0IHRhYmxlIGV4aXN0cwogICAgICAgICRzdGggPSAkdGhpcy0+X2Nvbm5lY3Rpb24tPnByZXBhcmUoJwogICAgICAgICAgICBTRUxFQ1QgKiBGUk9NIHBnX2NhdGFsb2cucGdfdGFibGVzCiAgICAgICAgICAgIFdIRVJFIHNjaGVtYW5hbWUgPSA/IEFORCB0YWJsZW5hbWUgPSA/CiAgICAgICAgJyk7CgogICAgICAgIGlmICghJHN0aC0+ZXhlY3V0ZShhcnJheSgkdGhpcy0+Y29uZmlnWydzY2hlbWEnXSwgJHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddKSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignYjhfc3RvcmFnZV9wb3N0Z3Jlc3FsOiAnIC4gcHJpbnRfcigkc3RoLT5lcnJvckluZm8oKSwgdHJ1ZSkpOwogICAgICAgIH0KCiAgICAgICAgIyBMZXQncyBzZWUgaWYgdGhpcyBpcyBhIGI4IGRhdGFiYXNlIGFuZCB0aGUgdmVyc2lvbiBpcyBva2F5CiAgICAgICAgJHRoaXMtPmNoZWNrRGF0YWJhc2UoKTsKICAgIH0KCiAgICAvKioKICAgICogQ2xvc2VzIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uLgogICAgKgogICAgKiBAYWNjZXNzIHB1YmxpYwogICAgKiBAcmV0dXJuIHZvaWQKICAgICovCgogICAgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgICB7CiAgICAgICAgIyBDb21taXQgYW55IGNoYW5nZXMgYmVmb3JlIGNsb3NpbmcKICAgICAgICAkdGhpcy0+X2NvbW1pdCgpOwogICAgICAgICMgSnVzdCBjbG9zZSB0aGUgY29ubmVjdGlvbiBpZiBubyBsaW5rLXJlc291cmNlIHdhcyBwYXNzZWQgYW5kIGI4IGNyZWF0ZWQgaXQncyBvd24gY29ubmVjdGlvbgogICAgICAgIGlmICgkdGhpcy0+Y29uZmlnWydjb25uZWN0aW9uJ10gPT09IG51bGwpIHsKICAgICAgICAgICAgdW5zZXQoJHRoaXMtPl9jb25uZWN0aW9uKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAqIERvZXMgdGhlIGFjdHVhbCBpbnRlcmFjdGlvbiB3aXRoIHRoZSBkYXRhYmFzZSB3aGVuIGZldGNoaW5nIGRhdGEuCiAgICAqCiAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAqIEBwYXJhbSBhcnJheSAkdG9rZW5zCiAgICAqIEByZXR1cm4gbWl4ZWQgUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgcmV0dXJuZWQgZGF0YSBpbiB0aGUgZm9ybWF0IGFycmF5KHRva2VuID0+IGRhdGEpCiAgICAgICAgICAgICAgb3IgYW4gZW1wdHkgYXJyYXkgaWYgdGhlcmUgd2FzIG5vIGRhdGEuCiAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9nZXRRdWVyeSgkdG9rZW5zKQogICAgewogICAgICAgICMgQ29uc3RydWN0IHRoZSBxdWVyeSAuLi4KICAgICAgICAkY291bnQgPSBjb3VudCgkdG9rZW5zKTsKICAgICAgICBpZiAoJGNvdW50ID4gMSkgewogICAgICAgICAgICAjIFdlIGhhdmUgbW9yZSB0aGFuIDEgdG9rZW4KICAgICAgICAgICAgJHFMaXN0ID0gJHRoaXMtPl9tYWtlUGxhY2Vob2xkZXJzKCRjb3VudCk7CiAgICAgICAgICAgICR3aGVyZSA9ICJ0b2tlbiBJTiAoeyRxTGlzdH0pIjsKICAgICAgICB9IGVsc2VpZihjb3VudCgkdG9rZW5zKSA9PSAxKSB7CiAgICAgICAgICAgICMgV2UgaGF2ZSBleGFjdGx5IG9uZSB0b2tlbgogICAgICAgICAgICAkd2hlcmUgPSAidG9rZW4gPSA/IjsKICAgICAgICAgICAgJHRva2VucyA9ICR0b2tlbnNbMF07CiAgICAgICAgfSBlbHNlaWYoY291bnQoJHRva2VucykgPT0gMCkgewogICAgICAgICAgICAjIFdlIGhhdmUgbm8gdG9rZW5zCiAgICAgICAgICAgICMgVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgZG8gYSBkZWdlbmVyYXRlcyBsb29rdXAgYW5kIHdlIGRvbid0IGhhdmUgYW55IGRlZ2VuZXJhdGVzLgogICAgICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgICAgICB9CgogICAgICAgICMgLi4uIGFuZCBmZXRjaCB0aGUgZGF0YQogICAgICAgICRzcWwgPSAnCiAgICAgICAgICAgIFNFTEVDVCB0b2tlbiwgY291bnRfaGFtLCBjb3VudF9zcGFtCiAgICAgICAgICAgIEZST00gJyAuICR0aGlzLT5jb25maWdbJ3NjaGVtYSddIC4gJy4nIC4gJHRoaXMtPmNvbmZpZ1sndGFibGVfbmFtZSddIC4gIgogICAgICAgICAgICBXSEVSRSAkd2hlcmUiCiAgICAgICAgOwoKICAgICAgICAkc3RoID0gJHRoaXMtPl9jb25uZWN0aW9uLT5wcmVwYXJlKCRzcWwpOwogICAgICAgIGlmICgkc3RoLT5leGVjdXRlKCR0b2tlbnMpID09PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgICAgICB9CgogICAgICAgICRkYXRhID0gYXJyYXkoKTsKICAgICAgICB3aGlsZSAoJHJvdyA9ICRzdGgtPmZldGNoKFBETzo6RkVUQ0hfQVNTT0MpKSB7CiAgICAgICAgICAgICRkYXRhWyRyb3dbJ3Rva2VuJ11dID0gYXJyYXkoCiAgICAgICAgICAgICAgICAnY291bnRfaGFtJyAgPT4gJHJvd1snY291bnRfaGFtJ10sCiAgICAgICAgICAgICAgICAnY291bnRfc3BhbScgPT4gJHJvd1snY291bnRfc3BhbSddCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAkc3RoLT5jbG9zZUN1cnNvcigpOwogICAgICAgIHVuc2V0KCRzdGgpOwogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICogU3RvcmUgYSB0b2tlbiB0byB0aGUgZGF0YWJhc2UuCiAgICAqCiAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAqIEBwYXJhbSBzdHJpbmcgJHRva2VuCiAgICAqIEBwYXJhbSBhcnJheSAkY291bnQKICAgICogQHJldHVybiB2b2lkCiAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9wdXQoJHRva2VuLCAkY291bnQpCiAgICB7CiAgICAgICAgYXJyYXlfcHVzaCgkdGhpcy0+X3B1dHMsIGFycmF5KCR0b2tlbiwgJGNvdW50Wydjb3VudF9oYW0nXSwgJGNvdW50Wydjb3VudF9zcGFtJ10pKTsKICAgIH0KCiAgICAvKioKICAgICogVXBkYXRlIGFuIGV4aXN0aW5nIHRva2VuLgogICAgKgogICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbgogICAgKiBAcGFyYW0gYXJyYXkgJGNvdW50CiAgICAqIEByZXR1cm4gdm9pZAogICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCR0b2tlbiwgJGNvdW50KQogICAgewogICAgICAgICMgUHV0cyBhbmQgdXBkYXRlcyBhcmUgdHJlYXRlZCB0aGUgc2FtZQogICAgICAgICMgYW5kIGFyZSBzdWJqZWN0IHRvIHRoZSBiOF93b3JkbGlzdF91cGRhdGVfb25faW5zZXJ0IHJ1bGUKICAgICAgICAkdGhpcy0+X3B1dCgkdG9rZW4sICRjb3VudCk7CiAgICB9CgogICAgLyoqCiAgICAqIFJlbW92ZSBhIHRva2VuIGZyb20gdGhlIGRhdGFiYXNlLgogICAgKgogICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgKiBAcGFyYW0gc3RyaW5nICR0b2tlbgogICAgKiBAcmV0dXJuIHZvaWQKICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2RlbCgkdG9rZW4pCiAgICB7CiAgICAgICAgYXJyYXlfcHVzaCgkdGhpcy0+X2RlbGV0ZXMsICR0b2tlbik7CiAgICB9CgogICAgLyoqCiAgICAqIENvbW1pdHMgYW55IG1vZGlmaWNhdGlvbiBxdWVyaWVzLgogICAgKgogICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgKiBAcmV0dXJuIHZvaWQKICAgICovCgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9jb21taXQoKQogICAgewogICAgICAgICRkZWxldGVDb3VudCA9IGNvdW50KCR0aGlzLT5fZGVsZXRlcyk7CiAgICAgICAgaWYgKCRkZWxldGVDb3VudCA+IDApIHsKICAgICAgICAgICAgJHN0aCA9ICR0aGlzLT5fY29ubmVjdGlvbi0+cHJlcGFyZSgiCiAgICAgICAgICAgICAgICBERUxFVEUgRlJPTSB7JHRoaXMtPmNvbmZpZ1snc2NoZW1hJ119LnskdGhpcy0+Y29uZmlnWyd0YWJsZV9uYW1lJ119CiAgICAgICAgICAgICAgICBXSEVSRSB0b2tlbiBJTiAoIiAuICR0aGlzLT5fbWFrZVBsYWNlaG9sZGVycygkZGVsZXRlQ291bnQpIC4gIik7CiAgICAgICAgICAgICIpOwogICAgICAgICAgICAkc3RoLT5leGVjdXRlKCR0aGlzLT5fZGVsZXRlcyk7CiAgICAgICAgICAgICR0aGlzLT5fZGVsZXRlcyA9IGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICAkcHV0c0NvdW50ID0gY291bnQoJHRoaXMtPl9wdXRzKTsKICAgICAgICBpZiAoJHB1dHNDb3VudCA+IDApIHsKICAgICAgICAgICAgJHNxbCA9ICIKICAgICAgICAgICAgICAgIElOU0VSVCBJTlRPIHskdGhpcy0+Y29uZmlnWydzY2hlbWEnXX0ueyR0aGlzLT5jb25maWdbJ3RhYmxlX25hbWUnXX0oCiAgICAgICAgICAgICAgICAgICAgdG9rZW4sCiAgICAgICAgICAgICAgICAgICAgY291bnRfaGFtLAogICAgICAgICAgICAgICAgICAgIGNvdW50X3NwYW0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIFZBTFVFUwogICAgICAgICAgICAiOwoKICAgICAgICAgICAgJHEgPSBhcnJheSgpOwogICAgICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkcHV0c0NvdW50OyArKyRpKSB7CiAgICAgICAgICAgICAgICAkcVtdID0gIig/LD8sPykiOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkc3FsIC49IGltcGxvZGUoIiwgIiwgJHEpOwoKICAgICAgICAgICAgJHN0aCA9ICR0aGlzLT5fY29ubmVjdGlvbi0+cHJlcGFyZSgkc3FsKTsKICAgICAgICAgICAgZm9yICgkaSA9IDEsICRsID0gMDsgJGwgPCAkcHV0c0NvdW50OyArKyRsLCArKyRpKSB7CiAgICAgICAgICAgICAgICAkc3RoLT5iaW5kVmFsdWUoJGksICR0aGlzLT5fcHV0c1skbF1bMF0pOwogICAgICAgICAgICAgICAgKyskaTsgJHN0aC0+YmluZFZhbHVlKCRpLCAkdGhpcy0+X3B1dHNbJGxdWzFdKTsKICAgICAgICAgICAgICAgICsrJGk7ICRzdGgtPmJpbmRWYWx1ZSgkaSwgJHRoaXMtPl9wdXRzWyRsXVsyXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRzdGgtPmV4ZWN1dGUoKTsKICAgICAgICAgICAgJHRoaXMtPl9wdXRzID0gYXJyYXkoKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAqIEdlbmVyYXRlcyBhIHBsYWNlaG9sZGVyIHN0cmluZwogICAgKgogICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICogQHJldHVybiBzdHJpbmcgcmV0dXJucyB0aGUgcGxhY2Vob2xkZXIgc3RyaW5nCiAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBfbWFrZVBsYWNlaG9sZGVycygkY291bnQpCiAgICB7CiAgICAgICAgcmV0dXJuIHN0cl9yZXBlYXQoJz8sJywgJGNvdW50IC0gMSkgLiAnPyc7CiAgICB9Cgp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Gbook_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogR2Jvb2sNCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvZ2Jvb2svDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBHYm9va191dGlscw0Kew0KCXByb3RlY3RlZCBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9DQoNCgkNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIEdldEdib29rcygkZ2Jvb2sgPSAnJywgJGZpbHRlciA9IHRydWUpIHsNCgkJJG91dHB1dCA9IGFycmF5KCk7DQoJCQ0KCQkkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHYm9vaycpOw0KCQkkZGIgPSBjbXNtcygpLT5HZXREQigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUDQoJCQkJCQkJCWcuKiwNCgkJCQkJCQkJQ09VTlQoZS5lbnRyeV9pZCkgQVMgZW50cmllcywNCiAgICAgICAgICAgICAgICBTVU0oSUYoZS5hY3RpdmUgPSAxLDEsMCkpIEFTIGFjdGl2ZV9lbnRyaWVzLA0KICAgICAgICAgICAgICAgIFNVTShJRihlLmFjdGl2ZSA9IDAsMSwwKSkgQVMgaW5hY3RpdmVfZW50cmllcywNCiAgICAgICAgICAgICAgICBTVU0oSUYoZS5zcGFtcmF0ZSA+PSAiIC4gJGRiLT5RbWFnaWMoJG1vZC0+R2V0UHJlZmVyZW5jZSgnbWF4X3NwYW1yYXRlX2FjdGl2ZScsIDAuNSkgKiAxMDApIC4gIiwxLDApKSBBUyBzcGFtX2VudHJpZXMsDQoJCQkJCQkJCUNPVU5UKGUucmF0aW5nKSBBUyByYXRpbmdzLA0KCQkJCQkJCQlBVkcoZS5yYXRpbmcpIEFTIHJhdGluZ19hdmVyYWdlDQoJCQkJCQkJRlJPTQ0KCQkJCQkJCQkiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9vayBnDQoJCQkJCQkJTEVGVCBKT0lODQoJCQkJCQkJCSIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX2VudHJpZXMgZQ0KCQkJCQkJCU9ODQoJCQkJCQkJCWcuZ2Jvb2tfaWQgPSBlLmdib29rX2lkDQoJCQkJCQkJIjsNCgkJaWYgKCAkZmlsdGVyID09PSB0cnVlICkNCgkJew0KCQkJJHF1ZXJ5IC49ICIJQU5EIGUuYWN0aXZlID0gMQ0KCQkJCQkJCSI7DQoJCX0NCgkJJHF1ZXJ5IC49ICJXSEVSRQ0KCQkJCQkJCQkxID0gMQ0KCQkJCQkJCQkiOw0KCQlpZiAoIGN0eXBlX2RpZ2l0KCRnYm9vaykgKQ0KCQl7DQoJCQkkcXVlcnkgLj0gIkFORCBnLmdib29rX2lkID0gPyANCgkJCQkJCQkJIjsNCgkJfQ0KCQllbHNlaWYgKCAhZW1wdHkoJGdib29rKSApDQoJCXsNCgkJCSRxdWVyeSAuPSAiQU5EIGcuYWxpYXMgPSA/DQoJCQkJCQkJCSI7DQoJCX0NCgkJaWYgKCAkZmlsdGVyID09PSB0cnVlICkNCgkJew0KCQkJJHF1ZXJ5IC49ICJBTkQgZy5hY3RpdmUgPSAxDQoJCQkJCQkJCSI7DQoJCX0NCiAgICAkcXVlcnkgLj0gIkdST1VQIEJZDQoJCQkJCQkJCWcuZ2Jvb2tfaWQiOw0KCQlpZiAoIGVtcHR5KCRnYm9vaykgKQ0KCQl7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGdib29rKSk7DQoJCX0NCgkJaWYgKCAkcmVzdWx0ICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwICkNCgkJew0KCQkgIHdoaWxlICggJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpICkNCgkJICB7DQoJCSAgICAkb3V0cHV0WyRyb3dbJ2dib29rX2lkJ11dID0gJHJvdzsNCgkJICB9DQoJCX0NCgkJaWYgKCAhJHJlc3VsdCApDQoJCXsNCgkJCWVjaG8gJ0VSUk9SOiAnIC4gX19MSU5FX18gLiAnIMK7ICcgLiAkZGItPkVycm9yTXNnKCk7DQoJCQlleGl0KCk7DQoJCX0NCgkJcmV0dXJuICRvdXRwdXQ7DQoNCgl9DQoJDQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBHZXRFbnRyaWVzKCRnYm9va19pZCwgJHN0YXJ0ID0gMSwgJG51bWJlciA9IDIwLCAkZmlsdGVyID0gJ2FjdGl2ZScpIHsNCgkJJHN0YXJ0ID0gKCRzdGFydCA8IDEpID8gMCA6ICRzdGFydCAtIDE7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KDQoJCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dib29rJyk7DQoJCSRkYiA9IGNtc21zKCktPkdldERCKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QNCgkJCQkJCQkJZS4qLCBnLmFsbG93X3NtaWxpZXMNCgkJCQkJCQlGUk9NDQoJCQkJCQkJCSIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX2VudHJpZXMgZSwNCgkJCQkJCQkJIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2sgZw0KCQkJCQkJCVdIRVJFDQoJCQkJCQkJCWUuZ2Jvb2tfaWQgPSBnLmdib29rX2lkDQoJCQkJCQkJCUFORCBlLmdib29rX2lkID0gPw0KCQkJCQkJCQkiOw0KCQlzd2l0Y2ggKCAkZmlsdGVyICkNCgkJew0KCQkJY2FzZSAnYWN0aXZlJzoNCgkJCQkkcXVlcnkgLj0gIkFORCBlLmFjdGl2ZSA9IDEiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnaW5hY3RpdmUnOg0KCQkJCSRxdWVyeSAuPSAiQU5EIGUuYWN0aXZlID0gMCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICdzcGFtJzoNCgkJCQlzZWxmOjpVcGRhdGVTcGFtcmF0ZSgkZ2Jvb2tfaWQsICRtb2QtPkdldFByZWZlcmVuY2UoJ3VwZGF0ZV9zcGFtcmF0ZV8nIC4gJGdib29rX2lkKSk7DQoJCQkJJG1vZC0+U2V0UHJlZmVyZW5jZSgndXBkYXRlX3NwYW1yYXRlXycgLiAkZ2Jvb2tfaWQsIDApOw0KCQkJCSRxdWVyeSAuPSAiQU5EIGUuc3BhbXJhdGUgPj0gIiAuICRkYi0+UW1hZ2ljKCRtb2QtPkdldFByZWZlcmVuY2UoJ21heF9zcGFtcmF0ZV9hY3RpdmUnLCAwLjUpICogMTAwKTsNCgkJCQlicmVhazsNCgkJfQ0KCQkkcXVlcnkgLj0gIg0KCQkJCQkJCU9SREVSIEJZDQoJCQkJCQkJCWNyZWF0ZV9kYXRlIERFU0MiOw0KCQkkcmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksICRudW1iZXIsICRzdGFydCwgYXJyYXkoJGdib29rX2lkKSkgOw0KCQlpZiAoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKQ0KCQl7DQoJCSAgd2hpbGUgKCAkcm93PSRyZXN1bHQtPkZldGNoUm93KCkgKQ0KCQkgIHsNCgkJCQkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7DQoJCQkJDQoJCQkJJG9uZXJvdy0+ZW50cnlfaWQgPSAkcm93WydlbnRyeV9pZCddOw0KCQkJCSRvbmVyb3ctPmdib29rX2lkID0gJHJvd1snZ2Jvb2tfaWQnXTsNCgkJCQkkb25lcm93LT5uYW1lID0gY21zX2h0bWxlbnRpdGllcygkcm93WyduYW1lJ10pOw0KCQkJCSRvbmVyb3ctPmVtYWlsID0gY21zX2h0bWxlbnRpdGllcygkcm93WydlbWFpbCddKTsNCgkJCQkkb25lcm93LT50aXRsZSA9IGNtc19odG1sZW50aXRpZXMoJHJvd1sndGl0bGUnXSk7DQoJCQkJJG9uZXJvdy0+bWVzc2FnZSA9IHNlbGY6Om5sMnBuYnIoY21zX2h0bWxlbnRpdGllcygkcm93WydtZXNzYWdlJ10pKTsNCgkJCQlpZiAoICRyb3dbJ2FsbG93X3NtaWxpZXMnXSApDQoJCQkJew0KCQkJCQkkb25lcm93LT5tZXNzYWdlID0gc2VsZjo6cmVwbGFjZV9zbWlsZXlzKCRvbmVyb3ctPm1lc3NhZ2UpOw0KCQkJCX0NCgkJCQkkYmFkd29yZHMgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdiYWR3b3JkcycsICcnKTsNCgkJCQlpZiAoICFlbXB0eSgkYmFkd29yZHMpICkNCgkJCQl7DQoJCQkJCSRvbmVyb3ctPm5hbWUgPSBzZWxmOjpmaWx0ZXJfYmFkd29yZHMoJG9uZXJvdy0+bmFtZSk7DQoJCQkJCSRvbmVyb3ctPnRpdGxlID0gc2VsZjo6ZmlsdGVyX2JhZHdvcmRzKCRvbmVyb3ctPnRpdGxlKTsNCgkJCQkJJG9uZXJvdy0+bWVzc2FnZSA9IHNlbGY6OmZpbHRlcl9iYWR3b3Jkcygkb25lcm93LT5tZXNzYWdlKTsNCgkJCQl9DQoJCQkJJG9uZXJvdy0+cmF3bWVzc2FnZSA9ICRyb3dbJ21lc3NhZ2UnXTsNCgkJCQkkb25lcm93LT5yYXRpbmcgPSAkcm93WydyYXRpbmcnXTsNCgkJCQkkb25lcm93LT5ub3RpZnkgPSAkcm93Wydub3RpZnknXTsNCgkJCQkkb25lcm93LT5pcCA9ICRyb3dbJ2lwJ107DQoJCQkJJG9uZXJvdy0+Y3JlYXRlX2RhdGUgPSAkcm93WydjcmVhdGVfZGF0ZSddOw0KCQkJCSRvbmVyb3ctPm1vZGlmaWVkX2RhdGUgPSAkcm93Wydtb2RpZmllZF9kYXRlJ107DQoJCQkJJG9uZXJvdy0+YXBwcm92ZWQgPSAkcm93WydhcHByb3ZlZCddOw0KCQkJCSRvbmVyb3ctPmFwcHJvdmVkX2RhdGUgPSAkcm93WydhcHByb3ZlZF9kYXRlJ107DQoJCQkJJG9uZXJvdy0+YWN0aXZlID0gJHJvd1snYWN0aXZlJ107DQoJCQkJJG9uZXJvdy0+c3BhbXJhdGUgPSAwOw0KCQkJCQ0KCQkJCWFycmF5X3B1c2goJG91dHB1dCwgJG9uZXJvdyk7DQoJCSAgfQ0KCQl9DQoJCWlmICggISRyZXN1bHQgKQ0KCQl7DQoJCQllY2hvICdFUlJPUjogJyAuIF9fTElORV9fIC4gJyDCuyAnIC4gJGRiLT5FcnJvck1zZygpOw0KCQkJZXhpdCgpOw0KCQl9DQoJCXJldHVybiAkb3V0cHV0Ow0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gR2V0RW50cnkoJGVudHJ5X2lkKSB7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KDQoJCSRkYiA9IGNtc21zKCktPkdldERCKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QNCgkJCQkJCQkJZS4qLCBnLmFsbG93X3NtaWxpZXMNCgkJCQkJCQlGUk9NDQoJCQkJCQkJCSIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX2VudHJpZXMgZSwNCgkJCQkJCQkJIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2sgZwkJCQkJCQkJCQ0KCQkJCQkJCVdIRVJFDQoJCQkJCQkJCWUuZ2Jvb2tfaWQgPSBnLmdib29rX2lkDQoJCQkJCQkJCUFORCBlLmVudHJ5X2lkID0gPyI7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZW50cnlfaWQpKTsNCgkJaWYgKCAkcmVzdWx0ICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwICkNCgkJew0KCQkJJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCk7DQoJCQkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7DQoJCQkkb25lcm93LT5lbnRyeV9pZCA9ICRyb3dbJ2VudHJ5X2lkJ107DQoJCQkkb25lcm93LT5nYm9va19pZCA9ICRyb3dbJ2dib29rX2lkJ107DQoJCQkkb25lcm93LT5uYW1lID0gY21zX2h0bWxlbnRpdGllcygkcm93WyduYW1lJ10pOw0KCQkJJG9uZXJvdy0+ZW1haWwgPSBjbXNfaHRtbGVudGl0aWVzKCRyb3dbJ2VtYWlsJ10pOw0KCQkJJG9uZXJvdy0+dGl0bGUgPSBjbXNfaHRtbGVudGl0aWVzKCRyb3dbJ3RpdGxlJ10pOw0KCQkJJG9uZXJvdy0+bWVzc2FnZSA9IHNlbGY6Om5sMnBuYnIoY21zX2h0bWxlbnRpdGllcygkcm93WydtZXNzYWdlJ10pKTsNCgkJCWlmICggJHJvd1snYWxsb3dfc21pbGllcyddICkNCgkJCXsNCgkJCQkkb25lcm93LT5tZXNzYWdlID0gc2VsZjo6cmVwbGFjZV9zbWlsZXlzKCRvbmVyb3ctPm1lc3NhZ2UpOw0KCQkJfQ0KCQkJJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR2Jvb2snKTsNCgkJCSRiYWR3b3JkcyA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2JhZHdvcmRzJywgJycpOw0KCQkJaWYgKCAhZW1wdHkoJGJhZHdvcmRzKSApDQoJCQl7DQoJCQkJJG9uZXJvdy0+bmFtZSA9IHNlbGY6OmZpbHRlcl9iYWR3b3Jkcygkb25lcm93LT5uYW1lKTsNCgkJCQkkb25lcm93LT50aXRsZSA9IHNlbGY6OmZpbHRlcl9iYWR3b3Jkcygkb25lcm93LT50aXRsZSk7DQoJCQkJJG9uZXJvdy0+bWVzc2FnZSA9IHNlbGY6OmZpbHRlcl9iYWR3b3Jkcygkb25lcm93LT5tZXNzYWdlKTsNCgkJCX0NCgkJCSRvbmVyb3ctPnJhd21lc3NhZ2UgPSAkcm93WydtZXNzYWdlJ107DQoJCQkkb25lcm93LT5yYXRpbmcgPSAkcm93WydyYXRpbmcnXTsNCgkJCSRvbmVyb3ctPm5vdGlmeSA9ICRyb3dbJ25vdGlmeSddOw0KCQkJJG9uZXJvdy0+aXAgPSAkcm93WydpcCddOw0KCQkJJG9uZXJvdy0+Y3JlYXRlX2RhdGUgPSAkcm93WydjcmVhdGVfZGF0ZSddOw0KCQkJJG9uZXJvdy0+bW9kaWZpZWRfZGF0ZSA9ICRyb3dbJ21vZGlmaWVkX2RhdGUnXTsNCgkJCSRvbmVyb3ctPmFwcHJvdmVkID0gJHJvd1snYXBwcm92ZWQnXTsNCgkJCSRvbmVyb3ctPmFwcHJvdmVkX2RhdGUgPSAkcm93WydhcHByb3ZlZF9kYXRlJ107DQoJCQkkb25lcm93LT5hY3RpdmUgPSAkcm93WydhY3RpdmUnXTsNCgkJCSRvbmVyb3ctPnNwYW1yYXRlID0gMDsNCgkJCSRvdXRwdXQgPSAkb25lcm93Ow0KCQl9DQoJCWlmICggISRyZXN1bHQgKQ0KCQl7DQoJCQllY2hvICdFUlJPUjogJyAuIF9fTElORV9fIC4gJyDCuyAnIC4gJGRiLT5FcnJvck1zZygpOw0KCQkJZXhpdCgpOw0KCQl9DQoJCXJldHVybiAkb3V0cHV0Ow0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQWRkRW50cnkoJGdib29rX2lkLCAkbmFtZSwgJGVtYWlsLCAkdGl0bGUsICRtZXNzYWdlLCAkcmF0aW5nLCAkbm90aWZ5ID0gMCkgew0KCQkkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHYm9vaycpOw0KCQkNCgkJLy8gZ2V0IGdib29rIHByb3BzDQoJCSRnYm9va3MgPSBzZWxmOjpHZXRHYm9va3MoJGdib29rX2lkLCB0cnVlKTsNCgkJaWYgKCBlbXB0eSgkZ2Jvb2tzKSApDQoJCXsNCgkJCSRlcnJvcnNbXSA9ICRnYm9va19pZDsNCgkJCXJldHVybiBhcnJheSgnZ2Jvb2sgbm90IGZvdW5kJyA9PiAkZXJyb3JzKTsNCgkJfQ0KCQkkZ2Jvb2sgPSBjdXJyZW50KCRnYm9va3MpOw0KCQkNCgkJLy8gY2hlY2sgZm9yIGRvdWJsZSBwb3N0cw0KCQkkaXAgPSBjbXNfdXRpbHM6OmdldF9yZWFsX2lwKCk7DQoJCSRsYXN0ZW50cnkgPSBzZWxmOjpHZXRFbnRyaWVzKCRnYm9va19pZCwgMSwgMSwgZmFsc2UpOw0KCQlpZiAoICFlbXB0eSgkbGFzdGVudHJ5KSAmJiAkbWVzc2FnZSA9PSAkbGFzdGVudHJ5WzBdLT5yYXdtZXNzYWdlICkgDQoJCXsNCgkJCSRlcnJvcnNbXSA9ICRnYm9va19pZDsNCgkJCXJldHVybiBhcnJheSgnZG91YmxlIHBvc3QnID0+ICRlcnJvcnMpOw0KCQl9DQoJCS8vIGNoZWNrIGlmIHRoZSBsYXN0IGVudHJ5IGhhcyB0aGUgc2FtZSBpcC1hZGRyZXNzDQoJCWlmICggJGdib29rWydwcmV2ZW50X3Bvc3RfdHdpY2UnXSAmJiAkbGFzdGVudHJ5WzBdLT5pcCA9PSAkaXAgKSANCgkJew0KCQkJJGVycm9yc1tdID0gJGdib29rX2lkOw0KCQkJcmV0dXJuIGFycmF5KCdub3QgYWxsb3dlZCB0byBwb3N0IHR3aWNlJyA9PiAkZXJyb3JzKTsNCgkJfQ0KDQoJCS8vIGNoZWNrIGZvciB2YWxpZCBpbnB1dA0KCQkkcmVxdWlyZWRfZmllbGRzID0gZXhwbG9kZSgnLCcsICRnYm9va1sncmVxdWlyZWRfZmllbGRzJ10gLiAnLG1lc3NhZ2UnKTsNCgkJJG5hbWUgPSB0cmltKHN0cmlwX3RhZ3MoJG5hbWUpKTsNCgkJJGVtYWlsID0gdHJpbShzdHJpcF90YWdzKCRlbWFpbCkpOw0KCQkkdGl0bGUgPSB0cmltKHN0cmlwX3RhZ3MoJHRpdGxlKSk7DQoJCSRyYXRpbmcgPSB0cmltKHN0cmlwX3RhZ3MoJHJhdGluZykpOw0KICAgICRyYXRpbmcgPSBlbXB0eSgkcmF0aW5nKSA/IG51bGwgOiAkcmF0aW5nOw0KCQlpZiAoIGluX2FycmF5KCduYW1lJywgICRyZXF1aXJlZF9maWVsZHMpICYmIGVtcHR5KCRuYW1lKSApICRlcnJvcnNbXSA9ICduYW1lJzsNCgkJaWYgKCBpbl9hcnJheSgnZW1haWwnLCAkcmVxdWlyZWRfZmllbGRzKSAmJiAhaXNfZW1haWwoJGVtYWlsLCBmYWxzZSkgKSAkZXJyb3JzW10gPSAnZW1haWwnOw0KCQlpZiAoIGluX2FycmF5KCd0aXRsZScsICRyZXF1aXJlZF9maWVsZHMpICYmIGVtcHR5KCR0aXRsZSkgKSAkZXJyb3JzW10gPSAndGl0bGUnOw0KCQlpZiAoIGluX2FycmF5KCdyYXRpbmcnLCAkcmVxdWlyZWRfZmllbGRzKSAmJiBlbXB0eSgkcmF0aW5nKSApICRlcnJvcnNbXSA9ICdyYXRpbmcnOw0KCQlpZiAoIGVtcHR5KCRtZXNzYWdlKSApICRlcnJvcnNbXSA9ICdtZXNzYWdlJzsNCgkJDQoJCWlmICggIWVtcHR5KCRlcnJvcnMpICkNCgkJew0KCQkJcmV0dXJuIGFycmF5KCdmaWVsZCB2YWxpZGF0aW9uIGVycm9ycycgPT4gJGVycm9ycyk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkYWN0aXZlID0gMTsNCgkJCSRzcGFtcmF0ZSA9IHNlbGY6OmI4X2V4ZWMoJ0NsYXNzaWZ5JywgJHRpdGxlIC4gJyAnIC4gJG1lc3NhZ2UpOw0KCQkJaWYgKCAkc3BhbXJhdGUgPiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdtYXhfc3BhbXJhdGVfYWN0aXZlJywgMC42KSApDQoJCQl7DQoJCQkJJGFjdGl2ZSA9IDA7DQoJCQl9DQoNCgkJCWlmICggJHNwYW1yYXRlIDw9ICRtb2QtPkdldFByZWZlcmVuY2UoJ21heF9zcGFtcmF0ZV9zYXZlJywgMC45KSApDQoJCQl7DQoJCQkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsNCgkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfZW50cmllcyANCgkJCQkJCQkJCQkoZ2Jvb2tfaWQsIG5hbWUsIGVtYWlsLCB0aXRsZSwgbWVzc2FnZSwgcmF0aW5nLCBub3RpZnksIGlwLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSwgYWN0aXZhdGlvbl9jb2RlLCBhY3RpdmUpDQoJCQkJCQkJCQlWQUxVRVMNCgkJCQkJCQkJCQkoPywgPywgPywgPywgPywgPywgPywgPywgTk9XKCksIE5PVygpLCA/LCA/KSI7DQoJCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KA0KCQkJCQkJJGdib29rX2lkLCANCgkJCQkJCSRuYW1lLCANCgkJCQkJCSRlbWFpbCwgDQoJCQkJCQkkdGl0bGUsIA0KCQkJCQkJJG1lc3NhZ2UsDQoJCQkJCQkkcmF0aW5nLA0KCQkJCQkJJG5vdGlmeSwNCgkJCQkJCSRpcCwNCgkJCQkJCScnLA0KCQkJCQkJJGFjdGl2ZQ0KCQkJCSkpOw0KCQkJCWlmICggJHJlc3VsdCApDQoJCQkJew0KCQkJCQkkaW5zZXJ0X2lkID0gJGRiLT5JbnNlcnRfSUQoKTsNCgkJCQkJaWYgKCAkYWN0aXZlID09IDEgKQ0KCQkJCQl7DQoJCQkJCQkkcGFyYW1zWydlbnRyeV9pZCddID0gJGluc2VydF9pZDsNCgkJCQkJCSRwYXJhbXNbJ2dib29rX2lkJ10gPSAkZ2Jvb2tfaWQ7DQoJCQkJCQkkcGFyYW1zWyduYW1lJ10gPSAkbmFtZTsNCgkJCQkJCSRwYXJhbXNbJ2VtYWlsJ10gPSAkZW1haWw7DQoJCQkJCQkkcGFyYW1zWyd0aXRsZSddID0gJHRpdGxlOw0KCQkJCQkJJHBhcmFtc1snbWVzc2FnZSddID0gJG1lc3NhZ2U7DQoJCQkJCQkkcGFyYW1zWydyYXRpbmcnXSA9ICRyYXRpbmc7DQoJCQkJCQkkcGFyYW1zWydub3RpZnknXSA9ICRub3RpZnk7DQoJCQkJCQkkcGFyYW1zWydpcCddID0gJGlwOw0KCQkJCQkJJHBhcmFtc1snYWN0aXZlJ10gPSAkYWN0aXZlOw0KCQkJCQkJJG1vZC0+U2VuZEV2ZW50KCdHYm9va19lbnRyeV9hZGRlZCcsICRwYXJhbXMpOw0KDQoJCQkJCQkvL1VwZGF0ZSBzZWFyY2ggaW5kZXgNCgkJCQkJCSRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7DQoJCQkJCQlpZiAoICRzZWFyY2ggIT0gZmFsc2UgKQ0KCQkJCQkJew0KCQkJCQkJCSRzZWFyY2gtPkFkZFdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJGluc2VydF9pZCwgJ2VudHJ5JywgJHBhcmFtc1sndGl0bGUnXSAuICcgJyAuICRwYXJhbXNbJ21lc3NhZ2UnXSk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJcmV0dXJuIGFycmF5KCdlbnRyeSBhZGRlZCcgPT4gYXJyYXkoJGluc2VydF9pZCwgJHNwYW1yYXRlKSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCSRlcnJvcnNbXSA9ICRnYm9va19pZDsNCgkJCQkJJGVycm9yc1tdID0gJ0VSUk9SOiAnIC4gX19MSU5FX18gLiAnIMK7ICcgLiAkZGItPkVycm9yTXNnKCk7DQoJCQkJCXJldHVybiBhcnJheSgnbXlzcWwgZXJyb3InID0+ICRlcnJvcnMpOw0KCQkJCX0NCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkZXJyb3JzW10gPSAkZ2Jvb2tfaWQ7DQoJCQkJcmV0dXJuIGFycmF5KCdzcGFtJyA9PiAkZXJyb3JzKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gRWRpdEVudHJ5KCRlbnRyeV9pZCwgJGdib29rX2lkLCAkbmFtZSwgJGVtYWlsLCAkdGl0bGUsICRtZXNzYWdlLCAkbm90aWZ5LCAkYWN0aXZlKSB7DQoJCS8vIG9ubHkgYWRtaW4sIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yIHZhbGlkIGlucHV0LCBqdXN0IHN0cmlwIHRhZ3MNCgkJJG5hbWUgPSB0cmltKHN0cmlwX3RhZ3MoJG5hbWUpKTsNCgkJJGVtYWlsID0gdHJpbShzdHJpcF90YWdzKCRlbWFpbCkpOw0KCQkkdGl0bGUgPSB0cmltKHN0cmlwX3RhZ3MoJHRpdGxlKSk7DQoNCgkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsNCgkJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19lbnRyaWVzIFNFVA0KCQkJCQkJCQlnYm9va19pZCA9ID8sDQoJCQkJCQkJCW5hbWUgPSA/LA0KCQkJCQkJCQllbWFpbCA9ID8sDQoJCQkJCQkJCXRpdGxlID0gPywNCgkJCQkJCQkJbWVzc2FnZSA9ID8sDQoJCQkJCQkJCW5vdGlmeSA9ID8sDQoJCQkJCQkJCW1vZGlmaWVkX2RhdGUgPSBOT1coKSwNCgkJCQkJCQkJYWN0aXZlID0gPw0KCQkJCQkJCVdIRVJFDQoJCQkJCQkJCWVudHJ5X2lkID0gPyI7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgNCgkJCQkkZ2Jvb2tfaWQsIA0KCQkJCSRuYW1lLCANCgkJCQkkZW1haWwsIA0KCQkJCSR0aXRsZSwgDQoJCQkJJG1lc3NhZ2UsIA0KCQkJCSRub3RpZnksDQoJCQkJJGFjdGl2ZSwNCgkJCQkkZW50cnlfaWQNCgkJKSk7DQoJCWlmICggJHJlc3VsdCApDQoJCXsNCgkJCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dib29rJyk7DQoJCQkkcGFyYW1zWydlbnRyeV9pZCddID0gJGVudHJ5X2lkOw0KCQkJJHBhcmFtc1snZ2Jvb2tfaWQnXSA9ICRnYm9va19pZDsNCgkJCSRwYXJhbXNbJ25hbWUnXSA9ICRuYW1lOw0KCQkJJHBhcmFtc1snZW1haWwnXSA9ICRlbWFpbDsNCgkJCSRwYXJhbXNbJ3RpdGxlJ10gPSAkdGl0bGU7DQoJCQkkcGFyYW1zWydtZXNzYWdlJ10gPSAkbWVzc2FnZTsNCgkJCSRwYXJhbXNbJ25vdGlmeSddID0gJG5vdGlmeTsNCgkJCSRwYXJhbXNbJ2FjdGl2ZSddID0gJGFjdGl2ZTsNCgkJCSRtb2QtPlNlbmRFdmVudCgnR2Jvb2tfZW50cnlfZWRpdGVkJywgJHBhcmFtcyk7DQoNCgkJCS8vVXBkYXRlIHNlYXJjaCBpbmRleA0KCQkJJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X3NlYXJjaF9tb2R1bGUoKTs7DQoJCQlpZiAoICRzZWFyY2ggIT0gZmFsc2UgKQ0KCQkJew0KCQkJCWlmICggJGFjdGl2ZSA9PSAxICkNCgkJCQl7DQoJCQkJCSRzZWFyY2gtPkFkZFdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJGVudHJ5X2lkLCAnZW50cnknLCAkcGFyYW1zWyd0aXRsZSddIC4gJyAnIC4gJHBhcmFtc1snbWVzc2FnZSddKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJHNlYXJjaC0+RGVsZXRlV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkZW50cnlfaWQsICdlbnRyeScpOw0KCQkJCX0NCgkJCX0NCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJZWNobyAnRVJST1I6ICcgLiBfX0xJTkVfXyAuICcgwrsgJyAuICRkYi0+RXJyb3JNc2coKTsNCgkJCWV4aXQoKTsNCgkJfQ0KDQoJfQ0KDQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBBY3RpdmF0ZUVudHJ5KCRlbnRyeV9pZCwgJGVudHJ5X3N0YXR1cyA9IDEpIHsNCgkJJGVudHJ5ID0gc2VsZjo6R2V0RW50cnkoJGVudHJ5X2lkKTsNCgkJc2VsZjo6RWRpdEVudHJ5KCRlbnRyeV9pZCwgJGVudHJ5LT5nYm9va19pZCwgJGVudHJ5LT5uYW1lLCAkZW50cnktPmVtYWlsLCAkZW50cnktPnRpdGxlLCAkZW50cnktPnJhd21lc3NhZ2UsICRlbnRyeS0+bm90aWZ5LCAkZW50cnlfc3RhdHVzKTsNCgl9DQoNCgkNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIERlbGV0ZUVudHJ5KCRlbnRyeV9pZCkgew0KCQkkZGIgPSBjbXNtcygpLT5HZXREQigpOw0KCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfZW50cmllcyBXSEVSRSBlbnRyeV9pZCA9ID8iOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5X2lkKSk7DQoJCWlmICggJHJlc3VsdCApDQoJCXsNCgkJCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dib29rJyk7DQoJCQkkcGFyYW1zWydlbnRyeV9pZCddID0gJGVudHJ5X2lkOw0KCQkJJHBhcmFtc1snZ2Jvb2tfaWQnXSA9ICRnYm9va19pZDsNCgkJCSRtb2QtPlNlbmRFdmVudCgnR2Jvb2tfZW50cnlfZGVsZXRlZCcsICRwYXJhbXMpOw0KCQkJDQoJCQkvL1VwZGF0ZSBzZWFyY2ggaW5kZXgNCgkJCSRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7DQoJCQlpZiAoICRzZWFyY2ggIT0gZmFsc2UgKQ0KCQkJew0KCQkJCSRzZWFyY2gtPkRlbGV0ZVdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJGVudHJ5X2lkLCAnZW50cnknKTsNCgkJCX0NCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJZWNobyAnRVJST1I6ICcgLiBfX0xJTkVfXyAuICcgwrsgJyAuICRkYi0+RXJyb3JNc2coKTsNCgkJCWV4aXQoKTsNCgkJfQ0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gVXBkYXRlU3BhbXJhdGUoJGdib29rX2lkLCAkdXBkYXRlYWxsKSB7DQoJCSRkYiA9IGNtc21zKCktPkdldERCKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QNCgkJCQkJCQkJZW50cnlfaWQsIHRpdGxlLCBtZXNzYWdlDQoJCQkJCQkJRlJPTQ0KCQkJCQkJCQkiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9va19lbnRyaWVzDQoJCQkJCQkJV0hFUkUNCgkJCQkJCQkJZ2Jvb2tfaWQgPSA/DQoJCQkJCQkJCSI7DQoJCWlmICggJHVwZGF0ZWFsbCA9PSAwICkNCgkJew0KCQkJJHF1ZXJ5IC49ICJBTkQgc3BhbXJhdGUgSVMgTlVMTCI7DQoJCX0NCgkJJHF1ZXJ5IC49ICINCgkJCQkJCQlPUkRFUiBCWQ0KCQkJCQkJCQljcmVhdGVfZGF0ZSBERVNDIjsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRnYm9va19pZCkpIDsNCgkJaWYgKCAkcmVzdWx0ICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwICkNCgkJew0KCQkgIHdoaWxlICggJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpICkNCgkJICB7DQoJCQkJJHNwYW1yYXRlID0gc2VsZjo6YjhfZXhlYygnQ2xhc3NpZnknLCAkcm93Wyd0aXRsZSddIC4gJyAnIC4gJHJvd1snbWVzc2FnZSddKTsNCgkJCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2dib29rX2VudHJpZXMgU0VUIHNwYW1yYXRlID0gPyBXSEVSRSBlbnRyeV9pZCA9ID8iOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRzcGFtcmF0ZSAqIDEwMCwgJHJvd1snZW50cnlfaWQnXSkpOw0KCQkgIH0NCgkJfQ0KCQlpZiAoICEkcmVzdWx0ICkNCgkJew0KCQkJZWNobyAnRVJST1I6ICcgLiBfX0xJTkVfXyAuICcgwrsgJyAuICRkYi0+RXJyb3JNc2coKTsNCgkJCWVjaG8gJzxwcmU+JyAuICRxdWVyeSAuICc8L3ByZT4nOw0KCQkJZXhpdCgpOw0KCQl9DQoJCXJldHVybiB0cnVlOw0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gVXBkYXRlQWxsU3BhbXJhdGVzKCkgew0KCQkkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHYm9vaycpOw0KCQkkZGIgPSBjbXNtcygpLT5HZXREQigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUDQoJCQkJCQkJCWdib29rX2lkDQoJCQkJCQkJRlJPTQ0KCQkJCQkJCQkiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9vayI7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJaWYgKCAkcmVzdWx0ICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwICkNCgkJew0KCQkgIHdoaWxlICggJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpICkNCgkJICB7DQoJCQkJJG1vZC0+U2V0UHJlZmVyZW5jZSgndXBkYXRlX3NwYW1yYXRlXycgLiAkcm93WydnYm9va19pZCddLCAxKTsNCgkJICB9DQoJCX0NCgkJaWYgKCAhJHJlc3VsdCApDQoJCXsNCgkJCWVjaG8gJ0VSUk9SOiAnIC4gX19MSU5FX18gLiAnIMK7ICcgLiAkZGItPkVycm9yTXNnKCk7DQoJCQlleGl0KCk7DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoNCgl9DQoJDQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBHZXRTbWlsZXlzKCRmaWx0ZXIgPSB0cnVlKSB7DQogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR2Jvb2snKTsNCgkJJHNtaWxleXNjYWNoZSA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCdnYm9va19zbWlsZXlzXycuJGZpbHRlcik7DQoJCWlmICggZW1wdHkoJHNtaWxleXNjYWNoZSkgKQ0KCQl7DQoJCQkkb3V0cHV0ID0gYXJyYXkoKTsNCg0KCQkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsNCgkJCSRxdWVyeSA9ICJTRUxFQ1QNCgkJCQkJCQkJCSoNCgkJCQkJCQkJRlJPTQ0KCQkJCQkJCQkJIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfc21pbGV5cw0KCQkJCQkJCQkiOw0KCQkJaWYgKCAkZmlsdGVyID09PSB0cnVlICkNCgkJCXsNCgkJCQkkcXVlcnkgLj0gIldIRVJFDQoJCQkJCQkJCQlhY3RpdmUgPSAxIjsNCgkJCX0NCgkJCSRxdWVyeSAuPSAiDQoJCQkJCQkJCU9SREVSIEJZDQoJCQkJCQkJCQlzb3J0IEFTQyI7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCQlpZiAoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKQ0KCQkJew0KCQkJCXdoaWxlICggJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpICkNCgkJCQl7DQoJCQkJCSRvdXRwdXRbJHJvd1snc21pbGV5X2lkJ11dID0gJHJvdzsNCgkJCQkJJG91dHB1dFskcm93WydzbWlsZXlfaWQnXV1bJ3NtaWxleV9wYXRoJ10gPSAkbW9kLT5HZXRNb2R1bGVVUkxQYXRoKCkgLiAnL3NtaWxleXMvJyAuICRyb3dbJ3NtaWxleV9maWxlJ107DQoJCQkJfQ0KCQkJCWNtc191dGlsczo6c2V0X2FwcF9kYXRhKCdnYm9va19zbWlsZXlzXycuJGZpbHRlciwgc2VyaWFsaXplKCRvdXRwdXQpKTsNCgkJCX0NCgkJCWlmICggISRyZXN1bHQgKQ0KCQkJew0KCQkJCWVjaG8gJ0VSUk9SOiAnIC4gX19MSU5FX18gLiAnIMK7ICcgLiAkZGItPkVycm9yTXNnKCk7DQoJCQkJZXhpdCgpOw0KCQkJfQ0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJG91dHB1dCA9IHVuc2VyaWFsaXplKCRzbWlsZXlzY2FjaGUpOw0KCQl9DQoJCXJldHVybiAkb3V0cHV0Ow0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVwbGFjZV9zbWlsZXlzKCR0ZXh0KSB7DQoJCSRzbWlsZXlzID0gc2VsZjo6R2V0U21pbGV5cyhmYWxzZSk7CQ0KCQkkdGV4dCA9ICcgJyAuICR0ZXh0IC4gJyAnOw0KCQlmb3JlYWNoICggJHNtaWxleXMgYXMgJHNtaWxleSApDQoJCXsNCgkJCSR0ZXh0ID0gc3RyX3JlcGxhY2UoJyAnLiRzbWlsZXlbJ3NtaWxleV9jb2RlJ10uJyAnLCAnIDxpbWcgc3JjPSInLiRzbWlsZXlbJ3NtaWxleV9wYXRoJ10uJyIgYWx0PSIiIC8+ICcsICR0ZXh0KTsNCgkJfQ0KCQkkdGV4dCA9IHRyaW0oc3RyX3JlcGxhY2UoJyAgJyAsICcgJywgJHRleHQpKTsNCgkJcmV0dXJuICR0ZXh0Ow0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbmwycG5icigkdGV4dCkgew0KCQkvL1Rha2VuIGZyb20gaHR0cDovL3d3dy53ZWJtYXN0ZXJ3b3JsZC5jb20vZm9ydW04OC8xNjQuaHRtDQoJCS8vIFVzZSBcbiBmb3IgbmV3bGluZSBvbiBhbGwgc3lzdGVtcw0KCQkkdGV4dCA9IHByZWdfcmVwbGFjZSgiLyhcclxufFxufFxyKS8iLCAiXG4iLCAkdGV4dCk7DQoNCgkJLy8gT25seSBhbGxvdyB0d28gbmV3bGluZXMgaW4gYSByb3cuDQoJCSR0ZXh0ID0gcHJlZ19yZXBsYWNlKCIvXG5cbisvIiwgIlxuXG4iLCAkdGV4dCk7DQoNCgkJLy8gUHV0IDxwPi4uPC9wPiBhcm91bmQgcGFyYWdyYXBocw0KCQkkdGV4dCA9IHByZWdfcmVwbGFjZSgnL1xuPyguKz8pKFxuXG58XHopL3MnLCAiPHA+JDE8L3A+IiwgJHRleHQpOw0KDQoJCS8vIENvbnZlcnQgbmV3bGluZXMgbm90IHByZWNlZGVkIGJ5IDwvcD4gdG8gYSA8YnIgLz4gdGFnDQoJCSR0ZXh0ID0gcHJlZ19yZXBsYWNlKCd8KD88ITwvcD4pXHMqXG58JywgIjxiciAvPiIsICR0ZXh0KTsNCg0KCQkvLyBDb252ZXJ0IHVybHMgdG8gbGlua3MgKGh0dHA6Ly93d3cucGhwa29kZS5jb20vc291cmNlL3AvZnJpZW5kaWNhL2ZyaWVuZGljYS1mcmllbmRpY2EtZDJiYmQ5Mi9pbmNsdWRlL2JiY29kZS5waHApDQoJCSR0ZXh0ID0gcHJlZ19yZXBsYWNlKCIvKFteXF1cPV18XikoaHR0cHM/XDpcL1wvW2EtekEtWjAtOVw6XC9cLVw/XCZcO1wuXD1cX1x+XCNcJVwkXCFcK1wsXSspL2lzbSIsICckMTxhIGhyZWY9IiQyIiByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIiPiQyPC9hPicsICR0ZXh0KTsNCgkJJHRleHQgPSBwcmVnX3JlcGxhY2UoIi9cW3VybFxdKFteXFtcXV0qKVxbXC91cmxcXS9pc20iLCAnPGEgaHJlZj0iJDEiIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj4kMTwvYT4nLCAkdGV4dCk7DQoJCSR0ZXh0ID0gcHJlZ19yZXBsYWNlKCIvXFt1cmxcPShbXlxbXF1dKilcXSguKj8pXFtcL3VybFxdL2lzbSIsICc8YSBocmVmPSIkMSIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPiQyPC9hPicsICR0ZXh0KTsNCg0KICAgIC8vIFRydW5jYXRlIGxvbmcgdXJscyB0aGF0IGNhbiBjYXVzZSBkaXNwbGF5IHByb2JsZW1zIChodHRwOi8vd3d3LmJhcmF0dGFsby5pdC8yMDEwLzAzLzEwL3BocC1wYXJzZS11cmwtbWFpbHRvLWFuZC1hbHNvLXR3aXR0ZXJzLXVzZXJuYW1lcy1hbmQtYXJndW1lbnRzLykNCiAgICAkdGV4dCA9IHByZWdfcmVwbGFjZSgiLz4oKFtbOmFsbnVtOl1dKzpcL1wvKXx3d3dcLikoW15bOnNwYWNlOl1dIi4NCiAgICAgICAgInsyMCwzMH0pKFteWzpzcGFjZTpdXSopKFteWzpzcGFjZTpdXXsxMCwyMH0pKFtbOmFsbnVtOl0jP1wvJj1dKSIuDQogICAgICAgICI8LyIsICI+XFwzLi4uXFw1XFw2PCIsICR0ZXh0KTsNCgkJcmV0dXJuICR0ZXh0Ow0KCX0NCg0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZmlsdGVyX2JhZHdvcmRzKCR0ZXh0KSB7DQoJCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dib29rJyk7DQoJCSRiYWR3b3JkcyA9IHN0cl9yZXBsYWNlKCcsJywgJ3wnLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdiYWR3b3JkcycsICcnKSk7DQoJCWlmICggIWVtcHR5KCRiYWR3b3JkcykgKQ0KCQl7DQoJCQkvLyBmcm9tIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9mb3J1bXMvc2hvd3RocmVhZC5waHA/NzM5Njg4LXBocC1iYWQtd29yZC1maWx0ZXJpbmcNCgkJCSR0ZXh0ID0gcHJlZ19yZXBsYWNlKCAnL1xiKD86JyAuICRiYWR3b3JkcyAuICcpXGIvaScsICcqKioqKicsICR0ZXh0ICk7DQoJCX0NCgkJcmV0dXJuICR0ZXh0Ow0KCX0NCg0KCQ0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYjhfZXhlYygkYWN0aW9uLCAkdGV4dCkgew0KCQkkZGIgPSBjbXNtcygpLT5HZXREQigpOw0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCQ0KCQkkY29uZmlnX2I4ID0gYXJyYXkoDQoJCQknc3RvcmFnZScgPT4gJ215c3FsaV9nYm9vaycNCgkJKTsNCg0KCQkkY29uZmlnX3N0b3JhZ2UgPSBhcnJheSgNCgkJCSdkYXRhYmFzZScgICA9PiAkY29uZmlnWydkYl9uYW1lJ10sDQoJCQkndGFibGVfbmFtZScgPT4gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZ2Jvb2tfYjhfd29yZGxpc3QnLA0KCQkJJ2hvc3QnICAgICAgID0+ICRjb25maWdbJ2RiX2hvc3RuYW1lJ10sDQoJCQkncG9ydCcgICAgICAgPT4gJGNvbmZpZ1snZGJfcG9ydCddLA0KCQkJJ3VzZXInICAgICAgID0+ICRjb25maWdbJ2RiX3VzZXJuYW1lJ10sDQoJCQkncGFzcycgICAgICAgPT4gJGNvbmZpZ1snZGJfcGFzc3dvcmQnXQ0KCQkpOw0KDQoJCSMgVGVsbCBiOCB0byB1c2UgdGhlIG5ldy1zdHlsZSBIVE1MIGV4dHJhY3Rvcg0KCQkkY29uZmlnX2xleGVyID0gYXJyYXkoDQoJCQknb2xkX2dldF9odG1sJyA9PiBGQUxTRSwNCgkJCSdnZXRfaHRtbCcgICAgID0+IFRSVUUNCgkJKTsNCg0KCQkjIFRlbGwgdGhlIGRlZ2VuZXJhdG9yIHRvIHVzZSBtdWx0aWJ5dGUgb3BlcmF0aW9ucw0KCQkjIChuZWVkcyBQSFAncyBtYnN0cmluZyBtb2R1bGUhIElmIHlvdSBkb24ndCBoYXZlIGl0LCBzZXQgJ211bHRpYnl0ZScgdG8gRkFMU0UpDQoJCSRjb25maWdfZGVnZW5lcmF0b3IgPSBhcnJheSgNCgkJCSdtdWx0aWJ5dGUnID0+IFRSVUUNCgkJKTsNCgkJDQoJCXJlcXVpcmVfb25jZSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAnYjgnLCAnYjgucGhwJyk7DQoNCgkJdHJ5IHsNCgkJCSRiOCA9IG5ldyBiOCgkY29uZmlnX2I4LCAkY29uZmlnX3N0b3JhZ2UsICRjb25maWdfbGV4ZXIsICRjb25maWdfZGVnZW5lcmF0b3IpOw0KCQl9DQoJCWNhdGNoKEV4Y2VwdGlvbiAkZSkgew0KCQkJZWNobyAiPGI+Q291bGQgbm90IGluaXRpYWxpemUgYjguPC9iPjxiciAvPlxuIjsNCgkJCWVjaG8gIjxiPkVycm9yIG1lc3NhZ2U6PC9iPiAiLCAkZS0+Z2V0TWVzc2FnZSgpOw0KCQkJZWNobyAiXG5cbjwvZGl2PlxuXG48L2JvZHk+XG5cbjwvaHRtbD4iOw0KCQkJZXhpdCgpOw0KCQl9DQoJCQ0KCQkkdGV4dCA9IHN0cmlwc2xhc2hlcygkdGV4dCk7DQoNCgkJc3dpdGNoKCRhY3Rpb24pDQoJCXsNCgkJCWNhc2UgJ0NsYXNzaWZ5JzoNCgkJCQlyZXR1cm4gJGI4LT5jbGFzc2lmeSgkdGV4dCk7DQoJCQkJYnJlYWs7DQoNCgkJCWNhc2UgJ1NhdmVBc1NwYW0nOg0KCQkJCSRiOC0+bGVhcm4oJHRleHQsIGI4OjpTUEFNKTsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQlicmVhazsNCg0KCQkJY2FzZSAnU2F2ZUFzSGFtJzoNCgkJCQlyZXR1cm4gJGI4LT5sZWFybigkdGV4dCwgYjg6OkhBTSk7DQoJCQkJLy9yZXR1cm4gdHJ1ZTsNCgkJCQlicmVhazsNCg0KCQkJY2FzZSAnRGVsZXRlRnJvbVNwYW0nOg0KCQkJCSRiOC0+dW5sZWFybigkdGV4dCwgYjg6OlNQQU0pOw0KCQkJCXJldHVybiB0cnVlOw0KCQkJCWJyZWFrOw0KDQoJCQljYXNlICdEZWxldGVGcm9tSGFtJzoNCgkJCQkkYjgtPnVubGVhcm4oJHRleHQsIGI4OjpIQU0pOw0KCQkJCXJldHVybiB0cnVlOw0KCQkJCWJyZWFrOw0KCQl9DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBmb3JtYXRfcmF0aW5nKCRyYXRpbmcpIHsNCgkJJHJlZCAgID0gZmxvb3IoMjU1ICogJHJhdGluZyk7DQoJCSRncmVlbiA9IGZsb29yKDI1NSAqICgxIC0gJHJhdGluZykpOw0KCQlyZXR1cm4gc3ByaW50ZigiJTAxLjJmIiwgJHJhdGluZykgLiAnIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazsgd2lkdGg6MTBweDsgaGVpZ2h0OjEwcHg7IGJvcmRlcjoxcHggc29saWQgIzY2NjsgYmFja2dyb3VuZC1jb2xvcjpyZ2IoJy4kcmVkLicsICcuJGdyZWVuLicsIDApOyI+PHNwYW4+JzsNCgl9DQoNCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIEdldFVzZXJzKCkNCgl7DQoJCSR1c2VycyA9IGFycmF5KCk7DQoJCSRnQ21zID0gY21zbXMoKTsNCgkJJGdyb3Vwb3BzID0gJGdDbXMtPkdldEdyb3VwT3BlcmF0aW9ucygpOw0KCQkkYWxsZ3JvdXBzID0gJGdyb3Vwb3BzLT5Mb2FkR3JvdXBzKCk7DQoJCWZvcmVhY2ggKCRhbGxncm91cHMgYXMgJG9uZWdyb3VwKQ0KCQl7DQoJCQkkdXNlcnNbbGFuZygnZ3JvdXAnKSAuICc6ICcgLiAkb25lZ3JvdXAtPm5hbWVdID0gJG9uZWdyb3VwLT5pZCAqIC0xOw0KCQl9DQoJCSR1c2Vyb3BzID0gJGdDbXMtPkdldFVzZXJPcGVyYXRpb25zKCk7DQoJCSRhbGx1c2VycyA9ICR1c2Vyb3BzLT5Mb2FkVXNlcnMoKTsNCgkJZm9yZWFjaCAoJGFsbHVzZXJzIGFzICRvbmV1c2VyKQ0KCQl7DQoJCQkkdXNlcnNbJG9uZXVzZXItPnVzZXJuYW1lXSA9ICRvbmV1c2VyLT5pZDsNCgkJfQ0KCQlyZXR1cm4gJHVzZXJzOw0KCX0NCg0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMgTWV0aG9kOiBJbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0gY21zbXMoKS0+R2V0REIoKTsKCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdFTkdJTkU9TXlJU0FNJyApOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgovLyBjcmVhdGUgdGFibGVzCiRmbGRzID0gIgoJZ2Jvb2tfaWQgSSBLRVkgQVVUTywKCW5hbWUgQygxMDApLAoJYWxpYXMgQygxMDApLAoJZW50cmllc19wYWdlIEksCglwcmV2ZW50X3Bvc3RfdHdpY2UgTCwKCXVzZV9jYXB0Y2hhIEwsCglhbGxvd19yYXRpbmcgTCwKCWFsbG93X3NtaWxpZXMgTCwKCWFsbG93X25vdGlmaWNhdGlvbnMgTCwKCW5vdGlmaWNhdGlvbl9zdWJqZWN0IEMoMjU1KSwKCW5vdGlmaWNhdGlvbl9tZXNzYWdlIFgsCglzdWJtaXNzaW9uX3Jlc3BvbnNlIFgsCglzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW0gWCwKCWFkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0IEMoMjU1KSwKCWFkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlIFgsCglyZXF1aXJlZF9maWVsZHMgQygyNTUpLAoJYWN0aXZlIEwKIjsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nYm9vayIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKCWVudHJ5X2lkIEkgS0VZIEFVVE8sCglnYm9va19pZCBJLAoJbmFtZSBDKDI1NSksCgllbWFpbCBDKDI1NSksCgl0aXRsZSBDKDI1NSksCgltZXNzYWdlIFgsCglyYXRpbmcgSSwKCW5vdGlmeSBMLAoJaXAgQyg0MCksCgljcmVhdGVfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKCW1vZGlmaWVkX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCglhcHByb3ZlZCBJLAoJYXBwcm92ZWRfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKCWFwcHJvdmVkX2J5IEksCglhY3RpdmF0aW9uX2NvZGUgQyg0MCksCglzcGFtcmF0ZSBJLAoJYWN0aXZlIEwKIjsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nYm9va19lbnRyaWVzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKGNtc19kYl9wcmVmaXgoKS4ibWVtYmVyc19nYm9va19pZHgiLCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nYm9va19lbnRyaWVzIiwgImdib29rX2lkIik7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgoJc21pbGV5X2lkIEkgS0VZIEFVVE8sCglzbWlsZXlfZmlsZSBDKDEwMCksCglzbWlsZXlfY29kZSBDKDIwKSwKCXNvcnQgSSwKCWFjdGl2ZSBMCiI7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2Jvb2tfc21pbGV5cyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKCXRva2VuIEMoMjU1KSBLRVksCgljb3VudF9oYW0gSSwKCWNvdW50X3NwYW0gSQoiOwoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dib29rX2I4X3dvcmRsaXN0IiwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgovLyBjcmVhdGUgZGVmYXVsdCBHdWVzdGJvb2sKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2Jvb2sgKAoJCQkJCQluYW1lLCAKCQkJCQkJYWxpYXMsIAoJCQkJCQllbnRyaWVzX3BhZ2UsIAoJCQkJCQlwcmV2ZW50X3Bvc3RfdHdpY2UsCgkJCQkJCXVzZV9jYXB0Y2hhLAoJCQkJCQlhbGxvd19yYXRpbmcsIAoJCQkJCQlhbGxvd19zbWlsaWVzLCAKCQkJCQkJYWxsb3dfbm90aWZpY2F0aW9ucywgCgkJCQkJCXN1Ym1pc3Npb25fcmVzcG9uc2UsCgkJCQkJCXN1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbSwKCQkJCQkJYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3QsCgkJCQkJCWFkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlLAoJCQkJCQlyZXF1aXJlZF9maWVsZHMsCgkJCQkJCWFjdGl2ZSkgCgkJCQkJVkFMVUVTCgkJCQkJCSg/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8pIjsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KAoJCQkJCQknTXlGaXJzdEdib29rJywgCgkJCQkJCSdteWZpc3RnYm9vaycsIAoJCQkJCQkxMCwgCgkJCQkJCTAsCgkJCQkJCTAsCgkJCQkJCTAsCgkJCQkJCTEsIAoJCQkJCQkwLCAKCQkJCQkJJHRoaXMtPkxhbmcoJ3N1Ym1pc3Npb25fcmVzcG9uc2VfY250JyksCgkJCQkJCSR0aGlzLT5MYW5nKCdzdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW1fY250MicpLAoJCQkJCQkkdGhpcy0+TGFuZygnYWRtaW5fbm90aWZpY2F0aW9uX3N1YmplY3RfY250JyksCgkJCQkJCSR0aGlzLT5MYW5nKCdhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZV9jbnQnKSwKCQkJCQkJJ25hbWUsZW1haWwnLAoJCQkJCQkxKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0Z2Jvb2snLCAxKTsKCi8vIGZpbGwgc21pbGV5cyBkaXIsIG9ubHkgaWYgdGhlcmUgYXJlbid0IGFueSBpbWFnZXMgYWxyZWFkeS4KJGltYWdlcyA9IGdsb2IoY21zX2pvaW5fcGF0aCgkdGhpcy0+R2V0TW9kdWxlUGF0aCgpLCAnc21pbGV5cycsICcqLntqcGcsSlBHLHBuZyxQTkd9JyksIEdMT0JfQlJBQ0UpOwovL2RlYnVnX2Rpc3BsYXkoJGltYWdlcywgJ1N0YXJ0IFNtaWxleXMnKTsKaWYgKCBlbXB0eSgkaW1hZ2VzKSApCnsKCSRpID0gMDsKCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dib29rX3NtaWxleXMgKHNtaWxleV9maWxlLCBzbWlsZXlfY29kZSwgc29ydCwgYWN0aXZlKSBWQUxVRVMgKD8sPyw/LD8pIjsKCSRzbWlsZXlzID0gYXJyYXkoCgkJCSdzbWlsZS5wbmcnID0+ICc6KScsCgkJCSdsYXVnaGluZy5wbmcnID0+ICc6RCcsCgkJCSd3aW5rLnBuZycgPT4gJzspJywKCQkJJ2Nvb2wucG5nJyA9PiAnOCknLAoJCQkndG9uZ3VlLW91dC5wbmcnID0+ICc6UCcsCgkJCSdzdXJwcmlzZWQucG5nJyA9PiAnOk8nLAoJCQkna2lzcy5wbmcnID0+ICc6e30nLAoJCQknZW1iYXJhc3NlZC5wbmcnID0+ICc6fScsCgkJCSdzZWFsZWQucG5nJyA9PiAnOlgnLAoJCQknaW5ub2NlbnQucG5nJyA9PiAnTzopJywKCQkJJ3VuZGVjaWRlZC5wbmcnID0+ICc6LycsCgkJCSdmcm93bi5wbmcnID0+ICc6KCcsCgkJCSdjcnkucG5nJyA9PiAiOicoIiwKCQkJJ3llbGwucG5nJyA9PiAnOigwKScsCgkJCSdmb290LWluLW1vdXRoLnBuZycgPT4gJzohJywKCQkJJ21vbmV5LWluLW1vdXRoLnBuZycgPT4gJzokJyk7Cglmb3JlYWNoICggJHNtaWxleXMgYXMgJGZpbGUgPT4gJGNvZGUgKQoJewoJCSRmaWxlcGF0aF9mcm9tID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwgJ2ltYWdlcycsICdkZWZhdWx0X3NtaWxleXMnLCAkZmlsZSk7CgkJJGZpbGVwYXRoX3RvID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwgJ3NtaWxleXMnLCAkZmlsZSk7CgkJaWYgKCBmaWxlX2V4aXN0cygkZmlsZXBhdGhfZnJvbSkgJiYgY29weSgkZmlsZXBhdGhfZnJvbSwgJGZpbGVwYXRoX3RvKSApCgkJewoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGUsICRjb2RlLCAkaSsrLCAxKSk7CgkJfQoJfQkKfQoKLy8gaW5zZXJ0IGluaXRpYWwgcmVjb3JkcyBmb3IgYjgKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZ2Jvb2tfYjhfd29yZGxpc3QgKHRva2VuLCBjb3VudF9oYW0sIGNvdW50X3NwYW0pIFZBTFVFUyAoPyw/LD8pIjsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdiOCpkYnZlcnNpb24nLCAzLCAwKSk7CiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dib29rX2I4X3dvcmRsaXN0ICh0b2tlbiwgY291bnRfaGFtLCBjb3VudF9zcGFtKSBWQUxVRVMgKD8sPyw/KSI7CiRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnYjgqdGV4dHMnLCAwLCAwKSk7CgoKLy8gY3JlYXRlIGEgcGVybWlzc2lvbgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignR2Jvb2s6IFVzZScsICdHYm9vazogVXNlJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdHYm9vazogTW9kaWZ5JywgJ0dib29rOiBNb2RpZnknKTsKCgovLyBzZXR1cCB0ZW1wbGF0ZXMKJHRlbXBsYXRlcyA9IGFycmF5KCdzdW1tYXJ5X3RwbF9ndWVzdGJvb2snLCAnZGV0YWlsX3RwbF9tZXNzYWdlJywgJ2Zvcm1fdHBsX2Zvcm0nKTsKCmZvcmVhY2ggKCAkdGVtcGxhdGVzIGFzICR0ZW1wbGF0ZSApCnsKCSRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksICd0ZW1wbGF0ZXMnLCAkdGVtcGxhdGUgLiAnLnR4dCcpOwoJaWYoIGZpbGVfZXhpc3RzKCRmbikgKQoJewoJCSR0ZW1wbGF0ZWNvZGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCQkkdGhpcy0+U2V0VGVtcGxhdGUoJHRlbXBsYXRlLCAkdGVtcGxhdGVjb2RlKTsKCQlsaXN0KCR0cGxfdHlwZSwgJHRwbF9uYW1lKSA9IGV4cGxvZGUoJ190cGxfJywgJHRlbXBsYXRlLCAyKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF8nIC4gJHRwbF90eXBlIC4gJ190ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7Cgl9Cn0KCgovLyBzZXR1cCBzYW1wbGUgc3R5bGVzaGVldAokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAndGVtcGxhdGVzJywgJ3N0eWxlc2hlZXQuY3NzJyk7CiR0eHQgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwokY3NzID0gbmV3IENtc0xheW91dFN0eWxlc2hlZXQ7CiRjc3MtPnNldF9uYW1lKCdHYm9vayBtb2R1bGUnKTsKJGNzcy0+c2V0X2Rlc2NyaXB0aW9uKCdzYW1wbGUgc3R5bGVzaGVldCBmb3IgR2Jvb2sgbW9kdWxlJyk7CiRjc3MtPnNldF9jb250ZW50KCR0eHQpOwokY3NzLT5zYXZlKCk7CgoKLy8gY3JlYXRlIHByZWZlcmVuY2VzCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXN0b21fbW9kdWxlbmFtZScsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pbl9zZWN0aW9uJywgJ2NvbnRlbnQnKTsKJHNlbmRfbm90aWZpY2F0aW9uc190b1swXSA9IGdldF91c2VyaWQoKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbmRfbm90aWZpY2F0aW9uc190bycsIHNlcmlhbGl6ZSgkc2VuZF9ub3RpZmljYXRpb25zX3RvKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfc3BhbXJhdGVfYWN0aXZlJywgMC42KTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF9zcGFtcmF0ZV9ub3RpZnknLCAwLjkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWF4X3NwYW1yYXRlX3NhdmUnLCAwLjkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYmFkd29yZHMnLCAnJyk7CgoKLy8gcmVnaXN0ZXIgZXZlbnRzIAokdGhpcy0+Q3JlYXRlRXZlbnQoJ0dib29rX2VudHJ5X2FkZGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnR2Jvb2tfZW50cnlfZWRpdGVkJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnR2Jvb2tfZW50cnlfZGVsZXRlZCcpOwoKCiR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbihUUlVFKTsKLyoKCSRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgnL1tHZ11ib29rXC8oP1A8YWxpYXM+WzAtOV0rKS0oP1A8Z2JwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCAkdGhpcy0+R2V0TmFtZSgpKTsKCWNtc19yb3V0ZV9tYW5hZ2VyOjphZGRfc3RhdGljKCRyb3V0ZSk7Cgkkcm91dGUgPSBuZXcgQ21zUm91dGUoJy9bR2ddYm9va1wvKD9QPGVudHJ5aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsICR0aGlzLT5HZXROYW1lKCkpOwoJY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKKi8KCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMgTWV0aG9kOiBVbmluc3RhbGwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2dib29rLwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSBjbXNtcygpLT5HZXREQigpOwoKLy8gcmVtb3ZlIHRoZSBkYXRhYmFzZSB0YWJsZXMKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2dib29rX2I4X3dvcmRsaXN0IiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nYm9va19zbWlsZXlzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nYm9va19lbnRyaWVzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nYm9vayIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCi8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0dib29rOiBVc2UnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0dib29rOiBNb2RpZnknKTsKCi8vIHJlbW92ZSBhbGwgdGVtcGxhdGVzCiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKLy8gcmVtb3ZlIHN0eWxlc2hlZXQKJGNzc19vYiA9IENtc0xheW91dFN0eWxlc2hlZXQ6OmxvYWQoJ0dib29rIG1vZHVsZScpOwokY3NzX29iLT5kZWxldGUoKTsKCi8vIHJlbW92ZSBhbGwgcHJlZmVyZW5jZXMKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCi8vIHJlbW92ZSB0aGUgZXZlbnRzCiR0aGlzLT5SZW1vdmVFdmVudCgnR2Jvb2tfZW50cnlfYWRkZWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50KCdHYm9va19lbnRyeV9lZGl0ZWQnKTsKCgokdGhpcy0+UmVtb3ZlU21hcnR5UGx1Z2luKCk7CgpjbXNfcm91dGVfbWFuYWdlcjo6ZGVsX3N0YXRpYygnJywkdGhpcy0+R2V0TmFtZSgpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEdib29rCiMgQXV0aG9yOiBKb3MgKGpvc3ZkQGxpdmUubmwpCiMgTWV0aG9kOiBVcGdyYWRlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nYm9vay8KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0gY21zbXMoKS0+R2V0REIoKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnRU5HSU5FPU15SVNBTScpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Cgpzd2l0Y2goICRvbGR2ZXJzaW9uICkKewoJY2FzZSAiMS4wIjoKCWNhc2UgIjEuMC4xIjoKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VuZF9ub3RpZmljYXRpb25zX3RvJywgZ2V0X3VzZXJpZCgpKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VzdG9tX21vZHVsZW5hbWUnLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJykpOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pbl9zZWN0aW9uJywgJ2NvbnRlbnQnKTsKCgkJLy9jdXJyZW50X3ZlcnNpb246IDEuMQoKCWNhc2UgIjEuMSI6CgkJJHRoaXMtPkNyZWF0ZUV2ZW50KCdHYm9va19lbnRyeV9kZWxldGVkJyk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9nYm9va19lbnRyaWVzIiwgInNwYW1yYXRlIEkiKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJCS8vY3VycmVudF92ZXJzaW9uOiAxLjIKCQkKCWNhc2UgIjEuMiI6CgkJaWYgKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VuZF9ub3RpZmljYXRpb25zX3RvJykgPT0gJycgKQoJCXsKCQkJJHNlbmRfbm90aWZpY2F0aW9uc190b1swXSA9IGdldF91c2VyaWQoKTsKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbmRfbm90aWZpY2F0aW9uc190bycsIHNlcmlhbGl6ZSgkc2VuZF9ub3RpZmljYXRpb25zX3RvKSk7CgkJfQoKCQkvL2N1cnJlbnRfdmVyc2lvbjogMi4wCgkJCgljYXNlICIyLjAiOgoJY2FzZSAiMi4wLjEiOgoJY2FzZSAiMi4wLjIiOgoJY2FzZSAiMi4wLjMiOgoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9nYm9vayIsICJ1c2VfY2FwdGNoYSBMIERFRkFVTFQgJzAnLCBhbGxvd19yYXRpbmcgTCBERUZBVUxUICcwJyIpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZ2Jvb2tfZW50cmllcyIsICJyYXRpbmcgSSIpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkKCWNhc2UgIjIuMSI6CgkJQHVubGluaygkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9pbWFnZXMvaWNvbi5naWYnKTsKCQkvLyBhZGQgaG9uZXlwb3QgdG8gYWxsIGZvcm10ZW1wbGF0ZXMKCQkkdHBscyA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CgkJZm9yZWFjaCggJHRwbHMgYXMgJHRwbCApCgkJewoJCQlpZiAoIHN1YnN0cigkdHBsLCAwLCA0KSA9PSAnZm9ybScgKQoJCQl7CgkJCQkkdHBsX2NudCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdHBsKTsKCQkJCWlmICggc3RycG9zKCR0cGxfY250LCAneyRnYm9va19ob25leXBvdF9pbnB1dH0nKSA9PT0gZmFsc2UgKQoJCQkJewoJCQkJCSR0cGxfcnBsID0gJ3skZ2Jvb2tfc3RhcnRmb3JtfScgLiAiXG5cbnsqIGhvbmV5cG90IGRvIG5vdCByZW1vdmUgKn08c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+XG4uZ2Jvb2tfd2Vic2l0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTUwMGVtOyB9XG48L3N0eWxlPlxuPGRpdiBjbGFzcz1cImdib29rX2ZpZWxkIGdib29rX3dlYnNpdGVcIj5cbgkiIC4gJzxsYWJlbCBmb3I9InskZ2Jvb2tfZm9ybWlkfXdlYnNpdGUiPldlYnNpdGU8L2xhYmVsPnskZ2Jvb2tfaG9uZXlwb3RfaW5wdXR9JyAuICJcbjwvZGl2PnsqIGVuZCBob25leXBvdCAqfVxuIjsKCQkJCQkkdHBsX2NudCA9IHN0cl9yZXBsYWNlKCd7JGdib29rX3N0YXJ0Zm9ybX0nLCAkdHBsX3JwbCwgJHRwbF9jbnQpOwoJCQkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdHBsLCAkdHBsX2NudCk7CgkJCQl9CgkJCX0KCQl9CgoJCS8vY3VycmVudF92ZXJzaW9uOiAyLjMKCQkKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJHYm9vayINCnZlcnNpb24gPSAiMi4zLjEiDQphdXRob3IgPSAiSm9zIg0KYXV0aG9yZW1haWwgPSAiam9zdmRAbGl2ZS5ubCINCm1pbmNtc3ZlcnNpb24gPSAyLjINCmxhenlsb2FkYWRtaW4gPSAxDQpsYXp5bG9hZGZyb250ZW5kID0gMQ0K]]></data>
	</file>
	<file>
	  <filename>/smileys/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admingbooks.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L3A+CjwvZGl2PgoKPHRhYmxlIGlkPSJndHJlZSIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJPHRoZWFkPgoJCTx0cj4KCQkJPHRoPnskZ2Jvb2t9PC90aD4KCQkJPHRoPnskdGFnfTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskZW50cmllc308L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj57JGRlZmF1bHR9PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyRhY3RpdmV9PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keT4Ke2ZvcmVhY2ggZnJvbT0kZ2Jvb2tzIGl0ZW09aXRlbX0KCXtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPXJvd2NsYXNzfQoJCTx0ciBjbGFzcz0ieyRyb3djbGFzc30iPgogICAgICA8dGQgY2xhc3M9InRmaWxlIj48YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWVkaXRnYm9vayBtb2RlPWVkaXQgZ2Jvb2tpZD0kaXRlbS5nYm9va19pZH0iPnskaXRlbS5uYW1lfTwvYT48L3RkPgoJCQk8dGQgY2xhc3M9InRmaWxlIj4mIzEyMztHYm9va3tpZiAkaXRlbS5nYm9va19pZCAhPSAkZGVmYXVsdGdib29rfSBhbGlhcz0neyRpdGVtLmFsaWFzfSd7L2lmfSYjMTI1OzwvdGQ+CgkJCTx0ZCBjbGFzcz0icGFnZXBvcyIgc3R5bGU9InRleHQtYWxpZ246cmlnaHQiPnskaXRlbS5lbnRyaWVzfTwvdGQ+CgkJCTx0ZCBjbGFzcz0icGFnZXBvcyIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj57aWYgJGl0ZW0uZ2Jvb2tfaWQgPT0gJGRlZmF1bHRnYm9va317YWRtaW5faWNvbiBpY29uPSd0cnVlLmdpZicgYWx0PWxhbmcoJ2RlZmF1bHQnKSB0aXRsZT1sYW5nKCdkZWZhdWx0Jyl9e2Vsc2V9PGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1lZGl0Z2Jvb2sgbW9kZT1zd2l0Y2hkZWZhdWx0IGdib29raWQ9JGl0ZW0uZ2Jvb2tfaWR9Ij57YWRtaW5faWNvbiBpY29uPSdmYWxzZS5naWYnIGFsdD1sYW5nKCdzZXR0cnVlJykgdGl0bGU9bGFuZygnc2V0dHJ1ZScpfTwvYT57L2lmfTwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0icGFnZXBvcyIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWVkaXRnYm9vayBtb2RlPXN3aXRjaGFjdGl2ZSBnYm9va2lkPSRpdGVtLmdib29rX2lkfSI+e2lmICRpdGVtLmFjdGl2ZX17YWRtaW5faWNvbiBpY29uPSd0cnVlLmdpZicgYWx0PWxhbmcoJ3NldGZhbHNlJykgdGl0bGU9bGFuZygnc2V0ZmFsc2UnKX17ZWxzZX17YWRtaW5faWNvbiBpY29uPSdmYWxzZS5naWYnIGFsdD1sYW5nKCdzZXR0cnVlJykgdGl0bGU9bGFuZygnc2V0dHJ1ZScpfXsvaWZ9PC9hPjwvdGQ+CgkJCTx0ZCBjbGFzcz0icGFnZXBvcyIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWVkaXRnYm9vayBtb2RlPWVkaXQgZ2Jvb2tpZD0kaXRlbS5nYm9va19pZH0iPnthZG1pbl9pY29uIGljb249J2VkaXQuZ2lmJyBhbHQ9bGFuZygnZWRpdCcpIHRpdGxlPWxhbmcoJ2VkaXQnKX08L2E+PC90ZD4KCQkJPHRkIGNsYXNzPSJwYWdlcG9zIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPntpZiAkaXRlbS5nYm9va19pZCAhPSAkZGVmYXVsdGdib29rfTxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249ZWRpdGdib29rIG1vZGU9ZGVsZXRlIGdib29raWQ9JGl0ZW0uZ2Jvb2tfaWR9IiBvbmNsaWNrPSJyZXR1cm4gY29uZmlybSgneyRtb2QtPkxhbmcoJ2FyZXlvdXN1cmUnKX0nKTsiPnthZG1pbl9pY29uIGljb249J2RlbGV0ZS5naWYnIGFsdD1sYW5nKCdkZWxldGUnKSB0aXRsZT1sYW5nKCdkZWxldGUnKX08L2E+ey9pZn08L3RkPgoJCTwvdHI+Cgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/adminitems.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPgoJCTxzcGFuIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGZsb2F0OiByaWdodDsgdGV4dC1hbGlnbjogcmlnaHQiPgogICAgICB7JHByb21wdF9maWx0ZXJ9OiB7JGZpbHRlcn0KCQk8L3NwYW4+CgkJeyRnYm9va3NlbGVjdH0KCTwvcD4KPC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCSQoZnVuY3Rpb24oKSB7CgkJJCgnaW5wdXQjc2VsZWN0YWxsJykuY2xpY2soZnVuY3Rpb24oKSB7CgkJCSQoJy5jaGVja2JveCBpbnB1dCcpLnByb3AoJ2NoZWNrZWQnLCQodGhpcykuaXMoJzpjaGVja2VkJykpOwoJCX0pOwp7JGdib29rc2VsZWN0anN9CnskZmlsdGVyc2VsZWN0anN9Cgl9KTsKPC9zY3JpcHQ+Cgp7YXNzaWduIHZhcj1wYWdlcyB2YWx1ZT0kcGFnZWxpbmtzfEBjb3VudH0Ke2Fzc2lnbiB2YXI9b2Zmc2V0IHZhbHVlPSRjdXJyZW50cGFnZS04fQp7aWYgJG9mZnNldCA8IDB9e2Fzc2lnbiB2YXI9b2Zmc2V0IHZhbHVlPTB9ey9pZn0Ke2lmICRvZmZzZXQgPiAkcGFnZXMtMTV9e2Fzc2lnbiB2YXI9b2Zmc2V0IHZhbHVlPSRwYWdlcy0xNX17L2lmfQp7Y2FwdHVyZSBhc3NpZ249cGFnaW5hdGlvbn0Ke2lmICRwYWdlcyA+IDF9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHNwYW4gc3R5bGU9IndpZHRoOiAyMDBweDsgZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodCI+CiAgICB7JGZpbHRlcmVkX2VudHJpZXN9IAogIDwvc3Bhbj58IAp7KmZvcmVhY2ggZnJvbT0kcGFnZWxpbmtzfEBhcnJheV9zbGljZTokb2Zmc2V0OjE1OnRydWUga2V5PSdwYWdlbnVtYmVyJyBpdGVtPSdwYWdlbGluayd9CiAgPGEgaHJlZj0ieyRwYWdlbGlua30iIHRpdGxlPSJ7JHBhZ2VudW1iZXJ9IntpZiAkcGFnZW51bWJlciA9PSAkY3VycmVudHBhZ2V9IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyJ7L2lmfT57JHBhZ2VudW1iZXJ9PC9hPiB8IAp7L2ZvcmVhY2gqfQp7c2VjdGlvbiBuYW1lPXBhZ2VsaW5rIGxvb3A9JHBhZ2VsaW5rcyBzdGFydD0kb2Zmc2V0IG1heD0xNX0KICA8YSBocmVmPSJ7JHBhZ2VsaW5rc1twYWdlbGlua119IiB0aXRsZT0ieyRzbWFydHkuc2VjdGlvbi5wYWdlbGluay5pbmRleF9uZXh0fSJ7aWYgJHNtYXJ0eS5zZWN0aW9uLnBhZ2VsaW5rLmluZGV4X25leHQgPT0gJGN1cnJlbnRwYWdlfSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiey9pZn0+eyRzbWFydHkuc2VjdGlvbi5wYWdlbGluay5pbmRleF9uZXh0fTwvYT4Key9zZWN0aW9ufQoKPC9kaXY+CnsvaWZ9CnsvY2FwdHVyZX0KeyRwYWdpbmF0aW9ufQoKeyRmb3Jtc3RhcnR9Cgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJPHRoZWFkPgoJCTx0cj4KCQkJPHRoPnskaWR9PC90aD4KCQkJPHRoPnskbmFtZX08L3RoPgoJCQk8dGg+eyR0aXRsZX08L3RoPgoJCQk8dGg+eyRjb250ZW50fTwvdGg+CgkJCTx0aD57JGNyZWF0ZV9kYXRlfTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskc3BhbXJhdGV9PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyRhY3RpdmV9PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+PGlucHV0IGlkPSJzZWxlY3RhbGwiIHR5cGU9ImNoZWNrYm94IiAvPjwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9Cgl7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj1yb3djbGFzc30KCQk8dHIgY2xhc3M9Inskcm93Y2xhc3N9Ij4KICAgICAgPHRkPjxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249ZWRpdGl0ZW0gbW9kZT1lZGl0IGdib29raWQ9JGVudHJ5LT5nYm9va19pZCBlbnRyeWlkPSRlbnRyeS0+ZW50cnlfaWQgZmlsdGVyPSRmaWx0ZXIgZ2JwYWdlPSRnYnBhZ2V9Ij57JGVudHJ5LT5lbnRyeV9pZH08L2E+PC90ZD4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPnRpdGxlfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5tZXNzYWdlfHN0cmlwX3RhZ3N8dHJ1bmNhdGU6NDB9PC90ZD4KCQkJPHRkPnskZW50cnktPmNyZWF0ZV9kYXRlfTwvdGQ+CgkJCTx0ZCBjbGFzcz0icGFnZXBvcyI+eyRlbnRyeS0+c3BhbXJhdGV9PC90ZD4KCQkJPHRkIGNsYXNzPSJwYWdlcG9zIj48YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWVkaXRpdGVtIG1vZGU9c3dpdGNoYWN0aXZlIGdib29raWQ9JGVudHJ5LT5nYm9va19pZCBlbnRyeWlkPSRlbnRyeS0+ZW50cnlfaWQgZmlsdGVyPSRmaWx0ZXIgZ2JwYWdlPSRnYnBhZ2V9Ij57aWYgJGVudHJ5LT5hY3RpdmV9e2FkbWluX2ljb24gaWNvbj0ndHJ1ZS5naWYnIGFsdD1sYW5nKCdzZXRmYWxzZScpIHRpdGxlPWxhbmcoJ3NldGZhbHNlJyl9e2Vsc2V9e2FkbWluX2ljb24gaWNvbj0nZmFsc2UuZ2lmJyBhbHQ9bGFuZygnc2V0dHJ1ZScpIHRpdGxlPWxhbmcoJ3NldHRydWUnKX17L2lmfTwvYT48L3RkPgogICAgICA8dGQgY2xhc3M9InBhZ2Vwb3MiPjxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249ZWRpdGl0ZW0gbW9kZT1lZGl0IGdib29raWQ9JGVudHJ5LT5nYm9va19pZCBlbnRyeWlkPSRlbnRyeS0+ZW50cnlfaWQgZmlsdGVyPSRmaWx0ZXIgZ2JwYWdlPSRnYnBhZ2V9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZicgYWx0PWxhbmcoJ2VkaXQnKSB0aXRsZT1sYW5nKCdlZGl0Jyl9PC9hPjwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0icGFnZXBvcyI+PGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1lZGl0aXRlbSBtb2RlPWRlbGV0ZSBnYm9va2lkPSRlbnRyeS0+Z2Jvb2tfaWQgZW50cnlpZD0kZW50cnktPmVudHJ5X2lkIGZpbHRlcj0kZmlsdGVyIGdicGFnZT0kZ2JwYWdlfSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdhcmV5b3VzdXJlJyl9Jyk7Ij57YWRtaW5faWNvbiBpY29uPSdkZWxldGUuZ2lmJyBhbHQ9bGFuZygnZGVsZXRlJykgdGl0bGU9bGFuZygnZGVsZXRlJyl9PC9hPjwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0iY2hlY2tib3giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImNtc19jaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1tdWx0aXNlbGVjdFt7JGVudHJ5LT5lbnRyeV9pZH1dIiB2YWx1ZT0iMSI+PC90ZD4KCQk8L3RyPgoKey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4KCnskcGFnaW5hdGlvbn0KPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMDsgZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodCI+Cgl7JHByb21wdF9tdWx0aWFjdGlvbn06IHskbXVsdGlhY3Rpb259CjwvZGl2PgoKeyRmb3JtZW5kfQoKCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57KiRhZGRsaW5rKn08L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/adminoptions.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHNlbmRfbm90aWZpY2F0aW9uc190b306PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NlbmRfbm90aWZpY2F0aW9uc190b308L3A+DQoJPC9kaXY+DQp7Kg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRub3Rfc2VuZF9zcGFtbm90aWZpY2F0aW9uc306PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25vdF9zZW5kX3NwYW1ub3RpZmljYXRpb25zfTwvcD4NCgk8L2Rpdj4NCip9DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1heF9zcGFtcmF0ZV9hY3RpdmV9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tYXhfc3BhbXJhdGVfYWN0aXZlfTwvcD4NCgk8L2Rpdj4NCg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtYXhfc3BhbXJhdGVfbm90aWZ5fTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbWF4X3NwYW1yYXRlX25vdGlmeX08L3A+DQoJPC9kaXY+DQoNCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbWF4X3NwYW1yYXRlX3NhdmV9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tYXhfc3BhbXJhdGVfc2F2ZX08L3A+DQoJPC9kaXY+DQoNCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYmFkd29yZHN9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9iYWR3b3Jkc308L3A+DQoJPC9kaXY+DQoNCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPg0KCTwvZGl2Pg0KeyRlbmRmb3JtfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/adminsmileys.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSIgc3R5bGU9IndpZHRoOjUwJTsgbWFyZ2luOiA1cHggMDsiPgoJPHRoZWFkPgoJCTx0cj4KCQkJPHRoPiZuYnNwOzwvdGg+CgkJCTx0aD57JHNtaWxleX08L3RoPgoJCQk8dGg+eyRjb2RlfTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskYWN0aXZlfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9Cgl7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj1yb3djbGFzc30KCQk8dHIgY2xhc3M9Inskcm93Y2xhc3N9Ij4KCQkJPHRkIGNsYXNzPSJwYWdlcG9zIj57JGVudHJ5LT5zbWlsZXlfaWR9PGltZyBzcmM9InskZW50cnktPnNtaWxleV9wYXRofSIgYWx0PSJ7JGVudHJ5LT5zbWlsZXlfZmlsZX0iIC8+PC90ZD4KCQkJPHRkPnskZW50cnktPnNtaWxleV9maWxlfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5zbWlsZXlfY29kZX08L3RkPgoJCQk8dGQgY2xhc3M9InBhZ2Vwb3MiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+eyRlbnRyeS0+YWN0aXZlfTwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0icGFnZXBvcyI+eyRlbnRyeS0+bW92ZXVwfTwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0icGFnZXBvcyI+eyRlbnRyeS0+bW92ZWRvd259PC90ZD4KCQkJPHRkIGNsYXNzPSJwYWdlcG9zIj57JGVudHJ5LT5kZWxldGV9PC90ZD4KCQk8L3RyPgoKey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hZGRzbWlsZXl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFkZHNtaWxleX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17KiRhcHBseSp9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQoK]]></data>
	</file>
	<file>
	  <filename>/templates/admintemplates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskbmV3dGVtcGxhdGVsaW5rfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGggY2xhc3M9InBhZ2V3NTAiPnskbmFtZXByb21wdH08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2V3MjUiPnskdHlwZXByb21wdH08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2V3MTAiPnskZGVmYXVsdHByb21wdH08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogICA8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CiAgICAgPHRkPnskZW50cnktPm5hbWV9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+dHlwZX08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5kZWZhdWx0fTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmNvcHlsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgPC90cj4Key9mb3JlYWNofQo8L3RhYmxlPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskbmV3dGVtcGxhdGVsaW5rfTwvcD4KPC9kaXY+Cgo=]]></data>
	</file>
	<file>
	  <filename>/templates/detail_tpl_message.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0iZ2Jvb2siPg0KICA8ZGl2IGNsYXNzPSJnYm9va19lbnRyeSI+DQogICAgPGRpdiBjbGFzcz0iZ2Jvb2tfZW50cnlfZGF0ZSI+eyRnYm9va19lbnRyeS0+Y3JlYXRlX2RhdGV8ZGF0ZV9mb3JtYXQ6JyV4ICVSJ308L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJnYm9va19lbnRyeV9uYW1lIj57JGdib29rX2VudHJ5LT5uYW1lfTwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Imdib29rX2VudHJ5X3RpdGxlIj57JGdib29rX2VudHJ5LT50aXRsZX08L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJnYm9va19lbnRyeV9tZXNzYWdlIj57JGdib29rX2VudHJ5LT5tZXNzYWdlfTwvZGl2Pg0KICA8L2Rpdj4NCjwvZGl2Pg0K]]></data>
	</file>
	<file>
	  <filename>/templates/editgbook.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbmFtZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2VudHJpZXNfcGFnZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZW50cmllc19wYWdlfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcHJldmVudF9wb3N0X3R3aWNlfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmV2ZW50X3Bvc3RfdHdpY2V9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91c2VfY2FwdGNoYX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdXNlX2NhcHRjaGF9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hbGxvd19yYXRpbmd9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsbG93X3JhdGluZ308L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FsbG93X3NtaWxpZXN9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsbG93X3NtaWxpZXN9PC9wPgo8L2Rpdj4KeyoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FsbG93X25vdGlmaWNhdGlvbnN9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsbG93X25vdGlmaWNhdGlvbnN9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZmljYXRpb25fc3ViamVjdH06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbm90aWZpY2F0aW9uX3N1YmplY3R9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZmljYXRpb25fbWVzc2FnZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbm90aWZpY2F0aW9uX21lc3NhZ2V9PC9wPgo8L2Rpdj4KKn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1Ym1pc3Npb25fcmVzcG9uc2V9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pc3Npb25fcmVzcG9uc2V9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9zdWJtaXNzaW9uX3Jlc3BvbnNlX3NwYW19OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pc3Npb25fcmVzcG9uc2Vfc3BhbX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FkbWluX25vdGlmaWNhdGlvbl9zdWJqZWN0fTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhZG1pbl9ub3RpZmljYXRpb25fc3ViamVjdH08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FkbWluX25vdGlmaWNhdGlvbl9tZXNzYWdlfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhZG1pbl9ub3RpZmljYXRpb25fbWVzc2FnZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3JlcXVpcmVkX2ZpZWxkc306PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcmVxdWlyZWRfZmllbGRzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfYWN0aXZlfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhY3RpdmV9PC9wPgo8L2Rpdj4KCntpZiAhZW1wdHkoJGltcG9ydF9jc3YpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaW1wb3J0X2Nzdn06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1wb3J0X2Nzdn08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjc3ZfZm9ybWF0fTwvcD4KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfXsqJGFwcGx5Kn08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/edititem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRnYm9va19uYW1lX2xhYmVsfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRnYm9va19uYW1lX2lucHV0fTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRnYm9va19lbWFpbF9sYWJlbH06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZ2Jvb2tfZW1haWxfaW5wdXR9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGdib29rX3RpdGxlX2xhYmVsfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRnYm9va190aXRsZV9pbnB1dH08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskZ2Jvb2tfbWVzc2FnZV9sYWJlbH06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZ2Jvb2tfbWVzc2FnZV9pbnB1dH08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskc3BhbXJhdGV9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXBwcm92ZWxpbmt9PC9wPgp7KiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzYXZlc3BhbWxpbmt9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVsZXRlaGFtbGlua308L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkZWxldGVzcGFtbGlua308L3A+Kn0KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfXsqJGFwcGx5Kn08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CnskamF2YXNjcmlwdH0KeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZW5hbWV9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlbmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3R5cGV9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHR5cGV9Jm5ic3A7Jm5ic3A7wrsmbmJzcDt7JHJlc2V0fTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGVtcGxhdGV9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfXskYXBwbHl9PC9wPgo8L2Rpdj4KeyoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskYXZhaWxhYmxldmFyaWFibGVzfTogPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlY29sbGFwc2UoJ3ZhcmlhYmxlc2luZm8nKTsgcmV0dXJuIGZhbHNlOyI+eyRhdmFpbGFibGV2YXJpYWJsZXNsaW5rfTwvYT48L3A+CjwvZGl2Pgo8ZGl2IGlkPSJ2YXJpYWJsZXNpbmZvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXZhaWxhYmxldmFyaWFibGVzbGlzdH08L3A+CjwvZGl2Pgo8L2Rpdj4KKn0KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/form_tpl_form.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskZ2Jvb2tfbmFtZX08L2gzPg0KDQp7KiBob25leXBvdCBkbyBub3QgcmVtb3ZlICp9PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCi5nYm9va193ZWJzaXRlIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtNjAwZW07IH0NCjwvc3R5bGU+eyogZW5kIGhvbmV5cG90ICp9DQoNCjxkaXYgY2xhc3M9Imdib29rX2Zvcm0iPg0Ke2lmICFlbXB0eSgkZ2Jvb2tfZXJyb3JtZXNzYWdlKX08cCBjbGFzcz0iZ2Jvb2tfZXJyb3IiPnskZ2Jvb2tfZXJyb3JtZXNzYWdlfTwvcD57L2lmfQ0KeyRnYm9va19zdGFydGZvcm19DQoNCjxkaXYgY2xhc3M9Imdib29rX2ZpZWxke2lmICRnYm9va19uYW1lX2Vycm9yfSBnYm9va19maWVsZF9lcnJvcnsvaWZ9Ij4NCgk8bGFiZWwgZm9yPSJ7JGdib29rX25hbWVfZmllbGR9Ij57JGdib29rX25hbWVfbGFiZWx9PC9sYWJlbD57JGdib29rX25hbWVfaW5wdXR9DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iZ2Jvb2tfZmllbGR7aWYgJGdib29rX2VtYWlsX2Vycm9yfSBnYm9va19maWVsZF9lcnJvcnsvaWZ9Ij4NCgk8bGFiZWwgZm9yPSJ7JGdib29rX2VtYWlsX2ZpZWxkfSI+eyRnYm9va19lbWFpbF9sYWJlbH08L2xhYmVsPnskZ2Jvb2tfZW1haWxfaW5wdXR9DQo8L2Rpdj4NCg0KeyogaG9uZXlwb3QgZG8gbm90IHJlbW92ZSAqfTxkaXYgY2xhc3M9Imdib29rX2ZpZWxkIGdib29rX3dlYnNpdGUiPg0KCTxsYWJlbCBmb3I9InskZ2Jvb2tfZm9ybWlkfXdlYnNpdGUiPldlYnNpdGU8L2xhYmVsPnskZ2Jvb2tfaG9uZXlwb3RfaW5wdXR9DQo8L2Rpdj57KiBlbmQgaG9uZXlwb3QgKn0NCg0KPGRpdiBjbGFzcz0iZ2Jvb2tfZmllbGR7aWYgJGdib29rX3RpdGxlX2Vycm9yfSBnYm9va19maWVsZF9lcnJvcnsvaWZ9Ij4NCgk8bGFiZWwgZm9yPSJ7JGdib29rX3RpdGxlX2ZpZWxkfSI+eyRnYm9va190aXRsZV9sYWJlbH08L2xhYmVsPnskZ2Jvb2tfdGl0bGVfaW5wdXR9DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iZ2Jvb2tfZmllbGR7aWYgJGdib29rX21lc3NhZ2VfZXJyb3J9IGdib29rX2ZpZWxkX2Vycm9yey9pZn0iPg0KCTxsYWJlbCBmb3I9InskZ2Jvb2tfbWVzc2FnZV9maWVsZH0iPnskZ2Jvb2tfbWVzc2FnZV9sYWJlbH08L2xhYmVsPnskZ2Jvb2tfbWVzc2FnZV9pbnB1dH0NCjwvZGl2Pg0KDQp7aWYgIWVtcHR5KCRnYm9va19zbWlsZXlzKX0NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij57bGl0ZXJhbH0NCmZ1bmN0aW9uIEluc2VydFRleHQodGV4dFZhbHVlKSB7DQoJdmFyIHR4dEFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiey9saXRlcmFsfXskZ2Jvb2tfbWVzc2FnZV9maWVsZH17bGl0ZXJhbH0iKTsNCg0KCS8vSUUNCglpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7DQoJCXR4dEFyZWEuZm9jdXMoKTsNCgkJdmFyIHNlbCA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpOw0KCQlzZWwudGV4dCA9IHRleHRWYWx1ZTsNCgkJcmV0dXJuOw0KCX0NCgkvL0ZpcmVmb3gsIGNocm9tZSwgbW96aWxsYQ0KCWVsc2UgaWYgKHR4dEFyZWEuc2VsZWN0aW9uU3RhcnQgfHwgdHh0QXJlYS5zZWxlY3Rpb25TdGFydCA9PSAnMCcpIHsNCgkJdmFyIHN0YXJ0UG9zID0gdHh0QXJlYS5zZWxlY3Rpb25TdGFydDsNCgkJdmFyIGVuZFBvcyA9IHR4dEFyZWEuc2VsZWN0aW9uRW5kOw0KCQl2YXIgc2Nyb2xsVG9wID0gdHh0QXJlYS5zY3JvbGxUb3A7DQoJCXR4dEFyZWEudmFsdWUgPSB0eHRBcmVhLnZhbHVlLnN1YnN0cmluZygwLCBzdGFydFBvcykgKyB0ZXh0VmFsdWUgKyB0eHRBcmVhLnZhbHVlLnN1YnN0cmluZyhlbmRQb3MsIHR4dEFyZWEudmFsdWUubGVuZ3RoKTsNCgkJdHh0QXJlYS5mb2N1cygpOw0KCQl0eHRBcmVhLnNlbGVjdGlvblN0YXJ0ID0gc3RhcnRQb3MgKyB0ZXh0VmFsdWUubGVuZ3RoOw0KCQl0eHRBcmVhLnNlbGVjdGlvbkVuZCA9IHN0YXJ0UG9zICsgdGV4dFZhbHVlLmxlbmd0aDsNCgl9DQoJZWxzZSB7DQoJCXR4dEFyZWEudmFsdWUgKz0gdGV4dEFyZWEudmFsdWU7DQoJCXR4dEFyZWEuZm9jdXMoKTsNCgl9DQp9DQp7L2xpdGVyYWx9PC9zY3JpcHQ+DQoNCjxkaXYgY2xhc3M9Imdib29rX3NtaWxleXMiPg0Ke2ZvcmVhY2ggZnJvbT0kZ2Jvb2tfc21pbGV5cyBpdGVtPSdnYm9va19zbWlsZXknfQ0KPGEgaHJlZj0iIyIgb25jbGljaz0iSW5zZXJ0VGV4dCgnIHskZ2Jvb2tfc21pbGV5LnNtaWxleV9jb2RlfGVzY2FwZToncXVvdGVzJ30gJyk7IHJldHVybiBmYWxzZTsiPjxpbWcgc3JjPSJ7JGdib29rX3NtaWxleS5zbWlsZXlfcGF0aH0iIGFsdD0iIiAvPjwvYT4NCnsvZm9yZWFjaH0NCjwvZGl2Pg0Key9pZn0NCg0Ke2lmICFlbXB0eSgkZ2Jvb2tfcmF0aW5nX2lucHV0KX0NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij57bGl0ZXJhbH0NCmZ1bmN0aW9uIHJhdGUocmF0aW5nKSB7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInsvbGl0ZXJhbH17JGdib29rX3JhdGluZ19maWVsZH17bGl0ZXJhbH0iKS52YWx1ZSA9IHJhdGluZzsNCiAgICByZXR1cm4gdHJ1ZTsNCn0NCg0KZnVuY3Rpb24gZmlsbHN0YXIoT2JqKXsNCgl2YXIgc3RhcnM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoT2JqLm5hbWUpOw0KCWZvcihpPTE7aTw9c3RhcnMubGVuZ3RoO2krKykNCgl7DQoJCWlmIChpPD1PYmouYWx0KSB7IHN0YXJzW2ktMV0uc3JjPSJtb2R1bGVzL0dib29rL2ltYWdlcy9zdGFyX3JhdGUucG5nIjsgfQ0KCQllbHNlIHsgc3RhcnNbaS0xXS5zcmM9Im1vZHVsZXMvR2Jvb2svaW1hZ2VzL3N0YXJfZW1wdHkucG5nIjsgfQ0KCX0NCn0NCg0KZnVuY3Rpb24gc2V0c3RhcnMoKXsNCgl2YXIgc3RhcnM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoInN0YXIiKTsNCgl2YXIgcmF0aW5nPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ7L2xpdGVyYWx9eyRnYm9va19yYXRpbmdfZmllbGR9e2xpdGVyYWx9IikudmFsdWU7DQoJZm9yKGk9MTtpPD1zdGFycy5sZW5ndGg7aSsrKQ0KCXsNCgkJaWYgKGk8PXJhdGluZykgeyBzdGFyc1tpLTFdLnNyYz0ibW9kdWxlcy9HYm9vay9pbWFnZXMvc3Rhcl9mdWxsLnBuZyI7IH0NCgkJZWxzZSB7IHN0YXJzW2ktMV0uc3JjPSJtb2R1bGVzL0dib29rL2ltYWdlcy9zdGFyX2VtcHR5LnBuZyI7IH0NCgl9DQp9DQp7L2xpdGVyYWx9PC9zY3JpcHQ+DQoNCjxkaXYgY2xhc3M9Imdib29rX2ZpZWxkIGdib29rX3N0YXJyYXRpbmd7aWYgJGdib29rX3JhdGluZ19lcnJvcn0gZ2Jvb2tfZmllbGRfZXJyb3J7L2lmfSIgb25tb3VzZWxlYXZlPSJzZXRzdGFycygpIj4NCjxsYWJlbCBmb3I9InskZ2Jvb2tfcmF0aW5nX2ZpZWxkfSI+eyRnYm9va19yYXRpbmdfbGFiZWx9PC9sYWJlbD48c3BhbiBjbGFzcz0iZ2Jvb2tfc3RhcnMiPg0Ke2ZvciAkaT0xIHRvIDV9PGltZyBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IiBzcmM9Im1vZHVsZXMvR2Jvb2svaW1hZ2VzL3N0YXJfZW1wdHkucG5nIiBuYW1lPSJzdGFyIiBhbHQ9InskaX0iIG9ubW91c2VvdmVyPSJmaWxsc3Rhcih0aGlzKSIgb25jbGljaz0icmF0ZSh7JGl9KSIgLz4gey9mb3J9DQp7JGdib29rX3JhdGluZ19pbnB1dH08L3NwYW4+DQo8L2Rpdj4NCnsvaWZ9DQoNCntpZiBpc3NldCgkZ2Jvb2tfbm90aWZ5X2ZpZWxkKX0NCjxsYWJlbCBmb3I9InskZ2Jvb2tfbm90aWZ5X2ZpZWxkfSI+eyRnYm9va19ub3RpZnlfbGFiZWx9PC9sYWJlbD57JGdib29rX25vdGlmeV9pbnB1dH08YnIgLz4NCnsvaWZ9DQoNCnskZ2Jvb2tfc3VibWl0fQ0KeyRnYm9va19lbmRmb3JtfQ0KPC9kaXY+DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/stylesheet.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyotLS0tLS0tLS0tLSBHYm9vayBTYW1wbGUgQ1NTIC0tLS0tLS0tLS0tICovDQoNCi5nYm9va19mb3JtIGxhYmVsIHsNCiAgZGlzcGxheTppbmxpbmUtYmxvY2s7DQogIHdpZHRoOjEwMHB4Ow0KICBtYXJnaW4tYm90dG9tOjEwcHg7DQp9DQoNCi5nYm9va19mb3JtIGlucHV0IHsNCiAgd2lkdGg6MzQwcHg7DQogIHBhZGRpbmc6M3B4Ow0KICBib3JkZXI6MnB4IHNvbGlkICNjY2M7DQoJYm9yZGVyLXJhZGl1czo1cHg7DQoJLW1vei1ib3JkZXItcmFkaXVzOjVweDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4Ow0KfQ0KDQouZ2Jvb2tfZm9ybSBpbnB1dC5jbXNfY2hlY2tib3ggew0KICB3aWR0aDphdXRvOw0KfQ0KDQouZ2Jvb2tfZm9ybSBpbnB1dC5jbXNfc3VibWl0IHsNCiAgd2lkdGg6YXV0bzsNCiAgbWFyZ2luLWxlZnQ6MTAwcHg7DQogIHBhZGRpbmc6MnB4IDMwcHg7DQogIGJhY2tncm91bmQtY29sb3I6I2RkZDsNCn0NCg0KLmdib29rX2Zvcm0gaW5wdXQuY21zX3N1Ym1pdDpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6I2JiYjsNCn0NCg0KLmdib29rX2Zvcm0gdGV4dGFyZWEgew0KICB3aWR0aDozNDBweDsNCiAgaGVpZ2h0OjE0MHB4Ow0KICBwYWRkaW5nOjJweDsNCiAgYm9yZGVyOjJweCBzb2xpZCAjY2NjOw0KCWJvcmRlci1yYWRpdXM6NXB4Ow0KCS1tb3otYm9yZGVyLXJhZGl1czo1cHg7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDsNCiAgdmVydGljYWwtYWxpZ246bWlkZGxlOw0KfQ0KDQouZ2Jvb2tfZmllbGRfZXJyb3IgaW5wdXQsIA0KLmdib29rX2ZpZWxkX2Vycm9yIHRleHRhcmVhLCANCi5nYm9va19maWVsZF9lcnJvciAuZ2Jvb2tfc3RhcnMgew0KICBiYWNrZ3JvdW5kOiNmZGQgdXJsKCJbW3Jvb3RfdXJsXV0vbW9kdWxlcy9HYm9vay9pbWFnZXMvZXJyb3IucG5nIikgbm8tcmVwZWF0IGNlbnRlciByaWdodDsNCn0NCg0KLmdib29rX2Zvcm0gLmdib29rX3NtaWxleXMgew0KICBtYXJnaW46NHB4IDAgMCAxMDBweDsNCn0NCg0KLmdib29rX2Zvcm0gLmdib29rX3N0YXJyYXRpbmcgew0KICBtYXJnaW46MTJweCAwIDEycHggMDsNCn0NCg0KLmdib29rX3BhZ2VsaW5rcyB7DQogIGhlaWdodDoyMHB4Ow0KICB0ZXh0LWFsaWduOnJpZ2h0Ow0KfQ0KDQouZ2Jvb2tfcGFnZWxpbmtzIGEgew0KICBwYWRkaW5nOjFweCAzcHg7DQogIGJvcmRlcjoycHggc29saWQgI2NjYzsNCglib3JkZXItcmFkaXVzOjVweDsNCgktbW96LWJvcmRlci1yYWRpdXM6NXB4Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7DQogIGJhY2tncm91bmQtY29sb3I6I2RkZDsNCiAgY29sb3I6Izk5OTsNCiAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi5nYm9va19wYWdlbGlua3MgYS5nYm9va19hY3RpdmVfcGFnZSB7DQogIGZvbnQtd2VpZ2h0OmJvbGQ7DQogIGNvbG9yOiMzMzM7DQp9DQoNCi5nYm9va19wYWdlbGlua3MgYTpob3ZlciB7DQogIGNvbG9yOiM1NTU7DQogIGJhY2tncm91bmQtY29sb3I6I2JiYjsNCn0NCg0KLmdib29rIC5nYm9va19lbnRyeSB7DQogIG1hcmdpbi10b3A6MjBweDsNCn0NCg0KLmdib29rIC5nYm9va19lbnRyeV9uYW1lIHsNCiAgcGFkZGluZy1sZWZ0OjEwcHg7DQogIGZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQoNCi5nYm9vayAuZ2Jvb2tfZW50cnlfZGF0ZSB7DQogIGZsb2F0OnJpZ2h0Ow0KICBwYWRkaW5nLXJpZ2h0OjEwcHg7DQogIGZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQoNCi5nYm9vayAuZ2Jvb2tfZW50cnlfdGl0bGUgew0KICBwYWRkaW5nOjJweCAxMHB4Ow0KICBib3JkZXItcmFkaXVzOjVweDsNCiAgLW1vei1ib3JkZXItcmFkaXVzOjVweDsNCiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDsNCiAgYmFja2dyb3VuZC1jb2xvcjojZGRkOw0KfQ0KDQouZ2Jvb2sgLmdib29rX2VudHJ5X21lc3NhZ2Ugew0KICBtYXJnaW46NHB4IDA7DQogIHBhZGRpbmc6MHB4IDEwcHg7DQogIGJvcmRlci1yYWRpdXM6NXB4Ow0KICAtbW96LWJvcmRlci1yYWRpdXM6NXB4Ow0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7DQp9DQoNCi5nYm9va19mb3JtIC5nYm9va19zdGFycyB7DQogIGRpc3BsYXk6aW5saW5lLWJsb2NrOw0KICBwYWRkaW5nOjFweCAyNHB4IDFweCAycHg7DQp9DQoNCi5nYm9vayAuZ2Jvb2tfZW50cnlfcmF0aW5nIHsNCiAgdGV4dC1hbGlnbjpyaWdodDsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/summary_tpl_guestbook.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Fzc2lnbiB2YXI9Z2Jvb2tfcGFnZXMgdmFsdWU9JGdib29rX3BhZ2VsaW5rc3xAY291bnR9DQp7YXNzaWduIHZhcj1nYm9va19vZmZzZXQgdmFsdWU9JGdib29rX2N1cnJlbnRwYWdlLTR9DQp7aWYgJGdib29rX3BhZ2VzIDw9IDcgfHwgJGdib29rX29mZnNldCA8IDB9e2Fzc2lnbiB2YXI9Z2Jvb2tfb2Zmc2V0IHZhbHVlPTB9ey9pZn0NCntpZiAkZ2Jvb2tfcGFnZXMgPiA3ICYmICRnYm9va19vZmZzZXQgPiAkZ2Jvb2tfcGFnZXMtN317YXNzaWduIHZhcj1nYm9va19vZmZzZXQgdmFsdWU9JGdib29rX3BhZ2VzLTd9ey9pZn0NCntjYXB0dXJlIGFzc2lnbj1nYm9va19wYWdpbmF0aW9ufQ0Ke2lmICRnYm9va19wYWdlcyA+IDF9DQo8ZGl2IGNsYXNzPSJnYm9va19wYWdlbGlua3MiPg0Ke3NlY3Rpb24gbmFtZT1wYWdlbGluayBsb29wPSRnYm9va19wYWdlbGlua3Mgc3RhcnQ9JGdib29rX29mZnNldCBtYXg9N30NCiAgPGEgaHJlZj0ieyRnYm9va19wYWdlbGlua3NbcGFnZWxpbmtdfSIgdGl0bGU9Inskc21hcnR5LnNlY3Rpb24ucGFnZWxpbmsuaW5kZXhfbmV4dH0ie2lmICRzbWFydHkuc2VjdGlvbi5wYWdlbGluay5pbmRleF9uZXh0ID09ICRnYm9va19jdXJyZW50cGFnZX0gY2xhc3M9Imdib29rX2FjdGl2ZV9wYWdlInsvaWZ9Pnskc21hcnR5LnNlY3Rpb24ucGFnZWxpbmsuaW5kZXhfbmV4dH08L2E+DQp7L3NlY3Rpb259DQo8L2Rpdj4NCnsvaWZ9DQp7L2NhcHR1cmV9DQoNCntpZiAkZ2Jvb2tfcHJvcHMuZW50cmllcyA+IDF9PGRpdj57JGdib29rX3Byb3BzLmVudHJpZXN9IHskZ2Jvb2tfZW50cmllc2xhYmVsfTwvZGl2PnsvaWZ9DQp7aWYgJGdib29rX3Byb3BzLmFsbG93X3JhdGluZyAmJiAkZ2Jvb2tfcHJvcHMucmF0aW5ncyA+IDF9PGRpdj57JGdib29rX3JhdGluZ3NsYWJlbH06IHskZ2Jvb2tfcHJvcHMucmF0aW5nX2F2ZXJhZ2V8c3RyaW5nX2Zvcm1hdDoiJS4xZiJ9PC9kaXY+ey9pZn0NCnskZ2Jvb2tfcGFnaW5hdGlvbn0NCg0KPGRpdiBjbGFzcz0iZ2Jvb2siPg0Ke2ZvcmVhY2ggZnJvbT0kZ2Jvb2tfZW50cmllcyBpdGVtPSdnYm9va19lbnRyeSd9DQogIDxkaXYgY2xhc3M9Imdib29rX2VudHJ5Ij4NCiAgICA8ZGl2IGNsYXNzPSJnYm9va19lbnRyeV9kYXRlIj57JGdib29rX2VudHJ5LT5jcmVhdGVfZGF0ZXxkYXRlX2Zvcm1hdDonJXggJVInfTwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Imdib29rX2VudHJ5X25hbWUiPnskZ2Jvb2tfZW50cnktPm5hbWV9PC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZ2Jvb2tfZW50cnlfdGl0bGUiPnskZ2Jvb2tfZW50cnktPnRpdGxlfTwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Imdib29rX2VudHJ5X21lc3NhZ2UiPnskZ2Jvb2tfZW50cnktPm1lc3NhZ2V9PC9kaXY+DQoJe2lmICRnYm9va19lbnRyeS0+cmF0aW5nICYmICRnYm9va19wcm9wcy5hbGxvd19yYXRpbmd9DQoJCTxkaXYgY2xhc3M9Imdib29rX2VudHJ5X3JhdGluZyI+DQoJCXtmb3IgJGk9MSB0byA1fQ0KCQl7aWYgJGkgPD0gJGdib29rX2VudHJ5LT5yYXRpbmd9DQoJCTxpbWcgc3JjPSJtb2R1bGVzL0dib29rL2ltYWdlcy9zdGFyX2Z1bGwucG5nIiBhbHQ9InskaX0iIC8+DQoJCXtlbHNlfQ0KCQk8aW1nIHNyYz0ibW9kdWxlcy9HYm9vay9pbWFnZXMvc3Rhcl9lbXB0eS5wbmciIGFsdD0ieyRpfSIgLz4NCgkJey9pZn0NCgkJey9mb3J9DQoJCTwvZGl2Pg0KCXsvaWZ9DQogIDwvZGl2Pg0Key9mb3JlYWNofQ0KPC9kaXY+DQoNCnskZ2Jvb2tfcGFnaW5hdGlvbn0NCg==]]></data>
	</file>
</module>
