<?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>CMSUsers</name>
	<version>1.1.6</version>
  <mincmsversion>1.10</mincmsversion>
	<help><![CDATA[CjxoMz5Gcm9udGVuZCBhY3Rpb25zPC9oMz4KPHVsPgoJPGxpPjxzdHJvbmc+dXJsX2Zvcjwvc3Ryb25nPiBvdXRwdXQgYW4gdXJsIGZvciBhbiBleGlzdGluZyBhY3Rpb24gZ2l2ZW4gYnkgdGhlIG1hY3Rpb24gcGFyYW08L2xpPgoJPGxpPjxzdHJvbmc+bGlua19mb3I8L3N0cm9uZz4gb3V0cHV0IGEgbGluayBmb3IgYW4gZXhpc3RpbmcgYWN0aW9uIGdpdmVuIGJ5IHRoZSBtYWN0aW9uIHBhcmFtPC9saT4KCTxsaT48c3Ryb25nPnNpZ25pbjwvc3Ryb25nPiBEaXNwbGF5IHRoZSBzaWduaW4gZm9ybTwvbGk+Cgk8bGk+PHN0cm9uZz5zaWdudXA8L3N0cm9uZz4gRGlzcGxheSB0aGUgc2lnbnVwIGZvcm08L2xpPgoJPGxpPjxzdHJvbmc+c2lnbm91dDwvc3Ryb25nPiBTaWduIG91dCBmcm9udGVuZCB1c2VyPC9saT4KCTxsaT48c3Ryb25nPnByb2ZpbGU8L3N0cm9uZz4gU2hvdyB0aGUgdXNlciBwcm9maWxlPC9saT4KCTxsaT48c3Ryb25nPnByb2ZpbGVfZWRpdDwvc3Ryb25nPiBFZGl0IHRoZSB1c2VyIHByb2ZpbGU8L2xpPgoJPGxpPjxzdHJvbmc+cGFzc3dvcmRfY2hhbmdlPC9zdHJvbmc+IExpbmsgdG8gY2hhbmdlIHBhc3N3b3JkPC9saT4KCTxsaT48c3Ryb25nPmxpc3Q8L3N0cm9uZz4gR2V0IHVzZXJzIGxpc3QuIE9wdGlvbmFsOiBwYXJhbSBzaG93X2FsbF91c2VycyB3aWxsIHNob3cgYWxsIHVzZXJzPC9saT4KCTxsaT48c3Ryb25nPnVzZXJfc2hvdzwvc3Ryb25nPiBSZXF1aXJlOiB1c2VybmFtZSAtIFdpbGwgc2hvdyB0aGUgcHJvZmlsZSBvZiBhIGdpdmVuIHVzZXI8L2xpPgo8L3VsPgoKPGgzPnVybF9mb3I8L2gzPgo8cD5UaGlzIGFjdGlvbiBhbGxvd3MgeW91IHRvIGdlbmVyYXRlIGFuIHVybCBmb3IgYSBzcGVjaWZpYyBhY3Rpb24gKHNwZWNpZmllZCB3aXRoIHRoZSBwYXJhbSAibWFjdGlvbiIpLiBBbGwgdGhlIGdpdmVuIHBhcmFtcyBhcmUgdHJhbnNtaXR0ZWQgdG8gdGhlIGFjdGlvbi4gZXg6IHtDTVNVc2VycyBhY3Rpb249InVybF9mb3IiIG1hY3Rpb249InNpZ25pbiJ9PC9wPgoKPGgzPmxpbmtfdG88L2gzPgo8cD5UaGlzIGFjdGlvbiBnZW5lcmF0ZSBhIGxpbmsgbGlrZSB1cmxfZm9yIGJ1dCBwcmUgZm9ybWF0dGVkLiBZb3UgY2FuIHNwZWNpZnkgdGhlIHRpdGxlIHdpdGggdGhlIHBhcmFtICJ0aXRsZSIuPC9wPgoKPGgzPkN1c3RvbSBjb250ZW50PC9oMz4KPHA+WW91IGNhbiBzZXJ2ZSBjdXN0b20gY29udGVudCB0byB5b3VyIHVzZXJzLiBDaGVjayB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPgo8cHJlPgp7aWYgaXNzZXQoJENNU1VzZXIpfQo8cD5Vc2VyIGlzIGxvZ2dlZCBpbjwvcD4Ke2lmICRDTVNVc2VyLT5jaGVja1Blcm1pc3Npb24oNCl9PHA+Q2FuIHNlbmQgbmV3c2xldHRlcnM8L3A+ey9pZn0Ke2lmICRDTVNVc2VyLT5jaGVja1Blcm1pc3Npb24oJ1ZpZXcgZXh0cmFuZXQnKX08cD5DYW4gdmlldyBleHRyYW5ldDwvcD57L2lmfQp7aWYgJENNU1VzZXItPmNoZWNrR3JvdXAoJ0FkbWluJyl9PHA+SXMgaW4gYWRtaW4gZ3JvdXA8L3A+ey9pZn0Ke2lmICRDTVNVc2VyLT5jaGVja0dyb3VwKDEpfTxwPklzIGluIGFkbWluIGdyb3VwPC9wPnsvaWZ9CnsvaWZ9CjwvcHJlPgo8aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNNU0Zvcm1zID0mZ3Q7IDEuMTAuMTA8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2N5YmVydG90b3BoZUBnbWFpbC5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4xLjY8YnIgLz4=]]></about>
	<requires>
	  <requiredname>CMSForms</requiredname>
	  <requiredversion>1.10.10</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.idea/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.idea/.name</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q01TVXNlcnM=]]></data>
	</file>
	<file>
	  <filename>/.idea/CMSUsers.iml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG1vZHVsZSB0eXBlPSJXRUJfTU9EVUxFIiB2ZXJzaW9uPSI0Ij4KICA8Y29tcG9uZW50IG5hbWU9Ik5ld01vZHVsZVJvb3RNYW5hZ2VyIj4KICAgIDxjb250ZW50IHVybD0iZmlsZTovLyRNT0RVTEVfRElSJCIgLz4KICAgIDxvcmRlckVudHJ5IHR5cGU9ImluaGVyaXRlZEpkayIgLz4KICAgIDxvcmRlckVudHJ5IHR5cGU9InNvdXJjZUZvbGRlciIgZm9yVGVzdHM9ImZhbHNlIiAvPgogICAgPG9yZGVyRW50cnkgdHlwZT0ibW9kdWxlLWxpYnJhcnkiPgogICAgICA8bGlicmFyeSBuYW1lPSJQSFAiPgogICAgICAgIDxDTEFTU0VTPgogICAgICAgICAgPHJvb3QgdXJsPSJmaWxlOi8vJE1PRFVMRV9ESVIkLy4uL0NNU0Zvcm1zIiAvPgogICAgICAgICAgPHJvb3QgdXJsPSJmaWxlOi8vJE1PRFVMRV9ESVIkLy4uLy4uL2xpYiIgLz4KICAgICAgICA8L0NMQVNTRVM+CiAgICAgICAgPFNPVVJDRVM+CiAgICAgICAgICA8cm9vdCB1cmw9ImZpbGU6Ly8kTU9EVUxFX0RJUiQvLi4vQ01TRm9ybXMiIC8+CiAgICAgICAgICA8cm9vdCB1cmw9ImZpbGU6Ly8kTU9EVUxFX0RJUiQvLi4vLi4vbGliIiAvPgogICAgICAgIDwvU09VUkNFUz4KICAgICAgPC9saWJyYXJ5PgogICAgPC9vcmRlckVudHJ5PgogIDwvY29tcG9uZW50Pgo8L21vZHVsZT4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/encodings.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJFbmNvZGluZyIgdXNlVVRGR3Vlc3Npbmc9InRydWUiIG5hdGl2ZTJBc2NpaUZvclByb3BlcnRpZXNGaWxlcz0iZmFsc2UiIC8+CjwvcHJvamVjdD4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/misc.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0Um9vdE1hbmFnZXIiIHZlcnNpb249IjIiIC8+CjwvcHJvamVjdD4KCg==]]></data>
	</file>
	<file>
	  <filename>/.idea/modules.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9qZWN0TW9kdWxlTWFuYWdlciI+CiAgICA8bW9kdWxlcz4KICAgICAgPG1vZHVsZSBmaWxldXJsPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uaWRlYS9DTVNVc2Vycy5pbWwiIGZpbGVwYXRoPSIkUFJPSkVDVF9ESVIkLy5pZGVhL0NNU1VzZXJzLmltbCIgLz4KICAgIDwvbW9kdWxlcz4KICA8L2NvbXBvbmVudD4KPC9wcm9qZWN0PgoK]]></data>
	</file>
	<file>
	  <filename>/.idea/php.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJQaHBQcm9qZWN0U2hhcmVkQ29uZmlndXJhdGlvbiIgcGhwX2xhbmd1YWdlX2xldmVsPSI1LjMuMCIgLz4KPC9wcm9qZWN0PgoK]]></data>
	</file>
	<file>
	  <filename>/.idea/scopes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.idea/scopes/scope_settings.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGNvbXBvbmVudCBuYW1lPSJEZXBlbmRlbmN5VmFsaWRhdGlvbk1hbmFnZXIiPgogIDxzdGF0ZT4KICAgIDxvcHRpb24gbmFtZT0iU0tJUF9JTVBPUlRfU1RBVEVNRU5UUyIgdmFsdWU9ImZhbHNlIiAvPgogIDwvc3RhdGU+CjwvY29tcG9uZW50Pg==]]></data>
	</file>
	<file>
	  <filename>/.idea/vcs.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJWY3NEaXJlY3RvcnlNYXBwaW5ncyI+CiAgICA8bWFwcGluZyBkaXJlY3Rvcnk9IiRQUk9KRUNUX0RJUiQiIHZjcz0iR2l0IiAvPgogIDwvY29tcG9uZW50Pgo8L3Byb2plY3Q+Cgo=]]></data>
	</file>
	<file>
	  <filename>/.idea/workspace.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgdmVyc2lvbj0iNCI+CiAgPGNvbXBvbmVudCBuYW1lPSJDaGFuZ2VMaXN0TWFuYWdlciI+CiAgICA8bGlzdCBkZWZhdWx0PSJ0cnVlIiBpZD0iZjJjMTg5MTAtNjEwZS00YTU5LTgxMzgtZTA1YjYxZjc2ZTI3IiBuYW1lPSJEZWZhdWx0IiBjb21tZW50PSIiPgogICAgICA8Y2hhbmdlIHR5cGU9Ik1PRElGSUNBVElPTiIgYmVmb3JlUGF0aD0iJFBST0pFQ1RfRElSJC9DTVNVc2Vycy5tb2R1bGUucGhwIiBhZnRlclBhdGg9IiRQUk9KRUNUX0RJUiQvQ01TVXNlcnMubW9kdWxlLnBocCIgLz4KICAgIDwvbGlzdD4KICAgIDxpZ25vcmVkIHBhdGg9IkNNU1VzZXJzLml3cyIgLz4KICAgIDxpZ25vcmVkIHBhdGg9Ii5pZGVhL3dvcmtzcGFjZS54bWwiIC8+CiAgICA8b3B0aW9uIG5hbWU9IlRSQUNLSU5HX0VOQUJMRUQiIHZhbHVlPSJ0cnVlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJTSE9XX0RJQUxPRyIgdmFsdWU9ImZhbHNlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJISUdITElHSFRfQ09ORkxJQ1RTIiB2YWx1ZT0idHJ1ZSIgLz4KICAgIDxvcHRpb24gbmFtZT0iSElHSExJR0hUX05PTl9BQ1RJVkVfQ0hBTkdFTElTVCIgdmFsdWU9ImZhbHNlIiAvPgogICAgPG9wdGlvbiBuYW1lPSJMQVNUX1JFU09MVVRJT04iIHZhbHVlPSJJR05PUkUiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJDaGFuZ2VzVmlld01hbmFnZXIiIGZsYXR0ZW5lZF92aWV3PSJ0cnVlIiBzaG93X2lnbm9yZWQ9ImZhbHNlIiAvPgogIDxjb21wb25lbnQgbmFtZT0iQ3JlYXRlUGF0Y2hDb21taXRFeGVjdXRvciI+CiAgICA8b3B0aW9uIG5hbWU9IlBBVENIX1BBVEgiIHZhbHVlPSIiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJEYWVtb25Db2RlQW5hbHl6ZXIiPgogICAgPGRpc2FibGVfaGludHMgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkV4ZWN1dGlvblRhcmdldE1hbmFnZXIiIFNFTEVDVEVEX1RBUkdFVD0iZGVmYXVsdF90YXJnZXQiIC8+CiAgPGNvbXBvbmVudCBuYW1lPSJGYXZvcml0ZXNNYW5hZ2VyIj4KICAgIDxmYXZvcml0ZXNfbGlzdCBuYW1lPSJDTVNVc2VycyIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IkZpbGVFZGl0b3JNYW5hZ2VyIj4KICAgIDxsZWFmPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0iQ01TVXNlcnMubW9kdWxlLnBocCIgcGlubmVkPSJmYWxzZSIgY3VycmVudD0idHJ1ZSIgY3VycmVudC1pbi10YWI9InRydWUiPgogICAgICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9DTVNVc2Vycy5tb2R1bGUucGhwIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9Ijc2IiBjb2x1bW49IjIxIiBzZWxlY3Rpb24tc3RhcnQ9IjI3MjkiIHNlbGVjdGlvbi1lbmQ9IjI3MjkiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjczODI1NSIgdmVydGljYWwtb2Zmc2V0PSIxNTAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9Ijk0NjUiPgogICAgICAgICAgICAgIDxmb2xkaW5nPgogICAgICAgICAgICAgICAgPGVsZW1lbnQgc2lnbmF0dXJlPSJlIzcjMTk1IzAiIGV4cGFuZGVkPSJ0cnVlIiAvPgogICAgICAgICAgICAgIDwvZm9sZGluZz4KICAgICAgICAgICAgPC9zdGF0ZT4KICAgICAgICAgIDwvcHJvdmlkZXI+CiAgICAgICAgPC9lbnRyeT4KICAgICAgPC9maWxlPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0iYWN0aW9uLnNpZ25vdXQucGhwIiBwaW5uZWQ9ImZhbHNlIiBjdXJyZW50PSJmYWxzZSIgY3VycmVudC1pbi10YWI9ImZhbHNlIj4KICAgICAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLnNpZ25vdXQucGhwIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9IjAiIGNvbHVtbj0iNSIgc2VsZWN0aW9uLXN0YXJ0PSI1IiBzZWxlY3Rpb24tZW5kPSI1IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjY0NSI+CiAgICAgICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICAgICAgPC9zdGF0ZT4KICAgICAgICAgIDwvcHJvdmlkZXI+CiAgICAgICAgPC9lbnRyeT4KICAgICAgPC9maWxlPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0ibG9nb3V0LmpzLnRwbCIgcGlubmVkPSJmYWxzZSIgY3VycmVudD0iZmFsc2UiIGN1cnJlbnQtaW4tdGFiPSJmYWxzZSI+CiAgICAgICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL3RlbXBsYXRlcy9sb2dvdXQuanMudHBsIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9IjciIGNvbHVtbj0iOSIgc2VsZWN0aW9uLXN0YXJ0PSIyNTkiIHNlbGVjdGlvbi1lbmQ9IjI1OSIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIxMDUiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjE5NSI+CiAgICAgICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICAgICAgPC9zdGF0ZT4KICAgICAgICAgIDwvcHJvdmlkZXI+CiAgICAgICAgPC9lbnRyeT4KICAgICAgPC9maWxlPgogICAgICA8ZmlsZSBsZWFmLWZpbGUtbmFtZT0iYWN0aW9uLmRlZmF1bHQucGhwIiBwaW5uZWQ9ImZhbHNlIiBjdXJyZW50PSJmYWxzZSIgY3VycmVudC1pbi10YWI9ImZhbHNlIj4KICAgICAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLmRlZmF1bHQucGhwIj4KICAgICAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICAgICAgPHN0YXRlIGxpbmU9IjExIiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iMTg2IiBzZWxlY3Rpb24tZW5kPSIxODYiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMTY1IiBtYXgtdmVydGljYWwtb2Zmc2V0PSIzMDAiPgogICAgICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgICAgIDwvc3RhdGU+CiAgICAgICAgICA8L3Byb3ZpZGVyPgogICAgICAgIDwvZW50cnk+CiAgICAgIDwvZmlsZT4KICAgICAgPGZpbGUgbGVhZi1maWxlLW5hbWU9ImFjdGlvbi5wcm9maWxlLnBocCIgcGlubmVkPSJmYWxzZSIgY3VycmVudD0iZmFsc2UiIGN1cnJlbnQtaW4tdGFiPSJmYWxzZSI+CiAgICAgICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5wcm9maWxlLnBocCI+CiAgICAgICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgICAgIDxzdGF0ZSBsaW5lPSIxMyIgY29sdW1uPSI1IiBzZWxlY3Rpb24tc3RhcnQ9IjMyOCIgc2VsZWN0aW9uLWVuZD0iMzI4IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjE5NSIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMzQ1Ij4KICAgICAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgICAgICA8L3N0YXRlPgogICAgICAgICAgPC9wcm92aWRlcj4KICAgICAgICA8L2VudHJ5PgogICAgICA8L2ZpbGU+CiAgICAgIDxmaWxlIGxlYWYtZmlsZS1uYW1lPSJjbGFzcy5DTVNVc2VyLnBocCIgcGlubmVkPSJmYWxzZSIgY3VycmVudD0iZmFsc2UiIGN1cnJlbnQtaW4tdGFiPSJmYWxzZSI+CiAgICAgICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2xpYi9jbGFzcy5DTVNVc2VyLnBocCI+CiAgICAgICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgICAgIDxzdGF0ZSBsaW5lPSI1NyIgY29sdW1uPSIxNiIgc2VsZWN0aW9uLXN0YXJ0PSIxNDcyIiBzZWxlY3Rpb24tZW5kPSIxNDkxIiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iLTI0LjI1IiB2ZXJ0aWNhbC1vZmZzZXQ9IjE2OCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iODczMCI+CiAgICAgICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICAgICAgPC9zdGF0ZT4KICAgICAgICAgIDwvcHJvdmlkZXI+CiAgICAgICAgPC9lbnRyeT4KICAgICAgPC9maWxlPgogICAgPC9sZWFmPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iRmluZE1hbmFnZXIiPgogICAgPEZpbmRVc2FnZXNNYW5hZ2VyPgogICAgICA8c2V0dGluZyBuYW1lPSJPUEVOX05FV19UQUIiIHZhbHVlPSJmYWxzZSIgLz4KICAgIDwvRmluZFVzYWdlc01hbmFnZXI+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJHaXQuU2V0dGluZ3MiPgogICAgPG9wdGlvbiBuYW1lPSJSRUNFTlRfR0lUX1JPT1RfUEFUSCIgdmFsdWU9IiRQUk9KRUNUX0RJUiQiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJHaXRMb2dTZXR0aW5ncyI+CiAgICA8b3B0aW9uIG5hbWU9Im15RGF0ZVN0YXRlIj4KICAgICAgPE15RGF0ZVN0YXRlIC8+CiAgICA8L29wdGlvbj4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IklkZURvY3VtZW50SGlzdG9yeSI+CiAgICA8b3B0aW9uIG5hbWU9ImNoYW5nZWRGaWxlcyI+CiAgICAgIDxsaXN0PgogICAgICAgIDxvcHRpb24gdmFsdWU9IiRQUk9KRUNUX0RJUiQvdGVtcGxhdGVzL3R4dC5odGFjY2VzcyIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL2FjdGlvbi5kZWZhdWx0YWRtaW4ucGhwIiAvPgogICAgICAgIDxvcHRpb24gdmFsdWU9IiRQUk9KRUNUX0RJUiQvdGVtcGxhdGVzLy5odGFjY2VzcyIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL2xhbmcvZW5fVVMucGhwIiAvPgogICAgICAgIDxvcHRpb24gdmFsdWU9IiRQUk9KRUNUX0RJUiQvdGVtcGxhdGVzL2FkbWluLmh0YWNjZXNzLnRwbCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkLy4uLy4uL2xpYi9jbGFzc2VzL2NsYXNzLm1vZHVsZW9wZXJhdGlvbnMuaW5jLnBocCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkLy4uL0NNU0Zvcm1zL0NNU0Zvcm1zLm1vZHVsZS5waHAiIC8+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJFBST0pFQ1RfRElSJC9hY3Rpb24uZGVmYXVsdC5waHAiIC8+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJFBST0pFQ1RfRElSJC9hY3Rpb24ucHJvZmlsZS5waHAiIC8+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJFBST0pFQ1RfRElSJC90ZW1wbGF0ZXMvbG9nb3V0LmpzLnRwbCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL2FjdGlvbi5zaWdub3V0LnBocCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL2xpYi9jbGFzcy5DTVNVc2VyLnBocCIgLz4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIkUFJPSkVDVF9ESVIkL0NNU1VzZXJzLm1vZHVsZS5waHAiIC8+CiAgICAgIDwvbGlzdD4KICAgIDwvb3B0aW9uPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iUGhwV29ya3NwYWNlUHJvamVjdENvbmZpZ3VyYXRpb24iIGJhY2t3YXJkX2NvbXBhdGliaWxpdHlfcGVyZm9ybWVkPSJ0cnVlIj4KICAgIDxpbmNsdWRlX3BhdGg+CiAgICAgIDxwYXRoIHZhbHVlPSIkUFJPSkVDVF9ESVIkLy4uLy4uL2xpYiIgLz4KICAgICAgPHBhdGggdmFsdWU9IiRQUk9KRUNUX0RJUiQvLi4vQ01TRm9ybXMiIC8+CiAgICA8L2luY2x1ZGVfcGF0aD4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlByb2plY3RGcmFtZUJvdW5kcyI+CiAgICA8b3B0aW9uIG5hbWU9IndpZHRoIiB2YWx1ZT0iMjU2MCIgLz4KICAgIDxvcHRpb24gbmFtZT0iaGVpZ2h0IiB2YWx1ZT0iMTQ0MCIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlByb2plY3RMZXZlbFZjc01hbmFnZXIiIHNldHRpbmdzRWRpdGVkTWFudWFsbHk9ImZhbHNlIj4KICAgIDxPcHRpb25zU2V0dGluZyB2YWx1ZT0idHJ1ZSIgaWQ9IkFkZCIgLz4KICAgIDxPcHRpb25zU2V0dGluZyB2YWx1ZT0idHJ1ZSIgaWQ9IlJlbW92ZSIgLz4KICAgIDxPcHRpb25zU2V0dGluZyB2YWx1ZT0idHJ1ZSIgaWQ9IkNoZWNrb3V0IiAvPgogICAgPE9wdGlvbnNTZXR0aW5nIHZhbHVlPSJ0cnVlIiBpZD0iVXBkYXRlIiAvPgogICAgPE9wdGlvbnNTZXR0aW5nIHZhbHVlPSJ0cnVlIiBpZD0iU3RhdHVzIiAvPgogICAgPE9wdGlvbnNTZXR0aW5nIHZhbHVlPSJ0cnVlIiBpZD0iRWRpdCIgLz4KICAgIDxDb25maXJtYXRpb25zU2V0dGluZyB2YWx1ZT0iMCIgaWQ9IkFkZCIgLz4KICAgIDxDb25maXJtYXRpb25zU2V0dGluZyB2YWx1ZT0iMCIgaWQ9IlJlbW92ZSIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlByb2plY3RSZWxvYWRTdGF0ZSI+CiAgICA8b3B0aW9uIG5hbWU9IlNUQVRFIiB2YWx1ZT0iMCIgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlByb2plY3RWaWV3Ij4KICAgIDxuYXZpZ2F0b3IgY3VycmVudFZpZXc9IlByb2plY3RQYW5lIiBwcm9wb3J0aW9ucz0iIiB2ZXJzaW9uPSIxIiBzcGxpdHRlclByb3BvcnRpb249IjAuNSI+CiAgICAgIDxmbGF0dGVuUGFja2FnZXMgLz4KICAgICAgPHNob3dNZW1iZXJzIC8+CiAgICAgIDxzaG93TW9kdWxlcyAvPgogICAgICA8c2hvd0xpYnJhcnlDb250ZW50cyBQcm9qZWN0UGFuZT0idHJ1ZSIgLz4KICAgICAgPGhpZGVFbXB0eVBhY2thZ2VzIC8+CiAgICAgIDxhYmJyZXZpYXRlUGFja2FnZU5hbWVzIC8+CiAgICAgIDxhdXRvc2Nyb2xsVG9Tb3VyY2UgLz4KICAgICAgPGF1dG9zY3JvbGxGcm9tU291cmNlIC8+CiAgICAgIDxzb3J0QnlUeXBlIC8+CiAgICA8L25hdmlnYXRvcj4KICAgIDxwYW5lcz4KICAgICAgPHBhbmUgaWQ9IlByb2plY3RQYW5lIj4KICAgICAgICA8c3ViUGFuZT4KICAgICAgICAgIDxQQVRIPgogICAgICAgICAgICA8UEFUSF9FTEVNRU5UPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtSWQiIHZhbHVlPSJDTVNVc2VycyIgLz4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbVR5cGUiIHZhbHVlPSJjb20uaW50ZWxsaWouaWRlLnByb2plY3RWaWV3LmltcGwubm9kZXMuUHJvamVjdFZpZXdQcm9qZWN0Tm9kZSIgLz4KICAgICAgICAgICAgPC9QQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgIDxQQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1JZCIgdmFsdWU9IkV4dGVybmFsIExpYnJhcmllcyIgLz4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbVR5cGUiIHZhbHVlPSJjb20uamV0YnJhaW5zLnBocC5jb25maWcuUGhwRXh0ZXJuYWxMaWJyYXJpZXNOb2RlUGF0Y2hlciRQYXRjaGVkRXh0ZXJuYWxMaWJyYXJpZXNOb2RlIiAvPgogICAgICAgICAgICA8L1BBVEhfRUxFTUVOVD4KICAgICAgICAgICAgPFBBVEhfRUxFTUVOVD4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbUlkIiB2YWx1ZT0iUEhQIiAvPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtVHlwZSIgdmFsdWU9ImNvbS5qZXRicmFpbnMucGhwLmNvbmZpZy5QaHBFeHRlcm5hbExpYnJhcmllc05vZGVQYXRjaGVyJFBhdGNoZWRMaWJyYXJ5Tm9kZSIgLz4KICAgICAgICAgICAgPC9QQVRIX0VMRU1FTlQ+CiAgICAgICAgICA8L1BBVEg+CiAgICAgICAgICA8UEFUSD4KICAgICAgICAgICAgPFBBVEhfRUxFTUVOVD4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbUlkIiB2YWx1ZT0iQ01TVXNlcnMiIC8+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1UeXBlIiB2YWx1ZT0iY29tLmludGVsbGlqLmlkZS5wcm9qZWN0Vmlldy5pbXBsLm5vZGVzLlByb2plY3RWaWV3UHJvamVjdE5vZGUiIC8+CiAgICAgICAgICAgIDwvUEFUSF9FTEVNRU5UPgogICAgICAgICAgICA8UEFUSF9FTEVNRU5UPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtSWQiIHZhbHVlPSJDTVNVc2VycyIgLz4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbVR5cGUiIHZhbHVlPSJjb20uaW50ZWxsaWouaWRlLnByb2plY3RWaWV3LmltcGwubm9kZXMuUHNpRGlyZWN0b3J5Tm9kZSIgLz4KICAgICAgICAgICAgPC9QQVRIX0VMRU1FTlQ+CiAgICAgICAgICA8L1BBVEg+CiAgICAgICAgICA8UEFUSD4KICAgICAgICAgICAgPFBBVEhfRUxFTUVOVD4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbUlkIiB2YWx1ZT0iQ01TVXNlcnMiIC8+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1UeXBlIiB2YWx1ZT0iY29tLmludGVsbGlqLmlkZS5wcm9qZWN0Vmlldy5pbXBsLm5vZGVzLlByb2plY3RWaWV3UHJvamVjdE5vZGUiIC8+CiAgICAgICAgICAgIDwvUEFUSF9FTEVNRU5UPgogICAgICAgICAgICA8UEFUSF9FTEVNRU5UPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtSWQiIHZhbHVlPSJDTVNVc2VycyIgLz4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbVR5cGUiIHZhbHVlPSJjb20uaW50ZWxsaWouaWRlLnByb2plY3RWaWV3LmltcGwubm9kZXMuUHNpRGlyZWN0b3J5Tm9kZSIgLz4KICAgICAgICAgICAgPC9QQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgIDxQQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1JZCIgdmFsdWU9InRlbXBsYXRlcyIgLz4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbVR5cGUiIHZhbHVlPSJjb20uaW50ZWxsaWouaWRlLnByb2plY3RWaWV3LmltcGwubm9kZXMuUHNpRGlyZWN0b3J5Tm9kZSIgLz4KICAgICAgICAgICAgPC9QQVRIX0VMRU1FTlQ+CiAgICAgICAgICA8L1BBVEg+CiAgICAgICAgICA8UEFUSD4KICAgICAgICAgICAgPFBBVEhfRUxFTUVOVD4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbUlkIiB2YWx1ZT0iQ01TVXNlcnMiIC8+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1UeXBlIiB2YWx1ZT0iY29tLmludGVsbGlqLmlkZS5wcm9qZWN0Vmlldy5pbXBsLm5vZGVzLlByb2plY3RWaWV3UHJvamVjdE5vZGUiIC8+CiAgICAgICAgICAgIDwvUEFUSF9FTEVNRU5UPgogICAgICAgICAgICA8UEFUSF9FTEVNRU5UPgogICAgICAgICAgICAgIDxvcHRpb24gbmFtZT0ibXlJdGVtSWQiIHZhbHVlPSJDTVNVc2VycyIgLz4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbVR5cGUiIHZhbHVlPSJjb20uaW50ZWxsaWouaWRlLnByb2plY3RWaWV3LmltcGwubm9kZXMuUHNpRGlyZWN0b3J5Tm9kZSIgLz4KICAgICAgICAgICAgPC9QQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgIDxQQVRIX0VMRU1FTlQ+CiAgICAgICAgICAgICAgPG9wdGlvbiBuYW1lPSJteUl0ZW1JZCIgdmFsdWU9ImxpYiIgLz4KICAgICAgICAgICAgICA8b3B0aW9uIG5hbWU9Im15SXRlbVR5cGUiIHZhbHVlPSJjb20uaW50ZWxsaWouaWRlLnByb2plY3RWaWV3LmltcGwubm9kZXMuUHNpRGlyZWN0b3J5Tm9kZSIgLz4KICAgICAgICAgICAgPC9QQVRIX0VMRU1FTlQ+CiAgICAgICAgICA8L1BBVEg+CiAgICAgICAgPC9zdWJQYW5lPgogICAgICA8L3BhbmU+CiAgICAgIDxwYW5lIGlkPSJTY29wZSIgLz4KICAgIDwvcGFuZXM+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJQcm9wZXJ0aWVzQ29tcG9uZW50Ij4KICAgIDxwcm9wZXJ0eSBuYW1lPSJvcHRpb25zLnNwbGl0dGVyLm1haW4ucHJvcG9ydGlvbnMiIHZhbHVlPSIwLjMiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0iV2ViU2VydmVyVG9vbFdpbmRvd0ZhY3RvcnlTdGF0ZSIgdmFsdWU9ImZhbHNlIiAvPgogICAgPHByb3BlcnR5IG5hbWU9Im9wdGlvbnMubGFzdFNlbGVjdGVkIiB2YWx1ZT0icHJlZmVyZW5jZXMua2V5bWFwIiAvPgogICAgPHByb3BlcnR5IG5hbWU9Imxhc3Rfb3BlbmVkX2ZpbGVfcGF0aCIgdmFsdWU9IiRQUk9KRUNUX0RJUiQvLi4vQ01TRm9ybXMiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0iRnVsbFNjcmVlbiIgdmFsdWU9InRydWUiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0ib3B0aW9ucy5zZWFyY2hWaXNpYmxlIiB2YWx1ZT0idHJ1ZSIgLz4KICAgIDxwcm9wZXJ0eSBuYW1lPSJvcHRpb25zLnNwbGl0dGVyLmRldGFpbHMucHJvcG9ydGlvbnMiIHZhbHVlPSIwLjIiIC8+CiAgICA8cHJvcGVydHkgbmFtZT0iTGF5b3V0Q29kZS5yZWFycmFuZ2VFbnRyaWVzUEhQIiB2YWx1ZT0iZmFsc2UiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJSdW5NYW5hZ2VyIj4KICAgIDxjb25maWd1cmF0aW9uIGRlZmF1bHQ9InRydWUiIHR5cGU9IlBIUFVuaXRSdW5Db25maWd1cmF0aW9uVHlwZSIgZmFjdG9yeU5hbWU9IlBIUFVuaXQiPgogICAgICA8VGVzdFJ1bm5lciAvPgogICAgICA8bWV0aG9kIC8+CiAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICA8Y29uZmlndXJhdGlvbiBkZWZhdWx0PSJ0cnVlIiB0eXBlPSJQaHBMb2NhbFJ1bkNvbmZpZ3VyYXRpb25UeXBlIiBmYWN0b3J5TmFtZT0iUEhQIENvbnNvbGUiPgogICAgICA8bWV0aG9kIC8+CiAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICA8Y29uZmlndXJhdGlvbiBkZWZhdWx0PSJ0cnVlIiB0eXBlPSJKYXZhc2NyaXB0RGVidWdUeXBlIiBmYWN0b3J5TmFtZT0iSmF2YVNjcmlwdCBEZWJ1ZyIgc2luZ2xldG9uPSJ0cnVlIj4KICAgICAgPG1ldGhvZCAvPgogICAgPC9jb25maWd1cmF0aW9uPgogICAgPGNvbmZpZ3VyYXRpb24gZGVmYXVsdD0idHJ1ZSIgdHlwZT0iUGhwVW5pdFJlbW90ZVJ1bkNvbmZpZ3VyYXRpb25UeXBlIiBmYWN0b3J5TmFtZT0iUEhQVW5pdCBvbiBTZXJ2ZXIiPgogICAgICA8bWV0aG9kIC8+CiAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICA8bGlzdCBzaXplPSIwIiAvPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iU2hlbHZlQ2hhbmdlc01hbmFnZXIiIHNob3dfcmVjeWNsZWQ9ImZhbHNlIiAvPgogIDxjb21wb25lbnQgbmFtZT0iVGFza01hbmFnZXIiPgogICAgPHRhc2sgYWN0aXZlPSJ0cnVlIiBpZD0iRGVmYXVsdCIgc3VtbWFyeT0iRGVmYXVsdCB0YXNrIj4KICAgICAgPGNoYW5nZWxpc3QgaWQ9ImYyYzE4OTEwLTYxMGUtNGE1OS04MTM4LWUwNWI2MWY3NmUyNyIgbmFtZT0iRGVmYXVsdCIgY29tbWVudD0iIiAvPgogICAgICA8Y3JlYXRlZD4xMzc5MzMzMDMyNjE0PC9jcmVhdGVkPgogICAgICA8dXBkYXRlZD4xMzc5MzMzMDMyNjE0PC91cGRhdGVkPgogICAgPC90YXNrPgogICAgPHNlcnZlcnMgLz4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlRvb2xXaW5kb3dNYW5hZ2VyIj4KICAgIDxmcmFtZSB4PSIwIiB5PSIwIiB3aWR0aD0iMjU2MCIgaGVpZ2h0PSIxNDQwIiBleHRlbmRlZC1zdGF0ZT0iMCIgLz4KICAgIDxlZGl0b3IgYWN0aXZlPSJ0cnVlIiAvPgogICAgPGxheW91dD4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJDaGFuZ2VzIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjciIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iVGVybWluYWwiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iOCIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJUT0RPIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjYiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iRGF0YWJhc2UiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0icmlnaHQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIzIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IlN0cnVjdHVyZSIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJsZWZ0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4yNSIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMSIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJQcm9qZWN0IiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImxlZnQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJ0cnVlIiB3ZWlnaHQ9IjAuMjEwNTQ2ODgiIHNpZGVXZWlnaHQ9IjAuNjcwMzYyOSIgb3JkZXI9IjAiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9ImNvbWJvIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkRlYnVnIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9ImJvdHRvbSIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuNCIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMyIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJGYXZvcml0ZXMiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0ibGVmdCIgYXV0b19oaWRlPSJmYWxzZSIgaW50ZXJuYWxfdHlwZT0iRE9DS0VEIiB0eXBlPSJET0NLRUQiIHZpc2libGU9ImZhbHNlIiB3ZWlnaHQ9IjAuMzMiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjIiIHNpZGVfdG9vbD0idHJ1ZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJFdmVudCBMb2ciIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iNyIgc2lkZV90b29sPSJ0cnVlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IlJ1biIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIyIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IlZlcnNpb24gQ29udHJvbCIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjMzIiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSI3IiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkN2cyIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjI1IiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSI0IiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9Ik1lc3NhZ2UiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4zMyIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMCIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0idGFicyIgLz4KICAgICAgPHdpbmRvd19pbmZvIGlkPSJBbnQgQnVpbGQiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0icmlnaHQiIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjI1IiBzaWRlV2VpZ2h0PSIwLjUiIG9yZGVyPSIxIiBzaWRlX3Rvb2w9ImZhbHNlIiBjb250ZW50X3VpPSJ0YWJzIiAvPgogICAgICA8d2luZG93X2luZm8gaWQ9IkZpbmQiIGFjdGl2ZT0iZmFsc2UiIGFuY2hvcj0iYm90dG9tIiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0idHJ1ZSIgd2VpZ2h0PSIwLjMyOTYzNzEiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjEiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iQ29tbWFuZGVyIiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9InJpZ2h0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJTTElESU5HIiB0eXBlPSJTTElESU5HIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjQiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjAiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iSGllcmFyY2h5IiBhY3RpdmU9ImZhbHNlIiBhbmNob3I9InJpZ2h0IiBhdXRvX2hpZGU9ImZhbHNlIiBpbnRlcm5hbF90eXBlPSJET0NLRUQiIHR5cGU9IkRPQ0tFRCIgdmlzaWJsZT0iZmFsc2UiIHdlaWdodD0iMC4yNSIgc2lkZVdlaWdodD0iMC41IiBvcmRlcj0iMiIgc2lkZV90b29sPSJmYWxzZSIgY29udGVudF91aT0iY29tYm8iIC8+CiAgICAgIDx3aW5kb3dfaW5mbyBpZD0iSW5zcGVjdGlvbiIgYWN0aXZlPSJmYWxzZSIgYW5jaG9yPSJib3R0b20iIGF1dG9faGlkZT0iZmFsc2UiIGludGVybmFsX3R5cGU9IkRPQ0tFRCIgdHlwZT0iRE9DS0VEIiB2aXNpYmxlPSJmYWxzZSIgd2VpZ2h0PSIwLjQiIHNpZGVXZWlnaHQ9IjAuNSIgb3JkZXI9IjUiIHNpZGVfdG9vbD0iZmFsc2UiIGNvbnRlbnRfdWk9InRhYnMiIC8+CiAgICA8L2xheW91dD4KICA8L2NvbXBvbmVudD4KICA8Y29tcG9uZW50IG5hbWU9IlZjcy5Mb2cuVWlQcm9wZXJ0aWVzIj4KICAgIDxvcHRpb24gbmFtZT0iUkVDRU5UTFlfRklMVEVSRURfVVNFUl9HUk9VUFMiPgogICAgICA8Y29sbGVjdGlvbiAvPgogICAgPC9vcHRpb24+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJWY3NDb250ZW50QW5ub3RhdGlvblNldHRpbmdzIj4KICAgIDxvcHRpb24gbmFtZT0ibXlMaW1pdCIgdmFsdWU9IjI2Nzg0MDAwMDAiIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJWY3NNYW5hZ2VyQ29uZmlndXJhdGlvbiI+CiAgICA8b3B0aW9uIG5hbWU9Im15VG9kb1BhbmVsU2V0dGluZ3MiPgogICAgICA8VG9kb1BhbmVsU2V0dGluZ3MgLz4KICAgIDwvb3B0aW9uPgogIDwvY29tcG9uZW50PgogIDxjb21wb25lbnQgbmFtZT0iWERlYnVnZ2VyTWFuYWdlciI+CiAgICA8YnJlYWtwb2ludC1tYW5hZ2VyIC8+CiAgPC9jb21wb25lbnQ+CiAgPGNvbXBvbmVudCBuYW1lPSJlZGl0b3JIaXN0b3J5TWFuYWdlciI+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvQ01TVXNlcnMubW9kdWxlLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMCIgY29sdW1uPSI1IiBzZWxlY3Rpb24tc3RhcnQ9IjUiIHNlbGVjdGlvbi1lbmQ9IjUiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iODY4NSI+CiAgICAgICAgICA8Zm9sZGluZz4KICAgICAgICAgICAgPGVsZW1lbnQgc2lnbmF0dXJlPSJlIzcjMTk1IzAiIGV4cGFuZGVkPSJ0cnVlIiAvPgogICAgICAgICAgPC9mb2xkaW5nPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5zaWdub3V0LnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMCIgY29sdW1uPSI1IiBzZWxlY3Rpb24tc3RhcnQ9IjUiIHNlbGVjdGlvbi1lbmQ9IjUiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNjQ1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvdGVtcGxhdGVzL2xvZ291dC5qcy50cGwiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjciIGNvbHVtbj0iOSIgc2VsZWN0aW9uLXN0YXJ0PSIyNTkiIHNlbGVjdGlvbi1lbmQ9IjI1OSIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIxMDUiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjE5NSI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5kZWZhdWx0LnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMTEiIGNvbHVtbj0iMCIgc2VsZWN0aW9uLXN0YXJ0PSIxODYiIHNlbGVjdGlvbi1lbmQ9IjE4NiIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIxNjUiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjMwMCI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5wcm9maWxlLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMTMiIGNvbHVtbj0iNSIgc2VsZWN0aW9uLXN0YXJ0PSIzMjgiIHNlbGVjdGlvbi1lbmQ9IjMyOCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIxOTUiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjM0NSI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2xpYi9jbGFzcy5DTVNVc2VyLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iNDgiIGNvbHVtbj0iMjQiIHNlbGVjdGlvbi1zdGFydD0iMTE2MyIgc2VsZWN0aW9uLWVuZD0iMTE2MyIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSI3MjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9Ijg3MTUiPgogICAgICAgICAgPGZvbGRpbmcgLz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9DTVNVc2Vycy5tb2R1bGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI1NzAiIGNvbHVtbj0iNSIgc2VsZWN0aW9uLXN0YXJ0PSIxODM2OCIgc2VsZWN0aW9uLWVuZD0iMTgzNjgiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iODU1MCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iODU4MCI+CiAgICAgICAgICA8Zm9sZGluZz4KICAgICAgICAgICAgPGVsZW1lbnQgc2lnbmF0dXJlPSJlIzcjMTk1IzAiIGV4cGFuZGVkPSJ0cnVlIiAvPgogICAgICAgICAgPC9mb2xkaW5nPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2xpYi9jbGFzcy5DTVNVc2VyLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMzE2IiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iODg4MSIgc2VsZWN0aW9uLWVuZD0iODg4MSIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSI0NzQwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSI4NzE1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLnNpZ25pbi5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjUyIiBjb2x1bW49IjI5IiBzZWxlY3Rpb24tc3RhcnQ9IjE1NDYiIHNlbGVjdGlvbi1lbmQ9IjE1NDYiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iNzgwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIxNTkwIiAvPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9DTVNVc2Vycy5tb2R1bGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI1MTAiIGNvbHVtbj0iNTAiIHNlbGVjdGlvbi1zdGFydD0iMTYxNDUiIHNlbGVjdGlvbi1lbmQ9IjE2MTQ1IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9Ijg2NTUiPgogICAgICAgICAgPGZvbGRpbmc+CiAgICAgICAgICAgIDxlbGVtZW50IHNpZ25hdHVyZT0iZSM3IzE5NSMwIiBleHBhbmRlZD0idHJ1ZSIgLz4KICAgICAgICAgIDwvZm9sZGluZz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9saWIvY2xhc3MuQ01TVXNlci5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjMxNiIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9Ijg4ODEiIHNlbGVjdGlvbi1lbmQ9Ijg4ODEiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iNDc0MCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iODYxMCI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5zaWduaW4ucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI1MiIgY29sdW1uPSIyOSIgc2VsZWN0aW9uLXN0YXJ0PSIxNTQ2IiBzZWxlY3Rpb24tZW5kPSIxNTQ2IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9Ijc4MCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMTU5MCIgLz4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvQ01TVXNlcnMubW9kdWxlLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iODIiIGNvbHVtbj0iMTciIHNlbGVjdGlvbi1zdGFydD0iMzc1NCIgc2VsZWN0aW9uLWVuZD0iMzc1NCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIwIj4KICAgICAgICAgIDxmb2xkaW5nPgogICAgICAgICAgICA8ZWxlbWVudCBzaWduYXR1cmU9ImUjNyMxOTUjMCIgZXhwYW5kZWQ9InRydWUiIC8+CiAgICAgICAgICA8L2ZvbGRpbmc+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvLi4vLi4vbGliL2NsYXNzZXMvY2xhc3MubW9kdWxlb3BlcmF0aW9ucy5pbmMucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI1MiIgY29sdW1uPSIxMDciIHNlbGVjdGlvbi1zdGFydD0iMTY0NCIgc2VsZWN0aW9uLWVuZD0iMTY0NCIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIwIiAvPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uLi9DTVNGb3Jtcy9DTVNGb3Jtcy5tb2R1bGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIxNCIgY29sdW1uPSI3NyIgc2VsZWN0aW9uLXN0YXJ0PSI1MjMiIHNlbGVjdGlvbi1lbmQ9IjUyMyIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249IjAuMCIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIwIiAvPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC9hY3Rpb24uZGVmYXVsdGFkbWluLnBocCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iMCIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjAiIHNlbGVjdGlvbi1lbmQ9IjAiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMCIgLz4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLmRlZmF1bHRhZG1pbi5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjAiIGNvbHVtbj0iMCIgc2VsZWN0aW9uLXN0YXJ0PSIwIiBzZWxlY3Rpb24tZW5kPSIwIiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjAiIC8+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL2FjdGlvbi5kZWZhdWx0YWRtaW4ucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIyNzciIGNvbHVtbj0iNzciIHNlbGVjdGlvbi1zdGFydD0iMTU4NjMiIHNlbGVjdGlvbi1lbmQ9IjE1ODc1IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iLTE0LjI1IiB2ZXJ0aWNhbC1vZmZzZXQ9IjAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9IjAiIC8+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL3RlbXBsYXRlcy9hZG1pbi5odGFjY2Vzcy50cGwiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjE5IiBjb2x1bW49IjAiIHNlbGVjdGlvbi1zdGFydD0iMzAyIiBzZWxlY3Rpb24tZW5kPSIzMDIiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjQ2NDkyNjYiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMCIgLz4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGFuZy9lbl9VUy5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjE1MSIgY29sdW1uPSI1NiIgc2VsZWN0aW9uLXN0YXJ0PSIxMDU0MyIgc2VsZWN0aW9uLWVuZD0iMTA1NDMiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjcyNSIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIwIiAvPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uLi9DTVNGb3Jtcy9DTVNGb3Jtcy5tb2R1bGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIyMCIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjY2NiIgc2VsZWN0aW9uLWVuZD0iNjY2IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4yNTQ3NzcwNyIgdmVydGljYWwtb2Zmc2V0PSIwIiBtYXgtdmVydGljYWwtb2Zmc2V0PSIwIiAvPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC8uLi8uLi9saWIvY2xhc3Nlcy9jbGFzcy5tb2R1bGVvcGVyYXRpb25zLmluYy5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjUyIiBjb2x1bW49IjEwNyIgc2VsZWN0aW9uLXN0YXJ0PSIxNjQ0IiBzZWxlY3Rpb24tZW5kPSIxNjQ0IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wMTU5MjM1NjciIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMCIgLz4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLmRlZmF1bHQucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIxMSIgY29sdW1uPSIwIiBzZWxlY3Rpb24tc3RhcnQ9IjE4NiIgc2VsZWN0aW9uLWVuZD0iMTg2IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjE2NSIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMzAwIj4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLnByb2ZpbGUucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIxMyIgY29sdW1uPSI1IiBzZWxlY3Rpb24tc3RhcnQ9IjMyOCIgc2VsZWN0aW9uLWVuZD0iMzI4IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjE5NSIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMzQ1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLnNpZ25pbi5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9IjUyIiBjb2x1bW49IjI5IiBzZWxlY3Rpb24tc3RhcnQ9IjE1NDYiIHNlbGVjdGlvbi1lbmQ9IjE1NDYiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjE4MjY0MzgiIHZlcnRpY2FsLW9mZnNldD0iNTk5IiBtYXgtdmVydGljYWwtb2Zmc2V0PSIxNTkwIiAvPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICAgIDxlbnRyeSBmaWxlPSJmaWxlOi8vJFBST0pFQ1RfRElSJC90ZW1wbGF0ZXMvbG9nb3V0LmpzLnRwbCI+CiAgICAgIDxwcm92aWRlciBzZWxlY3RlZD0idHJ1ZSIgZWRpdG9yLXR5cGUtaWQ9InRleHQtZWRpdG9yIj4KICAgICAgICA8c3RhdGUgbGluZT0iNyIgY29sdW1uPSI5IiBzZWxlY3Rpb24tc3RhcnQ9IjI1OSIgc2VsZWN0aW9uLWVuZD0iMjU5IiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iMC4wIiB2ZXJ0aWNhbC1vZmZzZXQ9IjEwNSIgbWF4LXZlcnRpY2FsLW9mZnNldD0iMTk1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvYWN0aW9uLnNpZ25vdXQucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSIwIiBjb2x1bW49IjUiIHNlbGVjdGlvbi1zdGFydD0iNSIgc2VsZWN0aW9uLWVuZD0iNSIgdmVydGljYWwtc2Nyb2xsLXByb3BvcnRpb249Ii0wLjAiIHZlcnRpY2FsLW9mZnNldD0iMCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iNjQ1Ij4KICAgICAgICAgIDxmb2xkaW5nIC8+CiAgICAgICAgPC9zdGF0ZT4KICAgICAgPC9wcm92aWRlcj4KICAgIDwvZW50cnk+CiAgICA8ZW50cnkgZmlsZT0iZmlsZTovLyRQUk9KRUNUX0RJUiQvbGliL2NsYXNzLkNNU1VzZXIucGhwIj4KICAgICAgPHByb3ZpZGVyIHNlbGVjdGVkPSJ0cnVlIiBlZGl0b3ItdHlwZS1pZD0idGV4dC1lZGl0b3IiPgogICAgICAgIDxzdGF0ZSBsaW5lPSI1NyIgY29sdW1uPSIxNiIgc2VsZWN0aW9uLXN0YXJ0PSIxNDcyIiBzZWxlY3Rpb24tZW5kPSIxNDkxIiB2ZXJ0aWNhbC1zY3JvbGwtcHJvcG9ydGlvbj0iLTI0LjI1IiB2ZXJ0aWNhbC1vZmZzZXQ9IjE2OCIgbWF4LXZlcnRpY2FsLW9mZnNldD0iODczMCI+CiAgICAgICAgICA8Zm9sZGluZyAvPgogICAgICAgIDwvc3RhdGU+CiAgICAgIDwvcHJvdmlkZXI+CiAgICA8L2VudHJ5PgogICAgPGVudHJ5IGZpbGU9ImZpbGU6Ly8kUFJPSkVDVF9ESVIkL0NNU1VzZXJzLm1vZHVsZS5waHAiPgogICAgICA8cHJvdmlkZXIgc2VsZWN0ZWQ9InRydWUiIGVkaXRvci10eXBlLWlkPSJ0ZXh0LWVkaXRvciI+CiAgICAgICAgPHN0YXRlIGxpbmU9Ijc2IiBjb2x1bW49IjIxIiBzZWxlY3Rpb24tc3RhcnQ9IjI3MjkiIHNlbGVjdGlvbi1lbmQ9IjI3MjkiIHZlcnRpY2FsLXNjcm9sbC1wcm9wb3J0aW9uPSIwLjczODI1NSIgdmVydGljYWwtb2Zmc2V0PSIxNTAiIG1heC12ZXJ0aWNhbC1vZmZzZXQ9Ijk0NjUiPgogICAgICAgICAgPGZvbGRpbmc+CiAgICAgICAgICAgIDxlbGVtZW50IHNpZ25hdHVyZT0iZSM3IzE5NSMwIiBleHBhbmRlZD0idHJ1ZSIgLz4KICAgICAgICAgIDwvZm9sZGluZz4KICAgICAgICA8L3N0YXRlPgogICAgICA8L3Byb3ZpZGVyPgogICAgPC9lbnRyeT4KICA8L2NvbXBvbmVudD4KPC9wcm9qZWN0PgoK]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgkvLyAKCS8vIGVjaG8gJzxwcmU+JzsKCS8vIHZhcl9kdW1wKCRfU0VSVkVSKTsKCS8vIGVjaG8gJzwvcHJlPic7CgoJaWYgKCR1c2VyID0gQ01TVXNlcnM6OmdldFVzZXIoKSkKCXsKCQlyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwncHJvZmlsZScsJHJldHVybmlkKTsKICAgIH0KCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ2RlZmF1bHQnLCAkcGFyYW1zKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFjbXNtcygpKSBleGl0OwppZiAoISR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKICAgIHJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKICAgIGV4aXQ7Cn0KCi8qCiAgICBVc2VycyBhZG1pbiBwYW5uZWwKKi8KJHRhYiA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1sndGFiJ10pKSAkdGFiID0gJHBhcmFtc1sndGFiJ107CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYl9oZWFkZXJzJywgJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpIC4KICAgICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3VzZXJzJywgJHRoaXMtPkxhbmcoJ3VzZXJzJyksICgkdGFiID09ICd1c2VycycpID8gdHJ1ZSA6IGZhbHNlKSAuCiAgICAkdGhpcy0+U2V0VGFiSGVhZGVyKCdncm91cHMnLCAkdGhpcy0+TGFuZygnZ3JvdXBzJyksICgkdGFiID09ICdncm91cHMnKSA/IHRydWUgOiBmYWxzZSkgLgogICAgJHRoaXMtPlNldFRhYkhlYWRlcigncGVybWlzc2lvbnMnLCAkdGhpcy0+TGFuZygncGVybWlzc2lvbnMnKSwgKCR0YWIgPT0gJ3Blcm1pc3Npb25zJykgPyB0cnVlIDogZmFsc2UpIC4KICAgICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Byb2ZpbGVfZmllbGRzJywgJHRoaXMtPkxhbmcoJ3Byb2ZpbGVfZmllbGRzJyksICgkdGFiID09ICdwcm9maWxlX2ZpZWxkcycpID8gdHJ1ZSA6IGZhbHNlKSAuCiAgICAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0ZW1wbGF0ZXMnLCAkdGhpcy0+TGFuZygndGVtcGxhdGVzJyksICgkdGFiID09ICd0ZW1wbGF0ZXMnKSA/IHRydWUgOiBmYWxzZSkgLgogICAgJHRoaXMtPlNldFRhYkhlYWRlcignc2V0dGluZ3MnLCAkdGhpcy0+TGFuZygnc2V0dGluZ3MnKSwgKCR0YWIgPT0gJ3NldHRpbmdzJykgPyB0cnVlIDogZmFsc2UpIC4KLy8JJHRoaXMtPlNldFRhYkhlYWRlcignaW1wZXgnLCR0aGlzLT5MYW5nKCdpbXBleCcpLCgkdGFiID09ICdpbXBleCcpP3RydWU6ZmFsc2UpLgoKICAgICR0aGlzLT5FbmRUYWJIZWFkZXJzKCkgLiAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiJywgJHRoaXMtPkVuZFRhYigpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJfZm9vdGVycycsICR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF91c2Vyc190YWInLCAkdGhpcy0+U3RhcnRUYWIoJ3VzZXJzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2dyb3Vwc190YWInLCAkdGhpcy0+U3RhcnRUYWIoJ2dyb3VwcycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9wZXJtaXNzaW9uc190YWInLCAkdGhpcy0+U3RhcnRUYWIoJ3Blcm1pc3Npb25zJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3Byb2ZpbGVfZmllbGRzX3RhYicsICR0aGlzLT5TdGFydFRhYigncHJvZmlsZV9maWVsZHMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfdGVtcGxhdGVzX3RhYicsICR0aGlzLT5TdGFydFRhYigndGVtcGxhdGVzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3NldHRpbmdzX3RhYicsICR0aGlzLT5TdGFydFRhYignc2V0dGluZ3MnKSk7Ci8vJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9pbXBleF90YWInLCR0aGlzLT5TdGFydFRhYignaW1wZXgnKSk7CgovLyBVU0VSUwoKJHVzZXJzID0gQ01TVXNlcjo6ZG9TZWxlY3QoKTsKJHVzZXJzX2FjdGlvbnMgPSBhcnJheSgpOwpmb3JlYWNoICgkdXNlcnMgYXMgJGtleSA9PiAkdXNlcikgewogICAgJHVzZXJzX2FjdGlvbnNbJGtleV1bJ2VkaXQnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3VzZXJfbWFuYWdlJywgJHJldHVybmlkLCAkdXNlci0+dXNlcm5hbWUsIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSkpOwogICAgJHVzZXJzX2FjdGlvbnNbJGtleV1bJ2VkaXRfaWNvbiddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAndXNlcl9tYW5hZ2UnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCd1c2VyX2VkaXQucG5nJywgJHRoaXMtPmxhbmcoJ2VkaXQnKSksIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSkpOwogICAgJHVzZXJzX2FjdGlvbnNbJGtleV1bJ2RlbGV0ZV9pY29uJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICd1c2VyX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCd1c2VyX2RlbGV0ZS5wbmcnLCAkdGhpcy0+bGFuZygnZGVsZXRlJykpLCBhcnJheSgndXNlcl9pZCcgPT4gJHVzZXItPmdldElkKCksICdtYWN0aW9uJyA9PiAnZGVsZXRlJyksICR0aGlzLT5sYW5nKCdhcmVfeW91X3N1cmUnKSk7CgogICAgaWYgKCR1c2VyLT5pc19hY3RpdmUpIHsKICAgICAgICAkdXNlcnNfYWN0aW9uc1ska2V5XVsnYWN0aXZlX2ljb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3VzZXJfb3B0aW9ucycsICRyZXR1cm5pZCwgJHRoaXMtPmdldEljb24oJ3VzZXJfZ3JlZW4ucG5nJywgJHRoaXMtPmxhbmcoJ2Rpc2FibGUnKSksIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSwgJ21hY3Rpb24nID0+ICdjaGFuZ2Vfc3RhdHVzJykpOwogICAgfSBlbHNlIHsKICAgICAgICAkdXNlcnNfYWN0aW9uc1ska2V5XVsnYWN0aXZlX2ljb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3VzZXJfb3B0aW9ucycsICRyZXR1cm5pZCwgJHRoaXMtPmdldEljb24oJ3VzZXJfcmVkLnBuZycsICR0aGlzLT5sYW5nKCdlbmFibGUnKSksIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSwgJ21hY3Rpb24nID0+ICdjaGFuZ2Vfc3RhdHVzJykpOwogICAgfQoKCn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VycycsICR1c2Vycyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcnNfdGl0bGUnLCAkdGhpcy0+bGFuZygndXNlcnMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcnNfYWN0aW9ucycsICR1c2Vyc19hY3Rpb25zKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkX3VzZXInLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICd1c2VyX21hbmFnZScsICRyZXR1cm5pZCwKICAgICR0aGlzLT5nZXRJY29uKCd1c2VyX2FkZC5wbmcnLCAkdGhpcy0+bGFuZygnYWRkX3VzZXInKSkgLiAnICcgLiAkdGhpcy0+bGFuZygnYWRkX3VzZXInKQopKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFzdF9sb2dpbicsICR0aGlzLT5sYW5nKCdsYXN0IGxvZ2luJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VtYWlsJywgJHRoaXMtPmxhbmcoJ2VtYWlsJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2Vyc19saXN0JywgJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW4udXNlcnMudHBsJykpOwoKLy8gR1JPVVBTCgokZ3JvdXBzID0gQ01TR3JvdXA6OmRvU2VsZWN0KCk7CiRncm91cHNfYWN0aW9ucyA9IGFycmF5KCk7CmZvcmVhY2ggKCRncm91cHMgYXMgJGtleSA9PiAkZ3JvdXApIHsKICAgICRncm91cHNfYWN0aW9uc1ska2V5XVsnZWRpdCddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZ3JvdXBfbWFuYWdlJywgJHJldHVybmlkLCAkZ3JvdXAtPm5hbWUsIGFycmF5KCdncm91cF9pZCcgPT4gJGdyb3VwLT5nZXRJZCgpKSk7CiAgICAkZ3JvdXBzX2FjdGlvbnNbJGtleV1bJ2VkaXRfaWNvbiddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZ3JvdXBfbWFuYWdlJywgJHJldHVybmlkLCAkdGhpcy0+Z2V0SWNvbignZ3JvdXBfZWRpdC5wbmcnLCAkdGhpcy0+bGFuZygnZWRpdCcpKSwgYXJyYXkoJ2dyb3VwX2lkJyA9PiAkZ3JvdXAtPmdldElkKCkpKTsKICAgICRncm91cHNfYWN0aW9uc1ska2V5XVsnZGVsZXRlX2ljb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2dyb3VwX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCdncm91cF9kZWxldGUucG5nJywgJHRoaXMtPmxhbmcoJ2RlbGV0ZScpKSwgYXJyYXkoJ2dyb3VwX2lkJyA9PiAkZ3JvdXAtPmdldElkKCksICdtYWN0aW9uJyA9PiAnZGVsZXRlJyksICR0aGlzLT5sYW5nKCdhcmVfeW91X3N1cmUnKSk7CgogICAgaWYgKCRncm91cC0+aXNfYWN0aXZlKSB7CiAgICAgICAgJGdyb3Vwc19hY3Rpb25zWyRrZXldWydhY3RpdmVfaWNvbiddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZ3JvdXBfb3B0aW9ucycsICRyZXR1cm5pZCwgJHRoaXMtPmdldEljb24oJ2ZsYWdfZ3JlZW4ucG5nJywgJHRoaXMtPmxhbmcoJ2Rpc2FibGUnKSksIGFycmF5KCdncm91cF9pZCcgPT4gJGdyb3VwLT5nZXRJZCgpLCAnbWFjdGlvbicgPT4gJ2NoYW5nZV9zdGF0dXMnKSk7CiAgICB9IGVsc2UgewogICAgICAgICRncm91cHNfYWN0aW9uc1ska2V5XVsnYWN0aXZlX2ljb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2dyb3VwX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCdmbGFnX3JlZC5wbmcnLCAkdGhpcy0+bGFuZygnZW5hYmxlJykpLCBhcnJheSgnZ3JvdXBfaWQnID0+ICRncm91cC0+Z2V0SWQoKSwgJ21hY3Rpb24nID0+ICdjaGFuZ2Vfc3RhdHVzJykpOwogICAgfQp9CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBzJywgJGdyb3Vwcyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBzX3RpdGxlJywgJHRoaXMtPmxhbmcoJ2dyb3VwcycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0eXBlJywgJHRoaXMtPmxhbmcoJ3R5cGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBzX2FjdGlvbnMnLCAkZ3JvdXBzX2FjdGlvbnMpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRfZ3JvdXAnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdncm91cF9tYW5hZ2UnLCAkcmV0dXJuaWQsCiAgICAkdGhpcy0+Z2V0SWNvbignZ3JvdXBfYWRkLnBuZycsICR0aGlzLT5sYW5nKCdhZGRfZ3JvdXAnKSkgLiAnICcgLiAkdGhpcy0+bGFuZygnYWRkX2dyb3VwJykKKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2dyb3Vwc19saXN0JywgJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW4uZ3JvdXBzLnRwbCcpKTsKCi8vIFBlcm1pc3Npb25zCgokcGVybWlzc2lvbnMgPSBDTVNQZXJtaXNzaW9uOjpkb1NlbGVjdCgpOwokcGVybWlzc2lvbnNfYWN0aW9ucyA9IGFycmF5KCk7CmZvcmVhY2ggKCRwZXJtaXNzaW9ucyBhcyAka2V5ID0+ICRwZXJtaXNzaW9uKSB7CiAgICAkcGVybWlzc2lvbnNfYWN0aW9uc1ska2V5XVsnZWRpdCddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncGVybWlzc2lvbl9tYW5hZ2UnLCAkcmV0dXJuaWQsICRwZXJtaXNzaW9uLT5uYW1lLCBhcnJheSgncGVybWlzc2lvbl9pZCcgPT4gJHBlcm1pc3Npb24tPmdldElkKCkpKTsKICAgICRwZXJtaXNzaW9uc19hY3Rpb25zWyRrZXldWydlZGl0X2ljb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Blcm1pc3Npb25fbWFuYWdlJywgJHJldHVybmlkLCAkdGhpcy0+Z2V0SWNvbignbG9ja19lZGl0LnBuZycsICR0aGlzLT5sYW5nKCdlZGl0JykpLCBhcnJheSgncGVybWlzc2lvbl9pZCcgPT4gJHBlcm1pc3Npb24tPmdldElkKCkpKTsKICAgICRwZXJtaXNzaW9uc19hY3Rpb25zWyRrZXldWydkZWxldGVfaWNvbiddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncGVybWlzc2lvbl9vcHRpb25zJywgJHJldHVybmlkLCAkdGhpcy0+Z2V0SWNvbignbG9ja19kZWxldGUucG5nJywgJHRoaXMtPmxhbmcoJ2RlbGV0ZScpKSwgYXJyYXkoJ3Blcm1pc3Npb25faWQnID0+ICRwZXJtaXNzaW9uLT5nZXRJZCgpLCAnbWFjdGlvbicgPT4gJ2RlbGV0ZScpLCAkdGhpcy0+bGFuZygnYXJlX3lvdV9zdXJlJykpOwoKICAgIGlmICgkcGVybWlzc2lvbi0+aXNfYWN0aXZlKSB7CiAgICAgICAgJHBlcm1pc3Npb25zX2FjdGlvbnNbJGtleV1bJ2FjdGl2ZV9pY29uJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwZXJtaXNzaW9uX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCdsb2NrLnBuZycsICR0aGlzLT5sYW5nKCdkaXNhYmxlJykpLCBhcnJheSgncGVybWlzc2lvbl9pZCcgPT4gJHBlcm1pc3Npb24tPmdldElkKCksICdtYWN0aW9uJyA9PiAnY2hhbmdlX3N0YXR1cycpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHBlcm1pc3Npb25zX2FjdGlvbnNbJGtleV1bJ2FjdGl2ZV9pY29uJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwZXJtaXNzaW9uX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCdsb2NrX29wZW4ucG5nJywgJHRoaXMtPmxhbmcoJ2VuYWJsZScpKSwgYXJyYXkoJ3Blcm1pc3Npb25faWQnID0+ICRwZXJtaXNzaW9uLT5nZXRJZCgpLCAnbWFjdGlvbicgPT4gJ2NoYW5nZV9zdGF0dXMnKSk7CiAgICB9Cn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwZXJtaXNzaW9ucycsICRwZXJtaXNzaW9ucyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncGVybWlzc2lvbnNfdGl0bGUnLCAkdGhpcy0+bGFuZygncGVybWlzc2lvbnMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigncGVybWlzc2lvbnNfYWN0aW9ucycsICRwZXJtaXNzaW9uc19hY3Rpb25zKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkX3Blcm1pc3Npb24nLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwZXJtaXNzaW9uX21hbmFnZScsICRyZXR1cm5pZCwKICAgICR0aGlzLT5nZXRJY29uKCdsb2NrX2FkZC5wbmcnLCAkdGhpcy0+bGFuZygnYWRkX3Blcm1pc3Npb24nKSkgLiAnICcgLiAkdGhpcy0+bGFuZygnYWRkX3Blcm1pc3Npb24nKQopKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigncGVybWlzc2lvbnNfbGlzdCcsICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnBlcm1pc3Npb25zLnRwbCcpKTsKCi8vIFByb2ZpbGVGaWVsZHMKCiRwcm9maWxlX2ZpZWxkcyA9IENNU1Byb2ZpbGVGaWVsZDo6ZG9TZWxlY3QoKTsKJHByb2ZpbGVfZmllbGRzX2FjdGlvbnMgPSBhcnJheSgpOwpmb3JlYWNoICgkcHJvZmlsZV9maWVsZHMgYXMgJGtleSA9PiAkcHJvZmlsZV9maWVsZCkgewogICAgJHByb2ZpbGVfZmllbGRzX2FjdGlvbnNbJGtleV1bJ2VkaXQnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Byb2ZpbGVfZmllbGRfbWFuYWdlJywgJHJldHVybmlkLCAkcHJvZmlsZV9maWVsZC0+bmFtZSwgYXJyYXkoJ3Byb2ZpbGVfZmllbGRfaWQnID0+ICRwcm9maWxlX2ZpZWxkLT5nZXRJZCgpKSk7CiAgICAkcHJvZmlsZV9maWVsZHNfYWN0aW9uc1ska2V5XVsnZWRpdF9pY29uJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9maWxlX2ZpZWxkX21hbmFnZScsICRyZXR1cm5pZCwgJHRoaXMtPmdldEljb24oJ3ZjYXJkX2VkaXQucG5nJywgJHRoaXMtPmxhbmcoJ2VkaXQnKSksIGFycmF5KCdwcm9maWxlX2ZpZWxkX2lkJyA9PiAkcHJvZmlsZV9maWVsZC0+Z2V0SWQoKSkpOwogICAgJHByb2ZpbGVfZmllbGRzX2FjdGlvbnNbJGtleV1bJ2RlbGV0ZV9pY29uJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9maWxlX2ZpZWxkX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCd2Y2FyZF9kZWxldGUucG5nJywgJHRoaXMtPmxhbmcoJ2RlbGV0ZScpKSwgYXJyYXkoJ3Byb2ZpbGVfZmllbGRfaWQnID0+ICRwcm9maWxlX2ZpZWxkLT5nZXRJZCgpLCAnbWFjdGlvbicgPT4gJ2RlbGV0ZScpLCAkdGhpcy0+bGFuZygnYXJlX3lvdV9zdXJlJykpOwoKICAgIGlmICgkcHJvZmlsZV9maWVsZC0+aXNfYWN0aXZlKSB7CiAgICAgICAgJHByb2ZpbGVfZmllbGRzX2FjdGlvbnNbJGtleV1bJ2FjdGl2ZV9pY29uJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9maWxlX2ZpZWxkX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCdmbGFnX2dyZWVuLnBuZycsICR0aGlzLT5sYW5nKCdkaXNhYmxlJykpLCBhcnJheSgncHJvZmlsZV9maWVsZF9pZCcgPT4gJHByb2ZpbGVfZmllbGQtPmdldElkKCksICdtYWN0aW9uJyA9PiAnY2hhbmdlX3N0YXR1cycpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHByb2ZpbGVfZmllbGRzX2FjdGlvbnNbJGtleV1bJ2FjdGl2ZV9pY29uJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9maWxlX2ZpZWxkX29wdGlvbnMnLCAkcmV0dXJuaWQsICR0aGlzLT5nZXRJY29uKCdmbGFnX3JlZC5wbmcnLCAkdGhpcy0+bGFuZygnZW5hYmxlJykpLCBhcnJheSgncHJvZmlsZV9maWVsZF9pZCcgPT4gJHByb2ZpbGVfZmllbGQtPmdldElkKCksICdtYWN0aW9uJyA9PiAnY2hhbmdlX3N0YXR1cycpKTsKICAgIH0KfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb2ZpbGVfZmllbGRzJywgJHByb2ZpbGVfZmllbGRzKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9maWxlX2ZpZWxkc190aXRsZScsICR0aGlzLT5sYW5nKCdwcm9maWxlX2ZpZWxkcycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9maWxlX2ZpZWxkc19hY3Rpb25zJywgJHByb2ZpbGVfZmllbGRzX2FjdGlvbnMpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRfcHJvZmlsZV9maWVsZCcsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Byb2ZpbGVfZmllbGRfbWFuYWdlJywgJHJldHVybmlkLAogICAgJHRoaXMtPmdldEljb24oJ3ZjYXJkX2FkZC5wbmcnLCAkdGhpcy0+bGFuZygnYWRkX3Byb2ZpbGVfZmllbGQnKSkgLiAnICcgLiAkdGhpcy0+bGFuZygnYWRkX3Byb2ZpbGVfZmllbGQnKQopKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvZmlsZV9maWVsZHNfbGlzdCcsICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnByb2ZpbGVfZmllbGRzLnRwbCcpKTsKCgovLyBURU1QTEFURVMKCiRsaXN0X3RlbXBsYXRlcyA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CiR0ZW1wbGF0ZXMgPSBhcnJheSgpOwpmb3JlYWNoICgkbGlzdF90ZW1wbGF0ZXMgYXMgJHRlbXBsYXRlKSB7CiAgICAkcm93ID0gYXJyYXkoCiAgICAgICAgJ3RpdGxlbGluaycgPT4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAndGVtcGxhdGVfZWRpdCcsICRyZXR1cm5pZCwgJHRlbXBsYXRlLCBhcnJheSgndGVtcGxhdGUnID0+ICR0ZW1wbGF0ZSksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0iaXRlbWxpbmsiJyksCiAgICAgICAgJ2RlbGV0ZWxpbmsnID0+ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3RlbXBsYXRlX2RlbGV0ZScsICRyZXR1cm5pZCwgY21zbXMoKS0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdGVtcGxhdGUpLCAkdGhpcy0+bGFuZygnYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlJykpLAogICAgICAgICdlZGl0bGluaycgPT4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAndGVtcGxhdGVfZWRpdCcsICRyZXR1cm5pZCwgY21zbXMoKS0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRlbXBsYXRlLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRlbXBsYXRlKSkKICAgICk7CgogICAgaWYgKCR0aGlzLT5pc0RlZmF1bHRUZW1wbGF0ZSgkdGVtcGxhdGUpICE9PSBmYWxzZSkgewogICAgICAgICRyb3dbJ2RlZmF1bHQnXSA9ICR0aGlzLT5sYW5nKCdkZWZhdWx0IHRlbXBsYXRlIGZvcicsICR0aGlzLT5pc0RlZmF1bHRUZW1wbGF0ZSgkdGVtcGxhdGUpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHJvd1snZGVmYXVsdCddID0gJyc7CiAgICB9CgogICAgJHRlbXBsYXRlc1tdID0gJHJvdzsKfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlcycsICR0ZW1wbGF0ZXMpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZF90ZW1wbGF0ZXNfbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3RlbXBsYXRlX2VkaXQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGQgdGVtcGxhdGUnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZF90ZW1wbGF0ZXNfaWNvbicsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3RlbXBsYXRlX2VkaXQnLCAkcmV0dXJuaWQsIGNtc21zKCktPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZF9pdGVtJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZXNfbGlzdCcsICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnRlbXBsYXRlcy50cGwnKSk7CgovLyBTZXR0aW5ncwoKJGZvcm1fc2V0dGluZ3MgPSBuZXcgQ01TRm9ybSgkdGhpcy0+R2V0TmFtZSgpLCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOyAvLyAuJ3NldHRpbmdzJwokZm9ybV9zZXR0aW5ncy0+c2V0TGFiZWwoJ3N1Ym1pdCcsICR0aGlzLT5sYW5nKCdzYXZlJykpOwoKJGZvcm1fc2V0dGluZ3MtPnNldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdnZW5lcmFsJykpOwokZm9ybV9zZXR0aW5ncy0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ2dlbmVyYWwnKSktPnNldFdpZGdldCgnZGVmYXVsdF9wYWdlJywgJ3BhZ2VzJywgYXJyYXkoJ2RlZmF1bHRfdmFsdWUnID0+IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCktPkdldERlZmF1bHRQYWdlSUQoKSwgJ3ByZWZlcmVuY2UnID0+ICdkZWZhdWx0X3BhZ2UnKSk7CgovLyBQcm9maWxlIG1vZHVsZSBmb3IgdXNlcnMgPwokbW9kdWxlcyA9IENNU1VzZXJzOjpnZXRVc2VyYWJsZU1vZHVsZXMoKTsKaWYgKGNvdW50KCRtb2R1bGVzKSA+IDApIHsKICAgICRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnZ2VuZXJhbCcpKS0+c2V0V2lkZ2V0KCdwcm9maWxlX21vZHVsZScsICdzZWxlY3QnLCBhcnJheSgKICAgICAgICAncHJlZmVyZW5jZScgPT4gJ3Byb2ZpbGVfbW9kdWxlJywKICAgICAgICAndmFsdWVzJyA9PiAkbW9kdWxlcywKICAgICAgICAnaW5jbHVkZV9jdXN0b20nID0+ICR0aGlzLT5sYW5nKCdub25lJykKICAgICkpOwp9CgoKJGZvcm1fc2V0dGluZ3MtPnNldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdlbWFpbCcpKTsKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdlbWFpbCcpKS0+c2V0V2lkZ2V0KCdlbWFpbF9mcm9tJywgJ3RleHQnLCBhcnJheSgncHJlZmVyZW5jZScgPT4gJ2VtYWlsX2Zyb20nKSk7CiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnZW1haWwnKSktPnNldFdpZGdldCgnZW1haWxfYWRkcmVzcycsICd0ZXh0JywgYXJyYXkoJ3ByZWZlcmVuY2UnID0+ICdlbWFpbF9hZGRyZXNzJywgJ3ZhbGlkYXRvcnMnID0+IGFycmF5KCdlbWFpbCcgPT4gdHJ1ZSkpKTsKCi8vIFNpZ24gaW4KJGZvcm1fc2V0dGluZ3MtPnNldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzaWduaW4nKSk7CiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbmluJykpLT5zZXRXaWRnZXQoJ2FsbG93X3NpZ25pbicsICdjaGVja2JveCcsIGFycmF5KCdwcmVmZXJlbmNlJyA9PiAnYWxsb3dfc2lnbmluJykpOwokZm9ybV9zZXR0aW5ncy0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3NpZ25pbicpKS0+c2V0V2lkZ2V0KCdwYXNzd29yZF9yZXNldF9lbWFpbF9zdWJqZWN0JywgJ3RleHQnLCBhcnJheSgncHJlZmVyZW5jZScgPT4gJ3Bhc3N3b3JkX3Jlc2V0X2VtYWlsX3N1YmplY3QnKSk7CiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbmluJykpLT5zZXRXaWRnZXQoJ3NpZ25pbl9yZWRpcmVjdGlvbicsICd0ZXh0JywgYXJyYXkoCiAgICAncHJlZmVyZW5jZScgPT4gJ3NpZ25pbl9yZWRpcmVjdGlvbicsCiAgICAndGlwcycgPT4gJHRoaXMtPmxhbmcoJ3RpcHNfc2lnbmluX3JlZGlyZWN0aW9uJykKKSk7CgovLyBTaWduIHVwCiRmb3JtX3NldHRpbmdzLT5zZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbnVwJykpOwokZm9ybV9zZXR0aW5ncy0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3NpZ251cCcpKS0+c2V0V2lkZ2V0KCdhbGxvd19zaWdudXAnLCAnY2hlY2tib3gnLCBhcnJheSgncHJlZmVyZW5jZScgPT4gJ2FsbG93X3NpZ251cCcpKTsKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzaWdudXAnKSktPnNldFdpZGdldCgnc2lnbnVwX3JlZGlyZWN0aW9uJywgJ3RleHQnLCBhcnJheSgKICAgICdwcmVmZXJlbmNlJyA9PiAnc2lnbnVwX3JlZGlyZWN0aW9uJywKICAgICd0aXBzJyA9PiAkdGhpcy0+bGFuZygndGlwc19zaWdudXBfcmVkaXJlY3Rpb24nKQopKTsKCiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbnVwJykpLT5zZXRXaWRnZXQoJ3NpZ251cF9lbWFpbF91bmlxdWUnLCAnY2hlY2tib3gnLCBhcnJheSgncHJlZmVyZW5jZScgPT4gJ3NpZ251cF9lbWFpbF91bmlxdWUnKSk7CiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbnVwJykpLT5zZXRXaWRnZXQoJ3NpZ251cF9nZW5lcmF0ZV9wYXNzd29yZCcsICdjaGVja2JveCcsIGFycmF5KCdwcmVmZXJlbmNlJyA9PiAnc2lnbnVwX2dlbmVyYXRlX3Bhc3N3b3JkJykpOwokZm9ybV9zZXR0aW5ncy0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3NpZ251cCcpKS0+c2V0V2lkZ2V0KCdzaWdudXBfdXNlX2VtYWlsX2FzX2xvZ2luJywgJ2NoZWNrYm94JywgYXJyYXkoJ3ByZWZlcmVuY2UnID0+ICdzaWdudXBfdXNlX2VtYWlsX2FzX2xvZ2luJykpOwokZm9ybV9zZXR0aW5ncy0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3NpZ251cCcpKS0+c2V0V2lkZ2V0KCdzaWdudXBfYXV0b21hdGljYWxseV9sb2dpbicsICdjaGVja2JveCcsIGFycmF5KCdwcmVmZXJlbmNlJyA9PiAnc2lnbnVwX2F1dG9tYXRpY2FsbHlfbG9naW4nKSk7CgppZiAoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDYXB0Y2hhJykpIHsKICAgICRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbnVwJykpLT5zZXRXaWRnZXQoJ3NpZ251cF91c2VfY2FwdGNoYScsICdjaGVja2JveCcsIGFycmF5KCdwcmVmZXJlbmNlJyA9PiAnc2lnbnVwX3VzZV9jYXB0Y2hhJykpOwp9CiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbnVwJykpLT5zZXRXaWRnZXQoJ3NlbmRfc2lnbnVwX2VtYWlsJywgJ2NoZWNrYm94JywgYXJyYXkoJ3ByZWZlcmVuY2UnID0+ICdzZW5kX3NpZ251cF9lbWFpbCcpKTsKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzaWdudXAnKSktPnNldFdpZGdldCgnc2lnbnVwX2VtYWlsX3N1YmplY3QnLCAndGV4dCcsIGFycmF5KCdwcmVmZXJlbmNlJyA9PiAnc2lnbnVwX2VtYWlsX3N1YmplY3QnKSk7CiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbnVwJykpLT5zZXRXaWRnZXQoJ3NpZ251cF9lbWFpbF91bmlxdWUnLCAnY2hlY2tib3gnLCBhcnJheSgncHJlZmVyZW5jZScgPT4gJ3NpZ251cF9lbWFpbF91bmlxdWUnKSk7CiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbnVwJykpLT5zZXRXaWRnZXQoJ3NpZ251cF92YWxpZGF0aW9uJywgJ3NlbGVjdCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdzaWdudXBfdmFsaWRhdGlvbicsCiAgICAndmFsdWVzJyA9PiBhcnJheSgKICAgICAgICAnbm9uZScgPT4gJHRoaXMtPmxhbmcoJ25vbmUnKSwKICAgICAgICAnYWRtaW4nID0+ICR0aGlzLT5sYW5nKCdieV9hZG1pbicpLAogICAgICAgICdlbWFpbCcgPT4gJHRoaXMtPmxhbmcoJ2J5X2VtYWlsJyksCiAgICApCikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzaWdudXAnKSktPnNldFdpZGdldCgndmFsaWRhdGlvbl9lbWFpbF9zdWJqZWN0JywgJ3RleHQnLCBhcnJheSgncHJlZmVyZW5jZScgPT4gJ3ZhbGlkYXRpb25fZW1haWxfc3ViamVjdCcpKTsKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzaWdudXAnKSktPnNldFdpZGdldCgnZGVmYXVsdF9ncm91cF9mb3Jfc2lnbnVwJywgJ3NlbGVjdCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdkZWZhdWx0X2dyb3VwX2Zvcl9zaWdudXAnLAogICAgJ3ZhbHVlcycgPT4gQ01TR3JvdXA6OmdldEdyb3VwTGlzdCgpCikpOwoKLy8gU2lnbiBvdXQKCiRmb3JtX3NldHRpbmdzLT5zZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2lnbm91dCcpKTsKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzaWdub3V0JykpLT5zZXRXaWRnZXQoJ3NpZ25vdXRfcmVkaXJlY3Rpb24nLCAndGV4dCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdzaWdub3V0X3JlZGlyZWN0aW9uJywKICAgICd0aXBzJyA9PiAkdGhpcy0+bGFuZygndGlwc19zaWdub3V0X3JlZGlyZWN0aW9uJykKKSk7CgokZm9ybV9zZXR0aW5ncy0+c2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3NlY3VyaXR5JykpOwovLyAkZm9ybV9zZXR0aW5ncy0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3NlY3VyaXR5JykpLT5zZXRXaWRnZXQoJ2F1dGhlbnRpY2F0aW9uX3R5cGUnLCAnc2VsZWN0JywgYXJyYXkoCi8vICAgJ3ByZWZlcmVuY2UnID0+ICdhdXRoZW50aWNhdGlvbl90eXBlJywKLy8gKSk7CgokZm9ybV9zZXR0aW5ncy0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3NlY3VyaXR5JykpLT5zZXRXaWRnZXQoJ2h0dHBfYXV0aCcsICdjaGVja2JveCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdodHRwX2F1dGgnCikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzZWN1cml0eScpKS0+c2V0V2lkZ2V0KCdodHBhc3N3b3JkX3BhdGgnLCAndGV4dCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdodHBhc3N3b3JkX3BhdGgnLAogICAgJ3RpcHMnID0+ICR0aGlzLT5sYW5nKCd0aXBzX2h0cGFzc3dvcmRfcGF0aCcpCikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzZWN1cml0eScpKS0+c2V0V2lkZ2V0KCdodHBhc3N3b3JkX3RpdGxlJywgJ3RleHQnLCBhcnJheSgKICAgICdwcmVmZXJlbmNlJyA9PiAnaHRwYXNzd29yZF90aXRsZScsCikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzZWN1cml0eScpKS0+c2V0V2lkZ2V0KCdsZGFwX2F1dGgnLCAnY2hlY2tib3gnLCBhcnJheSgKICAgICdwcmVmZXJlbmNlJyA9PiAnbGRhcF9hdXRoJwopKTsKCiRmb3JtX3NldHRpbmdzLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnc2VjdXJpdHknKSktPnNldFdpZGdldCgnbGRhcF9zZXJ2ZXJfaG9zdCcsICd0ZXh0JywgYXJyYXkoCiAgICAncHJlZmVyZW5jZScgPT4gJ2xkYXBfc2VydmVyX2hvc3QnCikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzZWN1cml0eScpKS0+c2V0V2lkZ2V0KCdsZGFwX3NlcnZlcl9wb3J0JywgJ3RleHQnLCBhcnJheSgKICAgICdwcmVmZXJlbmNlJyA9PiAnbGRhcF9zZXJ2ZXJfcG9ydCcsCiAgICAnZGVmYXVsdF92YWx1ZScgPT4gMzg5CikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzZWN1cml0eScpKS0+c2V0V2lkZ2V0KCdsZGFwX2Jhc2VfZG4nLCAndGV4dCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdsZGFwX2Jhc2VfZG4nCikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzZWN1cml0eScpKS0+c2V0V2lkZ2V0KCdsZGFwX2JpbmRfZG4nLCAndGV4dCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdsZGFwX2JpbmRfZG4nCikpOwoKJGZvcm1fc2V0dGluZ3MtPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdzZWN1cml0eScpKS0+c2V0V2lkZ2V0KCdsZGFwX2JpbmRfcGFzc3dvcmQnLCAndGV4dCcsIGFycmF5KAogICAgJ3ByZWZlcmVuY2UnID0+ICdsZGFwX2JpbmRfcGFzc3dvcmQnCikpOwoKaWYgKCRmb3JtX3NldHRpbmdzLT5pc1NlbnQoKSkgewogICAgJGZvcm1fc2V0dGluZ3MtPnByb2Nlc3MoKTsKICAgIGlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnaHR0cF9hdXRoJywgZmFsc2UpKSB7CiAgICAgICAgLy8gZWNobyAiLS0gU1dJVENIIE9OIC0tIjsKICAgICAgICAvLyBTZXQgb24gdGhlIGh0dHBhdXRoCiAgICAgICAgaWYgKENNU1VzZXI6OmdlbmVyYXRlSHRQYXNzd2QoKSkgewogICAgICAgICAgICAkdGhpcy0+c3dpdGNoSHR0cEF1dGgodHJ1ZSk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICAvLyBlY2hvICItLSBTV0lUQ0ggT0ZGIC0tIjsKICAgICAgICAkdGhpcy0+c3dpdGNoSHR0cEF1dGgoZmFsc2UpOwogICAgfQoKICAgIHJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgndGFiJyA9PiAnc2V0dGluZ3MnKSk7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybV9zZXR0aW5ncycsICRmb3JtX3NldHRpbmdzKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzZXR0aW5ncycsICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnNldHRpbmdzLnRwbCcpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW4uZGVmYXVsdC50cGwnKTsgLy8KLy8gZWNobyAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10gLiAiXG5cbiI7Ci8vIHZhcl9kdW1wKGdldF9icm93c2VyKG51bGwsdHJ1ZSkpOwovLyB2YXJfZHVtcChnZXRfYnJvd3NlcigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sdHJ1ZSkpOwoKCnJldHVybjs=]]></data>
	</file>
	<file>
	  <filename>/action.group_manage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2dyb3VwX2lkJ10pICYmICRwYXJhbXNbJ2dyb3VwX2lkJ10gIT0gJycpCnsKCSRncm91cCA9IENNU0dyb3VwOjpyZXRyaWV2ZUJ5UGsoJHBhcmFtc1snZ3JvdXBfaWQnXSk7Cn0KCmlmICgoIWlzc2V0KCRncm91cCkpIHx8IGlzX251bGwoJGdyb3VwKSkKewoJJGdyb3VwID0gbmV3IENNU0dyb3VwKCk7Cn0KCiRmb3JtID0gbmV3IENNU0Zvcm0oJHRoaXMtPkdldE5hbWUoKSwgJGlkLCAnZ3JvdXBfbWFuYWdlJywkcmV0dXJuaWQpOwokZm9ybS0+c2V0QnV0dG9ucyhhcnJheSgnc3VibWl0JywnYXBwbHknLCdjYW5jZWwnKSk7CgokZm9ybS0+c2V0V2lkZ2V0KCdncm91cF9pZCcsICdoaWRkZW4nLCBhcnJheSgnb2JqZWN0JyA9PiAmJGdyb3VwLCAnZmllbGRfbmFtZScgPT4gJ2lkJywgJ2dldF9tZXRob2QnID0+ICdnZXRJZCcpKTsKJGZvcm0tPnNldFdpZGdldCgnbmFtZScsICd0ZXh0JywgYXJyYXkoJ29iamVjdCcgPT4gJiRncm91cCwgJ3ZhbGlkYXRvcnMnID0+IGFycmF5KCdub3RfZW1wdHknID0+IHRydWUpKSk7CiRmb3JtLT5zZXRXaWRnZXQoJ3R5cGUnLCAnc2VsZWN0JywgYXJyYXkoJ29iamVjdCcgPT4gJiRncm91cCwgJ3ZhbHVlcycgPT4gYXJyYXkoCgkncHJpdmF0ZScgPT4gJ3ByaXZhdGUnLAoJJ3B1YmxpYycgPT4gJ3B1YmxpYycsCgknY2xvc2VkJyA9PiAnY2xvc2VkJywKCSkpKTsKJGZvcm0tPnNldFdpZGdldCgnaXNfYWN0aXZlJywgJ2NoZWNrYm94JywgYXJyYXkoJ29iamVjdCcgPT4gJiRncm91cCkpOwoKJGZvcm0tPnNldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCd1c2VycycpKTsKJGZvcm0tPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCd1c2VycycpKS0+c2V0V2lkZ2V0KCd1c2VycycsJ3NlbGVjdCcsIGFycmF5KCd2YWx1ZXMnID0+IENNU1VzZXI6OmdldFVzZXJMaXN0KCksICdzaXplJyA9PiAxMCwgJ211bHRpcGxlJyA9PiB0cnVlLCAnZXhwYW5kZWQnID0+IHRydWUpKTsKCiRmb3JtLT5zZXRGaWVsZHNldCgkdGhpcy0+bGFuZygncGVybWlzc2lvbnMnKSk7CiRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygncGVybWlzc2lvbnMnKSktPnNldFdpZGdldCgncGVybWlzc2lvbnMnLCdzZWxlY3QnLCBhcnJheSgndmFsdWVzJyA9PiBDTVNQZXJtaXNzaW9uOjpnZXRQZXJtaXNzaW9uTGlzdCgpLCAnc2l6ZScgPT4gMTAsICdtdWx0aXBsZScgPT4gdHJ1ZSwgJ2V4cGFuZGVkJyA9PiB0cnVlKSk7CgoKCgoKaWYgKCRmb3JtLT5pc0NhbmNlbGxlZCgpKQp7CglyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoJ3RhYicgPT4gJ2dyb3VwcycpKTsKfQoKaWYgKCRmb3JtLT5pc1Bvc3RlZCgpKQp7CgkkZm9ybS0+cHJvY2VzcygpOwoJCglpZighJGZvcm0tPmhhc0Vycm9ycygpKQoJewoJCSRncm91cC0+c2F2ZSgpOwoJCQoJCS8vIEdyb3VwcyB0byB1c2VyIHJlbGF0aW9ucwoJCUNNU1VzZXJHcm91cDo6c2V0R3JvdXBVc2VycygkZ3JvdXAtPmdldElkKCksICRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygndXNlcnMnKSktPmdldFdpZGdldCgndXNlcnMnKS0+Z2V0VmFsdWVzKCkpOwoJCQoJCS8vIEdyb3VwcyB0byB1c2VyIHJlbGF0aW9ucwoJCUNNU0dyb3VwUGVybWlzc2lvbjo6c2V0R3JvdXBQZXJtaXNzaW9ucygkZ3JvdXAtPmdldElkKCksICRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygncGVybWlzc2lvbnMnKSktPmdldFdpZGdldCgncGVybWlzc2lvbnMnKS0+Z2V0VmFsdWVzKCkpOwoJCQoJCWlmKCRmb3JtLT5pc1N1Ym1pdHRlZCgpKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLGFycmF5KCd0YWInID0+ICdncm91cHMnKSk7CgkJfQoJfQp9CgovLyBVc2VyZ3JvdXBzIHZhbHVlcwppZiAoJGdyb3VwLT5nZXRJZCgpICE9IG51bGwpCnsKCSRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygndXNlcnMnKSktPmdldFdpZGdldCgndXNlcnMnKS0+c2V0VmFsdWVzKENNU1VzZXJHcm91cDo6Z2V0VXNlcnNMaXN0KCRncm91cC0+Z2V0SWQoKSwgdHJ1ZSkpOwoJJGZvcm0tPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdwZXJtaXNzaW9ucycpKS0+Z2V0V2lkZ2V0KCdwZXJtaXNzaW9ucycpLT5zZXRWYWx1ZXMoQ01TR3JvdXBQZXJtaXNzaW9uOjpnZXRQZXJtaXNzaW9uc0xpc3QoJGdyb3VwLT5nZXRJZCgpLCB0cnVlKSk7Cn0KCgoKJHNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJGZvcm0pOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLmdyb3VwX21hbmFnZS50cGwnKTsKcmV0dXJuOwo=]]></data>
	</file>
	<file>
	  <filename>/action.group_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfSAKCmlmKGlzc2V0KCRwYXJhbXNbJ2dyb3VwX2lkJ10pKQp7CgkkZ3JvdXAgPSBDTVNHcm91cDo6cmV0cmlldmVCeVBrKCRwYXJhbXNbJ2dyb3VwX2lkJ10pOwoJCglpZiAoJGdyb3VwKQoJewoJCXN3aXRjaCgkcGFyYW1zWydtYWN0aW9uJ10pCgkJewoJCQljYXNlICdjaGFuZ2Vfc3RhdHVzJzoKCQkJCSRncm91cC0+aXNfYWN0aXZlID0gKCRncm91cC0+aXNfYWN0aXZlID09IDApPzE6MDsKCQkJCSRncm91cC0+c2F2ZSgpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ2RlbGV0ZSc6CgkJCQkkZ3JvdXAtPmRlbGV0ZSgpOwoJCQkJYnJlYWs7CgkJfQoJfQp9CgpyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsIGFycmF5KCd0YWInID0+ICdncm91cHMnKSk7]]></data>
	</file>
	<file>
	  <filename>/action.link_to.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmVjaG8gJHRoaXMtPm1rTGluaygkaWQsJHJldHVybmlkLCRwYXJhbXMpOwpyZXR1cm47Cg==]]></data>
	</file>
	<file>
	  <filename>/action.list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgovKgoJVmlldyBhbGwgdXNlcnMKKi8KCiRxdWVyeSA9IGFycmF5KCk7CgppZiAoIWlzc2V0KCRwYXJhbXNbJ3Nob3dfYWxsX3VzZXJzJ10pKQp7CgkkcXVlcnlbJ3doZXJlJ11bJ2lzX2FjdGl2ZSddID0gMTsKCSRxdWVyeVsnd2hlcmUnXVsnaXNfZGlzYWJsZWQnXSA9IDA7Cn0KCiR1c2VycyA9IENNU1VzZXI6OmRvU2VsZWN0KCRxdWVyeSk7CgovLyBKU09OCmlmKGlzc2V0KCRfUkVRVUVTVFsnanNvbiddKSkKewkKCSRqc29uID0gYXJyYXkoKTsKCWZvcmVhY2goJHVzZXJzIGFzICR1c2VyKQoJewoJCSRqc29uW10gPSAkdXNlci0+Z2V0QXNBcnJheSgpOwoJfQoJCgkkY2FsbGJhY2sgPSAkX1JFUVVFU1RbJ2NhbGxiYWNrJ107CglpZiAoJGNhbGxiYWNrKSB7CgkJaGVhZGVyKCdDb250ZW50LXR5cGU6IHRleHQvamF2YXNjcmlwdCcpOwoJICBlY2hvICRjYWxsYmFjayAuICcoJyAuIHV0ZjhfZW5jb2RlKGpzb25fZW5jb2RlKCRqc29uKSkgLiAnKTsnOwoJfSBlbHNlIHsJCQoJCWhlYWRlcignQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LWpzb24nKTsKCQllY2hvIHV0ZjhfZW5jb2RlKGpzb25fZW5jb2RlKCRqc29uKSk7Cgl9CglleGl0OwoJZGllKCk7Cn0KCgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZXJzJywgJHVzZXJzKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCd1c2VyX2xpc3Rfc3VjY2VzcycsICRwYXJhbXMpOw==]]></data>
	</file>
	<file>
	  <filename>/action.password_change.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgppZiAoJHVzZXIgPSBDTVNVc2Vyczo6Z2V0VXNlcigpKQp7CgkkZm9ybSA9IG5ldyBDTVNGb3JtKCR0aGlzLT5HZXROYW1lKCksICRpZCwgJ3Bhc3N3b3JkX2NoYW5nZScsJHJldHVybmlkKTsKCSRmb3JtLT5zZXRCdXR0b25zKGFycmF5KCdzdWJtaXQnKSk7CgkkZm9ybS0+c2V0TGFiZWwoJ3N1Ym1pdCcsICR0aGlzLT5sYW5nKCdjaGFuZ2UgcGFzc3dvcmQnKSk7CgoJJGZvcm0tPnNldFdpZGdldCgncmVkaXJlY3QnLCAnaGlkZGVuJyk7CgkkZm9ybS0+c2V0V2lkZ2V0KCdjdXJyZW50X3Bhc3N3b3JkJywgJ3Bhc3N3b3JkJywgYXJyYXkoJ3ZhbGlkYXRvcnMnID0+IGFycmF5KCdub3RfZW1wdHknID0+IHRydWUpKSk7CgkkZm9ybS0+c2V0V2lkZ2V0KCduZXdfcGFzc3dvcmQnLCAncGFzc3dvcmQnLCBhcnJheSgndmFsaWRhdG9ycycgPT4gYXJyYXkoJ25vdF9lbXB0eScgPT4gdHJ1ZSkpKTsKCSRmb3JtLT5zZXRXaWRnZXQoJ2NvbmZpcm1fcGFzc3dvcmQnLCAncGFzc3dvcmQnLGFycmF5KCd2YWxpZGF0b3JzJyA9PiBhcnJheSgnZXF1YWxfZmllbGQnID0+ICduZXdfcGFzc3dvcmQnKSkpOwoKCWlmKCRmb3JtLT5pc1Bvc3RlZCgpKQoJewoJCSRmb3JtLT5wcm9jZXNzKCk7CgkJaWYoJHVzZXItPmNoZWNrUGFzc3dvcmQoJGZvcm0tPmdldFdpZGdldCgnY3VycmVudF9wYXNzd29yZCcpLT5nZXRWYWx1ZSgpKSA9PT0gZmFsc2UpCgkJewoJCQkkZm9ybS0+Z2V0V2lkZ2V0KCdjdXJyZW50X3Bhc3N3b3JkJyktPnNldEVycm9yKCR0aGlzLT5sYW5nKCd3cm9uZyBwYXNzd29yZCcpLCdmb3JtIGVycm9yJyk7CgkJfQoJCQoJCWlmICghJGZvcm0tPmhhc0Vycm9ycygpKQoJCXsKCQkJJHVzZXItPnNldFBhc3N3b3JkKCRmb3JtLT5nZXRXaWRnZXQoJ25ld19wYXNzd29yZCcpLT5nZXRWYWx1ZSgpKTsKCQkJJHVzZXItPnNhdmUoKTsKCQkJCgkJCWlmICghJGZvcm0tPmdldFdpZGdldCgncmVkaXJlY3QnKS0+aXNFbXB0eSgpKQoJCQl7CgkJCQlyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwkZm9ybS0+Z2V0V2lkZ2V0KCdyZWRpcmVjdCcpLT5nZXRWYWx1ZSgpLCRyZXR1cm5pZCk7CgkJCX0KCQkJCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VjY2Vzc19tZXNzYWdlJywgJHRoaXMtPmxhbmcoJ3Bhc3N3b3JkIGNoYW5nZWQgc3VjY2Vzc2Z1bGx5JykpOwoJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ3Bhc3N3b3JkX2NoYW5nZV9zdWNjZXNzJywgJHBhcmFtcyk7CgkJCXJldHVybjsKCQl9Cgl9CgogICR0aGlzLT5zbWFydHktPmFzc2lnbignY2hhbmdlX3Bhc3N3b3JkJywgJHRoaXMtPmxhbmcoJ2NoYW5nZSBwYXNzd29yZCcpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZvcigncGFzc3dvcmRfY2hhbmdlX2Zvcm0nLCAkcGFyYW1zKTsKCXJldHVybjsKfQplbHNlCnsKCXJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCdzaWduaW4nLCRyZXR1cm5pZCwgYXJyYXkoJ3JlZGlyZWN0JyA9PiAncGFzc3dvcmRfY2hhbmdlJykpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.password_forgot.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPmxhbmcoJ3Bhc3N3b3JkX2ZvcmdvdCcpKTsKCiRmb3JtID0gbmV3IENNU0Zvcm0oJHRoaXMtPkdldE5hbWUoKSwgJGlkLCAncGFzc3dvcmRfZm9yZ290JywgJHJldHVybmlkKTsKJGZvcm0tPnNldEJ1dHRvbnMoYXJyYXkoJ3N1Ym1pdCcpKTsKJGZvcm0tPnNldFdpZGdldCgnZW1haWwnLCAndGV4dCcsIGFycmF5KCd2YWxpZGF0b3JzJyA9PiBhcnJheSgnZW1haWwnID0+IHRydWUsJ25vdF9lbXB0eScgPT4gdHJ1ZSksICd0aXBzJyA9PiAkdGhpcy0+bGFuZygnZW50ZXIgcmVnaXN0ZXJlZCBlbWFpbCcpKSk7CgppZigkZm9ybS0+aXNQb3N0ZWQoKSkKewoJaWYgKCEkZm9ybS0+aGFzRXJyb3JzKCkpCgl7CgkJJHVzZXJzID0gQ01TVXNlcjo6cmV0cmlldmVCeUVtYWlsKCRmb3JtLT5nZXRXaWRnZXQoJ2VtYWlsJyktPmdldFZhbHVlKCkpOwoJCWlmKCFlbXB0eSgkdXNlcnMpKQoJCXsKCQkJZm9yZWFjaCgkdXNlcnMgYXMgJHVzZXIpCgkJCXsKCQkJCQkkdGhpcy0+c2VuZEVtYWlsKCdwYXNzd29yZF9yZXNldCcsICYkdXNlciwkaWQsJHJldHVybmlkKTsKCQkJfQoJCX0KCX0KfQoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCdwYXNzd29yZF9mb3Jnb3RfZm9ybScsICRwYXJhbXMpOwk=]]></data>
	</file>
	<file>
	  <filename>/action.password_reset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgppZiAoaXNzZXQoJHBhcmFtc1sndXNlcl9pZCddKSAmJiBpc3NldCgkcGFyYW1zWyd0b2tlbiddKSkKewoJJHVzZXIgPSBDTVNVc2VyOjpkb1NlbGVjdE9uZShhcnJheSgKCQknd2hlcmUnID0+IGFycmF5KAoJCQknaWQnID0+ICRwYXJhbXNbJ3VzZXJfaWQnXSwKCQkJJ3Rva2VuJyA9PiAkcGFyYW1zWyd0b2tlbiddCgkJCSkKCQkpKTsKCQkJCglpZihpc19vYmplY3QoJHVzZXIpKQoJewoJCSRmb3JtID0gbmV3IENNU0Zvcm0oJHRoaXMtPkdldE5hbWUoKSwgJGlkLCAncGFzc3dvcmRfcmVzZXQnLCRyZXR1cm5pZCk7CgkJJGZvcm0tPnNldEJ1dHRvbnMoYXJyYXkoJ3N1Ym1pdCcpKTsKCQkkZm9ybS0+c2V0TGFiZWwoJ3N1Ym1pdCcsJHRoaXMtPmxhbmcoJ2NoYW5nZSBwYXNzd29yZCcpKTsKCQkkZm9ybS0+c2V0V2lkZ2V0KCd1c2VyX2lkJywnaGlkZGVuJyk7CgkJJGZvcm0tPnNldFdpZGdldCgndG9rZW4nLCdoaWRkZW4nKTsKCQkkZm9ybS0+c2V0V2lkZ2V0KCduZXdfcGFzc3dvcmQnLCAncGFzc3dvcmQnLCBhcnJheSgndmFsaWRhdG9ycycgPT4gYXJyYXkoJ25vdF9lbXB0eScgPT4gdHJ1ZSkpKTsKCQkkZm9ybS0+c2V0V2lkZ2V0KCdjb25maXJtX3Bhc3N3b3JkJywgJ3Bhc3N3b3JkJyxhcnJheSgndmFsaWRhdG9ycycgPT4gYXJyYXkoJ2VxdWFsX2ZpZWxkJyA9PiAnbmV3X3Bhc3N3b3JkJykpKTsKCQkKCQkKCQlpZiAoJGZvcm0tPmlzUG9zdGVkKCkpCgkJewoJCQkkZm9ybS0+cHJvY2VzcygpOwoJCQkKCQkJaWYgKCEkZm9ybS0+aGFzRXJyb3JzKCkpCgkJCXsKCQkJCQkkdXNlci0+c2V0UGFzc3dvcmQoJGZvcm0tPmdldFdpZGdldCgnbmV3X3Bhc3N3b3JkJyktPmdldFZhbHVlKCkpOwoJCQkJCSR1c2VyLT5nZW5lcmF0ZVRva2VuKCk7IC8vIFdlIHJlZ2VuZXJhdGUgYSBuZXcgdG9rZW4gdG8gYXZvaWQgcmV1c2Ugb2YgaXQuCgkJCQkJJHVzZXItPnNhdmUoKTsKCQkJCQkKCQkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Y2Nlc3NfbWVzc2FnZScsICR0aGlzLT5sYW5nKCdwYXNzd29yZCBjaGFuZ2VkIHN1Y2Nlc3NmdWxseScpKTsKCQkJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ3Bhc3N3b3JkX2NoYW5nZV9zdWNjZXNzJywgJHBhcmFtcyk7CgkJCQkJcmV0dXJuOwoJCQl9CgkJfQoJCQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCAkdGhpcy0+bGFuZygncGFzc3dvcmQgcmVzZXQgZm9yJywgJHVzZXItPnVzZXJuYW1lKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtJywkZm9ybSk7CgkJCgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCdwYXNzd29yZF9yZXNldF9mb3JtJywgJHBhcmFtcyk7CQoJCXJldHVybjsKCX0JCn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICR0aGlzLT5sYW5nKCdpbnZhbGlkIHRva2VuIG9yIHVzZXIgdW5rbm93bicpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCdwYXNzd29yZF9yZXNldF9lcnJvcicpOwpyZXR1cm47Cg==]]></data>
	</file>
	<file>
	  <filename>/action.permission_manage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgZ3JvdXBzIHdpdGggcGVybWlzc2lvbgp7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCWV4aXQ7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydwZXJtaXNzaW9uX2lkJ10pICYmICRwYXJhbXNbJ3Blcm1pc3Npb25faWQnXSAhPSAnJykKewoJJHBlcm1pc3Npb24gPSBDTVNQZXJtaXNzaW9uOjpyZXRyaWV2ZUJ5UGsoJHBhcmFtc1sncGVybWlzc2lvbl9pZCddKTsKfQoKaWYgKCghaXNzZXQoJHBlcm1pc3Npb24pKSB8fCBpc19udWxsKCRwZXJtaXNzaW9uKSkKewoJJHBlcm1pc3Npb24gPSBuZXcgQ01TUGVybWlzc2lvbigpOwp9CgokZm9ybSA9IG5ldyBDTVNGb3JtKCR0aGlzLT5HZXROYW1lKCksICRpZCwgJ3Blcm1pc3Npb25fbWFuYWdlJywkcmV0dXJuaWQpOwokZm9ybS0+c2V0QnV0dG9ucyhhcnJheSgnc3VibWl0JywnYXBwbHknLCdjYW5jZWwnKSk7CgokZm9ybS0+c2V0V2lkZ2V0KCdwZXJtaXNzaW9uX2lkJywgJ2hpZGRlbicsIGFycmF5KCdvYmplY3QnID0+ICYkcGVybWlzc2lvbiwgJ2ZpZWxkX25hbWUnID0+ICdpZCcsICdnZXRfbWV0aG9kJyA9PiAnZ2V0SWQnKSk7CiRmb3JtLT5zZXRXaWRnZXQoJ25hbWUnLCAndGV4dCcsIGFycmF5KCdvYmplY3QnID0+ICYkcGVybWlzc2lvbiwgJ3ZhbGlkYXRvcnMnID0+IGFycmF5KCdub3RfZW1wdHknID0+IHRydWUpKSk7CiRmb3JtLT5zZXRXaWRnZXQoJ2lzX2FjdGl2ZScsICdjaGVja2JveCcsIGFycmF5KCdvYmplY3QnID0+ICYkcGVybWlzc2lvbikpOwoKJGZvcm0tPnNldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdncm91cHMnKSk7CiRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnZ3JvdXBzJykpLT5zZXRXaWRnZXQoJ2dyb3VwcycsJ3NlbGVjdCcsIGFycmF5KCd2YWx1ZXMnID0+IENNU0dyb3VwOjpnZXRHcm91cExpc3QoKSwgJ3NpemUnID0+IDEwLCAnbXVsdGlwbGUnID0+IHRydWUsJ2V4cGFuZGVkJyA9PiB0cnVlKSk7CgoKaWYgKCRmb3JtLT5pc0NhbmNlbGxlZCgpKQp7CglyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoJ3RhYicgPT4gJ3Blcm1pc3Npb25zJykpOwp9CgppZiAoJGZvcm0tPmlzUG9zdGVkKCkpCnsKCSRmb3JtLT5wcm9jZXNzKCk7CgkKCWlmKCEkZm9ybS0+aGFzRXJyb3JzKCkpCgl7CgkJJHBlcm1pc3Npb24tPnNhdmUoKTsKCQkKCQkvLyBQZXJtaXNzaW9ucyB0byBncm91cCByZWxhdGlvbnMKCQlDTVNHcm91cFBlcm1pc3Npb246OnNldFBlcm1pc3Npb25Hcm91cHMoJHBlcm1pc3Npb24tPmdldElkKCksICRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnZ3JvdXBzJykpLT5nZXRXaWRnZXQoJ2dyb3VwcycpLT5nZXRWYWx1ZXMoKSk7CgkKCQkKCQlpZigkZm9ybS0+aXNTdWJtaXR0ZWQoKSkKCQl7CgkJCXJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCxhcnJheSgndGFiJyA9PiAncGVybWlzc2lvbnMnKSk7CgkJfQoJfQp9CgovLyBHcm91cHBlcm1pc3Npb25zIHZhbHVlcwppZiAoJHBlcm1pc3Npb24tPmdldElkKCkgIT0gbnVsbCkKewoJJGZvcm0tPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdncm91cHMnKSktPmdldFdpZGdldCgnZ3JvdXBzJyktPnNldFZhbHVlcyhDTVNHcm91cFBlcm1pc3Npb246OmdldEdyb3Vwc0xpc3QoJHBlcm1pc3Npb24tPmdldElkKCksIHRydWUpKTsKfQoKCgokc21hcnR5LT5hc3NpZ24oJ2Zvcm0nLCAkZm9ybSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW4ucGVybWlzc2lvbl9tYW5hZ2UudHBsJyk7CnJldHVybjsK]]></data>
	</file>
	<file>
	  <filename>/action.permission_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfSAKCmlmKGlzc2V0KCRwYXJhbXNbJ3Blcm1pc3Npb25faWQnXSkpCnsKCSRwZXJtaXNzaW9uID0gQ01TUGVybWlzc2lvbjo6cmV0cmlldmVCeVBrKCRwYXJhbXNbJ3Blcm1pc3Npb25faWQnXSk7CgkKCWlmICgkcGVybWlzc2lvbikKCXsKCQlzd2l0Y2goJHBhcmFtc1snbWFjdGlvbiddKQoJCXsKCQkJY2FzZSAnY2hhbmdlX3N0YXR1cyc6CgkJCQkkcGVybWlzc2lvbi0+aXNfYWN0aXZlID0gKCRwZXJtaXNzaW9uLT5pc19hY3RpdmUgPT0gMCk/MTowOwoJCQkJJHBlcm1pc3Npb24tPnNhdmUoKTsKCQkJCWJyZWFrOwoJCQljYXNlICdkZWxldGUnOgoJCQkJJHBlcm1pc3Npb24tPmRlbGV0ZSgpOwoJCQkJYnJlYWs7CgkJfQoJfQp9CgpyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsIGFycmF5KCd0YWInID0+ICdwZXJtaXNzaW9ucycpKTs=]]></data>
	</file>
	<file>
	  <filename>/action.profile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgoJaWYgKCR1c2VyID0gQ01TVXNlcnM6OmdldFVzZXIoKSkKCXsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ0NNU1VzZXInLCAkdXNlcik7CQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb2ZpbGUnLCAkdXNlci0+Z2V0UHJvZmlsZSgpKTsJCQoJCQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZvcigncHJvZmlsZV9zdWNjZXNzJywgJHBhcmFtcyk7Cgl9CgllbHNlCgl7CgkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ3NpZ25pbicsJHJldHVybmlkLCBhcnJheSgncmVkaXJlY3QnID0+ICdwcm9maWxlJykpOwoJfQoKZWNobyBzaXRlVVJMKCk7CgovL3ZhUl9kdW1wKCRfU0VSVkVSKTs=]]></data>
	</file>
	<file>
	  <filename>/action.profile_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgppZiAoJHVzZXIgPSBDTVNVc2Vyczo6Z2V0VXNlcigpKQp7CgkkZm9ybSA9IG5ldyBDTVNGb3JtKCR0aGlzLT5HZXROYW1lKCksICRpZCwgJ3Byb2ZpbGVfZWRpdCcsJHJldHVybmlkKTsKCSRmb3JtLT5zZXRCdXR0b25zKGFycmF5KCdzdWJtaXQnKSk7CgkkZm9ybS0+c2V0TGFiZWwoJ3N1Ym1pdCcsICR0aGlzLT5sYW5nKCdzYXZlJykpOwoJJGZvcm0tPnNldFdpZGdldCgncmVkaXJlY3QnLCAnaGlkZGVuJyk7CgkkZm9ybS0+c2V0V2lkZ2V0KCdlbWFpbCcsICd0ZXh0JywgYXJyYXkoJ29iamVjdCcgPT4gJiR1c2VyLCAndmFsaWRhdG9ycycgPT4gYXJyYXkoJ2VtYWlsJyA9PiB0cnVlKSkpOwoJCgkkcHJvZmlsZSA9ICR1c2VyLT5nZXRQcm9maWxlKCk7CgkkZmllbGRzID0gJHByb2ZpbGUtPmdldFVzZXJQcm9maWxlRmllbGRzKCk7CgkKCWZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKQoJewoJCSRvcHRpb25zID0gYXJyYXlfbWVyZ2UoCgkJCWFycmF5KCdsYWJlbCcgPT4gJGZpZWxkLT5uYW1lLCAndGlwcycgPT4gJGZpZWxkLT50aXBzLCAnb2JqZWN0JyA9PiAkcHJvZmlsZSksCgkJCSRmaWVsZC0+Z2V0T3B0aW9uc1RvQXJyYXkoKQoJCQkpOwoKCQkvL1RPRE86IFRyZWF0aCB0aGUgZmllbGQgb3B0aW9uCgkJJGZvcm0tPnNldFdpZGdldCgkZmllbGQtPmZuYW1lLCAkZmllbGQtPnR5cGUsICRvcHRpb25zKTsKCX0KCQoJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2ZpbGVfbW9kdWxlJykgIT0gJycpCiAgeyAgCiAgICAkY2xhc3NfbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9maWxlX21vZHVsZScpOwogICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkY2xhc3NfbmFtZSk7CiAgICAkb2JqZWN0X25hbWUgPSAkY2xhc3NfbmFtZS4nT2JqZWN0JzsKICAgICR2aWV3c19uYW1lID0gJGNsYXNzX25hbWUuJ1ZpZXdzJzsKCiAgICAkYyA9IG5ldyBNQ0ZDcml0ZXJpYSgpOwogICAgJGMtPmFkZCgndXNlcl9pZCcsICR1c2VyLT5nZXRJZCgpKTsKICAgICRwcm9maWxlX21vZHVsZSA9ICRvYmplY3RfbmFtZTo6ZG9TZWxlY3RPbmUoJGMpOwoKICAgICRmb3JtLT5zZXRXaWRnZXQoJ3RpdGxlJywgJ3RleHQnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHByb2ZpbGVfbW9kdWxlLCAnc2l6ZScgPT4gNTAsICdsYWJlbCcgPT4gJG1vZHVsZS0+Z2V0VGl0bGVMYWJlbCgpKSk7CiAgICBjYWxsX3VzZXJfZnVuYyhhcnJheSgkdmlld3NfbmFtZSwgJ2NyZWF0ZUZvcm0nKSwgJG1vZHVsZSwgJiRmb3JtLCAmJHByb2ZpbGVfbW9kdWxlLCBhcnJheSgnZnJvbnRlbmQnID0+IHRydWUpKTsKICB9CgkKLy8JJGZvcm0tPnNldFdpZGdldCgnY3VycmVudF9wYXNzd29yZCcsICdwYXNzd29yZCcsIGFycmF5KCd2YWxpZGF0b3JzJyA9PiBhcnJheSgnbm90X2VtcHR5JyA9PiB0cnVlKSkpOwovLwkkZm9ybS0+c2V0V2lkZ2V0KCduZXdfcGFzc3dvcmQnLCAncGFzc3dvcmQnLCBhcnJheSgndmFsaWRhdG9ycycgPT4gYXJyYXkoJ25vdF9lbXB0eScgPT4gdHJ1ZSkpKTsKLy8JJGZvcm0tPnNldFdpZGdldCgnY29uZmlybV9wYXNzd29yZCcsICdwYXNzd29yZCcsYXJyYXkoJ3ZhbGlkYXRvcnMnID0+IGFycmF5KCdlcXVhbF9maWVsZCcgPT4gJ25ld19wYXNzd29yZCcpKSk7CgoJaWYoJGZvcm0tPmlzUG9zdGVkKCkpCgl7CgkJJGZvcm0tPnByb2Nlc3MoKTsKCQkJCQoJCWlmICghJGZvcm0tPmhhc0Vycm9ycygpKQoJCXsKCQkJLy8kdXNlci0+c2V0UGFzc3dvcmQoJGZvcm0tPmdldFdpZGdldCgnbmV3X3Bhc3N3b3JkJyktPmdldFZhbHVlKCkpOwoJCQkkdXNlci0+c2F2ZSgpOwoJCQkKCQkJaWYgKCR1c2VyLT5nZXRJZCgpICE9ICcnKQoJCQl7CgkJCQkkcHJvZmlsZS0+dXNlcl9pZCA9ICR1c2VyLT5nZXRJZCgpOwoJCQkJJHByb2ZpbGUtPnNhdmUoKTsJCgkJCQkKCQkJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9maWxlX21vZHVsZScpICE9ICcnKQogICAgICAgIHsgIAogICAgICAgICAgJHByb2ZpbGVfbW9kdWxlLT5zYXZlKCk7CiAgICAgICAgfQoJCQl9CgkJCQoJCQlpZiAoISRmb3JtLT5nZXRXaWRnZXQoJ3JlZGlyZWN0JyktPmlzRW1wdHkoKSkKCQkJewoJCQkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJGZvcm0tPmdldFdpZGdldCgncmVkaXJlY3QnKS0+Z2V0VmFsdWUoKSwkcmV0dXJuaWQpOwoJCQl9CgkJCQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Y2Nlc3NfbWVzc2FnZScsICR0aGlzLT5sYW5nKCdwcm9maWxlIHN1Y2Nlc3NmdWxseSBlZGl0ZWQnKSk7CgkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZvcigncHJvZmlsZV9lZGl0X3N1Y2Nlc3MnLCAkcGFyYW1zKTsKCQkJcmV0dXJuOwoJCX0KCX0KCiAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR0aGlzLT5sYW5nKCdlZGl0IHByb2ZpbGUgZm9yJywgJHVzZXItPnVzZXJuYW1lKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Zvcm0nLCAkZm9ybSk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ3Byb2ZpbGVfZWRpdF9mb3JtJywgJHBhcmFtcyk7CglyZXR1cm47Cn0KZWxzZQp7CglyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnc2lnbmluJywkcmV0dXJuaWQsIGFycmF5KCdyZWRpcmVjdCcgPT4gJ3Byb2ZpbGVfZWRpdCcpKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.profile_field_manage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBncm91cAp7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCWV4aXQ7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydwcm9maWxlX2ZpZWxkX2lkJ10pICYmICRwYXJhbXNbJ3Byb2ZpbGVfZmllbGRfaWQnXSAhPSAnJykKewoJJHByb2ZpbGVfZmllbGQgPSBDTVNQcm9maWxlRmllbGQ6OnJldHJpZXZlQnlQaygkcGFyYW1zWydwcm9maWxlX2ZpZWxkX2lkJ10pOwp9CgppZiAoKCFpc3NldCgkcHJvZmlsZV9maWVsZCkpIHx8IGlzX251bGwoJHByb2ZpbGVfZmllbGQpKQp7CgkkcHJvZmlsZV9maWVsZCA9IG5ldyBDTVNQcm9maWxlRmllbGQoKTsKfQoKJGZvcm0gPSBuZXcgQ01TRm9ybSgkdGhpcy0+R2V0TmFtZSgpLCAkaWQsICdwcm9maWxlX2ZpZWxkX21hbmFnZScsJHJldHVybmlkKTsKJGZvcm0tPnNldEJ1dHRvbnMoYXJyYXkoJ3N1Ym1pdCcsJ2FwcGx5JywnY2FuY2VsJykpOwoKJGZvcm0tPnNldFdpZGdldCgncHJvZmlsZV9maWVsZF9pZCcsICdoaWRkZW4nLCBhcnJheSgnb2JqZWN0JyA9PiAmJHByb2ZpbGVfZmllbGQsICdmaWVsZF9uYW1lJyA9PiAnaWQnLCAnZ2V0X21ldGhvZCcgPT4gJ2dldElkJykpOwokZm9ybS0+c2V0V2lkZ2V0KCduYW1lJywgJ3RleHQnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHByb2ZpbGVfZmllbGQsICd2YWxpZGF0b3JzJyA9PiBhcnJheSgnbm90X2VtcHR5JyA9PiB0cnVlKSkpOwokZm9ybS0+c2V0V2lkZ2V0KCd0eXBlJywgJ3NlbGVjdCcsIGFycmF5KCdvYmplY3QnID0+ICYkcHJvZmlsZV9maWVsZCwgCgkndmFsdWVzJyA9PiBDTVNGb3JtV2lkZ2V0OjpnZXRGaWVsZHNMaXN0KCkKCSkpOwoJCgkKJGZvcm0tPnNldFdpZGdldCgndGlwcycsICd0ZXh0JywgYXJyYXkoJ29iamVjdCcgPT4gJiRwcm9maWxlX2ZpZWxkKSk7CiRmb3JtLT5zZXRXaWRnZXQoJ29wdGlvbnMnLCAndGV4dCcsIGFycmF5KCdvYmplY3QnID0+ICYkcHJvZmlsZV9maWVsZCkpOwoJCiRmb3JtLT5zZXRXaWRnZXQoJ2lzX2FjdGl2ZScsICdjaGVja2JveCcsIGFycmF5KCdvYmplY3QnID0+ICYkcHJvZmlsZV9maWVsZCkpOwoKLy8gJGZvcm0tPnNldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCd1c2VycycpKTsKLy8gJGZvcm0tPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCd1c2VycycpKS0+c2V0V2lkZ2V0KCd1c2VycycsJ3NlbGVjdCcsIGFycmF5KCd2YWx1ZXMnID0+IENNU1VzZXI6OmdldFVzZXJMaXN0KCksICdzaXplJyA9PiAxMCwgJ211bHRpcGxlJyA9PiB0cnVlLCAnZXhwYW5kZWQnID0+IHRydWUpKTsKCiRmb3JtLT5zZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnZ3JvdXBzJykpOwokZm9ybS0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ2dyb3VwcycpKS0+c2V0V2lkZ2V0KCdncm91cHMnLCdzZWxlY3QnLCBhcnJheSgndmFsdWVzJyA9PiBDTVNHcm91cDo6Z2V0R3JvdXBMaXN0KCksICdzaXplJyA9PiAxMCwgJ211bHRpcGxlJyA9PiB0cnVlLCAnZXhwYW5kZWQnID0+IHRydWUpKTsKCmlmICgkZm9ybS0+aXNDYW5jZWxsZWQoKSkKewoJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLGFycmF5KCd0YWInID0+ICdwcm9maWxlX2ZpZWxkcycpKTsKfQoKaWYgKCRmb3JtLT5pc1Bvc3RlZCgpKQp7CgkkZm9ybS0+cHJvY2VzcygpOwoJCglpZighJGZvcm0tPmhhc0Vycm9ycygpKQoJewoJCSRwcm9maWxlX2ZpZWxkLT5zYXZlKCk7CgkJCgkJLy8gUHJvZmlsZUZpZWxkcyB0byB1c2VyIHJlbGF0aW9ucwoJCS8vQ01TVXNlclByb2ZpbGVGaWVsZDo6c2V0UHJvZmlsZUZpZWxkVXNlcnMoJHByb2ZpbGVfZmllbGQtPmdldElkKCksICRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygndXNlcnMnKSktPmdldFdpZGdldCgndXNlcnMnKS0+Z2V0VmFsdWVzKCkpOwoJCQoJCS8vIFByb2ZpbGVGaWVsZHMgdG8gdXNlciByZWxhdGlvbnMKCQlDTVNHcm91cFByb2ZpbGVGaWVsZDo6c2V0UHJvZmlsZUZpZWxkR3JvdXBzKCRwcm9maWxlX2ZpZWxkLT5nZXRJZCgpLCAkZm9ybS0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ2dyb3VwcycpKS0+Z2V0V2lkZ2V0KCdncm91cHMnKS0+Z2V0VmFsdWVzKCkpOwoJCQoJCWlmKCRmb3JtLT5pc1N1Ym1pdHRlZCgpKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLGFycmF5KCd0YWInID0+ICdwcm9maWxlX2ZpZWxkcycpKTsKCQl9Cgl9Cn0KCi8vIFVzZXJwcm9maWxlX2ZpZWxkcyB2YWx1ZXMKaWYgKCRwcm9maWxlX2ZpZWxkLT5nZXRJZCgpICE9IG51bGwpCnsKLy8JJGZvcm0tPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCd1c2VycycpKS0+Z2V0V2lkZ2V0KCd1c2VycycpLT5zZXRWYWx1ZXMoQ01TVXNlclByb2ZpbGVGaWVsZDo6Z2V0VXNlcnNMaXN0KCRwcm9maWxlX2ZpZWxkLT5nZXRJZCgpLCB0cnVlKSk7CgkkZm9ybS0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ2dyb3VwcycpKS0+Z2V0V2lkZ2V0KCdncm91cHMnKS0+c2V0VmFsdWVzKENNU0dyb3VwUHJvZmlsZUZpZWxkOjpnZXRHcm91cHNMaXN0KCRwcm9maWxlX2ZpZWxkLT5nZXRJZCgpLCB0cnVlKSk7Cn0KCiRzbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR0aGlzLT5sYW5nKCdwcm9maWxlX2ZpZWxkJykpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnByb2ZpbGVfZmllbGRfbWFuYWdlLnRwbCcpOwpyZXR1cm47Cg==]]></data>
	</file>
	<file>
	  <filename>/action.profile_field_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfSAKCmlmKGlzc2V0KCRwYXJhbXNbJ3Byb2ZpbGVfZmllbGRfaWQnXSkpCnsKCSRwcm9maWxlX2ZpZWxkID0gQ01TUHJvZmlsZUZpZWxkOjpyZXRyaWV2ZUJ5UGsoJHBhcmFtc1sncHJvZmlsZV9maWVsZF9pZCddKTsKCQoJaWYgKCRwcm9maWxlX2ZpZWxkKQoJewoJCXN3aXRjaCgkcGFyYW1zWydtYWN0aW9uJ10pCgkJewoJCQljYXNlICdjaGFuZ2Vfc3RhdHVzJzoKCQkJCSRwcm9maWxlX2ZpZWxkLT5pc19hY3RpdmUgPSAoJHByb2ZpbGVfZmllbGQtPmlzX2FjdGl2ZSA9PSAwKT8xOjA7CgkJCQkkcHJvZmlsZV9maWVsZC0+c2F2ZSgpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ2RlbGV0ZSc6CgkJCQkkcHJvZmlsZV9maWVsZC0+ZGVsZXRlKCk7CgkJCQlicmVhazsKCQl9Cgl9Cn0KCnJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgYXJyYXkoJ3RhYicgPT4gJ3Byb2ZpbGVfZmllbGRzJykpOw==]]></data>
	</file>
	<file>
	  <filename>/action.profile_manage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZXJfaWQnXSkgJiYgJHBhcmFtc1sndXNlcl9pZCddICE9ICcnKQp7CgkkdXNlciA9IENNU1VzZXI6OnJldHJpZXZlQnlQaygkcGFyYW1zWyd1c2VyX2lkJ10pOwp9CgppZiAoIWlzX29iamVjdCgkdXNlcikpCnsKCQlyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoJ3RhYicgPT4gJ3VzZXJzJykpOwp9CgokcHJvZmlsZSA9ICR1c2VyLT5nZXRQcm9maWxlKCk7CgovL3Zhcl9kdW1wKCRwcm9maWxlKTsKJGZpZWxkcyA9ICRwcm9maWxlLT5nZXRVc2VyUHJvZmlsZUZpZWxkcygpOwoKJGZvcm0gPSBuZXcgQ01TRm9ybSgkdGhpcy0+R2V0TmFtZSgpLCRpZCwncHJvZmlsZV9tYW5hZ2UnLCRyZXR1cm5pZCk7CiRmb3JtLT5zZXRCdXR0b25zKGFycmF5KCdzdWJtaXQnLCdhcHBseScsJ2NhbmNlbCcpKTsKJGZvcm0tPnNldFdpZGdldCgndXNlcl9pZCcsICdoaWRkZW4nKTsKCmZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKQp7Cgkkb3B0aW9ucyA9IGFycmF5X21lcmdlKAoJCWFycmF5KCdsYWJlbCcgPT4gJGZpZWxkLT5uYW1lLCAndGlwcycgPT4gJGZpZWxkLT50aXBzLCAnb2JqZWN0JyA9PiAkcHJvZmlsZSksCgkJJGZpZWxkLT5nZXRPcHRpb25zVG9BcnJheSgpCgkJKTsKCQoJLy9UT0RPOiBUcmVhdGggdGhlIGZpZWxkIG9wdGlvbgoJJGZvcm0tPnNldFdpZGdldCgkZmllbGQtPmZuYW1lLCAkZmllbGQtPnR5cGUsICRvcHRpb25zKTsKfQoKaWYgKCRmb3JtLT5pc0NhbmNlbGxlZCgpKQp7CgkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ3VzZXJfbWFuYWdlJywkcmV0dXJuaWQsIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSkpOwp9CgppZiAoJGZvcm0tPmlzUG9zdGVkKCkpCnsKCSRmb3JtLT5wcm9jZXNzKCk7CgkKCWlmICghJGZvcm0tPmhhc0Vycm9ycygpKQoJewkJCgkJJHByb2ZpbGUtPnNhdmUoKTsKCQoJCWlmICgkZm9ybS0+aXNTdWJtaXR0ZWQoKSkKCQl7CgkJCXJldHVybiAkdGhpcy0+UmVkaXJlY3QoJGlkLCd1c2VyX21hbmFnZScsJHJldHVybmlkLCBhcnJheSgndXNlcl9pZCcgPT4gJHVzZXItPmdldElkKCkpKTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ3Byb2ZpbGVfbWFuYWdlJywkcmV0dXJuaWQsIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSkpOwoJCX0KCX0KfQoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbi5wcm9maWxlX21hbmFnZS50cGwnKTs=]]></data>
	</file>
	<file>
	  <filename>/action.signin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgovKiogQHZhciAkdGhpcyBDTVNVc2VycyAqLwoKaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdhbGxvd19zaWduaW4nKSAhPSAxKQp7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkdGhpcy0+bGFuZygnc2lnbmluIGRpc2FibGVkJykpOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCdzaWduaW5fZGlzYWJsZWQnKTsKCXJldHVybjsKfQoKaWYoaXNzZXQoJF9TRVNTSU9OWydtb2R1bGVzJ11bJ0NNU1VzZXJzJ11bJ3VzZXJfaWQnXSkpCnsKCS8vIFRPRE86IENoYW5nZSBsYXlvdXQKCWVjaG8gJzxwPicgLiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ3NpZ25vdXQnLCRyZXR1cm5pZCwkdGhpcy0+bGFuZygnc2lnbm91dCcpLGFycmF5KCksJycsZmFsc2UsZmFsc2UsJycsZmFsc2UsJ3VzZXIvc2lnbm91dC8nLiRyZXR1cm5pZCkgLiAnPC9wPic7CglyZXR1cm47Cn0KCmlmKGlzc2V0KCRwYXJhbXNbJ2dvYmFjayddKSkKewoJJHBhcmFtc1sncmVkaXJlY3RfdXJsJ10gPSAnaHR0cDovLycgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXTsKfQoKJGZvcm0gPSBuZXcgQ01TRm9ybSgkdGhpcy0+R2V0TmFtZSgpLCAkaWQsICdzaWduaW4nLCAkcmV0dXJuaWQpOwokZm9ybS0+c2V0QnV0dG9ucyhhcnJheSgnc3VibWl0JykpOwokZm9ybS0+c2V0TGFiZWwoJ3N1Ym1pdCcsICR0aGlzLT5sYW5nKCdzaWduaW4nKSk7CgokZm9ybS0+c2V0V2lkZ2V0KCdyZWRpcmVjdCcsICdoaWRkZW4nLCBhcnJheSgnZGVmYXVsdF92YWx1ZScgPT4gaXNzZXQoJHBhcmFtc1sncmVkaXJlY3QnXSk/JHBhcmFtc1sncmVkaXJlY3QnXTonJykpOwokZm9ybS0+c2V0V2lkZ2V0KCdyZWRpcmVjdF91cmwnLCAnaGlkZGVuJyxhcnJheSgnZGVmYXVsdF92YWx1ZScgPT4gaXNzZXQoJHBhcmFtc1sncmVkaXJlY3RfdXJsJ10pPyRwYXJhbXNbJ3JlZGlyZWN0X3VybCddOicnKSk7CgoKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaWdudXBfdXNlX2VtYWlsX2FzX2xvZ2luJykgPT0gMSkKewogICRmb3JtLT5zZXRXaWRnZXQoJ3VzZXJuYW1lJywndGV4dCcsIGFycmF5KCdzaXplJyA9PiAnNDAnLCAnbGFiZWwnID0+ICR0aGlzLT5MYW5nKCdlbWFpbCcpKSk7Cn0KZWxzZQp7CiAgJGZvcm0tPnNldFdpZGdldCgndXNlcm5hbWUnLCd0ZXh0JywgYXJyYXkoJ3NpemUnID0+ICc0MCcpKTsKfQoKCgoKJGZvcm0tPnNldFdpZGdldCgncGFzc3dvcmQnLCdwYXNzd29yZCcsIGFycmF5KCdzaXplJyA9PiAnNDAnKSk7CgppZiAoJGZvcm0tPmlzU2VudCgpKQp7CiAgICAkdXNlciA9IENNU1VzZXI6OnJldHJpZXZlQnlVc2VybmFtZSgkZm9ybS0+Z2V0V2lkZ2V0KCd1c2VybmFtZScpLT5nZXRWYWx1ZSgpKTsgLy8gRmlyc3Q6IExvY2FsIHVzZXJzCgogICAgaWYoKCEkdXNlciB8fCAkdXNlci0+aXNfbGRhcCA9PSB0cnVlKSAmJiAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbGRhcF9hdXRoJywgZmFsc2UpKQogICAgewogICAgICAgICR1c2VyID0gQ01TVXNlcjo6cmV0cmlldmVCeUxkYXAoJGZvcm0tPmdldFdpZGdldCgndXNlcm5hbWUnKS0+Z2V0VmFsdWUoKSwgJGZvcm0tPmdldFdpZGdldCgncGFzc3dvcmQnKS0+Z2V0VmFsdWUoKSk7CiAgICB9CgoJCQoJaWYgKCR1c2VyICYmICR1c2VyLT5hdXRoZW50aWNhdGUoJGZvcm0tPmdldFdpZGdldCgncGFzc3dvcmQnKS0+Z2V0VmFsdWUoKSkpCgl7CgkJLy8gVE9ETzogQWRkIGV2ZW50CgkJJF9TRVNTSU9OWydtb2R1bGVzJ11bJ0NNU1VzZXJzJ11bJ3VzZXJfaWQnXSA9ICR1c2VyLT5nZXRJZCgpOwoJCQkJCgkJaWYgKCEkZm9ybS0+Z2V0V2lkZ2V0KCdyZWRpcmVjdCcpLT5pc0VtcHR5KCkpCgkJewoJCQkvLyAkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRpZCkKCQkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJGZvcm0tPmdldFdpZGdldCgncmVkaXJlY3QnKS0+Z2V0VmFsdWUoKSwkcmV0dXJuaWQpOwoJCX0KCQllbHNlaWYgKCEkZm9ybS0+Z2V0V2lkZ2V0KCdyZWRpcmVjdF91cmwnKS0+aXNFbXB0eSgpKQoJCXsKCQkJcmV0dXJuIENNU1VzZXJzOjpqdW1wVG8oJGZvcm0tPmdldFdpZGdldCgncmVkaXJlY3RfdXJsJyktPmdldFZhbHVlKCkpOwoJCX0KCQllbHNlaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ25pbl9yZWRpcmVjdGlvbicpICE9ICcnKQoJCXsKCQkJcmV0dXJuIENNU1VzZXJzOjpqdW1wVG8oJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ25pbl9yZWRpcmVjdGlvbicpKTsKCQl9CgkJCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VyJywgJHVzZXIpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VjY2Vzc19tZXNzYWdlJywgJHRoaXMtPmxhbmcoJ3N1Y2Nlc3NmdWxseSBzaWduIGluJykpOwoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZvcignc2lnbmluX3N1Y2Nlc3MnKTsKCQlyZXR1cm47CgkJCgl9CgllbHNlaWYoJHVzZXIgJiYgJHVzZXItPmlzX2FjdGl2ZSA9PSAwKQoJewoJCSRmb3JtLT5zZXRFcnJvcigkdGhpcy0+bGFuZygndXNlciBpbmFjdGl2ZScpKTsKCX0KCWVsc2VpZigkdXNlciAmJiAkdXNlci0+aXNfZGlzYWJsZWQgPT0gMSkKCXsKCQkkZm9ybS0+c2V0RXJyb3IoJHRoaXMtPmxhbmcoJ3VzZXIgZGlzYWJsZWQnKSk7Cgl9CgllbHNlCgl7CgkJJGZvcm0tPnNldEVycm9yKCR0aGlzLT5sYW5nKCdpbnZhbGlkIGNyZWRlbnRpYWxzJykpOwoJfQoJCn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWxsb3dfc2lnbnVwJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2FsbG93X3NpZ251cCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZScsICR0aGlzLT5sYW5nKCdzaWduaW4nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZvcignc2lnbmluX2Zvcm0nLCAkcGFyYW1zKTs=]]></data>
	</file>
	<file>
	  <filename>/action.signout.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCFjbXNtcygpKSBleGl0OwoKdW5zZXQoJF9TRVNTSU9OWydtb2R1bGVzJ11bJ0NNU1VzZXJzJ11bJ3VzZXJfaWQnXSk7CgovLyBpZiAoISRmb3JtLT5nZXRXaWRnZXQoJ3JlZGlyZWN0JyktPmlzRW1wdHkoKSkKLy8gewovLyAJLy8gJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkaWQpCi8vIAlyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwkZm9ybS0+Z2V0V2lkZ2V0KCdyZWRpcmVjdCcpLT5nZXRWYWx1ZSgpLCRyZXR1cm5pZCk7Ci8vIH0KLy8gZWxzZQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWNjZXNzX21lc3NhZ2UnLCAkdGhpcy0+bGFuZygnc3VjY2Vzc2Z1bGx5IHNpZ24gb3V0JykpOwppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaHR0cF9hdXRoJykgIT0gJycpCnsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbG9nb3V0LmpzLnRwbCcpOwogICAgcmV0dXJuIENNU1VzZXJzOjpqdW1wVG8oQ01TVXNlcnM6OmxvZ291dFVSTCgpKTsKLy8gICR0aGlzLT5zbWFydHktPmFzc2lnbignc3VjY2Vzc19tZXNzYWdlJywgJHRoaXMtPmxhbmcoJ2Nsb3NlIHlvdXIgYnJvd3NlcicpKTsKfQoKaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ25vdXRfcmVkaXJlY3Rpb24nKSAhPSAnJykKewogICAgcmV0dXJuIENNU1VzZXJzOjpqdW1wVG8oJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ25vdXRfcmVkaXJlY3Rpb24nKSk7Cn0KCmlmICgoJHRlbXBsYXRlID0gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZSgnc2lnbm91dF9zdWNjZXNzJykpCSYmCSgkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlKSAhPT0gZmFsc2UpKQp7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsKfQplbHNlCnsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZnJvbnRlbmQuc2lnbm91dF9zdWNjZXNzLnRwbCcpOwp9CnJldHVybjsKCgo=]]></data>
	</file>
	<file>
	  <filename>/action.signup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgppZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2FsbG93X3NpZ251cCcpICE9IDEpCnsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICR0aGlzLT5sYW5nKCdzaWdudXAgZGlzYWJsZWQnKSk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ3NpZ251cF9kaXNhYmxlZCcpOwoJcmV0dXJuOwp9CgoKJGZvcm0gPSBuZXcgQ01TRm9ybSgkdGhpcy0+R2V0TmFtZSgpLCAkaWQsICdzaWdudXAnLCRyZXR1cm5pZCk7CiRmb3JtLT5zZXRCdXR0b25zKGFycmF5KCdzdWJtaXQnKSk7CiRmb3JtLT5zZXRMYWJlbCgnc3VibWl0JywgJHRoaXMtPmxhbmcoJ2NyZWF0ZSBteSBhY2NvdW50JykpOwokdXNlciA9IG5ldyBDTVNVc2VyKCk7CiRwcm9maWxlID0gbmV3IENNU1Byb2ZpbGUoKTsKCiRmb3JtLT5zZXRXaWRnZXQoJ3VzZXJfaWQnLCAnaGlkZGVuJywgYXJyYXkoJ29iamVjdCcgPT4gJiR1c2VyLCAnZmllbGRfbmFtZScgPT4gJ2lkJywgJ2dldF9tZXRob2QnID0+ICdnZXRJZCcpKTsKJGZvcm0tPnNldFdpZGdldCgncmVkaXJlY3QnLCAnaGlkZGVuJyk7CiRmb3JtLT5zZXRXaWRnZXQoJ3JlZGlyZWN0X3VybCcsICdoaWRkZW4nKTsKJGZvcm0tPnNldFdpZGdldCgnZW1haWwnLCAndGV4dCcsIGFycmF5KCdvYmplY3QnID0+ICYkdXNlciwgJ3ZhbGlkYXRvcnMnID0+IGFycmF5KCdub3RfZW1wdHknID0+IHRydWUsICdlbWFpbCcgPT4gdHJ1ZSkpKTsKCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2lnbnVwX3VzZV9lbWFpbF9hc19sb2dpbicpID09IDEpCnsKICAkZm9ybS0+Z2V0V2lkZ2V0KCdlbWFpbCcpLT5hZGRWYWxpZGF0b3IoJ3VuaXF1ZScsJ0NNU1VzZXI6OnJldHJpZXZlQnlVc2VybmFtZScpOwp9CgppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ251cF9lbWFpbF91bmlxdWUnKSA9PSAxKQp7CgkJCSRmb3JtLT5nZXRXaWRnZXQoJ2VtYWlsJyktPmFkZFZhbGlkYXRvcigndW5pcXVlJywnQ01TVXNlcjo6cmV0cmlldmVPbmVCeUVtYWlsJyk7Cn0KCmlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaWdudXBfdXNlX2VtYWlsX2FzX2xvZ2luJykgIT0gMSkKewogICRmb3JtLT5zZXRXaWRnZXQoJ3VzZXJuYW1lJywgJ3RleHQnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHVzZXIsICd2YWxpZGF0b3JzJyA9PiBhcnJheSgnbm90X2VtcHR5JyA9PiB0cnVlLCAndW5pcXVlJyA9PidDTVNVc2VyOjpyZXRyaWV2ZUJ5VXNlcm5hbWUnKSkpOwp9CgppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2lnbnVwX2dlbmVyYXRlX3Bhc3N3b3JkJykgIT0gMSkKewogJGZvcm0tPnNldFdpZGdldCgncGFzc3dvcmQnLCAncGFzc3dvcmQnLCBhcnJheSgndmFsaWRhdG9ycycgPT4gYXJyYXkoJ2VxdWFsX2ZpZWxkJyA9PiAnY29uZmlybV9wYXNzd29yZCcpKSk7CiAkZm9ybS0+c2V0V2lkZ2V0KCdjb25maXJtX3Bhc3N3b3JkJywgJ3Bhc3N3b3JkJyk7IAp9CgoKJGdyb3VwID0gQ01TR3JvdXA6OnJldHJpZXZlQnlQayhpc3NldCgkcGFyYW1zWydncm91cCddKT8kcGFyYW1zWydncm91cCddOiR0aGlzLT5nZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2dyb3VwX2Zvcl9zaWdudXAnKSk7CgppZiAoaXNfb2JqZWN0KCRncm91cCkpCnsKCSRmaWVsZHMgPSAkZ3JvdXAtPmdldFByb2ZpbGVGaWVsZHMoKTsKCQoJZm9yZWFjaCAoJGZpZWxkcyBhcyAkZmllbGQpCgl7CgkJJG9wdGlvbnMgPSBhcnJheV9tZXJnZSgKCQkJYXJyYXkoJ2xhYmVsJyA9PiAkZmllbGQtPm5hbWUsICd0aXBzJyA9PiAkZmllbGQtPnRpcHMsICdvYmplY3QnID0+ICRwcm9maWxlKSwKCQkJJGZpZWxkLT5nZXRPcHRpb25zVG9BcnJheSgpCgkJCSk7CgoJCS8vVE9ETzogVHJlYXRoIHRoZSBmaWVsZCBvcHRpb24KCQkkZm9ybS0+c2V0V2lkZ2V0KCRmaWVsZC0+Zm5hbWUsICRmaWVsZC0+dHlwZSwgJG9wdGlvbnMpOwoJfSAKfQoKaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2ZpbGVfbW9kdWxlJykgIT0gJycpCnsgIAogICRjbGFzc19uYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2ZpbGVfbW9kdWxlJyk7CiAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkY2xhc3NfbmFtZSk7CiAgJG9iamVjdF9uYW1lID0gJGNsYXNzX25hbWUuJ09iamVjdCc7CiAgJHZpZXdzX25hbWUgPSAkY2xhc3NfbmFtZS4nVmlld3MnOwogIAogICRwcm9maWxlX21vZHVsZSA9IG5ldyAkb2JqZWN0X25hbWU7IAogIAogICRmb3JtLT5zZXRXaWRnZXQoJ3RpdGxlJywgJ3RleHQnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHByb2ZpbGVfbW9kdWxlLCAnc2l6ZScgPT4gNTAsICdsYWJlbCcgPT4gJG1vZHVsZS0+Z2V0VGl0bGVMYWJlbCgpKSk7CiAgY2FsbF91c2VyX2Z1bmMoYXJyYXkoJHZpZXdzX25hbWUsICdjcmVhdGVGb3JtJyksICRtb2R1bGUsICYkZm9ybSwgJHByb2ZpbGVfbW9kdWxlLGFycmF5KCdmcm9udGVuZCcgPT4gdHJ1ZSkpOwp9CgppZiAoKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaWdudXBfdXNlX2NhcHRjaGEnKSA9PSAxKSAmJiBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCktPklzTW9kdWxlQWN0aXZlKCdDYXB0Y2hhJykpCnsKCWlmKGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ2FwdGNoYScpLT5nZXRQcmVmZXJlbmNlKCdhY3RpdmVfbGliJykgPT0gJ3JlY2FwdGNoYScpCgl7CgkJJGZvcm0tPnNldFdpZGdldCgnY2FwdGNoYScsICdzdGF0aWMnLCBhcnJheSgndmFsdWUnID0+IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ2FwdGNoYScpLT5nZXRDYXB0Y2hhKCkpKTsKCX0KCWVsc2UKCXsKCQkkZm9ybS0+c2V0V2lkZ2V0KCdjYXB0Y2hhJywgJ3RleHQnLCBhcnJheSgKCQkJJ3NpemUnID0+IDEwLCAKCQkJJ2xhYmVsJyA9PiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NhcHRjaGEnKS0+Z2V0Q2FwdGNoYSgpLAoJCQkndGlwcycgPT4gJHRoaXMtPmxhbmcoJ2NhcHRjaGFfdGlwcycpCgkJCSkpOwoJfQoJCgkKCn0KCmlmICgkZm9ybS0+aXNQb3N0ZWQoKSkKewoJJGZvcm0tPnByb2Nlc3MoKTsKCQoJaWYgKCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2lnbnVwX3VzZV9jYXB0Y2hhJykgPT0gMSkgJiYgY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpLT5Jc01vZHVsZUFjdGl2ZSgnQ2FwdGNoYScpKQoJewoJCWlmKCFjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NhcHRjaGEnKS0+Y2hlY2tDYXB0Y2hhKCRmb3JtLT5nZXRXaWRnZXQoJ2NhcHRjaGEnKS0+Z2V0VmFsdWUoKSkpCgkJewoJCQkkZm9ybS0+Z2V0V2lkZ2V0KCdjYXB0Y2hhJyktPnNldEVycm9yKCR0aGlzLT5sYW5nKCdpbnZhbGlkIGNhcHRjaGEnKSwgJ2Zvcm0gZXJyb3InKTsKCQl9Cgl9CgkKCWlmICghJGZvcm0tPmhhc0Vycm9ycygpKQoJewoJICBpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2lnbnVwX2dlbmVyYXRlX3Bhc3N3b3JkJykgIT0gMSkKICAgIHsKCQkgIGlmICghJGZvcm0tPmdldFdpZGdldCgncGFzc3dvcmQnKS0+aXNFbXB0eSgpKQoJCSAgewoJCQkgICR1c2VyLT5zZXRQYXNzd29yZCgkZm9ybS0+Z2V0V2lkZ2V0KCdwYXNzd29yZCcpLT5nZXRWYWx1ZSgpKTsKCQkgIH0KCQl9CgkJZWxzZQoJCXsKCQkgICR0aGlzLT5zbWFydHktPmFzc2lnbigncGFzc3dvcmQnLCAkdXNlci0+Z2VuZXJhdGVQYXNzd29yZCgpKTsKCQl9CgkJCgkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaWdudXBfdXNlX2VtYWlsX2FzX2xvZ2luJykgPT0gMSkKICAgIHsKICAgICAgJHVzZXItPnVzZXJuYW1lID0gJGZvcm0tPmdldFdpZGdldCgnZW1haWwnKS0+Z2V0VmFsdWUoKTsKICAgIH0KICAgIAoJCSR1c2VyLT5zYXZlKCk7CgkJaWYgKCR1c2VyLT5nZXRJZCgpICE9ICcnKQoJCXsKCQkJaWYgKGlzX29iamVjdCgkZ3JvdXApKQoJCQl7CgkJCQkkZ3JvdXAtPmFkZFVzZXIoJHVzZXItPmdldElkKCkpOwoJCQl9CgkJCSRwcm9maWxlLT51c2VyX2lkID0gJHVzZXItPmdldElkKCk7CgkJCSRwcm9maWxlLT5zYXZlKCk7CQoJCQkKCQkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2ZpbGVfbW9kdWxlJykgIT0gJycpCiAgICAgIHsgIAogICAgICAgICRwcm9maWxlX21vZHVsZS0+c2V0VXNlcklkKCR1c2VyLT5nZXRJZCgpKTsKICAgICAgICAkcHJvZmlsZV9tb2R1bGUtPnNhdmUoYXJyYXkoJ2Zyb250ZW5kJyA9PiB0cnVlKSk7CiAgICAgIH0KICAgIAkKCQl9CgkJCgkJJHZhbGlkYXRpb24gPSAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnc2lnbnVwX3ZhbGlkYXRpb24nLCAnbm9uZScpOwoJCXN3aXRjaCgkdmFsaWRhdGlvbikKCQl7CgkJCWNhc2UgJ2FkbWluJzoKCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3VjY2Vzc19tZXNzYWdlJywgJHRoaXMtPmxhbmcoJ2FjY291bnQgY3JlYXRlZCByZXZpZXcgYnkgYWRtaW4nKSk7CgkJCQlicmVhazsJCQkKCQkJY2FzZSAnZW1haWwnOgoJCQkJJHRoaXMtPnNlbmRFbWFpbCgndmFsaWRhdGlvbicsICR1c2VyLCRpZCwkcmV0dXJuaWQpOwoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWNjZXNzX21lc3NhZ2UnLCAkdGhpcy0+bGFuZygnYWNjb3VudCBjcmVhdGVkIGVtYWlsIHNlbnQnLCAkdXNlci0+ZW1haWwpKTsKCQkJCWJyZWFrOwoJCQlkZWZhdWx0OiAvLyBTQU1FIEFTIENBU0UgJ25vbmUnOwoJCQkJJHVzZXItPmlzX2FjdGl2ZSA9IDE7CgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Y2Nlc3NfbWVzc2FnZScsICR0aGlzLT5sYW5nKCdhY2NvdW50IGNyZWF0ZWQnKSk7CgkJCQlicmVhazsKCQl9CgkJCgkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZW5kX3NpZ251cF9lbWFpbCcpID09IDEpCgkJewoJCQkJJHRoaXMtPnNlbmRFbWFpbCgnc2lnbnVwJywgJHVzZXIsJGlkLCRyZXR1cm5pZCk7CgkJfQoJCQoJCSR1c2VyLT5zYXZlKCk7CgkJCgkJaWYoKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaWdudXBfdmFsaWRhdGlvbicsICdub25lJykgPT0gJ25vbmUnKSAmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ251cF9hdXRvbWF0aWNhbGx5X2xvZ2luJykgPT0gMSkpCgkJewoJCSAgJF9TRVNTSU9OWydtb2R1bGVzJ11bJ0NNU1VzZXJzJ11bJ3VzZXJfaWQnXSA9ICR1c2VyLT5nZXRJZCgpOwoJCX0KCQkKCQlpZiAoISRmb3JtLT5nZXRXaWRnZXQoJ3JlZGlyZWN0X3VybCcpLT5pc0VtcHR5KCkpCgkJewoJCQkJcmV0dXJuIENNU1VzZXJzOjpqdW1wVG8oJGZvcm0tPmdldFdpZGdldCgncmVkaXJlY3RfdXJsJyktPmdldFZhbHVlKCkpOwoJCX0KCQllbHNlaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ251cF9yZWRpcmVjdGlvbicpICE9ICcnKQoJCXsKCQkJcmV0dXJuIENNU1VzZXJzOjpqdW1wVG8oJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ251cF9yZWRpcmVjdGlvbicpKTsKCQl9CgkJCQkKCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ3NpZ251cF9zdWNjZXNzJyk7CgkJcmV0dXJuOwoJfQp9CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgJHRoaXMtPmxhbmcoJ3NpZ251cCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJGZvcm0pOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCdzaWdudXBfZm9ybScsICRwYXJhbXMpOw==]]></data>
	</file>
	<file>
	  <filename>/action.template_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICYmICFlbXB0eSgkcGFyYW1zWyd0ZW1wbGF0ZSddKSkgewogICAgJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwoJCSR0aGlzLT5SZW1vdmVEZWZhdWx0VGVtcGxhdGUoJHBhcmFtc1sndGVtcGxhdGUnXSk7Cn0KCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCd0YWInID0+ICd0ZW1wbGF0ZXMnKSk7CmV4aXQ7Cg==]]></data>
	</file>
	<file>
	  <filename>/action.template_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfQoKJGZvcm0gPSBuZXcgQ01TRm9ybSgkdGhpcy0+R2V0TmFtZSgpLCAkaWQsICd0ZW1wbGF0ZV9lZGl0JywkcmV0dXJuaWQpOwokZm9ybS0+c2V0QnV0dG9ucyhhcnJheSgnc3VibWl0JywnYXBwbHknLCdjYW5jZWwnKSk7CiRmb3JtLT5zZXRNZXRob2QoJ3Bvc3QnKTsKJGZvcm0tPnNldFdpZGdldCgndGVtcGxhdGUnLCd0ZXh0JyxhcnJheSgndmFsaWRhdG9ycycgPT4gYXJyYXkoJ25vdF9lbXB0eScgPT4gdHJ1ZSkpKTsKJGZvcm0tPnNldFdpZGdldCgnY29kZScsICdjb2RlYXJlYScpOwokZm9ybS0+c2V0V2lkZ2V0KCdyZXN0b3JlX3RlbXBsYXRlX2Zyb20nLCAnc2VsZWN0JywgYXJyYXkoJ3ZhbHVlcycgPT4gYXJyYXlfbWVyZ2UoYXJyYXkoJ3NlbGVjdCcgPT4gJHRoaXMtPmxhbmcoJ3NlbGVjdCBvbmUnKSksQ01TVXNlcnM6OiRmcm9udGVuZF90ZW1wbGF0ZXMpKSk7CiRmb3JtLT5zZXRXaWRnZXQoJ2RlZmF1bHRfdGVtcGxhdGVfZm9yJywgJ3NlbGVjdCcsIGFycmF5KCd2YWx1ZXMnID0+IGFycmF5X21lcmdlKGFycmF5KCdzZWxlY3QnID0+ICR0aGlzLT5sYW5nKCdzZWxlY3Qgb25lJykpLENNU1VzZXJzOjokZnJvbnRlbmRfdGVtcGxhdGVzKSkpOwoKaWYgKCEkZm9ybS0+Z2V0V2lkZ2V0KCd0ZW1wbGF0ZScpLT5pc0VtcHR5KCkpCnsKCWlmICgkZm9ybS0+Z2V0V2lkZ2V0KCdjb2RlJyktPmlzRW1wdHkoKSkKCXsKCQkkZm9ybS0+Z2V0V2lkZ2V0KCdjb2RlJyktPnNldFZhbHVlcygkdGhpcy0+Z2V0VGVtcGxhdGUoJGZvcm0tPmdldFdpZGdldCgndGVtcGxhdGUnKS0+Z2V0VmFsdWUoKSkpOwoJfQoJCgkkYWN0aW9uID0gJHRoaXMtPmlzRGVmYXVsdFRlbXBsYXRlKCRmb3JtLT5nZXRXaWRnZXQoJ3RlbXBsYXRlJyktPmdldFZhbHVlKCkpOwoJaWYgKCRmb3JtLT5nZXRXaWRnZXQoJ2RlZmF1bHRfdGVtcGxhdGVfZm9yJyktPmlzRW1wdHkoKSAmJiAoJGFjdGlvbiAhPT0gZmFsc2UpKQoJewoJCSRmb3JtLT5nZXRXaWRnZXQoJ2RlZmF1bHRfdGVtcGxhdGVfZm9yJyktPnNldFZhbHVlcygkYWN0aW9uKTsKCX0KfQoKaWYgKCRmb3JtLT5pc1Bvc3RlZCgpKQp7CgkkcmVzdG9yZSA9ICRmb3JtLT5nZXRXaWRnZXQoJ3Jlc3RvcmVfdGVtcGxhdGVfZnJvbScpLT5nZXRWYWx1ZSgpOwoJaWYgKCRyZXN0b3JlICE9ICcnKQoJewoJCWlmIChpc19maWxlKGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICd0ZW1wbGF0ZXMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdmcm9udGVuZC4nLiRyZXN0b3JlIC4gJy50cGwnKSkKCQl7CgkJCSRmb3JtLT5nZXRXaWRnZXQoJ2NvZGUnKS0+c2V0VmFsdWVzKCR0aGlzLT5HZXRUZW1wbGF0ZUZyb21GaWxlKCdmcm9udGVuZC4nLiRyZXN0b3JlKSk7CgkJCSRmb3JtLT5nZXRXaWRnZXQoJ3Jlc3RvcmVfdGVtcGxhdGVfZnJvbScpLT5zZXRWYWx1ZXMoJycpOwoJCX0KCX0KCQoJJGZvcm0tPnByb2Nlc3MoKTsKCQoJaWYoISRmb3JtLT5oYXNFcnJvcnMoKSkKCXsKCQkJJHRoaXMtPlNldFRlbXBsYXRlKCRmb3JtLT5nZXRXaWRnZXQoJ3RlbXBsYXRlJyktPmdldFZhbHVlKCksICRmb3JtLT5nZXRXaWRnZXQoJ2NvZGUnKS0+Z2V0VmFsdWUoKSk7CgkJCQoJCQkkYWN0aW9uID0gJGZvcm0tPmdldFdpZGdldCgnZGVmYXVsdF90ZW1wbGF0ZV9mb3InKS0+Z2V0VmFsdWUoKTsKCgkJCWlmICgkYWN0aW9uID09ICdzZWxlY3QnKQoJCQl7CgkJCQkkdGhpcy0+UmVtb3ZlRGVmYXVsdFRlbXBsYXRlKCRmb3JtLT5nZXRXaWRnZXQoJ3RlbXBsYXRlJyktPmdldFZhbHVlKCkpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJCgkJCQkkdGhpcy0+QWRkRGVmYXVsdFRlbXBsYXRlKCRhY3Rpb24sICRmb3JtLT5nZXRXaWRnZXQoJ3RlbXBsYXRlJyktPmdldFZhbHVlKCkpOwoJCQkJJGZvcm0tPmdldFdpZGdldCgnZGVmYXVsdF90ZW1wbGF0ZV9mb3InKS0+c2V0VmFsdWVzKCRhY3Rpb24pOwoJCQl9CgkJCQoJCQlpZiAoJGZvcm0tPmlzU3VibWl0dGVkKCkpCgkJCXsKCQkJCQlyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ3RhYicgPT4gJ3RlbXBsYXRlcycpKTsKCQkJfQoJfQp9CgppZiAoJGZvcm0tPmlzQ2FuY2VsbGVkKCkpCnsKCQkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCd0YWInID0+ICd0ZW1wbGF0ZXMnKSk7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignZm9ybScsICRmb3JtKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW4udGVtcGxhdGVfZWRpdC50cGwnKTs=]]></data>
	</file>
	<file>
	  <filename>/action.url_for.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmVjaG8gJHRoaXMtPm1rTGluaygkaWQsJHJldHVybmlkLCRwYXJhbXMsdHJ1ZSk7CnJldHVybjsK]]></data>
	</file>
	<file>
	  <filename>/action.user_manage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3VzZXJfaWQnXSkgJiYgJHBhcmFtc1sndXNlcl9pZCddICE9ICcnKQp7CgkkdXNlciA9IENNU1VzZXI6OnJldHJpZXZlQnlQaygkcGFyYW1zWyd1c2VyX2lkJ10pOwp9CgppZiAoKCFpc3NldCgkdXNlcikpIHx8IGlzX251bGwoJHVzZXIpKQp7CgkkdXNlciA9IG5ldyBDTVNVc2VyKCk7Cn0KCiRmb3JtID0gbmV3IENNU0Zvcm0oJHRoaXMtPkdldE5hbWUoKSwgJGlkLCAndXNlcl9tYW5hZ2UnLCRyZXR1cm5pZCk7CiRmb3JtLT5zZXRCdXR0b25zKGFycmF5KCdzdWJtaXQnLCdhcHBseScsJ2NhbmNlbCcpKTsKCmlmICgkZm9ybS0+aXNDYW5jZWxsZWQoKSkKewoJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLGFycmF5KCd0YWInID0+ICd1c2VycycpKTsKfQokZm9ybS0+c2V0V2lkZ2V0KCd1c2VyX2lkJywgJ2hpZGRlbicsIGFycmF5KCdvYmplY3QnID0+ICYkdXNlciwgJ2ZpZWxkX25hbWUnID0+ICdpZCcsICdnZXRfbWV0aG9kJyA9PiAnZ2V0SWQnKSk7CiRmb3JtLT5zZXRXaWRnZXQoJ3VzZXJuYW1lJywgJ3RleHQnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHVzZXIsICd2YWxpZGF0b3JzJyA9PiBhcnJheSgnbm90X2VtcHR5JyA9PiB0cnVlLCAndW5pcXVlJyA9PidDTVNVc2VyOjpyZXRyaWV2ZUJ5VXNlcm5hbWUnKSkpOwokZm9ybS0+c2V0V2lkZ2V0KCdwYXNzd29yZCcsICdwYXNzd29yZCcsIGFycmF5KCd2YWxpZGF0b3JzJyA9PiBhcnJheSgnZXF1YWxfZmllbGQnID0+ICdjb25maXJtX3Bhc3N3b3JkJykpKTsKJGZvcm0tPnNldFdpZGdldCgnY29uZmlybV9wYXNzd29yZCcsICdwYXNzd29yZCcpOwokZm9ybS0+c2V0V2lkZ2V0KCdlbWFpbCcsICd0ZXh0JywgYXJyYXkoJ29iamVjdCcgPT4gJiR1c2VyLCAndmFsaWRhdG9ycycgPT4gYXJyYXkoJ2VtYWlsJyA9PiB0cnVlKSkpOwokZm9ybS0+c2V0V2lkZ2V0KCdpc19hY3RpdmUnLCAnY2hlY2tib3gnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHVzZXIpKTsKJGZvcm0tPnNldFdpZGdldCgnaXNfZGlzYWJsZWQnLCAnY2hlY2tib3gnLCBhcnJheSgnb2JqZWN0JyA9PiAmJHVzZXIpKTsKaWYgKCR1c2VyLT5sYXN0X2xvZ2luICE9IG51bGwpCnsKCSRsYXN0X2xvZ2luID0gZGF0ZSgnWS1tLWQgSDppOnMnLCBzdHJ0b3RpbWUoJHVzZXItPmxhc3RfbG9naW4pKTsKfQplbHNlCnsKCSRsYXN0X2xvZ2luID0gJHRoaXMtPmxhbmcoJ25ldmVyJyk7Cn0KCiRmb3JtLT5zZXRXaWRnZXQoJ2xhc3RfbG9naW4nLCAnc3RhdGljJywgYXJyYXkoJ3ZhbHVlJyA9PiAkbGFzdF9sb2dpbikpOwoKJGZvcm0tPnNldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdncm91cHMnKSk7CiRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnZ3JvdXBzJykpLT5zZXRXaWRnZXQoJ2dyb3VwcycsJ3NlbGVjdCcsIGFycmF5KCd2YWx1ZXMnID0+IENNU0dyb3VwOjpnZXRHcm91cExpc3QoKSwgJ3NpemUnID0+IDEwLCAnbXVsdGlwbGUnID0+IHRydWUsJ2V4cGFuZGVkJyA9PiB0cnVlKSk7CgppZiAoY291bnQoJHVzZXItPmdldFBlcm1pc3Npb25zKCkpID4gMCkKewoJJGZvcm0tPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdncm91cHMnKSktPnNldFdpZGdldCgncGVybWlzc2lvbnMnLCdzdGF0aWMnLGFycmF5KCd2YWx1ZScgPT4gaW1wbG9kZSgnLCAnLCAkdXNlci0+Z2V0UGVybWlzc2lvbnMoKSkpKTsKfQoKaWYgKCR1c2VyLT5nZXRJZCgpICE9ICcnKQp7CgkkZm9ybS0+c2V0V2lkZ2V0KCd1c2VybmFtZScsICdzdGF0aWMnLCBhcnJheSgndmFsdWUnID0+ICR1c2VyLT51c2VybmFtZSkpOwoJCgkkZm9ybS0+c2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3Byb2ZpbGUnKSk7CgkkZm9ybS0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3Byb2ZpbGUnKSktPnNldFdpZGdldCgncHJvZmlsZScsJ3N0YXRpYycsIGFycmF5KAoJCSd2YWx1ZScgPT4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdwcm9maWxlX21hbmFnZScsJHJldHVybmlkLCAkdGhpcy0+Z2V0SWNvbigndmNhcmRfZWRpdC5wbmcnLCAkdGhpcy0+bGFuZygnbWFuYWdlIHVzZXJzIHByb2ZpbGUnKSkgLiAnICcgLiAkdGhpcy0+bGFuZygnbWFuYWdlIHVzZXJzIHByb2ZpbGUnKSwgYXJyYXkoJ3VzZXJfaWQnID0+ICR1c2VyLT5nZXRJZCgpKSkKCQkpKTsKCQkKCWlmKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdwcm9maWxlX21vZHVsZScpICE9ICcnKQoJewoJCSRtb2R1c2VyID0gJHRoaXMtPmdldFByZWZlcmVuY2UoJ3Byb2ZpbGVfbW9kdWxlJyk7CgkJCWlmKG1ldGhvZF9leGlzdHMoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1c2VyKSwgJ2dldFVzZXJGdW5jdGlvbicpKQoJCQl7CgkJCQkkY2FsbCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kdXNlciktPmdldFVzZXJGdW5jdGlvbigpOwoJCQkJJHVybCA9IGNhbGxfdXNlcl9mdW5jKGFycmF5KCRtb2R1c2VyLidPYmplY3QnLCAkY2FsbCksICR1c2VyLT5nZXRJZCgpLCAkaWQpOwoJCQkJCgkJCQkkZm9ybS0+Z2V0RmllbGRzZXQoJHRoaXMtPmxhbmcoJ3Byb2ZpbGUnKSktPnNldFdpZGdldCgncHJvZmlsZV9tb2R1bGUnLCdzdGF0aWMnLCBhcnJheSgKCQkJCQkndmFsdWUnID0+ICc8YSBocmVmPSInLiR1cmwuJyI+Jy4kdGhpcy0+Z2V0SWNvbigndmNhcmRfZWRpdC5wbmcnLCAkdGhpcy0+bGFuZygnbWFuYWdlIHVzZXJzIHByb2ZpbGUnKSkgLiAnICcgLiAkdGhpcy0+bGFuZygnbWFuYWdlIHVzZXJzIHByb2ZpbGUnKSAuICc8L2E+JykpOwoJCQl9CgkJCgl9Cn0KCmlmICgkZm9ybS0+aXNQb3N0ZWQoKSkKewoJaWYgKCRmb3JtLT5nZXRXaWRnZXQoJ3VzZXJfaWQnKS0+aXNFbXB0eSgpKQoJewoJCSRmb3JtLT5nZXRXaWRnZXQoJ3Bhc3N3b3JkJyktPmFkZFZhbGlkYXRvcignbm90X2VtcHR5JywgYXJyYXkoKSk7Cgl9CgkJCgkkZm9ybS0+cHJvY2VzcygpOwoJCglpZiAoISRmb3JtLT5oYXNFcnJvcnMoKSkKCXsKCQlpZiAoISRmb3JtLT5nZXRXaWRnZXQoJ3Bhc3N3b3JkJyktPmlzRW1wdHkoKSkKCQl7CgkJCSR1c2VyLT5zZXRQYXNzd29yZCgkZm9ybS0+Z2V0V2lkZ2V0KCdwYXNzd29yZCcpLT5nZXRWYWx1ZSgpKTsKCQl9CgkJCgkJJHVzZXItPnNhdmUoKTsKCQkkZm9ybS0+Z2V0V2lkZ2V0KCd1c2VyX2lkJyktPnNldFZhbHVlcygkdXNlci0+Z2V0SWQoKSk7CgkJCgkJCS8vIEdyb3VwcyB0byB1c2VyIHJlbGF0aW9ucwoJCQlDTVNVc2VyR3JvdXA6OnNldFVzZXJHcm91cHMoJHVzZXItPmdldElkKCksICRmb3JtLT5nZXRGaWVsZHNldCgkdGhpcy0+bGFuZygnZ3JvdXBzJykpLT5nZXRXaWRnZXQoJ2dyb3VwcycpLT5nZXRWYWx1ZXMoKSk7CgkJCQkKCQlpZiAoJGZvcm0tPmlzU3VibWl0dGVkKCkpCgkJewoJCQlyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsIGFycmF5KCd0YWInID0+ICd1c2VycycpKTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuICR0aGlzLT5SZWRpcmVjdCgkaWQsJ3VzZXJfbWFuYWdlJywkcmV0dXJuaWQsIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSkpOwoJCX0KCX0KfQoKaWYgKCR1c2VyLT5nZXRJZCgpICE9ICcnKQp7CgkkZm9ybS0+c2V0V2lkZ2V0KCd1c2VybmFtZScsICdzdGF0aWMnLCBhcnJheSgndmFsdWUnID0+ICR1c2VyLT51c2VybmFtZSkpOwoJJGZvcm0tPmdldEZpZWxkc2V0KCR0aGlzLT5sYW5nKCdncm91cHMnKSktPmdldFdpZGdldCgnZ3JvdXBzJyktPnNldFZhbHVlcyhDTVNVc2VyR3JvdXA6OmdldEdyb3Vwc0xpc3QoJHVzZXItPmdldElkKCksIHRydWUpKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJGZvcm0pOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluLnVzZXJfbWFuYWdlLnRwbCcpOwpyZXR1cm47]]></data>
	</file>
	<file>
	  <filename>/action.user_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgdXNlcnMgd2l0aCBwZXJtaXNzaW9uCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJZXhpdDsKfSAKCmlmKGlzc2V0KCRwYXJhbXNbJ3VzZXJfaWQnXSkpCnsKCSR1c2VyID0gQ01TVXNlcjo6cmV0cmlldmVCeVBrKCRwYXJhbXNbJ3VzZXJfaWQnXSk7CgkKCWlmICgkdXNlcikKCXsKCQlzd2l0Y2goJHBhcmFtc1snbWFjdGlvbiddKQoJCXsKCQkJY2FzZSAnY2hhbmdlX3N0YXR1cyc6CgkJCQkkdXNlci0+aXNfYWN0aXZlID0gKCR1c2VyLT5pc19hY3RpdmUgPT0gMCk/MTowOwoJCQkJJHVzZXItPnNhdmUoKTsKCQkJCWJyZWFrOwoJCQljYXNlICdkZWxldGUnOgoJCQkJJHVzZXItPmRlbGV0ZSgpOwoJCQkJYnJlYWs7CgkJfQoJfQp9CgpyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsIGFycmF5KCd0YWInID0+ICd1c2VycycpKTs=]]></data>
	</file>
	<file>
	  <filename>/action.user_show.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgovKgoJVmlldyBhbiB1c2VyIHByb2ZpbGUKKi8KCmlmIChpc3NldCgkcGFyYW1zWyd1c2VybmFtZSddKSkKewoJJHVzZXIgPSBDTVNVc2VyOjpyZXRyaWV2ZUJ5VXNlcm5hbWUoJHBhcmFtc1sndXNlcm5hbWUnXSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZXInLCAkdXNlcik7CQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9maWxlJywgJHVzZXItPmdldFByb2ZpbGUoKSk7CgkKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZvcignc2hvd19zdWNjZXNzJywgJHBhcmFtcyk7Cn0KZWxzZWlmIChpc3NldCgkcGFyYW1zWyd1c2VyX2lkJ10pKQp7CgkkdXNlciA9IENNU1VzZXI6OnJldHJpZXZlQnlQaygkcGFyYW1zWyd1c2VyX2lkJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VyJywgJHVzZXIpOwkKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvZmlsZScsICR1c2VyLT5nZXRQcm9maWxlKCkpOwoJCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ3Nob3dfc3VjY2VzcycsICRwYXJhbXMpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.validate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CgppZihpc3NldCgkcGFyYW1zWyd1c2VyX2lkJ10pICYmIGlzc2V0KCRwYXJhbXNbJ3Rva2VuJ10pKQp7CgkkdXNlciA9IENNU1VzZXI6OmRvU2VsZWN0T25lKAoJCWFycmF5KAoJCQknd2hlcmUnID0+IGFycmF5KAoJCQkJJ2lkJyA9PiAkcGFyYW1zWyd1c2VyX2lkJ10sCgkJCQkndG9rZW4nID0+ICRwYXJhbXNbJ3Rva2VuJ10KCQkJCSkKCQkJKSk7CgkJCQoJCWlmICghZW1wdHkoJHVzZXIpKQoJCXsKCQkJJHVzZXItPmlzX2FjdGl2ZSA9IDE7CgkJCSR1c2VyLT5zYXZlKCk7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICR0aGlzLT5sYW5nKCd1c2VyIHZhbGlkYXRlZCcpKTsKCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCd2YWxpZGF0ZV9zdWNjZXNzJyk7CgkJCXJldHVybjsKCQl9CgkJCn0JCQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHRoaXMtPmxhbmcoJ2ludmFsaWQgdG9rZW4gb3IgdXNlciB1bmtub3duJykpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGb3IoJ3ZhbGlkYXRlX2Vycm9yJyk7CnJldHVybjsK]]></data>
	</file>
	<file>
	  <filename>/CMSUsers.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAgTW9kdWxlOiBDTVMgVXNlcnMgLSBUaGlzIGlzIGFuIGFsdGVybmF0aXZlIHRvIEZFVSAsIFNlbGZSZWdpc3RyYXRpb24gYW5kIEN1c3RvbSBDb250ZW50CiAgCiAgQ29weXJpZ2h0czogSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIC0gTW9ycmlzICYgQ2hhcG1hbiBCZWxnaXVtIC0gMjAxMCDCqQogIExpY2Vuc2U6IEdQTAoqLwoKLy8gICAgcmVxdWlyZV9vbmNlKCdsaWIvY2xhc3MuQ01TVXNlci5waHAnKTsKLy8gICAgcmVxdWlyZV9vbmNlKCdsaWIvY2xhc3MuQ01TUHJvZmlsZS5waHAnKTsKLy8gICAgcmVxdWlyZV9vbmNlKCdsaWIvY2xhc3MuQ01TUHJvZmlsZUZpZWxkLnBocCcpOwovLyAgICByZXF1aXJlX29uY2UoJ2xpYi9jbGFzcy5DTVNQZXJtaXNzaW9uLnBocCcpOwovLyAgICByZXF1aXJlX29uY2UoJ2xpYi9jbGFzcy5DTVNHcm91cFByb2ZpbGVGaWVsZC5waHAnKTsKLy8gICAgcmVxdWlyZV9vbmNlKCdsaWIvY2xhc3MuQ01TR3JvdXBQZXJtaXNzaW9uLnBocCcpOwovLyAgICByZXF1aXJlX29uY2UoJ2xpYi9jbGFzcy5DTVNHcm91cC5waHAnKTsKCmNsYXNzIENNU1VzZXJzIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAgIHB1YmxpYyBzdGF0aWMgJGZyb250ZW5kX2FjdGlvbnMgPSBhcnJheSgKICAgICAgICAnZGVmYXVsdCcgPT4gJ2RlZmF1bHQnLAogICAgICAgICdzaWduaW4nID0+ICdzaWduaW4nLAogICAgICAgICdzaWdub3V0JyA9PiAnc2lnbm91dCcsCiAgICAgICAgJ3NpZ251cCcgPT4gJ3NpZ251cCcsCiAgICAgICAgJ3Byb2ZpbGUnID0+ICdwcm9maWxlJywKICAgICAgICAndXJsX2ZvcicgPT4gJ3VybF9mb3InLAogICAgICAgICdzaWduX2luJyA9PiAnc2lnbl9pbicsCiAgICAgICAgJ3Bhc3N3b3JkX2NoYW5nZScgPT4gJ3Bhc3N3b3JkX2NoYW5nZScsCiAgICAgICAgJ3Bhc3N3b3JkX3Jlc2V0JyA9PiAncGFzc3dvcmRfcmVzZXQnLAogICAgICAgICdwYXNzd29yZF9mb3Jnb3QnID0+ICdwYXNzd29yZF9mb3Jnb3QnLAogICAgICAgICdwcm9maWxlX2VkaXQnID0+ICdwcm9maWxlX2VkaXQnLAogICAgICAgICd1c2VyX3Nob3cnID0+ICd1c2VyX3Nob3cnLAogICAgICAgICdsaXN0JyA9PiAnbGlzdCcsCiAgICApOwoKICAgIHB1YmxpYyBzdGF0aWMgJGZyb250ZW5kX3RlbXBsYXRlcyA9IGFycmF5KAogICAgICAgICdkZWZhdWx0JyA9PiAnZGVmYXVsdCcsCiAgICAgICAgJ3NpZ25pbl9mb3JtJyA9PiAnc2lnbmluX2Zvcm0nLAogICAgICAgICdzaWduaW5fc3VjY2VzcycgPT4gJ3NpZ25pbl9zdWNjZXNzJywKICAgICAgICAnc2lnbmluX2Rpc2FibGVkJyA9PiAnc2lnbmluX2Rpc2FibGVkJywKICAgICAgICAnc2lnbm91dF9zdWNjZXNzJyA9PiAnc2lnbm91dF9zdWNjZXNzJywKICAgICAgICAnc2lnbnVwX2Zvcm0nID0+ICdzaWdudXBfZm9ybScsCiAgICAgICAgJ3NpZ251cF9zdWNjZXNzJyA9PiAnc2lnbnVwX3N1Y2Nlc3MnLAogICAgICAgICdzaWdudXBfZGlzYWJsZWQnID0+ICdzaWdudXBfZGlzYWJsZWQnLAogICAgICAgIC8vJ3Byb2ZpbGVfZm9ybScgICAgICAgICAgICAgICA9PiAncHJvZmlsZV9mb3JtJywKICAgICAgICAncHJvZmlsZV9zdWNjZXNzJyA9PiAncHJvZmlsZV9zdWNjZXNzJywKICAgICAgICAncHJvZmlsZV9lZGl0X2Zvcm0nID0+ICdwcm9maWxlX2VkaXRfZm9ybScsCiAgICAgICAgJ3Byb2ZpbGVfZWRpdF9zdWNjZXNzJyA9PiAncHJvZmlsZV9lZGl0X3N1Y2Nlc3MnLAogICAgICAgICdwYXNzd29yZF9jaGFuZ2VfZm9ybScgPT4gJ3Bhc3N3b3JkX2NoYW5nZV9mb3JtJywKICAgICAgICAncGFzc3dvcmRfY2hhbmdlX3N1Y2Nlc3MnID0+ICdwYXNzd29yZF9jaGFuZ2Vfc3VjY2VzcycsCiAgICAgICAgJ3Bhc3N3b3JkX3Jlc2V0X2Zvcm0nID0+ICdwYXNzd29yZF9yZXNldF9mb3JtJywKICAgICAgICAncGFzc3dvcmRfcmVzZXRfZXJyb3InID0+ICdwYXNzd29yZF9yZXNldF9lcnJvcicsCiAgICAgICAgJ3Bhc3N3b3JkX3Jlc2V0X3N1Y2Nlc3MnID0+ICdwYXNzd29yZF9yZXNldF9zdWNjZXNzJywKICAgICAgICAncGFzc3dvcmRfZm9yZ290X2Zvcm0nID0+ICdwYXNzd29yZF9mb3Jnb3RfZm9ybScsCiAgICAgICAgJ3Bhc3N3b3JkX2ZvcmdvdF9zdWNjZXNzJyA9PiAncGFzc3dvcmRfZm9yZ290X3N1Y2Nlc3MnLAogICAgICAgICdlbWFpbF92YWxpZGF0aW9uJyA9PiAnZW1haWxfdmFsaWRhdGlvbicsCiAgICAgICAgJ3ZhbGlkYXRlX3N1Y2Nlc3MnID0+ICd2YWxpZGF0ZV9zdWNjZXNzJywKICAgICAgICAndmFsaWRhdGVfZXJyb3InID0+ICd2YWxpZGF0ZV9lcnJvcicsCiAgICAgICAgJ2VtYWlsX3NpZ251cF9zdWNjZXNzJyA9PiAnZW1haWxfc2lnbnVwX3N1Y2Nlc3MnLAogICAgICAgICdlbWFpbF9yZXNldF9wYXNzd29yZF9zdWNjZXNzJyA9PiAnZW1haWxfcmVzZXRfcGFzc3dvcmRfc3VjY2VzcycsCiAgICAgICAgJ3Nob3dfc3VjY2VzcycgPT4gJ3Nob3dfc3VjY2VzcycsCiAgICAgICAgJ3VzZXJfbGlzdF9zdWNjZXNzJyA9PiAndXNlcl9saXN0X3N1Y2Nlc3MnLAogICAgKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdDTVNVc2Vycyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdDTVMgVXNlcnMnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJzEuMS42JzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJ0plYW4tQ2hyaXN0b3BoZSBDdXZlbGllcic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKICAgIHsKICAgICAgICByZXR1cm4gJ2N5YmVydG90b3BoZUBnbWFpbC5jb20nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpCiAgICB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja0FjY2VzcygpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBDaGVja0FjY2VzcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBDTVNVc2VycycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheSgnQ01TRm9ybXMnID0+ICcxLjEwLjEwJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICd1c2Vyc2dyb3Vwcyc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bGFuZygnaGVscCcpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICcxLjEwJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogICAgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIGZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJGNhcGFiaWxpdHksICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgIGlmICgkY2FwYWJpbGl0eSA9PSAidXNlcnMiKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKLy8gIHB1YmxpYyBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKLy8gIHsKLy8gICAgaWYoIWlzc2V0KCR0aGlzLT5pbml0aWFsaXplZCkpCi8vICAgIHsKLy8gICAgICR0aGlzLT5pbml0aWFsaXplZCA9IHRydWU7Ci8vICAgICAgIC8vICR0aGlzLT5Jbml0aWFsaXplQWRtaW4oKTsgLy8gVE9ETzogVXNlbGVzcwovLyAgICAgICAkdGhpcy0+SW5pdGlhbGl6ZUZyb250ZW5kKCk7Ci8vICAgIH0KLy8gIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkKICAgIHsKICAgICAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICAgICAkdGhpcy0+U2V0dXBSb3V0ZXMoKTsKCi8vICAgICAgICAkdGhpcy0+bG9hZFVzZXIoKTsgLy8gVXNlIHRoZSBzbWFydHkge0NNU1VzZXJ9IGluc3RlYWQKICAgICAgICAkdGhpcy0+c21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigKICAgICAgICAgICAgJ0NNU1VzZXInLAogICAgICAgICAgICBhcnJheSgnQ01TVXNlcnMnLCAncmV0cmlldmVVc2VyJykKICAgICAgICApOwogICAgfQoKICAgIGZ1bmN0aW9uIHJldHJpZXZlVXNlcigkcGFyYW1zLCAmJHNtYXJ0eSkKICAgIHsKICAgICAgICAkdXNlciA9IHNlbGY6OmdldFVzZXIoKTsKCiAgICAgICAgaWYgKGlzX29iamVjdCgkdXNlcikpIHsKICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbl90byddKSkgewogICAgICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbl90byddLCAkdXNlcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ0NNU1VzZXInLCAkdXNlcik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbG9hZFVzZXIoKQogICAgewogICAgICAgICR1c2VyID0gc2VsZjo6Z2V0VXNlcigpOwogICAgICAgIGlmICgkdXNlcikgewogICAgICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ0NNU1VzZXInLCAkdXNlcik7CgogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gU2V0dXBSb3V0ZXMoKQogICAgewogICAgICAgIC8vIGZvcmVhY2goc2VsZjo6JGZyb250ZW5kX2FjdGlvbnMgYXMgJGFjdGlvbikKICAgICAgICAvLyAgICAgewogICAgICAgIC8vICAgICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvdXNlclwvJy4kYWN0aW9uLidcLyg/UDxyZXR1cm5pZD5bMC05XSspKFwvLio/KT8kLycsIGFycmF5KCdhY3Rpb24nID0+ICRhY3Rpb24pKTsKICAgICAgICAvLyAgICAgfQogICAgICAgIDsKICAgICAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgKICAgICAgICAgICAgJy91c2VyXC92YWxpZGF0ZVwvKD9QPHVzZXJfaWQ+WzAtOV0rKVwvKD9QPHRva2VuPlthLXpBLVowLTlfLV0rKShcLy4qPyk/JC8nLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdhY3Rpb24nID0+ICd2YWxpZGF0ZScsCiAgICAgICAgICAgICAgICAncmV0dXJuaWQnID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3BhZ2UnLCBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0UGFnZUlEKCkpLAogICAgICAgICAgICApCiAgICAgICAgKTsKCiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoCiAgICAgICAgICAgICcvdXNlclwvc2hvd1wvKD9QPHVzZXJuYW1lPlthLXpBLVowLTlfLV0rKShcLy4qPyk/JC8nLAogICAgICAgICAgICBhcnJheSgKICAgICAgICAgICAgICAgICdhY3Rpb24nID0+ICd1c2VyX3Nob3cnLAogICAgICAgICAgICAgICAgJ3JldHVybmlkJyA9PiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9wYWdlJywgY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+R2V0RGVmYXVsdFBhZ2VJRCgpKSwKICAgICAgICAgICAgKQogICAgICAgICk7CgogICAgICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKAogICAgICAgICAgICAnL3VzZXJcLyg/UDxhY3Rpb24+W2EtekEtWjAtOV8tXSspXC8oP1A8dXNlcl9pZD5bMC05XSspXC8oP1A8dG9rZW4+W2EtekEtWjAtOV8tXSspKFwvLio/KT8kLycsCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJ3JldHVybmlkJyA9PiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9wYWdlJywgY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+R2V0RGVmYXVsdFBhZ2VJRCgpKQoKICAgICAgICAgICAgKQogICAgICAgICk7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy91c2VyXC8oP1A8YWN0aW9uPlthLXpBLVowLTlfLV0rKVwvKD9QPHVzZXJfaWQ+WzAtOV0rKVwvKD9QPHRva2VuPlthLXpBLVowLTlfLV0rKVwvKD9QPHJldHVybmlkPlswLTldKykoXC8uKj8pPyQvJyk7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy91c2VyXC8oP1A8YWN0aW9uPlthLXpBLVowLTlfLV0rKVwvKD9QPHJldHVybmlkPlswLTldKykoXC8uKj8pPyQvJyk7CiAgICAgICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoCiAgICAgICAgICAgICcvdXNlclwvKD9QPGFjdGlvbj5bYS16QS1aMC05Xy1dKykoXC8uKj8pPyQvJywKICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAncmV0dXJuaWQnID0+ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3BhZ2UnLCBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0UGFnZUlEKCkpLAogICAgICAgICAgICApCiAgICAgICAgKTsKCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNoZWNrQWN0aW9uUmlnaHQoJGFjdGlvbiA9ICdkZWZhdWx0JykKICAgIHsKICAgICAgICBpZiAoaW5fYXJyYXkoJGFjdGlvbiwgc2VsZjo6JGZyb250ZW5kX2FjdGlvbnMpKSB7CiAgICAgICAgICAgIHJldHVybiAkYWN0aW9uOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAnZGVmYXVsdCc7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGdldEljb24oJGljb24sICRhbHQgPSBudWxsKQogICAgewogICAgICAgICRjb25maWcgPSYgJHRoaXMtPmdldENvbmZpZygpOwogICAgICAgICRpbWFnZV9wYXRoID0gZGlybmFtZShfX0ZJTEVfXykgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2ltYWdlcycgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2ljb25zJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkaWNvbjsKICAgICAgICAkaW1hZ2VfdXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXSAuICcvbW9kdWxlcy9DTVNVc2Vycy9pbWFnZXMvaWNvbnMvJyAuICRpY29uOwogICAgICAgIGlmIChpc19maWxlKCRpbWFnZV9wYXRoKSkgewogICAgICAgICAgICAkaW1nID0gJzxpbWcgc3JjPSInIC4gJGltYWdlX3VybCAuICciJzsKICAgICAgICAgICAgaWYgKCFpc19udWxsKCRhbHQpKSB7CiAgICAgICAgICAgICAgICAkaW1nIC49ICcgYWx0PSInIC4gJGFsdCAuICciIHRpdGxlPSInIC4gJGFsdCAuICciJzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkaW1nIC49ICcgLz4nOwoKICAgICAgICAgICAgcmV0dXJuICRpbWc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvLyBHRU5FUkFMIFRPT0xTCgogICAgcHVibGljIGZ1bmN0aW9uIEdldERlZmF1bHRUZW1wbGF0ZXMoKQogICAgewogICAgICAgIHJldHVybiB1bnNlcmlhbGl6ZSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF90ZW1wbGF0ZXMnLCBzZXJpYWxpemUoYXJyYXkoKSkpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gU2V0RGVmYXVsdFRlbXBsYXRlcygkbGlzdCA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3RlbXBsYXRlcycsIHNlcmlhbGl6ZSgkbGlzdCkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBBZGREZWZhdWx0VGVtcGxhdGUoJGFjdGlvbiwgJHRlbXBsYXRlKQogICAgewogICAgICAgICRsaXN0ID0gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZXMoKTsKICAgICAgICAkbGlzdFskYWN0aW9uXSA9ICR0ZW1wbGF0ZTsKICAgICAgICAkdGhpcy0+U2V0RGVmYXVsdFRlbXBsYXRlcygkbGlzdCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldERlZmF1bHRUZW1wbGF0ZSgkYWN0aW9uKQogICAgewogICAgICAgICRsaXN0ID0gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZXMoKTsKICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygkYWN0aW9uLCAkbGlzdCkpIHsKICAgICAgICAgICAgcmV0dXJuICRsaXN0WyRhY3Rpb25dOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzRGVmYXVsdFRlbXBsYXRlKCR0ZW1wbGF0ZSkKICAgIHsKICAgICAgICAkbGlzdCA9ICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVzKCk7CiAgICAgICAgJGFjdGlvbiA9IGFycmF5X3NlYXJjaCgkdGVtcGxhdGUsICRsaXN0KTsKICAgICAgICBpZiAoJGFjdGlvbiAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuICRhY3Rpb247CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZURlZmF1bHRUZW1wbGF0ZSgkdGVtcGxhdGUpCiAgICB7CiAgICAgICAgJGxpc3QgPSAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlcygpOwogICAgICAgICRhY3Rpb24gPSBhcnJheV9zZWFyY2goJHRlbXBsYXRlLCAkbGlzdCk7CiAgICAgICAgaWYgKCRhY3Rpb24gIT09IGZhbHNlKSB7CiAgICAgICAgICAgIHVuc2V0KCRsaXN0WyRhY3Rpb25dKTsKICAgICAgICAgICAgJHRoaXMtPlNldERlZmF1bHRUZW1wbGF0ZXMoJGxpc3QpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBQcm9jZXNzVGVtcGxhdGVGb3IoJGFjdGlvbiwgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICYmICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddKSkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKICAgICAgICB9IGVsc2VpZiAoKCR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGUoJGFjdGlvbikpICYmICgkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlKSAhPT0gZmFsc2UpKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Zyb250ZW5kLicgLiAkYWN0aW9uIC4gJy50cGwnKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG1rTGluaygkaWQsICRyZXR1cm5pZCA9ICcnLCAkcGFyYW1zID0gYXJyYXkoKSwgJG9ubHlocmVmID0gZmFsc2UsICRpbmxpbmUgPSBmYWxzZSwgJGFkZHR0ZXh0ID0gJycsICR0YXJnZXRjb250ZW50b25seSA9IGZhbHNlKQogICAgewogICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydtYWN0aW9uJ10pICYmICgkYWN0aW9uID0gJHRoaXMtPmNoZWNrQWN0aW9uUmlnaHQoJHBhcmFtc1snbWFjdGlvbiddKSkpIHsKICAgICAgICAgICAgJHRpdGxlID0gaXNzZXQoJHBhcmFtc1sndGl0bGUnXSkgPyAkcGFyYW1zWyd0aXRsZSddIDogJHRoaXMtPmxhbmcoJGFjdGlvbik7CiAgICAgICAgICAgIHVuc2V0KCRwYXJhbXNbJ2FjdGlvbiddKTsKICAgICAgICAgICAgdW5zZXQoJHBhcmFtc1snbWFjdGlvbiddKTsKICAgICAgICAgICAgdW5zZXQoJHBhcmFtc1sndGl0bGUnXSk7CiAgICAgICAgICAgIHVuc2V0KCRwYXJhbXNbJ21vZHVsZSddKTsKCiAgICAgICAgICAgIHN3aXRjaCAoJGFjdGlvbikgewogICAgICAgICAgICAgICAgY2FzZSAndXNlcl9zaG93JzoKICAgICAgICAgICAgICAgICAgICAkc2x1ZyA9ICd1c2VyL3Nob3cvJyAuICRwYXJhbXNbJ3VzZXJuYW1lJ10gLiAnLyc7CiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJHBhcmFtc1sndXNlcm5hbWUnXSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICRzbHVnID0gJ3VzZXIvJyAuICRhY3Rpb24gLiAnLyc7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCgogICAgICAgICAgICBpZiAoJHRhcmdldGNvbnRlbnRvbmx5IHx8ICgkcmV0dXJuaWQgIT0gJycgJiYgISRpbmxpbmUpKSB7CiAgICAgICAgICAgICAgICAkaWQgPSAnY250bnQwMSc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRuZXdwYXJhbXMgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrZXkgPT4gJHBhcmFtKSB7CiAgICAgICAgICAgICAgICAkbmV3cGFyYW1zWyRpZCAuICRrZXldID0gJHBhcmFtOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoY291bnQoJG5ld3BhcmFtcykgPiAwKSB7CiAgICAgICAgICAgICAgICAkc2x1ZyAuPSAnPycgLiBodHRwX2J1aWxkX3F1ZXJ5KCRuZXdwYXJhbXMpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkd2Fybl9tZXNzYWdlID0gJyc7CiAgICAgICAgICAgICRpbmxpbmUgPSBmYWxzZTsKICAgICAgICAgICAgJGFkZHR0ZXh0ID0gJyc7CiAgICAgICAgICAgICR0YXJnZXRjb250ZW50b25seSA9IGZhbHNlOwoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAkdGl0bGUsICRwYXJhbXMsICR3YXJuX21lc3NhZ2UsICRvbmx5aHJlZiwgJGlubGluZSwgJGFkZHR0ZXh0LCAkdGFyZ2V0Y29udGVudG9ubHksICRzbHVnKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gRnVuY3Rpb24gdG8gY2hlY2sgYWxsIHRoZSBtb2R1bGVzIHRvIHNlYXJjaCBmb3IgcHJvZmlsZSBtb2R1bGUgZXhpc3RlbmNlCgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRVc2VyYWJsZU1vZHVsZXMoKQogICAgewogICAgICAgICR1c2VyYWJsZSA9IGFycmF5KCk7CiAgICAgICAgJG1vZHVsZXMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCktPmdldF9tb2R1bGVzX3dpdGhfY2FwYWJpbGl0eSgnY21zX3VzZXJzJyk7CgogICAgICAgIGZvcmVhY2ggKCRtb2R1bGVzIGFzICRtb2R1bGUpIHsKICAgICAgICAgICAgJHVzZXJhYmxlWyRtb2R1bGVdID0gJG1vZHVsZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdXNlcmFibGU7CiAgICB9CgogICAgLy8gVXNlciBzcGVjaWZpYyBmdW5jdGlvbnMKCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFVzZXIoKQogICAgewogICAgICAgIGlmIChpc3NldCgkX1NFU1NJT05bJ21vZHVsZXMnXVsnQ01TVXNlcnMnXVsndXNlcl9pZCddKSkgewogICAgICAgICAgICAkdXNlciA9IENNU1VzZXI6OnJldHJpZXZlQnlQaygkX1NFU1NJT05bJ21vZHVsZXMnXVsnQ01TVXNlcnMnXVsndXNlcl9pZCddKTsKICAgICAgICAgICAgaWYgKGlzX29iamVjdCgkdXNlcikpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkdXNlcjsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmIChpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSAmJiAhaXNfbnVsbCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSkgewogICAgICAgICAgICAkdXNlciA9IENNU1VzZXI6OnJldHJpZXZlQnlVc2VybmFtZSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKTsKCiAgICAgICAgICAgIGlmICgkdXNlciAmJiAkdXNlci0+YXV0aGVudGljYXRlKCRfU0VSVkVSWydQSFBfQVVUSF9QVyddKSkgewogICAgICAgICAgICAgICAgJF9TRVNTSU9OWydtb2R1bGVzJ11bJ0NNU1VzZXJzJ11bJ3VzZXJfaWQnXSA9ICR1c2VyLT5nZXRJZCgpOwoKICAgICAgICAgICAgICAgIHJldHVybiAkdXNlcjsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmIChpc3NldCgkX1NFUlZFUlsnUkVNT1RFX1VTRVInXSkgJiYgIWlzX251bGwoJF9TRVJWRVJbJ1JFTU9URV9VU0VSJ10pKSB7CiAgICAgICAgICAgIC8vIEknTSBOT1QgU1VSRSBUSElTIFdBWSBJUyBTQUZFCiAgICAgICAgICAgICR1c2VyID0gQ01TVXNlcjo6cmV0cmlldmVCeVVzZXJuYW1lKCRfU0VSVkVSWydSRU1PVEVfVVNFUiddKTsKCiAgICAgICAgICAgIGlmIChpc19vYmplY3QoJHVzZXIpKSB7CiAgICAgICAgICAgICAgICAkdXNlci0+bGFzdExvZ2luKCk7CiAgICAgICAgICAgICAgICAvLyYmICR1c2VyLT5hdXRoZW50aWNhdGUoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pIC8vIEkgRE8gTk9UIExJS0UgVEhJUyBXQVkgISEhCiAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ21vZHVsZXMnXVsnQ01TVXNlcnMnXVsndXNlcl9pZCddID0gJHVzZXItPmdldElkKCk7CgogICAgICAgICAgICAgICAgcmV0dXJuICR1c2VyOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFVzZXJPckxvZ2luKCRwYXJhbXMgPSBhcnJheSgpKSAvLyRyZWRpcmVjdCA9ICdwcm9maWxlJywgJHJlZGlyZWN0X3VybCA9IG51bGwpCiAgICB7CgogICAgICAgIGlmICgkdXNlciA9IHNlbGY6OmdldFVzZXIoKSkgewogICAgICAgICAgICByZXR1cm4gJHVzZXI7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWlzX2FycmF5KCRwYXJhbXMpKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgncmVkaXJlY3QnID0+ICRwYXJhbXMpOwogICAgICAgIH0gZWxzZWlmIChjb3VudCgkcGFyYW1zKSA9PSAwKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgncmVkaXJlY3QnID0+ICdwcm9maWxlJyk7CiAgICAgICAgfQoKICAgICAgICAkY21zdXNlcnMgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU1VzZXJzJyk7CiAgICAgICAgJHJldHVybmlkID0gJGNtc3VzZXJzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3BhZ2UnLCBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0UGFnZUlEKCkpOwogICAgICAgIGdsb2JhbCAkaWQ7CiAgICAgICAgJGNtc3VzZXJzLT5SZWRpcmVjdCgkaWQsICdzaWduaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZW5kRW1haWwoJHR5cGUsIENNU1VzZXIgJiR1c2VyLCAkaWQsICRyZXR1cm5pZCkKICAgIHsKICAgICAgICBzd2l0Y2ggKCR0eXBlKSB7CiAgICAgICAgICAgIGNhc2UgJ3ZhbGlkYXRpb24nOgogICAgICAgICAgICAgICAgJHN1YmplY3QgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndmFsaWRhdGlvbl9lbWFpbF9zdWJqZWN0JywgJHRoaXMtPmxhbmcoJ2FjY291bnQgdmFsaWRhdGlvbicpKTsKICAgICAgICAgICAgICAgICR1c2VyLT5nZW5lcmF0ZVRva2VuKCk7IC8vIFVzZWQgdG8gZ2VuZXJhdGUgYSBuZXcgdG9rZW4KICAgICAgICAgICAgICAgICR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICd2YWxpZGF0ZScsICRyZXR1cm5pZCwgJycsIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSwgJ3Rva2VuJyA9PiAkdXNlci0+Z2V0VG9rZW4oKSksICcnLCB0cnVlLCBmYWxzZSwgJycsIGZhbHNlLCAndXNlci92YWxpZGF0ZS8nIC4gJHVzZXItPmdldElkKCkgLiAnLycgLiAkdXNlci0+Z2V0VG9rZW4oKSAuICcvJyk7CiAgICAgICAgICAgICAgICAkdGVtcGxhdGUgPSAnZW1haWxfdmFsaWRhdGlvbic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnc2lnbnVwJzoKICAgICAgICAgICAgICAgICRzdWJqZWN0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpZ251cF9lbWFpbF9zdWJqZWN0JywgJHRoaXMtPmxhbmcoJ2FjY291bnQgZGV0YWlscycpKTsKICAgICAgICAgICAgICAgICR0ZW1wbGF0ZSA9ICdlbWFpbF9zaWdudXBfc3VjY2Vzcyc7CiAgICAgICAgICAgICAgICAkdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc2lnbmluJywgJHJldHVybmlkLCAnJywgYXJyYXkoKSwgJycsIHRydWUsIGZhbHNlLCAnJywgZmFsc2UsICd1c2VyL3NpZ25pbi8nKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdwYXNzd29yZF9yZXNldCc6CiAgICAgICAgICAgICAgICAkc3ViamVjdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXNzd29yZF9yZXNldF9lbWFpbF9zdWJqZWN0JywgJHRoaXMtPmxhbmcoJ2FjY291bnQgcmVzZXQgcGFzc3dvcmQnKSk7CiAgICAgICAgICAgICAgICAkdGVtcGxhdGUgPSAnZW1haWxfcmVzZXRfcGFzc3dvcmRfc3VjY2Vzcyc7CiAgICAgICAgICAgICAgICAkdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoCiAgICAgICAgICAgICAgICAgICAgJGlkLAogICAgICAgICAgICAgICAgICAgICdwYXNzd29yZF9yZXNldCcsCiAgICAgICAgICAgICAgICAgICAgJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgICAgIGFycmF5KCd1c2VyX2lkJyA9PiAkdXNlci0+Z2V0SWQoKSwgJ3Rva2VuJyA9PiAkdXNlci0+Z2V0VG9rZW4oKSksCiAgICAgICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgICAgICAgICAgdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAnJywKICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAndXNlci9wYXNzd29yZF9yZXNldC8nIC4gJHVzZXItPmdldElkKCkgLiAnLycgLiAkdXNlci0+Z2V0VG9rZW4oKSAuICcvJyAuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3BhZ2UnLCBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0UGFnZUlEKCkpIC4gJy8nCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXNzZXQoJHRlbXBsYXRlKSkgLy8gU28gd2UgYXJlIGluIGV4aXN0aW5nIHR5cGVzIG9ubHkuLi4KICAgICAgICB7CiAgICAgICAgICAgICRzdWJqZWN0ID0gc3RyX3JlcGxhY2UoJyVzJywgJHVzZXItPnVzZXJuYW1lLCAkc3ViamVjdCk7CgogICAgICAgICAgICAkY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgICAgICAgICAgICRjbXNtYWlsZXItPnJlc2V0KCk7CgogICAgICAgICAgICAkY21zbWFpbGVyLT5TZXRGcm9tTmFtZSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1haWxfZnJvbScpKTsKICAgICAgICAgICAgJGNtc21haWxlci0+U2V0RnJvbSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1haWxfYWRkcmVzcycpKTsKCiAgICAgICAgICAgICRjbXNtYWlsZXItPlNldFN1YmplY3QoJHN1YmplY3QpOwogICAgICAgICAgICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCR1c2VyLT5lbWFpbCk7CiAgICAgICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcicsICR1c2VyKTsKICAgICAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1cmwnLCAkdXJsKTsKICAgICAgICAgICAgJGNtc21haWxlci0+U2V0Qm9keSgkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRm9yKCR0ZW1wbGF0ZSkpOwogICAgICAgICAgICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CiAgICAgICAgICAgICRjbXNtYWlsZXItPlNlbmQoKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBqdW1wVG8oJHVybCkKICAgIHsKICAgICAgICAkdXJsID0gc2VsZjo6cGFyc2VVcmwoJHVybCk7CiAgICAgICAgaWYgKGhlYWRlcnNfc2VudCgpKSB7CiAgICAgICAgICAgIGVjaG8gJwogICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgIDwhLS0KICAgICAgICBsb2NhdGlvbi5yZXBsYWNlKCInIC4gJHVybCAuICciKTsKICAgICAgLy8gLS0+CiAgICAgIDwvc2NyaXB0PgogICAgICA8bm9zY3JpcHQ+CiAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iUmVmcmVzaCIgY29udGVudD0iMDtVUkw9JyAuICR1cmwgLiAnIj4KICAgICAgPC9ub3NjcmlwdD4nOwogICAgICAgICAgICBleGl0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGhlYWRlcignTG9jYXRpb246ICcgLiAkdXJsKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIHBhcnNlVXJsKCR1cmwpCiAgICB7CiAgICAgICAgaWYgKHN0cnBvcygkdXJsLCAnaHR0cCcpID09PSAwKSB7CiAgICAgICAgICAgIHJldHVybiAkdXJsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIDsKICAgICAgICAgICAgJG1hbmFnZXIgPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAgICAgICAgICRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkdXJsKTsKICAgICAgICAgICAgaWYgKCRub2RlKSB7CiAgICAgICAgICAgICAgICAkY29udGVudCA9ICRub2RlLT5HZXRDb250ZW50KCk7CiAgICAgICAgICAgICAgICBpZiAoJGNvbnRlbnQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGNvbnRlbnQtPkdldFVybCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCR1cmwpOwogICAgICAgICAgICAgICAgaWYgKCRub2RlKSB7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnQgPSAkbm9kZS0+R2V0Q29udGVudCgpOwogICAgICAgICAgICAgICAgICAgIGlmICgkY29udGVudCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGNvbnRlbnQtPkdldFVybCgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHN3aXRjaEh0dHBBdXRoKCRvbiA9IGZhbHNlKQogICAgewogICAgICAgICRjb25maWcgPSBjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKICAgICAgICAkZmlsZSA9ICRjb25maWdbJ3Jvb3RfcGF0aCddIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICcuaHRhY2Nlc3MnOwogICAgICAgICRkYXRhID0gZmlsZV9nZXRfY29udGVudHMoJGZpbGUpOwogICAgICAgIGlmIChmYWxzZSAhPT0gJGRhdGEpIHsKICAgICAgICAgICAgJGRhdGEgPSAkdGhpcy0+cmVwbGFjZUh0dHBBdXRoKCRkYXRhLCAkb24pOwogICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJGRhdGEpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGVIdFBhc3N3ZCgpCiAgICB7CiAgICAgICAgLy8gJGRhdGEgPQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZXBsYWNlSHR0cEF1dGgoJGRhdGEsICRvbiA9IGZhbHNlKQogICAgewogICAgICAgIGlmIChmYWxzZSA9PT0gJG9uKSB7CiAgICAgICAgICAgIGlmIChzdHJwb3MoJGRhdGEsICcjLS08SFRUUEFVVEg+LS0nKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICRkYXRhID0gJHRoaXMtPnJlbW92ZUh0dHBBdXRoVmFsdWUoJGRhdGEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gTm90aGluZyB0byBkbwogICAgICAgICAgICAgICAgcmV0dXJuICRkYXRhOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlaWYgKHRydWUgPT09ICRvbikgewogICAgICAgICAgICBpZiAoc3RycG9zKCRkYXRhLCAnIy0tPEhUVFBBVVRIPi0tJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkZGF0YSA9ICR0aGlzLT5yZW1vdmVIdHRwQXV0aFZhbHVlKCRkYXRhKTsKLy8gICAgICAgICRkYXRhIC49ICR0aGlzLT5nZXRIdHRwQXV0aFZhbHVlKCk7CiAgICAgICAgICAgICAgICAkZGF0YSAuPSAkdGhpcy0+Z2VuZXJhdGVIdEFjY2VzcygpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gSnVzdCBhZGQgaXQKLy8gICAgICAgICRkYXRhIC49ICR0aGlzLT5nZXRIdHRwQXV0aFZhbHVlKCk7CiAgICAgICAgICAgICAgICAkZGF0YSAuPSAkdGhpcy0+Z2VuZXJhdGVIdEFjY2VzcygpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBXcm9uZyAkb24gdmFsdWUsIHdlIGRvIG5vdGhpbmcKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlbW92ZUh0dHBBdXRoVmFsdWUoJGRhdGEpCiAgICB7CiAgICAgICAgaWYgKCRzdGFydCA9IHN0cnBvcygkZGF0YSwgIlxuIy0tPEhUVFBBVVRIPi0tIikpIHsKICAgICAgICAgICAgJGVuZCA9IHN0cnBvcygkZGF0YSwgJyMtLTwvSFRUUEFVVEg+LS0nKSArIHN0cmxlbigiIy0tPC9IVFRQQVVUSD4tLVxuIik7CgogICAgICAgICAgICAkZGF0YSA9IHN1YnN0cigkZGF0YSwgMCwgJHN0YXJ0KSAuIHN1YnN0cigkZGF0YSwgJGVuZCk7CgoKICAgICAgICAgICAgLy8gZWNobyAkc3RhcnQgLiAnIC0tLS0tLSAnIC4gJGVuZDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0SHR0cEF1dGhWYWx1ZSgpCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IGNtc191dGlsczo6Z2V0X2NvbmZpZygpOwogICAgICAgICR0ZXh0ID0gIlxuIy0tPEhUVFBBVVRIPi0tXG4iOwoKICAgICAgICAkdGV4dCAuPSAiQXV0aFVzZXJGaWxlICIgLiAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnaHRwYXNzd29yZF9wYXRoJywgJGNvbmZpZ1sncm9vdF9wYXRoJ10pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICIuaHRwYXNzd2RcbiI7CiAgICAgICAgJHRleHQgLj0gIkF1dGhHcm91cEZpbGUgL2Rldi9udWxsXG4iOwogICAgICAgICR0ZXh0IC49ICJBdXRoTmFtZSBcIiIgLiBzdHJfcmVwbGFjZShhcnJheSgnIicsICdcXCcpLCBhcnJheSgnJywgJycpLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnaHRwYXNzd29yZF90aXRsZScsICdTZWN1cmUgYXJlYScpKSAuICJcIlxuIjsKICAgICAgICAkdGV4dCAuPSAiQXV0aFR5cGUgQmFzaWNcblxuIjsKICAgICAgICAkdGV4dCAuPSAiUmVxdWlyZSB2YWxpZC11c2VyXG4iOwoKICAgICAgICAkdGV4dCAuPSAiIy0tPC9IVFRQQVVUSD4tLVxuIjsKCiAgICAgICAgcmV0dXJuICR0ZXh0OwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gZ2VuZXJhdGVIdEFjY2VzcygpCiAgICB7CiAgICAgICAgZ2xvYmFsICRzbWFydHk7CiAgICAgICAgJGNvbmZpZyA9IGNtc191dGlsczo6Z2V0X2NvbmZpZygpOwoKICAgICAgICAkdGVtcGxhdGVfcmVzb3VyY2UgPSAkdGhpcy0+R2V0RmlsZVJlc291cmNlKCdhZG1pbi5odGFjY2Vzcy50cGwnKTsKCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdhdXRoX25hbWUnLCBzdHJfcmVwbGFjZShhcnJheSgnIicsICdcXCcpLCBhcnJheSgnJywgJycpLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnaHRwYXNzd29yZF90aXRsZScsICdTZWN1cmUgYXJlYScpKSk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdodHBhc3N3ZF9maWxlJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2h0cGFzc3dvcmRfcGF0aCcsICRjb25maWdbJ3Jvb3RfcGF0aCddKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiLmh0cGFzc3dkIik7CgogICAgICAgIGlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbGRhcF9hdXRoJywgZmFsc2UpKSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignbGRhcF91cmknLCAnbGRhcDovLycgLiAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbGRhcF9zZXJ2ZXJfaG9zdCcpIC4gJzonIC4gJHRoaXMtPmdldFByZWZlcmVuY2UoJ2xkYXBfc2VydmVyX3BvcnQnKSAuICcvJyAuICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdsZGFwX2Jhc2VfZG4nKSAuICc/Y24/PyhvYmplY3RDbGFzcz0qKScpOwogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2xkYXBfYmluZF9kbicsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdsZGFwX2JpbmRfZG4nKSk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignbGRhcF9iaW5kX3Bhc3N3b3JkJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2xkYXBfYmluZF9wYXNzd29yZCcpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkc21hcnR5LT5mZXRjaCgkdGVtcGxhdGVfcmVzb3VyY2UsICdodGFjY2Vzc19jYWNoZV9pZCcsICcnKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvZ291dFVSTCgpCiAgICB7CiAgICAgICAgJHByb3RvY29sID0gKCFlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgJiYgJF9TRVJWRVJbJ0hUVFBTJ10gIT09ICdvZmYnIHx8ICRfU0VSVkVSWydTRVJWRVJfUE9SVCddID09IDQ0MykgPyAiaHR0cHM6Ly8iIDogImh0dHA6Ly8iOwogICAgICAgICRkb21haW5OYW1lID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gJy8nOwoKICAgICAgICByZXR1cm4gJHByb3RvY29sIC4gJ2xvZ291dEAnIC4gJGRvbWFpbk5hbWU7CiAgICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icons/flag_blue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIxSURBVDjLpdNdSFNhGAdwKSNyg6ALC8GLoE8so49VRHVRFFQISlJeREXQBxWSSZDUpNrOTDoxSGvhmokV1TazLeekTBda9rVKmW5lYq6slgutOI7j1vn3vKc4rCAv3MXDgfPy/73Pc3hOEoCkROq/B6v2GdIWHLnhmK1v7ZtZ3PIuo9DmOr17iaUkLx1Ud6g2jgqo+JCU4x7Bs5AEe4+EhbYYMsv9iEYGcU+/VEZkYNkew7iJnHBrgl4YSeYEJJcIGF8qoKw9Bv8g8GkY8IaBthDgqatCsNGAq4czGbBLBhbv5VWT+EiL2Q9cfg2YA0DDe+AxBeqDQPvX3+/PdwKmfA0+PDDCuGM6A9JkYP5Byyy1SexgQM5dIJvqpJdCb4DWz8BDKguhhzxDor1Ig+7afBaG8hFnFDiyp1ZFgxa6JbcR2NoEnCLg2ltqfQBwUzcVhJc1+4c8/Br0urV/A9OKvJyxQ/qmfQ5so/D2ZoB7CVh7gN4fwP1+wEWjGK/XoKt6C9rOrWeATwHUugEn3RBjrW9oAI4TdJPCno80RlfsZ27d9+Eslxitcdpk4HbxCgboFEB1JvKk3CfhSjdQTXM7+yRorCLUZ8PSposvvMZX0bydtf2Vi9JT4avcjIr9GQxYrQBzC2zmVG2nkGIISyncF2mKLiDOKbQ+it8JCqy9dGCe3EH8/KMu0j9AqePEyoSAwFNTVkKAHG7i1ykrPCbAfmw5A46OBbjw5y9kz8nxZ78A90vOcDVd+i0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/flag_green.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIySURBVDjLpdNdTFJhGAdw120X3XXR5kU33fQxS0+5Yl24lFnQKsvl2nJLM0fmXLNASceKgAv8yBGgJPEhkcIShEEYKuKU1IxcTm0WUDiJ1Fpbm1tZ/855186oLS/k4r/34n2e355z9rwZADLSyX8vCm+WU6fqT38+21S4ztPy1rmK4lXF5Ry//Hwm6LjoHN8QOGOgUOe9iGByCJ7FJ5BMX0ORiosfa1/wTHqQIAQ4VCHbwpXL53iWHPAe7QefJAvq4G2MLY9gcnUcQ0kf/AkvAm4DPvhl6Lq+jwEuESD7inLrCWXJ10BygC56SgpHlofxfGUMjvhjDH7sR1e0Hfq3VmiqKSwOt6CldCcD7CDA3qrOXfRo37tjRojC5SRt81KYIxp4lxx0+mCOaqEON8NeR2Ght5ppBvsTT9Yqai60F/y0vTehPlyBW+FKAliiOvQnPGQKY+Q+TOOdCCjzEPU2/A1wxIaH3a8N0C20ouGVAI3TVVC9kcEa0yO0MgrfkptM0mprwqypGKG2AgaYYYEsqfGFI94D4csy1E6VonlWgt64Fb6EG7aYGTdGK1ETEv6yu+wEcDQeZoA7LHBEJfxkiejQQxczccZtEE8JwHNRKLMK1rRzng6R3xU8kLkdM/oidAh2M8BRFsi7W/Iu38wBty8bXCcdSy6OyfjfUneCbjj34OoeMkHq92+4SP8A95wSTlrA/ISGnxZAmgeV+ewKbwqwi3MZQLQZQP3nFTLnttS73y9CuFIqo/imAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/flag_orange.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIvSURBVDjLpdNdSFNhHMdx6YVIhaALC8GLoFcso5dVRHVRFFQISlJeVFYQgdKKiEprldrmS8KgWYK2raZGbaOcafamLVxq6qxs5qxIHYpkUiYsmVvn2zmnGBbkhbv48Ryeh//n+Z/D/4QBYaHkvweagxujb6cttzlOLuqtP7Wgx3I0tjr38Gp9TnIMYu6L2TEh8DkjQhgzJSL0tSC4rAR0K+i8EId/9BtPLq2RERnQ7Fs7xZs/4643b/qYN3caXrWY7KkEGnQw2AkjA9DnhN5G7FU38DzVUHYiTgIOyUBByqqI0ZyZ9bSUgNMIzeL6/iF4mqDrAQy8+b3fdJUipYK+51q0KfMkIFoG9EeWLfRlRrbLQFkilCZAbSa0ikU9DvHmF+KznmHzcZ81XcGHe0qpmOBHtB2bn+BXz/HQoofyJLi1B+qy4FU59Iutd9WIXRXTWaEbthdsprtG9TfgzJirFhza7zxWgXkvWPbDMzW8NcPXbvhYC+5qWiv1vDPtpvHKNglwBYEvmshK8YaA3LphOzw6B+134JOdQKvx54gx6YfPGO9/XZ4uAxXn10tAdhAYzY94KTQWQlupGBNCRyW+QgVDqkih7fJOp79em9x/84BhZUwULsMuilNjJWBTELAol5R0qKK8Q1nhwmBmuOA+PdtnTl3cMH4mxIIt19OWyh2Mf/8JB+kfIM92cUNIgLu5KD4kQC6uK9gaHOFJAdaz6yTgzGSAa3/+QmmdNf7sF2A4ynPOLQFtAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/flag_pink.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIdSURBVDjLpdNfSFNxFAfwX+GbSGjhg+JDED2YBYVGSPiQJigYRRZGUBD0UuBDT2rkIjOV/LsH5/5oIlE9yHSbFsy5TV3zH3soZcQWtD+CmjPXcru62f127q9YM8gH93D4wf1xPuece89lAFgy8d+LrtOyLGO2WudOe+t1pQ55LJnq0ea7+b1NVTmgMFCU7wmEmE1EmRewh4E3G0DeZwQz5hETNjD29CxHOCDPlR2MsnHtFjNFBTYOgVkQYVag7SuwIAD+GDBL51QY1pF++EzP8PLBKQm4wwHlsYZUkb2fQs86oPkG9FCMhgAbVTbQ6RB+P5cHoKguwNJEBzpuH5WALA5os9uPI+XDRw5c8gEVFPWrlERtWwmZoFDR3a3l7cHaAriHqqVkxF/idJrmMtKdPqioyhU/ULkEyFaAgSC1HgFGqAvFOjxNzqC19QK+vHu0G/AzbSOer31HHVW9QcBNAp7Q/K8JcEcB4w9AH8Jwiw7OgeuYlpdKwGIcCLMxPVXY4a2X0luvJegVJZs2AWXgJ0q8EZR4YjPX9BwYri+UgIa/e3DANovOANBPM7+gMbTU8kkXfQm76M2fdKB5rWqrzNV3JicTi31Xobp3QgKK4oDliFK9ygzhTWYWQ8wkrjDjtvmwxp64E5RQrLmfxztInH/PRfoHaNE9Pp8U8GlOUZEUwJPNrRfjK7wvYPDhOQmo2Q/Q/ecvlM5DiXe/ADHD2LkNLqYxAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/flag_purple.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIiSURBVDjLpdNdSFNhGAdw6baL7qUuuonA6Cojoiw6qwth0VUsDIxKggohIXGtpA+1DxQhwoltsXKjNpbruC9q5jypMwf2sdlqbc120ixzfqzV8Lhz/r3vWRw0yAt38eeF857nx/McnlMEoKiQ/Pei5ayluP2YnzUdeZd8XpMWzef4hRtV24zXNRtA4iQpXxGwMvPSgFbEzHsJU6+BoTrgUVUIi9lZ+Bq2y4gM3DplWePdK3R59giCu0yAk4TdLeCjXUI6CWRTQJoH5hJAn8sEvqcJ5pqtFDguAy0nrGtd+3L9Yy5gzAt8Iue3IJCKAJMvSWEc+BoAvvgBfXUpxrlWtFZupECxDNyp9GxyqMQQBQIXgUEdEDHlsR9hYJpkYpA8M4uwa0sRc1TTYigf0aAJHGLV4BNuMmc9yRXy8n0g6QNmoqSLYQL0A7GeDPqaGQJfWg48PBhrjNowP2oEgg0kTQTozLecmQS+j+S7eOVNImy8gKHbBygwqgDdqp/dCSdytHWuFggbAL4XmHpDxnBLIqfL/uZqc4v+q7N429aJJ/U7KXBNATxMbjj+GPj8jOQpaXcA8J0UYVNlJPZ8fCRqFTVcY+peyfrNCLVr0XG6hAJlCtBx9MVdm5r/5WAyUheTlizlEwv6Ci6wdCdIAWM4swWRB4eXzb/iIv0D3GQv7yoI+BDUqwsC5OLe5v3KCq8KsOt2UKBuNUDb37+QnuuW3v0BGUzmBpilPwcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/flag_red.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIrSURBVDjLpdNfSFNhGMdx6Q9RDoIuLAQtYVuWpZSunKQXjYIKwdBqkJkEYRhIBEFRRmVbGYNB2hTnVKaGzWFq/im0mLgyLTNjpdSFJkX/hCxYY26db+ecYliQF3rx44Xz8nzO8748bxgQNp/8d8OoS41s0Ca0uBPXvu3VqMYbk+Parx5Nsl3RRyHmjpjdswKfosOF6ey9CENPEFqdBNM2MaKNJ+D7StflLTIiA8bUrQu8sUuavOrF017lIrwxYqIXErSWwOsR+PgBhgZhoA9XWw0T3UbqTsZLwBEZMKUkhvtUS3uxW6G+GmrEtfsuPH0MXR3gGf79vfIGZQUa3vWYMR+OkYBIGbBpN6r9qxUvZEBsmYMZUHwR6sSiPjf0P4RaG1OnTvidZzS8uV0gFRO6xBaNMiOgXjmB3QY5WZB7AK5dAkc9PBdb7+oUu6pgpLRkymXazlhn4d/AYMIqg2Axf8NQCHnZcCwHTAZodsD4GPTch3vtDJeX88q+n77rOyXAEwK+rFe0in8Iyq1n7oKic9B0C9wugjerf34/lPXDr08PuPJyZKD5fIoEFIUAX2x4v2AthYZaMXaEjlb8Og2TaxTCs317BgMWs/59fm7V5qgIPFWZVOTHSUBaCGhMXmd9GR/hnVQuEz6LGVWt8DuSYh/NnAmxQFd5fIPcwczzzzpI/wDFLRe2zQsYHShLnxcgFz8w7QiN8JwA59lkCTg9F8Dy5xVK6/KZe78AQiW2y4SvvaoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/flag_yellow.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIxSURBVDjLpdNdSFNhGAfww0Cri+gyKLowpMC+LsooEy+SgqJuKqRIiIQKkryoi4zaUmbWSHKdPkYz05xdnKNobmwW6Vi6tbk2TDYl82PTTSr3PXe2s2T+O+dgYwV54S7+vBcvz4/neXleAgCRTf570UXdLda9ORUytW1LDbbkp1TK8h8PLu1rvn92C7houBxfEbA/E+Hn4C6wAQMYTxO8vbkwvMjBYiKED3X7BUQAaFqao6XLgxZyDaxyAp9JArYnBCLjd5CM2bDIupCI6MEEtRjQtWK2rx7t13fzQMUfYHNfx7H4wtQ9xFwPEZuuR+I7jWSgH9H5FrBRI4KeGgTcN6CoKoT3YyMaL+TxwCYBoOi6M5+6i37xgM9YICQ8elnAmKCai4YDJHCPnEDnrUJMdFfxxUg/Ik2JlSPq7anYtAw+0x74zXs54AqYGRLxMN9FK/yem5hySpcMDYfh6hX/DXRR15yhcclS2FEBv+Ugl0OIjFWCmVUgGR9FzE8h6mvGF7MMY21lMJNHecCZBrRUWXhhcrn9ga0IOy4Kxey8BoGZWnwbKsCkbSOGX+cJwFtJEQ9I04C+o5SNTojBuOXc3I8Qn1Nh7v062BUiWHXnWLtD+1TVTxt7anPhfHUayqs7eKAkDajbz3tN5HpYH4swJBfBQq7Fu6aSROZOcAWlLyt3Ch1kzr/iIv0DyHpqirMCvloVJ7MChGJ9w5H0Cq8K6Lx9gAeqVwM8X/6F/Lkh8+43zznRPkqpYfEAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/group.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKDSURBVDjLjdFNTNJxHAZw69CWHjp16O2AZB3S1ovOObaI8NBYuuZAhqjIQkzJoSIZBmSCpVuK/sE/WimU6N9SDM0R66IHbabie1hrg0MK3Zo5a8vwidgym8w8PKffvp89e35RAKJ2ipp7WDxvjltZ6jwCr5W2bpHHtqUnx+77877jsZxzlO3roAWXuw5ha1pl9MZdAW2ig8RyXyL8rnx8G6uH387AMnUMC2b6l10BJPdAfWDGhZVREuszT7D6hsTStBNDurO+XQEZnEypx1a28XW2F8HFPqwtOBAYJlCde9EeEZCy4sTN4ksrRA4LZB57vZCfMElUyH4E7Ap86r+LwIAGIy03cDr/lDNJGR/zDyBiHGc3i1ODjUIWtqbdIIexVY86kwZ3HijR/86GmqFqJGhPWs8oTkRvAgb+uZGHhVfRV3UNni41OhU8EDlstBSkwjKjhnmqAg3uUtS6y9Dzvg0ljmKkFCaRm4CJT+/5OERtG4yqZMEwdQt1biV0EyW4PVEE1dsiiMk8eMn0/w9Wp+PCNK1CQ6iBYeommkIpH5Qhy5AF/6Mrf4G955tUJlXxtsHieeWQ2LJxvVuAAkoASUcmLugZPqW0qsprEQjDx3sY3ZIMhXt1+DNw77kdmnYKSsKKx+PfoTQtYX9KtzWG2Rod6aujaJwWHk8+uDawGITeA+SPA7nDQOYgwKcAYhQQajyIY9eQEYE5feLPyV4jFC8CELkAkWMDQmoDPGsQaWYgzRjEU8vL8GARAV8T099bUwqBdgzS14D4VaiBA8gZALJ/t6j1Qqu4Hx4sIvChoyDFWZ1RmcyzORJLJsDSzoUyD5Z6FsxKN+iXn/mM5ZLwYJGAX0F/sgCQt3xBAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_add.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAK5SURBVDjLjZBbSNNxHMVXDz3UQ0892AVSs4Q0shQRA5uzCFGL5Rxqc1u5mZpNnWNN533eaDr976blZeFllc7mMLMl6IOGqdOpS4vAPaRbb6FiQjpPm5QahvmFw5cfP87nezgkAKS9JI4+zp5Wey3Ot57AnMZ9rYnn0RAV6HHoz/+eZl74SYq12d2x0OaGnapL9azeF6CBeYxY6PSHrZeDH8OVsOmCsaA9BYva8/u+AKroo5V2cy8Wh1RYMz/D8nsV5id60F/sZ90XgBoew51pydxYmuyAY7YTKxY97AMEihKu6v4J4JK92Ep26CLBIEPFoqwl033HCGHqT7uOj69dhbAbcjFY+wAXOOd7AgQ+R/4CMIPPUJTsMEd1PBk71SjjQV4nQYUiF/lSAbo+tqCkvwi+eec0F/lnD28BZPRLg0+Sb6Gz4B5m2sRo5dNAMCioTQpDk1kM9bgQVaYMlJsy0f6pAen6NAQlB6i2AAq6Z/uXfu2uwrTZZMjGH6HCJEDxaDpyRlMg+pACtoqFOVXU/wurKI6GYkKEfMN9pKvjwK26ibjSUFAl12B7GrENOHi5RqQQpe0qzIeWBW5dDArb2ei2KGG2GSF7lwK6zBcMoffrTfOB4OeJVL5peeAbUPpSh9xGLQSEBvUjqxAo5hFfcn29a7oaXTMEXCPt40DWl4TAVLdVknt4LY3G614xzDogmQE4I0DCABDTDdC1ADEEROT4ocdSj51jmFK6ACBNSfzXxzrk4L+yg9kLMPUbiNdugKZxIFINRModuPLwNB4b76LMyNo0l71lbSew1oTYOkoyEJs3DK4RYL9xJtADDANwx5WifA6xvCjclnqj0pi4edm1XW8nQEr63JwU1FNEzQ6ktej900dBzptyahpk8SRCsk3wvPHCKs9KLEgQehuchiVX7N+73NXfL+Zkqi9OGtlWAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_delete.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALNSURBVDjLjZBbSNNRHMdn0x7qQXwoyoqYS3tIJUsR8UHnFEKayXCO8Dp0mje8zLVm3vJSGpk6539azQteZt6aYmuKoQ8q3uY9LSJHqFsUJGpqpNu3v0FmGOaBLwfOOZ/P+fGlAKAclFQ/S960zHplse4M5qtoW5XxVnIfZ6ujv+8PhOO9zzK1NTTDUv1p7E15DL3oUAJ5yAnJUqsjdGo+NgYLoGtxxZLiHGZk9OVDCQg/8wL9hBor/QS2JqqxNkBgcVyFnmwH7aEEbG//iNnaJOPqZDMMc61Yn1FC3ytBVrB7yz8FEQxrXinPY0USxAARytyK4tqNSkQxP/QtAiy03YO+PQ19ZbGw519SOQltj/8lCHG9wCzleRqKAhjYm4rCeJSU5yBfmoaMR0K0valFbk8W7NIvVl0W2BzbFRRyr/Q9ifJFa2YYZutTUSfgQBLERFmkJyonUiEbE+GxJhF5miQ0vZUjQRkHlygnYlcg5dKb3vco9hWmSGGgcOwO8jVCZI8k4O5INMRD0eARoZgnfP5fWH62H6TjYigIFroCLdHNNEUb2xwPYh2ge3r9j+DI1WKxVBy3rzBbTjKKM90wnuyCzZcFMM6qsd6QhOEYe+MA73z1L9jEtSGcLdCs9X4C7je2IK1CAaGkCs+GNyGULqKRabG6QcKQsACRBfmIhi8P3dHpSZ2n0LzLOJz4jvX2OQNyZgH+MBDcC/h3AFwFyfQD3R5mMGpasXctZ5wiz02NlKkcx+3R5hIIXugRogZClEYEKIzgVBnAkgGsEgNUN07imzwMIKHvtyn4SubjLSo6vaiLFG2xm645NxE30wcR0QXwXpETKIGgdiBwZ4q8eVTzfTHEt4FORMNnsRk+hJvgNct0W+1FTaG8q4l0UWWxU5w5tUrHhBEw0qfITIOROgm3FA3o155rS5LDM0di7RvIH7U7Y5P7wg68099P+T6oezGZAe0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKjSURBVDjLjZJbSNNhGMZXF912FZEVpOaVFFSCmhe2/iNqhYVsmo1tDXUiJjNnrC0RMxVFxTm3ecJDeSrblorpSFAJzxptOrfFzJnuUJDplG2ZrqchtaSGePFcffx+vN/zviQApL2STQvgzFaFOCytx7HQFLjVyAuqjwkPOvTnfU+YRz1BmJsDPda2Y9idmrRg8b4E9ewjEqsqDDZ1MlzjZbApo2BtPwldVfDqvgRy2uEyu0YNx4gcW5qn2BiVw/K+F4NPzpn3JYilxnH1LZk/17UKeAwqOHWdsA9JkMe6pPQr4JJDODLOZYeESYb8LrGVGn9mWiJI+2FX8rHc9RiWrmQYW2/D1FUATf0VaGWhLB/MjjpNyDgUj5hBxu40lPNQWZOPF01M2AcEWJvpATasWJ1RYLT06hefoDz+/HBt6i2ochOhb8tGK58OCZNAdQoFr8dY+DqXg83lbu8XSuCaVWF7cRiahuRtn0AaH/zSNNj+X2Hqkkis6LLhcQ3D9fEeVibTYWhOxGQdEyZZzN6FWfoz8W1WCI97DM55NtxLDKzrRZiroyCjPA62uht/BQcvVAilwnRfYYZnDNinBL9hFtyf7sChewS9nACn8KLtATc3d6ExgbEDH4h6nhTLf7cx9Bko7FBCLBNC15flHfst3OZEfF9iYs07iUlGuIylEad2b44USK2m03k9zm6DB/l6QNTSjrleEbR9Ylgm6HCaGVjRPIRWTHEZyyKC/r0V0kx+2Pa0ohL8V3aw1UBHMQGsL8JYS8OAKAAj1dcwUEDGvJQKf8dGMldE2xQF95GQMw7uGyCPexabY1JsTlRgwgu2cUNQnCXYKcyv4ENzSmRvXqwonN7SGZYxBVr0URSyQ9FfdB0NRUmIuFm1XJmVtFOYP8EvH33H/9EvkWcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_error.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALcSURBVDjLjZFpMNRxGMfVi17UNL3qRdcLRI2jiUgyHdp6ozIlco3Whm1c49gwmyNndGBtLB3uRdPuCrOtnWoPokGMs5WwMth1S9q/Y+PbzjaJqTFefOb34jffzzPP99EBoLMRUY57KZ3ZBrPDJfsgL9BV5wfp5dpb6W37879hOMhuP2mgWHd5pHQP1vLEX5+xKUEueTdzpNwCCqEPiIZUKHg2GCk7gK5s/ZlNCViOu1KVbULM1rOgbivE3AcWhlsFkCSYDWxK4GB3nSpjh658b+diubscqq4KKKVMxN84y/uvgGprQMminJtletiC5UlS+zqbNjMj/JeUPBqGKuOgrIpGXU4AjvgYCyzDTHasE5BtDpKyKOeXGe62WEteehC4pRFo5nshmUFD5Sc2kiTxMI05VHCUZrh9VZDubF731PcKymO9ICuNQgnNCUwPEp4HXECnmIypXg6E0ptIaQkF53MugisCYe1ryVoVZDrrc3olZf8UVpNzERPdbKh/9KGj8hrS6r1Bb/QDheUJOct+48JGxClo517FwgQfC4o0TPe/hqTKGeF8P7ilu0Hx7NJfwdZjGfRMeuC6wlrZLpjs4WJhKB61KcewNMVFax4JIY9OjYVRY2Pl+a7u2vAWmxfeDrSWOekocO8lD9F5ZWDkJGNAFInF8SIQfRTUJpthfjAC3+QCNGWelDVmnNipvYKuXY6TUxBfVdW9jEQZ4NMEUCRqVBf5YkZT3PzX21B9cflNr4dmFQYGa5iof2AeoxV0JFr8bOY+Bu2VEmQhQK5YwcPCcgzWpmFxNFs7XdXrrlnBXPsScj8QykrUJpiO1cQZG+kMZJxRcJNC4BrTAOobzfRqQJx5GcRkPxanRVgY13QwzlkDD+q5Lgw3sCGONOTo9BTfshbEO9yxcmJXWAR/hG1MB97ePw1J8nGIkywhijNbkcaZqKV3jRYl0YcJTYgQ0Q0IUYQ+8S5c7/0vfNrCXhlwpm0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_gear.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALKSURBVDjLjZJbTNIBGMWpth7soa2th24PStZD2bronPPByB6aa805iTFFYonGTC3Imk6YeEGnmXJVCg0UhFIMDf8Sm8IcNa9LEdF0y2kqvKU524rwBDZNW3M+nKfvO7+d7+wjASDtpsLk46zxuvCVBd0JfFaH+l7mhjXcig47uDnf1ZybcDJ+tjnUv9hyDNulzCLX7gnQwDwqWWyPxJKFje/91VgyxmJRfwquOvLXPQEUyYerPaMWrLxXwDeqweoHBRY+ErCVXJrdEyAp4XaGW8td/zbWBv9kO9ZcJnjsEhSnXTX+F5BBCWfJWddWJAwKFHfifRxaxLDkSdZPj5GHLx1CeDr5cNTfxwX2OSIq7/yhHQBm7Ol4Oeu6vzaFgu1qrMmFVFmK7m4CZrMZHRNalNmKESE4q77IOxOyBaihXXY85ySivegu3C2F0PGoMDwVwGohoB2qgN1uR29vL8QOIfTGFjwzVCOGE6XYAsho5NYZm35HYVarFdPT07DZbHC73ZiamoLFYoHL5UJFRQVm5Im7FzZi1cHpdKK1tRVCoRCVlZUbZwwODoIv5mPpxc2/gP1XxPmy/OytwjYXvV4vRCIR7hnoyNTTIauTYn5+HgRBoLy8/I95X6whPYk3smr3AqLXRvAb9dDpdIHiujE3NweVSoVDccqQ4K5cLl+emJiAUqkEm80GKTShnkrNNa91TvpR6gbYg0CaHUh9+wOC5hEMDAygp6cHckW9TyaTLXd1daGvrw/Z2dmqAOAIyVka+Wu4TQreGw+YFoBpWkeKfh1UtR9qtXoDEEwTPCdo1Gg0cDgcQQBycnIOkGbFcUttZQ9BF/QjwwqwugMJTACjE3isJMDhcMDPK0FTUxOqqqqCsWkMBsNPp9PfbTzSp+bMGKI4qSCaqjVFPhgCReAMaByUwjHEFYyAfOPVrPRRehGXy0Vqair+ffffyy28O7WhyP8AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_go.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALcSURBVDjLjZJpSNNxHMb/VhTUi3pjVFoyj+wyPDG1sDUTE7ES1zCPuXRbZjZrSk63qVPzKNuc+ncmHmPOeU3nkYkEmnjhlVdaBPoiddGbMDEoj6clZEYlvnhe/fh8+P4eHgIAsVWE/kdY4wVWC7NqE0yXUZZLeebFvs7mu3+9bwnzvE1pMyrK6lzFYWxOYaSFbFuCYqaxfK7OEfOtbHzty8a81g1zmqOYKLD4vC0B6b8/Wz/SioVuEssjSiz2kJh93YL2FLuZbQn8vG9wJssfrH0ZrcXqVB2WJnTQd8ghCbmo/aeAQ7Vi5bMuLciDqSBDacsRDJtB+cPI73otHx8akqFvFKFLcRdn2adbnGLP7PtDwHSzpOWzPFZlgVRsTomUh9zCVGTmiZD4JBYNb8qR1i6Bjdi6zJZ/fO+GQMqw73oWcQ11SWGYrBBCzadDHkyDguuB0hEhotSuYJfaIX0gGjVvixGti4JLhBO5IchjWNS8b9f8VZgmngrpcBzClY5IbroJhuIE4nq5YJGhmCZ9/18YT30B91TnwFU6gFVsC2E9HdUDOYipuYrL0kMIkDIwX+TzW7DDIUeQJ4jaKCxS5QzdMAntUN46WDkgg+xlDJS9Wbit9oRT+p61riIf9jps5FYZ7scfWuz4CDyq1kJUokGY4b8/4adtPGS2RiKthYOkJhYkz7lQdKYgqOw8rBKJFYLiraDTec1LjVOrSJ0E2P1ASAcQWHQSVf0yqA0LVPZkoaQ7wyC5g4JOCThqL1BExCcTAWFLjKU6rgzW5oJfrwezFWDq1hCoWcP1AnNcyTEFTXoQbo8PIKTUFeSrJNxSecJMROgPC4hT6zuYyXGfr027jwBxHzhtAOuF4QIdENwIBDUDjIxpiPnpsE/dBaaSBrMEYtYAW28s8Z2K69Ii8Yt3ppfrHKMHQBWPGTIOqnAU7vFDsPCqmsmNCU+yFBt9O5awE8YCgrJ5vT8AXgaV02he+4MAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_key.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAK/SURBVDjLjdJZSNMBHAfw1UMPhfTUQ5bgkfWQSodmYplroiAkXkvXcnOVipqsWhLKXEvnUEHUOecU72tec8vEVgQamUfeUzzThcc2QUqd+09b+u0pMxTz4fv04/d5+PIlASAdFG6wJWsk3351ofoMZstszKVs22I/V9tjf+4HPrN9z1I0lTZbizWnsTsFsXbZhwKKmadEi03O0KoiQHRnQit3x6LMCqP5dj8OBUiCT2bqhlRY/SyBeagchk4JFgZb0ZZyWXMoIND3buRY1bPtteFGbI03wTiqhK5dhGSGp3xfIJJsz8pj3V4VhZEhCaeYo0Mc+0QvYn/q5BzMv34FXXMSOqSP4RRxsdUl3uHEPwDT/Rwlj+W1lU0nY3dKstjILRAgQ8yFMtcf4y001CjC4ci7UHaJc/74DpAVcqWjMNofTfyHGKvhoppDhSiMAmmUF0qHuGh5Q8VyDxtmQw/mP9xHRhUNbtEukh1AHGLXMN0m21OYLJEMueoelj6GwbxSiZVRPpa7eJioCMBQmsf/C0tPCUanwg+b3+uwoeVhQ1+IlWEeiDk+pqSef4GjV3MSxAlxewpzoD5HRYkP1mfSQXyLgWmOA0LDBDFFRT/fzUQCQDriXvsokNNvaNcDwno5kkpkiBeVobZtAL3VUVDLQw1rkwwQ034wzdBhnKCin+9kqgi1ppFsfKVUKrvF2Dy+BcEYEPEFYLQDwvoWfCoLBzFXAOPXIBCT3ujLdl0fTHHRqwXX9DKGdRAAEkktcP7V15gLjkIHpgpgKrdBl22jqy4GG9pyrKmvgxjzwYD4Bgrodg9UQZYW7Qwri50haXJuaRtTn4LG60bke4D1FmAogS4FG5tLQhgn76A7xwO9wpvYb62kycoot9bkwERXapXS+UkvyDw1yLwRpKW+RHdRAN4Jvc1FcV4Ns6U0+n7Ab/dSu26WPRQHAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/group_link.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALsSURBVDjLjdBbTJJhGAdw6qKLuuiqi04XZoeLsnXQOecFfWGu8ECQJs08UCADLMQvUVI0UcksQj4NzM1DU6RUEFtj1eZMR02nkOWxNeUiFdfWTM1sKv2Lb+u0WvPivz173vf5bc/DAMD4X/LitgkGTXvmJs3bMVEfsFIn31UTG7prw4/3/w7L2TtYnoYA31TTVvyeu7LA8jUBNSlbqClbMKYfi/C5R4dpazimLDsxZAqcXRNgjNus8w48xtxzI1YG7mHhhRGTLx3oLDrsWRPAY59NG2nM/Dr/qhW+URsWh+zwPqOgST5m/SeQRuwR3BEcn6OSCBhTWSuShKB+Klu27LWSeNdeCO9DNZxV6Tgo2u8IyTqw6Q8gJXw3644gwleeSOD31OrlqLhbjBuVahTcykL7cCNKOjUIyt9Xf4jcu/EnoE844qyWnIbt2kWMNOXBTMaDSmKhShyBuoE8mNzZuO1SoNSViZaxGmTYLyFMEmL8CVQmBLa87bT8dTDLVQJ6dw5uuLJQ1JeB3D4pVL1SCIypmDDG/n2w930WPDXrcausFLW1tchXZ+PmUyVuPlei4Hou3SsuLYIgXwCPKeoXsP6oQUVlpy9XqJJhMBgwMzOD8fFxdHV1Qa3Ng1JLYmRsmO45nU76z+UUziN6eF34fSGPdC1U2p/hilIJ9+AgUiWXEB0dA5FIBIqioFKp6DoqKmqVz+c7/AhJkh8ZAeyq+Hj5o8WHoz7w1eUoLNbSwFn7FxyLOImOjg643W50d3fDarWCyWQucDicjX5Ao9EsMV4XB6/2t1aAbPOCXfAAaekZNHBGXAiCdQKRkZHgcrl0/DVBEMs8Hu+JHxCLxbMMj4E53VqiwLn8HpxvGMfpZAnK9JUwt9hhs9lgMpmgUCiQk5ND1/5ec3PzB51ONxsTEzPKeNMgDnNoeFdD4xvtwfJeEJkOnOIm4oJIAqnsMqTS9K+kMKmtOpevlclk89+zJBQKP7HZbM/3dQ59A+o8mPeL9bcZAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/lock.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ/SURBVDjLbVJBaxNBGH2bpEkTmxi1NTRKTZtoQUHEWz0Igj2I4kG9eVNQhEBO7bEHc+yv8JAiHnr2B4gFqVrQRhObljQolBSTJqZJdnZmfbNr2rU68DEz33zfm/fejGHbNrxjaWlpRCk1J6WcYZxkgPGTsWJZ1mIul/vlrTe8AIVC4Qqbl5PJ5GQsFoPP5wP36PV6qNfr2OIg0L35+fm1fwDYPMLDj+l0OmOaJmq1Gjqdjr4dgUAAiUTCqSsWixvMXV5YWOjqvW+AxOSz8fHxjBAC5XJ5s91up7gO6tDrUqn0QwOTXYZSsoO+wGDB5EwkEkGlUgGb7mSz2apHajWfz9+sVqvFVCrl1P4PYExr5m16vYUjQ+c0O11DtmN/ebD95pG9UpnGzl7Y0Xz30ir8toAtLdiWG0JIvFi76piaGG7g9plVTD/5YLgMCPLg/g0YtMTwhznfApRBfsP6kAYJSKuN57Md5oXTsvHy7aEEfZMutHZfIRAahWGMsHAICMeZVsD+HmTrG8zudyhrH+HJLGyz7wEgRSh9k4nm+nvqPIb4xWuovV5k/2lMXJ9F8+s6ARqIpk6QsIQtTC+AcGTYpBqfvgBfcJTuKMi+xKfdMCZgIp6eRK8TYu2+w2oA4PwDm+5qVK218XmNLN7xxILqKfS7pGqTWekLmuVtV65STs8hA73RqJQQP5+CP3KKACamHj7FlGBDawfH00kEW0MuA8o9AmA6qMrSHqwTIAoM08hAkHkN0ES3UYfotBGdiNFu5cr2AmgJobOPET7nhxEMuU/o40soSjO7iHbbVNgnUen6pY0/AOCTbC7PuV44H0f8Cetg5g9zP5aU7loDcfwGcrKyzYdvwUUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/lock_add.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALKSURBVDjLbVJNSFRRFP7em+f8ZTKJOswkNTZOmpFKBaWEFDVBFC7KRdCqgiKccBFJKxe6CWwXtWhRtNCihQURRAUliEJYTeoMzOQk05D9jGTjOH/v73bum9Tp58Lh3Xfu+b57vu8egTGG0jU8PFyu6/plTdPaKCopQPGDYkJV1cGenp7l0nqhlGBoaKiVwCNut7uuoqICoiiC/pHP55FMJjFHi4iO9/b2Bv8hIHA5Hb7zer31siwjkUggk8nw2yFJEpxOp1EXDodnKdfc19eX4//iChMlL7hcrnpFURCNRj+m02kP7c08+D4SicxzYuqunqQEVnDSyoaSbXa7HbFYDAQ6FggE4iVS4wMDA4fi8XjY4/EYtf8jqOaa6Ta+n8Nfi+d4d7yGuq3+w4NPY2fYRKwB31I2Q3Pn9kmYmAKmqWBqMRRFw93gTsNUp3URRzdOouHcW6HYAZF0nTgAgSwRTDb6HgF0gfqz8kMySIGmptHvz1BeMSCz98fXJPCbeKG68ACSpQqCUE6FZYDNQWkdyKagLX2AnPsMXc3CVhcAkwslBNQidH6TjJ+hN6RzHRxN7Ug8HSR8DTZ1+PFkMobx5TIsEU4ZHURLTkTTGoFiyGDUqqNhK0RzFbmjQytomF6wYSocw7Tdgf27dqO20oeXoUeYmPmCewH3NWMOGLnLmGZoXZwJUhevaUJU6HkdhVwBD6ciaG1sgSZqaHH5oQkK9u5o59DuVQKulZEEh88DR6OPCGRsOXUeXd2H8T2VRBn50rntoqH70sFb8NY08621KEGRyQOdDOIehGCyr6cjMlIyU16l2VhAaH4c7+fHcMV/B1efnYbVZOHQ/CoBl2CpPQvbZhMEs6X4hCK9hK7h5NcNeDH1HO3N+/B4+ibM9PpjwVEOvWEMUvT2HsaNNLwwBkf5HerqdyRrwitZQp4JsNKTdwhZ9F9PCb8A2smdT0Nb9SIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/lock_break.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKVSURBVDjLZZJPaFRXFIe/92aSyYyTZGL9lygxcYwBi1hcqQtRIYoobtpNaVcVLIHArIKb4EJEwazEveAiQSq4EASzcCOiICqCDjHRWFQsmAYyZjIzzrv3nNPFs/EZDxzu3ZyP3/nuDcyMZE1OTuZVdVRE9onIWhHBOdflnNtdKpWWWVVBEjAxMfGTqt7s6enp7+joIAxDVJWZmRnm5+dr3vtdpbtnRgGXmbISQDoxnBeRG8VisT+KIqanp6nVaogIZsZAunH1yNTYXWADcOL/uRWAiAx3d3dvd84xOzv7xnt/WET+ERF+vXdxuKu+MA68AjZlpmz5O4D3fl8ul2Nubg7n3ImRkZG3AM2jwXHgEnD1ytD45Xw+f3vh/HkbGxs7uBqwPgxDqtUq3vu/E54+AL9f2Hv2VrC83Ozs7KRerz/6RuK7+3/Yw7lBPn7KIiKc/PExKXOYeMzH7Zxw7dkeVJWNbYsc3/yYwdNPgziBGb/8fIiAkCCVJeAYaADpNsBAHOKrnBuqgToAXl9/8NWBiQcMv/AX6cw6giAP2gLZAphC/ROy9Iqo8QH1dbL9I1jUTAC8BzWQiEr5CWG4hsLO/by/M47pBnoPDFF5WSZqLNLe14WZYC5KAhyYYeIoDO4gbF0HgSJN4flCll4iCsV+PtcymK+D6QogBDDnMBMQx+KLZ1TKjyD06Gel2WiCRVRmpqnMvovXVcWcSyRwLqZKRGGgj1TuBwgjtv32J9uch6WPdBZ7aF1qiROorQZEoIr6iEq5TCrXDm15SLeCeliq0Fj8F1er0t7bgaHx2kmAmZDZcors1hRBayZ+wrAFVCBq0N6oIq6JqcS+vE8AoiZvbo7GLrzHvPvSfuVEJP5YIvFdBYD/ALt6pUq4OEUGAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/lock_delete.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALBSURBVDjLbVNLSFRRGP7uw3lpw5TaNCZ5R6eEhIhahBFRoIsetEgJImhRUBQTUpCLFhK5dN8ycDESLSqCULLoSVZYDZYDTo7TOCTJTOk4zeu+Tv+5OjZWB37uOf/5/+9833fOFRhjqBxDQ0M1pmleNQyjnWIDBSh+Uozpuj7Q09Pzq7JeqAQIhUI7qfluQ0OD3+12QxRF0BrFYhGpVApxGgR0vLe3N/wPADXX0ObHlpaWgKqqSCaTyOVy/HTIsgyv12vVRSKRacrt6OvrK/C1WEai5AWfzxfQNA3RaHQmm80qNLfx4POpqak5DkzsAiQlWO6TyxNKtrtcLsRiMVDT0WAwmKiQmujv7+9IJBIRRVGs2v8B1HPNdBqfx/HX4DnOjtcQ2/o1Hsy+OsPGYq2YzzgtzcfaxiExDczQwfTl0DQDg+FdlqlexwKObB5H67kPwjIDAunuOgiBLBEkJ30PAaZA/Bx8kwzSYOhZ3OjMUV6zWqZvv/4jgZ/EC/X0Hcj2OghCDRVWAU4PpU0gn4Gx9AVq4RtMPQ+nPwimlioAiCJMfpKKxcn3pLManu17kRwZoP6N2LK/E/H7z5GemEExnYFc/xZ2zxoAzZLBiKqndRtEWx25Y8IoGfiUdkJ8+gbqoozdp6/B7m9DYeIRIi9HMdpRdcl6B4zcZcywtC58DhOLd/RCdJhFE6VCCfGRxwgc6IYj9gzC4Em4Zu5BaaoFE9hluQzAtTKS4NmqQHLVEoCK5lPn0azpeHJiGI5NfuDwldVrla/7IJmCsgKgkgcmGcQ9mCSAdYCDjJRtlNchue3Ihx+i+sFFYvQdeerJLkkwJMytAnAJ9sazcDZJEGz25SsU6SZMA81ddYi8GEbjeidkqQrZlI6v8wLdG7tpPaTorT2MG2l5YT0cbSX01a/6Q0ZmdgGgX4g5GBwehn0hQ/gNd0qgkPVltHcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/lock_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALvSURBVDjLZZJdSFNhGMf/5+zo2pyb5cdyxXRNW2WkhhJGXlReFEZEBV0UVARBIAiCXnojdFE3QUQR3k6iC6GIoK+LMDNBaVpOW04by/yYzuk8O9v57DnHJqteeM57zvue5/c+///zMpqmITv6+vpsqqp2KorSRLGDAhRxiiFZlu+2t7dv4J/BZAF+v7+OkvtdLpfHbreDZVnQN9LpNGKxGGZpEOh8V1dX4D8AJdto87PX660SRRHRaBQ8z+ung+M4OJ1O4+dgMDhNa4e6u7uFLIDTH7R4q7y8vEqSJIRCoRkq9wSt/dIBgiC4EonER4/H46qtFKqqmXBq+vlt8MvvwaTnrhoASmiyWq0Ih8MgyJm2trZITpWRnp6eFmbtbbChuhiWkitweOqRmPVh6nXvnSygVNecTCb199l/jbpc56+3ey7BXtSAeHgS+YyIQvtO2IrdDiYycF0bCvuwuGYxNJ+tGYFJk6ApMjRZJpPWUVTVDMeeU8jMP4GwwmDpWwpSWlxJCxtHOZCJFy8cBwMWjMlC82lAZcidbUjFhpFJBODwtiI99whsvow8WwXM/BhSfH5LY8ebEKefBGiQl5+CM5eAYWwEyMPCHClhVJQdPEfJD8HmyRDXPVgZHEWaX8LhjkmjnaxeJlS6C4qIxMQoEsERLEQmsRrPoKymFeJCL0z5GjLrFYgNfILz5DWoUmrLHwJI0GVoioQi314siSziCQskzY35L/dBVwl8fBeWB4ex3cuAK7BDk8QcAPVe0xSqQMLq1wDGxn/gwLGbMEc/IPRsEIFXcUy9fAfWtAaWU6laFXrOXwBotEgSiqor8X1mEeLEC3hqm1FQQN0Zn4LviJtOL6auiIbcXABnlENUVdY9mMBEaB73Hj9A475KWEvNaNrvIx9+QuKTKHRT+STKkJ0L0CWYd9+ApcIEf4vZaCHZTmCSJgpQhCQpzFChyqZfuvFbADGDmf5Ooyx9Q6dvhrw10w3bvFiKsvmug/6M39LTvtXHnYlaAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/lock_go.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALPSURBVDjLbVLdS1NhGP+d7bS5tcZYkzmzWmqKSSISpElEUEEkXfRxGRFBEA2MSC93o3TT6Ka/wECJQG+7CfrSLFLzIkd+TDsOjFg559nH2XvOe07Pe9Qy64XnfDzv8/ye3+/3vpJlWdhaQ0NDPtM0ezjnHRRBClCsUowbhvGwu7s7jx1L2gIYHBxspeaR6urqQ36/Hw6HA/QPTdOQyWSwRIuALvX29k7/A0DNPtr8VFdXV88YQzqdRqFQENMhyzLC4bBdnEwmFyjXEo/HS1sADvGg5O1IJFKv6zrm5uYWVVWN0rdLhPienZ1dEcDErp6kxLYzkMWDkh1erxepVArU1BWLxZRtNUpfX98ZRVGS0WjUrv0fQKXQTNPE99JOo0ROsBM1xLbyLw+Utzes8VQjvuc8tuaLzRNwWjosbsAyNkLXOQam22xTwxVZXNg3gcZbU9IGAzLxyuXTkMgOyemh93nApD25grbphLgObqiU6kG2mEV/VwILT9/9kSAmiULjxzPI7hAkyUcAuwBPgNImUMyBr89DY+uoCTXh2vAdxJmxDYAowhSTGNZmJknnbgSOnMDd548pz8AsDkb6I8EGNFUdh6oVcK/0HsVEUHpzf9UiAB1ChkVUA40NcLhC5IwJg5rPNl8HJxbc5DCJ5UoujaM1ncizEiaXX7OWfodLtgjdoilCa/bzNJxuPwItndAMZjcrP+ehmwYB6tCpZr2sonX/SeT1ovxhaVSzAYRWiyQEDkfh9O6l68UIQINB/oT9B6iZ22DfcssI+qowlR7DWGr0C1nRRgCMtJowDeHBDAHsASp8KBHAwHgCzCzbbGpDzWivPYePyihSsy+gcbSuPLDKNoCQ4K65Cc9BJySX2z7C4XY6CZoM0stLKk49uQrJ4UEm+xWJghPHHvHyximwMhZHemB7YV8cfTOM32+6Ycg7Vbxce4WRAt0YAby5fgEeKcjVvgWNOgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/icons/lock_open.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJpSURBVDjLdZLLaxNRFIe/O2kTqxmNxAopUjXWB7pwrUIXggs3oispCoqCFWG0G6H9D6Su3IjrQEAExYULF+LKlagUNL5qs4i0jRhokj6mM/dxXIyPIdgDh3s43Pvx+517lIiQjmq1etJaeyuKomPAFmPMC2PMvSAIXvKfUGlApVK57vv+/aGhIeV5HgArKyvMzc1Jq9W6MTk5+aAX0Jd6fCifz0+XSiXVaDRoNpsA+L5PqVRSYRhOl8vln/V6/XEa4P0put3uq2Kx6M/Pz9NsNi8GQaCCIFCLi4uXZmdnKRQK+bGxsTu9CrxUnTPGsLCwsBQEQfVPc2pqqgK0Op2OGhwczG9oAchYaxER23tpYmJikA1CiQiNV1fk2cxRjFNYazlz5A0Z0Yg1iElSa/vUddtPgfMKOe2J4eC1dypRIML45WMoPFRmAMVpcAr6NgECVvOxevEscBZg5Nwdvj28+c+CWAMIpvWIvtwOlMqD64eBAoiDtQ4jJ0aJw3mcWQPnkDhKAYwBJ2Bj2rW3eN4WCoeP8/35XcTtZHj0FO3PNeJwCX/PdkQsouM0QIMIYjWFgwfwsjtAOWxked8aYJiYwr69rK/mELMG4v4CPADRGhELVrP0YYZ27TV4BrfuiMIIJKb95RPtr43ErnOI1ikFWidUG1PYv4fM5iJ4MeUL45S1ge4Ptu0bItvtTxQ46QXE4BzOxLRrNTKbfdiUh74sOAPdNuHST/TqMv7wVgSX2E4DRCy5XVcZ2J1BZXPJF3r94CzEIX64jNUR4mwyL2NSgDii/uR2MgtjEKN/p/l7Ym2yWNYmtUsW9hfAtnFXLnJPWAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/icons/user.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ3SURBVDjLpZNtSNNRFIcNKunF1rZWBMJqKaSiX9RP1dClsjldA42slW0q5oxZiuHrlqllLayoaJa2jbm1Lc3QUZpKFmmaTMsaRp+kMgjBheSmTL2//kqMBJlFHx44XM7vOfdyuH4A/P6HFQ9zo7cpa/mM6RvCrVDzaVDy6C5JJKv6rwSnIhlFd0R0Up/GwF2KWyl01CTSkM/dQoQRzAurCjRCGnRUUE2FaoSL0HExiYVzsQwcj6RNrSqo4W5Gh6Yc4+1qDDTkIy+GhYK4nTgdz0H2PrrHUJzs71NQn86enPn+CVN9GnzruoYR63mMPbkC59gQzDl7pt7rc9f7FNyUhPY6Bx9gwt4E9zszhWWpdg6ZcS8j3O7zCTuEpnXB+3MNZkUUZu0NmHE8XsL91oSWwiiEc3MeseLrN6woYCWa/Zl8ozyQ3w3Hl2lYy0SwlCUvsVi/Gv2JwITnYPDun2Hy6jYuEzAF1jUBCVYpO6kXo+NuGMeBAgcgfwNkvgBOPgUqXgKvP7rBFvRhE1crp8Vq1noFYSlacVyqGk0D86gbART9BDk9BFnPCNJbCY5aCFL1Cyhtp0RWAp74MsKSrkq9guHyvfMTtmLc1togpZoyqYmyNoITzVTYRJCiXYBIQ3CwFqi83o3JDhX6C0M8XsGIMoQ4OyuRlq1DdZcLkmbgGDX1iIEKNxAcbgTEOqC4ZRaJ6Ub86K7CYFEo8Qo+GBQlQyXBczLZpbloaQ9k1NUz/kD2myBBKxRZpa5hVcQslalatoUxizxAVVrN3CW21bFj9F858Q9dnIRmDyeuybM71uxmH9BNBB1q6zybV7H9s1Ue4PM3/gu/AEbfqfWy2twsAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_add.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ8SURBVDjLpZB/SFNRFMftj5IiW9saIQjGQrBiUagEFWLDydrUhAWzNNuWTZ1oKIUzf4RlzZY6sWyrLZXhfFszQ1eac2SQkYWW0yH0l1AWITSw1IXK+/beK0RBptCFD+fcyz2fc+4NARDyP6x5qInbVVEn5sw2SHdCL2ahQsiey4jhVW9IkBPDKbmfyibN6Rw8oLgrY0MnYaEofgcpPcitWldglLLQQhXqqSKdlIaNm8k8XDnBQWYMa2ZdgS5+O14YyzHVq8eQpQiFCTwUJ4YjX8SH+hh7wapNCQ0qMGdF/gh8/4SZN0Z87a+H13ENk89vwz85AiJ378xYq2ZLUEFjxv5B//t2TA87MT9KUNiZ3D9C4KFKMBz0Cbults1RxzVWoiAWv4ctCPieMsx/tKHzciwE8blPeCLz1jUFPAkRyhW35UWIPfB9noWjLBX2shQGOn898QsRSS/BET66xBWatq0ScE86NoUlORSRyYOYmJpH2xRQ7APy3gEXXgHnewCtsxPFRgXU9acgvyEMiEsOVS4LDsia0xJP6+EcWoLJCxS8JZE7QCK7j0RWFwmlmUCVU4lnviaMfnPD0K+B3CDAkfzwWkbwoTx6adqlxb1mFxS9VFeqo7KbxLkOEmdsVKyRoGu8AV0TjaBXreciDJ4cWhBgBN6KfaTffR3p6hZU988howM4aycht5KQWUgklx1Gj8+Clat7rIkW/P2IcWtB6Uhp1KJSeWsxTjEAJTW6agVHC/m441ZB51Ywxbo+xeoJaCbteWGVV6u5e9JcpsiE1i980eM5flLHAj/RuSCQZy7KaqNR585mOtOR3i//wUagLtdQ/KTH/hdr6PM/RhGjA91Gi1AAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_comment.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ5SURBVDjLfZJtSFNRGMenRkgY1BKiL30yEkqJrCjrgxBB5Qtmyy3NcGoUuqD5skEm+ZZizpTUmZEw33ML06lzGoQKtRRETXM2Z1LOTBs6LNNw9/w7d+IiuevAj3vO4fx/z+E5lweAtxVRvp5Pqaf8psAF3RQfngtBa1OvCet2Bq5Ge/80K5nkCntR7AwhsP0imF8msCwRfF4k+GQlmFxgYF7YEKerDJzV90vKexwHZm0EX2hw6juBaZ6B8RuDsa8MRiwbggL1IP57A7b6NK36kYbH5xiM0vCwhRXYHYKMmnd/gwlH+dvunPTOehy623ZLlrfO9oCVbA72JsMzjEPK2QP5Gb5UGewJxcXtKBLsQ2JKBkR5OkfHq/QfnKKlH2uONd0f/ecVioM8OzXyC+hRRKFAeBC3A3dAfHwn7ob71tCD5rnFlc3gKiVjM+cUlEbsqZ4xqLE81IT3Lx6gXyXDUMsjpGQqRip1Y2zwJ0W6tWfOyZUQQepEYxpZHW8FTFqsGdvRX5dORLlaKw0mcP0vTsHekAYPXkDFE3VxNplU3cREXQrMdRKoCnOI+5Gycu9zlR4uBbvON7l5nNbkykunGL0VkGvfQqo2QFJtwLNhIDHfZHc/UZvpFVThxik4FfEwNS2nDc+NBMkDwI0+4LoeiNQAV+sJcrsIxMnNJDD0noxTMFt4CAPqUiSp5xHbAcRoCIQ1BBFVBGFPAYFiAYPNSkxl+4JTYFYGv6mVxyBU2oe4LiC+GxDrKPR7rQU4G9eBl/ejMVEW1sspMDUk8V+VxPsHRDZkHbjcZvGL7lrxj+pe8xN2rviEa63HLlUVvS6JPWxqlPC5BH8A3ojcdBpMJSoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_delete.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKRSURBVDjLpZNrSNNRGIeVuaSLrW2NCozlSsrCvqifKrG1vyznRDLQMi9TsamsUCzvSWJKC0Ms0/I2hratmVbi3bLIysRZlgh9qFGuCKOF5KaonV9n+yAGokIHHs7hhd/zvofDcQHg8j8sW0wN2FpQJuVNl8u2QC3loEDMtUX7CYrXJDjrx8u6FcYlNVE83KbciOCiNISD9MDNRHaQf3lVQZWMgwYaVNNQqcwBF1dCBbhwlIczfpypVQWlgZvQVZUPS6cag7XpOBckQIZkB9IYEZIPcee02XL3FQU1scKfM98/YOpFFb72XseooRDm9quwmk3QKXdPvdOkrltRUBG9f8A6dBeTw0bY3+ooeufZatLhToLv8IpX2CZrYnsfTtXqVP6YHa7FzFirE/ubJrRk+sM3UHlfwNSsX1YgCNG586WNKZ7SPox9mYYhLwz6PLkTx/n5+G94Bj8BT1x3ni+u3vCPgH/c4OoRbIgXhg5g3GJHowXIGANSXgOJT4G4DkBTXolnMT7oFbPxgNlo7WDYuYuCAxH14ZKTahgHF1A9CqheESj7CZK6CWIfElwrqsRI5hHMtJeBjHfBps/AUJrvn55jbiqnYCR/38JkWzZu1rchvpN2pR0VjwhimglONREYw/fATsOokANZXKDECz/UQeiWsD45BaMFPsTaU4So5AYU99oQ3Qyc1hNEagkiagn66NjE1IKl61fhdlp3I07Be60qx5TjPa9QlMwHxPdDQUdPWELrCSGm6xIBGpq96AIr5bOShW6GZVl8BbM+xeNSbjF/V3hbtTBIMyFi7tlEwc1zIolxLjM0bv5l4l58y/LCZA4bH5Nc8VjuttDFsHLX/G0HIndm045mx9h0n3CEHfW/dpehdpL0UXsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALTSURBVDjLpZN9LBRgHMf1R/NPuo7Uam0aaV7G2uSvYki6c4hhWZe3mJw6i9FxnMj7RUNeIzYvnUtLuXKGXDV2yMm9JK10iDHlvOTuvN6369Zs1kZbf3y2Z8/2+ezZ8zw/PQB6/8NfG1H2B1n5JMPlAsoBsEkEsFyISqqdccY/Ba7ZGTJKvYiaygBDVGi570tEtjsBMY77NRRbo7RdA2UUAmq0IlsrZVN+Q0SmhzHinQ1xxY6wuGsg23Ef2sqSMclno7cqBtFOxoh1PYLr500RcYa4Vpvgqb9joDLIZE498wmLPWWY6rgHMfc25C9zoZCLwIk0Wxxttr800hCAz88zMfTQDeIS66BtgSKqVbei/xFmB5qgGuJoadStFSIO+BkWX6e7GFiQvAB+TmFe8gTCPNLMlnyY0rDX/GxULYd+GisDVVDLmnWo3jdAwLbFd2nK5uq3Fky/vguV9Ck2xrohrYlQ62Rjd46+EamedozUCdnEMrhJXmhM8tTRnucChYyFTVU3VKM3MNdPx8e6MEgqA3/0F/mc1DMic/cYuHFDTDy6MTypQv0kECsDaH1AVocACmkiNtVCKL8EQz1BxdIwE/IKpxlRvusp3SVa+1Z7u/qx0dS7gXIxQBdqECnQIJXzDNPvGH/kIKjHL2NRlgRZoRtiIyJTt15hMNliY5aXgOJqHkL4QFgrwKrjQdp2S3vst1DLw7AyEYgF7UlGSi5gtiUewjjLta2AmGWpUbTfQUBEDTI6lIgr4uBDKxNifgEm+/yhlFMxN5QASakPAsNLMd+Zjn6GlWYrIK2lJ4oSzddDQ7PW7UMEeJx7Dlgaw8gDP3Qxj6KnnAx+DhkuflWghzOVgym2K1onfdtHkjfSDFKYGUbHvXnlaeE2WBUWY7WvEH2Zzqi/agYHcq7ixMWW9pvRqYfGuTSDHafR34Gozg62WH+VQ17vzHd5w2PYmO40zr8A5dG3M3vHNHcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_gray.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJUSURBVDjLpZNbaJJhHMZHUES51SoiqssWm5SMQekoFwvnYR4RP02dh/yMMhJpW3PaFOuzURfNi8GUDusw3QGDgl0k0Y3QcbjVqtsY3cVAu9uMwqf3ey+EwXBFFw/vgef58X94eesA1P2P1r284DDfDp/ajUhHPQZOCuBr3wXWrLv/VwAf64pFtM0YO3sUN1U7MOo+gr4OAdzSA2Cd1pENASGjGKO2JgyQ0A3TIRJuQJw5DF/HXhha91Q2BJw/3ojLaiHGr2gwwp6A/VgjrhqbYW0/CKZtJ0b6zmyvCRhU7ltdfH4XxfcT+P76AeYf9ePrs2tYmB1DVLP/56eHF7fUBCQcre9Kc5NYLmSx8nGKaJruS/NTuOMRFWpWaJP7tkql0ux4oBPlwj2sfnlKtfIhg8mBTojF4iei0+e2rQtQKpUNKpWKU6vVSKVS6OnpwcQQQ6XRaOidTqfj93HiFawBkOCmYDB4izfypmQyCavVimw2i0wmA5PJhOHhYXg8HnR3d1dkMtkggWyuAkjwEsuySKfTMBgMMBqNsNvtyOVyyOfzsFgs0Gq1sNlsiEajcLvdFblc3lcFLAw1/16eHUQ4HAbHcdTkcDhAJqPjMwwDr9cLl8sFv9+PYi6Kt/0t5SpgMdJSKb24Tg2JRIKCSCVq5iv19vYiEAggHo9T2I+XHOaCwkoV8PmxPzQfavrldDqh1+upkVcsFqP9+an4M+mPrq4uLERFZZLh1rzC0rSvnnRsIs/4ivRdIuOXFQoFePEhshYlEskbs9ks/Dbjq6/5G/9FfwAGy37p9rgYIQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_green.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJkSURBVDjLpZNbSJNhHIeli4jAKOhun9KNbUpaURFRREkFVjpNRcssXOKYZ9J0ihnN05zSUpflzMOnW5tuammajUkWpCbbrOxwEzZJw7Rt2pxJh/16/YSBILPo4uE98P8974nXA4DH/7Dq5GQn+5NdxcK8lsK8msIczcKYlv35rwST3ZwxRw8Ljh5qmU4i0VCYbfWC+T5nfE2BQ+fFBOdbqeUdEOyEWZrCRBWFNQX2ehZMGh4mHkkwM3AYlgYKVoUXZpTe+CKnoJcd2uJW0Jbi/c32vg+WF82Yel4Hm+kYbMYYzH1Qoy9v28LrxsT1bgU34nYMWYfvYdqgwcJLFUHN9K1GFWp4/ga3R0hX0huDLp8ercnci0XDXXx/08GwMKIEnbsPJxJPjsbfrt28qiBNSW+KrcpRhhSxMeTogrQ0CI3XTjEs9XVTLQgu3I6z5RntqbR86wpBqkKxTmvukMTK9mPgdwN6bRVoeCdEtTEN0gEBxE94uDOSgcezMoSJdyGiRNic3Fi7wSVIrissTmo6jhaziGEpeHNQgLJn8SjSX0B+dxSy20NRMZQEST8fCXIu4iuzql0CUx7n13SXENd7z6G0n8dQ3HeRGed1RSKrjYt0VRD49UeRqQmGpTcfg5m+P1yCV1d9nVadiBQcwS1DKgnGkFWjkfsgHFe0XNJGEEkYJE/5OF95EDZ9AYaz/ZwuwWhTSo4xx+cnvy4Q0dLdpPDSqoRL/BEu3glTfsAiyRSseIWPaoEnrZf6RJUnvI0sC3SeKd1DLiwAoSX+CCkKIBxwhoi4X2selvuNtwg83f7Gf+EP0qq8jpoy//YAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_orange.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJlSURBVDjLpZNrSJNRGMdlr7qat+zKaoYhjqYphRCWCtKFoCj60CeRpDB0djHUSMOZm0JhGEmlNhczXXunDgy7TNcVcsjGpk6dNsiJyyjWNg3ZnJfef69vMBBkFn34wXMu/995DocTBCDof1h1cvBJnM5RTsBVyYLzBgvfigjopbGDfyUwK+Nfu2RsTNcTDO5aAk4RC1/KQ2BqjetbU+AiOZip/xNyLndQSeCHmMBUIQFzTjDWFDiu0O0qzmJKU4OvPSmYuETAXhKM8WshsOYR0NZlRAUUtOXt+Dk99hYufSu+6x7D8fEAnLozmLEq0V3M8ww1F4QGFEhz+Aa3QQmHsQPeQZJGxdRuEwnp+SRjwCs0FpwIf3guwfayKBE+owxzI50M3oGn0JbuQW323vE7uac2rSpoFB6Pll/M0FjEofDZe2Go2ocu0VGG5dpjUWOEXpPlp72X5h/irhBIcrNYNunp5s+31gFTWmCsAfiQDWiOgXq2H1Q7H1TPSVCfmjBaHY4HFzJfNOQd5vgFZGHmo5n7bEBfQlPMBNGVCqgTQZGxWGjhwivbCKorHb/UybDf5UFekE76Bf3lu5ccz0uxpIgBOvgMlGoXPeZhvnkbHY7GbEMYnHVseKQb4OquQF+JYMEvMIsElFsroTfQL/TqCBYVOzHfsh0++RZ4mqIxJ98Kj2wzc7qtJhLTb6pguJ5A+QXDLZfLTGXxi45762G7TUs6BKtirWZjWByG/opkH52pWvEKEyphRK8oLan9aurkgCSGslRHYVTCwQjNkDgSpptcqrMwafZd2cGUyTZhRMDf+C/8Blefvm4GxFC9AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/user_red.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJfSURBVDjLpZNrSFNhGMelD34op67Lp4I+RKBREkUNIR2po7LOztlxbY1amstyXWw2m06b6Ra1llpqBJrlJdNFVyqxixZmIQ5npVE20DCkYqaDDBVy77+zDQbCmEUffvC8L/x/z/Pw8oYACPkfAl5mKmWl+cJFMMTzoNsUBnXsQqhk4qt/JVCrUosMVBQs2yJg5igWhUMbH4a0uKVQ7VWUzSnQswJc4II6LqT1Eg6NkI99GyPArF1M5hRoBZGkpTIPI60WdFYexO4NfKTGLoEidhl2rotEmXbXgqCCqj3LXa6P7Rjrvo7vr2thr8/B4P1ijPa3ojFjxURf3aHQoIJqxWrbuK0Jzp5bmHzbzGH11uP2ZlSnx/QEXcGaxM5/tnlrx5NMAaZ7ajD1/p6XyTc38FwjgFWY/KJRKOUFFJQnpfE7RFSNk6Ux5fiEvmPJaMnd7sVT/7J14ytDozMx+WJ9nCJylsCcIp03oNHWfpMwgOMD0PUSaKoFrlSAVJwDMRfCfe0ySPcrfGEY8iCBKq1LpEL9grYtjJGky4BHd3xwQVRagBIjcDofKMgGjh8AuVQCd4kJP9Nk5K6IPusX9J6MmnE+zANOnQAsRT7OFPjO+iwgOwNQK+FWSoAsFcYeF6IrJ3raL3hniCbjT40gSm6FqnIQLkg8XXWHQTT7QXRH4OYm8HT/IWfhajPBlruK+AX9DUf1dv3K3zOcYDSFBs4XB2SEZuCgGPQWxkxzGdOsV/hsVfPa5dI1TSLl8AArJ0M0iyGxBIOUBI4dLPrFMnI7QTHRyqasH76p5gX9jf/CH9NZtVjmGMuRAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/vcard.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGnSURBVDjLxVM9T8JQFD2lBRQRFPAjEhIwXRgwEUjERRMnZPYXuPoHSJz8BQ7+BCcHJzZHiST4MWC0fsQBJUKCEQnGWihtfa/QBgK6MHiT2/tu3+1559x3y2iahlHMghFtZACuUqmkSdyiiaqqoJJo7HVFUQZi1w+Zcrnc9vl8LAXo7YexHhaNdaFQUDiSsFarFftXClriJz4eTqHJX7DMhDEbiiDlfALP80if1CFKLYjfxCUZR9s8ZcByvadG7w/QLl/guVRC8U2Etnutv5dlGXvr44S+3ZRFjcrgjEQvnFvG2pIfGzYOZ5c3KLCsWZjNZvual0wmOwD0oX/cVnFeXQDHfcDpcuGqtYJaTQKcHYBEImGebrDuY1AvPWImtIhjLoraSwtjHhvmv17Nwnw+/zcD/0QDt+9TUD1TmJ6zQWpImFTfyM64XhiLxdAr17h2E2Bnc9XcEEURzWaTFARM2na7HW63+3eAEul8tVqF1+tFMBiEw+EYmDpBEFAsFhEIBBCJRHQAhgyDQEDCFCgejzO5XE4bNn2Gp1IpJpPJaF05d8y//40/Nlww9OOVWvkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icons/vcard_add.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAInSURBVDjLpZPLS1RhFMB/M/eOr0YzH2mjghPjwoWGInWTMDCkmVZB/QPVrty1GXAVtHATLRIXtWgRBGGB2iKxIEgbopJhTMse9Jrpjoz4zuudx/d9LWxGh1oIHjicc+B8v/PgOw6lFHsRJ3uUPQP0eDweBM4DSClRSiGlzFMhxD/2r95zmKaZqaqq0gB27iPr/89m/UgkInSllOZyubg5JUhZ6yx/fIFKb+Csbuagt4Uz7i/4fD6C4ytYdgprM4Vlp3lw0YcQQtN3Vm2fu0XGfMOPaJTvCxaqbxqAdDrNtZPFSFmYGwtACIGeDQDSNW10tdbRXaDz8u0MEU3LJU5MTOQtz+/3bwGEEFuPM5LXCQ+6voy7rIyp1DGWlmxwbwEMw8hVz3ad18FK9BPV3sM80ttZ+pmiqKKA2o1fucT7Y3f4ujLDb3sNO7mJ/+g5ykXDdgd1+9aYXSxHVpRzoKYAe82mVC4AxTwND7PomqO7y6C+oonns8OMTA9QK9q3AVcCx3PzWZZFMplEygaklIyNDnE2cBrhFBw51MOz90MYLZ08HHmyDYhGoyQSCSorK2lsbKSkpCQHXFidx+VwE2i+BMDVU7d5/G6QjBxFF0J8CIfDzUIIOjo6HKFQSMVisbxft7q+zKwZImJOEuy5S//4BYq0QjSnrhy7uUaj13O93ru/r7P1BE21bXyeDxOaniT2bfWGY7fnbPR6+oHLQCmwDgy+GjCDfwBGL0x8usOKBQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/icons/vcard_delete.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIdSURBVDjLpZNPSFRxEMc/b9/P9b9uu5qWVG6soERCIringi6J5wKhTl2CvFQnQQi9dO3QoUudOkSHLkUQniL/ENWyrSRbUqC9dc1dXUXxubvvzft1sF1d6iA4MMwMzHznO8OMobXmKOLjiHJkALWysjIKXAXwPA+tNZ7nVaiI/GP/6jMjnU67LS0tJsDBfZT8/9mSn0gkRGmtzaqqKh7GhKK9zcb392hnB19rD8fD5xlq+EEkEmF0chM7X8TeLWLnHV7cjCAipjrYte/bI9z0J5Ysi8WsjR6bA8BxHCYu1eJ51eWxAEQEVQoAnLYLXOzt4LJfMfP5KwnTLCdOTU1VLG9wcHAPQET2il2Pj5mTKLVBQ1MTseIAuVweGvYAotFouXuJdQWDTWuB1vBZXqo+cr+K1AT9tO8slxPjTybwxV8jqxYSCNJ17S7S3LvPoKN+i/n1AF4wwLE2P/mtPI1eFqgl+/YprWsxum6MUB0+x+7cJMmZ5xhtSxjJZFJ3d3dXzGfbNoVCoUx5/k6Ugesj1P58B8vT0BxgTZ0h9mFhn4FlWWQyGUKhEJ2dndTV1ZUBZdWipj0MQ/f2L3D8BGpzHSUiyXg83iMi9Pf3G7OzszqVSlVeX3MQ+8sb6l/dprD7GxvY3jJxGwOucZhvnB7uGPc31o+dCrlK+VJsZ10WV01x8vq+cdh3nhk+PbqTS98yxTgjpl7W8PjKpPvgD7bjUD5Jjh8/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/icons/vcard_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKZSURBVDjLpZM7TFNhFMd/t/f2IqVQqAWM72IVMUEjIRoiYnTxEWEyTjqoiYNuxkSjk5uJg4ODDjoYE6ODm4sOJlopqNRY5VXC09oCRaCg3t572++7DspTnTzJyTnfyTn/739O8lccx+F/TBsdHb0MHAOQUuI4DlLKJS6E+CP+9gdKKpXKBwIBFWAxm7n8b3Euj8ViQnMcR3W73dyMCmzjG9PxVzi5H7jKa6gI1nLE208oFOLy8wyGaWNkbQwzx+PTIYQQqrb417reW+RT7xhJJBieMHCufgQgl8txbV8hUhbMrwUghECbewDkKnfStH0NB3SN1o5OYqo63xgOhymWXQQyHajeWka+vsRdth9NCPFrOC95m16Npk3jLSkhau9masoE7y+A+tA0+cQEhetO4AvuJDNUTc+LhwsMMok+yoNVPNHqmPpss8Kvs+pHEgAr/QzViuPfvIepgR50xaa4ZBXe0soFBmuKZumaLEX6Symr1DFnTYrlBGq2G83di6/qINboI3SPwsiHXqSjk/Q1LgCcP9wwfwvDMLAsC2syQYHZiW9TC2byDi49j9u7gSLnC4FDNxho78Y1B5BIJIhGowwPD+PxeLDGwpBpxRdqwUzexuXOYc9uZOzle2aqTlFYvgkpJUosFusWQtQIIaivr1cikYhjj7dR4Rlna1Mz9vh9FNXGnFlLOvweacwE+7ZcGfp9ux5luRbunVt/pqH55N28UsFKfytlFTrmzDomX79JSyvbUH2hbXCJFpaLo2TjlrvbGs8Sf3SRvnCEgvU7yKfjqTJdPVh7qX1web9reSHeP5a3u54S3LGXoqJqkh2fvptZ+0jtpfbOv6nxjxWON/mzdVWV2q6aII7bimTTE6eOXv84+C85/wR0RnLQ/rM7uwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKICAgICRsYW5nID0gYXJyYXkoCgogICAgICAgICd1c2VycycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdVc2VycycsCiAgICAgICAgJ2VkaXQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0VkaXQnLAogICAgICAgICdkZWxldGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdEZWxldGUnLAogICAgICAgICdzYXZlJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdTYXZlJywKICAgICAgICAnYWRkX3VzZXInICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnQWRkIHVzZXInLAogICAgICAgICdncm91cHMnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdHcm91cHMnLAogICAgICAgICdncm91cCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdHcm91cCcsCiAgICAgICAgJ3Blcm1pc3Npb25zJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1Blcm1pc3Npb25zJywKICAgICAgICAncGVybWlzc2lvbicgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnUGVybWlzc2lvbicsCiAgICAgICAgJ3Byb2ZpbGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1Byb2ZpbGUnLAogICAgICAgICdwcm9maWxlcycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdQcm9maWxlcycsCiAgICAgICAgJ3RlbXBsYXRlcycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1RlbXBsYXRlcycsCiAgICAgICAgJ3NldHRpbmdzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1NldHRpbmdzJywKICAgICAgICAnbmV2ZXInICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnTmV2ZXInLAogICAgICAgICdhcmVfeW91X3N1cmUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdBcmUgeW91IHN1cmUgPycsCgogICAgICAgICdzaWduaW4nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdTaWduIGluJywKICAgICAgICAnc2lnbm91dCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnU2lnbiBvdXQnLAogICAgICAgICdzaWdudXAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdTaWduIHVwJywKICAgICAgICAncmVnaXN0ZXInICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnUmVnaXN0ZXInLAogICAgICAgICdjcmVhdGUgbXkgYWNjb3VudCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdDcmVhdGUgbXkgYWNjb3VudCcsCiAgICAgICAgJ2FjY291bnQgY3JlYXRlZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1lvdXIgYWNjb3VudCBoYXMgYmVlbiBjcmVhdGVkLicsCiAgICAgICAgJ2FjY291bnQgY3JlYXRlZCByZXZpZXcgYnkgYWRtaW4nICAgICAgICAgICAgICAgPT4gJ1lvdXIgYWNjb3VudCBoYXMgYmVlbiBjcmVhdGVkIGJ1dCBuZWVkcyB0byBiZSBhY3RpdmF0ZWQgYnkgdGhlIHdlYnNpdGUgYWRtaW5pc3RyYXRvci4nLAogICAgICAgICdhY2NvdW50IGNyZWF0ZWQgZW1haWwgc2VudCcgICAgICAgICAgICAgICAgICAgID0+ICdBbiBlbWFpbCBoYXMgYmVlbiBzZW50IHRvICZsYXF1bzslcyZyYXF1bzsuIEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGluIHRoaXMgZW1haWwgdG8gYWN0aXZhdGUgeW91ciBhY2NvdW50LicsCiAgICAgICAgJ2NoYW5nZSBwYXNzd29yZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0NoYW5nZSBwYXNzd29yZCcsCiAgICAgICAgJ2ludmFsaWQgcGFzc3dvcmQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0ludmFsaWQgcGFzc3dvcmQnLAogICAgICAgICd3cm9uZyBwYXNzd29yZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdXcm9uZyBwYXNzd29yZCcsCiAgICAgICAgJ2xhc3QgbG9naW4nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0xhc3QgbG9naW4nLAogICAgICAgICdkaXNhYmxlJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdEaXNhYmxlJywKICAgICAgICAnZW5hYmxlJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnRW5hYmxlJywKICAgICAgICAnZW1haWwnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnRW1haWwnLAogICAgICAgICdjYXB0Y2hhJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdDYXB0Y2hhJywKICAgICAgICAnY2FwdGNoYV90aXBzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnUGxlYXNlIGNvbmZpcm0gdGhhdCB5b3UgYXJlIG5vdCBhIHNjcmlwdCBieSBlbnRlcmluZyB0aGUgbGV0dGVycyBmcm9tIHRoZSBpbWFnZS4nLAogICAgICAgICdpbnZhbGlkIGNhcHRjaGEnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdUaGUgY29kZSB5b3UgaGF2ZSBlbnRlcmVkIGRvIG5vdCBjb3JyZXNwb25kIHRvIHRoZSBpbWFnZS4nLAoKICAgICAgICAnZ2VuZXJhbCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnR2VuZXJhbCcsCgogICAgICAgICdhZGRfZ3JvdXAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdBZGQgZ3JvdXAnLAogICAgICAgICd0eXBlJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdUeXBlJywKCiAgICAgICAgJ2FkZF9wZXJtaXNzaW9uJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0FkZCBwZXJtaXNzaW9uJywKCiAgICAgICAgJ3Byb2ZpbGVfZWRpdCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0VkaXQgcHJvZmlsZScsCiAgICAgICAgJ2VkaXQgcHJvZmlsZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0VkaXQgcHJvZmlsZScsCiAgICAgICAgJ2VkaXQgcHJvZmlsZSBmb3InICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0VkaXQgcHJvZmlsZSBmb3IgJXMnLAogICAgICAgICdwcm9maWxlIHN1Y2Nlc3NmdWxseSBlZGl0ZWQnICAgICAgICAgICAgICAgICAgID0+ICdQcm9maWxlIHN1Y2Nlc3NmdWxseSBlZGl0ZWQnLAogICAgICAgICdwYXNzd29yZF9jaGFuZ2UnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdDaGFuZ2UgcGFzc3dvcmQnLAogICAgICAgICdwYXNzd29yZCBjaGFuZ2VkIHN1Y2Nlc3NmdWxseScgICAgICAgICAgICAgICAgID0+ICdQYXNzd29yZCBjaGFuZ2VkIHN1Y2Nlc3NmdWxseScsCgogICAgICAgICdhY2NvdW50IGRldGFpbHMnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdBY2NvdW50IGRldGFpbHMgZm9yICVzJywKICAgICAgICAnYWNjb3VudCB2YWxpZGF0aW9uJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnUGxlYXNlIHZlcmlmeSB5b3VyIGFjY291bnQgJXMnLAogICAgICAgICdhY2NvdW50IHJlc2V0IHBhc3N3b3JkJyAgICAgICAgICAgICAgICAgICAgICAgID0+ICdSZXNldCBwYXNzd29yZCByZXF1ZXN0IGZvciAlcycsCiAgICAgICAgJ3Bhc3N3b3JkIHJlc2V0IGZvcicgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1Bhc3N3b3JkIHJlc2V0IGZvciAlcycsCgogICAgICAgICdpbnZhbGlkIGNyZWRlbnRpYWxzJyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdJbnZhbGlkIGNyZWRlbnRpYWxzJywKICAgICAgICAnaW52YWxpZCBjcmVkZW50aWFscyBvciB1c2VyIGluYWN0aXZlJyAgICAgICAgICA9PiAnSW52YWxpZCBjcmVkZW50aWFscyBvciB1c2VyIGluYWN0aXZlJywKICAgICAgICAndXNlciBpbmFjdGl2ZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnVGhpcyB1c2VyIGlzIGN1cnJlbnRseSBpbmFjdGl2ZS4gUGxlYXNlIGNvbnRhY3QgdGhlIHNpdGUgYWRtaW5pc3RyYXRvci4nLAogICAgICAgICd1c2VyIGRpc2FibGVkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdUaGlzIHVzZXIgaXMgY3VycmVudGx5IGRpc2FibGVkLiBQbGVhc2UgY29udGFjdCB0aGUgc2l0ZSBhZG1pbmlzdHJhdG9yLicsCiAgICAgICAgJ3N1Y2Nlc3NmdWxseSBzaWduIG91dCcgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1N1Y2Nlc3NmdWxseSBzaWduZWQgb3V0JywKICAgICAgICAnY2xvc2UgeW91ciBicm93c2VyJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnWW91IGhhdmUgdG8gY2xvc2UgeW91ciBicm93c2VyIHRvIHNpZ24gb3V0LicsCiAgICAgICAgJ3N1Y2Nlc3NmdWxseSBzaWduIGluJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1N1Y2Nlc3NmdWxseSBzaWduZWQgaW4nLAoKICAgICAgICAnc2lnbnVwIGRpc2FibGVkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnVXNlciBzaWduIHVwIGlzIGRpc2FibGVkJywKICAgICAgICAnc2lnbmluIGRpc2FibGVkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnVXNlciBzaWduIGluIGlzIGRpc2FibGVkJywKICAgICAgICAnbm9uZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnTm9uZScsCiAgICAgICAgJ2J5X2FkbWluJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0J5IGFuIGFkbWluaXN0cmF0b3InLAogICAgICAgICdieV9lbWFpbCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdCeSBlbWFpbCcsCiAgICAgICAgJ2ludmFsaWQgdG9rZW4gb3IgdXNlciB1bmtub3duJyAgICAgICAgICAgICAgICAgPT4gJ0ludmFsaWQgdG9rZW4gb3IgdXNlciB1bmtub3duLicsCiAgICAgICAgJ3VzZXIgdmFsaWRhdGVkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1RoZSB1c2VyIGhhcyBiZWVuIHZhbGlkYXRlZC4nLAoKICAgICAgICAncGFzc3dvcmRfZm9yZ290JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnRm9yZ290IHlvdXIgcGFzc3dvcmQ/JywKICAgICAgICAnZW50ZXIgcmVnaXN0ZXJlZCBlbWFpbCcgICAgICAgICAgICAgICAgICAgICAgICA9PiAnUGxlYXNlIGVudGVyIHRoZSBlbWFpbCB5b3UgaGF2ZSB1c2VkIHRvIHJlZ2lzdGVyLicsCgogICAgICAgICdpbXBleCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdJbXBvcnQgLyBFeHBvcnQnLAoKICAgICAgICAncHJvZmlsZV9maWVsZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnUHJvZmlsZSBmaWVsZCcsCiAgICAgICAgJ3Byb2ZpbGVfZmllbGRzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1Byb2ZpbGUgZmllbGRzJywKICAgICAgICAnYWRkX3Byb2ZpbGVfZmllbGQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnQWRkIGEgcHJvZmlsZSBmaWVsZCcsCiAgICAgICAgJ21hbmFnZSB1c2VycyBwcm9maWxlJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ01hbmFnZSB1c2VyXCdzIHByb2ZpbGUnLAoKICAgICAgICAnZm9ybV9lbWFpbF9mcm9tJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnRW1haWwgZnJvbScsCiAgICAgICAgJ2Zvcm1fZW1haWxfYWRkcmVzcycgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0VtYWlsIGFkZHJlc3MnLAogICAgICAgICdmb3JtX3ZhbGlkYXRpb25fZW1haWxfc3ViamVjdCcgICAgICAgICAgICAgICAgID0+ICdWYWxpZGF0aW9uIGVtYWlsIHN1YmplY3QnLAogICAgICAgICdmb3JtX3NlbmRfc2lnbnVwX2VtYWlsJyAgICAgICAgICAgICAgICAgICAgICAgID0+ICdTZW5kIHNpZ24gdXAgZW1haWwnLAogICAgICAgICdmb3JtX3NpZ251cF9lbWFpbF9zdWJqZWN0JyAgICAgICAgICAgICAgICAgICAgID0+ICdTaWduIHVwIGVtYWlsIHN1YmplY3QnLAogICAgICAgICdmb3JtX3Bhc3N3b3JkX3Jlc2V0X2VtYWlsX3N1YmplY3QnICAgICAgICAgICAgID0+ICdGb3Jnb3R0ZW4gcGFzc3dvcmQgZW1haWwgc3ViamVjdCcsCgogICAgICAgICdmb3JtX3Byb2ZpbGVfbW9kdWxlJyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdNb2R1bGUgZm9yIHByb2ZpbGUnLAoKICAgICAgICAnZm9ybV9uYW1lJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnTmFtZScsCiAgICAgICAgJ2Zvcm1fdHlwZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1R5cGUnLAogICAgICAgICdmb3JtX3VzZXJuYW1lJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdVc2VybmFtZScsCiAgICAgICAgJ2Zvcm1fY3VycmVudF9wYXNzd29yZCcgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0N1cnJlbnQgcGFzc3dvcmQnLAogICAgICAgICdmb3JtX25ld19wYXNzd29yZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdOZXcgcGFzc3dvcmQnLAogICAgICAgICdmb3JtX3Bhc3N3b3JkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdQYXNzd29yZCcsCiAgICAgICAgJ2Zvcm1fY29uZmlybV9wYXNzd29yZCcgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0NvbmZpcm0gcGFzc3dvcmQnLAogICAgICAgICdmb3JtX2VtYWlsJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdFbWFpbCcsCiAgICAgICAgJ2Zvcm1faXNfYWN0aXZlJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0lzIGFjdGl2ZScsCiAgICAgICAgJ2Zvcm1faXNfZGlzYWJsZWQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0lzIGRpc2FibGVkJywKICAgICAgICAnZm9ybV90ZW1wbGF0ZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnVGVtcGxhdGUnLAogICAgICAgICdmb3JtX3Jlc3RvcmVfdGVtcGxhdGVfZnJvbScgICAgICAgICAgICAgICAgICAgID0+ICdSZXN0b3JlIHRlbXBsYXRlIGZyb20nLAogICAgICAgICdmb3JtX2NvZGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdDb2RlJywKICAgICAgICAnZm9ybV9kZWZhdWx0X3RlbXBsYXRlX2ZvcicgICAgICAgICAgICAgICAgICAgICA9PiAnRGVmYXVsdCB0ZW1wbGF0ZSBmb3InLAogICAgICAgICdmb3JtX3VzZXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdVc2VycycsCiAgICAgICAgJ2Zvcm1fZ3JvdXBzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0dyb3VwcycsCiAgICAgICAgJ2Zvcm1fcGVybWlzc2lvbnMnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1Blcm1pc3Npb25zJywKICAgICAgICAnZm9ybV90aXBzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnVGlwcycsCiAgICAgICAgJ2Zvcm1fb3B0aW9ucycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ09wdGlvbnMnLAogICAgICAgICdmb3JtX3Byb2ZpbGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdQcm9maWxlJywKICAgICAgICAnZm9ybV9jYXB0Y2hhJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnQ2FwdGNoYScsCgogICAgICAgICdmb3JtX2xhc3RfbG9naW4nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdMYXN0IGxvZ2luJywKICAgICAgICAnZm9ybV9hbGxvd19zaWdudXAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnQWxsb3cgdXNlcnMgdG8gc2lnbiB1cCcsCiAgICAgICAgJ2Zvcm1fYWxsb3dfc2lnbmluJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0FsbG93IHVzZXJzIHRvIHNpZ24gaW4nLAoKICAgICAgICAnZm9ybV9zaWduaW5fcmVkaXJlY3Rpb24nICAgICAgICAgICAgICAgICAgICAgICA9PiAnU2lnbiBpbiByZWRpcmVjdGlvbicsCiAgICAgICAgJ3RpcHNfc2lnbmluX3JlZGlyZWN0aW9uJyAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0Nob29zZSB0aGUgcGFnZSBhbGlhcywgYSBmdWxsIHVybCBzdGFydGluZyB3aXRoICJodHRwOi8vIiBvciBsZWZ0IGJsYW5rIGZvciBhIHJlZGlyZWN0aW9uIGFmdGVyIHNpZ24gaW4nLAoKCiAgICAgICAgJ2Zvcm1fc2lnbnVwX3JlZGlyZWN0aW9uJyAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1NpZ24gdXAgcmVkaXJlY3Rpb24nLAogICAgICAgICd0aXBzX3NpZ251cF9yZWRpcmVjdGlvbicgICAgICAgICAgICAgICAgICAgICAgID0+ICdDaG9vc2UgdGhlIHBhZ2UgYWxpYXMsIGEgZnVsbCB1cmwgc3RhcnRpbmcgd2l0aCAiaHR0cDovLyIgb3IgbGVmdCBibGFuayBmb3IgYSByZWRpcmVjdGlvbiBhZnRlciBzaWduIHVwJywKCiAgICAgICAgJ2Zvcm1fc2lnbm91dCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1NpZ24gb3V0JywKICAgICAgICAnZm9ybV9zaWdub3V0X3JlZGlyZWN0aW9uJyAgICAgICAgICAgICAgICAgICAgICA9PiAnU2lnbiBvdXQgcmVkaXJlY3Rpb24nLAogICAgICAgICd0aXBzX3NpZ25vdXRfcmVkaXJlY3Rpb24nICAgICAgICAgICAgICAgICAgICAgID0+ICdDaG9vc2UgdGhlIHBhZ2UgYWxpYXMsIGEgZnVsbCB1cmwgc3RhcnRpbmcgd2l0aCAiaHR0cDovLyIgb3IgbGVmdCBibGFuayBmb3IgYSByZWRpcmVjdGlvbiBhZnRlciBzaWduIG91dCcsCgogICAgICAgICdmb3JtX3NpZ251cF9nZW5lcmF0ZV9wYXNzd29yZCcgICAgICAgICAgICAgICAgID0+ICdBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHRoZSBwYXNzd29yZCcsCiAgICAgICAgJ2Zvcm1fc2lnbnVwX3VzZV9lbWFpbF9hc19sb2dpbicgICAgICAgICAgICAgICAgPT4gJ1VzZSBlbWFpbCBhcyBsb2dpbicsCiAgICAgICAgJ2Zvcm1fc2lnbnVwX2F1dG9tYXRpY2FsbHlfbG9naW4nICAgICAgICAgICAgICAgPT4gJ0F1dG9tYXRpY2FsbHkgbG9naW4gYWZ0ZXIgc2lnbnVwJywKICAgICAgICAnZm9ybV9zaWdudXBfZW1haWxfdW5pcXVlJyAgICAgICAgICAgICAgICAgICAgICA9PiAnRW1haWwgbXVzdCBiZSB1bmlxdWUnLAogICAgICAgICdmb3JtX3NpZ251cF91c2VfY2FwdGNoYScgICAgICAgICAgICAgICAgICAgICAgID0+ICdVc2UgQ2FwdGNoYScsCiAgICAgICAgJ2Zvcm1fc2lnbnVwX3ZhbGlkYXRpb24nICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1NpZ24gdXAgdmFsaWRhdGlvbiBzeXN0ZW0nLAogICAgICAgICdmb3JtX2RlZmF1bHRfZ3JvdXBfZm9yX3NpZ251cCcgICAgICAgICAgICAgICAgID0+ICdEZWZhdWx0IGdyb3VwJywKICAgICAgICAnZm9ybV9kZWZhdWx0X3BhZ2UnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnRGVmYXVsdCBwYWdlIGZvciBvcGVyYXRpb25zJywKCiAgICAgICAgJ3NlY3VyaXR5JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1NlY3VyaXR5JywKICAgICAgICAnZm9ybV9hdXRoZW50aWNhdGlvbl90eXBlJyAgICAgICAgICAgICAgICAgICAgICA9PiAnQXV0aGVudGljYXRpb24gdHlwZScsCiAgICAgICAgJ2Zvcm1faHR0cF9hdXRoJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0FjdGl2YXRlIEhUVFAgQXV0aGVudGljYXRpb24nLAogICAgICAgICdmb3JtX2h0cGFzc3dvcmRfdGl0bGUnICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdUaXRsZSBmb3IgdGhlIEhUVFAgQXV0aGVudGljYXRpb24nLAogICAgICAgICdhdXRoZW50aWNhdGlvbl90aXRsZScgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdQcm90ZWN0ZWQgYXJlYTogRW50ZXIgeW91ciBjcmVkZW50aWFsJywKICAgICAgICAnZm9ybV9odHBhc3N3b3JkX3BhdGgnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAnLmh0cGFzc3dvcmQgcGF0aCcsCiAgICAgICAgJ3RpcHNfaHRwYXNzd29yZF9wYXRoJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1RoaXMgcGF0aCBzaG91bGQgYmUgd3JpdGFibGUgYnkgQ01TIE1hZGUgU2ltcGxlLicsCgogICAgICAgICdmb3JtX2xkYXBfYXV0aCcgICAgPT4gJ0xEQVAgQXV0aGVudGljYXRpb24nLAogICAgICAgICdmb3JtX2xkYXBfc2VydmVyX2hvc3QnICAgID0+ICdMREFQIFNlcnZlciBob3N0JywKICAgICAgICAnZm9ybV9sZGFwX3NlcnZlcl9wb3J0JyAgICA9PiAnTERBUCBTZXJ2ZXIgcG9ydCcsCiAgICAgICAgJ2Zvcm1fbGRhcF9iYXNlX2RuJyAgICA9PiAnTERBUCBCYXNlIEROJywKICAgICAgICAnZm9ybV9sZGFwX2JpbmRfZG4nID0+ICdMREFQIEJpbmQgRE4nLAogICAgICAgICdmb3JtX2xkYXBfYmluZF9wYXNzd29yZCcgPT4gJ0xEQVAgQmluZCBQYXNzd29yZCcsCgoKICAgICAgICAnYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlPycsCiAgICAgICAgJ2FkZCB0ZW1wbGF0ZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ0FkZCB0ZW1wbGF0ZScsCiAgICAgICAgJ3NlbGVjdCBvbmUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ1NlbGVjdCBvbmUnLAogICAgICAgICdkZWZhdWx0IHRlbXBsYXRlIGZvcicgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdkZWZhdWx0IHRlbXBsYXRlIGZvciAiJXMiIGFjdGlvbicsCgogICAgICAgICdoZWxwJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICcKPGgzPkZyb250ZW5kIGFjdGlvbnM8L2gzPgo8dWw+Cgk8bGk+PHN0cm9uZz51cmxfZm9yPC9zdHJvbmc+IG91dHB1dCBhbiB1cmwgZm9yIGFuIGV4aXN0aW5nIGFjdGlvbiBnaXZlbiBieSB0aGUgbWFjdGlvbiBwYXJhbTwvbGk+Cgk8bGk+PHN0cm9uZz5saW5rX2Zvcjwvc3Ryb25nPiBvdXRwdXQgYSBsaW5rIGZvciBhbiBleGlzdGluZyBhY3Rpb24gZ2l2ZW4gYnkgdGhlIG1hY3Rpb24gcGFyYW08L2xpPgoJPGxpPjxzdHJvbmc+c2lnbmluPC9zdHJvbmc+IERpc3BsYXkgdGhlIHNpZ25pbiBmb3JtPC9saT4KCTxsaT48c3Ryb25nPnNpZ251cDwvc3Ryb25nPiBEaXNwbGF5IHRoZSBzaWdudXAgZm9ybTwvbGk+Cgk8bGk+PHN0cm9uZz5zaWdub3V0PC9zdHJvbmc+IFNpZ24gb3V0IGZyb250ZW5kIHVzZXI8L2xpPgoJPGxpPjxzdHJvbmc+cHJvZmlsZTwvc3Ryb25nPiBTaG93IHRoZSB1c2VyIHByb2ZpbGU8L2xpPgoJPGxpPjxzdHJvbmc+cHJvZmlsZV9lZGl0PC9zdHJvbmc+IEVkaXQgdGhlIHVzZXIgcHJvZmlsZTwvbGk+Cgk8bGk+PHN0cm9uZz5wYXNzd29yZF9jaGFuZ2U8L3N0cm9uZz4gTGluayB0byBjaGFuZ2UgcGFzc3dvcmQ8L2xpPgoJPGxpPjxzdHJvbmc+bGlzdDwvc3Ryb25nPiBHZXQgdXNlcnMgbGlzdC4gT3B0aW9uYWw6IHBhcmFtIHNob3dfYWxsX3VzZXJzIHdpbGwgc2hvdyBhbGwgdXNlcnM8L2xpPgoJPGxpPjxzdHJvbmc+dXNlcl9zaG93PC9zdHJvbmc+IFJlcXVpcmU6IHVzZXJuYW1lIC0gV2lsbCBzaG93IHRoZSBwcm9maWxlIG9mIGEgZ2l2ZW4gdXNlcjwvbGk+CjwvdWw+Cgo8aDM+dXJsX2ZvcjwvaDM+CjxwPlRoaXMgYWN0aW9uIGFsbG93cyB5b3UgdG8gZ2VuZXJhdGUgYW4gdXJsIGZvciBhIHNwZWNpZmljIGFjdGlvbiAoc3BlY2lmaWVkIHdpdGggdGhlIHBhcmFtICJtYWN0aW9uIikuIEFsbCB0aGUgZ2l2ZW4gcGFyYW1zIGFyZSB0cmFuc21pdHRlZCB0byB0aGUgYWN0aW9uLiBleDoge0NNU1VzZXJzIGFjdGlvbj0idXJsX2ZvciIgbWFjdGlvbj0ic2lnbmluIn08L3A+Cgo8aDM+bGlua190bzwvaDM+CjxwPlRoaXMgYWN0aW9uIGdlbmVyYXRlIGEgbGluayBsaWtlIHVybF9mb3IgYnV0IHByZSBmb3JtYXR0ZWQuIFlvdSBjYW4gc3BlY2lmeSB0aGUgdGl0bGUgd2l0aCB0aGUgcGFyYW0gInRpdGxlIi48L3A+Cgo8aDM+Q3VzdG9tIGNvbnRlbnQ8L2gzPgo8cD5Zb3UgY2FuIHNlcnZlIGN1c3RvbSBjb250ZW50IHRvIHlvdXIgdXNlcnMuIENoZWNrIHRoZSBmb2xsb3dpbmcgY29kZTo8L3A+CjxwcmU+CntpZiBpc3NldCgkQ01TVXNlcil9CjxwPlVzZXIgaXMgbG9nZ2VkIGluPC9wPgp7aWYgJENNU1VzZXItPmNoZWNrUGVybWlzc2lvbig0KX08cD5DYW4gc2VuZCBuZXdzbGV0dGVyczwvcD57L2lmfQp7aWYgJENNU1VzZXItPmNoZWNrUGVybWlzc2lvbihcJ1ZpZXcgZXh0cmFuZXRcJyl9PHA+Q2FuIHZpZXcgZXh0cmFuZXQ8L3A+ey9pZn0Ke2lmICRDTVNVc2VyLT5jaGVja0dyb3VwKFwnQWRtaW5cJyl9PHA+SXMgaW4gYWRtaW4gZ3JvdXA8L3A+ey9pZn0Ke2lmICRDTVNVc2VyLT5jaGVja0dyb3VwKDEpfTxwPklzIGluIGFkbWluIGdyb3VwPC9wPnsvaWZ9CnsvaWZ9CjwvcHJlPgonLAogICAgICAgICd1bmluc3RhbGxlZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICdVbmluc3RhbGxlZCBzdWNjZXNzZnVsbHknLAogICAgKTs=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmcgPSBhcnJheSgKCQondXNlcnMnID0+ICdBbnbDpG5kYXJlJywKJ2VkaXQnID0+ICdSZWRpZ2VyYScsCidkZWxldGUnID0+ICdSYWRlcmEnLAonc2F2ZScgPT4gJ1NwYXJhJywKJ2FkZF91c2VyJyA9PiAnTMOkZ2cgdGlsbCcsCidncm91cHMnID0+ICdHcnVwcGVyJywKJ2dyb3VwJyA9PiAnR3J1cHAnLAoncGVybWlzc2lvbnMnID0+ICdSw6R0dGlnaGV0ZXInLAoncGVybWlzc2lvbicgPT4gJ1LDpHR0aWdoZXQnLAoncHJvZmlsZScgPT4gJ1Byb2ZpbCcsCidwcm9maWxlcycgPT4gJ1Byb2ZpbGVyJywKJ3RlbXBsYXRlcycgPT4gJ01hbGxhcicsCidzZXR0aW5ncycgPT4gJ0luc3TDpGxsbmluZ2FyJywKJ25ldmVyJyA9PiAnQWxkcmlnJywKJ2FyZV95b3Vfc3VyZScgPT4gJ8OEciBkdSBzw6RrZXI/JywKCidzaWduaW4nID0+ICdMb2dnYSBpbicsCidzaWdub3V0JyA9PiAnTG9nZ2EgdXQnLAonc2lnbnVwJyA9PiAnUmVnaXN0cmVyYScsCidyZWdpc3RlcicgPT4gJ1JlZ2lzdHJlcmEnLAonY3JlYXRlIG15IGFjY291bnQnID0+ICdTa2FwYSBrb250bycsCidhY2NvdW50IGNyZWF0ZWQnID0+ICdEaXR0IGtvbnRvIGhhciBibGl2aXQgc2thcGF0LicsCidhY2NvdW50IGNyZWF0ZWQgcmV2aWV3IGJ5IGFkbWluJyA9PiAnRGl0dCBrb250byBoYXIgc2thcGF0cywgbWVuIGJlaMO2dmVyIGFrdGl2ZXJhcyBhdiBhZG1pbi4nLAonYWNjb3VudCBjcmVhdGVkIGVtYWlsIHNlbnQnID0+ICdFdHQgbWFpbCBoYXIgc2tpY2thdHMgdGlsbCAmbGFxdW87JXMmcmFxdW87LiBGw7ZsaiBpbnN0cnVrdGlvbmVybmEgaSBtYWlsZXQgZsO2ciBhdHQgYWt0aXZlcmEgZGl0dCBrb250by4nLAonY2hhbmdlIHBhc3N3b3JkJyA9PiAnw4RuZHJhIGzDtnNlbm9yZCcsCidpbnZhbGlkIHBhc3N3b3JkJyA9PiAnT2dpbHRpZ3QgbMO2c2Vub3JkJywKJ3dyb25nIHBhc3N3b3JkJyA9PiAnRmVsIGzDtnNlbm9yZCcsCidsYXN0IGxvZ2luJyA9PiAnU2VuYXN0ZSBpbmxvZ2duaW5nJywKJ2Rpc2FibGUnID0+ICdJbmFrdGl2ZXJhJywKJ2VuYWJsZScgPT4gJ0FrdGl2ZXJhJywKJ2VtYWlsJyA9PiAnRXBvc3QnLAonY2FwdGNoYScgPT4gJ0NhcHRjaGEnLAonY2FwdGNoYV90aXBzJyA9PiAnTWF0YSBpbiBib2tzdMOkdmVybmEgZnLDpW4gYmlsZGVuIGbDtnIgYXR0IHZlcmlmaWVyYSBhdHQgZHUgaW50ZSDDpHIgZXR0IHNjcmlwdC4nLAonaW52YWxpZCBjYXB0Y2hhJyA9PiAnRGluIGlubWF0bmluZyBtYXRjaGFyIGludGUgZGUgdGVja2VuIGZyw6VuIGJpbGRlbi4nLAoKJ2dlbmVyYWwnID0+ICdBbGxtw6RudCcsCgonYWRkX2dyb3VwJyA9PiAnTMOkZ2cgdGlsbCBncnVwcCcsCid0eXBlJyA9PiAnVHlwJywKCidhZGRfcGVybWlzc2lvbicgPT4gJ0zDpGdnIHRpbGwgcsOkdHRpZ2hldGVyJywKCidwcm9maWxlX2VkaXQnID0+ICdSZWRpZ2VyYSBwcm9maWwnLAonZWRpdCBwcm9maWxlJyA9PiAnUmVkaWdlcmEgcHJvZmlsJywKJ2VkaXQgcHJvZmlsZSBmb3InID0+ICdSZWRpZ2VyYSBwcm9maWwgZsO2ciAlcycsCidwcm9maWxlIHN1Y2Nlc3NmdWxseSBlZGl0ZWQnID0+ICdQcm9maWwgw6RuZHJhZCcsCidwYXNzd29yZF9jaGFuZ2UnID0+ICfDhG5kcmEgbMO2c2Vub3JkJywKJ3Bhc3N3b3JkIGNoYW5nZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnTMO2c2Vub3JkIMOkbmRyYXQnLAoKJ2FjY291bnQgZGV0YWlscycgPT4gJ0tvbnRvZGV0YWxqZXIgZsO2ciAlcycsCidhY2NvdW50IHZhbGlkYXRpb24nID0+ICdWw6RubGlnZW4gdmVyaWZpZXJhIGRpdHQga29udG8sICVzJywKJ2FjY291bnQgcmVzZXQgcGFzc3dvcmQnID0+ICdCZWfDpHJhbiBvbSDDpXRlcnN0w6RsbG5pbmcgYXYgbMO2c2Vub3JkIGbDtnIgJXMnLAoncGFzc3dvcmQgcmVzZXQgZm9yJyA9PiAnTMO2c2Vub3JkIMOldGVyc3TDpGxsdCBmw7ZyICVzJywKCidpbnZhbGlkIGNyZWRlbnRpYWxzJyA9PiAnRmVsYWt0aWdhIGlubG9nZ25pbmdzdXBwZ2lmdGVyJywKJ2ludmFsaWQgY3JlZGVudGlhbHMgb3IgdXNlciBpbmFjdGl2ZScgPT4gJ0ZlbGFrdGlnYSB1cHBnaWZ0ZXIsIGVsbGVyIGFudsOkbmRhcmtvbnRvdCBpbmFrdGl2dCcsCid1c2VyIGluYWN0aXZlJyA9PiAnRGV0dGEgYW52w6RuZGFya29udG8gw6RyIGluYWt0aXZ0LiBLb250YWt0YSBhZG1pbi4nLAondXNlciBkaXNhYmxlZCcgPT4gJ0RldHRhIGFudsOkbmRhcmtvbnRvIMOkciBpbmFrdGl2ZXJhdC4gS29udGFrdGEgYWRtaW4uJywKJ3N1Y2Nlc3NmdWxseSBzaWduIG91dCcgPT4gJ0R1IGhhciBudSBsb2dnYXQgdXQnLAonY2xvc2UgeW91ciBicm93c2VyJyA9PiAnRHUgbcOlc3RlIGF2c2x1dGEgZGluIHdlYmzDpHNhcmUgZsO2ciBhdHQgZnVsbGbDtmxqYSB1dGxvZ2duaW5nZW4uJywKJ3N1Y2Nlc3NmdWxseSBzaWduIGluJyA9PiAnRHUgw6RyIG51IGlubG9nZ2FkJywKCidzaWdudXAgZGlzYWJsZWQnID0+ICdBbnbDpG5kYXJyZWdpc3RyZXJpbmdlbiDDpHIgaW5ha3RpdmVyYWQnLAonc2lnbmluIGRpc2FibGVkJyA9PiAnQW52w6RuZGFyaW5sb2dnbmluZ2VuIMOkciBpbmFrdGl2ZXJhZCcsCidub25lJyA9PiAnSW5nZW4nLAonYnlfYWRtaW4nID0+ICdBdiBlbiBhZG1pbicsCidieV9lbWFpbCcgPT4gJ1ZpYSBlcG9zdCcsCidpbnZhbGlkIHRva2VuIG9yIHVzZXIgdW5rbm93bicgPT4gJ09naWx0aWcgdG9rZW4sIGVsbGVyIG9rw6RuZCBhbnbDpG5kYXJlLicsCid1c2VyIHZhbGlkYXRlZCcgPT4gJ0FudsOkbmRhcmVuIGhhciB2YWxpZGVyYXRzLicsCgoncGFzc3dvcmRfZm9yZ290JyA9PiAnR2zDtm10IGzDtnNlbm9yZD8nLAonZW50ZXIgcmVnaXN0ZXJlZCBlbWFpbCcgPT4gJ0FuZ2UgZGVuIGVwb3N0YWRyZXNzIHNvbSDDpHIga29wcGxhZCB0aWxsIGRpdHQga29udG8uJywKCidpbXBleCcgPT4gJ0ltcG9ydCAvIEV4cG9ydCcsCgoncHJvZmlsZV9maWVsZCcgPT4gJ1Byb2ZpbCBmw6RsdCcsCidwcm9maWxlX2ZpZWxkcycgPT4gJ1Byb2ZpbCBmw6RsdCcsCidhZGRfcHJvZmlsZV9maWVsZCcgPT4gJ0zDpGdnIHRpbGwgZXR0IHByb2ZpbCBmw6RsdCcsCidtYW5hZ2UgdXNlcnMgcHJvZmlsZScgPT4gJ0FkbWluaXN0cmVyYSBhbnbDpG5kYXJlcyBwcm9maWwnLAoKJ2Zvcm1fZW1haWxfZnJvbScgPT4gJ0Vwb3N0IGZyw6VuJywKJ2Zvcm1fZW1haWxfYWRkcmVzcycgPT4gJ0Vwb3N0YWRyZXNzJywKJ2Zvcm1fdmFsaWRhdGlvbl9lbWFpbF9zdWJqZWN0JyA9PiAnVmFsaWRlcmluZ3NtYWlsIMOkbW5lJywKJ2Zvcm1fc2VuZF9zaWdudXBfZW1haWwnID0+ICdTa2lja2EgcmVnaXN0cmVyaW5ncyBtYWlsJywKJ2Zvcm1fc2lnbnVwX2VtYWlsX3N1YmplY3QnID0+ICdSZWdpc3RyZXJpbmdzIG1haWwgw6RtbmUnLAonZm9ybV9wYXNzd29yZF9yZXNldF9lbWFpbF9zdWJqZWN0JyA9PiAnR2zDtm10IGzDtnNlbm9yZCBlcG9zdCDDpG1uZScsCgonZm9ybV9wcm9maWxlX21vZHVsZScgPT4gJ01vZHVsIGbDtnIgcHJvZmlsJywKCidmb3JtX25hbWUnID0+ICdOYW1uJywKJ2Zvcm1fdHlwZScgPT4gJ1R5cCcsCidmb3JtX3VzZXJuYW1lJyA9PiAnQW52w6RuZGFybmFtbicsCidmb3JtX2N1cnJlbnRfcGFzc3dvcmQnID0+ICdOdXZhcmFuZGUgbMO2c2Vub3JkJywKJ2Zvcm1fbmV3X3Bhc3N3b3JkJyA9PiAnTnl0dCBsw7ZzZW5vcmQnLAonZm9ybV9wYXNzd29yZCcgPT4gJ0zDtnNlbm9yZCcsCidmb3JtX2NvbmZpcm1fcGFzc3dvcmQnID0+ICdCZWtyw6RmdGEgbMO2c2Vub3JkJywKJ2Zvcm1fZW1haWwnID0+ICdFcG9zdCcsCidmb3JtX2lzX2FjdGl2ZScgPT4gJ8OEciBha3RpdicsCidmb3JtX2lzX2Rpc2FibGVkJyA9PiAnw4RyIGluYWt0aXZlcmFkJywKJ2Zvcm1fdGVtcGxhdGUnID0+ICdNYWxsJywKJ2Zvcm1fcmVzdG9yZV90ZW1wbGF0ZV9mcm9tJyA9PiAnw4V0ZXJzdMOkbGwgbWFsbCBmcsOlbicsCidmb3JtX2NvZGUnID0+ICdLb2QnLAonZm9ybV9kZWZhdWx0X3RlbXBsYXRlX2ZvcicgPT4gJ1N0YW5kYXJkIG1hbGwgZsO2cicsCidmb3JtX3VzZXJzJyA9PiAnQW52w6RuZGFyZScsCidmb3JtX2dyb3VwcycgPT4gJ0dydXBwZXInLAonZm9ybV9wZXJtaXNzaW9ucycgPT4gJ1LDpHR0aWdoZXRlcicsCidmb3JtX3RpcHMnID0+ICdUaXBzJywKJ2Zvcm1fb3B0aW9ucycgPT4gJ1ZhbCcsCidmb3JtX3Byb2ZpbGUnID0+ICdQcm9maWwnLAonZm9ybV9jYXB0Y2hhJyA9PiAnQ2FwdGNoYScsCgonZm9ybV9sYXN0X2xvZ2luJyA9PiAnU2VuYXN0ZSBpbmxvZ2duaW5nJywKJ2Zvcm1fYWxsb3dfc2lnbnVwJyA9PiAnVGlsbMOldCBhbnbDpG5kYXJyZWdpc3RyZXJpbmcnLAonZm9ybV9hbGxvd19zaWduaW4nID0+ICdUaWxsw6V0IGFudsOkbmRhcmlubG9nZ25pbmcnLAoKJ2Zvcm1fc2lnbmluX3JlZGlyZWN0aW9uJyA9PiAnT21kaXJpZ2VyaW5nIHZpZCBpbmxvZ2duaW5nJywKJ3RpcHNfc2lnbmluX3JlZGlyZWN0aW9uJyA9PiAnPGJyLz5Ww6RsaiBzaWRhLCBmdWxsc3TDpG5kaWcgYWRyZXNzIGlua2wgImh0dHA6Ly8iIGVsbGVyIGzDpG1uYSB0b20gZsO2ciBpbmdlbicsCgonZm9ybV9zaWdudXBfcmVkaXJlY3Rpb24nID0+ICdPbWRpcmlnZXJpbmcgdmlkIHJlZ2lzdHJlcmluZycsCid0aXBzX3NpZ251cF9yZWRpcmVjdGlvbicgPT4gJzxici8+VsOkbGogc2lkYSwgZnVsbHN0w6RuZGlnIGFkcmVzcyBpbmtsICJodHRwOi8vIiBlbGxlciBsw6RtbmEgdG9tIGbDtnIgaW5nZW4nLAoKJ2Zvcm1fc2lnbm91dCcgPT4gJ0xvZ2dhIHV0JywKJ2Zvcm1fc2lnbm91dF9yZWRpcmVjdGlvbicgPT4gJ09tZGlyaWdlcmluZyB2aWQgdXRsb2dnbmluZycsCid0aXBzX3NpZ25vdXRfcmVkaXJlY3Rpb24nID0+ICc8YnIvPlbDpGxqIHNpZGEsIGZ1bGxzdMOkbmRpZyBhZHJlc3MgaW5rbCAiaHR0cDovLyIgZWxsZXIgbMOkbW5hIHRvbSBmw7ZyIGluZ2VuJywKCidmb3JtX3NpZ251cF9nZW5lcmF0ZV9wYXNzd29yZCcgPT4gJ0dlbmVyZXJhIGzDtnNlbm9yZCBhdXRvbWF0aXNrdCcsCidmb3JtX3NpZ251cF91c2VfZW1haWxfYXNfbG9naW4nID0+ICdBbnbDpG5kIGUtcG9zdGFkcmVzcyBzb20gaW5sb2dnbmluZ3NuYW1uJywKJ2Zvcm1fc2lnbnVwX2F1dG9tYXRpY2FsbHlfbG9naW4nID0+ICdBdXRvbWF0aXNrdCBpbmxvZ2dhZCBlZnRlciByZWdpc3RyZXJpbmcnLAonZm9ybV9zaWdudXBfZW1haWxfdW5pcXVlJyA9PiAnRXBvc3RhZHJlc3MgbcOlc3RlIHZhcmEgdW5paycsCidmb3JtX3NpZ251cF91c2VfY2FwdGNoYScgPT4gJ0FudsOkbmQgQ2FwdGNoYScsCidmb3JtX3NpZ251cF92YWxpZGF0aW9uJyA9PiAnVmFsaWRlcmluZ3NzeXRlbSB2aWQgYW52w6RuZGFycmVnaXN0cmVyaW5nJywKJ2Zvcm1fZGVmYXVsdF9ncm91cF9mb3Jfc2lnbnVwJyA9PiAnU3RhbmRhcmQgZ3J1cHAnLAonZm9ybV9kZWZhdWx0X3BhZ2UnID0+ICdTdGFuZGFyZHNpZGEgZsO2ciBmdW5rdGlvbmVyJywKCidzZWN1cml0eScgPT4gJ1PDpGtlcmhldCcsCidmb3JtX2F1dGhlbnRpY2F0aW9uX3R5cGUnID0+ICdBdXRlbnNpZXJpbmdzIHR5cCcsCidmb3JtX2h0dHBfYXV0aCcgPT4gJ0FjdGl2ZXJhIEhUVFAgQXV0ZW5zaWVyaW5nJywKJ2Zvcm1faHRwYXNzd29yZF90aXRsZScgPT4gJ1RpdGxlIGbDtnIgSFRUUCBBdXRlbnNpZXJpbmcnLAonYXV0aGVudGljYXRpb25fdGl0bGUnID0+ICdTw6RrcmF0IG9tcsOlZGU6IEFuZ2UgZGluYSBpbmxvZ2duaW5nc3VwcGdpZnRlcicsCidmb3JtX2h0cGFzc3dvcmRfcGF0aCcgPT4gJy5odHBhc3N3b3JkIHPDtmt2w6RnJywKJ3RpcHNfaHRwYXNzd29yZF9wYXRoJyA9PiAnPGJyLz5EZW5uYSBzw7ZrdsOkZyBtw6VzdGUgaGEgc2tyaXZyw6R0dGlnaGV0ZXIgYXYgQ01TIE1hZGUgU2ltcGxlLicsCgonYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlJyA9PiAnw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgcmFkZXJhIGRlbm5hIG1hbGw/JywKJ2FkZCB0ZW1wbGF0ZScgPT4gJ0zDpGdnIHRpbGwgbWFsbCcsCidzZWxlY3Qgb25lJyA9PiAnVsOkbGogZW4nLAonZGVmYXVsdCB0ZW1wbGF0ZSBmb3InID0+ICdTdGFuZGFyZCBtYWxsIGbDtnIgIiVzIicsCgonaGVscCcgPT4gJwo8aDM+RnVua3Rpb25lciB0aWxsIGZyb250ZW5kPC9oMz4KPHVsPgoJPGxpPjxzdHJvbmc+dXJsX2Zvcjwvc3Ryb25nPiBza3JpdiB1dCB1cmwgZsO2ciBlbiBleGlzdGVyYW5kZSBhY3Rpb24gZ2l2ZW4gYXYgbWFjdGlvbiBwYXJhbWV0ZXI8L2xpPgoJPGxpPjxzdHJvbmc+bGlua19mb3I8L3N0cm9uZz4gc2tyaXYgdXQgbMOkbmsgZsO2ciBlbiBleGlzdGVyYW5kZSBhY3Rpb24gZ2l2ZW4gYXYgbWFjdGlvbiBwYXJhbWV0ZXI8L2xpPgoJPGxpPjxzdHJvbmc+c2lnbmluPC9zdHJvbmc+IFZpc2EgbG9naW4gZm9ybXVsw6RyZXQ8L2xpPgoJPGxpPjxzdHJvbmc+c2lnbnVwPC9zdHJvbmc+IFZpc2EgZm9ybXVsw6RyIGbDtnJhbnbDpG5kYXJyZWdpc3RyZXJpbmdlbjwvbGk+Cgk8bGk+PHN0cm9uZz5zaWdub3V0PC9zdHJvbmc+IExvZ2dhIHV0IGFudsOkbmRhcmVuPC9saT4KCTxsaT48c3Ryb25nPnByb2ZpbGU8L3N0cm9uZz4gVmlzYSBhbnbDpG5kYXJlbnMgcHJvZmlsPC9saT4KCTxsaT48c3Ryb25nPnByb2ZpbGVfZWRpdDwvc3Ryb25nPiBSZWRpZ2VyYSBhbnbDpG5kYXJlbnMgcHJvZmlsPC9saT4KCTxsaT48c3Ryb25nPnBhc3N3b3JkX2NoYW5nZTwvc3Ryb25nPiBMw6RuayBmw7ZyIGF0dCDDpG5kcmEgbMO2c2Vub3JkPC9saT4KCTxsaT48c3Ryb25nPmxpc3Q8L3N0cm9uZz4gVmlzYSBlbiBhbnbDpG5kYXJsaXN0YS4gVmFsOiBwYXJhbSBzaG93X2FsbF91c2VycyBrb21tZXIgdmlzYSBhbGxhIGFudsOkbmRhcmU8L2xpPgoJPGxpPjxzdHJvbmc+dXNlcl9zaG93PC9zdHJvbmc+IEtyYXY6IHVzZXJuYW1lIC0gS29tbWVyIHZpc2EgcHJvZmlsIGbDtnIgZ2l2ZW4gYW52w6RuZGFyZTwvbGk+CjwvdWw+Cgo8aDM+dXJsX2ZvcjwvaDM+CjxwPkRldHRhIHZhbCBnZXIgZGlnIG3DtmpsaWdoZXRlbiBhdHQgZ2VuZXJlcmEgZW4gdXJsIGbDtnIgZW4gc3BlY2lmaWMgZnVua3Rpb24gKEFuZ2VzIG1lZCBwYXJhbWV0ZXIgIm1hY3Rpb24iKS4gQWxsYSBhbmdpdm5hIHBhcmFtZXRyYXIgc2tpY2thcyB2aWRhcmUgdGlsbCB2YWxkIGFjdGlvbi4gVCBleDoge0NNU1VzZXJzIGFjdGlvbj0idXJsX2ZvciIgbWFjdGlvbj0ic2lnbmluIn08L3A+Cgo8aDM+bGlua190bzwvaDM+CjxwPkRldHRhIHZhbCBnZW5lcmVyYXIgZW4gbMOkbmsgc29tIHVybF9mb3IgbWVuIGbDtnJmb3JtYXR0ZXJhZC4gRHUga2FuIGFuZ2UgdGl0ZWwgbWVkIHBhcmFtZXRlciAidGl0bGUiLjwvcD4KCjxoMz5WYWxmcml0dCBpbm5laMOlbGw8L2gzPgo8cD5EdSBrYW4gZGVsZ2UgdmFsZnJpdHQgaW5uZWjDpWxsIHRpbGwgZGluYSBhbnbDpG5kYXJlLiBTZSBmw7ZsamFuZGUga29kOjwvcD4KPHByZT4Ke2lmIGlzc2V0KCRDTVNVc2VyKX0KPHA+QW52w6RuZGFyZW4gw6RyIGlubG9nZ2FkPC9wPgp7aWYgJENNU1VzZXItPmNoZWNrUGVybWlzc2lvbig0KX08cD5LYW4gc2tpY2thIG55aGV0c2JyZXY8L3A+ey9pZn0Ke2lmICRDTVNVc2VyLT5jaGVja1Blcm1pc3Npb24oXCdWaWV3IGV4dHJhbmV0XCcpfTxwPkthbiBzZSBleHRyYW5ldDwvcD57L2lmfQp7aWYgJENNU1VzZXItPmNoZWNrR3JvdXAoXCdBZG1pblwnKX08cD7DhHIgbWVkbGVtIGkgYWRtaW4tZ3J1cHBlbjwvcD57L2lmfQp7aWYgJENNU1VzZXItPmNoZWNrR3JvdXAoMSl9PHA+w4RyIG1lZGxlbSBpIGFkbWluLWdydXBwZW48L3A+ey9pZn0Key9pZn0KPC9wcmU+CicsCid1bmluc3RhbGxlZCcgPT4gJ0F2aW5zdGFsbGF0aW9uZW4gw6RyIHV0ZsO2cmQnLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.CMSGroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCUhhbmRsZSBncm91cAoJCQoJCUF1dGhvcjogSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxjeWJlcnRvdG9waGVAZ21haWwuY29tPgoJCUNvcHlyaWdodHM6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bSAtIDIwMTAKCQlMaWNlbmNlOiBHUEwJCQoJCgkqLwoKY2xhc3MgQ01TR3JvdXAKewoJcHJvdGVjdGVkICRpZDsKCXByb3RlY3RlZCAkaXNfbW9kaWZpZWQgPSBmYWxzZTsKCXByb3RlY3RlZCAkdmFycyA9IGFycmF5KCk7CgkKCXByb3RlY3RlZCAkdXNlcnM7CgkKCXByb3RlY3RlZCBzdGF0aWMgJGZpZWxkcyA9IGFycmF5KAoJJ25hbWUnLAoJJ3R5cGUnLAoJJ2lzX2FjdGl2ZScsCgknY29tbWVudHMnCgkpOwoJCgljb25zdCBEQl9OQU1FID0gJ21vZHVsZV9jbXN1c2Vyc19ncm91cHMnOwoJY29uc3QgREJfSVRFTSA9ICdjbXNncm91cCc7CgkKCS8vIFNwZWNpZmljIGxvZ2ljCgkKCXB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKCXsKCQlyZXR1cm4gJHRoaXMtPm5hbWU7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0R3JvdXBMaXN0KCkKCXsKCQkkZ3JvdXBzID0gc2VsZjo6ZG9TZWxlY3QoYXJyYXkoJ29yZGVyX2J5JyA9PiBhcnJheSgnbmFtZScpKSk7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRncm91cHMgYXMgJGdyb3VwKQoJCXsKCQkJJGFycmF5WyRncm91cC0+Z2V0SWQoKV0gPSAoc3RyaW5nKSRncm91cDsKCQl9CgkJcmV0dXJuICRhcnJheTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGNvdW50VXNlcnMoKQoJewoJCXJldHVybiBjb3VudChDTVNVc2VyR3JvdXA6OmdldFVzZXJzTGlzdCgkdGhpcy0+Z2V0SWQoKSkpOwoJfQkKCQoJcHVibGljIGZ1bmN0aW9uIGdldFVzZXJzKCkKCXsKCQlyZXR1cm4gQ01TVXNlckdyb3VwOjpnZXRVc2Vyc0xpc3QoJHRoaXMtPmdldElkKCkpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvZmlsZUZpZWxkcygpCgl7CgkJcmV0dXJuIENNU1Byb2ZpbGVGaWVsZDo6Z2V0RmllbGRzRm9yR3JvdXAoJHRoaXMtPmdldElkKCkpOwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJldHJpZXZlQnlOYW1lKCRuYW1lKQoJewoJCXJldHVybiBDTVNHcm91cDo6ZG9TZWxlY3RPbmUoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgnbmFtZScgPT4gJG5hbWUpKSk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBhZGRVc2VyKCR1c2VyX2lkKQoJewoJCUNNU1VzZXJHcm91cDo6YWRkR3JvdXBVc2VyKCR0aGlzLT5nZXRJZCgpLCAkdXNlcl9pZCk7Cgl9CgkKCS8vIEdFVFNFVFRFUlMKCQoJcHVibGljIGZ1bmN0aW9uIGdldElkKCkKCXsKCQlyZXR1cm4gJHRoaXMtPmlkOwoJfQoJCglwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0SWQoJHZhbHVlKQoJewoJCSR0aGlzLT5pZCA9ICR2YWx1ZTsKCX0KCQogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCR2YXIsICR2YWwpewoJCSR0aGlzLT5pc19tb2RpZmllZCA9IHRydWU7CiAgICAgICAgJHRoaXMtPnZhcnNbJHZhcl0gPSAkdmFsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgkdmFyKXsKCQl0cnkKCQl7CgkJCWlmKG1ldGhvZF9leGlzdHMoJHRoaXMsICR2YXIpKQoJCQl7CgkJCQlyZXR1cm4gJHRoaXMtPiR2YXIoKTsKCQkJfQoJICAgICAgICBlbHNlaWYgKGFycmF5X2tleV9leGlzdHMoJHZhciwgJHRoaXMtPnZhcnMpKQoJCQl7CgkgICAgICAgICAgICByZXR1cm4gJHRoaXMtPnZhcnNbJHZhcl07CgkgICAgICAgIH0gZWxzZSB7CgkgICAgICAgICAgICAvL3Rocm93IG5ldyBFeGNlcHRpb24oIlByb3BlcnR5ICR2YXIgZG9lcyBub3QgZXhpc3QiKTsKCSAgICAgICAgfQoJCX0KCQljYXRjaChFeGNlcHRpb24gJGUpCgkJewoJCQllY2hvICdFcnJvcjogJywgICRlLT5nZXRNZXNzYWdlKCksICJcbiI7CgkJfQogICB9CgkKCS8vIERCCgkKCXB1YmxpYyBmdW5jdGlvbiBwb3B1bGF0ZSgkcm93KQoJewoJCWlmIChpc3NldCgkcm93W3NlbGY6OkRCX0lURU0uJ19faWQnXSkpCgkJewoJCQkkdGhpcy0+c2V0SWQoJHJvd1tzZWxmOjpEQl9JVEVNLidfX2lkJ10pOwoJCX0JCQoJCQkKCQlmb3JlYWNoIChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCWlmIChpc3NldCgkcm93W3NlbGY6OkRCX0lURU0uJ19fJy4kZmllbGRdKSkKCQkJewoJCQkJJHRoaXMtPiRmaWVsZCA9ICRyb3dbc2VsZjo6REJfSVRFTS4nX18nLiRmaWVsZF07CgkJCX0KCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmV0cmlldmVCeVBrKCRpZCkKICAJewogIAkJcmV0dXJuIHNlbGY6OmRvU2VsZWN0T25lKGFycmF5KCd3aGVyZScgPT4gYXJyYXkoJ2lkJyA9PiAkaWQpKSk7ICAgIAogIAl9CgogIAlwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0T25lKCRwYXJhbXMgPSBhcnJheSgpKQogIAl7CiAgCSAgJHBhcmFtc1snbGltaXQnXSA9IDE7CiAgCQkkaXRlbXMgPSBzZWxmOjpkb1NlbGVjdCgkcGFyYW1zKTsKICAJCWlmICgkaXRlbXMpCiAgCQl7CiAgCQkJcmV0dXJuICRpdGVtc1swXTsKICAJCX0KICAJCWVsc2UgCiAgCQl7CiAgCQkJcmV0dXJuIG51bGw7CiAgCQl9ICAJCiAJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2VuZXJhdGVTZWxlY3RMaXN0KCkKCXsKCQkkZmllbGRzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJ2lkJywnY3JlYXRlZF9hdCcsJ3VwZGF0ZWRfYXQnKSwgc2VsZjo6JGZpZWxkcyk7CgkJJGxpc3QgPSBhcnJheSgpOwoJCWZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJGxpc3RbXSA9IHNlbGY6OkRCX0lURU0gLiAnLicuJGZpZWxkLicgYXMgJy4gc2VsZjo6Z2V0Um93TmFtZSgkZmllbGQpOwoJCX0KCQlyZXR1cm4gaW1wbG9kZSgnICwgJywkbGlzdCk7Cgl9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0Um93TmFtZSgkbmFtZSkKCXsKCQlyZXR1cm4gc2VsZjo6REJfSVRFTSAuICdfXycgLiAkbmFtZTsKCX0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZG9TZWxlY3QoJHBhcmFtcyA9IGFycmF5KCkpCiAgewogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUIAoJCScuc2VsZjo6REJfSVRFTS4nLiosCgkJJy5zZWxmOjpnZW5lcmF0ZVNlbGVjdExpc3QoKSAuICcgCgkJRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gc2VsZjo6REJfTkFNRSAuICcgQVMgJyAuIHNlbGY6OkRCX0lURU07CgogICAgJHZhbHVlcyA9IGFycmF5KCk7CgogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3doZXJlJ10pKQogICAgewoKICAgICAgJGZpZWxkcyA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ3doZXJlJ10gYXMgJGZpZWxkID0+ICR2YWx1ZSkgCiAgICAgIHsKICAgICAgICAkZmllbGRzW10gPSBzZWxmOjpEQl9JVEVNLicuJy4kZmllbGQgLiAnID0gID8nOwogICAgICAgICR2YWx1ZXNbXSA9ICR2YWx1ZTsKICAgICAgfQoKICAgICAgJHF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJGZpZWxkcyk7CiAgICB9IAoKICAgIGlmKGlzc2V0KCRwYXJhbXNbJ29yZGVyX2J5J10pKQogICAgewogICAgICRxdWVyeSAuPSAnIE9SREVSIEJZICcgLiBpbXBsb2RlKCcsICcgLCAkcGFyYW1zWydvcmRlcl9ieSddKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJy5zZWxmOjpEQl9JVEVNLicuY3JlYXRlZF9hdCc7CiAgICB9CgogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7CiAgICAkaXRlbXMgPSBhcnJheSgpOwoKICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQogICAgewogICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgIHsJCiAgICAgICAgJGl0ZW0gPSBuZXcgQ01TR3JvdXAoKTsKICAgICAgICAkaXRlbS0+cG9wdWxhdGUoJHJvdyk7CiAgICAgICAgJGl0ZW1zW10gPSAkaXRlbTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiAgJGl0ZW1zOyAgIAogIH0KICAKCQoJcHVibGljIGZ1bmN0aW9uIHNhdmUoKSB7CgkJaWYgKCR0aGlzLT5nZXRJZCgpKSAKCQl7CgkJCWlmICgkdGhpcy0+aXNfbW9kaWZpZWQpCgkJCXsJCQkKCQkJCXJldHVybiAkdGhpcy0+dXBkYXRlKCk7CQoJCQl9CgkJfSAKCQllbHNlCgkJewoJCQlyZXR1cm4gJHRoaXMtPmluc2VydCgpOwoJCX0KCQkKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIGluc2VydCgpIHsKCQkvLwogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIHNlbGY6OkRCX05BTUUgLiAnCgkJCVNFVCBjcmVhdGVkX2F0ID0gTk9XKCksCgkJCQl1cGRhdGVkX2F0ID0gTk9XKCkKCQkJCQkJCQknOwoJCSR2YWx1ZXMgPSBhcnJheSgpOwkJCQkKCQlmb3JlYWNoKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJHF1ZXJ5IC49ICcsICcgLiAkZmllbGQgLiAnID0gPyc7CgkJCSR2YWx1ZXNbXSA9ICR0aGlzLT4kZmllbGQ7CgkJfQoJCQkJCQkJCQkJCQkJCQkJCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHZhbHVlcyk7CgkJaWYgKCRyZXN1bHQgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7CgkJJHRoaXMtPnNldElkKCRkYi0+SW5zZXJ0X0lEKCkpOwoJCQoJCXJldHVybiB0cnVlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiB1cGRhdGUoKSB7CiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuIHNlbGY6OkRCX05BTUUgLiAnCgkJCVNFVCB1cGRhdGVkX2F0ID0gTk9XKCknOwoJCQkKCQkkdmFsdWVzID0gYXJyYXkoKTsJCQkJCgkJZm9yZWFjaChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRxdWVyeSAuPSAnLCAnIC4gJGZpZWxkIC4gJyA9ID8nOwoJCQkkdmFsdWVzW10gPSAkdGhpcy0+JGZpZWxkOwoJCX0KCQoJCSRxdWVyeSAuPSAnIFdIRVJFIGlkID0gPyc7CgkJJHZhbHVlc1tdID0gJHRoaXMtPmdldElkKCk7CgoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKCQlpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgpIHsKCQlpZiAoJHRoaXMtPmdldElkKCkpIHsKICAgIAkkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuc2VsZjo6REJfTkFNRSAuICcgV0hFUkUgaWQgPSA/JzsKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5nZXRJZCgpKSk7CgkJCWlmKCRyZXN1bHQgIT09IGZhbHNlKSAKCQkJewkJCQkKCQkJCUNNU1VzZXJHcm91cDo6ZGVsZXRlR3JvdXBQcmVmcygkdGhpcy0+Z2V0SWQoKSk7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CMSGroupPermission.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCUhhbmRsZSB1c2VycwoJCQoJCUF1dGhvcjogSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxjeWJlcnRvdG9waGVAZ21haWwuY29tPgoJCUNvcHlyaWdodHM6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bSAtIDIwMTAKCQlMaWNlbmNlOiBHUEwJCQoJCgkqLwoKY2xhc3MgQ01TR3JvdXBQZXJtaXNzaW9uCnsKCXByb3RlY3RlZCAkaWQ7Cglwcm90ZWN0ZWQgJGlzX21vZGlmaWVkID0gZmFsc2U7Cglwcm90ZWN0ZWQgJHZhcnMgPSBhcnJheSgpOwoJCglwcm90ZWN0ZWQgJHBlcm1pc3Npb25zOwoJcHJvdGVjdGVkICRncm91cHM7CgkKCXByb3RlY3RlZCBzdGF0aWMgJGZpZWxkcyA9IGFycmF5KAoJJ2dyb3VwX2lkJywKCSdwZXJtaXNzaW9uX2lkJwoJKTsKCQoJY29uc3QgREJfTkFNRSA9ICdtb2R1bGVfY21zdXNlcnNfZ3JvdXBwZXJtaXNzaW9ucyc7Cgljb25zdCBEQl9JVEVNID0gJ2dyb3VwcGVybWlzc2lvbic7CgkKCS8vIFNwZWNpZmljIG1vZHVsZSBsb2dpYwoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldEdyb3VwUGVybWlzc2lvbnMoJGdyb3VwX2lkLCBBcnJheSAkcGVybWlzc2lvbnMpCgl7CgkJJGN1cnJlbnRfcGVybWlzc2lvbnMgPSBzZWxmOjpnZXRQZXJtaXNzaW9uc0xpc3QoJGdyb3VwX2lkKTsKCgkJLy8gMS4gRGVsZXRlIHBlcm1pc3Npb25zCgkJJGRlbGV0ZV9wZXJtaXNzaW9ucyA9IChhcnJheV9kaWZmX2tleSgkY3VycmVudF9wZXJtaXNzaW9ucyxhcnJheV9mbGlwKCRwZXJtaXNzaW9ucykpKTsKCQlmb3JlYWNoKCRkZWxldGVfcGVybWlzc2lvbnMgYXMgJHBlcm1pc3Npb24pCgkJewoJCQkkcGVybWlzc2lvbi0+ZGVsZXRlKCk7CgkJfQoJCQoJCS8vIDIuIEFkZCBwZXJtaXNzaW9ucwoJCSRhZGRfcGVybWlzc2lvbnMgPSAoYXJyYXlfZGlmZl9rZXkoYXJyYXlfZmxpcCgkcGVybWlzc2lvbnMpLCAkY3VycmVudF9wZXJtaXNzaW9ucykpOwoJCQkJCgkJZm9yZWFjaCgkYWRkX3Blcm1pc3Npb25zIGFzICRwZXJtaXNzaW9uX2lkID0+ICRwZXJtaXNzaW9uKQoJCQkJewoJCQkJCSRuZXcgPSBuZXcgc2VsZigpOwoJCQkJCSRuZXctPnBlcm1pc3Npb25faWQgPSAkcGVybWlzc2lvbl9pZDsKCQkJCQkkbmV3LT5ncm91cF9pZCA9ICRncm91cF9pZDsKCQkJCQkkbmV3LT5zYXZlKCk7CgkJCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0UGVybWlzc2lvbnNMaXN0KCRncm91cF9pZCwgJG9ubHlfa2V5cyA9IGZhbHNlKQoJewoJCSRwZXJtaXNzaW9ucyA9IHNlbGY6OmRvU2VsZWN0KGFycmF5KCd3aGVyZScgPT4gYXJyYXkoJ2dyb3VwX2lkJyA9PiAkZ3JvdXBfaWQpKSk7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRwZXJtaXNzaW9ucyBhcyAkcGVybWlzc2lvbikKCQl7CgkJCWlmICgkb25seV9rZXlzID09IHRydWUpCgkJCXsKCQkJCSRhcnJheVtdID0gJHBlcm1pc3Npb24tPnBlcm1pc3Npb25faWQ7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkYXJyYXlbJHBlcm1pc3Npb24tPnBlcm1pc3Npb25faWRdID0gJHBlcm1pc3Npb247CgkJCX0KCQl9CgkJcmV0dXJuICRhcnJheTsKCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRQZXJtaXNzaW9uR3JvdXBzKCRwZXJtaXNzaW9uX2lkLCBBcnJheSAkZ3JvdXBzKQoJewoJCSRjdXJyZW50X2dyb3VwcyA9IHNlbGY6OmdldEdyb3Vwc0xpc3QoJHBlcm1pc3Npb25faWQpOwoKCQkvLyAxLiBEZWxldGUgZ3JvdXBzCgkJJGRlbGV0ZV9ncm91cHMgPSAoYXJyYXlfZGlmZl9rZXkoJGN1cnJlbnRfZ3JvdXBzLGFycmF5X2ZsaXAoJGdyb3VwcykpKTsKCQlmb3JlYWNoKCRkZWxldGVfZ3JvdXBzIGFzICRncm91cCkKCQl7CgkJCSRncm91cC0+ZGVsZXRlKCk7CgkJfQoJCQoJCS8vIDIuIEFkZCB1c2VycwoJCSRhZGRfZ3JvdXBzID0gKGFycmF5X2RpZmZfa2V5KGFycmF5X2ZsaXAoJGdyb3VwcyksICRjdXJyZW50X2dyb3VwcykpOwoJCQkJCgkJZm9yZWFjaCgkYWRkX2dyb3VwcyBhcyAkZ3JvdXBfaWQgPT4gJGdyb3VwKQoJCQkJewoJCQkJCSRuZXcgPSBuZXcgc2VsZigpOwoJCQkJCSRuZXctPnBlcm1pc3Npb25faWQgPSAkcGVybWlzc2lvbl9pZDsKCQkJCQkkbmV3LT5ncm91cF9pZCA9ICRncm91cF9pZDsKCQkJCQkkbmV3LT5zYXZlKCk7CgkJCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0R3JvdXBzTGlzdCgkcGVybWlzc2lvbl9pZCwgJG9ubHlfa2V5cyA9IGZhbHNlKQoJewoJCSRncm91cHMgPSBzZWxmOjpkb1NlbGVjdChhcnJheSgnd2hlcmUnID0+IGFycmF5KCdwZXJtaXNzaW9uX2lkJyA9PiAkcGVybWlzc2lvbl9pZCkpKTsKCQkkYXJyYXkgPSBhcnJheSgpOwoJCWZvcmVhY2goJGdyb3VwcyBhcyAkZ3JvdXApCgkJewoJCQlpZiAoJG9ubHlfa2V5cyA9PSB0cnVlKQoJCQl7CgkJCQkkYXJyYXlbXSA9ICRncm91cC0+Z3JvdXBfaWQ7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkYXJyYXlbJGdyb3VwLT5ncm91cF9pZF0gPSAkZ3JvdXA7CgkJCX0KCQl9CgkJcmV0dXJuICRhcnJheTsKCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGVQZXJtaXNzaW9uUHJlZnMoJHBlcm1pc3Npb25faWQpCgl7CgkJJGxpc3QgPSBzZWxmOjpkb1NlbGVjdChhcnJheSgnd2hlcmUnID0+IGFycmF5KCdwZXJtaXNzaW9uX2lkJyA9PiAkcGVybWlzc2lvbl9pZCkpKTsKCQlmb3JlYWNoKCRsaXN0IGFzICRpdGVtKQoJCXsKCQkJJGl0ZW0tPmRlbGV0ZSgpOwoJCX0KCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGVHcm91cFByZWZzKCRncm91cF9pZCkKCXsKCQkJJGxpc3QgPSBzZWxmOjpkb1NlbGVjdChhcnJheSgnd2hlcmUnID0+IGFycmF5KCdncm91cF9pZCcgPT4gJGdyb3VwX2lkKSkpOwoJCQlmb3JlYWNoKCRsaXN0IGFzICRpdGVtKQoJCQl7CgkJCQkkaXRlbS0+ZGVsZXRlKCk7CgkJCX0KCX0KCQoJLy8gR0VUU0VUVEVSUwoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0SWQoKQoJewoJCXJldHVybiAkdGhpcy0+aWQ7Cgl9CgkKCXByb3RlY3RlZCBmdW5jdGlvbiBzZXRJZCgkdmFsdWUpCgl7CgkJJHRoaXMtPmlkID0gJHZhbHVlOwoJfQoJCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJHZhciwgJHZhbCl7CgkJJHRoaXMtPmlzX21vZGlmaWVkID0gdHJ1ZTsKICAgICAgICAkdGhpcy0+dmFyc1skdmFyXSA9ICR2YWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpewoJCXRyeQoJCXsKCQkJaWYobWV0aG9kX2V4aXN0cygkdGhpcywgJHZhcikpCgkJCXsKCQkJCXJldHVybiAkdGhpcy0+JHZhcigpOwoJCQl9CgkgICAgICAgIGVsc2VpZiAoYXJyYXlfa2V5X2V4aXN0cygkdmFyLCAkdGhpcy0+dmFycykpCgkJCXsKCSAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dmFyc1skdmFyXTsKCSAgICAgICAgfSBlbHNlIHsKCSAgICAgICAgICAgIC8vdGhyb3cgbmV3IEV4Y2VwdGlvbigiUHJvcGVydHkgJHZhciBkb2VzIG5vdCBleGlzdCIpOwoJICAgICAgICB9CgkJfQoJCWNhdGNoKEV4Y2VwdGlvbiAkZSkKCQl7CgkJCWVjaG8gJ0Vycm9yOiAnLCAgJGUtPmdldE1lc3NhZ2UoKSwgIlxuIjsKCQl9CiAgIH0KCQoJLy8gREIKCQoJcHVibGljIGZ1bmN0aW9uIHBvcHVsYXRlKCRyb3cpCgl7CgkJaWYgKGlzc2V0KCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgnaWQnKV0pKQoJCXsKCQkJJHRoaXMtPnNldElkKCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgnaWQnKV0pOwoJCX0JCQoJCQoJCWZvcmVhY2ggKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJaWYgKGlzc2V0KCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgkZmllbGQpXSkpCgkJCXsKCQkJCSR0aGlzLT4kZmllbGQgPSAkcm93W3NlbGY6OmdldFJvd05hbWUoJGZpZWxkKV07CgkJCX0KCQl9Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXRyaWV2ZUJ5UGsoJGlkKQogIAl7CiAgCQlyZXR1cm4gc2VsZjo6ZG9TZWxlY3RPbmUoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgnaWQnID0+ICRpZCkpKTsgICAgCiAgCX0KCiAgCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZG9TZWxlY3RPbmUoJHBhcmFtcyA9IGFycmF5KCkpCiAgCXsKICAJCSRpdGVtcyA9IHNlbGY6OmRvU2VsZWN0KCRwYXJhbXMpOwogIAkJaWYgKCRpdGVtcykKICAJCXsKICAJCQlyZXR1cm4gJGl0ZW1zWzBdOwogIAkJfQogIAkJZWxzZSAKICAJCXsKICAJCQlyZXR1cm4gbnVsbDsKICAJCX0gIAkKIAl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZVNlbGVjdExpc3QoKQoJewoJCSRmaWVsZHMgPSBhcnJheV9tZXJnZShhcnJheSgnaWQnLCdjcmVhdGVkX2F0JywndXBkYXRlZF9hdCcpLCBzZWxmOjokZmllbGRzKTsKCQkkbGlzdCA9IGFycmF5KCk7CgkJZm9yZWFjaCAoJGZpZWxkcyBhcyAkZmllbGQpCgkJewoJCQkkbGlzdFtdID0gc2VsZjo6REJfSVRFTSAuICcuJy4kZmllbGQuJyBhcyAnLiBzZWxmOjpnZXRSb3dOYW1lKCRmaWVsZCk7CgkJfQoJCXJldHVybiBpbXBsb2RlKCcgLCAnLCRsaXN0KTsKCX0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRSb3dOYW1lKCRuYW1lKQoJewoJCXJldHVybiBzZWxmOjpEQl9JVEVNIC4gJ19fJyAuICRuYW1lOwoJfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlbGVjdCgkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgCgkJJy5zZWxmOjpEQl9JVEVNLicuKiwKCQknLnNlbGY6OmdlbmVyYXRlU2VsZWN0TGlzdCgpIC4gJwoJCUZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuIHNlbGY6OkRCX05BTUUgLiAnIEFTICcgLiBzZWxmOjpEQl9JVEVNOwoKICAgICR2YWx1ZXMgPSBhcnJheSgpOwoKICAgIGlmIChpc3NldCgkcGFyYW1zWyd3aGVyZSddKSkKICAgIHsKCiAgICAgICRmaWVsZHMgPSBhcnJheSgpOwogICAgICBmb3JlYWNoICgkcGFyYW1zWyd3aGVyZSddIGFzICRmaWVsZCA9PiAkdmFsdWUpIAogICAgICB7CiAgICAgICAgJGZpZWxkc1tdID0gc2VsZjo6REJfSVRFTS4nLicuJGZpZWxkIC4gJyA9ICA/JzsKICAgICAgICAkdmFsdWVzW10gPSAkdmFsdWU7CiAgICAgIH0KCiAgICAgICRxdWVyeSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICRmaWVsZHMpOwogICAgfSAKCiAgICBpZihpc3NldCgkcGFyYW1zWydvcmRlcl9ieSddKSkKICAgIHsKICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnIC4gaW1wbG9kZSgnLCAnICwgJHBhcmFtc1snb3JkZXJfYnknXSk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICRxdWVyeSAuPSAnIE9SREVSIEJZICcuc2VsZjo6REJfSVRFTS4nLmNyZWF0ZWRfYXQnOwogICAgfQoKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwogICAgJGl0ZW1zID0gYXJyYXkoKTsKCiAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkKICAgIHsKICAgICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CQogICAgICAgICRpdGVtID0gbmV3IENNU0dyb3VwUGVybWlzc2lvbigpOwogICAgICAgICRpdGVtLT5wb3B1bGF0ZSgkcm93KTsKICAgICAgICAkaXRlbXNbXSA9ICRpdGVtOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuICAkaXRlbXM7ICAgCiAgfQogIAoJCglwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpIHsKCQlpZiAoJHRoaXMtPmdldElkKCkpIAoJCXsKCQkJaWYgKCR0aGlzLT5pc19tb2RpZmllZCkKCQkJewkJCQoJCQkJcmV0dXJuICR0aGlzLT51cGRhdGUoKTsJCgkJCX0KCQl9IAoJCWVsc2UKCQl7CgkJCXJldHVybiAkdGhpcy0+aW5zZXJ0KCk7CgkJfQoJCQoJCXJldHVybiBmYWxzZTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gaW5zZXJ0KCkgewoJCS8vCiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4gc2VsZjo6REJfTkFNRSAuICcKCQkJU0VUIGNyZWF0ZWRfYXQgPSBOT1coKSwKCQkJCXVwZGF0ZWRfYXQgPSBOT1coKQoJCQkJCQkJCSc7CgkJJHZhbHVlcyA9IGFycmF5KCk7CQkJCQoJCWZvcmVhY2goc2VsZjo6JGZpZWxkcyBhcyAkZmllbGQpCgkJewoJCQkkcXVlcnkgLj0gJywgJyAuICRmaWVsZCAuICcgPSA/JzsKCQkJJHZhbHVlc1tdID0gJHRoaXMtPiRmaWVsZDsKCQl9CgkJCQkJCQkJCQkJCQkJCQkKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkdmFsdWVzKTsKCQlpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCQkkdGhpcy0+c2V0SWQoJGRiLT5JbnNlcnRfSUQoKSk7CgkJCgkJcmV0dXJuIHRydWU7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHVwZGF0ZSgpIHsKICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4gc2VsZjo6REJfTkFNRSAuICcKCQkJU0VUIHVwZGF0ZWRfYXQgPSBOT1coKSc7CgkJCQoJCSR2YWx1ZXMgPSBhcnJheSgpOwkJCQkKCQlmb3JlYWNoKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJHF1ZXJ5IC49ICcsICcgLiAkZmllbGQgLiAnID0gPyc7CgkJCSR2YWx1ZXNbXSA9ICR0aGlzLT4kZmllbGQ7CgkJfQoJCgkJJHF1ZXJ5IC49ICcgV0hFUkUgaWQgPSA/JzsKCQkkdmFsdWVzW10gPSAkdGhpcy0+Z2V0SWQoKTsKCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwoJCWlmICgkcmVzdWx0ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlOwoJCQoJCXJldHVybiB0cnVlOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkgewoJCWlmICgkdGhpcy0+Z2V0SWQoKSkgewogICAgCSRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS5zZWxmOjpEQl9OQU1FIC4gJyBXSEVSRSBpZCA9ID8nOwoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPmdldElkKCkpKTsKCQkJaWYoJHJlc3VsdCAhPT0gZmFsc2UpIHJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CMSGroupProfileField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8qCQkKCQlBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KCQlDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCgkJTGljZW5jZTogR1BMCQkKCQoJKi8KCmNsYXNzIENNU0dyb3VwUHJvZmlsZUZpZWxkCnsKCXByb3RlY3RlZCAkaWQ7Cglwcm90ZWN0ZWQgJGlzX21vZGlmaWVkID0gZmFsc2U7Cglwcm90ZWN0ZWQgJHZhcnMgPSBhcnJheSgpOwoJCglwcm90ZWN0ZWQgJHVzZXJzOwoJCglwcm90ZWN0ZWQgc3RhdGljICRmaWVsZHMgPSBhcnJheSgKCSdncm91cF9pZCcsCgkncHJvZmlsZV9maWVsZF9pZCcsCgknaXNfbWFuZGF0b3J5JywKCSdjb21tZW50cycKCSk7CgkKCWNvbnN0IERCX05BTUUgPSAnbW9kdWxlX2Ntc3VzZXJzX2dyb3VwX3Byb2ZpbGVfZmllbGRzJzsKCWNvbnN0IERCX0lURU0gPSAnZ3JvdXBfcHJvZmlsZV9maWVsZCc7CgkKCS8vIEN1c3RvbSBsb2dpYwoJCglwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCgl7CgkJcmV0dXJuOwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldFByb2ZpbGVGaWVsZEdyb3VwcygkcHJvZmlsZV9maWVsZF9pZCwgQXJyYXkgJGdyb3VwcykKCXsKCQkkY3VycmVudF9ncm91cHMgPSBzZWxmOjpnZXRHcm91cHNMaXN0KCRwcm9maWxlX2ZpZWxkX2lkKTsKCgkJLy8gMS4gRGVsZXRlIGdyb3VwcwoJCSRkZWxldGVfZ3JvdXBzID0gKGFycmF5X2RpZmZfa2V5KCRjdXJyZW50X2dyb3VwcyxhcnJheV9mbGlwKCRncm91cHMpKSk7CgkJZm9yZWFjaCgkZGVsZXRlX2dyb3VwcyBhcyAkZ3JvdXApCgkJewoJCQkkZ3JvdXAtPmRlbGV0ZSgpOwoJCX0KCQkKCQkvLyAyLiBBZGQgdXNlcnMKCQkkYWRkX2dyb3VwcyA9IChhcnJheV9kaWZmX2tleShhcnJheV9mbGlwKCRncm91cHMpLCAkY3VycmVudF9ncm91cHMpKTsKCQkJCQoJCWZvcmVhY2goJGFkZF9ncm91cHMgYXMgJGdyb3VwX2lkID0+ICRncm91cCkKCQkJCXsKCQkJCQkkbmV3ID0gbmV3IHNlbGYoKTsKCQkJCQkkbmV3LT5wcm9maWxlX2ZpZWxkX2lkID0gJHByb2ZpbGVfZmllbGRfaWQ7CgkJCQkJJG5ldy0+Z3JvdXBfaWQgPSAkZ3JvdXBfaWQ7CgkJCQkJJG5ldy0+c2F2ZSgpOwoJCQkJfQoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEdyb3Vwc0xpc3QoJHByb2ZpbGVfZmllbGRfaWQsICRvbmx5X2tleXMgPSBmYWxzZSkKCXsKCQkkZ3JvdXBzID0gc2VsZjo6ZG9TZWxlY3QoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgncHJvZmlsZV9maWVsZF9pZCcgPT4gJHByb2ZpbGVfZmllbGRfaWQpKSk7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRncm91cHMgYXMgJGdyb3VwKQoJCXsKCQkJaWYgKCRvbmx5X2tleXMgPT0gdHJ1ZSkKCQkJewoJCQkJJGFycmF5W10gPSAkZ3JvdXAtPmdyb3VwX2lkOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJGFycmF5WyRncm91cC0+Z3JvdXBfaWRdID0gJGdyb3VwOwoJCQl9CgkJfQoJCXJldHVybiAkYXJyYXk7Cgl9CgkKCS8vIEdFVFNFVFRFUlMKCQoJcHVibGljIGZ1bmN0aW9uIGdldElkKCkKCXsKCQlyZXR1cm4gJHRoaXMtPmlkOwoJfQoJCglwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0SWQoJHZhbHVlKQoJewoJCSR0aGlzLT5pZCA9ICR2YWx1ZTsKCX0KCQogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCR2YXIsICR2YWwpewoJCSR0aGlzLT5pc19tb2RpZmllZCA9IHRydWU7CiAgICAgICAgJHRoaXMtPnZhcnNbJHZhcl0gPSAkdmFsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgkdmFyKXsKCQl0cnkKCQl7CgkJCWlmKG1ldGhvZF9leGlzdHMoJHRoaXMsICR2YXIpKQoJCQl7CgkJCQlyZXR1cm4gJHRoaXMtPiR2YXIoKTsKCQkJfQoJICAgICAgICBlbHNlaWYgKGFycmF5X2tleV9leGlzdHMoJHZhciwgJHRoaXMtPnZhcnMpKQoJCQl7CgkgICAgICAgICAgICByZXR1cm4gJHRoaXMtPnZhcnNbJHZhcl07CgkgICAgICAgIH0gZWxzZSB7CgkgICAgICAgICAgICAvL3Rocm93IG5ldyBFeGNlcHRpb24oIlByb3BlcnR5ICR2YXIgZG9lcyBub3QgZXhpc3QiKTsKCSAgICAgICAgfQoJCX0KCQljYXRjaChFeGNlcHRpb24gJGUpCgkJewoJCQllY2hvICdFcnJvcjogJywgICRlLT5nZXRNZXNzYWdlKCksICJcbiI7CgkJfQogICB9CgkKCS8vIERCCgkKCXB1YmxpYyBmdW5jdGlvbiBwb3B1bGF0ZSgkcm93KQoJewoJCWlmIChpc3NldCgkcm93W3NlbGY6OmdldFJvd05hbWUoJ2lkJyldKSkKCQl7CgkJCSR0aGlzLT5zZXRJZCgkcm93W3NlbGY6OmdldFJvd05hbWUoJ2lkJyldKTsKCQl9CQkKCQkKCQlmb3JlYWNoIChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCWlmIChpc3NldCgkcm93W3NlbGY6OmdldFJvd05hbWUoJGZpZWxkKV0pKQoJCQl7CgkJCQkkdGhpcy0+JGZpZWxkID0gJHJvd1tzZWxmOjpnZXRSb3dOYW1lKCRmaWVsZCldOwoJCQl9CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJldHJpZXZlQnlQaygkaWQpCiAgCXsKICAJCXJldHVybiBzZWxmOjpkb1NlbGVjdE9uZShhcnJheSgnd2hlcmUnID0+IGFycmF5KCdpZCcgPT4gJGlkKSkpOyAgICAKICAJfQoKICAJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlbGVjdE9uZSgkcGFyYW1zID0gYXJyYXkoKSkKICAJewogIAkJJGl0ZW1zID0gc2VsZjo6ZG9TZWxlY3QoJHBhcmFtcyk7CiAgCQlpZiAoJGl0ZW1zKQogIAkJewogIAkJCXJldHVybiAkaXRlbXNbMF07CiAgCQl9CiAgCQllbHNlIAogIAkJewogIAkJCXJldHVybiBudWxsOwogIAkJfSAgCQogCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0TGlzdCgpCgl7CgkJJGZpZWxkcyA9IGFycmF5X21lcmdlKGFycmF5KCdpZCcsJ2NyZWF0ZWRfYXQnLCd1cGRhdGVkX2F0JyksIHNlbGY6OiRmaWVsZHMpOwoJCSRsaXN0ID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRsaXN0W10gPSBzZWxmOjpEQl9JVEVNIC4gJy4nLiRmaWVsZC4nIGFzICcuIHNlbGY6OmdldFJvd05hbWUoJGZpZWxkKTsKCQl9CgkJcmV0dXJuIGltcGxvZGUoJyAsICcsJGxpc3QpOwoJfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFJvd05hbWUoJG5hbWUpCgl7CgkJcmV0dXJuIHNlbGY6OkRCX0lURU0gLiAnX18nIC4gJG5hbWU7Cgl9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZG9TZWxlY3QoJHBhcmFtcyA9IGFycmF5KCkpCiAgewogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUIAoJCScuc2VsZjo6REJfSVRFTS4nLiosCgkJJy5zZWxmOjpnZW5lcmF0ZVNlbGVjdExpc3QoKSAuICcgCgkJRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gc2VsZjo6REJfTkFNRSAuICcgQVMgJyAuIHNlbGY6OkRCX0lURU07CgogICAgJHZhbHVlcyA9IGFycmF5KCk7CgogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3doZXJlJ10pKQogICAgewoKICAgICAgJGZpZWxkcyA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2ggKCRwYXJhbXNbJ3doZXJlJ10gYXMgJGZpZWxkID0+ICR2YWx1ZSkgCiAgICAgIHsKICAgICAgICAkZmllbGRzW10gPSBzZWxmOjpEQl9JVEVNLicuJy4kZmllbGQgLiAnID0gID8nOwogICAgICAgICR2YWx1ZXNbXSA9ICR2YWx1ZTsKICAgICAgfQoKICAgICAgJHF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJGZpZWxkcyk7CiAgICB9IAoKICAgIGlmKGlzc2V0KCRwYXJhbXNbJ29yZGVyX2J5J10pKQogICAgewogICAgICRxdWVyeSAuPSAnIE9SREVSIEJZICcgLiBpbXBsb2RlKCcsICcgLCAkcGFyYW1zWydvcmRlcl9ieSddKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJy5zZWxmOjpEQl9JVEVNLicuY3JlYXRlZF9hdCc7CiAgICB9CgogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7CiAgICAkaXRlbXMgPSBhcnJheSgpOwoKICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQogICAgewogICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgIHsJCiAgICAgICAgJGl0ZW0gPSBuZXcgc2VsZigpOwogICAgICAgICRpdGVtLT5wb3B1bGF0ZSgkcm93KTsKICAgICAgICAkaXRlbXNbXSA9ICRpdGVtOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuICAkaXRlbXM7ICAgCiAgfQogIAoJCglwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpIHsKCQlpZiAoJHRoaXMtPmdldElkKCkpIAoJCXsKCQkJaWYgKCR0aGlzLT5pc19tb2RpZmllZCkKCQkJewkJCQoJCQkJcmV0dXJuICR0aGlzLT51cGRhdGUoKTsJCgkJCX0KCQl9IAoJCWVsc2UKCQl7CgkJCXJldHVybiAkdGhpcy0+aW5zZXJ0KCk7CgkJfQoJCQoJCXJldHVybiBmYWxzZTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gaW5zZXJ0KCkgewoJCS8vCiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4gc2VsZjo6REJfTkFNRSAuICcKCQkJU0VUIGNyZWF0ZWRfYXQgPSBOT1coKSwKCQkJCXVwZGF0ZWRfYXQgPSBOT1coKQoJCQkJCQkJCSc7CgkJJHZhbHVlcyA9IGFycmF5KCk7CQkJCQoJCWZvcmVhY2goc2VsZjo6JGZpZWxkcyBhcyAkZmllbGQpCgkJewoJCQkkcXVlcnkgLj0gJywgJyAuICRmaWVsZCAuICcgPSA/JzsKCQkJJHZhbHVlc1tdID0gJHRoaXMtPiRmaWVsZDsKCQl9CgkJCQkJCQkJCQkJCQkJCQkKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkdmFsdWVzKTsKCQlpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCQkkdGhpcy0+c2V0SWQoJGRiLT5JbnNlcnRfSUQoKSk7CgkJCgkJcmV0dXJuIHRydWU7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHVwZGF0ZSgpIHsKICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4gc2VsZjo6REJfTkFNRSAuICcKCQkJU0VUIHVwZGF0ZWRfYXQgPSBOT1coKSc7CgkJCQoJCSR2YWx1ZXMgPSBhcnJheSgpOwkJCQkKCQlmb3JlYWNoKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJHF1ZXJ5IC49ICcsICcgLiAkZmllbGQgLiAnID0gPyc7CgkJCSR2YWx1ZXNbXSA9ICR0aGlzLT4kZmllbGQ7CgkJfQoJCgkJJHF1ZXJ5IC49ICcgV0hFUkUgaWQgPSA/JzsKCQkkdmFsdWVzW10gPSAkdGhpcy0+Z2V0SWQoKTsKCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwoJCWlmICgkcmVzdWx0ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlOwoJCQoJCXJldHVybiB0cnVlOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkgewoJCWlmICgkdGhpcy0+Z2V0SWQoKSkgewogICAgCSRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS5zZWxmOjpEQl9OQU1FIC4gJyBXSEVSRSBpZCA9ID8nOwoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPmdldElkKCkpKTsKCQkJaWYoJHJlc3VsdCAhPT0gZmFsc2UpIAoJCQl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CMSPermission.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8qCQkKCQlBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KCQlDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCgkJTGljZW5jZTogR1BMCQkKCQoJKi8KCmNsYXNzIENNU1Blcm1pc3Npb24KewoJcHJvdGVjdGVkICRpZDsKCXByb3RlY3RlZCAkaXNfbW9kaWZpZWQgPSBmYWxzZTsKCXByb3RlY3RlZCAkdmFycyA9IGFycmF5KCk7CgkKCXByb3RlY3RlZCAkdXNlcnM7CgkKCXByb3RlY3RlZCBzdGF0aWMgJGZpZWxkcyA9IGFycmF5KAoJJ25hbWUnLAoJJ2lzX2FjdGl2ZScsCgknY29tbWVudHMnCgkpOwoJCgljb25zdCBEQl9OQU1FID0gJ21vZHVsZV9jbXN1c2Vyc19wZXJtaXNzaW9ucyc7Cgljb25zdCBEQl9JVEVNID0gJ3Blcm1pc3Npb24nOwoJCgkvLyBDdXN0b20gbG9naWMKCQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybiAkdGhpcy0+bmFtZTsKCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRQZXJtaXNzaW9uTGlzdCgpCgl7CgkJJHBlcm1pc3Npb25zID0gc2VsZjo6ZG9TZWxlY3QoYXJyYXkoJ29yZGVyX2J5JyA9PiBhcnJheSgnbmFtZScpKSk7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRwZXJtaXNzaW9ucyBhcyAkcGVybWlzc2lvbikKCQl7CgkJCSRhcnJheVskcGVybWlzc2lvbi0+Z2V0SWQoKV0gPSAoc3RyaW5nKSRwZXJtaXNzaW9uOwoJCX0KCQlyZXR1cm4gJGFycmF5OwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFBlcm1pc3Npb25zRm9yVXNlcigkdXNlcl9pZCkKCXsKCQlpZiAoIWlzX251bWVyaWMoJHVzZXJfaWQpKSBkaWUgKCdVc2VyIGlkIG11c3QgYmUgYSBudW1lcmljYWwgdmFsdWUgIScpOwoJCSRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgoJCSAkcXVlcnkgPSAnU0VMRUNUICcuc2VsZjo6REJfSVRFTS4nLiosICcuc2VsZjo6Z2VuZXJhdGVTZWxlY3RMaXN0KCkgLiAnCgkJCUZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuIHNlbGY6OkRCX05BTUUgLiAnIEFTICcgLiBzZWxmOjpEQl9JVEVNIC4nCgkJCUxFRlQgSk9JTiAnIC4gY21zX2RiX3ByZWZpeCgpIC4gQ01TR3JvdXBQZXJtaXNzaW9uOjpEQl9OQU1FIC4gJyBBUyAnLkNNU0dyb3VwUGVybWlzc2lvbjo6REJfSVRFTS4nIAoJCQlPTiAnLnNlbGY6OkRCX0lURU0uJy5pZCA9ICcuQ01TR3JvdXBQZXJtaXNzaW9uOjpEQl9JVEVNLicucGVybWlzc2lvbl9pZAoJCQlMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuIENNU0dyb3VwOjpEQl9OQU1FIC4gJyBBUyAnLkNNU0dyb3VwOjpEQl9JVEVNLicgCgkJCU9OICcuQ01TR3JvdXBQZXJtaXNzaW9uOjpEQl9JVEVNLicuZ3JvdXBfaWQgPSAnLkNNU0dyb3VwOjpEQl9JVEVNLicuaWQKCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiBDTVNVc2VyR3JvdXA6OkRCX05BTUUgLiAnIEFTICcuQ01TVXNlckdyb3VwOjpEQl9JVEVNLicgCgkJCU9OICcuQ01TR3JvdXA6OkRCX0lURU0uJy5pZCA9ICcuQ01TVXNlckdyb3VwOjpEQl9JVEVNLicuZ3JvdXBfaWQKCQkJV0hFUkUgCgkJCScuc2VsZjo6REJfSVRFTS4nLmlzX2FjdGl2ZSA9IDEgQU5ECgkJCScuQ01TR3JvdXA6OkRCX0lURU0uJy5pc19hY3RpdmUgPSAxIEFORAoJCQknLkNNU1VzZXJHcm91cDo6REJfSVRFTS4nLnVzZXJfaWQgPSA/CgkJCUdST1VQIEJZICcuc2VsZjo6REJfSVRFTS4nLmlkCgkJCSc7CgkJCQoJCQkkdmFsdWVzID0gYXJyYXkoJHVzZXJfaWQpOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKCQkJCgkJCSRwZXJtaXNzaW9ucyA9IGFycmF5KCk7CgkJCQoJCQlpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApCgkgICAgewoJICAgICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJICAgICAgewkKCSAgICAgICAgJGl0ZW0gPSBuZXcgc2VsZigpOwoJICAgICAgICAkaXRlbS0+cG9wdWxhdGUoJHJvdyk7CgkgICAgICAgICRwZXJtaXNzaW9uc1skcm93W3NlbGY6OmdldFJvd05hbWUoJ2lkJyldXSA9ICRpdGVtLT5uYW1lOwoJICAgICAgfQoJICAgIH0KCQlyZXR1cm4gJHBlcm1pc3Npb25zOwoJfQogIAoJCgkvLyBHRVRTRVRURVJTCgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRJZCgpCgl7CgkJcmV0dXJuICR0aGlzLT5pZDsKCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIHNldElkKCR2YWx1ZSkKCXsKCQkkdGhpcy0+aWQgPSAkdmFsdWU7Cgl9CgkKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgkdmFyLCAkdmFsKXsKCQkkdGhpcy0+aXNfbW9kaWZpZWQgPSB0cnVlOwogICAgICAgICR0aGlzLT52YXJzWyR2YXJdID0gJHZhbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJHZhcil7CgkJdHJ5CgkJewoJCQlpZihtZXRob2RfZXhpc3RzKCR0aGlzLCAkdmFyKSkKCQkJewoJCQkJcmV0dXJuICR0aGlzLT4kdmFyKCk7CgkJCX0KCSAgICAgICAgZWxzZWlmIChhcnJheV9rZXlfZXhpc3RzKCR2YXIsICR0aGlzLT52YXJzKSkKCQkJewoJICAgICAgICAgICAgcmV0dXJuICR0aGlzLT52YXJzWyR2YXJdOwoJICAgICAgICB9IGVsc2UgewoJICAgICAgICAgICAgLy90aHJvdyBuZXcgRXhjZXB0aW9uKCJQcm9wZXJ0eSAkdmFyIGRvZXMgbm90IGV4aXN0Iik7CgkgICAgICAgIH0KCQl9CgkJY2F0Y2goRXhjZXB0aW9uICRlKQoJCXsKCQkJZWNobyAnRXJyb3I6ICcsICAkZS0+Z2V0TWVzc2FnZSgpLCAiXG4iOwoJCX0KICAgfQoJCgkvLyBEQgoJCglwdWJsaWMgZnVuY3Rpb24gcG9wdWxhdGUoJHJvdykKCXsKCQlpZiAoaXNzZXQoJHJvd1tzZWxmOjpEQl9JVEVNLidfX2lkJ10pKQoJCXsKCQkJJHRoaXMtPnNldElkKCRyb3dbc2VsZjo6REJfSVRFTS4nX19pZCddKTsKCQl9CQkKCQkKCQlmb3JlYWNoIChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCWlmIChpc3NldCgkcm93W3NlbGY6OkRCX0lURU0uJ19fJy4kZmllbGRdKSkKCQkJewoJCQkJJHRoaXMtPiRmaWVsZCA9ICRyb3dbc2VsZjo6REJfSVRFTS4nX18nLiRmaWVsZF07CgkJCX0KCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmV0cmlldmVCeVBrKCRpZCkKICAJewogIAkJcmV0dXJuIHNlbGY6OmRvU2VsZWN0T25lKGFycmF5KCd3aGVyZScgPT4gYXJyYXkoJ2lkJyA9PiAkaWQpKSk7ICAgIAogIAl9CgogIAlwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0T25lKCRwYXJhbXMgPSBhcnJheSgpKQogIAl7CiAgCQkkaXRlbXMgPSBzZWxmOjpkb1NlbGVjdCgkcGFyYW1zKTsKICAJCWlmICgkaXRlbXMpCiAgCQl7CiAgCQkJcmV0dXJuICRpdGVtc1swXTsKICAJCX0KICAJCWVsc2UgCiAgCQl7CiAgCQkJcmV0dXJuIG51bGw7CiAgCQl9ICAJCiAJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2VuZXJhdGVTZWxlY3RMaXN0KCkKCXsKCQkkZmllbGRzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJ2lkJywnY3JlYXRlZF9hdCcsJ3VwZGF0ZWRfYXQnKSwgc2VsZjo6JGZpZWxkcyk7CgkJJGxpc3QgPSBhcnJheSgpOwoJCWZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJGxpc3RbXSA9IHNlbGY6OkRCX0lURU0gLiAnLicuJGZpZWxkLicgYXMgJy4gc2VsZjo6Z2V0Um93TmFtZSgkZmllbGQpOwoJCX0KCQlyZXR1cm4gaW1wbG9kZSgnICwgJywkbGlzdCk7Cgl9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0Um93TmFtZSgkbmFtZSkKCXsKCQlyZXR1cm4gc2VsZjo6REJfSVRFTSAuICdfXycgLiAkbmFtZTsKCX0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlbGVjdCgkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgCgkJJy5zZWxmOjpEQl9JVEVNLicuKiwKCQknLnNlbGY6OmdlbmVyYXRlU2VsZWN0TGlzdCgpIC4gJyAKCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiBzZWxmOjpEQl9OQU1FIC4gJyBBUyAnIC4gc2VsZjo6REJfSVRFTTsKCiAgICAkdmFsdWVzID0gYXJyYXkoKTsKCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snd2hlcmUnXSkpCiAgICB7CgogICAgICAkZmllbGRzID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCAoJHBhcmFtc1snd2hlcmUnXSBhcyAkZmllbGQgPT4gJHZhbHVlKSAKICAgICAgewogICAgICAgICRmaWVsZHNbXSA9IHNlbGY6OkRCX0lURU0uJy4nLiRmaWVsZCAuICcgPSAgPyc7CiAgICAgICAgJHZhbHVlc1tdID0gJHZhbHVlOwogICAgICB9CgogICAgICAkcXVlcnkgLj0gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCAkZmllbGRzKTsKICAgIH0gCgogICAgaWYoaXNzZXQoJHBhcmFtc1snb3JkZXJfYnknXSkpCiAgICB7CiAgICAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJyAuIGltcGxvZGUoJywgJyAsICRwYXJhbXNbJ29yZGVyX2J5J10pOwogICAgfQogICAgZWxzZQogICAgewogICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnLnNlbGY6OkRCX0lURU0uJy5jcmVhdGVkX2F0JzsKICAgIH0KCiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKICAgICRpdGVtcyA9IGFycmF5KCk7CgogICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApCiAgICB7CiAgICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgewkKICAgICAgICAkaXRlbSA9IG5ldyBzZWxmKCk7CiAgICAgICAgJGl0ZW0tPnBvcHVsYXRlKCRyb3cpOwogICAgICAgICRpdGVtc1tdID0gJGl0ZW07CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gICRpdGVtczsgICAKICB9CiAgCgkKCXB1YmxpYyBmdW5jdGlvbiBzYXZlKCkgewoJCWlmICgkdGhpcy0+Z2V0SWQoKSkgCgkJewoJCQlpZiAoJHRoaXMtPmlzX21vZGlmaWVkKQoJCQl7CQkJCgkJCQlyZXR1cm4gJHRoaXMtPnVwZGF0ZSgpOwkKCQkJfQoJCX0gCgkJZWxzZQoJCXsKCQkJcmV0dXJuICR0aGlzLT5pbnNlcnQoKTsKCQl9CgkJCgkJcmV0dXJuIGZhbHNlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBpbnNlcnQoKSB7CgkJLy8KICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLiBzZWxmOjpEQl9OQU1FIC4gJwoJCQlTRVQgY3JlYXRlZF9hdCA9IE5PVygpLAoJCQkJdXBkYXRlZF9hdCA9IE5PVygpCgkJCQkJCQkJJzsKCQkkdmFsdWVzID0gYXJyYXkoKTsJCQkJCgkJZm9yZWFjaChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRxdWVyeSAuPSAnLCAnIC4gJGZpZWxkIC4gJyA9ID8nOwoJCQkkdmFsdWVzW10gPSAkdGhpcy0+JGZpZWxkOwoJCX0KCQkJCQkJCQkJCQkJCQkJCQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpOwoJCWlmICgkcmVzdWx0ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlOwoJCSR0aGlzLT5zZXRJZCgkZGItPkluc2VydF9JRCgpKTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gdXBkYXRlKCkgewogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLiBzZWxmOjpEQl9OQU1FIC4gJwoJCQlTRVQgdXBkYXRlZF9hdCA9IE5PVygpJzsKCQkJCgkJJHZhbHVlcyA9IGFycmF5KCk7CQkJCQoJCWZvcmVhY2goc2VsZjo6JGZpZWxkcyBhcyAkZmllbGQpCgkJewoJCQkkcXVlcnkgLj0gJywgJyAuICRmaWVsZCAuICcgPSA/JzsKCQkJJHZhbHVlc1tdID0gJHRoaXMtPiRmaWVsZDsKCQl9CgkKCQkkcXVlcnkgLj0gJyBXSEVSRSBpZCA9ID8nOwoJCSR2YWx1ZXNbXSA9ICR0aGlzLT5nZXRJZCgpOwoKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7CgkJaWYgKCRyZXN1bHQgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7CgkJCgkJcmV0dXJuIHRydWU7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKSB7CgkJaWYgKCR0aGlzLT5nZXRJZCgpKSB7CiAgICAJJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLnNlbGY6OkRCX05BTUUgLiAnIFdIRVJFIGlkID0gPyc7CgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+Z2V0SWQoKSkpOwoJCQlpZigkcmVzdWx0ICE9PSBmYWxzZSkgCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CMSProfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCUhhbmRsZSBwcm9maWxlcwoJCQoJCUF1dGhvcjogSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxjeWJlcnRvdG9waGVAZ21haWwuY29tPgoJCUNvcHlyaWdodHM6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bSAtIDIwMTAKCQlMaWNlbmNlOiBHUEwJCQoJCgkqLwoKY2xhc3MgQ01TUHJvZmlsZQp7Cglwcm90ZWN0ZWQgJGlkOwoJcHJvdGVjdGVkICRpc19tb2RpZmllZCA9IGZhbHNlOwoJcHJvdGVjdGVkICR2YXJzID0gYXJyYXkoKTsKCQoJcHJvdGVjdGVkIHN0YXRpYyAkZmllbGRzID0gYXJyYXkoCgkndXNlcl9pZCcKCSk7CgkKCXByb3RlY3RlZCAkZXh0cmFfZmllbGRzID0gYXJyYXkoKTsKCQoJY29uc3QgREJfTkFNRSA9ICdtb2R1bGVfY21zdXNlcnNfcHJvZmlsZXMnOwoJY29uc3QgREJfSVRFTSA9ICdwcm9maWxlJzsKCQoJLy8gQ3VzdG9tIGNsYXNzIGxvZ2ljCgkKCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVGaWVsZCgkZmllbGRuYW1lLCAkdHlwZSkKCXsKICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gc2VsZjo6REJfTkFNRSwgJGZpZWxkbmFtZSAuICcgJyAuIENNU0Zvcm1XaWRnZXQ6OmdldEFkb1R5cGUoJHR5cGUpKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRVc2VyUHJvZmlsZUZpZWxkcygpCgl7CgkJcmV0dXJuIENNU1Byb2ZpbGVGaWVsZDo6Z2V0RmllbGRzRm9yVXNlcigkdGhpcy0+dXNlcl9pZCk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RmllbGRzKCkKCXsKCQkkZmllbGRzID0gc2VsZjo6JGZpZWxkczsKCQkkbmV3ZmllbGRzID0gQ01TUHJvZmlsZUZpZWxkOjpkb1NlbGVjdCgpOwoJCgkJZm9yZWFjaCgkbmV3ZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRmaWVsZHNbXSA9ICRmaWVsZC0+Zm5hbWU7CgkJfQoJCQoJCXJldHVybiAkZmllbGRzOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvZmlsZUZpZWxkcygpCgl7CgkJJGZpZWxkcyA9ICR0aGlzLT5nZXRVc2VyUHJvZmlsZUZpZWxkcygpOwoJCSRhcnJheSA9IGFycmF5KCk7CgkJZm9yZWFjaCAoJGZpZWxkcyBhcyAkZmllbGQpCgkJewoJCQkkZm5hbWUgPSAkZmllbGQtPmZuYW1lOwoJCQkkYXJyYXlbJGZpZWxkLT5uYW1lXSA9ICR0aGlzLT4kZm5hbWU7CgkJfQoJCXJldHVybiAkYXJyYXk7Cgl9CgkKCS8vIEdFVFNFVFRFUlMKCQoJcHVibGljIGZ1bmN0aW9uIGdldElkKCkKCXsKCQlyZXR1cm4gJHRoaXMtPmlkOwoJfQoJCglwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0SWQoJHZhbHVlKQoJewoJCSR0aGlzLT5pZCA9ICR2YWx1ZTsKCX0KCQogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCR2YXIsICR2YWwpewoJCSR0aGlzLT5pc19tb2RpZmllZCA9IHRydWU7CiAgICAgICAgJHRoaXMtPnZhcnNbJHZhcl0gPSAkdmFsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgkdmFyKXsKCQlpZihtZXRob2RfZXhpc3RzKCR0aGlzLCAkdmFyKSkKCQl7CgkJCXJldHVybiAkdGhpcy0+JHZhcigpOwoJCX0KICAgICAgICBlbHNlaWYgKGFycmF5X2tleV9leGlzdHMoJHZhciwgJHRoaXMtPnZhcnMpKQoJCXsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT52YXJzWyR2YXJdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOy8vdGhyb3cgbmV3IEV4Y2VwdGlvbigiUHJvcGVydHkgJHZhciBkb2VzIG5vdCBleGlzdCIpOwogICAgICAgIH0KICAgIH0KCgkJcHVibGljIGZ1bmN0aW9uIGdldEFzQXJyYXkoKQoJCXsKCQkJJGFycmF5ID0gJHRoaXMtPnZhcnM7CgkJCSRhcnJheVsncHJvZmlsZV9pZCddID0gJHRoaXMtPmdldElkKCk7CgkJCXJldHVybiAkYXJyYXk7CgkJfQoKCS8vIERCCgkKCXB1YmxpYyBmdW5jdGlvbiBwb3B1bGF0ZSgkcm93KQoJewoJCWlmIChpc3NldCgkcm93W3NlbGY6OkRCX0lURU0uJ19faWQnXSkpCgkJewoJCQkkdGhpcy0+c2V0SWQoJHJvd1tzZWxmOjpEQl9JVEVNLidfX2lkJ10pOwoJCX0KCQkKCQlmb3JlYWNoIChzZWxmOjpnZXRGaWVsZHMoKSBhcyAkZmllbGQpCgkJewoJCQlpZiAoaXNzZXQoJHJvd1tzZWxmOjpEQl9JVEVNLidfXycuJGZpZWxkXSkpCgkJCXsKCQkJCSR0aGlzLT4kZmllbGQgPSAkcm93W3NlbGY6OkRCX0lURU0uJ19fJy4kZmllbGRdOwoJCQl9CgkJfQkJCgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmV0cmlldmVCeVBrKCRpZCkKICAJewogIAkJcmV0dXJuIHNlbGY6OmRvU2VsZWN0T25lKGFycmF5KCd3aGVyZScgPT4gYXJyYXkoJ2lkJyA9PiAkaWQpKSk7ICAgIAogIAl9CgogIAlwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0T25lKCRwYXJhbXMgPSBhcnJheSgpKQogIAl7CiAgCSAgJHBhcmFtc1snbGltaXQnXSA9IDE7CiAgCQkkaXRlbXMgPSBzZWxmOjpkb1NlbGVjdCgkcGFyYW1zKTsKICAJCWlmICgkaXRlbXMpCiAgCQl7CiAgCQkJcmV0dXJuICRpdGVtc1swXTsKICAJCX0KICAJCWVsc2UgCiAgCQl7CiAgCQkJcmV0dXJuIG51bGw7CiAgCQl9ICAJCiAJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2VuZXJhdGVTZWxlY3RMaXN0KCkKCXsKCQkkZmllbGRzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJ2lkJywnY3JlYXRlZF9hdCcsJ3VwZGF0ZWRfYXQnKSwgc2VsZjo6Z2V0RmllbGRzKCkpOwoJCSRsaXN0ID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRsaXN0W10gPSBzZWxmOjpEQl9JVEVNIC4gJy4nLiRmaWVsZC4nIGFzICcuIHNlbGY6OmdldFJvd05hbWUoJGZpZWxkKTsKCQl9CgkJcmV0dXJuIGltcGxvZGUoJyAsICcsJGxpc3QpOwoJfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFJvd05hbWUoJG5hbWUpCgl7CgkJcmV0dXJuIHNlbGY6OkRCX0lURU0gLiAnX18nIC4gJG5hbWU7Cgl9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0KCRwYXJhbXMgPSBhcnJheSgpKQogIHsKICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAnLnNlbGY6OkRCX0lURU0uJy4qLCAnLnNlbGY6OmdlbmVyYXRlU2VsZWN0TGlzdCgpLicgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gc2VsZjo6REJfTkFNRSAuICcgQVMgJy5zZWxmOjpEQl9JVEVNOwoKICAgICR2YWx1ZXMgPSBhcnJheSgpOwoKICAgIGlmIChpc3NldCgkcGFyYW1zWyd3aGVyZSddKSkKICAgIHsKCiAgICAgICRmaWVsZHMgPSBhcnJheSgpOwogICAgICBmb3JlYWNoICgkcGFyYW1zWyd3aGVyZSddIGFzICRmaWVsZCA9PiAkdmFsdWUpIAogICAgICB7CiAgICAgICAgJGZpZWxkc1tdID0gJGZpZWxkIC4gJyA9ICA/JzsKICAgICAgICAkdmFsdWVzW10gPSAkdmFsdWU7CiAgICAgIH0KCiAgICAgICRxdWVyeSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICRmaWVsZHMpOwogICAgfSAKCiAgICBpZihpc3NldCgkcGFyYW1zWydvcmRlcl9ieSddKSkKICAgIHsKICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnIC4gaW1wbG9kZSgnLCAnICwgJHBhcmFtc1snb3JkZXJfYnknXSk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICRxdWVyeSAuPSAnIE9SREVSIEJZIGNyZWF0ZWRfYXQnOwogICAgfQoKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwoKICAgICRpdGVtcyA9IGFycmF5KCk7CiAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkKICAgIHsKICAgICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CiAgICAgICAgJGl0ZW0gPSBuZXcgQ01TUHJvZmlsZSgpOwogICAgICAgICRpdGVtLT5wb3B1bGF0ZSgkcm93KTsKICAgICAgICAkaXRlbXNbXSA9ICRpdGVtOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuICAkaXRlbXM7ICAgCiAgfQoJCgkKCXB1YmxpYyBmdW5jdGlvbiBzYXZlKCkgewoJCWlmICgkdGhpcy0+Z2V0SWQoKSkgCgkJewoJCQlpZiAoJHRoaXMtPmlzX21vZGlmaWVkKQoJCQl7CQkJCgkJCQlyZXR1cm4gJHRoaXMtPnVwZGF0ZSgpOwkKCQkJfQoJCX0gCgkJZWxzZQoJCXsKCQkJcmV0dXJuICR0aGlzLT5pbnNlcnQoKTsKCQl9CgkJCgkJcmV0dXJuIGZhbHNlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBpbnNlcnQoKSB7CiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4gc2VsZjo6REJfTkFNRSAuICcKCQkJU0VUIGNyZWF0ZWRfYXQgPSBOT1coKSwKCQkJCXVwZGF0ZWRfYXQgPSBOT1coKQoJCQkJCQkJCSc7CgkJJHZhbHVlcyA9IGFycmF5KCk7CQkJCQoJCWZvcmVhY2goc2VsZjo6Z2V0RmllbGRzKCkgYXMgJGZpZWxkKQoJCXsKCQkJJHF1ZXJ5IC49ICcsICcgLiAkZmllbGQgLiAnID0gPyc7CgkJCSR2YWx1ZXNbXSA9ICR0aGlzLT4kZmllbGQ7CgkJfQoJCQkJCQkJCQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpOwoJCWlmICgkcmVzdWx0ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlOwoJCSR0aGlzLT5zZXRJZCgkZGItPkluc2VydF9JRCgpKTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gdXBkYXRlKCkgewogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLiBzZWxmOjpEQl9OQU1FIC4gJwoJCQlTRVQgdXBkYXRlZF9hdCA9IE5PVygpJzsKCQkJCgkJJHZhbHVlcyA9IGFycmF5KCk7CQkJCQoJCWZvcmVhY2goc2VsZjo6Z2V0RmllbGRzKCkgYXMgJGZpZWxkKQoJCXsKCQkJJHF1ZXJ5IC49ICcsICcgLiAkZmllbGQgLiAnID0gPyc7CgkJCSR2YWx1ZXNbXSA9ICR0aGlzLT4kZmllbGQ7CgkJfQoJCQoJCSRxdWVyeSAuPSAnIFdIRVJFIGlkID0gPyc7CgkJJHZhbHVlc1tdID0gJHRoaXMtPmdldElkKCk7CgoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKCQlpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgpIHsKCQlpZiAoJHRoaXMtPmdldElkKCkpIHsKICAgIAkkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuc2VsZjo6REJfTkFNRSAuICcgV0hFUkUgaWQgPSA/JzsKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5nZXRJZCgpKSk7CgkJCWlmKCRyZXN1bHQgIT09IGZhbHNlKSByZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.CMSProfileField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8qCQkKCQlBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KCQlDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCgkJTGljZW5jZTogR1BMCQkKCQoJKi8KCmNsYXNzIENNU1Byb2ZpbGVGaWVsZAp7Cglwcm90ZWN0ZWQgJGlkOwoJcHJvdGVjdGVkICRpc19tb2RpZmllZCA9IGZhbHNlOwoJcHJvdGVjdGVkICR2YXJzID0gYXJyYXkoKTsKCQoJcHJvdGVjdGVkICR1c2VyczsKCQoJcHJvdGVjdGVkIHN0YXRpYyAkZmllbGRzID0gYXJyYXkoCgknbmFtZScsCgknZm5hbWUnLAoJJ3R5cGUnLAoJJ3RpcHMnLAoJJ29wdGlvbnMnLAoJJ2lzX2FjdGl2ZScsCgknY29tbWVudHMnCgkpOwoJCgljb25zdCBEQl9OQU1FID0gJ21vZHVsZV9jbXN1c2Vyc19wcm9maWxlX2ZpZWxkcyc7Cgljb25zdCBEQl9JVEVNID0gJ3Byb2ZpbGVfZmllbGQnOwoJCgkvLyBDdXN0b20gbG9naWMKCQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybiAkdGhpcy0+bmFtZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGNvdW50R3JvdXBzKCkKCXsKCQlyZXR1cm4gY291bnQoQ01TR3JvdXBQcm9maWxlRmllbGQ6OmdldEdyb3Vwc0xpc3QoJHRoaXMtPmdldElkKCkpKTsKCX0JCgkKCXB1YmxpYyBmdW5jdGlvbiBmbmFtZSgpCgl7CgkJaWYgKGVtcHR5KCR0aGlzLT52YXJzWydmbmFtZSddKSkKCQl7CgkJCSR0aGlzLT52YXJzWydmbmFtZSddID0gc2VsZjo6Y2hlY2tGaWVsZG5hbWUoJHRoaXMtPm5hbWUpOwoJCX0KCQlyZXR1cm4gJHRoaXMtPnZhcnNbJ2ZuYW1lJ107Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2hlY2tGaWVsZG5hbWUoJGZpZWxkbmFtZSwgJGl0ZXJhdG9yID0gMCkKCXsKCQkkZmllbGQgPSBwcmVnX3JlcGxhY2UoJy9cVy8nLCAnJywgJGZpZWxkbmFtZSk7CgkJaWYgKCRpdGVyYXRvciA+IDApCgkJewoJCQkkZmllbGQgLj0gJGl0ZXJhdG9yOwoJCX0KCQkkYmxhY2tsaXN0ID0gYXJyYXkoJ2lkJywgJ3VzZXJfaWQnLCAnY3JlYXRlZF9hdCcsICd1cGRhdGVkX2F0Jyk7CgkJaWYgKChjb3VudChzZWxmOjpkb1NlbGVjdChhcnJheSgnd2hlcmUnID0+IGFycmF5KCdmbmFtZScgPT4gJGZpZWxkKSkpKSA+IDApIHx8IGluX2FycmF5KCRmaWVsZCwgJGJsYWNrbGlzdCkpCgkJewoJCQkkaXRlcmF0b3IrKzsKCQkJcmV0dXJuIHNlbGY6OmNoZWNrRmllbGRuYW1lKCRmaWVsZG5hbWUsICRpdGVyYXRvcik7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiAkZmllbGQ7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEZpZWxkc0ZvclVzZXIoJHVzZXJfaWQpCgl7CgkJaWYgKCFpc19udW1lcmljKCR1c2VyX2lkKSkgZGllICgnVXNlciBpZCBtdXN0IGJlIGEgbnVtZXJpY2FsIHZhbHVlICEnKTsKCQkkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoKCQkgJHF1ZXJ5ID0gJ1NFTEVDVCAnLnNlbGY6OkRCX0lURU0uJy4qLCAnLnNlbGY6OmdlbmVyYXRlU2VsZWN0TGlzdCgpIC4gJwoJCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiBzZWxmOjpEQl9OQU1FIC4gJyBBUyAnIC4gc2VsZjo6REJfSVRFTSAuJwoJCQkKCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiBDTVNHcm91cFByb2ZpbGVGaWVsZDo6REJfTkFNRSAuICcgQVMgJy5DTVNHcm91cFByb2ZpbGVGaWVsZDo6REJfSVRFTS4nIAoJCQlPTiAnLnNlbGY6OkRCX0lURU0uJy5pZCA9ICcuQ01TR3JvdXBQcm9maWxlRmllbGQ6OkRCX0lURU0uJy5wcm9maWxlX2ZpZWxkX2lkCgkJCQoJCQlMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuIENNU0dyb3VwOjpEQl9OQU1FIC4gJyBBUyAnLkNNU0dyb3VwOjpEQl9JVEVNLicgCgkJCU9OICcuQ01TR3JvdXBQcm9maWxlRmllbGQ6OkRCX0lURU0uJy5ncm91cF9pZCA9ICcuQ01TR3JvdXA6OkRCX0lURU0uJy5pZAoJCQkKCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiBDTVNVc2VyR3JvdXA6OkRCX05BTUUgLiAnIEFTICcuQ01TVXNlckdyb3VwOjpEQl9JVEVNLicgCgkJCU9OICcuQ01TR3JvdXA6OkRCX0lURU0uJy5pZCA9ICcuQ01TVXNlckdyb3VwOjpEQl9JVEVNLicuZ3JvdXBfaWQKCQkJCgkJCVdIRVJFIAoJCQknLnNlbGY6OkRCX0lURU0uJy5pc19hY3RpdmUgPSAxIEFORAoJCQknLkNNU0dyb3VwOjpEQl9JVEVNLicuaXNfYWN0aXZlID0gMSBBTkQKCQkJJy5DTVNVc2VyR3JvdXA6OkRCX0lURU0uJy51c2VyX2lkID0gPwoJCQlHUk9VUCBCWSAnLnNlbGY6OkRCX0lURU0uJy5pZAoJCQknOwoJCQkKCQkJJHZhbHVlcyA9IGFycmF5KCR1c2VyX2lkKTsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7CgkJCQoJCQkkZmllbGRzID0gYXJyYXkoKTsKCQkJCgkJCWlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkKCSAgICB7CgkgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgICAgICB7CQoJICAgICAgICAkaXRlbSA9IG5ldyBzZWxmKCk7CgkgICAgICAgICRpdGVtLT5wb3B1bGF0ZSgkcm93KTsKCSAgICAgICAgJGZpZWxkc1tdID0gJGl0ZW07CgkgICAgICB9CgkgICAgfQoJCXJldHVybiAkZmllbGRzOwoJfQkKCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRGaWVsZHNGb3JHcm91cCgkZ3JvdXBfaWQpCgl7CgkJaWYgKCFpc19udW1lcmljKCRncm91cF9pZCkpIGRpZSAoJ0dyb3VwIGlkIG11c3QgYmUgYSBudW1lcmljYWwgdmFsdWUgIScpOwoJCSRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkKCQkgJHF1ZXJ5ID0gJ1NFTEVDVCAnLnNlbGY6OkRCX0lURU0uJy4qLCAnLnNlbGY6OmdlbmVyYXRlU2VsZWN0TGlzdCgpIC4gJwoJCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiBzZWxmOjpEQl9OQU1FIC4gJyBBUyAnIC4gc2VsZjo6REJfSVRFTSAuJwoJCQkKCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiBDTVNHcm91cFByb2ZpbGVGaWVsZDo6REJfTkFNRSAuICcgQVMgJy5DTVNHcm91cFByb2ZpbGVGaWVsZDo6REJfSVRFTS4nIAoJCQlPTiAnLnNlbGY6OkRCX0lURU0uJy5pZCA9ICcuQ01TR3JvdXBQcm9maWxlRmllbGQ6OkRCX0lURU0uJy5wcm9maWxlX2ZpZWxkX2lkCgkJCQoJCQlMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuIENNU0dyb3VwOjpEQl9OQU1FIC4gJyBBUyAnLkNNU0dyb3VwOjpEQl9JVEVNLicgCgkJCU9OICcuQ01TR3JvdXBQcm9maWxlRmllbGQ6OkRCX0lURU0uJy5ncm91cF9pZCA9ICcuQ01TR3JvdXA6OkRCX0lURU0uJy5pZAoJCQkKCQkJV0hFUkUgCgkJCScuc2VsZjo6REJfSVRFTS4nLmlzX2FjdGl2ZSA9IDEgQU5ECgkJCScuQ01TR3JvdXA6OkRCX0lURU0uJy5pc19hY3RpdmUgPSAxIEFORAoJCQknLkNNU0dyb3VwUHJvZmlsZUZpZWxkOjpEQl9JVEVNLicuZ3JvdXBfaWQgPSA/CgkJCQoJCQlHUk9VUCBCWSAnLnNlbGY6OkRCX0lURU0uJy5pZAoJCQknOwoJCQkKCQkJJHZhbHVlcyA9IGFycmF5KCRncm91cF9pZCk7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwoJCQkKCQkJJGZpZWxkcyA9IGFycmF5KCk7CgkJCQoJCQlpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApCgkgICAgewoJICAgICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJICAgICAgewkKCSAgICAgICAgJGl0ZW0gPSBuZXcgc2VsZigpOwoJICAgICAgICAkaXRlbS0+cG9wdWxhdGUoJHJvdyk7CgkgICAgICAgICRmaWVsZHNbXSA9ICRpdGVtOwoJICAgICAgfQoJICAgIH0KCQlyZXR1cm4gJGZpZWxkczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldE9wdGlvbnNUb0FycmF5KCkKCXsKCQkkb3B0aW9ucyA9IGFycmF5KCk7CgkJJHN0cl9vcHRpb25zID0gZXhwbG9kZSgnOycsJHRoaXMtPm9wdGlvbnMpOwoJCWZvcmVhY2goJHN0cl9vcHRpb25zIGFzICRvcHRpb24pCgkJewoJCQkkdmFsID0gZXhwbG9kZSgnOicsJG9wdGlvbik7CgkJCWlmIChjb3VudCgkdmFsKSA+IDEpCSRvcHRpb25zWyR2YWxbMF1dID0gJHZhbFsxXTsKCQkJdW5zZXQoJHZhbCk7CgkJfQoJCXJldHVybiAkb3B0aW9uczsKCX0KCQoJLy8gR0VUU0VUVEVSUwoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0SWQoKQoJewoJCXJldHVybiAkdGhpcy0+aWQ7Cgl9CgkKCXByb3RlY3RlZCBmdW5jdGlvbiBzZXRJZCgkdmFsdWUpCgl7CgkJJHRoaXMtPmlkID0gJHZhbHVlOwoJfQoJCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJHZhciwgJHZhbCl7CgkJJHRoaXMtPmlzX21vZGlmaWVkID0gdHJ1ZTsKICAgICAgICAkdGhpcy0+dmFyc1skdmFyXSA9ICR2YWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpewoJCXRyeQoJCXsKCQkJaWYobWV0aG9kX2V4aXN0cygkdGhpcywgJHZhcikpCgkJCXsKCQkJCXJldHVybiAkdGhpcy0+JHZhcigpOwoJCQl9CgkgICAgICAgIGVsc2VpZiAoYXJyYXlfa2V5X2V4aXN0cygkdmFyLCAkdGhpcy0+dmFycykpCgkJCXsKCSAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dmFyc1skdmFyXTsKCSAgICAgICAgfSBlbHNlIHsKCSAgICAgICAgICAgIC8vdGhyb3cgbmV3IEV4Y2VwdGlvbigiUHJvcGVydHkgJHZhciBkb2VzIG5vdCBleGlzdCIpOwoJICAgICAgICB9CgkJfQoJCWNhdGNoKEV4Y2VwdGlvbiAkZSkKCQl7CgkJCWVjaG8gJ0Vycm9yOiAnLCAgJGUtPmdldE1lc3NhZ2UoKSwgIlxuIjsKCQl9CiAgIH0KCQoJLy8gREIKCQoJcHVibGljIGZ1bmN0aW9uIHBvcHVsYXRlKCRyb3cpCgl7CgkJaWYgKGlzc2V0KCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgnaWQnKV0pKQoJCXsKCQkJJHRoaXMtPnNldElkKCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgnaWQnKV0pOwoJCX0JCQoJCQoJCWZvcmVhY2ggKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJaWYgKGlzc2V0KCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgkZmllbGQpXSkpCgkJCXsKCQkJCSR0aGlzLT4kZmllbGQgPSAkcm93W3NlbGY6OmdldFJvd05hbWUoJGZpZWxkKV07CgkJCX0KCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmV0cmlldmVCeVBrKCRpZCkKICAJewogIAkJcmV0dXJuIHNlbGY6OmRvU2VsZWN0T25lKGFycmF5KCd3aGVyZScgPT4gYXJyYXkoJ2lkJyA9PiAkaWQpKSk7ICAgIAogIAl9CgogIAlwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0T25lKCRwYXJhbXMgPSBhcnJheSgpKQogIAl7CiAgCSAgJHBhcmFtc1snbGltaXQnXSA9IDE7CiAgCQkkaXRlbXMgPSBzZWxmOjpkb1NlbGVjdCgkcGFyYW1zKTsKICAJCWlmICgkaXRlbXMpCiAgCQl7CiAgCQkJcmV0dXJuICRpdGVtc1swXTsKICAJCX0KICAJCWVsc2UgCiAgCQl7CiAgCQkJcmV0dXJuIG51bGw7CiAgCQl9ICAJCiAJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2VuZXJhdGVTZWxlY3RMaXN0KCkKCXsKCQkkZmllbGRzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJ2lkJywnY3JlYXRlZF9hdCcsJ3VwZGF0ZWRfYXQnKSwgc2VsZjo6JGZpZWxkcyk7CgkJJGxpc3QgPSBhcnJheSgpOwoJCWZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJGxpc3RbXSA9IHNlbGY6OkRCX0lURU0gLiAnLicuJGZpZWxkLicgYXMgJy4gc2VsZjo6Z2V0Um93TmFtZSgkZmllbGQpOwoJCX0KCQlyZXR1cm4gaW1wbG9kZSgnICwgJywkbGlzdCk7Cgl9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0Um93TmFtZSgkbmFtZSkKCXsKCQlyZXR1cm4gc2VsZjo6REJfSVRFTSAuICdfXycgLiAkbmFtZTsKCX0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlbGVjdCgkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAKCQknLnNlbGY6OkRCX0lURU0uJy4qLAoJCScuc2VsZjo6Z2VuZXJhdGVTZWxlY3RMaXN0KCkgLiAnIAoJCUZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuIHNlbGY6OkRCX05BTUUgLiAnIEFTICcgLiBzZWxmOjpEQl9JVEVNOwoKICAgICR2YWx1ZXMgPSBhcnJheSgpOwoKICAgIGlmIChpc3NldCgkcGFyYW1zWyd3aGVyZSddKSkKICAgIHsKCiAgICAgICRmaWVsZHMgPSBhcnJheSgpOwogICAgICBmb3JlYWNoICgkcGFyYW1zWyd3aGVyZSddIGFzICRmaWVsZCA9PiAkdmFsdWUpIAogICAgICB7CiAgICAgICAgJGZpZWxkc1tdID0gc2VsZjo6REJfSVRFTS4nLicuJGZpZWxkIC4gJyA9ICA/JzsKICAgICAgICAkdmFsdWVzW10gPSAkdmFsdWU7CiAgICAgIH0KCiAgICAgICRxdWVyeSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICRmaWVsZHMpOwogICAgfSAKCiAgICBpZihpc3NldCgkcGFyYW1zWydvcmRlcl9ieSddKSkKICAgIHsKICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnIC4gaW1wbG9kZSgnLCAnICwgJHBhcmFtc1snb3JkZXJfYnknXSk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICRxdWVyeSAuPSAnIE9SREVSIEJZICcuc2VsZjo6REJfSVRFTS4nLmNyZWF0ZWRfYXQnOwogICAgfQoKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwogICAgJGl0ZW1zID0gYXJyYXkoKTsKCiAgIGlmICgkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCkKICAgIHsKICAgICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CQogICAgICAgICRpdGVtID0gbmV3IHNlbGYoKTsKICAgICAgICAkaXRlbS0+cG9wdWxhdGUoJHJvdyk7CiAgICAgICAgJGl0ZW1zW10gPSAkaXRlbTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiAgJGl0ZW1zOyAgIAogIH0KICAKCQoJcHVibGljIGZ1bmN0aW9uIHNhdmUoKSB7CgkJaWYgKCR0aGlzLT5nZXRJZCgpKSAKCQl7CgkJCWlmICgkdGhpcy0+aXNfbW9kaWZpZWQpCgkJCXsJCQkKCQkJCXJldHVybiAkdGhpcy0+dXBkYXRlKCk7CQoJCQl9CgkJfSAKCQllbHNlCgkJewoJCQlyZXR1cm4gJHRoaXMtPmluc2VydCgpOwoJCX0KCQkKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIGluc2VydCgpIHsKCQkvLwogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIHNlbGY6OkRCX05BTUUgLiAnCgkJCVNFVCBjcmVhdGVkX2F0ID0gTk9XKCksCgkJCQl1cGRhdGVkX2F0ID0gTk9XKCkKCQkJCQkJCQknOwoJCSR2YWx1ZXMgPSBhcnJheSgpOwkJCQkKCQlmb3JlYWNoKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJHF1ZXJ5IC49ICcsICcgLiAkZmllbGQgLiAnID0gPyc7CgkJCSR2YWx1ZXNbXSA9ICR0aGlzLT4kZmllbGQ7CgkJfQoJCQkJCQkJCQkJCQkJCQkJCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHZhbHVlcyk7CgkJaWYgKCRyZXN1bHQgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7CgkJJHRoaXMtPnNldElkKCRkYi0+SW5zZXJ0X0lEKCkpOwoJCQoJCUNNU1Byb2ZpbGU6OmNyZWF0ZUZpZWxkKCR0aGlzLT5mbmFtZSwgJHRoaXMtPnR5cGUpOwoJCXJldHVybiB0cnVlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiB1cGRhdGUoKSB7CiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuIHNlbGY6OkRCX05BTUUgLiAnCgkJCVNFVCB1cGRhdGVkX2F0ID0gTk9XKCknOwoJCQkKCQkkdmFsdWVzID0gYXJyYXkoKTsJCQkJCgkJZm9yZWFjaChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRxdWVyeSAuPSAnLCAnIC4gJGZpZWxkIC4gJyA9ID8nOwoJCQkkdmFsdWVzW10gPSAkdGhpcy0+JGZpZWxkOwoJCX0KCQoJCSRxdWVyeSAuPSAnIFdIRVJFIGlkID0gPyc7CgkJJHZhbHVlc1tdID0gJHRoaXMtPmdldElkKCk7CgoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKCQlpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgpIHsKCQlpZiAoJHRoaXMtPmdldElkKCkpIHsKICAgIAkkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuc2VsZjo6REJfTkFNRSAuICcgV0hFUkUgaWQgPSA/JzsKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5nZXRJZCgpKSk7CgkJCWlmKCRyZXN1bHQgIT09IGZhbHNlKSAKCQkJewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.CMSUser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiAgICAvKgogICAgICAgIEhhbmRsZSB1c2VycwoKICAgICAgICBBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KICAgICAgICBDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCiAgICAgICAgTGljZW5jZTogR1BMCgogICAgKi8KCiAgICBjbGFzcyBDTVNVc2VyCiAgICB7CiAgICAgICAgcHJvdGVjdGVkICRpZDsKICAgICAgICBwcm90ZWN0ZWQgJGlzX21vZGlmaWVkID0gZmFsc2U7CiAgICAgICAgcHJvdGVjdGVkICR2YXJzID0gYXJyYXkoKTsKICAgICAgICBwcm90ZWN0ZWQgJHByb2ZpbGU7CiAgICAgICAgcHJpdmF0ZSAkcGVybWlzc2lvbnMgPSBhcnJheSgpOwogICAgICAgIHByaXZhdGUgJGdyb3VwcyA9IGFycmF5KCk7CiAgICAgICAgcHJpdmF0ZSAkcGFzc3dvcmQ7CiAgICAgICAgcHJpdmF0ZSAkaHRwYXNzd29yZDsKCiAgICAgICAgcHJpdmF0ZSAkYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKICAgICAgICBwcm90ZWN0ZWQgc3RhdGljICRmaWVsZHMgPSBhcnJheSgKICAgICAgICAgICAgJ3VzZXJuYW1lJywKICAgICAgICAgICAgJ2FsZ29yaXRobScsCiAgICAgICAgICAgICdzYWx0JywKICAgICAgICAgICAgLy8ncGFzc3dvcmQnLCBWRVJZIEJBRCBJREVBLiBQYXNzd29yZCBzaG91bGRuJ3QgYmUgYWNjZXNzaWJsZSAibGlrZSB0aGF0IiBldmVuIGhhc2hlZC4uLgogICAgICAgICAgICAnZW1haWwnLAogICAgICAgICAgICAndG9rZW4nLAogICAgICAgICAgICAnaXNfYWN0aXZlJywKICAgICAgICAgICAgJ2lzX2Rpc2FibGVkJywKICAgICAgICAgICAgJ2xhc3RfbG9naW4nLAogICAgICAgICAgICAnaXNfbGRhcCcsCiAgICAgICAgICAgICdjb21tZW50cycKICAgICAgICApOwoKICAgICAgICBjb25zdCBEQl9OQU1FID0gJ21vZHVsZV9jbXN1c2Vyc191c2Vycyc7CiAgICAgICAgY29uc3QgREJfSVRFTSA9ICd1c2VyJzsKCiAgICAgICAgLy8gQ3VzdG9tIGNsYXNzIGxvZ2ljCgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAoc3RyaW5nKSR0aGlzLT51c2VybmFtZTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBhdXRoZW50aWNhdGUoJHBhc3N3b3JkKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5hdXRoZW50aWNhdGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGF1dGggPSAkdGhpcy0+Y2hlY2tQYXNzd29yZCgkcGFzc3dvcmQpOwogICAgICAgICAgICBpZiAoKCRhdXRoID09PSB0cnVlKSAmJiAoJHRoaXMtPmlzX2FjdGl2ZSA9PSAxKSAmJiAoJHRoaXMtPmlzX2Rpc2FibGVkICE9IDEpKSAvLyBJZiBhdXRoID0gdHJ1ZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkdGhpcy0+bGFzdExvZ2luKCk7CgogICAgICAgICAgICAgICAgcmV0dXJuICRhdXRoOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gbGFzdExvZ2luKCkKICAgICAgICB7CiAgICAgICAgICAgIGlmKCEkdGhpcy0+YXV0aGVudGljYXRlZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXMtPmxhc3RfbG9naW4gID0gZGF0ZSgnWS1tLWQgSDppOnMnKTsKICAgICAgICAgICAgICAgICR0aGlzLT5pc19tb2RpZmllZCA9IHRydWU7CiAgICAgICAgICAgICAgICAkdGhpcy0+c2F2ZShmYWxzZSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+YXV0aGVudGljYXRlZCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRQcm9maWxlKCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+cHJvZmlsZSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5wcm9maWxlICAgICAgICAgID0gbmV3IENNU1Byb2ZpbGUoKTsKICAgICAgICAgICAgICAgICR0aGlzLT5wcm9maWxlLT51c2VyX2lkID0gJHRoaXMtPmdldElkKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cHJvZmlsZTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzYWx0KCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+dmFyc1snc2FsdCddKSkgJHRoaXMtPnZhcnNbJ3NhbHQnXSA9IHN1YnN0cihtZDUodGltZSgpICogdGltZSgpKSwgMCwgMzIpOwoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT52YXJzWydzYWx0J107CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gYWxnb3JpdGhtKCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+dmFyc1snYWxnb3JpdGhtJ10pKSAkdGhpcy0+dmFyc1snYWxnb3JpdGhtJ10gPSAnc2hhMSc7CgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnZhcnNbJ2FsZ29yaXRobSddOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGNoZWNrUGFzc3dvcmQoJHBhc3N3b3JkKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCgkdGhpcy0+YWxnb3JpdGhtID09ICdtZDUnKSAmJiAobWQ1KCR0aGlzLT5zYWx0IC4gJHBhc3N3b3JkKSA9PT0gJHRoaXMtPnBhc3N3b3JkKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgoJHRoaXMtPmFsZ29yaXRobSA9PSAnc2hhMScpICYmIChzaGExKCR0aGlzLT5zYWx0IC4gJHBhc3N3b3JkKSA9PT0gJHRoaXMtPnBhc3N3b3JkKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRQYXNzd29yZCgkcGFzc3dvcmQpCiAgICAgICAgewogICAgICAgICAgICAvLyBBbHdheXMgY3JlYXRlIGFuIGh0cGFzc3dkCiAgICAgICAgICAgICR0aGlzLT5odHBhc3N3b3JkID0gJHRoaXMtPmNyZWF0ZUh0UGFzc3dvcmQoJHBhc3N3b3JkKTsKCiAgICAgICAgICAgIGlmICgoJHRoaXMtPmFsZ29yaXRobSA9PSAnbWQ1JykpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5wYXNzd29yZCA9IG1kNSgkdGhpcy0+c2FsdCAuICRwYXNzd29yZCk7CgogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgoJHRoaXMtPmFsZ29yaXRobSA9PSAnc2hhMScpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGFzc3dvcmQgPSBzaGExKCR0aGlzLT5zYWx0IC4gJHBhc3N3b3JkKTsKCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZUh0UGFzc3dvcmQoJHBhc3N3b3JkKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGNyeXB0KCRwYXNzd29yZCwgYmFzZTY0X2VuY29kZSgkcGFzc3dvcmQpKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZVBhc3N3b3JkKCkKICAgICAgICB7CiAgICAgICAgICAgICRwYXNzd29yZCA9IGJhc2VfY29udmVydChtdF9yYW5kKDB4MTlBMTAwLCAweDM5QUEzRkYpLCAxMCwgMzYpOwogICAgICAgICAgICAkdGhpcy0+c2V0UGFzc3dvcmQoJHBhc3N3b3JkKTsKCiAgICAgICAgICAgIHJldHVybiAkcGFzc3dvcmQ7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VG9rZW4oKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT52YXJzWyd0b2tlbiddKSkgJHRoaXMtPmdlbmVyYXRlVG9rZW4oKTsKCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dmFyc1sndG9rZW4nXTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZVRva2VuKCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT52YXJzWyd0b2tlbiddID0gc3Vic3RyKG1kNSh0aW1lKCkgKiB0aW1lKCkpLCAwLCAzMik7CiAgICAgICAgICAgICR0aGlzLT5zYXZlKCk7CiAgICAgICAgfQoKCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRVc2VyTGlzdCgpCiAgICAgICAgewogICAgICAgICAgICAkdXNlcnMgPSBzZWxmOjpkb1NlbGVjdChhcnJheSgnb3JkZXJfYnknID0+IGFycmF5KCd1c2VybmFtZScpKSk7CiAgICAgICAgICAgICRhcnJheSA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCR1c2VycyBhcyAkdXNlcikgewogICAgICAgICAgICAgICAgJGFycmF5WyR1c2VyLT5nZXRJZCgpXSA9IChzdHJpbmcpJHVzZXI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkYXJyYXk7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFVzZXJOYW1lQnlJZCgkdXNlcl9pZCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAoc3RyaW5nKXNlbGY6OnJldHJpZXZlQnlQaygkdXNlcl9pZCk7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXNBcnJheSgpCiAgICAgICAgewogICAgICAgICAgICAvLyBXZSB3aWxsIGp1c3Qgc3VtIHRoZSBwcm9maWxlIGFuZCB1c2VyIChtb3JlIGNvbnZpbmllbnQgZm9yIGpzb24gZm9yIGV4YW1wbGUpCiAgICAgICAgICAgICRhcnJheSAgICAgICAgICAgICA9ICR0aGlzLT5nZXRQcm9maWxlKCktPmdldEFzQXJyYXkoKTsKICAgICAgICAgICAgJGFycmF5WydpZCddICAgICAgID0gJHRoaXMtPmdldElkKCk7CiAgICAgICAgICAgICRhcnJheVsndXNlcm5hbWUnXSA9ICR0aGlzLT51c2VybmFtZTsKICAgICAgICAgICAgJGFycmF5WydlbWFpbCddICAgID0gJHRoaXMtPmVtYWlsOwoKICAgICAgICAgICAgcmV0dXJuICRhcnJheTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudEdyb3VwcygpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gY291bnQoQ01TVXNlckdyb3VwOjpnZXRHcm91cHNMaXN0KCR0aGlzLT5nZXRJZCgpKSk7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0R3JvdXBzKCkKICAgICAgICB7CiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICghaXNfbnVsbCgkdGhpcy0+Z2V0SWQoKSkpCiAgICAgICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgKGNvdW50KCR0aGlzLT5ncm91cHMpID09IDApCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgJHRoaXMtPmdyb3VwcyA9IENNU1VzZXJHcm91cDo6Z2V0R3JvdXBzTGlzdCgkdGhpcy0+Z2V0SWQoKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z3JvdXBzOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGdldFBlcm1pc3Npb25zKCkKICAgICAgICB7CiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICghaXNfbnVsbCgkdGhpcy0+Z2V0SWQoKSkpCiAgICAgICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgKGNvdW50KCR0aGlzLT5wZXJtaXNzaW9ucykgPT0gMCkKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGVybWlzc2lvbnMgPSBDTVNQZXJtaXNzaW9uOjpnZXRQZXJtaXNzaW9uc0ZvclVzZXIoJHRoaXMtPmdldElkKCkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnBlcm1pc3Npb25zOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGNoZWNrUGVybWlzc2lvbigkbmFtZSkKICAgICAgICB7CiAgICAgICAgICAgICRwZXJtaXNzaW9ucyA9ICR0aGlzLT5nZXRQZXJtaXNzaW9ucygpOwogICAgICAgICAgICBpZiAoaXNzZXQoJHBlcm1pc3Npb25zWyRuYW1lXSkgfHwgaW5fYXJyYXkoJG5hbWUsICRwZXJtaXNzaW9ucykpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gY2hlY2tHcm91cCgkbmFtZSkKICAgICAgICB7CiAgICAgICAgICAgICRncm91cHMgPSAkdGhpcy0+Z2V0R3JvdXBzKCk7CiAgICAgICAgICAgICRncnAgICAgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkZ3JvdXBzIGFzICRncm91cCkgewogICAgICAgICAgICAgICAgJGdycFskZ3JvdXAtPmdyb3VwX2lkXSA9IChzdHJpbmcpJGdyb3VwLT5nZXRHcm91cCgpOyAvLy0+X190b1N0cmluZygpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoaXNzZXQoJGdycFskbmFtZV0pIHx8IGluX2FycmF5KCRuYW1lLCAkZ3JwKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgoKICAgICAgICAvLyBHRVRTRVRURVJTCgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJZCgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmlkOwogICAgICAgIH0KCiAgICAgICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldElkKCR2YWx1ZSkKICAgICAgICB7CiAgICAgICAgICAgICR0aGlzLT5pZCA9ICR2YWx1ZTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgkdmFyLCAkdmFsKQogICAgICAgIHsKICAgICAgICAgICAgJHRoaXMtPmlzX21vZGlmaWVkID0gdHJ1ZTsKICAgICAgICAgICAgJHRoaXMtPnZhcnNbJHZhcl0gID0gJHZhbDsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgkdmFyKQogICAgICAgIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGlmIChtZXRob2RfZXhpc3RzKCR0aGlzLCAkdmFyKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+JHZhcigpOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKGFycmF5X2tleV9leGlzdHMoJHZhciwgJHRoaXMtPnZhcnMpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT52YXJzWyR2YXJdOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL3Rocm93IG5ldyBFeGNlcHRpb24oIlByb3BlcnR5ICR2YXIgZG9lcyBub3QgZXhpc3QiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgICAgICBlY2hvICdFcnJvcjogJywgJGUtPmdldE1lc3NhZ2UoKSwgIlxuIjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gREIKCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHBvcHVsYXRlKCRyb3cpCiAgICAgICAgewogICAgICAgICAgICBpZiAoaXNzZXQoJHJvd1tzZWxmOjpEQl9JVEVNIC4gJ19faWQnXSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRJZCgkcm93W3NlbGY6OkRCX0lURU0gLiAnX19pZCddKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGlzc2V0KCRyb3dbc2VsZjo6REJfSVRFTSAuICdfX3Bhc3N3b3JkJ10pKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGFzc3dvcmQgPSAkcm93W3NlbGY6OkRCX0lURU0gLiAnX19wYXNzd29yZCddOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoaXNzZXQoJHJvd1tzZWxmOjpEQl9JVEVNIC4gJ19faHRwYXNzd29yZCddKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmh0cGFzc3dvcmQgPSAkcm93W3NlbGY6OkRCX0lURU0gLiAnX19odHBhc3N3b3JkJ107CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvcmVhY2ggKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJHJvd1tzZWxmOjpEQl9JVEVNIC4gJ19fJyAuICRmaWVsZF0pKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPiRmaWVsZCA9ICRyb3dbc2VsZjo6REJfSVRFTSAuICdfXycgLiAkZmllbGRdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkdGhpcy0+Z2V0UHJvZmlsZSgpLT5wb3B1bGF0ZSgkcm93KTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmV0cmlldmVCeUxkYXAoJHVzZXJuYW1lLCAkcGFzc3dvcmQpCiAgICAgICAgewogICAgICAgICAgICAkQ01TVXNlcnMgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU1VzZXJzJyk7CgogICAgICAgICAgICAkbGRhcGNvbm4gPSBsZGFwX2Nvbm5lY3QoJENNU1VzZXJzLT5nZXRQcmVmZXJlbmNlKCdsZGFwX3NlcnZlcl9ob3N0JywgJzEyNy4wLjAuMScpLCAkQ01TVXNlcnMtPmdldFByZWZlcmVuY2UoJ2xkYXBfc2VydmVyX3BvcnQnLCAzODkpKTsKICAgICAgICAgICAgbGRhcF9zZXRfb3B0aW9uKCRsZGFwY29ubiwgTERBUF9PUFRfUFJPVE9DT0xfVkVSU0lPTiwgMyk7CgogICAgICAgICAgICBpZiAoJGxkYXBjb25uKSB7CiAgICAgICAgICAgICAgICAkbGRhcHJkbiA9ICJjbj0iIC4gJHVzZXJuYW1lIC4gJywnIC4gJENNU1VzZXJzLT5nZXRQcmVmZXJlbmNlKCdsZGFwX2Jhc2VfZG4nKTsKCiAgICAgICAgICAgICAgICAkbGRhcGJpbmQgPSBsZGFwX2JpbmQoJGxkYXBjb25uLCAkbGRhcHJkbiwgJHBhc3N3b3JkKTsKCiAgICAgICAgICAgICAgICBpZiAoJGxkYXBiaW5kKSB7CiAgICAgICAgICAgICAgICAgICAgJHVzZXIgPSBzZWxmOjpyZXRyaWV2ZUJ5VXNlcm5hbWUoJHVzZXJuYW1lKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX251bGwoJHVzZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR1c2VyICAgICAgICAgICA9IG5ldyBzZWxmKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICR1c2VyLT51c2VybmFtZSA9ICR1c2VybmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXItPmlzX2xkYXAgID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXItPmFsZ29yaXRobSA9ICdsZGFwJzsKICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXItPnNhdmUoKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICR1c2VyLT5hdXRoZW50aWNhdGVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICR1c2VyOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKCi8vICAgICAgICAgICAgICAgICAgICB2YXJfZHVtcChsZGFwX2Vycm9yKCRsZGFwY29ubikpOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQHBhcmFtICRlbWFpbAogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiBhcnJheQogICAgICAgICAqLwoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJldHJpZXZlQnlFbWFpbCgkZW1haWwpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6ZG9TZWxlY3QoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgnZW1haWwnID0+ICRlbWFpbCkpKTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBwYXJhbSAkZW1haWwKICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm4gQ01TVXNlcnxudWxsCiAgICAgICAgICovCgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmV0cmlldmVPbmVCeUVtYWlsKCRlbWFpbCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpkb1NlbGVjdE9uZShhcnJheSgnd2hlcmUnID0+IGFycmF5KCdlbWFpbCcgPT4gJGVtYWlsKSkpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQHBhcmFtICR1c2VybmFtZQogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiBDTVNVc2VyfG51bGwKICAgICAgICAgKi8KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXRyaWV2ZUJ5VXNlcm5hbWUoJHVzZXJuYW1lKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OmRvU2VsZWN0T25lKGFycmF5KCd3aGVyZScgPT4gYXJyYXkoJ3VzZXJuYW1lJyA9PiAkdXNlcm5hbWUpKSk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBAcGFyYW0gJGlkCiAgICAgICAgICoKICAgICAgICAgKiBAcmV0dXJuIENNU1VzZXJ8bnVsbAogICAgICAgICAqLwoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJldHJpZXZlQnlQaygkaWQpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6ZG9TZWxlY3RPbmUoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgnaWQnID0+ICRpZCkpKTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zCiAgICAgICAgICoKICAgICAgICAgKiBAcmV0dXJuIENNU1VzZXJ8bnVsbAogICAgICAgICAqLwoKICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0T25lKCRwYXJhbXMgPSBhcnJheSgpKQogICAgICAgIHsKICAgICAgICAgICAgJHBhcmFtc1snbGltaXQnXSA9IDE7CiAgICAgICAgICAgICRpdGVtcyAgICAgICAgICAgPSBzZWxmOjpkb1NlbGVjdCgkcGFyYW1zKTsKICAgICAgICAgICAgaWYgKCRpdGVtcykgewogICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQoJGl0ZW1zKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0TGlzdCgpCiAgICAgICAgLy8gewogICAgICAgIC8vIAkkbGlzdCA9IHNlbGY6OkRCX0lURU0gLiAnLmlkIGFzICcuc2VsZjo6REJfSVRFTSAuJ19faWQsICc7CiAgICAgICAgLy8gCSRsaXN0IC49IHNlbGY6OkRCX0lURU0gLiAnLnBhc3N3b3JkIGFzICcuc2VsZjo6REJfSVRFTSAuJ19fcGFzc3dvcmQsICc7CiAgICAgICAgLy8gCWZvcmVhY2ggKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQogICAgICAgIC8vIAl7CiAgICAgICAgLy8gCQkkbGlzdCAuPSBzZWxmOjpEQl9JVEVNIC4gJy4nLiRmaWVsZC4nIGFzICcuc2VsZjo6REJfSVRFTSAuJ19fJy4kZmllbGQuJywgJzsKICAgICAgICAvLyAJfQogICAgICAgIC8vCiAgICAgICAgLy8gCSRsaXN0IC49IHNlbGY6OkRCX0lURU0gLiAnLmNyZWF0ZWRfYXQgYXMgJy5zZWxmOjpEQl9JVEVNIC4nX19jcmVhdGVkX2F0LCAnOwogICAgICAgIC8vIAkkbGlzdCAuPSBzZWxmOjpEQl9JVEVNIC4gJy51cGRhdGVkX2F0IGFzICcuc2VsZjo6REJfSVRFTSAuJ19fdXBkYXRlZF9hdCAnOwogICAgICAgIC8vIAlyZXR1cm4gJGxpc3Q7CiAgICAgICAgLy8gfQogICAgICAgIC8vCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZVNlbGVjdExpc3QoKQogICAgICAgIHsKICAgICAgICAgICAgJGZpZWxkcyA9IGFycmF5X21lcmdlKGFycmF5KCdpZCcsICdwYXNzd29yZCcsICdodHBhc3N3b3JkJywgJ2NyZWF0ZWRfYXQnLCAndXBkYXRlZF9hdCcpLCBzZWxmOjokZmllbGRzKTsKICAgICAgICAgICAgJGxpc3QgICA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKSB7CiAgICAgICAgICAgICAgICAkbGlzdFtdID0gc2VsZjo6REJfSVRFTSAuICcuJyAuICRmaWVsZCAuICcgYXMgJyAuIHNlbGY6OmdldFJvd05hbWUoJGZpZWxkKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIGltcGxvZGUoJyAsICcsICRsaXN0KTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0Um93TmFtZSgkbmFtZSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpEQl9JVEVNIC4gJ19fJyAuICRuYW1lOwogICAgICAgIH0KCgogICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZG9TZWxlY3QoJHBhcmFtcyA9IGFycmF5KCkpCiAgICAgICAgewogICAgICAgICAgICAkZGIgICAgPSBjbXNfdXRpbHM6OmdldF9kYigpOwogICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUCgkJJyAuIHNlbGY6OkRCX0lURU0gLiAnLiosICcgLiBDTVNQcm9maWxlOjpEQl9JVEVNIC4gJy4qLAoJCScgLiBzZWxmOjpnZW5lcmF0ZVNlbGVjdExpc3QoKSAuICcsICcgLiBDTVNQcm9maWxlOjpnZW5lcmF0ZVNlbGVjdExpc3QoKSAuICcKCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiBzZWxmOjpEQl9OQU1FIC4gJyBBUyAnIC4gc2VsZjo6REJfSVRFTSAuICcKCQlMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuIENNU1Byb2ZpbGU6OkRCX05BTUUgLiAnIEFTICcgLiBDTVNQcm9maWxlOjpEQl9JVEVNIC4gJwoJCU9OICcgLiBzZWxmOjpEQl9JVEVNIC4gJy5pZCA9ICcgLiBDTVNQcm9maWxlOjpEQl9JVEVNIC4gJy51c2VyX2lkJzsKCiAgICAgICAgICAgICR2YWx1ZXMgPSBhcnJheSgpOwoKICAgICAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3doZXJlJ10pKSB7CgogICAgICAgICAgICAgICAgJGZpZWxkcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcGFyYW1zWyd3aGVyZSddIGFzICRmaWVsZCA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAkZmllbGRzW10gPSBzZWxmOjpEQl9JVEVNIC4gJy4nIC4gJGZpZWxkIC4gJyA9ICA/JzsKICAgICAgICAgICAgICAgICAgICAkdmFsdWVzW10gPSAkdmFsdWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJHF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJGZpZWxkcyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChpc3NldCgkcGFyYW1zWydvcmRlcl9ieSddKSkgewogICAgICAgICAgICAgICAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJyAuIGltcGxvZGUoJywgJywgJHBhcmFtc1snb3JkZXJfYnknXSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnIC4gc2VsZjo6REJfSVRFTSAuICcuY3JlYXRlZF9hdCc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwogICAgICAgICAgICAkaXRlbXMgICAgPSBhcnJheSgpOwoKICAgICAgICAgICAgaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKSB7CiAgICAgICAgICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgICAgICAgICAkaXRlbSA9IG5ldyBDTVNVc2VyKCk7CiAgICAgICAgICAgICAgICAgICAgJGl0ZW0tPnBvcHVsYXRlKCRyb3cpOwogICAgICAgICAgICAgICAgICAgICRpdGVtc1tdID0gJGl0ZW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkaXRlbXM7CiAgICAgICAgfQoKCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoJGdlbmVyYXRlX3Bhc3N3b3JkcyA9IHRydWUpCiAgICAgICAgewogICAgICAgICAgICAkcmVzcG9uc2UgPSBmYWxzZTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXRJZCgpKSB7CiAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPmlzX21vZGlmaWVkKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPnVwZGF0ZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPmluc2VydCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkZ2VuZXJhdGVfcGFzc3dvcmRzKSB7CiAgICAgICAgICAgICAgICBzZWxmOjpnZW5lcmF0ZUh0UGFzc3dkKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkcmVzcG9uc2U7CiAgICAgICAgfQoKICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5zZXJ0KCkKICAgICAgICB7CiAgICAgICAgICAgIC8vIFVzZXJuYW1lIHNob3VsZCBleGlzdHMgb25seSBvbmNlCiAgICAgICAgICAgIGlmIChzZWxmOjpyZXRyaWV2ZUJ5VXNlcm5hbWUoJHRoaXMtPnVzZXJuYW1lKSAhPT0gTlVMTCkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAvLwoKICAgICAgICAgICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCiAgICAgICAgICAgICRxdWVyeSAgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuIHNlbGY6OkRCX05BTUUgLiAnCgkJCVNFVCBjcmVhdGVkX2F0ID0gTk9XKCksCgkJCQl1cGRhdGVkX2F0ID0gTk9XKCkKCQkJCQkJCQknOwogICAgICAgICAgICAkdmFsdWVzID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoc2VsZjo6JGZpZWxkcyBhcyAkZmllbGQpIHsKICAgICAgICAgICAgICAgICRxdWVyeSAuPSAnLCAnIC4gJGZpZWxkIC4gJyA9ID8nOwogICAgICAgICAgICAgICAgJHZhbHVlc1tdID0gJHRoaXMtPiRmaWVsZDsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcXVlcnkgLj0gJywgcGFzc3dvcmQgPSA/JzsKICAgICAgICAgICAgJHZhbHVlc1tdID0gJHRoaXMtPnBhc3N3b3JkOwogICAgICAgICAgICAkcXVlcnkgLj0gJywgaHRwYXNzd29yZCA9ID8nOwogICAgICAgICAgICAkdmFsdWVzW10gPSAkdGhpcy0+aHRwYXNzd29yZDsKCiAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKICAgICAgICAgICAgaWYgKCRyZXN1bHQgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICR0aGlzLT5zZXRJZCgkZGItPkluc2VydF9JRCgpKTsKCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHVwZGF0ZSgpCiAgICAgICAgewogICAgICAgICAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoKICAgICAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gc2VsZjo6REJfTkFNRSAuICcKCQkJU0VUIHVwZGF0ZWRfYXQgPSBOT1coKSc7CgogICAgICAgICAgICAkdmFsdWVzID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCAoc2VsZjo6JGZpZWxkcyBhcyAkZmllbGQpIHsKICAgICAgICAgICAgICAgICRxdWVyeSAuPSAnLCAnIC4gJGZpZWxkIC4gJyA9ID8nOwogICAgICAgICAgICAgICAgJHZhbHVlc1tdID0gJHRoaXMtPiRmaWVsZDsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcXVlcnkgLj0gJywgcGFzc3dvcmQgPSA/JzsKICAgICAgICAgICAgJHZhbHVlc1tdID0gJHRoaXMtPnBhc3N3b3JkOwogICAgICAgICAgICAkcXVlcnkgLj0gJywgaHRwYXNzd29yZCA9ID8nOwogICAgICAgICAgICAkdmFsdWVzW10gPSAkdGhpcy0+aHRwYXNzd29yZDsKCiAgICAgICAgICAgICRxdWVyeSAuPSAnIFdIRVJFIGlkID0gPyc7CiAgICAgICAgICAgICR2YWx1ZXNbXSA9ICR0aGlzLT5nZXRJZCgpOwoKICAgICAgICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwogICAgICAgICAgICBpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgpCiAgICAgICAgewogICAgICAgICAgICBpZiAoJHRoaXMtPmdldElkKCkpIHsKICAgICAgICAgICAgICAgICRkYiAgICAgPSBjbXNfdXRpbHM6OmdldF9kYigpOwogICAgICAgICAgICAgICAgJHF1ZXJ5ICA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gc2VsZjo6REJfTkFNRSAuICcgV0hFUkUgaWQgPSA/JzsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+Z2V0SWQoKSkpOwogICAgICAgICAgICAgICAgaWYgKCRyZXN1bHQgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmdldFByb2ZpbGUoKS0+ZGVsZXRlKCk7CiAgICAgICAgICAgICAgICAgICAgQ01TVXNlckdyb3VwOjpkZWxldGVVc2VyUHJlZnMoJHRoaXMtPmdldElkKCkpOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZUh0UGFzc3dkKCkKICAgICAgICB7CiAgICAgICAgICAgICR1c2VycyA9IHNlbGY6OmRvU2VsZWN0KGFycmF5KCd3aGVyZScgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAnaXNfYWN0aXZlJyAgID0+IDEsCiAgICAgICAgICAgICAgICAnaXNfZGlzYWJsZWQnID0+IDAsCiAgICAgICAgICAgICkpKTsKCiAgICAgICAgICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU1VzZXJzJyk7CiAgICAgICAgICAgICRjb25maWcgPSBjbXNfdXRpbHM6OmdldF9jb25maWcoKTsKICAgICAgICAgICAgJGZpbGUgICA9ICRtb2R1bGUtPmdldFByZWZlcmVuY2UoJ2h0cGFzc3dvcmRfcGF0aCcsICRjb25maWdbJ3Jvb3RfcGF0aCddKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiLmh0cGFzc3dkIjsKCiAgICAgICAgICAgICRkYXRhID0gJyc7CiAgICAgICAgICAgIGZvcmVhY2ggKCR1c2VycyBhcyAkdXNlcikgewogICAgICAgICAgICAgICAgJGRhdGEgLj0gYWRkc2xhc2hlcygkdXNlci0+dXNlcm5hbWUpIC4gJzonIC4gJHVzZXItPmh0cGFzc3dvcmQgLiAiXG4iOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gZmlsZV9wdXRfY29udGVudHMoJGZpbGUsICRkYXRhKTsKICAgICAgICB9CiAgICB9]]></data>
	</file>
	<file>
	  <filename>/lib/class.CMSUserGroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCUhhbmRsZSB1c2VycwoJCQoJCUF1dGhvcjogSmVhbi1DaHJpc3RvcGhlIEN1dmVsaWVyIDxjeWJlcnRvdG9waGVAZ21haWwuY29tPgoJCUNvcHlyaWdodHM6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciAtIE1vcnJpcyAmIENoYXBtYW4gQmVsZ2l1bSAtIDIwMTAKCQlMaWNlbmNlOiBHUEwJCQoJCgkqLwoKY2xhc3MgQ01TVXNlckdyb3VwCnsKCXByb3RlY3RlZCAkaWQ7Cglwcm90ZWN0ZWQgJGlzX21vZGlmaWVkID0gZmFsc2U7Cglwcm90ZWN0ZWQgJHZhcnMgPSBhcnJheSgpOwoJCglwcm90ZWN0ZWQgJHVzZXJzOwoJcHJvdGVjdGVkICRncm91cHM7CQoJCglwcm90ZWN0ZWQgJHVzZXI7Cglwcm90ZWN0ZWQgJGdyb3VwOwoJCglwcm90ZWN0ZWQgc3RhdGljICRmaWVsZHMgPSBhcnJheSgKCSdncm91cF9pZCcsCgkndXNlcl9pZCcKCSk7CgkKCWNvbnN0IERCX05BTUUgPSAnbW9kdWxlX2Ntc3VzZXJzX3VzZXJncm91cHMnOwoJY29uc3QgREJfSVRFTSA9ICd1c2VyZ3JvdXAnOwoJCgkvLyBTcGVjaWZpYyBtb2R1bGUgbG9naWMKCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRHcm91cFVzZXJzKCRncm91cF9pZCwgQXJyYXkgJHVzZXJzKQoJewoJCSRjdXJyZW50X3VzZXJzID0gc2VsZjo6Z2V0VXNlcnNMaXN0KCRncm91cF9pZCk7CgoJCS8vIDEuIERlbGV0ZSB1c2VycwoJCSRkZWxldGVfdXNlcnMgPSAoYXJyYXlfZGlmZl9rZXkoJGN1cnJlbnRfdXNlcnMsYXJyYXlfZmxpcCgkdXNlcnMpKSk7CgkJZm9yZWFjaCgkZGVsZXRlX3VzZXJzIGFzICR1c2VyKQoJCXsKCQkJJHVzZXItPmRlbGV0ZSgpOwoJCX0KCQkKCQkvLyAyLiBBZGQgdXNlcnMKCQkkYWRkX3VzZXJzID0gKGFycmF5X2RpZmZfa2V5KGFycmF5X2ZsaXAoJHVzZXJzKSwgJGN1cnJlbnRfdXNlcnMpKTsKCQkJCQoJCWZvcmVhY2goJGFkZF91c2VycyBhcyAkdXNlcl9pZCA9PiAkdXNlcikKCQkJCXsKCQkJCQkkbmV3ID0gbmV3IHNlbGYoKTsKCQkJCQkkbmV3LT51c2VyX2lkID0gJHVzZXJfaWQ7CgkJCQkJJG5ldy0+Z3JvdXBfaWQgPSAkZ3JvdXBfaWQ7CgkJCQkJJG5ldy0+c2F2ZSgpOwoJCQkJfQoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFkZEdyb3VwVXNlcigkZ3JvdXBfaWQsICR1c2VyX2lkKQoJewoJCSRyZWwgPSBuZXcgc2VsZigpOwoJCSRyZWwtPnVzZXJfaWQgPSAkdXNlcl9pZDsKCQkkcmVsLT5ncm91cF9pZCA9ICRncm91cF9pZDsKCQlyZXR1cm4gJHJlbC0+c2F2ZSgpOwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFVzZXJzTGlzdCgkZ3JvdXBfaWQsICRvbmx5X2tleXMgPSBmYWxzZSkKCXsKCQkkdXNlcnMgPSBzZWxmOjpkb1NlbGVjdChhcnJheSgnd2hlcmUnID0+IGFycmF5KCdncm91cF9pZCcgPT4gJGdyb3VwX2lkKSkpOwoJCSRhcnJheSA9IGFycmF5KCk7CgkJZm9yZWFjaCgkdXNlcnMgYXMgJHVzZXIpCgkJewoJCQlpZiAoJG9ubHlfa2V5cyA9PSB0cnVlKQoJCQl7CgkJCQkkYXJyYXlbXSA9ICR1c2VyLT51c2VyX2lkOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJGFycmF5WyR1c2VyLT51c2VyX2lkXSA9ICR1c2VyOwoJCQl9CgkJfQoJCXJldHVybiAkYXJyYXk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2V0VXNlckdyb3VwcygkdXNlcl9pZCwgQXJyYXkgJGdyb3VwcykKCXsKCQkkY3VycmVudF9ncm91cHMgPSBzZWxmOjpnZXRHcm91cHNMaXN0KCR1c2VyX2lkKTsKCgkJLy8gMS4gRGVsZXRlIGdyb3VwcwoJCSRkZWxldGVfZ3JvdXBzID0gKGFycmF5X2RpZmZfa2V5KCRjdXJyZW50X2dyb3VwcyxhcnJheV9mbGlwKCRncm91cHMpKSk7CgkJZm9yZWFjaCgkZGVsZXRlX2dyb3VwcyBhcyAkZ3JvdXApCgkJewoJCQkkZ3JvdXAtPmRlbGV0ZSgpOwoJCX0KCQkKCQkvLyAyLiBBZGQgdXNlcnMKCQkkYWRkX2dyb3VwcyA9IChhcnJheV9kaWZmX2tleShhcnJheV9mbGlwKCRncm91cHMpLCAkY3VycmVudF9ncm91cHMpKTsKCQkJCQoJCWZvcmVhY2goJGFkZF9ncm91cHMgYXMgJGdyb3VwX2lkID0+ICRncm91cCkKCQkJCXsKCQkJCQkkbmV3ID0gbmV3IHNlbGYoKTsKCQkJCQkkbmV3LT51c2VyX2lkID0gJHVzZXJfaWQ7CgkJCQkJJG5ldy0+Z3JvdXBfaWQgPSAkZ3JvdXBfaWQ7CgkJCQkJJG5ldy0+c2F2ZSgpOwoJCQkJfQoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldEdyb3Vwc0xpc3QoJHVzZXJfaWQsICRvbmx5X2tleXMgPSBmYWxzZSkKCXsKCQkkZ3JvdXBzID0gc2VsZjo6ZG9TZWxlY3QoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgndXNlcl9pZCcgPT4gJHVzZXJfaWQpKSk7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRncm91cHMgYXMgJGdyb3VwKQoJCXsKCQkJaWYgKCRvbmx5X2tleXMgPT0gdHJ1ZSkKCQkJewoJCQkJJGFycmF5W10gPSAkZ3JvdXAtPmdyb3VwX2lkOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJGFycmF5WyRncm91cC0+Z3JvdXBfaWRdID0gJGdyb3VwOwoJCQl9CgkJfQoJCXJldHVybiAkYXJyYXk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGVsZXRlVXNlclByZWZzKCR1c2VyX2lkKQoJewoJCSRsaXN0ID0gc2VsZjo6ZG9TZWxlY3QoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgndXNlcl9pZCcgPT4gJHVzZXJfaWQpKSk7CgkJZm9yZWFjaCgkbGlzdCBhcyAkaXRlbSkKCQl7CgkJCSRpdGVtLT5kZWxldGUoKTsKCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGVsZXRlR3JvdXBQcmVmcygkZ3JvdXBfaWQpCgl7CgkJCSRsaXN0ID0gc2VsZjo6ZG9TZWxlY3QoYXJyYXkoJ3doZXJlJyA9PiBhcnJheSgnZ3JvdXBfaWQnID0+ICRncm91cF9pZCkpKTsKCQkJZm9yZWFjaCgkbGlzdCBhcyAkaXRlbSkKCQkJewoJCQkJJGl0ZW0tPmRlbGV0ZSgpOwoJCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRHcm91cCgpCgl7CgkJaWYgKCFpc19vYmplY3QoJHRoaXMtPmdyb3VwKSkKCQl7CgkJCSR0aGlzLT5ncm91cCA9IENNU0dyb3VwOjpyZXRyaWV2ZUJ5UGsoJHRoaXMtPmdyb3VwX2lkKTsKCQl9CgkJcmV0dXJuICR0aGlzLT5ncm91cDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldFVzZXIoKQoJewoJCWlmICghaXNfb2JqZWN0KCR0aGlzLT51c2VyKSkKCQl7CgkJCSR0aGlzLT51c2VyID0gQ01TVXNlcjo6cmV0cmlldmVCeVBrKCR0aGlzLT51c2VyX2lkKTsKCQl9CgkJcmV0dXJuICR0aGlzLT51c2VyOwoJfQoJCgkvLyBHRVRTRVRURVJTCgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRJZCgpCgl7CgkJcmV0dXJuICR0aGlzLT5pZDsKCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIHNldElkKCR2YWx1ZSkKCXsKCQkkdGhpcy0+aWQgPSAkdmFsdWU7Cgl9CgkKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgkdmFyLCAkdmFsKXsKCQkkdGhpcy0+aXNfbW9kaWZpZWQgPSB0cnVlOwogICAgICAgICR0aGlzLT52YXJzWyR2YXJdID0gJHZhbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJHZhcil7CgkJdHJ5CgkJewoJCQlpZihtZXRob2RfZXhpc3RzKCR0aGlzLCAkdmFyKSkKCQkJewoJCQkJcmV0dXJuICR0aGlzLT4kdmFyKCk7CgkJCX0KCSAgICAgICAgZWxzZWlmIChhcnJheV9rZXlfZXhpc3RzKCR2YXIsICR0aGlzLT52YXJzKSkKCQkJewoJICAgICAgICAgICAgcmV0dXJuICR0aGlzLT52YXJzWyR2YXJdOwoJICAgICAgICB9IGVsc2UgewoJICAgICAgICAgICAgLy90aHJvdyBuZXcgRXhjZXB0aW9uKCJQcm9wZXJ0eSAkdmFyIGRvZXMgbm90IGV4aXN0Iik7CgkgICAgICAgIH0KCQl9CgkJY2F0Y2goRXhjZXB0aW9uICRlKQoJCXsKCQkJZWNobyAnRXJyb3I6ICcsICAkZS0+Z2V0TWVzc2FnZSgpLCAiXG4iOwoJCX0KICAgfQoJCgkvLyBEQgoJCglwdWJsaWMgZnVuY3Rpb24gcG9wdWxhdGUoJHJvdykKCXsKCQlpZiAoaXNzZXQoJHJvd1tzZWxmOjpEQl9JVEVNLidfX2lkJ10pKQoJCXsKCQkJJHRoaXMtPnNldElkKCRyb3dbc2VsZjo6REJfSVRFTS4nX19pZCddKTsKCQl9CQkKCQkKCQlmb3JlYWNoIChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCWlmIChpc3NldCgkcm93W3NlbGY6OkRCX0lURU0uJ19fJy4kZmllbGRdKSkKCQkJewoJCQkJJHRoaXMtPiRmaWVsZCA9ICRyb3dbc2VsZjo6REJfSVRFTS4nX18nLiRmaWVsZF07CgkJCX0KCQl9CgkJCgkJJHRoaXMtPnVzZXIgPSBuZXcgQ01TVXNlcigpOwoJCSR0aGlzLT51c2VyLT5wb3B1bGF0ZSgkcm93KTsKCQkkdGhpcy0+Z3JvdXAgPSBuZXcgQ01TR3JvdXAoKTsKCQkkdGhpcy0+Z3JvdXAtPnBvcHVsYXRlKCRyb3cpOwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJldHJpZXZlQnlQaygkaWQpCiAgCXsKICAJCXJldHVybiBzZWxmOjpkb1NlbGVjdE9uZShhcnJheSgnd2hlcmUnID0+IGFycmF5KCdpZCcgPT4gJGlkKSkpOyAgICAKICAJfQoKICAJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlbGVjdE9uZSgkcGFyYW1zID0gYXJyYXkoKSkKICAJewogIAkgICRwYXJhbXNbJ2xpbWl0J10gPSAxOwogIAkJJGl0ZW1zID0gc2VsZjo6ZG9TZWxlY3QoJHBhcmFtcyk7CiAgCQlpZiAoJGl0ZW1zKQogIAkJewogIAkJCXJldHVybiAkaXRlbXNbMF07CiAgCQl9CiAgCQllbHNlIAogIAkJewogIAkJCXJldHVybiBudWxsOwogIAkJfSAgCQogCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0TGlzdCgpCgl7CgkJJGZpZWxkcyA9IGFycmF5X21lcmdlKGFycmF5KCdpZCcsJ2NyZWF0ZWRfYXQnLCd1cGRhdGVkX2F0JyksIHNlbGY6OiRmaWVsZHMpOwoJCSRsaXN0ID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRsaXN0W10gPSBzZWxmOjpEQl9JVEVNIC4gJy4nLiRmaWVsZC4nIGFzICcuIHNlbGY6OmdldFJvd05hbWUoJGZpZWxkKTsKCQl9CgkJcmV0dXJuIGltcGxvZGUoJyAsICcsJGxpc3QpOwoJfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFJvd05hbWUoJG5hbWUpCgl7CgkJcmV0dXJuIHNlbGY6OkRCX0lURU0gLiAnX18nIC4gJG5hbWU7Cgl9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0KCRwYXJhbXMgPSBhcnJheSgpKQogIHsKICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAnCgkJLiBzZWxmOjpEQl9JVEVNLicuKiwgJwoJCS4gc2VsZjo6Z2VuZXJhdGVTZWxlY3RMaXN0KCkgLiAnLCAnCgkJLiBDTVNHcm91cDo6REJfSVRFTSAuICcuKiwgJwoJCS4gQ01TR3JvdXA6OmdlbmVyYXRlU2VsZWN0TGlzdCgpIC4gJywgJwoJCS4gQ01TVXNlcjo6REJfSVRFTSAuICcuKiwgJwoJCS4gQ01TVXNlcjo6Z2VuZXJhdGVTZWxlY3RMaXN0KCkJCQoJCS4gJyBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiBzZWxmOjpEQl9OQU1FIC4gJyBBUyAnIC4gc2VsZjo6REJfSVRFTQoJCS4gJyBMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuIENNU0dyb3VwOjpEQl9OQU1FIC4gJyBBUyAnIC4gQ01TR3JvdXA6OkRCX0lURU0KCQkuICcgT04gJyAuIHNlbGY6OkRCX0lURU0gLiAnLmdyb3VwX2lkID0gJyAuIENNU0dyb3VwOjpEQl9JVEVNIC4nLmlkJwoJCS4gJyBMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuIENNU1VzZXI6OkRCX05BTUUgLiAnIEFTICcgLiBDTVNVc2VyOjpEQl9JVEVNCgkJLiAnIE9OICcgLiBzZWxmOjpEQl9JVEVNIC4gJy51c2VyX2lkID0gJyAuIENNU1VzZXI6OkRCX0lURU0gLiAnLmlkJwoJCTsKCiAgICAkdmFsdWVzID0gYXJyYXkoKTsKCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snd2hlcmUnXSkpCiAgICB7CgogICAgICAkZmllbGRzID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCAoJHBhcmFtc1snd2hlcmUnXSBhcyAkZmllbGQgPT4gJHZhbHVlKSAKICAgICAgewogICAgICAgICRmaWVsZHNbXSA9IHNlbGY6OkRCX0lURU0uJy4nLiRmaWVsZCAuICcgPSAgPyc7CiAgICAgICAgJHZhbHVlc1tdID0gJHZhbHVlOwogICAgICB9CgogICAgICAkcXVlcnkgLj0gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCAkZmllbGRzKTsKICAgIH0gCgogICAgaWYoaXNzZXQoJHBhcmFtc1snb3JkZXJfYnknXSkpCiAgICB7CiAgICAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJyAuIGltcGxvZGUoJywgJyAsICRwYXJhbXNbJ29yZGVyX2J5J10pOwogICAgfQogICAgZWxzZQogICAgewogICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnLnNlbGY6OkRCX0lURU0uJy5jcmVhdGVkX2F0JzsKICAgIH0KCiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKICAgICRpdGVtcyA9IGFycmF5KCk7CgogICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApCiAgICB7CiAgICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgewkKICAgICAgICAkaXRlbSA9IG5ldyBDTVNVc2VyR3JvdXAoKTsKICAgICAgICAkaXRlbS0+cG9wdWxhdGUoJHJvdyk7CiAgICAgICAgJGl0ZW1zW10gPSAkaXRlbTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiAgJGl0ZW1zOyAgIAogIH0KICAKCQoJcHVibGljIGZ1bmN0aW9uIHNhdmUoKSB7CgkJaWYgKCR0aGlzLT5nZXRJZCgpKSAKCQl7CgkJCWlmICgkdGhpcy0+aXNfbW9kaWZpZWQpCgkJCXsJCQkKCQkJCXJldHVybiAkdGhpcy0+dXBkYXRlKCk7CQoJCQl9CgkJfSAKCQllbHNlCgkJewoJCQlyZXR1cm4gJHRoaXMtPmluc2VydCgpOwoJCX0KCQkKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIGluc2VydCgpIHsKCQkvLwogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIHNlbGY6OkRCX05BTUUgLiAnCgkJCVNFVCBjcmVhdGVkX2F0ID0gTk9XKCksCgkJCQl1cGRhdGVkX2F0ID0gTk9XKCkKCQkJCQkJCQknOwoJCSR2YWx1ZXMgPSBhcnJheSgpOwkJCQkKCQlmb3JlYWNoKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJHF1ZXJ5IC49ICcsICcgLiAkZmllbGQgLiAnID0gPyc7CgkJCSR2YWx1ZXNbXSA9ICR0aGlzLT4kZmllbGQ7CgkJfQoJCQkJCQkJCQkJCQkJCQkJCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHZhbHVlcyk7CgkJaWYgKCRyZXN1bHQgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7CgkJJHRoaXMtPnNldElkKCRkYi0+SW5zZXJ0X0lEKCkpOwoJCQoJCXJldHVybiB0cnVlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiB1cGRhdGUoKSB7CiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuIHNlbGY6OkRCX05BTUUgLiAnCgkJCVNFVCB1cGRhdGVkX2F0ID0gTk9XKCknOwoJCQkKCQkkdmFsdWVzID0gYXJyYXkoKTsJCQkJCgkJZm9yZWFjaChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRxdWVyeSAuPSAnLCAnIC4gJGZpZWxkIC4gJyA9ID8nOwoJCQkkdmFsdWVzW10gPSAkdGhpcy0+JGZpZWxkOwoJCX0KCQoJCSRxdWVyeSAuPSAnIFdIRVJFIGlkID0gPyc7CgkJJHZhbHVlc1tdID0gJHRoaXMtPmdldElkKCk7CgoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKCQlpZiAoJHJlc3VsdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGRlbGV0ZSgpIHsKCQlpZiAoJHRoaXMtPmdldElkKCkpIHsKICAgIAkkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuc2VsZjo6REJfTkFNRSAuICcgV0hFUkUgaWQgPSA/JzsKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5nZXRJZCgpKSk7CgkJCWlmKCRyZXN1bHQgIT09IGZhbHNlKSByZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/disabled.class.CMSDefault.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCS8qCQkKCQlBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KCQlDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCgkJTGljZW5jZTogR1BMCQkKCQoJKi8KCmNsYXNzIENNU0RlZmF1bHQKewoJcHJvdGVjdGVkICRpZDsKCXByb3RlY3RlZCAkaXNfbW9kaWZpZWQgPSBmYWxzZTsKCXByb3RlY3RlZCAkdmFycyA9IGFycmF5KCk7CgkKCXByb3RlY3RlZCAkdXNlcnM7CgkKCXByb3RlY3RlZCBzdGF0aWMgJGZpZWxkcyA9IGFycmF5KAoJJ25hbWUnLAoJJ3R5cGUnLAoJJ2lzX2FjdGl2ZScsCgknY29tbWVudHMnCgkpOwoJCgljb25zdCBEQl9OQU1FID0gJ21vZHVsZV9jbXN1c2Vyc19kZWZhdWx0cyc7Cgljb25zdCBEQl9JVEVNID0gJ2RlZmF1bHQnOwoJCgkvLyBDdXN0b20gbG9naWMKCQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybjsKCX0KCQoJLy8gR0VUU0VUVEVSUwoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0SWQoKQoJewoJCXJldHVybiAkdGhpcy0+aWQ7Cgl9CgkKCXByb3RlY3RlZCBmdW5jdGlvbiBzZXRJZCgkdmFsdWUpCgl7CgkJJHRoaXMtPmlkID0gJHZhbHVlOwoJfQoJCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJHZhciwgJHZhbCl7CgkJJHRoaXMtPmlzX21vZGlmaWVkID0gdHJ1ZTsKICAgICAgICAkdGhpcy0+dmFyc1skdmFyXSA9ICR2YWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpewoJCXRyeQoJCXsKCQkJaWYobWV0aG9kX2V4aXN0cygkdGhpcywgJHZhcikpCgkJCXsKCQkJCXJldHVybiAkdGhpcy0+JHZhcigpOwoJCQl9CgkgICAgICAgIGVsc2VpZiAoYXJyYXlfa2V5X2V4aXN0cygkdmFyLCAkdGhpcy0+dmFycykpCgkJCXsKCSAgICAgICAgICAgIHJldHVybiAkdGhpcy0+dmFyc1skdmFyXTsKCSAgICAgICAgfSBlbHNlIHsKCSAgICAgICAgICAgIC8vdGhyb3cgbmV3IEV4Y2VwdGlvbigiUHJvcGVydHkgJHZhciBkb2VzIG5vdCBleGlzdCIpOwoJICAgICAgICB9CgkJfQoJCWNhdGNoKEV4Y2VwdGlvbiAkZSkKCQl7CgkJCWVjaG8gJ0Vycm9yOiAnLCAgJGUtPmdldE1lc3NhZ2UoKSwgIlxuIjsKCQl9CiAgIH0KCQoJLy8gREIKCQoJcHVibGljIGZ1bmN0aW9uIHBvcHVsYXRlKCRyb3cpCgl7CgkJaWYgKGlzc2V0KCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgnaWQnKV0pKQoJCXsKCQkJJHRoaXMtPnNldElkKCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgnaWQnKV0pOwoJCX0JCQoJCQoJCWZvcmVhY2ggKHNlbGY6OiRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJaWYgKGlzc2V0KCRyb3dbc2VsZjo6Z2V0Um93TmFtZSgkZmllbGQpXSkpCgkJCXsKCQkJCSR0aGlzLT4kZmllbGQgPSAkcm93W3NlbGY6OmdldFJvd05hbWUoJGZpZWxkKV07CgkJCX0KCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmV0cmlldmVCeVBrKCRpZCkKICAJewogIAkJcmV0dXJuIHNlbGY6OmRvU2VsZWN0T25lKGFycmF5KCd3aGVyZScgPT4gYXJyYXkoJ2lkJyA9PiAkaWQpKSk7ICAgIAogIAl9CgogIAlwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRvU2VsZWN0T25lKCRwYXJhbXMgPSBhcnJheSgpKQogIAl7CiAgCQkkaXRlbXMgPSBzZWxmOjpkb1NlbGVjdCgkcGFyYW1zKTsKICAJCWlmICgkaXRlbXMpCiAgCQl7CiAgCQkJcmV0dXJuICRpdGVtc1swXTsKICAJCX0KICAJCWVsc2UgCiAgCQl7CiAgCQkJcmV0dXJuIG51bGw7CiAgCQl9ICAJCiAJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2VuZXJhdGVTZWxlY3RMaXN0KCkKCXsKCQkkZmllbGRzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJ2lkJywnY3JlYXRlZF9hdCcsJ3VwZGF0ZWRfYXQnKSwgc2VsZjo6JGZpZWxkcyk7CgkJJGxpc3QgPSBhcnJheSgpOwoJCWZvcmVhY2ggKCRmaWVsZHMgYXMgJGZpZWxkKQoJCXsKCQkJJGxpc3RbXSA9IHNlbGY6OkRCX0lURU0gLiAnLicuJGZpZWxkLicgYXMgJy4gc2VsZjo6Z2V0Um93TmFtZSgkZmllbGQpOwoJCX0KCQlyZXR1cm4gaW1wbG9kZSgnICwgJywkbGlzdCk7Cgl9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0Um93TmFtZSgkbmFtZSkKCXsKCQlyZXR1cm4gc2VsZjo6REJfSVRFTSAuICdfXycgLiAkbmFtZTsKCX0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkb1NlbGVjdCgkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICAkZGIgPSBjbXNfdXRpbHM6OmdldF9kYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgCgkJJy5zZWxmOjpEQl9JVEVNLicuKiwKCQknLnNlbGY6OmdlbmVyYXRlU2VsZWN0TGlzdCgpIC4gJyAKCQlGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiBzZWxmOjpEQl9OQU1FIC4gJyBBUyAnIC4gc2VsZjo6REJfSVRFTTsKCiAgICAkdmFsdWVzID0gYXJyYXkoKTsKCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snd2hlcmUnXSkpCiAgICB7CgogICAgICAkZmllbGRzID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCAoJHBhcmFtc1snd2hlcmUnXSBhcyAkZmllbGQgPT4gJHZhbHVlKSAKICAgICAgewogICAgICAgICRmaWVsZHNbXSA9IHNlbGY6OkRCX0lURU0uJy4nLiRmaWVsZCAuICcgPSAgPyc7CiAgICAgICAgJHZhbHVlc1tdID0gJHZhbHVlOwogICAgICB9CgogICAgICAkcXVlcnkgLj0gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCAkZmllbGRzKTsKICAgIH0gCgogICAgaWYoaXNzZXQoJHBhcmFtc1snb3JkZXJfYnknXSkpCiAgICB7CiAgICAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJyAuIGltcGxvZGUoJywgJyAsICRwYXJhbXNbJ29yZGVyX2J5J10pOwogICAgfQogICAgZWxzZQogICAgewogICAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnLnNlbGY6OkRCX0lURU0uJy5jcmVhdGVkX2F0JzsKICAgIH0KCiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsKICAgICRpdGVtcyA9IGFycmF5KCk7CgogICBpZiAoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApCiAgICB7CiAgICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgewkKICAgICAgICAkaXRlbSA9IG5ldyBzZWxmKCk7CiAgICAgICAgJGl0ZW0tPnBvcHVsYXRlKCRyb3cpOwogICAgICAgICRpdGVtc1tdID0gJGl0ZW07CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gICRpdGVtczsgICAKICB9CiAgCgkKCXB1YmxpYyBmdW5jdGlvbiBzYXZlKCkgewoJCWlmICgkdGhpcy0+Z2V0SWQoKSkgCgkJewoJCQlpZiAoJHRoaXMtPmlzX21vZGlmaWVkKQoJCQl7CQkJCgkJCQlyZXR1cm4gJHRoaXMtPnVwZGF0ZSgpOwkKCQkJfQoJCX0gCgkJZWxzZQoJCXsKCQkJcmV0dXJuICR0aGlzLT5pbnNlcnQoKTsKCQl9CgkJCgkJcmV0dXJuIGZhbHNlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBpbnNlcnQoKSB7CgkJLy8KICAgICRkYiA9IGNtc191dGlsczo6Z2V0X2RiKCk7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLiBzZWxmOjpEQl9OQU1FIC4gJwoJCQlTRVQgY3JlYXRlZF9hdCA9IE5PVygpLAoJCQkJdXBkYXRlZF9hdCA9IE5PVygpCgkJCQkJCQkJJzsKCQkkdmFsdWVzID0gYXJyYXkoKTsJCQkJCgkJZm9yZWFjaChzZWxmOjokZmllbGRzIGFzICRmaWVsZCkKCQl7CgkJCSRxdWVyeSAuPSAnLCAnIC4gJGZpZWxkIC4gJyA9ID8nOwoJCQkkdmFsdWVzW10gPSAkdGhpcy0+JGZpZWxkOwoJCX0KCQkJCQkJCQkJCQkJCQkJCQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpOwoJCWlmICgkcmVzdWx0ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlOwoJCSR0aGlzLT5zZXRJZCgkZGItPkluc2VydF9JRCgpKTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gdXBkYXRlKCkgewogICAgJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLiBzZWxmOjpEQl9OQU1FIC4gJwoJCQlTRVQgdXBkYXRlZF9hdCA9IE5PVygpJzsKCQkJCgkJJHZhbHVlcyA9IGFycmF5KCk7CQkJCQoJCWZvcmVhY2goc2VsZjo6JGZpZWxkcyBhcyAkZmllbGQpCgkJewoJCQkkcXVlcnkgLj0gJywgJyAuICRmaWVsZCAuICcgPSA/JzsKCQkJJHZhbHVlc1tdID0gJHRoaXMtPiRmaWVsZDsKCQl9CgkKCQkkcXVlcnkgLj0gJyBXSEVSRSBpZCA9ID8nOwoJCSR2YWx1ZXNbXSA9ICR0aGlzLT5nZXRJZCgpOwoKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7CgkJaWYgKCRyZXN1bHQgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7CgkJCgkJcmV0dXJuIHRydWU7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKSB7CgkJaWYgKCR0aGlzLT5nZXRJZCgpKSB7CiAgICAJJGRiID0gY21zX3V0aWxzOjpnZXRfZGIoKTsKCQkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLnNlbGY6OkRCX05BTUUgLiAnIFdIRVJFIGlkID0gPyc7CgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+Z2V0SWQoKSkpOwoJCQlpZigkcmVzdWx0ICE9PSBmYWxzZSkgCgkJCXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KfQ==]]></data>
	</file>
	<file>
	  <filename>/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQoKIENvcHlyaWdodCAoQykgMTk4OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZQpzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiAgVGhpcwpHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9zdCBvZiB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uJ3Mgc29mdHdhcmUgYW5kIHRvIGFueSBvdGhlciBwcm9ncmFtIHdob3NlIGF1dGhvcnMgY29tbWl0IHRvCnVzaW5nIGl0LiAgKFNvbWUgb3RoZXIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4gYXBwbHkgaXQgdG8KeW91ciBwcm9ncmFtcywgdG9vLgoKICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CnByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgp0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQKaWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKaW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCmFueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0LgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdAp5b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZQpzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyCnJpZ2h0cy4KCiAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczogKDEpIGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAooMikgb2ZmZXIgeW91IHRoaXMgbGljZW5zZSB3aGljaCBnaXZlcyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LApkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgoKICBBbHNvLCBmb3IgZWFjaCBhdXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbgp0aGF0IGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZQpzb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2UKd2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28KdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwKYXV0aG9ycycgcmVwdXRhdGlvbnMuCgogIEZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCnBhdGVudHMuICBXZSB3aXNoIHRvIGF2b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKcHJvZ3JhbSB3aWxsIGluZGl2aWR1YWxseSBvYnRhaW4gcGF0ZW50IGxpY2Vuc2VzLCBpbiBlZmZlY3QgbWFraW5nIHRoZQpwcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkKcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2ZXJ5b25lJ3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KCiAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKbW9kaWZpY2F0aW9uIGZvbGxvdy4KCiAgICAgICAgICAgICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCgogIDAuIFRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBwcm9ncmFtIG9yIG90aGVyIHdvcmsgd2hpY2ggY29udGFpbnMKYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQKdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LApyZWZlcnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSIKbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIKbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzIGluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbgp0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KCkFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90CmNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKcnVubmluZyB0aGUgUHJvZ3JhbSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIHRoZSBvdXRwdXQgZnJvbSB0aGUgUHJvZ3JhbQppcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkIG9uIHRoZQpQcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgpXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIFByb2dyYW0gZG9lcy4KCiAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCnNvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdQpjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlCmNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJhbnR5OwphbmQgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlCmFsb25nIHdpdGggdGhlIFByb2dyYW0uCgpZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKeW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KCiAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbgpvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCmRpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9yIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQphYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgoKICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcwogICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KCiAgICBiKSBZb3UgbXVzdCBjYXVzZSBhbnkgd29yayB0aGF0IHlvdSBkaXN0cmlidXRlIG9yIHB1Ymxpc2gsIHRoYXQgaW4KICAgIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueQogICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKICAgIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KCiAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5CiAgICB3aGVuIHJ1biwgeW91IG11c3QgY2F1c2UgaXQsIHdoZW4gc3RhcnRlZCBydW5uaW5nIGZvciBzdWNoCiAgICBpbnRlcmFjdGl2ZSB1c2UgaW4gdGhlIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuCiAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKICAgIG5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IChvciBlbHNlLCBzYXlpbmcgdGhhdCB5b3UgcHJvdmlkZQogICAgYSB3YXJyYW50eSkgYW5kIHRoYXQgdXNlcnMgbWF5IHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSB1bmRlcgogICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKICAgIExpY2Vuc2UuICAoRXhjZXB0aW9uOiBpZiB0aGUgUHJvZ3JhbSBpdHNlbGYgaXMgaW50ZXJhY3RpdmUgYnV0CiAgICBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uCiAgICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKClRoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCnRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CmRpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZApvbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlIGl0LgoKVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0CnlvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bwpleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KCkluIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0Kd2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCmEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyCnRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCgogIDMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LAp1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YKU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgoKICAgIGEpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUKICAgIHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucwogICAgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCgogICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKICAgIHllYXJzLCB0byBnaXZlIGFueSB0aGlyZCBwYXJ0eSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUgdGhhbiB5b3VyCiAgICBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlCiAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bQogICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAoKICAgIGMpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBpbmZvcm1hdGlvbiB5b3UgcmVjZWl2ZWQgYXMgdG8gdGhlIG9mZmVyCiAgICB0byBkaXN0cmlidXRlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUuICAoVGhpcyBhbHRlcm5hdGl2ZSBpcwogICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKICAgIHJlY2VpdmVkIHRoZSBwcm9ncmFtIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB3aXRoIHN1Y2gKICAgIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQoKVGhlIHNvdXJjZSBjb2RlIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgptYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhbiBleGVjdXRhYmxlIHdvcmssIGNvbXBsZXRlIHNvdXJjZQpjb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQphc3NvY2lhdGVkIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8KY29udHJvbCBjb21waWxhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBleGVjdXRhYmxlLiAgSG93ZXZlciwgYXMgYQpzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkKZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUKb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKaXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLgoKSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZwphY2Nlc3MgdG8gY29weSBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50CmFjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIGNvdW50cyBhcwpkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4KCiAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCmV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQKb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCnZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIKdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgoKICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCnByb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlClByb2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCmFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKdGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCgogIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bwp0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgpyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCllvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvCnRoaXMgTGljZW5zZS4KCiAgNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAppbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLApjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91Cm1heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQphbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bwpyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgoKSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCmFueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIKY2lyY3Vtc3RhbmNlcy4KCkl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQppbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMKaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCmdlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZwp0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKaW1wb3NlIHRoYXQgY2hvaWNlLgoKVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCmJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgoKICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbgpjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZQptYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcKdGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZwpjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMKdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCgogIDkuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zCm9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbApiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCgpFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBQcm9ncmFtCnNwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55CmxhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZgp0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24uCgogIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGRpZmZlcmVudCwgd3JpdGUgdG8gdGhlIGF1dGhvcgp0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUKU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCm1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91ciBkZWNpc2lvbiB3aWxsIGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzCm9mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzIG9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQKb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTk8gV0FSUkFOVFkKCiAgMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZCkZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTgpPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTClBST1ZJREUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VECk9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCk1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRQpQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywKUkVQQUlSIE9SIENPUlJFQ1RJT04uCgogIDEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgpSRURJU1RSSUJVVEUgVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLApJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcKT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRApUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkKWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIKUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFClBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4KCiAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwoKICAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCgogIElmIHlvdSBkZXZlbG9wIGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdApmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KCiAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQpjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICBDTVNVc2VycyBpcyBhIENNUyBNYWRlIFNpbXBsZSBGcm9udGVuZCBVc2VycyBtYW5hZ2VtZW50IHN5c3RlbQogICAgQ29weXJpZ2h0IChDKSAyMDEzICBNb3JyaXMgJmFtcDsgQ2hhcG1hbiBCZWxnaXVtCgogICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgogICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCiAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoKICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCiAgICB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAogICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KCkFsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgoKSWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcwp3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIEdub21vdmlzaW9uIHZlcnNpb24gNjksIENvcHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1dGhvcgogICAgR25vbW92aXNpb24gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0eXBlIGBzaG93IHcnLgogICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAogICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgoKVGhlIGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCnBhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29tbWFuZHMgeW91IHVzZSBtYXkKYmUgY2FsbGVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGBzaG93IHcnIGFuZCBgc2hvdyBjJzsgdGhleSBjb3VsZCBldmVuIGJlCm1vdXNlLWNsaWNrcyBvciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCgpZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3IgeW91cgpzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZgpuZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CgogIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KICBgR25vbW92aXNpb24nICh3aGljaCBtYWtlcyBwYXNzZXMgYXQgY29tcGlsZXJzKSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4KCiAge3NpZ25hdHVyZSBvZiBUeSBDb29ufSwgMSBBcHJpbCAxOTg5CiAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKClRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0gaW50bwpwcm9wcmlldGFyeSBwcm9ncmFtcy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heQpjb25zaWRlciBpdCBtb3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2luZyBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMgd2l0aCB0aGUKbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCFjbXNtcygpKSBleGl0OwokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKJGZsZHMgPSBhcnJheSgKCSdpZCBJIEtFWSBBVVRPJywKCSd1c2VybmFtZSBDKDI1NSknLAoJJ2FsZ29yaXRobSBDKDI1NSknLAoJJ3NhbHQgQygyNTUpJywKCSdwYXNzd29yZCBDKDI1NSknLAoJJ2h0cGFzc3dvcmQgQygyNTUpJywKCSdlbWFpbCBDKDI1NSknLAoJJ2lzX2FjdGl2ZSBJJywKCSdpc19kaXNhYmxlZCBJJywKCSd0b2tlbiBDKDI1NSknLAoJJ2NyZWF0ZWRfYXQgRFQnLAoJJ3VwZGF0ZWRfYXQgRFQnLAoJJ2xhc3RfbG9naW4gRFQnLAogICAgJ2lzX2xkYXAgSScsCgknY29tbWVudHMJWEwnCik7Cgokc3FsID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfdXNlcnMnLCBpbXBsb2RlKCcsJywgJGZsZHMpLCBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKJHNxbCA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgndXNlcl9pbmRleCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfdXNlcnMnLCAnaWQsIHVzZXJuYW1lLCBlbWFpbCwgaXNfYWN0aXZlJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbCk7CgoKJGZsZHMgPSBhcnJheSgKCSdpZCBJIEtFWSBBVVRPJywKCSd1c2VyX2lkIEknLAoJJ2NyZWF0ZWRfYXQgRFQnLAoJJ3VwZGF0ZWRfYXQgRFQnLAoJKTsKCQokc3FsID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfcHJvZmlsZXMnLCBpbXBsb2RlKCcsJywgJGZsZHMpLCBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKJHNxbCA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZmlsZV9pbmRleCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfcHJvZmlsZXMnLCAnaWQsIHVzZXJfaWQnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKCgokZmxkcyA9IGFycmF5KAoJJ2lkIEkgS0VZIEFVVE8nLAoJJ25hbWUgQygyNTUpJywKCSd0eXBlIEMoMjU1KScsCgknaXNfYWN0aXZlIEknLAoJJ2NyZWF0ZWRfYXQgRFQnLAoJJ3VwZGF0ZWRfYXQgRFQnLAoJJ2NvbW1lbnRzCVhMJwoJKTsKCQokc3FsID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfZ3JvdXBzJywgaW1wbG9kZSgnLCcsICRmbGRzKSwgYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbCk7CiRzcWwgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ2dyb3Vwc19pbmRleCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfZ3JvdXBzJywgJ2lkLCBpc19hY3RpdmUsIHR5cGUnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKCiRmbGRzID0gYXJyYXkoCgknaWQgSSBLRVkgQVVUTycsCgknZ3JvdXBfaWQgSScsCgkndXNlcl9pZCBJJywKCSdjcmVhdGVkX2F0IERUJywKCSd1cGRhdGVkX2F0IERUJwoJKTsKCQokc3FsID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfdXNlcmdyb3VwcycsIGltcGxvZGUoJywnLCAkZmxkcyksIGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJykpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwokc3FsID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCd1c2VyZ3JvdXBzX2luZGV4JywgY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9jbXN1c2Vyc191c2VyZ3JvdXBzJywgJ2lkLCBncm91cF9pZCwgdXNlcl9pZCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwoKJGZsZHMgPSBhcnJheSgKCSdpZCBJIEtFWSBBVVRPJywKCSduYW1lIEMoMjU1KScsCgknaXNfYWN0aXZlIEknLAoJJ2NyZWF0ZWRfYXQgRFQnLAoJJ3VwZGF0ZWRfYXQgRFQnLAoJJ2NvbW1lbnRzIFhMJwoJKTsKCQokc3FsID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfcGVybWlzc2lvbnMnLCBpbXBsb2RlKCcsJywgJGZsZHMpLCBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKJHNxbCA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncGVybWlzc2lvbnNfaW5kZXgnLCBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2Ntc3VzZXJzX3Blcm1pc3Npb25zJywgJ2lkLCBuYW1lLCBpc19hY3RpdmUnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKCgokZmxkcyA9IGFycmF5KAoJJ2lkIEkgS0VZIEFVVE8nLAoJJ2dyb3VwX2lkIEknLAoJJ3Blcm1pc3Npb25faWQgSScsCgknY3JlYXRlZF9hdCBEVCcsCgkndXBkYXRlZF9hdCBEVCcKCSk7CgkKJHNxbCA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2Ntc3VzZXJzX2dyb3VwcGVybWlzc2lvbnMnLCBpbXBsb2RlKCcsJywgJGZsZHMpLCBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKJHNxbCA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgnZ3JvdXBwZXJtaXNzaW9uc19pbmRleCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfZ3JvdXBwZXJtaXNzaW9ucycsICdpZCwgZ3JvdXBfaWQscGVybWlzc2lvbl9pZCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwoKJGZsZHMgPSBhcnJheSgKCSdpZCBJIEtFWSBBVVRPJywKCSdncm91cF9pZCBJJywKCSdwcm9maWxlX2ZpZWxkX2lkIEknLAoJJ2lzX21hbmRhdG9yeSBJJywKCSdjcmVhdGVkX2F0IERUJywKCSd1cGRhdGVkX2F0IERUJywKCSdjb21tZW50cyBYTCcgCgkpOwoJCiRzcWwgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9jbXN1c2Vyc19ncm91cF9wcm9maWxlX2ZpZWxkcycsIGltcGxvZGUoJywnLCAkZmxkcyksIGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJykpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwokc3FsID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdncm91cF9wcm9maWxlX2ZpZWxkc19pbmRleCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfZ3JvdXBfcHJvZmlsZV9maWVsZHMnLCAnaWQsIGdyb3VwX2lkLHByb2ZpbGVfZmllbGRfaWQnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKCiRmbGRzID0gYXJyYXkoCgknaWQgSSBLRVkgQVVUTycsCgknbmFtZSBDKDI1NSknLAoJJ2ZuYW1lIEMoMjU1KScsCgkndHlwZQlDKDI1NSknLAoJJ3RpcHMgQygyNTUpJywgCgknb3B0aW9ucyBYTCcsCgknaXNfYWN0aXZlIEknLAoJJ2NyZWF0ZWRfYXQgRFQnLAoJJ3VwZGF0ZWRfYXQgRFQnLAoJJ2NvbW1lbnRzIFhMJwoJKTsKCQokc3FsID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfcHJvZmlsZV9maWVsZHMnLCBpbXBsb2RlKCcsJywgJGZsZHMpLCBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKJHNxbCA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZmlsZV9maWVsZHNfaW5kZXgnLCBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2Ntc3VzZXJzX3Byb2ZpbGVfZmllbGRzJywgJ2lkLCBuYW1lLCBmbmFtZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwoKCiRmbGRzID0gYXJyYXkoCiAgJ2lkIEkgS0VZIEFVVE8nLAogICdpc3N1ZWRfZGF0ZSBJJywKICAndXNlcl9pZCAgSScsCiAgJ2Nvb2tpZV92YWx1ZSBYTCcsCiAgJ3JlbW90ZV9pbmZvcm1hdGlvbiBYTCcKKTsKCiRzcWwgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9jbXN1c2Vyc19zZXNzaW9ucycsIGltcGxvZGUoJywnLCAkZmxkcyksIGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJykpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwokc3FsID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9maWxlX2ZpZWxkc19pbmRleCcsIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfc2Vzc2lvbnMnLCAnaWQsIHVzZXJfaWQsIGNvb2tpZV92YWx1ZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwoKCi8vIFBlcm1pc3Npb25zCgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTWFuYWdlIENNU1VzZXJzJywgJ01hbmFnZSBDTVNVc2VycycpOwkKCgovLyBQUkVGRVJFTkNFUwokY29uZmlnID0gY21zX3V0aWxzOjpnZXRfY29uZmlnKCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzaWdudXBfZW1haWxfc3ViamVjdCcsICR0aGlzLT5sYW5nKCdhY2NvdW50IGRldGFpbHMnKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd2YWxpZGF0aW9uX2VtYWlsX3N1YmplY3QnLCAgJHRoaXMtPmxhbmcoJ2FjY291bnQgdmFsaWRhdGlvbicpKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bhc3N3b3JkX3Jlc2V0X2VtYWlsX3N1YmplY3QnLCAgJHRoaXMtPmxhbmcoJ2FjY291bnQgcmVzZXQgcGFzc3dvcmQnKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdodHBhc3N3b3JkX3RpdGxlJywgICR0aGlzLT5sYW5nKCdhdXRoZW50aWNhdGlvbl90aXRsZScpKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2h0cGFzc3dvcmRfcGF0aCcsICAkY29uZmlnWydyb290X3BhdGgnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsZGFwX3NlcnZlcl9wb3J0JywgIDM4OSk7]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja0FjY2VzcygpKSAvLyBSZXN0cmljdCB0byBhZG1pbiBwYW5lbCBhbmQgZ3JvdXBzIHdpdGggcGVybWlzc2lvbgp7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCWV4aXQ7Cn0KCgokZGF0YWJhc2VzID0gYXJyYXkoCgknbW9kdWxlX2Ntc3VzZXJzX3VzZXJzJywKCSdtb2R1bGVfY21zdXNlcnNfcHJvZmlsZXMnLAoJJ21vZHVsZV9jbXN1c2Vyc19ncm91cHMnLAoJJ21vZHVsZV9jbXN1c2Vyc191c2VyZ3JvdXBzJywKCSdtb2R1bGVfY21zdXNlcnNfcGVybWlzc2lvbnMnLAoJJ21vZHVsZV9jbXN1c2Vyc19ncm91cHBlcm1pc3Npb25zJywKCSdtb2R1bGVfY21zdXNlcnNfZ3JvdXBfcHJvZmlsZV9maWVsZHMnLAoJJ21vZHVsZV9jbXN1c2Vyc19wcm9maWxlX2ZpZWxkcycsCgknbW9kdWxlX2Ntc3VzZXJzX3Nlc3Npb25zJywKCSk7CgkKCQkKLy8gVHlwaWNhbCBEYXRhYmFzZSBSZW1vdmFsCiRkYiA9JiBjbXNfdXRpbHM6OmdldF9kYigpOwoJCi8vIHJlbW92ZSB0aGUgZGF0YWJhc2UgdGFibGUKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJCmZvcmVhY2goJGRhdGFiYXNlcyBhcyAkZGF0YWJhc2UpCnsKCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKSAuICRkYXRhYmFzZSApOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkKfQoKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCgokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOw==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWNtc21zKCkpIGV4aXQ7CiRkYiA9ICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Cgpzd2l0Y2godHJ1ZSkgewoJY2FzZSB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sICcwLjAuNycsICc8Jyk6CgkJJHNxbCA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9jbXN1c2Vyc191c2VycycsICdpc19kaXNhYmxlZCBJJyk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKCWNhc2UgdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCAnMS4wLjMnLCAnPCcpOgoJCSRzcWwgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfdXNlcnMnLCAnaHRwYXNzd29yZCBDKDI1NSknKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWwpOwogICAgY2FzZSB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sICcxLjAuMTUnLCAnPCcpOgogICAgICAgICRzcWwgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfY21zdXNlcnNfdXNlcnMnLCAnaXNfbGRhcCBJJyk7CiAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsKTsKICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbGRhcF9zZXJ2ZXJfcG9ydCcsICAzODkpOwp9]]></data>
	</file>
	<file>
	  <filename>/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Y21zdXNlcnMKPT09PT09PT0KCkNNU1VzZXJzIGlzIGEgQ01TIE1hZGUgU2ltcGxlIEZyb250ZW5kIFVzZXJzIG1hbmFnZW1lbnQgc3lzdGVtCg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin.default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0YWJfaGVhZGVyc30KCnskc3RhcnRfdXNlcnNfdGFifQoJeyR1c2Vyc19saXN0fQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X2dyb3Vwc190YWJ9Cgl7JGdyb3Vwc19saXN0fQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X3Blcm1pc3Npb25zX3RhYn0KCXskcGVybWlzc2lvbnNfbGlzdH0KeyRlbmRfdGFifQoKeyRzdGFydF9wcm9maWxlX2ZpZWxkc190YWJ9Cgl7JHByb2ZpbGVfZmllbGRzX2xpc3R9CnskZW5kX3RhYn0KCnskc3RhcnRfdGVtcGxhdGVzX3RhYn0KCXskdGVtcGxhdGVzX2xpc3R9CnskZW5kX3RhYn0KCnskc3RhcnRfc2V0dGluZ3NfdGFifQoJeyRzZXR0aW5nc30KeyRlbmRfdGFifQoKeyokc3RhcnRfaW1wZXhfdGFifQoJeyRpbXBleH0KeyRlbmRfdGFiKn0KCgp7JHRhYl9mb290ZXJzfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin.groups.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRncm91cHN8QGNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgIDx0aD57JGdyb3Vwc190aXRsZX08L3RoPgoJCQkJIDx0aD57Kip9PC90aD4KCQkJCSA8dGg+eyR0eXBlfTwvdGg+CiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iIHN0eWxlPSJ3aWR0aDoyMHB4Ij7CoDwvdGg+CiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iIHN0eWxlPSJ3aWR0aDoyMHB4Ij7CoDwvdGg+CiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iIHN0eWxlPSJ3aWR0aDoyMHB4Ij7CoDwvdGg+CiAgICAgIDwvdHI+CiAgIDwvdGhlYWQ+CiAgIDx0Ym9keT4Ke2ZvcmVhY2ggZnJvbT0kZ3JvdXBzIGl0ZW09ZW50cnkga2V5PWlkfQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0ne2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn1ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0ne2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0nOyI+CgkJICAgPHRkPlt7JGVudHJ5LT5nZXRJZCgpfV0geyRncm91cHNfYWN0aW9uc1skaWRdLmVkaXR9PC90ZD4KCSAgIAkgPHRkPnskZW50cnktPmNvdW50VXNlcnMoKX0gdXNlcihzKTwvdGQ+CgkgICAJIDx0ZD57JGVudHJ5LT50eXBlfTwvdGQ+CgkJICAgPHRkPnskZ3JvdXBzX2FjdGlvbnNbJGlkXS5hY3RpdmVfaWNvbn08L3RkPgoJCSAgIDx0ZD57JGdyb3Vwc19hY3Rpb25zWyRpZF0uZWRpdF9pY29ufTwvdGQ+CgkJICAgPHRkPnskZ3JvdXBzX2FjdGlvbnNbJGlkXS5kZWxldGVfaWNvbn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9CgoKPHA+eyRhZGRfZ3JvdXB9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin.group_manage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0KCTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm0tPnNob3dFcnJvcnMoKX08L2Rpdj4KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgl7JGZvcm0tPnJlbmRlckZpZWxkc2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nKX0KCQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tdG9wOiAxNXB4OyI+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin.htaccess.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CgojLS08SFRUUEFVVEg+LS0KQXV0aFR5cGUgQmFzaWMKQXV0aE5hbWUgInskYXV0aF9uYW1lfSIKe2lmIGlzc2V0KCRsZGFwX3VyaSl9CgpBdXRoQmFzaWNQcm92aWRlciBsZGFwCkF1dGh6TERBUEF1dGhvcml0YXRpdmUgb2ZmCkF1dGhMREFQVVJMICJ7JGxkYXBfdXJpfSIKCkF1dGhMREFQQmluZEROICJ7JGxkYXBfYmluZF9kbn0iCkF1dGhMREFQQmluZFBhc3N3b3JkICAgICJ7JGxkYXBfYmluZF9wYXNzd29yZH0iCgp7ZWxzZX0KCkF1dGhVc2VyRmlsZSB7JGh0cGFzc3dkX2ZpbGV9CkF1dGhHcm91cEZpbGUgL2Rldi9udWxsCgp7L2lmfQoKUmVxdWlyZSB2YWxpZC11c2VyCiMtLTwvSFRUUEFVVEg+LS0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin.permissions.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRwZXJtaXNzaW9uc3xAY291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICA8dGhlYWQ+CiAgICAgIDx0cj4KICAgICAgICAgPHRoPnskcGVybWlzc2lvbnNfdGl0bGV9PC90aD4KICAgICAgICAgPHRoPnsqJHBlcm1pc3Npb25zX2lkKn08L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICA8L3RyPgogICA8L3RoZWFkPgogICA8dGJvZHk+Cntmb3JlYWNoIGZyb209JHBlcm1pc3Npb25zIGl0ZW09ZW50cnkga2V5PWlkfQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0ne2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn1ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0ne2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0nOyI+CgkJICAgPHRkPnskcGVybWlzc2lvbnNfYWN0aW9uc1skaWRdLmVkaXR9PC90ZD4KCQkJIDx0ZD57JGVudHJ5LT5nZXRJZCgpfTwvdGQ+CgkJICAgPHRkPnskcGVybWlzc2lvbnNfYWN0aW9uc1skaWRdLmFjdGl2ZV9pY29ufTwvdGQ+CgkJICAgPHRkPnskcGVybWlzc2lvbnNfYWN0aW9uc1skaWRdLmVkaXRfaWNvbn08L3RkPgoJCSAgIDx0ZD57JHBlcm1pc3Npb25zX2FjdGlvbnNbJGlkXS5kZWxldGVfaWNvbn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9CgoKPHA+eyRhZGRfcGVybWlzc2lvbn08L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/admin.permission_manage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0KCTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm0tPnNob3dFcnJvcnMoKX08L2Rpdj4KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgl7JGZvcm0tPnJlbmRlckZpZWxkc2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nKX0KCQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tdG9wOiAxNXB4OyI+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin.profile_fields.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRwcm9maWxlX2ZpZWxkc3xAY291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICA8dGhlYWQ+CiAgICAgIDx0cj4KICAgICAgICAgPHRoPnskcHJvZmlsZV9maWVsZHNfdGl0bGV9PC90aD4KCQkJCSA8dGg+eyR0eXBlfTwvdGg+CgkJCQkgPHRoPnsqKn08L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIiBzdHlsZT0id2lkdGg6MjBweCI+wqA8L3RoPgogICAgICA8L3RyPgogICA8L3RoZWFkPgogICA8dGJvZHk+Cntmb3JlYWNoIGZyb209JHByb2ZpbGVfZmllbGRzIGl0ZW09ZW50cnkga2V5PWlkfQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0ne2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn1ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0ne2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0nOyI+CgkJICAgPHRkPnskcHJvZmlsZV9maWVsZHNfYWN0aW9uc1skaWRdLmVkaXR9PC90ZD4KCSAgIAkgPHRkPnskZW50cnktPnR5cGV9PC90ZD4JCgkgICAJIDx0ZD5JbiB7JGVudHJ5LT5jb3VudEdyb3VwcygpfSBncm91cChzKTwvdGQ+CgkJICAgPHRkPnskcHJvZmlsZV9maWVsZHNfYWN0aW9uc1skaWRdLmFjdGl2ZV9pY29ufTwvdGQ+CgkJICAgPHRkPnskcHJvZmlsZV9maWVsZHNfYWN0aW9uc1skaWRdLmVkaXRfaWNvbn08L3RkPgoJCSAgIDx0ZD57JHByb2ZpbGVfZmllbGRzX2FjdGlvbnNbJGlkXS5kZWxldGVfaWNvbn08L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9CgoKPHA+eyRhZGRfcHJvZmlsZV9maWVsZH08L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/admin.profile_field_manage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCR0aXRsZSl9PGgyPnskdGl0bGV9PC9oMj57L2lmfQp7aWYgaXNzZXQoJGZvcm0pfQoJPGRpdiBzdHlsZT0iY29sb3I6IHJlZDsiPnskZm9ybS0+c2hvd0Vycm9ycygpfTwvZGl2PgoJeyRmb3JtLT5nZXRIZWFkZXJzKCl9Cgk8cCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+c2hvd1dpZGdldHMoJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPGRpdiBjbGFzcz0icGFnZXRleHQiPiVMQUJFTCU6PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4lSU5QVVQlIDxlbT4lVElQUyU8L2VtPjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCIgc3R5bGU9ImNvbG9yOiByZWQ7Ij4lRVJST1JTJTwvZGl2PgoJPC9kaXY+Jyl9CgkKCXskZm9ybS0+cmVuZGVyRmllbGRzZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgk8cCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi10b3A6IDE1cHg7Ij4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+Z2V0Rm9vdGVycygpfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin.profile_manage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCR0aXRsZSl9PGgyPnskdGl0bGV9PC9oMj57L2lmfQp7aWYgaXNzZXQoJGZvcm0pfQoJPGRpdiBzdHlsZT0iY29sb3I6IHJlZDsiPnskZm9ybS0+c2hvd0Vycm9ycygpfTwvZGl2PgoJeyRmb3JtLT5nZXRIZWFkZXJzKCl9Cgk8cCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+c2hvd1dpZGdldHMoJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPGRpdiBjbGFzcz0icGFnZXRleHQiPiVMQUJFTCU6PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4lSU5QVVQlIDxlbT4lVElQUyU8L2VtPjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCIgc3R5bGU9ImNvbG9yOiByZWQ7Ij4lRVJST1JTJTwvZGl2PgoJPC9kaXY+Jyl9CgkKCXskZm9ybS0+cmVuZGVyRmllbGRzZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgk8cCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi10b3A6IDE1cHg7Ij4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+Z2V0Rm9vdGVycygpfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin.settings.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtX3NldHRpbmdzKX0KCTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm1fc2V0dGluZ3MtPnNob3dFcnJvcnMoKX08L2Rpdj4KCXskZm9ybV9zZXR0aW5ncy0+Z2V0SGVhZGVycygpfQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+CgkJeyRmb3JtX3NldHRpbmdzLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm1fc2V0dGluZ3MtPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgl7JGZvcm1fc2V0dGluZ3MtPnJlbmRlckZpZWxkc2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nKX0KCgoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tdG9wOiAxNXB4OyI+CgkJeyRmb3JtX3NldHRpbmdzLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm1fc2V0dGluZ3MtPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin.templates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICR0ZW1wbGF0ZXN8Y291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoPjwvdGg+CiAgICAgIDx0aD48L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICB7Zm9yZWFjaCBmcm9tPSR0ZW1wbGF0ZXMgaXRlbT1yb3d9CiAgICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9JzsiPgogICAgICA8dGQ+eyRyb3cudGl0bGVsaW5rfTwvdGQ+CiAgICAgIDx0ZD57JHJvdy5kZWZhdWx0fTwvdGQ+CiAgICAgIDx0ZD57JHJvdy5lZGl0bGlua308L3RkPgogICAgICA8dGQ+eyRyb3cuZGVsZXRlbGlua308L3RkPgogICAgPC90cj4Key9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+Cgk8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkX3RlbXBsYXRlc19pY29ufSB7JGFkZF90ZW1wbGF0ZXNfbGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin.template_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0KCTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm0tPnNob3dFcnJvcnMoKX08L2Rpdj4KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoKCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXRvcDogMTVweDsiPgoJCXskZm9ybS0+Z2V0QnV0dG9ucygpfQoJPC9wPgoJeyRmb3JtLT5nZXRGb290ZXJzKCl9CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/admin.users.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICR1c2Vyc3xAY291bnQgPiAwfQo8cD57JGFkZF91c2VyfTwvcD4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgIDx0aD57JHVzZXJzX3RpdGxlfTwvdGg+CgkJIAkJCTx0aD57JGVtYWlsfTwvdGg+CgkJIAkJCTx0aD57JGxhc3RfbG9naW59PC90aD4KICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiIgc3R5bGU9IndpZHRoOjIwcHgiPsKgPC90aD4KICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiIgc3R5bGU9IndpZHRoOjIwcHgiPsKgPC90aD4KICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiIgc3R5bGU9IndpZHRoOjIwcHgiPsKgPC90aD4KICAgICAgPC90cj4KICAgPC90aGVhZD4KICAgPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSR1c2VycyBpdGVtPWVudHJ5IGtleT1pZH0KCQk8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3tjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9JzsiPgoJCSAgIDx0ZD57JHVzZXJzX2FjdGlvbnNbJGlkXS5lZGl0fTwvdGQ+CgkJICAgPHRkPnskZW50cnktPmVtYWlsfTwvdGQ+CgkJICAgPHRkPnskZW50cnktPmxhc3RfbG9naW59eyp8ZGF0ZV9mb3JtYXQ6IlktbS1kIEg6aTpzIip9PC90ZD4KCQkgICA8dGQ+eyR1c2Vyc19hY3Rpb25zWyRpZF0uYWN0aXZlX2ljb259PC90ZD4KCQkgICA8dGQ+eyR1c2Vyc19hY3Rpb25zWyRpZF0uZWRpdF9pY29ufTwvdGQ+CgkJICAgPHRkPnskdXNlcnNfYWN0aW9uc1skaWRdLmRlbGV0ZV9pY29ufTwvdGQ+CgkJPC90cj4Key9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Key9pZn0KCgo8cD57JGFkZF91c2VyfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin.user_manage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0KCTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm0tPnNob3dFcnJvcnMoKX08L2Rpdj4KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoKCXskZm9ybS0+cmVuZGVyRmllbGRzZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoKCTxwIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXRvcDogMTVweDsiPgoJCXskZm9ybS0+Z2V0QnV0dG9ucygpfQoJPC9wPgoJeyRmb3JtLT5nZXRGb290ZXJzKCl9CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e0NNU1VzZXJzIGFjdGlvbj0ibGlua190byIgbWFjdGlvbj0ic2lnbmluIn0gLSAKe0NNU1VzZXJzIGFjdGlvbj0ibGlua190byIgbWFjdGlvbj0ic2lnbnVwIn0=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.email_reset_password_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+RGVhciB7JHVzZXItPnVzZXJuYW1lfSw8cD4KPHA+WW91IG9yIHNvbWVvbmUgaGF2ZSBhc2tlZCB0byByZXNldCB0aGUgcGFzc3dvcmQgb2YgeW91ciBhY2NvdW50LjwvcD4KPHA+VG8gcHJvY2VlZCB3aXRoIHJlc2V0dGluZyB5b3VyIHBhc3N3b3JkLCBwbGVhc2UgY2xpY2sgb3IgcGFzdGUgdGhlIGZvbGxvd2luZwpsaW5rIGluIHlvdXIgYnJvd3Nlcjo8L3A+CjxwPjxhIGhyZWY9InskdXJsfSI+eyR1cmx9PC9hPjwvcD4KPHA+S2luZGVzdCByZWdhcmRzLDwvcD4KPHA+VGhlIFRlYW08L3A+CjxwPjxhIGhyZWY9Intyb290X3VybH0iPntyb290X3VybH08L2E+PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.email_signup_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+RGVhciB7JHVzZXItPnVzZXJuYW1lfSw8cD4KCjxwPlRoYW5rIHlvdSBmb3IgcmVnaXN0ZXJpbmcgYXQge3NpdGVuYW1lfS4gWW91IG1heSBub3cgbG9nIGluIHRvIDxhIGhyZWY9InskdXJsfSI+eyR1cmx9PC9hPiB1c2luZyB0aGUgZm9sbG93aW5nIHVzZXJuYW1lOgo8cD48c3Ryb25nPllvdXIgdXNlcm5hbWU6IDwvc3Ryb25nPiB7JHVzZXItPnVzZXJuYW1lfTxiciAvPgoJIDxzdHJvbmc+WW91ciBwYXNzd29yZDogPC9zdHJvbmc+IHtpZiBpc3NldCgkcGFzc3dvcmQpfXskcGFzc3dvcmR9e2Vsc2V9T25seSB5b3Uga25vd3MgaXR7L2lmfTwvcD4KCjxwPktpbmRlc3QgcmVnYXJkcyw8L3A+CjxwPlRoZSBUZWFtPC9wPgo8cD48YSBocmVmPSJ7cm9vdF91cmx9Ij57cm9vdF91cmx9PC9hPjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.email_validation.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+RGVhciB7JHVzZXItPnVzZXJuYW1lfSw8cD4KCQoKPHA+VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBhdCB7c2l0ZW5hbWV9LjwvcD4KPHA+QmVmb3JlIHlvdSBjYW4gbG9naW4sIHlvdSBtdXN0IGZpcnN0IGNvbmZpcm0geW91ciByZWdpc3RyYXRpb24gYnkgY2xpY2tpbmcgdGhpcyBsaW5rOjwvcD4KPHA+PGEgaHJlZj0ieyR1cmx9Ij57JHVybH08L2E+PC9wPgoKPHA+S2luZGVzdCByZWdhcmRzLDwvcD4KPHA+VGhlIFRlYW08L3A+CjxwPjxhIGhyZWY9Intyb290X3VybH0iPntyb290X3VybH08L2E+PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.password_change_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskY2hhbmdlX3Bhc3N3b3JkfTwvaDI+CntpZiBpc3NldCgkZm9ybSl9CntpZiAkZm9ybS0+aGFzRXJyb3JzKCl9PGRpdiBzdHlsZT0iY29sb3I6IHJlZDsiPnskZm9ybS0+c2hvd0Vycm9ycygpfTwvZGl2PnsvaWZ9Cgl7JGZvcm0tPmdldEhlYWRlcnMoKX0KCQoJeyRmb3JtLT5zaG93V2lkZ2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nKX0KCgk8cD4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+Z2V0Rm9vdGVycygpfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.password_change_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRzdWNjZXNzX21lc3NhZ2V9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.password_forgot_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCR0aXRsZSl9PGgyPnskdGl0bGV9PC9oMj57L2lmfQp7aWYgaXNzZXQoJGZvcm0pfQp7aWYgJGZvcm0tPmhhc0Vycm9ycygpfTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm0tPnNob3dFcnJvcnMoKX08L2Rpdj57L2lmfQoJeyRmb3JtLT5nZXRIZWFkZXJzKCl9CgkKCXskZm9ybS0+c2hvd1dpZGdldHMoJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPGRpdiBjbGFzcz0icGFnZXRleHQiPiVMQUJFTCU6PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4lSU5QVVQlIDxiciAvPjxlbT4lVElQUyU8L2VtPjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCIgc3R5bGU9ImNvbG9yOiByZWQ7Ij4lRVJST1JTJTwvZGl2PgoJPC9kaXY+Jyl9CgoJPHA+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.password_forgot_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtZXNzYWdlfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.password_reset_error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtZXNzYWdlfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.password_reset_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCR0aXRsZSl9PGgyPnskdGl0bGV9PC9oMj57L2lmfQp7aWYgaXNzZXQoJGZvcm0pfQp7aWYgJGZvcm0tPmhhc0Vycm9ycygpfTxkaXYgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JGZvcm0tPnNob3dFcnJvcnMoKX08L2Rpdj57L2lmfQoJeyRmb3JtLT5nZXRIZWFkZXJzKCl9CgkKCXskZm9ybS0+c2hvd1dpZGdldHMoJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPGRpdiBjbGFzcz0icGFnZXRleHQiPiVMQUJFTCU6PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4lSU5QVVQlIDxlbT4lVElQUyU8L2VtPjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCIgc3R5bGU9ImNvbG9yOiByZWQ7Ij4lRVJST1JTJTwvZGl2PgoJPC9kaXY+Jyl9CgoJPHA+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.password_reset_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtZXNzYWdlfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.profile_edit_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskdGl0bGV9PC9oMj4Ke2lmIGlzc2V0KCRmb3JtKX0Ke2lmICRmb3JtLT5oYXNFcnJvcnMoKX08ZGl2IHN0eWxlPSJjb2xvcjogcmVkOyI+eyRmb3JtLT5zaG93RXJyb3JzKCl9PC9kaXY+ey9pZn0KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJCgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoKICB7JGZvcm0tPnJlbmRlckZpZWxkc2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nLCBmYWxzZSl9CgoJPHA+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.profile_edit_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRzdWNjZXNzX21lc3NhZ2V9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.profile_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRDTVNVc2VyKX0KCTxoMz5XZWxjb21lIHskQ01TVXNlcn0hPC9oMz4KCTxwPjxzdHJvbmc+RW1haWw6IDwvc3Ryb25nPnskQ01TVXNlci0+ZW1haWx9PC9wPgoJe2ZvcmVhY2ggZnJvbT0kcHJvZmlsZS0+Z2V0UHJvZmlsZUZpZWxkcygpIGl0ZW09dmFsdWUga2V5PW5hbWV9Cgk8cD48c3Ryb25nPnskbmFtZX06IDwvc3Ryb25nPnskdmFsdWV9PC9wPgoJey9mb3JlYWNofQoJPHA+e0NNU1VzZXJzIGFjdGlvbj0ibGlua190byIgbWFjdGlvbj0icHJvZmlsZV9lZGl0IiByZWRpcmVjdD0icHJvZmlsZSJ9PC9wPgoJPHA+e0NNU1VzZXJzIGFjdGlvbj0ibGlua190byIgbWFjdGlvbj0icGFzc3dvcmRfY2hhbmdlIiByZWRpcmVjdD0icHJvZmlsZSJ9PC9wPgoJPHA+e0NNU1VzZXJzIGFjdGlvbj0ibGlua190byIgbWFjdGlvbj0ic2lnbm91dCJ9PC9wPgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.show_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCR1c2VyKX0KCTxoMj5Qcm9maWxlIG9mIHskdXNlcn08L2gyPgoJPHA+PHN0cm9uZz5FbWFpbDogPC9zdHJvbmc+eyR1c2VyLT5lbWFpbH08L3A+Cgl7Zm9yZWFjaCBmcm9tPSRwcm9maWxlLT5nZXRQcm9maWxlRmllbGRzKCkgaXRlbT12YWx1ZSBrZXk9bmFtZX0KCTxwPjxzdHJvbmc+eyRuYW1lfTogPC9zdHJvbmc+eyR2YWx1ZX08L3A+Cgl7L2ZvcmVhY2h9CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.signin_disabled.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtZXNzYWdlfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.signin_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskdGl0bGV9PC9oMj4Ke2lmIGlzc2V0KCRmb3JtKX0Ke2lmICRmb3JtLT5oYXNFcnJvcnMoKX08ZGl2IHN0eWxlPSJjb2xvcjogcmVkOyI+eyRmb3JtLT5zaG93RXJyb3JzKCl9PC9kaXY+ey9pZn0KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJCgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgl7JGZvcm0tPnJlbmRlckZpZWxkc2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nKX0KCgk8cD4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+Z2V0Rm9vdGVycygpfQp7L2lmfQp7aWYgJGFsbG93X3NpZ251cCBlcSAxfQo8cD57Q01TVXNlcnMgYWN0aW9uPSJsaW5rX3RvIiBtYWN0aW9uPSJzaWdudXAifTwvcD4Key9pZn0KPHA+e0NNU1VzZXJzIGFjdGlvbj0ibGlua190byIgbWFjdGlvbj0icGFzc3dvcmRfZm9yZ290In08L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.signin_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRzdWNjZXNzX21lc3NhZ2V9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.signout_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRzdWNjZXNzX21lc3NhZ2V9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.signup_disabled.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtZXNzYWdlfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.signup_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskdGl0bGV9PC9oMj4Ke2lmIGlzc2V0KCRmb3JtKX0Ke2lmICRmb3JtLT5oYXNFcnJvcnMoKX08ZGl2IHN0eWxlPSJjb2xvcjogcmVkOyI+eyRmb3JtLT5zaG93RXJyb3JzKCl9PC9kaXY+ey9pZn0KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJCgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlPC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4lSU5QVVQlIDxlbT4lVElQUyU8L2VtPjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCIgc3R5bGU9ImNvbG9yOiByZWQ7Ij4lRVJST1JTJTwvZGl2PgoJPC9kaXY+Jyl9CgogIHskZm9ybS0+cmVuZGVyRmllbGRzZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicsIGZhbHNlKX0KCgk8cD4KCQl7JGZvcm0tPmdldEJ1dHRvbnMoKX0KCTwvcD4KCXskZm9ybS0+Z2V0Rm9vdGVycygpfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.signup_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRzdWNjZXNzX21lc3NhZ2V9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.user_list_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgp7Zm9yZWFjaCBmcm9tPSR1c2VycyBpdGVtPXVzZXJ9CjxsaT48YSBocmVmPSJ7Q01TVXNlcnMgYWN0aW9uPSJ1cmxfZm9yIiBtYWN0aW9uPSJ1c2VyX3Nob3ciIHVzZXJuYW1lPSR1c2VyLT51c2VybmFtZX0iPnskdXNlci0+dXNlcm5hbWV9PC9hPjwvbGk+CnsvZm9yZWFjaH0KPC91bD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.validate_error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtZXNzYWdlfTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/frontend.validate_success.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtZXNzYWdlfTwvcD4Ke0NNU1VzZXJzIGFjdGlvbj0ibGlua190byIgbWFjdGlvbj0ic2lnbmluIn0=]]></data>
	</file>
	<file>
	  <filename>/templates/logout.js.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Ij4KICAgIHZhciB4bWxodHRwOwogICAgaWYgKHdpbmRvdy5BY3RpdmVYT2JqZWN0KSB7CiAgICAgICAgeG1saHR0cD1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKTsKICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ2xlYXJBdXRoZW50aWNhdGlvbkNhY2hlIik7CiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWY9Jy80MDEuaHRtbCc7CiAgICB9Cjwvc2NyaXB0Pg==]]></data>
	</file>
</module>
